From 7af1fa136e215a407c879b313066de4f9bc3873f Mon Sep 17 00:00:00 2001 From: lin onetwo Date: Fri, 24 May 2024 02:06:55 +0800 Subject: [PATCH] docs: design game --- .gitignore | 1 + wiki/tiddlers/$__plugins_linonetwo_commandpalette.json | 10 +++++----- wiki/tiddlers/$__plugins_linonetwo_tw-whiteboard.json | 10 +++++----- wiki/tiddlers/SCPGameBrainStorming.tldr | 1 + wiki/tiddlers/SCPGameBrainStorming.tldr.meta | 7 +++++++ 5 files changed, 19 insertions(+), 10 deletions(-) create mode 100644 wiki/tiddlers/SCPGameBrainStorming.tldr create mode 100644 wiki/tiddlers/SCPGameBrainStorming.tldr.meta diff --git a/.gitignore b/.gitignore index b4b144a..65d28f9 100755 --- a/.gitignore +++ b/.gitignore @@ -157,3 +157,4 @@ wiki/tiddlers/experience.tid wiki/tiddlers/$__plugins_linonetwo_ego-store-lite_configs_Golds.tid wiki/tiddlers/$__plugins_linonetwo_tw-gamification_reality-event-cache_cache-files_desktop.json wiki/tiddlers/$__plugins_linonetwo_tw-gamification_reality-event-cache_cache-files_desktop.json.meta +wiki/tiddlers/$__config_SyncSystemTiddlersFromServer.tid diff --git a/wiki/tiddlers/$__plugins_linonetwo_commandpalette.json b/wiki/tiddlers/$__plugins_linonetwo_commandpalette.json index f5d021d..6307a34 100644 --- a/wiki/tiddlers/$__plugins_linonetwo_commandpalette.json +++ b/wiki/tiddlers/$__plugins_linonetwo_commandpalette.json @@ -1,8 +1,5 @@ [ { - "text": "{\"tiddlers\":{\"$:/plugins/linonetwo/commandpalette/DefaultCommandPalette\":{\"title\":\"$:/plugins/linonetwo/commandpalette/DefaultCommandPalette\",\"tags\":\"$:/tags/CommandPalette\",\"text\":\"\\\\procedure on-mask-layer-clicked() <$action-sendmessage $message=\\\"close-command-palette\\\" $param=\\\"default\\\"/>\\n\\n<% if [{$:/temp/commandpalette/default/opened}match[yes]] %>\\n <$eventcatcher selector=\\\".tw-default-commandpalette-mask-layer\\\" tag=\\\"div\\\" $click=<>>\\n
\\n \\n
\\n <$command-palette\\n id=\\\"default\\\"\\n prefix={{$:/temp/commandpalette/default/opened!!prefix}}\\n historyMode={{$:/temp/commandpalette/default/opened!!historyMode}}\\n />\\n
\\n<% endif %>\\n\"},\"$:/plugins/linonetwo/commandpalette/Show Control Panel\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Show Control Panel\",\"caption\":\"<>\",\"tags\":\"$:/tags/Actions\",\"text\":\"<$action-navigate $to=\\\"$:/ControlPanel\\\"/>\"},\"$:/plugins/linonetwo/commandpalette/Unfold All Tiddlers\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Unfold All Tiddlers\",\"caption\":\"{{$:/language/Buttons/UnfoldAll/Caption}}\",\"description\":\"{{$:/language/Buttons/UnfoldAll/Hint}}\",\"tags\":\"$:/tags/Actions\",\"text\":\"<$action-sendmessage $message=\\\"tm-unfold-all-tiddlers\\\" foldedStatePrefix=\\\"$:/state/folded/\\\"/>\\n\"},\"$:/plugins/linonetwo/commandpalette/Search fields\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Search fields\",\"caption\":\"<>\",\"description\":\"<>\",\"tags\":\"$:/tags/Filter\",\"filter\":\"[fields[]]\"},\"$:/plugins/linonetwo/commandpalette/See Languages\":{\"title\":\"$:/plugins/linonetwo/commandpalette/See Languages\",\"caption\":\"<>\",\"description\":\"<>\",\"tags\":\"$:/tags/Filter\",\"filter\":\"[!has[draft.of]plugin-type[language]]\"},\"$:/plugins/linonetwo/commandpalette/See Plugins\":{\"title\":\"$:/plugins/linonetwo/commandpalette/See Plugins\",\"caption\":\"<>\",\"description\":\"<>\",\"tags\":\"$:/tags/Filter\",\"filter\":\"[!has[draft.of]plugin-type[plugin]search[]]\"},\"$:/plugins/linonetwo/commandpalette/See Themes\":{\"title\":\"$:/plugins/linonetwo/commandpalette/See Themes\",\"caption\":\"<>\",\"description\":\"<>\",\"tags\":\"$:/tags/Filter\",\"filter\":\"[!has[draft.of]plugin-type[theme]search[]]\"},\"$:/plugins/linonetwo/commandpalette/See all content-types\":{\"title\":\"$:/plugins/linonetwo/commandpalette/See all content-types\",\"caption\":\"<>\",\"description\":\"<>\",\"tags\":\"$:/tags/Filter\",\"filter\":\"[all[tiddlers+shadows]each[type]get[type]]\"},\"$:/plugins/linonetwo/commandpalette/See untagged tiddlers\":{\"title\":\"$:/plugins/linonetwo/commandpalette/See untagged tiddlers\",\"caption\":\"<>\",\"description\":\"<>\",\"tags\":\"$:/tags/Filter\",\"filter\":\"[untagged[]!is[system]search[]]\"},\"$:/plugins/linonetwo/commandpalette/commands/help/Filter\":{\"title\":\"$:/plugins/linonetwo/commandpalette/commands/help/Filter\",\"command-palette-prefix\":\"[\",\"caption\":\"<>\",\"description\":\"<>\",\"tags\":\"$:/tags/CommandPaletteHelp\"},\"$:/plugins/linonetwo/commandpalette/commands/help/Help\":{\"title\":\"$:/plugins/linonetwo/commandpalette/commands/help/Help\",\"command-palette-prefix\":\"?\",\"caption\":\"<>\",\"description\":\"<>\",\"tags\":\"$:/tags/CommandPaletteHelp\"},\"$:/plugins/linonetwo/commandpalette/commands/help/System\":{\"title\":\"$:/plugins/linonetwo/commandpalette/commands/help/System\",\"command-palette-prefix\":\"$ ¥\",\"caption\":\"<>\",\"description\":\"<>\",\"tags\":\"$:/tags/CommandPaletteHelp\"},\"$:/plugins/linonetwo/commandpalette/commands/help/Tags\":{\"title\":\"$:/plugins/linonetwo/commandpalette/commands/help/Tags\",\"command-palette-prefix\":\"#\",\"caption\":\"<>\",\"description\":\"<>\",\"tags\":\"$:/tags/CommandPaletteHelp\"},\"$:/plugins/linonetwo/commandpalette/commands/help/User\":{\"title\":\"$:/plugins/linonetwo/commandpalette/commands/help/User\",\"command-palette-prefix\":\"\",\"caption\":\"<>\",\"description\":\"<>\",\"tags\":\"$:/tags/CommandPaletteHelp\"},\"$:/plugins/linonetwo/commandpalette/Browser Refresh\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Browser Refresh\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/Refresh/Caption}}\",\"description\":\"{{$:/language/Buttons/Refresh/Hint}}\",\"text\":\"tm-browser-refresh\\n\"},\"$:/plugins/linonetwo/commandpalette/Cancel Tiddler\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Cancel Tiddler\",\"command-palette-filter\":\"[has:field[draft.of]]\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/Cancel/Caption}}\",\"description\":\"{{$:/language/Buttons/Cancel/Hint}} <>\",\"text\":\"tm-cancel-tiddler\\n\"},\"$:/plugins/linonetwo/commandpalette/Clone Tiddler\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Clone Tiddler\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/Clone/Caption}}\",\"description\":\"{{$:/language/Buttons/Clone/Hint}} <>\",\"text\":\"tm-new-tiddler\\n\"},\"$:/plugins/linonetwo/commandpalette/Close All Tiddlers\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Close All Tiddlers\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/CloseAll/Caption}}\",\"description\":\"{{$:/language/Buttons/CloseAll/Hint}}\",\"text\":\"tm-close-all-tiddlers\\n\"},\"$:/plugins/linonetwo/commandpalette/Close Tiddler\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Close Tiddler\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/Close/Caption}}\",\"description\":\"{{$:/language/Buttons/Close/Hint}} <>\",\"text\":\"tm-close-tiddler\\n\"},\"$:/plugins/linonetwo/commandpalette/Close other Tiddlers\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Close other Tiddlers\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/CloseOthers/Caption}}\",\"description\":\"{{$:/language/Buttons/CloseOthers/Hint}} <>\",\"text\":\"tm-close-other-tiddlers\\n\"},\"$:/plugins/linonetwo/commandpalette/Delete Tiddler\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Delete Tiddler\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/Delete/Caption}}\",\"description\":\"{{$:/language/Buttons/Delete/Hint}}\",\"text\":\"tm-delete-tiddler\\n\"},\"$:/plugins/linonetwo/commandpalette/Edit Tiddler\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Edit Tiddler\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/Edit/Caption}}\",\"description\":\"{{$:/language/Buttons/Edit/Hint}}\",\"text\":\"tm-edit-tiddler\\n\"},\"$:/plugins/linonetwo/commandpalette/Fold All Tiddlers\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Fold All Tiddlers\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/FoldAll/Caption}}\",\"description\":\"{{$:/language/Buttons/FoldAll/Hint}}\",\"text\":\"tm-fold-all-tiddlers\\n\"},\"$:/plugins/linonetwo/commandpalette/Home\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Home\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/Home/Caption}}\",\"description\":\"{{$:/language/Buttons/Home/Hint}}\",\"text\":\"tm-home\\n\"},\"$:/plugins/linonetwo/commandpalette/New Tiddler\":{\"title\":\"$:/plugins/linonetwo/commandpalette/New Tiddler\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/NewTiddler/Caption}}\",\"description\":\"{{$:/language/Buttons/NewTiddler/Hint}}\",\"text\":\"tm-new-tiddler\\n\"},\"$:/plugins/linonetwo/commandpalette/Permalink\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Permalink\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/Permalink/Caption}}\",\"description\":\"{{$:/language/Buttons/Permalink/Hint}}\",\"text\":\"tm-permalink\\n\"},\"$:/plugins/linonetwo/commandpalette/Permaview\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Permaview\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/Permaview/Caption}}\",\"description\":\"{{$:/language/Buttons/Permaview/Hint}}\",\"text\":\"tm-permaview\\n\"},\"$:/plugins/linonetwo/commandpalette/Print\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Print\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/Print/Caption}}\",\"description\":\"{{$:/language/Buttons/Print/Hint}}\",\"text\":\"tm-print\\n\"},\"$:/plugins/linonetwo/commandpalette/Refresh Server\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Refresh Server\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/Refresh/Caption}}<>\",\"description\":\"{{$:/language/Buttons/Refresh/Hint}}<>\",\"text\":\"tm-server-refresh\\n\"},\"$:/plugins/linonetwo/commandpalette/Save Tiddler\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Save Tiddler\",\"command-palette-filter\":\"[has:field[draft.of]]\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/Save/Caption}}\",\"description\":\"{{$:/language/Buttons/Save/Hint}}\",\"text\":\"tm-save-tiddler\\n\"},\"$:/plugins/linonetwo/commandpalette/Save Wiki\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Save Wiki\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/SaveWiki/Caption}}\",\"description\":\"{{$:/language/Buttons/SaveWiki/Hint}}\",\"text\":\"tm-save-wiki\\n\"},\"$:/plugins/linonetwo/commandpalette/Toggle Fullscreen\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Toggle Fullscreen\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/FullScreen/Caption}}\",\"description\":\"{{$:/language/Buttons/FullScreen/Hint}}\",\"text\":\"tm-full-screen\\n\"},\"$:/plugins/linonetwo/commandpalette/config\":{\"title\":\"$:/plugins/linonetwo/commandpalette/config\",\"tags\":\"$:/tags/ControlPanel/SettingsTab\",\"caption\":\"<>\",\"text\":\"\\\\define lingo-base() $:/plugins/linonetwo/commandpalette/language/\\n\\n<>\\n\\n---\\n\\n!! <>\\n\\n;<>\\n:<$checkbox tiddler=\\\"$:/plugins/linonetwo/commandpalette/configs/HideDefaultSearchBar\\\" field=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"\\\"> <>\\n;<>\\n:<$checkbox tiddler=\\\"$:/plugins/linonetwo/commandpalette/configs/TitlePriorityText\\\" field=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"\\\"> <>\\n;<>\\n:<$edit-text tiddler=\\\"$:/plugins/linonetwo/commandpalette/configs/TitleAlias\\\" tabindex=-1 focus=false cancelPopups=\\\"yes\\\" fileDrop=no tag=\\\"input\\\" /> <>\\n;<>\\n:<$edit-text tiddler=\\\"$:/plugins/linonetwo/commandpalette/configs/TextAlias\\\" tabindex=-1 focus=false cancelPopups=\\\"yes\\\" fileDrop=no tag=\\\"input\\\" /> <>\\n;<>\\n:<$edit-text tiddler=\\\"$:/plugins/linonetwo/commandpalette/configs/DesktopWidth\\\" tabindex=-1 focus=false cancelPopups=\\\"yes\\\" fileDrop=no tag=\\\"input\\\" type=\\\"number\\\" />% <>\"},\"$:/plugins/linonetwo/commandpalette/configs/TitleAlias\":{\"title\":\"$:/plugins/linonetwo/commandpalette/configs/TitleAlias\",\"text\":\"title caption alias\"},\"$:/plugins/linonetwo/commandpalette/configs/TextAlias\":{\"title\":\"$:/plugins/linonetwo/commandpalette/configs/TextAlias\",\"text\":\"text keywords\"},\"$:/plugins/linonetwo/commandpalette/configs/HideDefaultSearchBar\":{\"title\":\"$:/plugins/linonetwo/commandpalette/configs/HideDefaultSearchBar\",\"text\":\"no\"},\"$:/plugins/linonetwo/commandpalette/configs/TitlePriorityText\":{\"title\":\"$:/plugins/linonetwo/commandpalette/configs/TitlePriorityText\",\"text\":\"no\"},\"$:/plugins/linonetwo/commandpalette/configs/DesktopWidth\":{\"title\":\"$:/plugins/linonetwo/commandpalette/configs/DesktopWidth\",\"text\":\"80\"},\"$:/plugins/linonetwo/commandpalette/icons/command-palette\":{\"title\":\"$:/plugins/linonetwo/commandpalette/icons/command-palette\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-button commandpalette-button\\\" viewBox=\\\"0 0 512 512\\\" style=\\\"transform: rotate(225deg);\\\">\\n \\n\\n\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/ShowControlPanel\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/ShowControlPanel\",\"text\":\"Show Control Panel\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Server\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Server\",\"text\":\"Server\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Fields/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Fields/Caption\",\"text\":\"Field names\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Fields/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Fields/Description\",\"text\":\"searches for all field names of all tiddlers in the wiki.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/ContentType/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/ContentType/Caption\",\"text\":\"View the content type.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/ContentType/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/ContentType/Description\",\"text\":\"lists the content types of all entries in the Wiki.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Languages/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Languages/Caption\",\"text\":\"list of languages\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Languages/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Languages/Description\",\"text\":\"Lists the installed languages.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Plugins/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Plugins/Caption\",\"text\":\"List of plugins.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Plugins/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Plugins/Description\",\"text\":\"List of installed plugins.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Themes/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Themes/Caption\",\"text\":\"List of themes.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Themes/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Themes/Description\",\"text\":\"List of installed themes.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Untagged/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Untagged/Caption\",\"text\":\"Untagged\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Untagged/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Untagged/Description\",\"text\":\"lists untagged entries, which can be difficult to find without tags\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Readme\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Readme\",\"text\":\"\\\\define lingo-base() $:/plugins/linonetwo/commandpalette/language/\\n\\n! <>\\n\\n<>\\n\\n!! Credits\\n\\nThis plugin references the design of [[Souk21/TW-commandpalette|https://github.com/Souk21/TW-commandpalette]], thanks to him for making the first version! This plugin upgrades and is written with TypeScript and [ext[algolia/autocomplete|https://github.com/algolia/autocomplete]], make it much more powerful and friendly to developers to extend its functionality.\\n\\n!! Feature\\n\\nPress ctrl/cmd + P to call up the search box, or add Shift to call up the command box (aka, command palette).\\n\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Name\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Name\",\"text\":\"Command Palette\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Description\",\"text\":\"Search the text of tiddlers, and execute commands in Tiddlywiki. Beautiful omni-bar and shortcut command center.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/Description\",\"text\":\"These settings let you customise the behaviour of \\\"Command Palette\\\" plugin.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/PluginConfigs/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/PluginConfigs/Caption\",\"text\":\"Plugin Configs\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/TitleAlias/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/TitleAlias/Caption\",\"text\":\"Fields regarded as title to search\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/TitleAlias/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/TitleAlias/Description\",\"text\":\"When searching title, you may want to include more fields to search. Separate fields with spaces, note that adding too many fields can cause lag.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/TextAlias/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/TextAlias/Caption\",\"text\":\"Fields regarded as text to search\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/TextAlias/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/TextAlias/Description\",\"text\":\"When searching text, you may want to include more fields to search. Separate fields with spaces, note that adding too many fields can cause lag.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/HideDefaultSearchBar/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/HideDefaultSearchBar/Caption\",\"text\":\"Hide default search bar\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/HideDefaultSearchBar/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/HideDefaultSearchBar/Description\",\"text\":\"If you only use commandpalette to search and don't need default search bar, check this box.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/DesktopWidth/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/DesktopWidth/Caption\",\"text\":\"Width on desktop mode\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/DesktopWidth/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/DesktopWidth/Description\",\"text\":\"Width of the input and result boxes on the screen (does not affect mobile, which is full screen by default)\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/TitlePriorityText/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/TitlePriorityText/Caption\",\"text\":\"Title higher than text.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/TitlePriorityText/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/TitlePriorityText/Description\",\"text\":\"When checked, title search results will be listed on the top, and text search results will be listed below, when searching user tiddlers. (The result on the bottom can be selected by pressing the ↑ up arrow key to circle go to the bottom of the search results)\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/SystemTitle\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/SystemTitle\",\"text\":\"Title of system tiddler\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/UserTitle\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/UserTitle\",\"text\":\"Title of user tiddler\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/UserTitlePinyin\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/UserTitlePinyin\",\"text\":\"Title Pinyin of user tiddler\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/UserText\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/UserText\",\"text\":\"Text of user tiddler\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/StoryHistory\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/StoryHistory\",\"text\":\"Story history\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter\",\"text\":\"Pick build-in filters\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/UnderFilter\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/UnderFilter\",\"text\":\"Further search based on filters\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Tagging\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Tagging\",\"text\":\"User tiddlers with tags\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Message\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Message\",\"text\":\"Trigger system message\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Layout\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Layout\",\"text\":\"Switch layout\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Config\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Config\",\"text\":\"Open config\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Tags\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Tags\",\"text\":\"Tags\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help\",\"text\":\"Command palette usage\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/ActionString\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/ActionString\",\"text\":\"Trigger action string\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/CurrentTiddler\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/CurrentTiddler\",\"text\":\"Current tiddler\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/CurrentLayout\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/CurrentLayout\",\"text\":\"Current layout\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/NoResult\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/NoResult\",\"text\":\"No result or no uniq result\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/Help/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/Help/Caption\",\"text\":\"Help\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/Help/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/Help/Description\",\"text\":\"Usage of the command menu, describes what the command menu will search when different prefixes are added to the search box.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/Filter/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/Filter/Caption\",\"text\":\"Filters\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/Filter/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/Filter/Description\",\"text\":\"A two-step process, first search for a preset filter or a customized filter, enter to confirm the selection; then continue to search in the filter results, enter to open the tiddler. In the second step, only user tiddlers are searched by default, and system tiddlers can be included by adding a prefix to the system entry search.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/User/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/User/Caption\",\"text\":\"User tiddlers\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/User/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/User/Description\",\"text\":\"Not prefixed, just typed, you can search for the title and content of your tiddlers. Enter to select (currently mouse isn't available), Ctrl + Enter will copy the selected content to the clipboard, easy to paste.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/System/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/System/Caption\",\"text\":\"System tiddlers\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/System/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/System/Description\",\"text\":\"Searches for individual micro-system features such as available system messages, layouts, settings, etc.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/Tags/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/Tags/Caption\",\"text\":\"Tags\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/Tags/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/Tags/Description\",\"text\":\"In two steps, first search for all tags in the Knowledge Base, enter to confirm selection; then continue searching in tiddlers with this tag added, enter to open the tiddler. In the second step, only user tiddlers are searched by default, and system tiddlers can be included by adding a prefix to the system entry search.\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/ShowControlPanel\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/ShowControlPanel\",\"text\":\"打开命令菜单\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Server\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Server\",\"text\":\"服务器\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Fields/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Fields/Caption\",\"text\":\"字段名\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Fields/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Fields/Description\",\"text\":\"搜索Wiki里所有条目涉及到的所有字段名\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/ContentType/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/ContentType/Caption\",\"text\":\"查看内容类型\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/ContentType/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/ContentType/Description\",\"text\":\"列出所有Wiki里涉及到的条目的内容类型\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Languages/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Languages/Caption\",\"text\":\"语言列表\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Languages/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Languages/Description\",\"text\":\"列出已安装的语言的列表\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Plugins/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Plugins/Caption\",\"text\":\"插件列表\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Plugins/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Plugins/Description\",\"text\":\"列出已安装的插件的列表\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Themes/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Themes/Caption\",\"text\":\"主题列表\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Themes/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Themes/Description\",\"text\":\"列出已安装的主题的列表\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Untagged/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Untagged/Caption\",\"text\":\"未打标签\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Untagged/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Untagged/Description\",\"text\":\"列出未打标签的条目,无标签会让它们难以找到\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Readme\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Readme\",\"text\":\"\\\\define lingo-base() $:/plugins/linonetwo/commandpalette/language/\\n\\n! <>\\n\\n<>\\n\\n!! 致谢\\n\\n该插件参考了[[Souk21/TW-commandpalette|https://github.com/Souk21/TW-commandpalette]]的设计,感谢他制作的第一版!本插件升级并采用了 TypeScript 和[ext[algolia/autocomplete|https://github.com/algolia/autocomplete]]编写,因此功能更强大,对开发人员扩展其功能也更友好。\\n\\n!! 功能\\n\\n按下 ctrl/cmd + P 唤起搜索框,按的时候如果多加一个 Shift 可以唤起功能框。\\n\\n如果你还安装了[ext[linonetwo/pinyin-fuzzy-search|https://tw-cpl.netlify.app/#linonetwo%2Fpinyin-fuzzy-search:Index%20linonetwo%2Fpinyin-fuzzy-search]]插件,那么搜索的时候可以打拼音。\\n\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Name\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Name\",\"text\":\"命令菜单\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Description\",\"text\":\"搜索条目文本,以及执行太微中的命令。美观大方的多合一搜索框和快捷指令中心。\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/Description\",\"text\":\"通过这些设置,您可以自定义「命令菜单」插件的行为。\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/PluginConfigs/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/PluginConfigs/Caption\",\"text\":\"插件设置\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/TitleAlias/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/TitleAlias/Caption\",\"text\":\"视为标题的字段\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/TitleAlias/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/TitleAlias/Description\",\"text\":\"搜索标题时,您可能希望包含更多的字段加入搜索。字段之间用空格隔开,注意加入过多字段会变卡。\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/TextAlias/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/TextAlias/Caption\",\"text\":\"视为正文文本的字段\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/TextAlias/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/TextAlias/Description\",\"text\":\"搜索正文文本时,您可能希望包含更多的字段加入搜索。字段之间用空格隔开,注意加入过多字段会变卡。\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/HideDefaultSearchBar/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/HideDefaultSearchBar/Caption\",\"text\":\"隐藏默认搜索栏\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/HideDefaultSearchBar/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/HideDefaultSearchBar/Description\",\"text\":\"如果您只使用命令菜单搜索,不需要默认搜索栏,请选中此复选框。\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/DesktopWidth/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/DesktopWidth/Caption\",\"text\":\"桌面模式宽度\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/DesktopWidth/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/DesktopWidth/Description\",\"text\":\"输入框和结果框占屏幕的宽度(不影响移动端,移动端默认全屏)\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/TitlePriorityText/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/TitlePriorityText/Caption\",\"text\":\"标题高于内容\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/TitlePriorityText/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/TitlePriorityText/Description\",\"text\":\"勾选后,在搜索用户内容时,将标题搜索结果排在上面,内容搜索结果排在下面。(下面的内容可以通过按↑上方向键转到搜索结果的底部来选择)\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/UserTitle\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/UserTitle\",\"text\":\"用户条目标题\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/SystemTitle\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/SystemTitle\",\"text\":\"系统条目标题\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/UserTitlePinyin\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/UserTitlePinyin\",\"text\":\"用户条目标题拼音\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/UserText\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/UserText\",\"text\":\"用户条目内容文本\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/StoryHistory\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/StoryHistory\",\"text\":\"故事流浏览历史\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter\",\"text\":\"选择预置筛选器\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/UnderFilter\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/UnderFilter\",\"text\":\"基于筛选器进一步搜索\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Tagging\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Tagging\",\"text\":\"带标签的用户条目\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Message\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Message\",\"text\":\"触发系统消息\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Layout\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Layout\",\"text\":\"切换布局\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Config\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Config\",\"text\":\"打开设置\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Tags\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Tags\",\"text\":\"标签\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help\",\"text\":\"命令菜单用法\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/ActionString\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/ActionString\",\"text\":\"触发动作字符串\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/CurrentTiddler\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/CurrentTiddler\",\"text\":\"当前条目\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/CurrentLayout\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/CurrentLayout\",\"text\":\"当前布局\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/NoResult\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/NoResult\",\"text\":\"无结果或结果重复\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/Help/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/Help/Caption\",\"text\":\"帮助\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/Help/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/Help/Description\",\"text\":\"命令菜单用法,介绍在搜索框里加上不同前缀时,命令菜单将会搜索的内容。\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/Filter/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/Filter/Caption\",\"text\":\"筛选器\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/Filter/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/Filter/Description\",\"text\":\"分为两步,首先搜索预置筛选器或自定义筛选器,回车确认选中;然后在筛选结果中继续搜索,回车打开条目。第二步里,默认只搜索用户条目,可加上系统条目搜索的前缀来包括系统条目。\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/User/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/User/Caption\",\"text\":\"用户条目\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/User/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/User/Description\",\"text\":\"什么前缀也不加,直接打字,可以搜索你的条目的标题和内容。回车选中(目前无法用鼠标选中),Ctrl+回车会复制选中的内容到剪贴板,方便黏贴。\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/System/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/System/Caption\",\"text\":\"系统条目\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/System/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/System/Description\",\"text\":\"带有这个前缀时,可以搜索各太微系统功能,如可用的系统消息、布局、设置等。\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/Tags/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/Tags/Caption\",\"text\":\"标签\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/Tags/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/Tags/Description\",\"text\":\"分为两步,首先搜索知识库中所有的标签,回车确认选中;然后在加了这个标签的条目中继续搜索,回车打开条目。第二步里,默认只搜索用户条目,可加上系统条目搜索的前缀来包括系统条目。\"},\"$:/plugins/linonetwo/commandpalette/readme\":{\"title\":\"$:/plugins/linonetwo/commandpalette/readme\",\"text\":\"\\\\define lingo-base() $:/plugins/linonetwo/commandpalette/language/\\n\\n<>\\n\"},\"$:/config/ShortcutInfo/open-command-palette\":{\"title\":\"$:/config/ShortcutInfo/open-command-palette\",\"created\":\"20200531223953066\",\"modified\":\"20200531224011568\",\"tags\":\"\",\"text\":\"Open the command palette\"},\"$:/config/shortcuts-mac/open-command-palette\":{\"title\":\"$:/config/shortcuts-mac/open-command-palette\",\"text\":\"cmd-P\"},\"$:/config/shortcuts/open-command-palette\":{\"title\":\"$:/config/shortcuts/open-command-palette\",\"text\":\"ctrl-P\"},\"$:/plugins/linonetwo/commandpalette/CommandPalette\":{\"title\":\"$:/plugins/linonetwo/commandpalette/CommandPalette\",\"key\":\"((open-command-palette))\",\"tags\":\"$:/tags/KeyboardShortcut\",\"text\":\"<$action-sendmessage $message=\\\"open-command-palette\\\"/>\"},\"$:/config/ShortcutInfo/open-command-palette-command-mode\":{\"title\":\"$:/config/ShortcutInfo/open-command-palette-command-mode\",\"tags\":\"\",\"text\":\"Open the command palette in command mode\"},\"$:/config/shortcuts-mac/open-command-palette-command-mode\":{\"title\":\"$:/config/shortcuts-mac/open-command-palette-command-mode\",\"text\":\"cmd-shift-P\"},\"$:/config/shortcuts/open-command-palette-command-mode\":{\"title\":\"$:/config/shortcuts/open-command-palette-command-mode\",\"text\":\"ctrl-shift-P\"},\"$:/plugins/linonetwo/commandpalette/CommandPaletteCommandMode\":{\"title\":\"$:/plugins/linonetwo/commandpalette/CommandPaletteCommandMode\",\"key\":\"((open-command-palette-command-mode))\",\"tags\":\"$:/tags/KeyboardShortcut\",\"text\":\"<$action-sendmessage $message=\\\"open-command-palette\\\" prefix=\\\"$\\\" />\"},\"$:/config/ShortcutInfo/command-palette-switch-history\":{\"title\":\"$:/config/ShortcutInfo/command-palette-switch-history\",\"tags\":\"\",\"text\":\"Switch to previously opened tiddler\"},\"$:/config/shortcuts/command-palette-switch-history\":{\"title\":\"$:/config/shortcuts/command-palette-switch-history\",\"text\":\"ctrl-tab\"},\"$:/plugins/linonetwo/commandpalette/CommandPaletteSwitchHistory\":{\"title\":\"$:/plugins/linonetwo/commandpalette/CommandPaletteSwitchHistory\",\"key\":\"((command-palette-switch-history))\",\"tags\":\"$:/tags/KeyboardShortcut\",\"text\":\"<$action-sendmessage $message=\\\"open-command-palette\\\" historyMode=\\\"yes\\\"/>\"},\"$:/config/ShortcutInfo/command-palette-switch-history-back\":{\"title\":\"$:/config/ShortcutInfo/command-palette-switch-history-back\",\"tags\":\"\",\"text\":\"Switch to previously opened tiddler (Inversed)\"},\"$:/config/shortcuts/command-palette-switch-history-back\":{\"title\":\"$:/config/shortcuts/command-palette-switch-history-back\",\"text\":\"ctrl-shift-tab\"},\"$:/plugins/linonetwo/commandpalette/CommandPaletteSwitchHistoryBack\":{\"title\":\"$:/plugins/linonetwo/commandpalette/CommandPaletteSwitchHistoryBack\",\"key\":\"((command-palette-switch-history-back))\",\"tags\":\"$:/tags/KeyboardShortcut\",\"text\":\"<$action-sendmessage $message=\\\"open-command-palette\\\" historyMode=\\\"yes\\\"/>\"},\"$:/plugins/linonetwo/commandpalette/styles/DefaultCommandPalette.css\":{\"title\":\"$:/plugins/linonetwo/commandpalette/styles/DefaultCommandPalette.css\",\"tags\":\"$:/tags/Stylesheet\",\"text\":\"\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline html\\n\\n:root {\\n --position-autocomplete-panel-top: 5em;\\n}\\n.aa-Panel {\\n /**\\n * container of command input can't be position fix, otherwise need a hack\\n * https://github.com/algolia/autocomplete/issues/1199\\n */\\n position: fixed !important;\\n top: calc(var(--position-autocomplete-panel-top) + 0.25em) !important;\\n z-index: 9999;\\n}\\n.tw-commandpalette-default-container {\\n position: fixed;\\n background: <>;\\n z-index: 9998;\\n top: 5em;\\n left: 50%;\\n transform: translate(-50%, 0%);\\n /** fallback to 80% of root widget */\\n width: 80%;\\n width: {{$:/plugins/linonetwo/commandpalette/configs/DesktopWidth}}%;\\n flex-direction: column;\\n}\\ndiv.aa-DetachedContainer div.aa-Panel {\\n /** height of .aa-DetachedFormContainer */\\n top: 65px !important;\\n width: 100%;\\n height: 100%;\\n}\\n.tw-default-commandpalette-mask-layer {\\n position: fixed;\\n z-index: 9997;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n width: 100vw;\\n height: 100vh;\\n background: <>;\\n opacity: 0.5;\\n filter: contrast(130%);\\n min-width: 200px !important;\\n transition: opacity {{$:/config/AnimationDuration}}ms;\\n backdrop-filter: blur(10px);\\n overscroll-behavior: contain;\\n overscroll-behavior: none;\\n}\\n\\ndiv.aa-SourceHeader {\\n border-bottom: 1px solid;\\n padding-bottom: 0.3em;\\n padding-top: 0.3em;\\n opacity: 0.5;\\n}\\ndiv.tw-commandpalette-layout-result {\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n}\\n\"},\"$:/plugins/linonetwo/commandpalette/styles/HideVanillaSearch.css\":{\"title\":\"$:/plugins/linonetwo/commandpalette/styles/HideVanillaSearch.css\",\"tags\":\"$:/tags/Stylesheet\",\"text\":\"<$list filter=\\\"[[$:/plugins/linonetwo/commandpalette/configs/HideDefaultSearchBar]get[text]else[no]match[yes]]\\\">\\n.tc-sidebar-lists.tc-sidebar-search {\\n display: none;\\n}\\n\\n\"},\"$:/core/ui/CommandPaletteTemplate\":{\"title\":\"$:/core/ui/CommandPaletteTemplate\",\"tags\":\"$:/tags/PageTemplate\",\"text\":\"<$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/CommandPalette]!has[draft.of]]\\\">\\n<$transclude/>\\n\"},\"$:/core/ui/Buttons/CommandPalette\":{\"title\":\"$:/core/ui/Buttons/CommandPalette\",\"caption\":\"{{$:/plugins/linonetwo/commandpalette/icons/command-palette}} Command Palette\",\"description\":\"Open Command Palette\",\"tags\":\"$:/tags/PageControls\",\"text\":\"\\\\whitespace trim\\n<$button\\n class=<>\\n message=\\\"open-command-palette\\\"\\n tooltip=\\\"Open Command Palette\\\"\\n aria-label=\\\"Command Palette\\\"\\n>\\n <% if [match[yes]] %>\\n {{$:/plugins/linonetwo/commandpalette/icons/command-palette}}\\n <% endif %>\\n <% if [match[yes]] %>\\n \\n <$text text=\\\"Command Palette\\\"/>\\n \\n <% endif %>\\n\\n\"},\"$:/plugins/linonetwo/commandpalette/tree\":{\"title\":\"$:/plugins/linonetwo/commandpalette/tree\",\"text\":\"<>\"},\"$:/plugins/linonetwo/commandpalette/message-handlers/startup.js\":{\"title\":\"$:/plugins/linonetwo/commandpalette/message-handlers/startup.js\",\"type\":\"application/javascript\",\"module-type\":\"startup\",\"Modern.TiddlyDev#Origin\":\"message-handlers/startup.ts\",\"text\":\"\\\"use strict\\\";exports.name=\\\"commandpalette/message-handlers/startup\\\",exports.after=[\\\"startup\\\"],exports.synchronous=!0,exports.startup=function(){$tw.rootWidget.addEventListener(\\\"open-command-palette\\\",e=>{var t=$tw.hooks.invokeHook(\\\"th-open-command-palette\\\",e),o=(null==(o=null==t?void 0:t.paramObject)?void 0:o.id)||\\\"default\\\",a=(null==(a=null==t?void 0:t.paramObject)?void 0:a.prefix)||\\\"\\\",t=(null==(t=null==t?void 0:t.paramObject)?void 0:t.historyMode)||\\\"no\\\";return $tw.wiki.addTiddler({title:\\\"$:/temp/commandpalette/\\\".concat(o,\\\"/opened\\\"),text:\\\"yes\\\",prefix:a,historyMode:t}),!1}),$tw.rootWidget.addEventListener(\\\"close-command-palette\\\",e=>{var t=$tw.hooks.invokeHook(\\\"th-close-command-palette\\\",e),t=(null==t?void 0:t.param)||\\\"default\\\";return $tw.wiki.deleteTiddler(\\\"$:/temp/commandpalette/\\\".concat(t,\\\"/opened\\\")),!1})};\"},\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/command-action-string.js\":{\"title\":\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/command-action-string.js\",\"tags\":\"$:/tags/CommandPalettePlugin\",\"type\":\"application/javascript\",\"module-type\":\"library\",\"priority\":\"20\",\"Modern.TiddlyDev#Origin\":\"widgets/build-in-sub-plugins/command-action-string.ts\",\"text\":\"\\\"use strict\\\";var _a,_b,_c,_d,_a2,_b2,_a3,_b3,_a4,_b4,_a5,_b5,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var i in t)__defProp(e,i,{get:t[i],enumerable:!0})},__copyProps=(t,i,n,r)=>{if(i&&\\\"object\\\"==typeof i||\\\"function\\\"==typeof i)for(let e of __getOwnPropNames(i))__hasOwnProp.call(t,e)||e===n||__defProp(t,e,{get:()=>i[e],enumerable:!(r=__getOwnPropDesc(i,e))||r.enumerable});return t},__toCommonJS=e=>__copyProps(__defProp({},\\\"__esModule\\\",{value:!0}),e),command_action_string_exports={},systemPrefixes=(__export(command_action_string_exports,{plugin:()=>plugin}),module.exports=__toCommonJS(command_action_string_exports),null==(_d=null==(_c=null==(_b=null==(_a=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/System\\\"))?void 0:_a.fields)?void 0:_b[\\\"command-palette-prefix\\\"])?void 0:_c.split(\\\" \\\"))?void 0:_d.filter(Boolean)),filterPrefix=null==(_b2=null==(_a2=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Filter\\\"))?void 0:_a2.fields)?void 0:_b2[\\\"command-palette-prefix\\\"],tagsPrefix=null==(_b3=null==(_a3=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Tags\\\"))?void 0:_a3.fields)?void 0:_b3[\\\"command-palette-prefix\\\"],helpPrefix=null==(_b4=null==(_a4=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Help\\\"))?void 0:_a4.fields)?void 0:_b4[\\\"command-palette-prefix\\\"];function checkIsSearchSystem(e){return Boolean(null==systemPrefixes?void 0:systemPrefixes.includes(e.query[0]))}function checkIsUnderFilter(e){return Boolean(e.state.context.filter)}var _a6,_b6,isInTidGiDesktop=\\\"undefined\\\"!=typeof document&&(null==(_b5=null==(_a5=null==document?void 0:document.location)?void 0:_a5.protocol)?void 0:_b5.startsWith(\\\"tidgi\\\")),tidGiWorkspaceID=null==(_b6=null==(_a6=window.meta)?void 0:_a6.call(window))?void 0:_b6.workspaceID;async function filterTiddlersAsync(t,i,n){if(isInTidGiDesktop&&\\\"service\\\"in window){var r=window.service.wiki;let e;!0===i&&(e=await r.wikiOperationInServer(\\\"wiki-get-tiddler-text\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]),await r.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",\\\"yes\\\"]));var o=await r.callWikiIpcServerRoute(tidGiWorkspaceID,\\\"getTiddlersJSON\\\",t,n);return!0===i&&(void 0===e?await r.wikiOperationInServer(\\\"wiki-delete-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]):await r.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",e])),o.data}return $tw.wiki.filterTiddlers(t).map(e=>{var t;return null==(t=$tw.wiki.getTiddler(e))?void 0:t.fields}).filter(Boolean)}var lingoBase=\\\"$:/plugins/linonetwo/commandpalette/language/\\\";function lingo(e){const t=$tw.wiki.filterTiddlers(\\\"[[$:/language]get[text]get[name]else[en-GB]]\\\")[0];return $tw.wiki.getGlobalCache(\\\"lingo-\\\".concat(t,\\\"-\\\").concat(e),()=>$tw.wiki.getTiddlerText(\\\"\\\".concat(lingoBase).concat(t,\\\"/\\\").concat(e),e))}function renderTextWithCache(e,t,i){return void 0===e||\\\"string\\\"!=typeof e?\\\"\\\":$tw.wiki.getGlobalCache(\\\"wikify-\\\".concat(e),()=>$tw.wiki.renderText(\\\"text/plain\\\",\\\"text/vnd.tiddlywiki\\\",\\\"\\\\\\\\import [[$:/core/macros/lingo]]\\\\n\\\\n\\\".concat(e),{parentWidget:t,variables:i}))}var plugin={getSources(t){if(0===t.query.length)return[];if(!checkIsSearchSystem(t)||checkIsUnderFilter(t))return[];const i=$tw.wiki.getTiddlerText(\\\"$:/temp/focussedTiddler\\\"),n={currentTiddler:null!=i?i:\\\"\\\",commandpaletteinput:t.query.slice(1)},r=t.state.context[\\\"widget\\\"];return[{sourceId:\\\"actionString\\\",async getItems({query:t}){return\\\"\\\"===t?[]:(await filterTiddlersAsync(\\\"[all[tiddlers+shadows]tag[$:/tags/Actions]]\\\",!0)).filter(e=>0<$tw.wiki.filterTiddlers(\\\"[search[\\\".concat(t.slice(1),\\\"]]\\\"),void 0,$tw.wiki.makeTiddlerIterator([e.title.replace(\\\"$:/plugins/\\\",\\\"\\\").replace(\\\"linonetwo/commandpalette/\\\",\\\"\\\"),renderTextWithCache(e.caption,r),renderTextWithCache(e.description,r)])).length)},getItemUrl({item:e}){return e.title},onSelect({item:e}){t.setContext({noNavigate:!0}),null!=r&&r.invokeActionString(e.text,r,null,n)},templates:{header(){var e;let t=i?null==(e=null==(e=$tw.wiki.getTiddler(i))?void 0:e.fields)?void 0:e.caption:\\\"\\\";return t=t&&\\\"(\\\".concat(renderTextWithCache(t,r,n),\\\")\\\"),\\\"\\\".concat(lingo(\\\"ActionString\\\"),\\\" - \\\").concat(lingo(\\\"CurrentTiddler\\\"),\\\": \\\").concat(i,\\\" \\\").concat(t)},item({item:e}){var t=e.description?\\\" (\\\".concat(renderTextWithCache(e.description,r,n),\\\")\\\"):\\\"\\\";return\\\"\\\".concat(renderTextWithCache(e.caption,r,n)).concat(t)||e.title}}}]}};\"},\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/command-message.js\":{\"title\":\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/command-message.js\",\"tags\":\"$:/tags/CommandPalettePlugin\",\"type\":\"application/javascript\",\"module-type\":\"library\",\"priority\":\"20\",\"Modern.TiddlyDev#Origin\":\"widgets/build-in-sub-plugins/command-message.ts\",\"text\":\"\\\"use strict\\\";var _a,_b,_c,_d,_a2,_b2,_a3,_b3,_a4,_b4,_a5,_b5,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var i in t)__defProp(e,i,{get:t[i],enumerable:!0})},__copyProps=(t,i,r,n)=>{if(i&&\\\"object\\\"==typeof i||\\\"function\\\"==typeof i)for(let e of __getOwnPropNames(i))__hasOwnProp.call(t,e)||e===r||__defProp(t,e,{get:()=>i[e],enumerable:!(n=__getOwnPropDesc(i,e))||n.enumerable});return t},__toCommonJS=e=>__copyProps(__defProp({},\\\"__esModule\\\",{value:!0}),e),command_message_exports={},systemPrefixes=(__export(command_message_exports,{plugin:()=>plugin}),module.exports=__toCommonJS(command_message_exports),null==(_d=null==(_c=null==(_b=null==(_a=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/System\\\"))?void 0:_a.fields)?void 0:_b[\\\"command-palette-prefix\\\"])?void 0:_c.split(\\\" \\\"))?void 0:_d.filter(Boolean)),filterPrefix=null==(_b2=null==(_a2=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Filter\\\"))?void 0:_a2.fields)?void 0:_b2[\\\"command-palette-prefix\\\"],tagsPrefix=null==(_b3=null==(_a3=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Tags\\\"))?void 0:_a3.fields)?void 0:_b3[\\\"command-palette-prefix\\\"],helpPrefix=null==(_b4=null==(_a4=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Help\\\"))?void 0:_a4.fields)?void 0:_b4[\\\"command-palette-prefix\\\"];function checkIsSearchSystem(e){return Boolean(null==systemPrefixes?void 0:systemPrefixes.includes(e.query[0]))}function checkIsUnderFilter(e){return Boolean(e.state.context.filter)}var _a6,_b6,isInTidGiDesktop=\\\"undefined\\\"!=typeof document&&(null==(_b5=null==(_a5=null==document?void 0:document.location)?void 0:_a5.protocol)?void 0:_b5.startsWith(\\\"tidgi\\\")),tidGiWorkspaceID=null==(_b6=null==(_a6=window.meta)?void 0:_a6.call(window))?void 0:_b6.workspaceID;async function filterTiddlersAsync(t,i,r){if(isInTidGiDesktop&&\\\"service\\\"in window){var n=window.service.wiki;let e;!0===i&&(e=await n.wikiOperationInServer(\\\"wiki-get-tiddler-text\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]),await n.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",\\\"yes\\\"]));var o=await n.callWikiIpcServerRoute(tidGiWorkspaceID,\\\"getTiddlersJSON\\\",t,r);return!0===i&&(void 0===e?await n.wikiOperationInServer(\\\"wiki-delete-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]):await n.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",e])),o.data}return $tw.wiki.filterTiddlers(t).map(e=>{var t;return null==(t=$tw.wiki.getTiddler(e))?void 0:t.fields}).filter(Boolean)}var lingoBase=\\\"$:/plugins/linonetwo/commandpalette/language/\\\";function lingo(e){const t=$tw.wiki.filterTiddlers(\\\"[[$:/language]get[text]get[name]else[en-GB]]\\\")[0];return $tw.wiki.getGlobalCache(\\\"lingo-\\\".concat(t,\\\"-\\\").concat(e),()=>$tw.wiki.getTiddlerText(\\\"\\\".concat(lingoBase).concat(t,\\\"/\\\").concat(e),e))}function renderTextWithCache(e,t,i){return void 0===e||\\\"string\\\"!=typeof e?\\\"\\\":$tw.wiki.getGlobalCache(\\\"wikify-\\\".concat(e),()=>$tw.wiki.renderText(\\\"text/plain\\\",\\\"text/vnd.tiddlywiki\\\",\\\"\\\\\\\\import [[$:/core/macros/lingo]]\\\\n\\\\n\\\".concat(e),{parentWidget:t,variables:i}))}var plugin={getSources(i){if(0===i.query.length)return[];if(!checkIsSearchSystem(i)||checkIsUnderFilter(i))return[];const r=$tw.wiki.getTiddlerText(\\\"$:/temp/focussedTiddler\\\"),n={currentTiddler:null!=r?r:\\\"\\\"},o=i.state.context[\\\"widget\\\"];return[{sourceId:\\\"message\\\",async getItems({query:t}){return\\\"\\\"===t?[]:(await filterTiddlersAsync(\\\"[all[tiddlers+shadows]tag[$:/tags/Messages]]\\\",!0)).filter(e=>{var t=e[\\\"command-palette-filter\\\"];return!t||!r||0<$tw.wiki.filterTiddlers(t,void 0,$tw.wiki.makeTiddlerIterator([r])).length}).filter(e=>0<$tw.wiki.filterTiddlers(\\\"[search[\\\".concat(t.slice(1),\\\"]]\\\"),void 0,$tw.wiki.makeTiddlerIterator([e.title.replace(\\\"$:/plugins/linonetwo/commandpalette/\\\",\\\"\\\"),renderTextWithCache(e.caption,o),renderTextWithCache(e.description,o)])).length)},getItemUrl({item:e}){return e.title},onSelect({item:e}){var t;i.setContext({noNavigate:!0}),null!=(t=null==o?void 0:o.dispatchEvent)&&t.call(o,{type:e.text.trim(),tiddlerTitle:r})},templates:{header(){var e;let t=r?null==(e=null==(e=$tw.wiki.getTiddler(r))?void 0:e.fields)?void 0:e.caption:\\\"\\\";return t=t&&\\\"(\\\".concat(renderTextWithCache(t,o,n),\\\")\\\"),\\\"\\\".concat(lingo(\\\"Message\\\"),\\\" - \\\").concat(lingo(\\\"CurrentTiddler\\\"),\\\": \\\").concat(r,\\\" \\\").concat(t)},item({item:e}){var t=e.description?\\\" (\\\".concat(renderTextWithCache(e.description,o,n),\\\")\\\"):\\\"\\\";return\\\"\\\".concat(renderTextWithCache(e.caption,o,n)).concat(t)||e.title}}}]}};\"},\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-config.js\":{\"title\":\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-config.js\",\"tags\":\"$:/tags/CommandPalettePlugin\",\"type\":\"application/javascript\",\"module-type\":\"library\",\"priority\":\"15\",\"Modern.TiddlyDev#Origin\":\"widgets/build-in-sub-plugins/search-config.ts\",\"text\":\"\\\"use strict\\\";var _a,_b,_c,_d,_a2,_b2,_a3,_b3,_a4,_b4,_a5,_b5,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var i in t)__defProp(e,i,{get:t[i],enumerable:!0})},__copyProps=(t,i,r,n)=>{if(i&&\\\"object\\\"==typeof i||\\\"function\\\"==typeof i)for(let e of __getOwnPropNames(i))__hasOwnProp.call(t,e)||e===r||__defProp(t,e,{get:()=>i[e],enumerable:!(n=__getOwnPropDesc(i,e))||n.enumerable});return t},__toCommonJS=e=>__copyProps(__defProp({},\\\"__esModule\\\",{value:!0}),e),search_config_exports={},systemPrefixes=(__export(search_config_exports,{plugin:()=>plugin}),module.exports=__toCommonJS(search_config_exports),null==(_d=null==(_c=null==(_b=null==(_a=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/System\\\"))?void 0:_a.fields)?void 0:_b[\\\"command-palette-prefix\\\"])?void 0:_c.split(\\\" \\\"))?void 0:_d.filter(Boolean)),filterPrefix=null==(_b2=null==(_a2=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Filter\\\"))?void 0:_a2.fields)?void 0:_b2[\\\"command-palette-prefix\\\"],tagsPrefix=null==(_b3=null==(_a3=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Tags\\\"))?void 0:_a3.fields)?void 0:_b3[\\\"command-palette-prefix\\\"],helpPrefix=null==(_b4=null==(_a4=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Help\\\"))?void 0:_a4.fields)?void 0:_b4[\\\"command-palette-prefix\\\"];function checkIsSearchSystem(e){return Boolean(null==systemPrefixes?void 0:systemPrefixes.includes(e.query[0]))}function checkIsUnderFilter(e){return Boolean(e.state.context.filter)}var _a6,_b6,isInTidGiDesktop=\\\"undefined\\\"!=typeof document&&(null==(_b5=null==(_a5=null==document?void 0:document.location)?void 0:_a5.protocol)?void 0:_b5.startsWith(\\\"tidgi\\\")),tidGiWorkspaceID=null==(_b6=null==(_a6=window.meta)?void 0:_a6.call(window))?void 0:_b6.workspaceID;async function filterTiddlersAsync(t,i,r){if(isInTidGiDesktop&&\\\"service\\\"in window){var n=window.service.wiki;let e;!0===i&&(e=await n.wikiOperationInServer(\\\"wiki-get-tiddler-text\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]),await n.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",\\\"yes\\\"]));var o=await n.callWikiIpcServerRoute(tidGiWorkspaceID,\\\"getTiddlersJSON\\\",t,r);return!0===i&&(void 0===e?await n.wikiOperationInServer(\\\"wiki-delete-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]):await n.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",e])),o.data}return $tw.wiki.filterTiddlers(t).map(e=>{var t;return null==(t=$tw.wiki.getTiddler(e))?void 0:t.fields}).filter(Boolean)}var lingoBase=\\\"$:/plugins/linonetwo/commandpalette/language/\\\";function lingo(e){const t=$tw.wiki.filterTiddlers(\\\"[[$:/language]get[text]get[name]else[en-GB]]\\\")[0];return $tw.wiki.getGlobalCache(\\\"lingo-\\\".concat(t,\\\"-\\\").concat(e),()=>$tw.wiki.getTiddlerText(\\\"\\\".concat(lingoBase).concat(t,\\\"/\\\").concat(e),e))}function renderTextWithCache(e,t,i){return void 0===e||\\\"string\\\"!=typeof e?\\\"\\\":$tw.wiki.getGlobalCache(\\\"wikify-\\\".concat(e),()=>$tw.wiki.renderText(\\\"text/plain\\\",\\\"text/vnd.tiddlywiki\\\",\\\"\\\\\\\\import [[$:/core/macros/lingo]]\\\\n\\\\n\\\".concat(e),{parentWidget:t,variables:i}))}var plugin={getSources(e){if(0===e.query.length)return[];if(!checkIsSearchSystem(e)||checkIsUnderFilter(e))return[];const i=e.state.context[\\\"widget\\\"];return[{sourceId:\\\"config\\\",async getItems({query:t}){return(await filterTiddlersAsync(\\\"[all[shadows]tag[$:/tags/ControlPanel/SettingsTab]]\\\",!0)).filter(e=>0<$tw.wiki.filterTiddlers(\\\"[search[\\\".concat(t.slice(1),\\\"]]\\\"),void 0,$tw.wiki.makeTiddlerIterator([renderTextWithCache(e.caption,i),e.text,e.title.replace(\\\"$:/plugins/\\\",\\\"\\\")])).length)},getItemUrl({item:e}){return e.title},templates:{header(){return lingo(\\\"Config\\\")},item({item:e}){return\\\"string\\\"==typeof e.caption&&\\\"\\\"!==e.caption?renderTextWithCache(e.caption,i):e.title}}}]}};\"},\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-filter.js\":{\"title\":\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-filter.js\",\"tags\":\"$:/tags/CommandPalettePlugin\",\"type\":\"application/javascript\",\"module-type\":\"library\",\"priority\":\"0\",\"Modern.TiddlyDev#Origin\":\"widgets/build-in-sub-plugins/search-filter.ts\",\"text\":\"\\\"use strict\\\";var _a,_b,_c,_d,_a2,_b2,_a3,_b3,_a4,_b4,_a5,_b5,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var i in t)__defProp(e,i,{get:t[i],enumerable:!0})},__copyProps=(t,i,r,n)=>{if(i&&\\\"object\\\"==typeof i||\\\"function\\\"==typeof i)for(let e of __getOwnPropNames(i))__hasOwnProp.call(t,e)||e===r||__defProp(t,e,{get:()=>i[e],enumerable:!(n=__getOwnPropDesc(i,e))||n.enumerable});return t},__toCommonJS=e=>__copyProps(__defProp({},\\\"__esModule\\\",{value:!0}),e),search_filter_exports={},systemPrefixes=(__export(search_filter_exports,{plugin:()=>plugin}),module.exports=__toCommonJS(search_filter_exports),null==(_d=null==(_c=null==(_b=null==(_a=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/System\\\"))?void 0:_a.fields)?void 0:_b[\\\"command-palette-prefix\\\"])?void 0:_c.split(\\\" \\\"))?void 0:_d.filter(Boolean)),filterPrefix=null==(_b2=null==(_a2=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Filter\\\"))?void 0:_a2.fields)?void 0:_b2[\\\"command-palette-prefix\\\"],tagsPrefix=null==(_b3=null==(_a3=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Tags\\\"))?void 0:_a3.fields)?void 0:_b3[\\\"command-palette-prefix\\\"],helpPrefix=null==(_b4=null==(_a4=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Help\\\"))?void 0:_a4.fields)?void 0:_b4[\\\"command-palette-prefix\\\"];function checkIsSearchSystem(e){return Boolean(null==systemPrefixes?void 0:systemPrefixes.includes(e.query[0]))}function checkIsFilter(e){return e.query[0]===filterPrefix}function checkIsUnderFilter(e){return Boolean(e.state.context.filter)}var _a6,_b6,isInTidGiDesktop=\\\"undefined\\\"!=typeof document&&(null==(_b5=null==(_a5=null==document?void 0:document.location)?void 0:_a5.protocol)?void 0:_b5.startsWith(\\\"tidgi\\\")),tidGiWorkspaceID=null==(_b6=null==(_a6=window.meta)?void 0:_a6.call(window))?void 0:_b6.workspaceID;async function filterTiddlersAsync(t,i,r){if(isInTidGiDesktop&&\\\"service\\\"in window){var n=window.service.wiki;let e;!0===i&&(e=await n.wikiOperationInServer(\\\"wiki-get-tiddler-text\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]),await n.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",\\\"yes\\\"]));var l=await n.callWikiIpcServerRoute(tidGiWorkspaceID,\\\"getTiddlersJSON\\\",t,r);return!0===i&&(void 0===e?await n.wikiOperationInServer(\\\"wiki-delete-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]):await n.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",e])),l.data}return $tw.wiki.filterTiddlers(t).map(e=>{var t;return null==(t=$tw.wiki.getTiddler(e))?void 0:t.fields}).filter(Boolean)}var lingoBase=\\\"$:/plugins/linonetwo/commandpalette/language/\\\";function lingo(e){const t=$tw.wiki.filterTiddlers(\\\"[[$:/language]get[text]get[name]else[en-GB]]\\\")[0];return $tw.wiki.getGlobalCache(\\\"lingo-\\\".concat(t,\\\"-\\\").concat(e),()=>$tw.wiki.getTiddlerText(\\\"\\\".concat(lingoBase).concat(t,\\\"/\\\").concat(e),e))}function renderTextWithCache(e,t,i){return void 0===e||\\\"string\\\"!=typeof e?\\\"\\\":$tw.wiki.getGlobalCache(\\\"wikify-\\\".concat(e),()=>$tw.wiki.renderText(\\\"text/plain\\\",\\\"text/vnd.tiddlywiki\\\",\\\"\\\\\\\\import [[$:/core/macros/lingo]]\\\\n\\\\n\\\".concat(e),{parentWidget:t,variables:i}))}var plugin={getSources(r){var e=[];if(checkIsFilter(r)){const n=r.state.context[\\\"widget\\\"];e.push({sourceId:\\\"build-in-filter\\\",async getItems({query:t}){var e,i;return\\\"\\\"===t?[]:(e=(await filterTiddlersAsync(\\\"[all[tiddlers+shadows]tag[$:/tags/Filter]]\\\",!0)).filter(e=>void 0!==e&&!(!e.filter||\\\"string\\\"!=typeof e.filter)).filter(e=>0<$tw.wiki.filterTiddlers(\\\"[search[\\\".concat(t.slice(1),\\\"]]\\\"),void 0,$tw.wiki.makeTiddlerIterator([e.title.replace(\\\"$:/plugins/\\\",\\\"\\\").replace(\\\"linonetwo/commandpalette/\\\",\\\"\\\"),renderTextWithCache(e.caption,n),renderTextWithCache(e.description,n),e.filter.trim().replaceAll(\\\"[\\\",\\\"\\\").replaceAll(\\\"]\\\",\\\"\\\")])).length),i={filter:t,title:\\\"\\\",type:\\\"\\\",text:\\\"\\\"},1{for(var i in t)__defProp(e,i,{get:t[i],enumerable:!0})},__copyProps=(t,i,n,l)=>{if(i&&\\\"object\\\"==typeof i||\\\"function\\\"==typeof i)for(let e of __getOwnPropNames(i))__hasOwnProp.call(t,e)||e===n||__defProp(t,e,{get:()=>i[e],enumerable:!(l=__getOwnPropDesc(i,e))||l.enumerable});return t},__toCommonJS=e=>__copyProps(__defProp({},\\\"__esModule\\\",{value:!0}),e),search_help_exports={},systemPrefixes=(__export(search_help_exports,{plugin:()=>plugin}),module.exports=__toCommonJS(search_help_exports),null==(_d=null==(_c=null==(_b=null==(_a=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/System\\\"))?void 0:_a.fields)?void 0:_b[\\\"command-palette-prefix\\\"])?void 0:_c.split(\\\" \\\"))?void 0:_d.filter(Boolean)),filterPrefix=null==(_b2=null==(_a2=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Filter\\\"))?void 0:_a2.fields)?void 0:_b2[\\\"command-palette-prefix\\\"],tagsPrefix=null==(_b3=null==(_a3=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Tags\\\"))?void 0:_a3.fields)?void 0:_b3[\\\"command-palette-prefix\\\"],helpPrefix=null==(_b4=null==(_a4=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Help\\\"))?void 0:_a4.fields)?void 0:_b4[\\\"command-palette-prefix\\\"];function checkIsHelp(e){return e.query[0]===helpPrefix||\\\"\\\"===e.query}function checkIsUnderFilter(e){return Boolean(e.state.context.filter)}var lingoBase=\\\"$:/plugins/linonetwo/commandpalette/language/\\\";function lingo(e){const t=$tw.wiki.filterTiddlers(\\\"[[$:/language]get[text]get[name]else[en-GB]]\\\")[0];return $tw.wiki.getGlobalCache(\\\"lingo-\\\".concat(t,\\\"-\\\").concat(e),()=>$tw.wiki.getTiddlerText(\\\"\\\".concat(lingoBase).concat(t,\\\"/\\\").concat(e),e))}function renderTextWithCache(e,t,i){return void 0===e||\\\"string\\\"!=typeof e?\\\"\\\":$tw.wiki.getGlobalCache(\\\"wikify-\\\".concat(e),()=>$tw.wiki.renderText(\\\"text/plain\\\",\\\"text/vnd.tiddlywiki\\\",\\\"\\\\\\\\import [[$:/core/macros/lingo]]\\\\n\\\\n\\\".concat(e),{parentWidget:t,variables:i}))}var plugin={getSources(t){const n=t.state.context[\\\"widget\\\"];return!checkIsHelp(t)||checkIsUnderFilter(t)?[]:[{sourceId:\\\"help\\\",getItems({query:t}){return $tw.wiki.filterTiddlers(\\\"[all[shadows]tag[$:/tags/CommandPaletteHelp]]\\\").map(e=>{var t;return null==(t=$tw.wiki.getTiddler(e))?void 0:t.fields}).filter(Boolean).filter(e=>0<$tw.wiki.filterTiddlers(\\\"[search[\\\".concat(t.slice(1),\\\"]]\\\"),void 0,$tw.wiki.makeTiddlerIterator([e.title.replace(\\\"$:/plugins/linonetwo/commandpalette/commands/help/\\\",\\\"\\\"),renderTextWithCache(e.caption,n),renderTextWithCache(e.description,n)])).length)},getItemUrl({item:e}){return e.title},onSelect({item:e}){t.setContext({noNavigate:!0,noClose:!0,newQuery:e[\\\"command-palette-prefix\\\"].charAt(0)})},templates:{header(){return lingo(\\\"Help\\\")},item({item:e,createElement:t}){var i=e.description?\\\" \\\".concat(renderTextWithCache(e.description,n)):\\\"\\\";return t(\\\"div\\\",{style:\\\"display:flex;flex-direction:column;\\\"},[t(\\\"div\\\",{style:\\\"margin-bottom:0.25em;\\\"},[t(\\\"em\\\",{style:\\\"margin-right:0.25em;\\\"},[e[\\\"command-palette-prefix\\\"]]),renderTextWithCache(e.caption,n)]),t(\\\"div\\\",{style:\\\"margin-bottom:0.3em;\\\"},i)])}}}]}};\"},\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-layout.js\":{\"title\":\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-layout.js\",\"tags\":\"$:/tags/CommandPalettePlugin\",\"type\":\"application/javascript\",\"module-type\":\"library\",\"priority\":\"25\",\"Modern.TiddlyDev#Origin\":\"widgets/build-in-sub-plugins/search-layout.ts\",\"text\":\"\\\"use strict\\\";var _a,_b,_c,_d,_a2,_b2,_a3,_b3,_a4,_b4,_a5,_b5,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var i in t)__defProp(e,i,{get:t[i],enumerable:!0})},__copyProps=(t,i,r,n)=>{if(i&&\\\"object\\\"==typeof i||\\\"function\\\"==typeof i)for(let e of __getOwnPropNames(i))__hasOwnProp.call(t,e)||e===r||__defProp(t,e,{get:()=>i[e],enumerable:!(n=__getOwnPropDesc(i,e))||n.enumerable});return t},__toCommonJS=e=>__copyProps(__defProp({},\\\"__esModule\\\",{value:!0}),e),search_layout_exports={},systemPrefixes=(__export(search_layout_exports,{plugin:()=>plugin}),module.exports=__toCommonJS(search_layout_exports),null==(_d=null==(_c=null==(_b=null==(_a=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/System\\\"))?void 0:_a.fields)?void 0:_b[\\\"command-palette-prefix\\\"])?void 0:_c.split(\\\" \\\"))?void 0:_d.filter(Boolean)),filterPrefix=null==(_b2=null==(_a2=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Filter\\\"))?void 0:_a2.fields)?void 0:_b2[\\\"command-palette-prefix\\\"],tagsPrefix=null==(_b3=null==(_a3=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Tags\\\"))?void 0:_a3.fields)?void 0:_b3[\\\"command-palette-prefix\\\"],helpPrefix=null==(_b4=null==(_a4=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Help\\\"))?void 0:_a4.fields)?void 0:_b4[\\\"command-palette-prefix\\\"];function checkIsSearchSystem(e){return Boolean(null==systemPrefixes?void 0:systemPrefixes.includes(e.query[0]))}function checkIsUnderFilter(e){return Boolean(e.state.context.filter)}var _a6,_b6,isInTidGiDesktop=\\\"undefined\\\"!=typeof document&&(null==(_b5=null==(_a5=null==document?void 0:document.location)?void 0:_a5.protocol)?void 0:_b5.startsWith(\\\"tidgi\\\")),tidGiWorkspaceID=null==(_b6=null==(_a6=window.meta)?void 0:_a6.call(window))?void 0:_b6.workspaceID;async function filterTiddlersAsync(t,i,r){if(isInTidGiDesktop&&\\\"service\\\"in window){var n=window.service.wiki;let e;!0===i&&(e=await n.wikiOperationInServer(\\\"wiki-get-tiddler-text\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]),await n.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",\\\"yes\\\"]));var o=await n.callWikiIpcServerRoute(tidGiWorkspaceID,\\\"getTiddlersJSON\\\",t,r);return!0===i&&(void 0===e?await n.wikiOperationInServer(\\\"wiki-delete-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]):await n.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",e])),o.data}return $tw.wiki.filterTiddlers(t).map(e=>{var t;return null==(t=$tw.wiki.getTiddler(e))?void 0:t.fields}).filter(Boolean)}function renderTextWithCache(e,t,i){return void 0===e||\\\"string\\\"!=typeof e?\\\"\\\":$tw.wiki.getGlobalCache(\\\"wikify-\\\".concat(e),()=>$tw.wiki.renderText(\\\"text/plain\\\",\\\"text/vnd.tiddlywiki\\\",\\\"\\\\\\\\import [[$:/core/macros/lingo]]\\\\n\\\\n\\\".concat(e),{parentWidget:t,variables:i}))}function renderHTMLWithCache(e,t,i){return void 0===e||\\\"string\\\"!=typeof e?\\\"\\\":$tw.wiki.getGlobalCache(\\\"wikify-html-\\\".concat(e),()=>$tw.wiki.renderText(\\\"text/html\\\",\\\"text/vnd.tiddlywiki\\\",\\\"\\\\\\\\import [[$:/core/macros/lingo]]\\\\n\\\\n\\\".concat(e),{parentWidget:t,variables:i}))}function getIconSvg(e,t){return renderHTMLWithCache($tw.wiki.getTiddlerText(e),t).replace(\\\"

\\\",\\\"\\\").replace(\\\"

\\\",\\\"\\\")}var lingoBase=\\\"$:/plugins/linonetwo/commandpalette/language/\\\";function lingo(e){const t=$tw.wiki.filterTiddlers(\\\"[[$:/language]get[text]get[name]else[en-GB]]\\\")[0];return $tw.wiki.getGlobalCache(\\\"lingo-\\\".concat(t,\\\"-\\\").concat(e),()=>$tw.wiki.getTiddlerText(\\\"\\\".concat(lingoBase).concat(t,\\\"/\\\").concat(e),e))}var plugin={getSources(t){if(0===t.query.length)return[];if(!checkIsSearchSystem(t)||checkIsUnderFilter(t))return[];const o=t.state.context[\\\"widget\\\"];return[{sourceId:\\\"layout\\\",async getItems({query:t}){return(await filterTiddlersAsync(\\\"[all[tiddlers+shadows]tag[$:/tags/Layout]] [[$:/core/ui/PageTemplate]] +[!is[draft]sort[name]]\\\",!0)).filter(e=>0<$tw.wiki.filterTiddlers(\\\"[search[\\\".concat(t.slice(1),\\\"]]\\\"),void 0,$tw.wiki.makeTiddlerIterator([renderTextWithCache(e.name,o),renderTextWithCache(e.description,o),e.title.replace(\\\"$:/plugins/\\\",\\\"\\\")])).length)},getItemUrl({item:e}){return e.title},onSelect({item:e}){t.setContext({noNavigate:!0}),$tw.wiki.setText(\\\"$:/layout\\\",\\\"text\\\",void 0,e.title,{suppressTimestamp:!0})},templates:{header(){var e=$tw.wiki.getTiddlerText(\\\"$:/layout\\\",\\\"\\\"),e=null==(e=null==(e=$tw.wiki.getTiddler(e))?void 0:e.fields)?void 0:e.name,e=e?renderTextWithCache(e,o):$tw.wiki.getTiddlerText(\\\"$:/language/PageTemplate/Name\\\");return\\\"\\\".concat(lingo(\\\"Layout\\\"),\\\" - \\\").concat(lingo(\\\"CurrentLayout\\\"),\\\": \\\").concat(e)},item({item:e,createElement:t}){var i,r,n;return\\\"string\\\"==typeof e.name&&\\\"\\\"!==e.name?(i=renderTextWithCache(e.name,o),r=renderTextWithCache(e.description,o),n=getIconSvg(e.icon,o),t(\\\"div\\\",{\\\"class\\\":\\\"tw-commandpalette-layout-result\\\",innerHTML:\\\"\\\".concat(n).concat(i).concat(r?\\\" - \\\".concat(r):\\\"\\\")})):e.title}}}]}};\"},\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-story-history.js\":{\"title\":\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-story-history.js\",\"tags\":\"$:/tags/CommandPalettePlugin\",\"type\":\"application/javascript\",\"module-type\":\"library\",\"priority\":\"0\",\"Modern.TiddlyDev#Origin\":\"widgets/build-in-sub-plugins/search-story-history.ts\",\"text\":\"\\\"use strict\\\";var _a,_b,_c,_d,_a2,_b2,_a3,_b3,_a4,_b4,__create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__esm=(e,o)=>function(){return o=e?(0,e[__getOwnPropNames(e)[0]])(e=0):o},__commonJS=(e,o)=>function(){return o||(0,e[__getOwnPropNames(e)[0]])((o={exports:{}}).exports,o),o.exports},__export=(e,o)=>{for(var t in o)__defProp(e,t,{get:o[t],enumerable:!0})},__copyProps=(o,t,r,n)=>{if(t&&\\\"object\\\"==typeof t||\\\"function\\\"==typeof t)for(let e of __getOwnPropNames(t))__hasOwnProp.call(o,e)||e===r||__defProp(o,e,{get:()=>t[e],enumerable:!(n=__getOwnPropDesc(t,e))||n.enumerable});return o},__toESM=(e,o,t)=>(t=null!=e?__create(__getProtoOf(e)):{},__copyProps(!o&&e&&e.__esModule?t:__defProp(t,\\\"default\\\",{value:e,enumerable:!0}),e)),__toCommonJS=e=>__copyProps(__defProp({},\\\"__esModule\\\",{value:!0}),e),init_esbuild_inject=__esm({\\\"node_modules/.pnpm/tiddlywiki-plugin-dev@0.2.0_postcss@8.4.38_ts-node@10.9.2_@types+node@20.12.12_typescript@5.4.5_/node_modules/tiddlywiki-plugin-dev/dist/js/esbuild-inject.js\\\"(){}}),require_freeGlobal=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_freeGlobal.js\\\"(e,o){init_esbuild_inject();var t=\\\"object\\\"==typeof global&&global&&global.Object===Object&&global;o.exports=t}}),require_root=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_root.js\\\"(e,o){init_esbuild_inject();var t=require_freeGlobal(),r=\\\"object\\\"==typeof self&&self&&self.Object===Object&&self,t=t||r||Function(\\\"return this\\\")();o.exports=t}}),require_Symbol=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Symbol.js\\\"(e,o){init_esbuild_inject();var t=require_root().Symbol;o.exports=t}}),require_getRawTag=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getRawTag.js\\\"(e,o){init_esbuild_inject();var t=require_Symbol(),r=Object.prototype,s=r.hasOwnProperty,_=r.toString,a=t?t.toStringTag:void 0;o.exports=function(e){var o=s.call(e,a),t=e[a];try{var r=!(e[a]=void 0)}catch(i){}var n=_.call(e);return r&&(o?e[a]=t:delete e[a]),n}}}),require_objectToString=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_objectToString.js\\\"(e,o){init_esbuild_inject();var t=Object.prototype.toString;o.exports=function(e){return t.call(e)}}}),require_baseGetTag=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseGetTag.js\\\"(e,o){init_esbuild_inject();var t=require_Symbol(),r=require_getRawTag(),n=require_objectToString(),i=t?t.toStringTag:void 0;o.exports=function(e){return null==e?void 0===e?\\\"[object Undefined]\\\":\\\"[object Null]\\\":(i&&i in Object(e)?r:n)(e)}}}),require_isObject=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isObject.js\\\"(e,o){init_esbuild_inject(),o.exports=function(e){var o=typeof e;return null!=e&&(\\\"object\\\"==o||\\\"function\\\"==o)}}}),require_isFunction=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isFunction.js\\\"(e,o){init_esbuild_inject();var t=require_baseGetTag(),r=require_isObject();o.exports=function(e){var o;return!!r(e)&&(\\\"[object Function]\\\"==(o=t(e))||\\\"[object GeneratorFunction]\\\"==o||\\\"[object AsyncFunction]\\\"==o||\\\"[object Proxy]\\\"==o)}}}),require_coreJsData=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_coreJsData.js\\\"(e,o){init_esbuild_inject();var t=require_root()[\\\"__core-js_shared__\\\"];o.exports=t}}),require_isMasked=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isMasked.js\\\"(e,o){init_esbuild_inject();var t=require_coreJsData(),r=(t=/[^.]+$/.exec(t&&t.keys&&t.keys.IE_PROTO||\\\"\\\"))?\\\"Symbol(src)_1.\\\"+t:\\\"\\\";o.exports=function(e){return!!r&&r in e}}}),require_toSource=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_toSource.js\\\"(e,o){init_esbuild_inject();var t=Function.prototype.toString;o.exports=function(e){if(null!=e){try{return t.call(e)}catch(o){}try{return e+\\\"\\\"}catch(o){}}return\\\"\\\"}}}),require_baseIsNative=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsNative.js\\\"(e,o){init_esbuild_inject();var t=require_isFunction(),r=require_isMasked(),n=require_isObject(),i=require_toSource(),s=/^\\\\[object .+?Constructor\\\\]$/,_=Function.prototype,a=Object.prototype,_=_.toString,a=a.hasOwnProperty,l=RegExp(\\\"^\\\"+_.call(a).replace(/[\\\\\\\\^$.*+?()[\\\\]{}|]/g,\\\"\\\\\\\\$&\\\").replace(/hasOwnProperty|(function).*?(?=\\\\\\\\\\\\()| for .+?(?=\\\\\\\\\\\\])/g,\\\"$1.*?\\\")+\\\"$\\\");o.exports=function(e){return!(!n(e)||r(e))&&(t(e)?l:s).test(i(e))}}}),require_getValue=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getValue.js\\\"(e,o){init_esbuild_inject(),o.exports=function(e,o){return null==e?void 0:e[o]}}}),require_getNative=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getNative.js\\\"(e,o){init_esbuild_inject();var r=require_baseIsNative(),n=require_getValue();o.exports=function(e,o){var t=n(e,o);return r(t)?t:void 0}}}),require_nativeCreate=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_nativeCreate.js\\\"(e,o){init_esbuild_inject();var t=require_getNative()(Object,\\\"create\\\");o.exports=t}}),require_hashClear=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashClear.js\\\"(e,o){init_esbuild_inject();var t=require_nativeCreate();o.exports=function(){this.__data__=t?t(null):{},this.size=0}}}),require_hashDelete=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashDelete.js\\\"(e,o){init_esbuild_inject(),o.exports=function(e){var o=this.has(e)&&delete this.__data__[e];return this.size-=o?1:0,o}}}),require_hashGet=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashGet.js\\\"(e,o){init_esbuild_inject();var r=require_nativeCreate(),n=Object.prototype.hasOwnProperty;o.exports=function(e){var o,t=this.__data__;return r?\\\"__lodash_hash_undefined__\\\"===(o=t[e])?void 0:o:n.call(t,e)?t[e]:void 0}}}),require_hashHas=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashHas.js\\\"(e,o){init_esbuild_inject();var t=require_nativeCreate(),r=Object.prototype.hasOwnProperty;o.exports=function(e){var o=this.__data__;return t?void 0!==o[e]:r.call(o,e)}}}),require_hashSet=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashSet.js\\\"(e,o){init_esbuild_inject();var r=require_nativeCreate();o.exports=function(e,o){var t=this.__data__;return this.size+=this.has(e)?0:1,t[e]=r&&void 0===o?\\\"__lodash_hash_undefined__\\\":o,this}}}),require_Hash=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Hash.js\\\"(e,o){init_esbuild_inject();var t=require_hashClear(),r=require_hashDelete(),n=require_hashGet(),i=require_hashHas(),s=require_hashSet();function _(e){var o=-1,t=null==e?0:e.length;for(this.clear();++oplugin}),module.exports=__toCommonJS(search_story_history_exports),init_esbuild_inject(),__toESM(require_uniq())),systemPrefixes=(init_esbuild_inject(),null==(_d=null==(_c=null==(_b=null==(_a=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/System\\\"))?void 0:_a.fields)?void 0:_b[\\\"command-palette-prefix\\\"])?void 0:_c.split(\\\" \\\"))?void 0:_d.filter(Boolean)),filterPrefix=null==(_b2=null==(_a2=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Filter\\\"))?void 0:_a2.fields)?void 0:_b2[\\\"command-palette-prefix\\\"],tagsPrefix=null==(_b3=null==(_a3=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Tags\\\"))?void 0:_a3.fields)?void 0:_b3[\\\"command-palette-prefix\\\"],helpPrefix=null==(_b4=null==(_a4=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Help\\\"))?void 0:_a4.fields)?void 0:_b4[\\\"command-palette-prefix\\\"];function checkIsSearchUser(e){var o=e.query[0];return!(null!=systemPrefixes&&systemPrefixes.includes(o)||[filterPrefix,tagsPrefix,helpPrefix].includes(o))}function checkIsUnderFilter(e){return Boolean(e.state.context.filter)}init_esbuild_inject();var lingoBase=\\\"$:/plugins/linonetwo/commandpalette/language/\\\";function lingo(e){const o=$tw.wiki.filterTiddlers(\\\"[[$:/language]get[text]get[name]else[en-GB]]\\\")[0];return $tw.wiki.getGlobalCache(\\\"lingo-\\\".concat(o,\\\"-\\\").concat(e),()=>$tw.wiki.getTiddlerText(\\\"\\\".concat(lingoBase).concat(o,\\\"/\\\").concat(e),e))}function renderTextWithCache(e,o,t){return void 0===e||\\\"string\\\"!=typeof e?\\\"\\\":$tw.wiki.getGlobalCache(\\\"wikify-\\\".concat(e),()=>$tw.wiki.renderText(\\\"text/plain\\\",\\\"text/vnd.tiddlywiki\\\",\\\"\\\\\\\\import [[$:/core/macros/lingo]]\\\\n\\\\n\\\".concat(e),{parentWidget:o,variables:t}))}init_esbuild_inject();var plugin={getSources(e){const o=e.state.context[\\\"widget\\\"];return!checkIsSearchUser(e)||checkIsUnderFilter(e)?[]:[{sourceId:\\\"story-history\\\",getItems({query:e}){var o=null!=(o=$tw.wiki.getTiddlerData(\\\"$:/HistoryList\\\"))?o:[],o=(0,import_uniq[\\\"default\\\"])([...o.reverse().map(e=>e.title),...$tw.wiki.filterTiddlers(\\\"[list[$:/StoryList]]\\\")]);let t=[];var[o,r,...n]=(t=void 0===$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/pinyin-fuzzy-search/pinyin-fuzzy-search.js\\\")?$tw.wiki.filterTiddlers(\\\"[search:title[\\\".concat(e,\\\"]]\\\"),void 0,$tw.wiki.makeTiddlerIterator(o)):$tw.wiki.filterTiddlers(\\\"[pinyinfuse[\\\".concat(e,\\\"]]\\\"),void 0,$tw.wiki.makeTiddlerIterator(o))).map(e=>{var o;return null==(o=$tw.wiki.getTiddler(e))?void 0:o.fields}).filter(Boolean);return[r,o,...n].filter(Boolean)},getItemUrl({item:e}){return e.title},templates:{header(){return lingo(\\\"StoryHistory\\\")},item({item:e}){return\\\"string\\\"==typeof e.caption&&\\\"\\\"!==e.caption?\\\"\\\".concat(renderTextWithCache(e.caption,o),\\\" (\\\").concat(e.title,\\\")\\\"):e.title}}}]}};\"},\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-system-title.js\":{\"title\":\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-system-title.js\",\"tags\":\"$:/tags/CommandPalettePlugin\",\"type\":\"application/javascript\",\"module-type\":\"library\",\"priority\":\"5\",\"Modern.TiddlyDev#Origin\":\"widgets/build-in-sub-plugins/search-system-title.ts\",\"text\":\"\\\"use strict\\\";var _a,_b,_c,_d,_a2,_b2,_a3,_b3,_a4,_b4,_a5,_b5,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var i in t)__defProp(e,i,{get:t[i],enumerable:!0})},__copyProps=(t,i,r,o)=>{if(i&&\\\"object\\\"==typeof i||\\\"function\\\"==typeof i)for(let e of __getOwnPropNames(i))__hasOwnProp.call(t,e)||e===r||__defProp(t,e,{get:()=>i[e],enumerable:!(o=__getOwnPropDesc(i,e))||o.enumerable});return t},__toCommonJS=e=>__copyProps(__defProp({},\\\"__esModule\\\",{value:!0}),e),search_system_title_exports={},systemPrefixes=(__export(search_system_title_exports,{plugin:()=>plugin}),module.exports=__toCommonJS(search_system_title_exports),null==(_d=null==(_c=null==(_b=null==(_a=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/System\\\"))?void 0:_a.fields)?void 0:_b[\\\"command-palette-prefix\\\"])?void 0:_c.split(\\\" \\\"))?void 0:_d.filter(Boolean)),filterPrefix=null==(_b2=null==(_a2=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Filter\\\"))?void 0:_a2.fields)?void 0:_b2[\\\"command-palette-prefix\\\"],tagsPrefix=null==(_b3=null==(_a3=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Tags\\\"))?void 0:_a3.fields)?void 0:_b3[\\\"command-palette-prefix\\\"],helpPrefix=null==(_b4=null==(_a4=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Help\\\"))?void 0:_a4.fields)?void 0:_b4[\\\"command-palette-prefix\\\"];function checkIsSearchSystem(e){return Boolean(null==systemPrefixes?void 0:systemPrefixes.includes(e.query[0]))}function checkIsUnderFilter(e){return Boolean(e.state.context.filter)}var _a6,_b6,isInTidGiDesktop=\\\"undefined\\\"!=typeof document&&(null==(_b5=null==(_a5=null==document?void 0:document.location)?void 0:_a5.protocol)?void 0:_b5.startsWith(\\\"tidgi\\\")),tidGiWorkspaceID=null==(_b6=null==(_a6=window.meta)?void 0:_a6.call(window))?void 0:_b6.workspaceID;async function filterTiddlersAsync(t,i,r){if(isInTidGiDesktop&&\\\"service\\\"in window){var o=window.service.wiki;let e;!0===i&&(e=await o.wikiOperationInServer(\\\"wiki-get-tiddler-text\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]),await o.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",\\\"yes\\\"]));var n=await o.callWikiIpcServerRoute(tidGiWorkspaceID,\\\"getTiddlersJSON\\\",t,r);return!0===i&&(void 0===e?await o.wikiOperationInServer(\\\"wiki-delete-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]):await o.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",e])),n.data}return $tw.wiki.filterTiddlers(t).map(e=>{var t;return null==(t=$tw.wiki.getTiddler(e))?void 0:t.fields}).filter(Boolean)}var lingoBase=\\\"$:/plugins/linonetwo/commandpalette/language/\\\";function lingo(e){const t=$tw.wiki.filterTiddlers(\\\"[[$:/language]get[text]get[name]else[en-GB]]\\\")[0];return $tw.wiki.getGlobalCache(\\\"lingo-\\\".concat(t,\\\"-\\\").concat(e),()=>$tw.wiki.getTiddlerText(\\\"\\\".concat(lingoBase).concat(t,\\\"/\\\").concat(e),e))}var plugin={getSources(e){return 0===e.query.length||!checkIsSearchSystem(e)||checkIsUnderFilter(e)?[]:[{sourceId:\\\"system-title\\\",async getItems({query:e}){return\\\"\\\"===e?[]:filterTiddlersAsync(\\\"[all[tiddlers+shadows]is[system]search[\\\".concat(e,\\\"]]\\\"),!0)},getItemUrl({item:e}){return e.title},templates:{header(){return lingo(\\\"SystemTitle\\\")},item({item:e}){return\\\"string\\\"==typeof e.caption&&\\\"\\\"!==e.caption?\\\"\\\".concat(e.caption,\\\" (\\\").concat(e.title,\\\")\\\"):e.title}}}]}};\"},\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-tags.js\":{\"title\":\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-tags.js\",\"tags\":\"$:/tags/CommandPalettePlugin\",\"type\":\"application/javascript\",\"module-type\":\"library\",\"priority\":\"0\",\"Modern.TiddlyDev#Origin\":\"widgets/build-in-sub-plugins/search-tags.ts\",\"text\":\"\\\"use strict\\\";var _a,_b,_c,_d,_a2,_b2,_a3,_b3,_a4,_b4,_a5,_b5,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var i in t)__defProp(e,i,{get:t[i],enumerable:!0})},__copyProps=(t,i,r,o)=>{if(i&&\\\"object\\\"==typeof i||\\\"function\\\"==typeof i)for(let e of __getOwnPropNames(i))__hasOwnProp.call(t,e)||e===r||__defProp(t,e,{get:()=>i[e],enumerable:!(o=__getOwnPropDesc(i,e))||o.enumerable});return t},__toCommonJS=e=>__copyProps(__defProp({},\\\"__esModule\\\",{value:!0}),e),search_tags_exports={},systemPrefixes=(__export(search_tags_exports,{plugin:()=>plugin}),module.exports=__toCommonJS(search_tags_exports),null==(_d=null==(_c=null==(_b=null==(_a=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/System\\\"))?void 0:_a.fields)?void 0:_b[\\\"command-palette-prefix\\\"])?void 0:_c.split(\\\" \\\"))?void 0:_d.filter(Boolean)),filterPrefix=null==(_b2=null==(_a2=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Filter\\\"))?void 0:_a2.fields)?void 0:_b2[\\\"command-palette-prefix\\\"],tagsPrefix=null==(_b3=null==(_a3=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Tags\\\"))?void 0:_a3.fields)?void 0:_b3[\\\"command-palette-prefix\\\"],helpPrefix=null==(_b4=null==(_a4=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Help\\\"))?void 0:_a4.fields)?void 0:_b4[\\\"command-palette-prefix\\\"];function checkIsSearchTags(e){return e.query[0]===tagsPrefix}var _a6,_b6,isInTidGiDesktop=\\\"undefined\\\"!=typeof document&&(null==(_b5=null==(_a5=null==document?void 0:document.location)?void 0:_a5.protocol)?void 0:_b5.startsWith(\\\"tidgi\\\")),tidGiWorkspaceID=null==(_b6=null==(_a6=window.meta)?void 0:_a6.call(window))?void 0:_b6.workspaceID;async function filterTiddlersAsync(t,i,r){if(isInTidGiDesktop&&\\\"service\\\"in window){var o=window.service.wiki;let e;!0===i&&(e=await o.wikiOperationInServer(\\\"wiki-get-tiddler-text\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]),await o.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",\\\"yes\\\"]));var n=await o.callWikiIpcServerRoute(tidGiWorkspaceID,\\\"getTiddlersJSON\\\",t,r);return!0===i&&(void 0===e?await o.wikiOperationInServer(\\\"wiki-delete-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]):await o.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",e])),n.data}return $tw.wiki.filterTiddlers(t).map(e=>{var t;return null==(t=$tw.wiki.getTiddler(e))?void 0:t.fields}).filter(Boolean)}var lingoBase=\\\"$:/plugins/linonetwo/commandpalette/language/\\\";function lingo(e){const t=$tw.wiki.filterTiddlers(\\\"[[$:/language]get[text]get[name]else[en-GB]]\\\")[0];return $tw.wiki.getGlobalCache(\\\"lingo-\\\".concat(t,\\\"-\\\").concat(e),()=>$tw.wiki.getTiddlerText(\\\"\\\".concat(lingoBase).concat(t,\\\"/\\\").concat(e),e))}var plugin={getSources(i){return 0!==i.query.length&&checkIsSearchTags(i)?[{sourceId:\\\"tags\\\",async getItems({query:e}){return filterTiddlersAsync(\\\"[tags[]search[\\\".concat(e.slice(1),\\\"]]\\\"),!0)},getItemUrl({item:e}){return e.title},onSelect({item:e}){var t=\\\"[tag[\\\".concat(e.title,\\\"]]\\\");i.setContext({newQuery:\\\"\\\",noClose:!0,noNavigate:!0,filter:t})},templates:{header(){return lingo(\\\"Tags\\\")},item({item:e}){return\\\"string\\\"==typeof e.caption&&\\\"\\\"!==e.caption?\\\"\\\".concat(e.caption,\\\" (\\\").concat(e.title,\\\")\\\"):e.title},noResults(){return lingo(\\\"NoResult\\\")}}}]:[]}};\"},\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-user-text.js\":{\"title\":\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-user-text.js\",\"tags\":\"$:/tags/CommandPalettePlugin\",\"type\":\"application/javascript\",\"module-type\":\"library\",\"priority\":\"15\",\"Modern.TiddlyDev#Origin\":\"widgets/build-in-sub-plugins/search-user-text.ts\",\"text\":\"\\\"use strict\\\";var _a,_b,_c,_d,_a2,_b2,_a3,_b3,_a4,_b4,_a5,_b5,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var i in t)__defProp(e,i,{get:t[i],enumerable:!0})},__copyProps=(t,i,r,n)=>{if(i&&\\\"object\\\"==typeof i||\\\"function\\\"==typeof i)for(let e of __getOwnPropNames(i))__hasOwnProp.call(t,e)||e===r||__defProp(t,e,{get:()=>i[e],enumerable:!(n=__getOwnPropDesc(i,e))||n.enumerable});return t},__toCommonJS=e=>__copyProps(__defProp({},\\\"__esModule\\\",{value:!0}),e),search_user_text_exports={},systemPrefixes=(__export(search_user_text_exports,{plugin:()=>plugin}),module.exports=__toCommonJS(search_user_text_exports),null==(_d=null==(_c=null==(_b=null==(_a=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/System\\\"))?void 0:_a.fields)?void 0:_b[\\\"command-palette-prefix\\\"])?void 0:_c.split(\\\" \\\"))?void 0:_d.filter(Boolean)),filterPrefix=null==(_b2=null==(_a2=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Filter\\\"))?void 0:_a2.fields)?void 0:_b2[\\\"command-palette-prefix\\\"],tagsPrefix=null==(_b3=null==(_a3=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Tags\\\"))?void 0:_a3.fields)?void 0:_b3[\\\"command-palette-prefix\\\"],helpPrefix=null==(_b4=null==(_a4=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Help\\\"))?void 0:_a4.fields)?void 0:_b4[\\\"command-palette-prefix\\\"];function checkIsSearchUser(e){var t=e.query[0];return!(null!=systemPrefixes&&systemPrefixes.includes(t)||[filterPrefix,tagsPrefix,helpPrefix].includes(t))}function checkIsUnderFilter(e){return Boolean(e.state.context.filter)}var _a6,_b6,isInTidGiDesktop=\\\"undefined\\\"!=typeof document&&(null==(_b5=null==(_a5=null==document?void 0:document.location)?void 0:_a5.protocol)?void 0:_b5.startsWith(\\\"tidgi\\\")),tidGiWorkspaceID=null==(_b6=null==(_a6=window.meta)?void 0:_a6.call(window))?void 0:_b6.workspaceID;async function filterTiddlersAsync(t,i,r){if(isInTidGiDesktop&&\\\"service\\\"in window){var n=window.service.wiki;let e;!0===i&&(e=await n.wikiOperationInServer(\\\"wiki-get-tiddler-text\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]),await n.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",\\\"yes\\\"]));var l=await n.callWikiIpcServerRoute(tidGiWorkspaceID,\\\"getTiddlersJSON\\\",t,r);return!0===i&&(void 0===e?await n.wikiOperationInServer(\\\"wiki-delete-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]):await n.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",e])),l.data}return $tw.wiki.filterTiddlers(t).map(e=>{var t;return null==(t=$tw.wiki.getTiddler(e))?void 0:t.fields}).filter(Boolean)}function getFieldsAsText(){return $tw.wiki.getTiddlerText(\\\"$:/plugins/linonetwo/commandpalette/configs/TextAlias\\\",\\\"text\\\").split(\\\" \\\").filter(Boolean).join(\\\",\\\")}var lingoBase=\\\"$:/plugins/linonetwo/commandpalette/language/\\\";function lingo(e){const t=$tw.wiki.filterTiddlers(\\\"[[$:/language]get[text]get[name]else[en-GB]]\\\")[0];return $tw.wiki.getGlobalCache(\\\"lingo-\\\".concat(t,\\\"-\\\").concat(e),()=>$tw.wiki.getTiddlerText(\\\"\\\".concat(lingoBase).concat(t,\\\"/\\\").concat(e),e))}var plugin={getSources(e){return 0===e.query.length||!checkIsSearchUser(e)||checkIsUnderFilter(e)?[]:[{sourceId:\\\"text\\\",async getItems({query:e}){return\\\"\\\"===e?[]:filterTiddlersAsync(\\\"[all[tiddlers]!is[system]]:filter[has[text]get[text]!compare:string:eq[]]+[search:\\\".concat(getFieldsAsText(),\\\"[\\\").concat(e,\\\"]]\\\"),!1,[])},getItemUrl({item:e}){return e.title},templates:{header(){return lingo(\\\"UserText\\\")},item({item:e,createElement:t,state:i}){var r=\\\"string\\\"==typeof e.caption&&\\\"\\\"!==e.caption?\\\"\\\".concat(e.caption,\\\" (\\\").concat(e.title,\\\")\\\"):e.title;let n=\\\"\\\";var l,o,a,s,d,c=e.text.indexOf(i.query);return-1!==c&&(o=0<(s=Math.max(0,c-30))?\\\"...\\\":\\\"\\\",a=(l=Math.min(e.text.length,c+i.query.length+30))\\\").concat(d,\\\"\\\").concat(c).concat(a)),t(\\\"div\\\",{style:\\\"display:flex;flex-direction:column;\\\"},[t(\\\"div\\\",{style:\\\"margin-bottom:0.25em;\\\"},r),t(\\\"div\\\",{},[t(\\\"small\\\",{innerHTML:n})])])}}}]}};\"},\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-user-title-pinyin.js\":{\"title\":\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-user-title-pinyin.js\",\"tags\":\"$:/tags/CommandPalettePlugin\",\"type\":\"application/javascript\",\"module-type\":\"library\",\"priority\":\"10\",\"Modern.TiddlyDev#Origin\":\"widgets/build-in-sub-plugins/search-user-title-pinyin.ts\",\"text\":\"\\\"use strict\\\";var _a,_b,_c,_d,_a2,_b2,_a3,_b3,_a4,_b4,_a5,_b5,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,i)=>{for(var t in i)__defProp(e,t,{get:i[t],enumerable:!0})},__copyProps=(i,t,n,r)=>{if(t&&\\\"object\\\"==typeof t||\\\"function\\\"==typeof t)for(let e of __getOwnPropNames(t))__hasOwnProp.call(i,e)||e===n||__defProp(i,e,{get:()=>t[e],enumerable:!(r=__getOwnPropDesc(t,e))||r.enumerable});return i},__toCommonJS=e=>__copyProps(__defProp({},\\\"__esModule\\\",{value:!0}),e),search_user_title_pinyin_exports={},systemPrefixes=(__export(search_user_title_pinyin_exports,{plugin:()=>plugin}),module.exports=__toCommonJS(search_user_title_pinyin_exports),null==(_d=null==(_c=null==(_b=null==(_a=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/System\\\"))?void 0:_a.fields)?void 0:_b[\\\"command-palette-prefix\\\"])?void 0:_c.split(\\\" \\\"))?void 0:_d.filter(Boolean)),filterPrefix=null==(_b2=null==(_a2=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Filter\\\"))?void 0:_a2.fields)?void 0:_b2[\\\"command-palette-prefix\\\"],tagsPrefix=null==(_b3=null==(_a3=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Tags\\\"))?void 0:_a3.fields)?void 0:_b3[\\\"command-palette-prefix\\\"],helpPrefix=null==(_b4=null==(_a4=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Help\\\"))?void 0:_a4.fields)?void 0:_b4[\\\"command-palette-prefix\\\"];function checkIsSearchUser(e){var i=e.query[0];return!(null!=systemPrefixes&&systemPrefixes.includes(i)||[filterPrefix,tagsPrefix,helpPrefix].includes(i))}function checkIsUnderFilter(e){return Boolean(e.state.context.filter)}var _a6,_b6,isInTidGiDesktop=\\\"undefined\\\"!=typeof document&&(null==(_b5=null==(_a5=null==document?void 0:document.location)?void 0:_a5.protocol)?void 0:_b5.startsWith(\\\"tidgi\\\")),tidGiWorkspaceID=null==(_b6=null==(_a6=window.meta)?void 0:_a6.call(window))?void 0:_b6.workspaceID;async function filterTiddlersAsync(i,t,n){if(isInTidGiDesktop&&\\\"service\\\"in window){var r=window.service.wiki;let e;!0===t&&(e=await r.wikiOperationInServer(\\\"wiki-get-tiddler-text\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]),await r.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",\\\"yes\\\"]));var l=await r.callWikiIpcServerRoute(tidGiWorkspaceID,\\\"getTiddlersJSON\\\",i,n);return!0===t&&(void 0===e?await r.wikiOperationInServer(\\\"wiki-delete-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]):await r.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",e])),l.data}return $tw.wiki.filterTiddlers(i).map(e=>{var i;return null==(i=$tw.wiki.getTiddler(e))?void 0:i.fields}).filter(Boolean)}function getFieldsAsTitle(){return $tw.wiki.getTiddlerText(\\\"$:/plugins/linonetwo/commandpalette/configs/TitleAlias\\\",\\\"title caption\\\").split(\\\" \\\").filter(Boolean).join(\\\",\\\")}var lingoBase=\\\"$:/plugins/linonetwo/commandpalette/language/\\\";function lingo(e){const i=$tw.wiki.filterTiddlers(\\\"[[$:/language]get[text]get[name]else[en-GB]]\\\")[0];return $tw.wiki.getGlobalCache(\\\"lingo-\\\".concat(i,\\\"-\\\").concat(e),()=>$tw.wiki.getTiddlerText(\\\"\\\".concat(lingoBase).concat(i,\\\"/\\\").concat(e),e))}var plugin={getSources(e){var i,t;return!checkIsSearchUser(e)||checkIsUnderFilter(e)||void 0===$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/pinyin-fuzzy-search/pinyin-fuzzy-search.js\\\")||null!=(t=(i=$tw.utils).containsChinese)&&t.call(i,e.query)||0===e.query.length?[]:[{sourceId:\\\"title-pinyin\\\",async getItems({query:e}){return\\\"\\\"===e?[]:filterTiddlersAsync(\\\"[all[tiddlers]!is[system]pinyinfuse:\\\".concat(getFieldsAsTitle(),\\\"[\\\").concat(e,\\\"]]\\\"))},getItemUrl({item:e}){return e.title},templates:{header(){return lingo(\\\"UserTitlePinyin\\\")},item({item:e}){return\\\"string\\\"==typeof e.caption&&\\\"\\\"!==e.caption?\\\"\\\".concat(e.caption,\\\" (\\\").concat(e.title,\\\")\\\"):e.title}}}]}};\"},\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-user-title.js\":{\"title\":\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-user-title.js\",\"tags\":\"$:/tags/CommandPalettePlugin\",\"type\":\"application/javascript\",\"module-type\":\"library\",\"priority\":\"5\",\"Modern.TiddlyDev#Origin\":\"widgets/build-in-sub-plugins/search-user-title.ts\",\"text\":\"\\\"use strict\\\";var _a,_b,_c,_d,_a2,_b2,_a3,_b3,_a4,_b4,_a5,_b5,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var i in t)__defProp(e,i,{get:t[i],enumerable:!0})},__copyProps=(t,i,r,n)=>{if(i&&\\\"object\\\"==typeof i||\\\"function\\\"==typeof i)for(let e of __getOwnPropNames(i))__hasOwnProp.call(t,e)||e===r||__defProp(t,e,{get:()=>i[e],enumerable:!(n=__getOwnPropDesc(i,e))||n.enumerable});return t},__toCommonJS=e=>__copyProps(__defProp({},\\\"__esModule\\\",{value:!0}),e),search_user_title_exports={},systemPrefixes=(__export(search_user_title_exports,{plugin:()=>plugin}),module.exports=__toCommonJS(search_user_title_exports),null==(_d=null==(_c=null==(_b=null==(_a=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/System\\\"))?void 0:_a.fields)?void 0:_b[\\\"command-palette-prefix\\\"])?void 0:_c.split(\\\" \\\"))?void 0:_d.filter(Boolean)),filterPrefix=null==(_b2=null==(_a2=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Filter\\\"))?void 0:_a2.fields)?void 0:_b2[\\\"command-palette-prefix\\\"],tagsPrefix=null==(_b3=null==(_a3=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Tags\\\"))?void 0:_a3.fields)?void 0:_b3[\\\"command-palette-prefix\\\"],helpPrefix=null==(_b4=null==(_a4=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Help\\\"))?void 0:_a4.fields)?void 0:_b4[\\\"command-palette-prefix\\\"];function checkIsSearchUser(e){var t=e.query[0];return!(null!=systemPrefixes&&systemPrefixes.includes(t)||[filterPrefix,tagsPrefix,helpPrefix].includes(t))}function checkIsUnderFilter(e){return Boolean(e.state.context.filter)}var _a6,_b6,isInTidGiDesktop=\\\"undefined\\\"!=typeof document&&(null==(_b5=null==(_a5=null==document?void 0:document.location)?void 0:_a5.protocol)?void 0:_b5.startsWith(\\\"tidgi\\\")),tidGiWorkspaceID=null==(_b6=null==(_a6=window.meta)?void 0:_a6.call(window))?void 0:_b6.workspaceID;async function filterTiddlersAsync(t,i,r){if(isInTidGiDesktop&&\\\"service\\\"in window){var n=window.service.wiki;let e;!0===i&&(e=await n.wikiOperationInServer(\\\"wiki-get-tiddler-text\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]),await n.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",\\\"yes\\\"]));var l=await n.callWikiIpcServerRoute(tidGiWorkspaceID,\\\"getTiddlersJSON\\\",t,r);return!0===i&&(void 0===e?await n.wikiOperationInServer(\\\"wiki-delete-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]):await n.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",e])),l.data}return $tw.wiki.filterTiddlers(t).map(e=>{var t;return null==(t=$tw.wiki.getTiddler(e))?void 0:t.fields}).filter(Boolean)}function getFieldsAsTitle(){return $tw.wiki.getTiddlerText(\\\"$:/plugins/linonetwo/commandpalette/configs/TitleAlias\\\",\\\"title caption\\\").split(\\\" \\\").filter(Boolean).join(\\\",\\\")}var lingoBase=\\\"$:/plugins/linonetwo/commandpalette/language/\\\";function lingo(e){const t=$tw.wiki.filterTiddlers(\\\"[[$:/language]get[text]get[name]else[en-GB]]\\\")[0];return $tw.wiki.getGlobalCache(\\\"lingo-\\\".concat(t,\\\"-\\\").concat(e),()=>$tw.wiki.getTiddlerText(\\\"\\\".concat(lingoBase).concat(t,\\\"/\\\").concat(e),e))}var plugin={getSources(e){return 0===e.query.length||!checkIsSearchUser(e)||checkIsUnderFilter(e)?[]:[{sourceId:\\\"title\\\",async getItems({query:e}){return\\\"\\\"===e?[]:filterTiddlersAsync(\\\"[all[tiddlers]!is[system]search:\\\".concat(getFieldsAsTitle(),\\\"[\\\").concat(e,\\\"]]\\\"))},getItemUrl({item:e}){return e.title},templates:{header(){return lingo(\\\"UserTitle\\\")},item({item:e}){return\\\"string\\\"==typeof e.caption&&\\\"\\\"!==e.caption?\\\"\\\".concat(e.caption,\\\" (\\\").concat(e.title,\\\")\\\"):e.title}}}]}};\"},\"$:/plugins/linonetwo/commandpalette/widget/widget.js\":{\"title\":\"$:/plugins/linonetwo/commandpalette/widget/widget.js\",\"type\":\"application/javascript\",\"module-type\":\"widget\",\"Modern.TiddlyDev#Origin\":\"widgets/widget.ts\",\"text\":\"\\\"use strict\\\";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__esm=(e,t)=>function(){return t=e?(0,e[__getOwnPropNames(e)[0]])(e=0):t},__commonJS=(e,t)=>function(){return t||(0,e[__getOwnPropNames(e)[0]])((t={exports:{}}).exports,t),t.exports},__copyProps=(t,r,n,o)=>{if(r&&\\\"object\\\"==typeof r||\\\"function\\\"==typeof r)for(let e of __getOwnPropNames(r))__hasOwnProp.call(t,e)||e===n||__defProp(t,e,{get:()=>r[e],enumerable:!(o=__getOwnPropDesc(r,e))||o.enumerable});return t},__toESM=(e,t,r)=>(r=null!=e?__create(__getProtoOf(e)):{},__copyProps(!t&&e&&e.__esModule?r:__defProp(r,\\\"default\\\",{value:e,enumerable:!0}),e)),init_esbuild_inject=__esm({\\\"node_modules/.pnpm/tiddlywiki-plugin-dev@0.2.0_postcss@8.4.38_ts-node@10.9.2_@types+node@20.12.12_typescript@5.4.5_/node_modules/tiddlywiki-plugin-dev/dist/js/esbuild-inject.js\\\"(){}}),require_key_master=__commonJS({\\\"node_modules/.pnpm/key-master@4.1.0/node_modules/key-master/index.js\\\"(e,t){init_esbuild_inject(),t.exports=function(t,r=new Map){return{has:e=>r.has(e),get:e=>(r.has(e)||r.set(e,t(e)),r.get(e)),\\\"delete\\\":e=>r[\\\"delete\\\"](e),set:(e,t)=>{r.set(e,t)},getUnderlyingDataStructure:()=>r}}}}),require_dist=__commonJS({\\\"node_modules/.pnpm/insular-observer@0.1.1/node_modules/insular-observer/dist/index.js\\\"(e,t){init_esbuild_inject();var r=require_key_master();t.exports=(e,t)=>{const o=r(()=>[],new WeakMap);const i=new e(e=>{e.forEach(t=>{o.get(t.target).forEach(e=>e(t))})},t);return function(t,e,r){\\\"function\\\"==typeof e&&(r=e,e=void 0);const n=o.get(t);return n.push(r),i.observe(t,e),function(){var e=n.indexOf(r);if(n.splice(e,1),0===n.length)return o[\\\"delete\\\"](t),i.unobserve&&i.unobserve(t)}}}}}),require_visibility_observer=__commonJS({\\\"node_modules/.pnpm/@seznam+visibility-observer@1.1.0/node_modules/@seznam/visibility-observer/index.js\\\"(e){init_esbuild_inject();var t=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{\\\"default\\\":e}},o=(Object.defineProperty(e,\\\"__esModule\\\",{value:!0}),t(require_dist())),r=t(require_key_master()),f=\\\"undefined\\\"!=typeof document?document.createElement(\\\"div\\\"):{},d=r[\\\"default\\\"](()=>r[\\\"default\\\"](()=>new Map,new WeakMap),new WeakMap);function y(e,t,r=null){var n,o,i,a=d.getUnderlyingDataStructure().get(r||f);a&&(n=a.getUnderlyingDataStructure().get(e))&&(i=n.get(o=t))&&(i.unobserve(),n[\\\"delete\\\"](o),n.size||a[\\\"delete\\\"](e))}e.observe=function(e,t,r={}){({once:a,root:u,rootMargin:o,threshold:i}=r);const n={once:!!a,root:u||f,rootMargin:function(e){var t=(\\\"number\\\"==typeof e?\\\"\\\".concat(e,\\\"px\\\"):e).trim().split(/\\\\s+/);if(4y(e,t,n.root);if(s){if(a=n,u=s,a.rootMargin===u.rootMargin&&a.threshold===u.threshold&&a.once===u.once)return p;p()}return s=m(n)(e,r.once?(function(e,t){t.isIntersecting&&(y(t.target,e),e(t))}).bind(null,c):c),l.set(c,{...n,unobserve:s}),p},e.unobserve=y;var m=(()=>{const n=r[\\\"default\\\"](()=>new Map,new WeakMap);return e=>{var t=\\\"\\\".concat(e.rootMargin,\\\";\\\").concat(e.threshold),r=n.get(e.root).get(t);return r||(r=o[\\\"default\\\"](IntersectionObserver,{...e,root:e.root===f?null:e.root}),n.get(e.root).set(t,r),r)}})()}}),import_modal=(init_esbuild_inject(),require(\\\"$:/core/modules/utils/dom/modal.js\\\")),import_widget=require(\\\"$:/core/modules/widgets/widget.js\\\");function createRef(e){return{current:e}}function debounce(n,o){var i=void 0;return function(){for(var e=arguments.length,t=new Array(e),r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);re.length)&&(t=e.length);for(var r=0,n=new Array(t);re.length)&&(t=e.length);for(var r=0,n=new Array(t);re.length)&&(t=e.length);for(var r=0,n=new Array(t);re.length)&&(t=e.length);for(var r=0,n=new Array(t);re.length)&&(t=e.length);for(var r=0,n=new Array(t);r\\\"===t?(n=1,\\\"\\\"):t+o[0]:i?t===i?i=\\\"\\\":o+=t:'\\\"'===t||\\\"'\\\"===t?i=t:\\\">\\\"===t?(u(),n=1):n&&(\\\"=\\\"===t?(n=5,r=o,o=\\\"\\\"):\\\"/\\\"===t&&(n<5||\\\">\\\"===e[l][c+1])?(u(),3===n&&(a=a[0]),(a=(n=a)[0]).push(2,0,n),n=0):\\\" \\\"===t||\\\"\\\\t\\\"===t||\\\"\\\\n\\\"===t||\\\"\\\\r\\\"===t?(u(),n=2):o+=t),3===n&&\\\"!--\\\"===o&&(n=4,a=a[0])}return u(),a}(e)),r),arguments,[])).length?r:r[0]}init_esbuild_inject(),init_esbuild_inject();var ClearIcon=function ClearIcon2(e){var t=e.environment,r=t.document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"svg\\\"),t=(r.setAttribute(\\\"class\\\",\\\"aa-ClearIcon\\\"),r.setAttribute(\\\"viewBox\\\",\\\"0 0 24 24\\\"),r.setAttribute(\\\"width\\\",\\\"18\\\"),r.setAttribute(\\\"height\\\",\\\"18\\\"),r.setAttribute(\\\"fill\\\",\\\"currentColor\\\"),t.document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"path\\\"));return t.setAttribute(\\\"d\\\",\\\"M5.293 6.707l5.293 5.293-5.293 5.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0l5.293-5.293 5.293 5.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-5.293-5.293 5.293-5.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-5.293 5.293-5.293-5.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z\\\"),r.appendChild(t),r};function getHTMLElement(e,t){var r;return\\\"string\\\"==typeof t?(invariant(null!==(r=e.document.querySelector(t)),\\\"The element \\\".concat(JSON.stringify(t),\\\" is not in the document.\\\")),r):t}function mergeClassNames(){for(var e=arguments.length,t=new Array(e),r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);re.length)&&(t=e.length);for(var r=0,n=new Array(t);re.length)&&(t=e.length);for(var r=0,n=new Array(t);re)&&i.sort(f);P.__r=0}function S(e,t,r,n,o,i,a,u,l,c,s){var f,d,y,m,b,_=n&&n.__k||p,v=t.length;for(r.__d=l,$(r,t,_),l=r.__d,f=0;f(null!=l&&0==(131072&l.__u)?1:0))for(;0<=a||ue.length)&&(t=e.length);for(var r=0,n=new Array(t);r\\\",\\\""\\\":'\\\"',\\\"'\\\":\\\"'\\\"},hasAlphanumeric=new RegExp(/\\\\w/i),regexEscapedHtml=/&(amp|quot|lt|gt|#39);/g,regexHasEscapedHtml=RegExp(regexEscapedHtml.source);function unescape(e){return e&®exHasEscapedHtml.test(e)?e.replace(regexEscapedHtml,function(e){return htmlEscapes[e]}):e}function isPartHighlighted(e,t){var r=e[t],n=(null==(n=e[t+1])?void 0:n.isHighlighted)||!0,o=(null==(o=e[t-1])?void 0:o.isHighlighted)||!0;return hasAlphanumeric.test(unescape(r.value))||o!==n?r.isHighlighted:o}function _typeof20(e){return(_typeof20=\\\"function\\\"==typeof Symbol&&\\\"symbol\\\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\\\"function\\\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\\\"symbol\\\":typeof e})(e)}function ownKeys18(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function _objectSpread18(t){for(var e=1;ee.length)&&(t=e.length);for(var r=0,n=new Array(t);r{var t;return null==(t=$tw.wiki.getTiddler(e))?void 0:t.fields}).filter(e=>void 0!==e).sort((e,t)=>{var r;return(null!=(r=t.priority)?r:0)-(null!=(r=e.priority)?r:0)}).forEach(e=>{try{r.push(require(e.title).plugin)}catch(t){console.error(\\\"Failed to load command palette plugin \\\".concat(e.title),t)}}),r}function handleDarkMode(){var e;\\\"yes\\\"===$tw.wiki.getTiddlerText(\\\"$:/info/darkmode\\\")&&void 0!==(e=null==(e=document.body)?void 0:e.dataset)&&(e.theme=\\\"dark\\\")}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var uniqSourcesBy=i=>function(...e){const o=new Set;return e.map(n=>{const e=n.getItems().filter(e=>{var t=i({source:n,item:e}),r=o.has(t);return o.add(t),!r});return{...n,getItems(){return e}}})},CommandPaletteWidget=class extends import_widget.widget{constructor(){super(...arguments),this.id=\\\"default\\\",this.previouslyFocusedElement=null,this.historyMode=!1,this.srcDocument=this.document,this.modalCount=0}refresh(e){return!1}render(e,t){this.parentDomNode=e,this.computeAttributes(),this.execute(),this.id=this.getAttribute(\\\"id\\\",\\\"default\\\");var r=this.getAttribute(\\\"prefix\\\",\\\"\\\");this.historyMode=\\\"yes\\\"===this.getAttribute(\\\"historyMode\\\",\\\"no\\\");const a=\\\"yes\\\"===this.wiki.getTiddlerText(\\\"$:/plugins/linonetwo/commandpalette/configs/TitlePriorityText\\\",\\\"no\\\");var n=$tw.utils.domMaker(\\\"nav\\\",{\\\"class\\\":\\\"tw-commandpalette-container\\\"});e.insertBefore(n,t),this.domNodes.push(n),handleDarkMode();const u=uniqSourcesBy(({item:e})=>e.title),o=(this.previouslyFocusedElement=getActiveElement(),e=>{this.autoCompleteState=e});this.autoCompleteInstance=autocomplete({id:this.id,container:n,placeholder:\\\"Search for tiddlers\\\",initialState:{query:r},defaultActiveItemId:0,onStateChange(e){o(e)},autoFocus:!0,openOnFocus:!0,ignoreCompositionEvents:!0,navigator:{navigate:this.onEnter.bind(this),navigateNewTab:this.onCtrlEnter.bind(this)},plugins:getSubPlugins(),reshape({sourcesBySourceId:e}){const{title:t,\\\"title-pinyin\\\":r,\\\"story-history\\\":n,text:o,...i}=e;return[...u(...[...a?[t,o]:[o,t],r,n].filter(Boolean)),...Object.values(i)]}}),this.autoCompleteInstance.setContext({widget:this}),this.onCommandPaletteInputDOMInit(n),this.onCommandPaletteDetachedDOMInit(n)}onVisibilityChange(e){e.isIntersecting||(this.destroy(),(0,import_visibility_observer.unobserve)(e.target,this.onVisibilityChange.bind(this)))}onEnter({itemUrl:e,state:t}){var r,n;void 0!==t.context.newQuery&&(null!=(r=null==(n=this.autoCompleteInstance)?void 0:n.setQuery)&&r.call(n,t.context.newQuery),null!=(n=this.autoCompleteInstance)&&n.setContext({newQuery:void 0}),null!=(n=null==(r=this.autoCompleteInstance)?void 0:r.refresh))&&n.call(r),t.context.noNavigate||($tw.wiki.setText(\\\"$:/layout\\\",\\\"text\\\",void 0,\\\"\\\",{suppressTimestamp:!0}),this.dispatchEvent({type:\\\"tm-navigate\\\",navigateTo:e,navigateFromNode:this})),t.context.noClose||this.setCloseState(),this.clearContext()}onCtrlEnter({itemUrl:e,state:t}){$tw.utils.copyToClipboard(e),t.context.noClose||this.setCloseState(),this.clearContext()}clearContext(){var e;null!=(e=this.autoCompleteInstance)&&e.setContext({noNavigate:void 0,newQuery:void 0,noClose:void 0})}onCommandPaletteDetachedDOMInit(e){var t=e.querySelector(\\\"button.aa-DetachedSearchButton\\\");null!==t&&(t.click(),t.style.display=\\\"none\\\",null!==(t=this.document.querySelector(\\\"body.aa-Detached > div.aa-DetachedOverlay\\\")))&&(0,import_visibility_observer.observe)(t,this.onVisibilityChange.bind(this))}onCommandPaletteInputDOMInit(e){const r=e.querySelector(\\\"input\\\");null!==r&&((0,import_visibility_observer.observe)(e,this.onVisibilityChange.bind(this)),this.registerHistoryKeyboardHandlers(r),r.focus(),r.addEventListener(\\\"keydown\\\",e=>{var t;\\\"Escape\\\"===e.key&&(\\\"\\\"===r.value?this.setCloseState():(e.stopPropagation(),e.preventDefault(),r.value=\\\"\\\")),\\\"Enter\\\"===e.key&&(null!=(t=this.autoCompleteInstance)&&t.setIsOpen(!0),e.stopPropagation(),e.preventDefault())}),this.modalCount++,import_modal.Modal.prototype.adjustPageClass.call(this),fixPanelPosition(),r.addEventListener(\\\"focus\\\",fixPanelPosition),r.addEventListener(\\\"blur\\\",fixPanelPosition),window.addEventListener(\\\"resize\\\",fixPanelPosition))}registerHistoryKeyboardHandlers(e){this.historyMode&&(e.addEventListener(\\\"keydown\\\",e=>{var t;void 0!==this.autoCompleteInstance&&\\\"Tab\\\"===e.key&&e.ctrlKey&&(this.historySwitchActiveItemId=(null!=(t=null!=(t=this.historySwitchActiveItemId)?t:null==(t=null==(t=this.autoCompleteState)?void 0:t.state)?void 0:t.activeItemId)?t:0)+(e.shiftKey?-1:1),t=null!=(t=null==(t=null==(t=null==(t=null==(t=null==(t=this.autoCompleteState)?void 0:t.state)?void 0:t.collections)?void 0:t[0])?void 0:t.items)?void 0:t.length)?t:0,-1===this.historySwitchActiveItemId?this.historySwitchActiveItemId=Math.max(t-1,0):this.historySwitchActiveItemId>=t&&(this.historySwitchActiveItemId=0),this.autoCompleteInstance.setActiveItemId(this.historySwitchActiveItemId),this.autoCompleteInstance.setIsOpen(!0),e.stopPropagation(),e.preventDefault())}),e.addEventListener(\\\"keyup\\\",e=>{var t,r;void 0!==this.autoCompleteInstance&&(\\\"Tab\\\"===e.key&&e.ctrlKey?(e.stopPropagation(),e.preventDefault()):\\\"Control\\\"===e.key&&\\\"\\\"===(null==(t=null==(t=this.autoCompleteState)?void 0:t.state)?void 0:t.query)&&(e.stopPropagation(),e.preventDefault(),r=null==(t=null==(t=null==(t=this.autoCompleteState)?void 0:t.state)?void 0:t.collections.find(({source:e})=>\\\"story-history\\\"===e.sourceId))?void 0:t.items[null!=(r=null==(r=null==(r=this.autoCompleteState)?void 0:r.state)?void 0:r.activeItemId)?r:0])&&this.autoCompleteInstance.navigator.navigate({item:r,itemUrl:r.title,state:null==(t=this.autoCompleteState)?void 0:t.state}))}))}setCloseState(){var e;$tw.wiki.deleteTiddler(\\\"$:/temp/commandpalette/\\\".concat(this.id,\\\"/opened\\\")),null!=(e=this.autoCompleteInstance)&&e.setIsOpen(!1),this.modalCount=0,import_modal.Modal.prototype.adjustPageClass.call(this)}destroy(){var e,t;this.setCloseState(),null!=(e=this.autoCompleteInstance)&&e.destroy(),this.autoCompleteInstance=void 0,window.removeEventListener(\\\"resize\\\",fixPanelPosition),null!=(t=null==(e=this.previouslyFocusedElement)?void 0:e.focus)&&t.call(e)}};exports[\\\"command-palette\\\"]=CommandPaletteWidget;\"},\"$:/plugins/linonetwo/commandpalette/widgets/widget.css\":{\"title\":\"$:/plugins/linonetwo/commandpalette/widgets/widget.css\",\"tags\":[\"$:/tags/Stylesheet\"],\"type\":\"text/css\",\"Modern.TiddlyDev#Origin\":\"../../node_modules/.pnpm/@algolia+autocomplete-theme-classic@1.17.1/node_modules/@algolia/autocomplete-theme-classic/dist/theme.min.css\",\"text\":\":root{--aa-search-input-height:44px;--aa-input-icon-size:20px;--aa-base-unit:16;--aa-spacing-factor:1;--aa-spacing:calc(var(--aa-base-unit)*var(--aa-spacing-factor)*1px);--aa-spacing-half:calc(var(--aa-spacing)/2);--aa-panel-max-height:650px;--aa-base-z-index:9999;--aa-font-size:calc(var(--aa-base-unit)*1px);--aa-font-family:inherit;--aa-font-weight-medium:500;--aa-font-weight-semibold:600;--aa-font-weight-bold:700;--aa-icon-size:20px;--aa-icon-stroke-width:1.6;--aa-icon-color-rgb:119,119,163;--aa-icon-color-alpha:1;--aa-action-icon-size:20px;--aa-text-color-rgb:38,38,39;--aa-text-color-alpha:1;--aa-primary-color-rgb:62,52,211;--aa-primary-color-alpha:0.2;--aa-muted-color-rgb:128,126,163;--aa-muted-color-alpha:0.6;--aa-panel-border-color-rgb:128,126,163;--aa-panel-border-color-alpha:0.3;--aa-input-border-color-rgb:128,126,163;--aa-input-border-color-alpha:0.8;--aa-background-color-rgb:255,255,255;--aa-background-color-alpha:1;--aa-input-background-color-rgb:255,255,255;--aa-input-background-color-alpha:1;--aa-selected-color-rgb:179,173,214;--aa-selected-color-alpha:0.205;--aa-description-highlight-background-color-rgb:245,223,77;--aa-description-highlight-background-color-alpha:0.5;--aa-detached-media-query:(max-width:680px);--aa-detached-modal-media-query:(min-width:680px);--aa-detached-modal-max-width:680px;--aa-detached-modal-max-height:500px;--aa-overlay-color-rgb:115,114,129;--aa-overlay-color-alpha:0.4;--aa-panel-shadow:0 0 0 1px rgba(35,38,59,0.1),0 6px 16px -4px rgba(35,38,59,0.15);--aa-scrollbar-width:13px;--aa-scrollbar-track-background-color-rgb:234,234,234;--aa-scrollbar-track-background-color-alpha:1;--aa-scrollbar-thumb-background-color-rgb:var(--aa-background-color-rgb);--aa-scrollbar-thumb-background-color-alpha:1}body.dark,body[data-theme=dark]{--aa-text-color-rgb:183,192,199;--aa-primary-color-rgb:146,138,255;--aa-muted-color-rgb:146,138,255;--aa-input-background-color-rgb:0,3,9;--aa-background-color-rgb:21,24,42;--aa-selected-color-rgb:146,138,255;--aa-selected-color-alpha:0.25;--aa-description-highlight-background-color-rgb:0 255 255;--aa-description-highlight-background-color-alpha:0.25;--aa-icon-color-rgb:119,119,163;--aa-panel-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--aa-scrollbar-track-background-color-rgb:44,46,64;--aa-scrollbar-thumb-background-color-rgb:var(--aa-background-color-rgb)}.aa-Autocomplete *,.aa-DetachedFormContainer *,.aa-Panel *{box-sizing:border-box}.aa-Autocomplete,.aa-DetachedFormContainer,.aa-Panel{color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-family:inherit;font-family:var(--aa-font-family);font-size:calc(16 * 1px);font-size:var(--aa-font-size);font-weight:400;line-height:1em;margin:0;padding:0;text-align:left}.aa-Form{align-items:center;background-color:#fff;background-color:rgba(var(--aa-input-background-color-rgb),var(--aa-input-background-color-alpha));border:1px solid rgba(128,126,163,.8);border:1px solid rgba(var(--aa-input-border-color-rgb),var(--aa-input-border-color-alpha));border-radius:3px;display:flex;line-height:1em;margin:0;position:relative;width:100%}.aa-Form:focus-within{border-color:#3e34d3;border-color:rgba(var(--aa-primary-color-rgb),1);box-shadow:rgba(62,52,211,.2) 0 0 0 2px,inset rgba(62,52,211,.2) 0 0 0 2px;box-shadow:rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 2px,inset rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 2px;outline:currentColor}.aa-InputWrapperPrefix{align-items:center;display:flex;flex-shrink:0;height:44px;height:var(--aa-search-input-height);order:1}.aa-Label,.aa-LoadingIndicator{cursor:auto;flex-shrink:0;height:100%;padding:0;text-align:left}.aa-Label svg,.aa-LoadingIndicator svg{color:#3e34d3;color:rgba(var(--aa-primary-color-rgb),1);height:auto;max-height:20px;max-height:var(--aa-input-icon-size);stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);width:20px;width:var(--aa-input-icon-size)}.aa-LoadingIndicator,.aa-SubmitButton{height:100%;padding-left:calc(calc(16 * 1 * 1px)*.75 - 1px);padding-left:calc(var(--aa-spacing)*.75 - 1px);padding-right:calc(calc(16 * 1 * 1px)/ 2);padding-right:var(--aa-spacing-half);width:calc(calc(16 * 1 * 1px)*1.75 + 20px - 1px);width:calc(var(--aa-spacing)*1.75 + var(--aa-icon-size) - 1px)}@media (hover:none) and (pointer:coarse){:root{--aa-spacing-factor:1.2;--aa-action-icon-size:22px}.aa-LoadingIndicator,.aa-SubmitButton{padding-left:calc(calc(calc(16 * 1 * 1px)/ 2)/ 2 - 1px);padding-left:calc(var(--aa-spacing-half)/ 2 - 1px);width:calc(20px + calc(16 * 1 * 1px)*1.25 - 1px);width:calc(var(--aa-icon-size) + var(--aa-spacing)*1.25 - 1px)}}.aa-SubmitButton{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;border:0;margin:0}.aa-LoadingIndicator{align-items:center;display:flex;justify-content:center}.aa-LoadingIndicator[hidden]{display:none}.aa-InputWrapper{order:3;position:relative;width:100%}.aa-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;border:0;color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font:inherit;height:44px;height:var(--aa-search-input-height);padding:0;width:100%}.aa-Input::-moz-placeholder{color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));opacity:1}.aa-Input::placeholder{color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));opacity:1}.aa-Input:focus{border-color:none;box-shadow:none;outline:0}.aa-Input::-webkit-search-cancel-button,.aa-Input::-webkit-search-decoration,.aa-Input::-webkit-search-results-button,.aa-Input::-webkit-search-results-decoration{-webkit-appearance:none;appearance:none}.aa-InputWrapperSuffix{align-items:center;display:flex;height:44px;height:var(--aa-search-input-height);order:4}.aa-ClearButton{align-items:center;background:0 0;border:0;color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));cursor:pointer;display:flex;height:100%;margin:0;padding:0 calc(calc(16 * 1 * 1px)*.83333 - .5px);padding:0 calc(var(--aa-spacing)*.83333 - .5px)}@media (hover:none) and (pointer:coarse){.aa-ClearButton{padding:0 calc(calc(16 * 1 * 1px)*.66667 - .5px);padding:0 calc(var(--aa-spacing)*.66667 - .5px)}}.aa-ClearButton:focus,.aa-ClearButton:hover{color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha))}.aa-ClearButton[hidden]{display:none}.aa-ClearButton svg{stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);width:20px;width:var(--aa-icon-size)}.aa-Panel{background-color:#fff;background-color:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));border-radius:calc(calc(16 * 1 * 1px)/ 4);border-radius:calc(var(--aa-spacing)/4);box-shadow:0 0 0 1px rgba(35,38,59,.1),0 6px 16px -4px rgba(35,38,59,.15);box-shadow:var(--aa-panel-shadow);margin:8px 0 0;overflow:hidden;position:absolute;transition:opacity .2s ease-in,filter .2s ease-in}@media screen and (prefers-reduced-motion){.aa-Panel{transition:none}}.aa-Panel button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;border:0;margin:0;padding:0}.aa-PanelLayout{height:100%;margin:0;max-height:650px;max-height:var(--aa-panel-max-height);overflow-y:auto;padding:0;position:relative;text-align:left}.aa-PanelLayoutColumns--twoGolden{display:grid;grid-template-columns:39.2% auto;overflow:hidden;padding:0}.aa-PanelLayoutColumns--two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;padding:0}.aa-PanelLayoutColumns--three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;padding:0}.aa-Panel--stalled .aa-Source{filter:grayscale(1);opacity:.8}.aa-Panel--scrollable{margin:0;max-height:650px;max-height:var(--aa-panel-max-height);overflow-x:hidden;overflow-y:auto;padding:calc(calc(16 * 1 * 1px)/ 2);padding:var(--aa-spacing-half);scrollbar-color:rgba(255,255,255,1) rgba(234,234,234,1);scrollbar-color:rgba(var(--aa-scrollbar-thumb-background-color-rgb),var(--aa-scrollbar-thumb-background-color-alpha)) rgba(var(--aa-scrollbar-track-background-color-rgb),var(--aa-scrollbar-track-background-color-alpha));scrollbar-width:thin}.aa-Panel--scrollable::-webkit-scrollbar{width:13px;width:var(--aa-scrollbar-width)}.aa-Panel--scrollable::-webkit-scrollbar-track{background-color:#eaeaea;background-color:rgba(var(--aa-scrollbar-track-background-color-rgb),var(--aa-scrollbar-track-background-color-alpha))}.aa-Panel--scrollable::-webkit-scrollbar-thumb{background-color:#fff;background-color:rgba(var(--aa-scrollbar-thumb-background-color-rgb),var(--aa-scrollbar-thumb-background-color-alpha));border-radius:9999px;border:3px solid #eaeaea;border:3px solid rgba(var(--aa-scrollbar-track-background-color-rgb),var(--aa-scrollbar-track-background-color-alpha));border-right-width:2px}.aa-Source{margin:0;padding:0;position:relative;width:100%}.aa-Source:empty{display:none}.aa-SourceNoResults{font-size:1em;margin:0;padding:calc(16 * 1 * 1px);padding:var(--aa-spacing)}.aa-List{list-style:none;margin:0}.aa-List,.aa-SourceHeader{padding:0;position:relative}.aa-SourceHeader{margin:calc(calc(16 * 1 * 1px)/ 2) .5em calc(calc(16 * 1 * 1px)/ 2) 0;margin:var(--aa-spacing-half) .5em var(--aa-spacing-half) 0}.aa-SourceHeader:empty{display:none}.aa-SourceHeaderTitle{background:#fff;background:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));color:#3e34d3;color:rgba(var(--aa-primary-color-rgb),1);display:inline-block;font-size:.8em;font-weight:600;font-weight:var(--aa-font-weight-semibold);margin:0;padding:0 calc(calc(16 * 1 * 1px)/ 2) 0 0;padding:0 var(--aa-spacing-half) 0 0;position:relative;z-index:9999;z-index:var(--aa-base-z-index)}.aa-SourceHeaderLine{border-bottom:1px solid #3e34d3;border-bottom:1px solid rgba(var(--aa-primary-color-rgb),1);display:block;height:2px;left:0;margin:0;opacity:.3;padding:0;position:absolute;right:0;top:calc(calc(16 * 1 * 1px)/ 2);top:var(--aa-spacing-half);z-index:calc(9999 - 1);z-index:calc(var(--aa-base-z-index) - 1)}.aa-SourceFooterSeeAll{background:linear-gradient(180deg,#fff,rgba(128,126,163,.14));background:linear-gradient(180deg,rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha)),rgba(128,126,163,.14));border:1px solid rgba(128,126,163,.6);border:1px solid rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));border-radius:5px;box-shadow:inset 0 0 2px #fff,0 2px 2px -1px rgba(76,69,88,.15);color:inherit;font-size:.95em;font-weight:500;font-weight:var(--aa-font-weight-medium);padding:.475em 1em .6em;-webkit-text-decoration:none;text-decoration:none}.aa-SourceFooterSeeAll:focus,.aa-SourceFooterSeeAll:hover{border:1px solid #3e34d3;border:1px solid rgba(var(--aa-primary-color-rgb),1);color:#3e34d3;color:rgba(var(--aa-primary-color-rgb),1)}.aa-Item{align-items:center;border-radius:3px;cursor:pointer;display:grid;min-height:calc(calc(16 * 1 * 1px)*2.5);min-height:calc(var(--aa-spacing)*2.5);padding:calc(calc(calc(16 * 1 * 1px)/ 2)/ 2);padding:calc(var(--aa-spacing-half)/2)}.aa-Item[aria-selected=true]{background-color:rgba(179,173,214,.205);background-color:rgba(var(--aa-selected-color-rgb),var(--aa-selected-color-alpha))}.aa-Item[aria-selected=true] .aa-ActiveOnly,.aa-Item[aria-selected=true] .aa-ItemActionButton{visibility:visible}.aa-ItemIcon{align-items:center;background:#fff;background:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));border-radius:3px;box-shadow:inset 0 0 0 1px rgba(128,126,163,.3);box-shadow:inset 0 0 0 1px rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha));color:#7777a3;color:rgba(var(--aa-icon-color-rgb),var(--aa-icon-color-alpha));display:flex;flex-shrink:0;font-size:.7em;height:calc(20px + calc(calc(16 * 1 * 1px)/ 2));height:calc(var(--aa-icon-size) + var(--aa-spacing-half));justify-content:center;overflow:hidden;stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);text-align:center;width:calc(20px + calc(calc(16 * 1 * 1px)/ 2));width:calc(var(--aa-icon-size) + var(--aa-spacing-half))}.aa-ItemIcon img{height:auto;max-height:calc(20px + calc(calc(16 * 1 * 1px)/ 2) - 8px);max-height:calc(var(--aa-icon-size) + var(--aa-spacing-half) - 8px);max-width:calc(20px + calc(calc(16 * 1 * 1px)/ 2) - 8px);max-width:calc(var(--aa-icon-size) + var(--aa-spacing-half) - 8px);width:auto}.aa-ItemIcon svg{height:20px;height:var(--aa-icon-size);width:20px;width:var(--aa-icon-size)}.aa-ItemIcon--alignTop{align-self:flex-start}.aa-ItemIcon--noBorder{background:0 0;box-shadow:none}.aa-ItemIcon--picture{height:96px;width:96px}.aa-ItemIcon--picture img{max-height:100%;max-width:100%;padding:calc(calc(16 * 1 * 1px)/ 2);padding:var(--aa-spacing-half)}.aa-ItemContent{align-items:center;cursor:pointer;display:grid;gap:calc((16 * 1 * 1px)/ 2);gap:calc(calc(16 * 1 * 1px)/ 2);grid-gap:calc((16 * 1 * 1px)/ 2);grid-gap:calc(calc(16 * 1 * 1px)/ 2);grid-gap:var(--aa-spacing-half);gap:var(--aa-spacing-half);grid-auto-flow:column;line-height:1.25em;overflow:hidden}.aa-ItemContent:empty{display:none}.aa-ItemContent mark{background:0 0;color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-style:normal;font-weight:700;font-weight:var(--aa-font-weight-bold)}.aa-ItemContent--dual{display:flex;flex-direction:column;justify-content:space-between;text-align:left}.aa-ItemContent--dual .aa-ItemContentSubtitle,.aa-ItemContent--dual .aa-ItemContentTitle{display:block}.aa-ItemContent--indented{padding-left:calc(20px + calc(16 * 1 * 1px));padding-left:calc(var(--aa-icon-size) + var(--aa-spacing))}.aa-ItemContentBody{display:grid;gap:calc(((16 * 1 * 1px)/ 2)/ 2);gap:calc(calc(calc(16 * 1 * 1px)/ 2)/ 2);grid-gap:calc(((16 * 1 * 1px)/ 2)/ 2);grid-gap:calc(calc(calc(16 * 1 * 1px)/ 2)/ 2);grid-gap:calc(var(--aa-spacing-half)/2);gap:calc(var(--aa-spacing-half)/2)}.aa-ItemContentTitle{display:inline-block;margin:0 .5em 0 0;max-width:100%;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.aa-ItemContentSubtitle{font-size:.92em}.aa-ItemContentSubtitleIcon:before{border-color:rgba(128,126,163,.64);border-color:rgba(var(--aa-muted-color-rgb),.64);border-style:solid;content:\\\"\\\";display:inline-block;left:1px;position:relative;top:-3px}.aa-ItemContentSubtitle--inline .aa-ItemContentSubtitleIcon:before{border-width:0 0 1.5px;margin-left:calc(calc(16 * 1 * 1px)/ 2);margin-left:var(--aa-spacing-half);margin-right:calc(calc(calc(16 * 1 * 1px)/ 2)/ 2);margin-right:calc(var(--aa-spacing-half)/2);width:calc(calc(calc(16 * 1 * 1px)/ 2) + 2px);width:calc(var(--aa-spacing-half) + 2px)}.aa-ItemContentSubtitle--standalone{align-items:center;color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));display:grid;gap:calc((16 * 1 * 1px)/ 2);gap:calc(calc(16 * 1 * 1px)/ 2);grid-gap:calc((16 * 1 * 1px)/ 2);grid-gap:calc(calc(16 * 1 * 1px)/ 2);grid-gap:var(--aa-spacing-half);gap:var(--aa-spacing-half);grid-auto-flow:column;justify-content:start}.aa-ItemContentSubtitle--standalone .aa-ItemContentSubtitleIcon:before{border-radius:0 0 0 3px;border-width:0 0 1.5px 1.5px;height:calc(calc(16 * 1 * 1px)/ 2);height:var(--aa-spacing-half);width:calc(calc(16 * 1 * 1px)/ 2);width:var(--aa-spacing-half)}.aa-ItemContentSubtitleCategory{color:#807ea3;color:rgba(var(--aa-muted-color-rgb),1);font-weight:500}.aa-ItemContentDescription{color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-size:.85em;max-width:100%;overflow-x:hidden;text-overflow:ellipsis}.aa-ItemContentDescription:empty{display:none}.aa-ItemContentDescription mark{background:rgba(245,223,77,.5);background:rgba(var(--aa-description-highlight-background-color-rgb),var(--aa-description-highlight-background-color-alpha));color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-style:normal;font-weight:500;font-weight:var(--aa-font-weight-medium)}.aa-ItemContentDash{color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));display:none;opacity:.4}.aa-ItemContentTag{background-color:rgba(62,52,211,.2);background-color:rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha));border-radius:3px;margin:0 .4em 0 0;padding:.08em .3em}.aa-ItemLink,.aa-ItemWrapper{align-items:center;color:inherit;display:grid;gap:calc(((16 * 1 * 1px)/ 2)/ 2);gap:calc(calc(calc(16 * 1 * 1px)/ 2)/ 2);grid-gap:calc(((16 * 1 * 1px)/ 2)/ 2);grid-gap:calc(calc(calc(16 * 1 * 1px)/ 2)/ 2);grid-gap:calc(var(--aa-spacing-half)/2);gap:calc(var(--aa-spacing-half)/2);grid-auto-flow:column;justify-content:space-between;width:100%}.aa-ItemLink{color:inherit;-webkit-text-decoration:none;text-decoration:none}.aa-ItemActions{display:grid;grid-auto-flow:column;height:100%;justify-self:end;margin:0 calc(calc(16 * 1 * 1px)/ -3);margin:0 calc(var(--aa-spacing)/-3);padding:0 2px 0 0}.aa-ItemActionButton{align-items:center;background:0 0;border:0;color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));cursor:pointer;display:flex;flex-shrink:0;padding:0}.aa-ItemActionButton:focus svg,.aa-ItemActionButton:hover svg{color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha))}.aa-ItemActionButton svg{color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));margin:0;margin:calc(calc(16 * 1 * 1px)/ 3);margin:calc(var(--aa-spacing)/3);stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);width:20px;width:var(--aa-action-icon-size)}.aa-ActiveOnly{visibility:hidden}.aa-PanelHeader{align-items:center;background:#3e34d3;background:rgba(var(--aa-primary-color-rgb),1);color:#fff;display:grid;height:var(--aa-modal-header-height);margin:0;padding:calc(calc(16 * 1 * 1px)/ 2) calc(16 * 1 * 1px);padding:var(--aa-spacing-half) var(--aa-spacing);position:relative}.aa-PanelHeader:after{background-image:linear-gradient(#fff,rgba(255,255,255,0));background-image:linear-gradient(rgba(var(--aa-background-color-rgb),1),rgba(var(--aa-background-color-rgb),0));bottom:calc(calc(calc(16 * 1 * 1px)/ 2)*-1);bottom:calc(var(--aa-spacing-half)*-1);content:\\\"\\\";height:calc(calc(16 * 1 * 1px)/ 2);height:var(--aa-spacing-half);left:0;pointer-events:none;position:absolute;right:0;z-index:9999;z-index:var(--aa-base-z-index)}.aa-PanelFooter{background-color:#fff;background-color:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));box-shadow:inset 0 1px 0 rgba(128,126,163,.3);box-shadow:inset 0 1px 0 rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha));display:flex;justify-content:space-between;margin:0;padding:calc(16 * 1 * 1px);padding:var(--aa-spacing);position:relative;z-index:9999;z-index:var(--aa-base-z-index)}.aa-PanelFooter:after{background-image:linear-gradient(rgba(255,255,255,0),rgba(128,126,163,.6));background-image:linear-gradient(rgba(var(--aa-background-color-rgb),0),rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha)));content:\\\"\\\";height:calc(16 * 1 * 1px);height:var(--aa-spacing);left:0;opacity:.12;pointer-events:none;position:absolute;right:0;top:calc(calc(16 * 1 * 1px)*-1);top:calc(var(--aa-spacing)*-1);z-index:calc(9999 - 1);z-index:calc(var(--aa-base-z-index) - 1)}.aa-DetachedContainer{background:#fff;background:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));bottom:0;box-shadow:0 0 0 1px rgba(35,38,59,.1),0 6px 16px -4px rgba(35,38,59,.15);box-shadow:var(--aa-panel-shadow);display:flex;flex-direction:column;left:0;margin:0;overflow:hidden;padding:0;position:fixed;right:0;top:0;z-index:9999;z-index:var(--aa-base-z-index)}.aa-DetachedContainer:after{height:32px}.aa-DetachedContainer .aa-SourceHeader{margin:calc(calc(16 * 1 * 1px)/ 2) 0 calc(calc(16 * 1 * 1px)/ 2) 2px;margin:var(--aa-spacing-half) 0 var(--aa-spacing-half) 2px}.aa-DetachedContainer .aa-Panel{background-color:#fff;background-color:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));border-radius:0;box-shadow:none;flex-grow:1;margin:0;padding:0;position:relative}.aa-DetachedContainer .aa-PanelLayout{bottom:0;box-shadow:none;left:0;margin:0;max-height:none;overflow-y:auto;position:absolute;right:0;top:0;width:100%}.aa-DetachedFormContainer{border-bottom:1px solid rgba(128,126,163,.3);border-bottom:1px solid rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha));display:flex;flex-direction:row;justify-content:space-between;margin:0;padding:calc(calc(16 * 1 * 1px)/ 2);padding:var(--aa-spacing-half)}.aa-DetachedCancelButton{background:0 0;border:0;border-radius:3px;color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));cursor:pointer;font:inherit;margin:0 0 0 calc(calc(16 * 1 * 1px)/ 2);margin:0 0 0 var(--aa-spacing-half);padding:0 calc(calc(16 * 1 * 1px)/ 2);padding:0 var(--aa-spacing-half)}.aa-DetachedCancelButton:focus,.aa-DetachedCancelButton:hover{box-shadow:inset 0 0 0 1px rgba(128,126,163,.3);box-shadow:inset 0 0 0 1px rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha))}.aa-DetachedContainer--modal{border-radius:6px;bottom:inherit;height:auto;margin:0 auto;max-width:680px;max-width:var(--aa-detached-modal-max-width);position:absolute;top:3%}.aa-DetachedContainer--modal .aa-PanelLayout{max-height:500px;max-height:var(--aa-detached-modal-max-height);padding-bottom:calc(calc(16 * 1 * 1px)/ 2);padding-bottom:var(--aa-spacing-half);position:static}.aa-DetachedContainer--modal .aa-PanelLayout:empty{display:none}.aa-DetachedSearchButton{align-items:center;background-color:#fff;background-color:rgba(var(--aa-input-background-color-rgb),var(--aa-input-background-color-alpha));border:1px solid rgba(128,126,163,.8);border:1px solid rgba(var(--aa-input-border-color-rgb),var(--aa-input-border-color-alpha));border-radius:3px;color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));cursor:pointer;display:flex;font:inherit;font-family:inherit;font-family:var(--aa-font-family);font-size:calc(16 * 1px);font-size:var(--aa-font-size);height:44px;height:var(--aa-search-input-height);margin:0;padding:0 calc(44px/8);padding:0 calc(var(--aa-search-input-height)/8);position:relative;text-align:left;width:100%}.aa-DetachedSearchButton:focus{border-color:#3e34d3;border-color:rgba(var(--aa-primary-color-rgb),1);box-shadow:rgba(62,52,211,.2) 0 0 0 3px,inset rgba(62,52,211,.2) 0 0 0 2px;box-shadow:rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 3px,inset rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 2px;outline:currentColor}.aa-DetachedSearchButtonIcon{align-items:center;color:#3e34d3;color:rgba(var(--aa-primary-color-rgb),1);cursor:auto;display:flex;flex-shrink:0;height:100%;justify-content:center;width:calc(20px + calc(16 * 1 * 1px));width:calc(var(--aa-icon-size) + var(--aa-spacing))}.aa-DetachedSearchButtonQuery{color:#262627;color:rgba(var(--aa-text-color-rgb),1);line-height:1.25em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aa-DetachedSearchButtonPlaceholder[hidden]{display:none}.aa-Detached{height:100vh;overflow:hidden}.aa-DetachedOverlay{background-color:rgba(115,114,129,.4);background-color:rgba(var(--aa-overlay-color-rgb),var(--aa-overlay-color-alpha));height:100vh;left:0;margin:0;padding:0;position:fixed;right:0;top:0;z-index:calc(9999 - 1);z-index:calc(var(--aa-base-z-index) - 1)}.aa-GradientBottom,.aa-GradientTop{height:calc(calc(16 * 1 * 1px)/ 2);height:var(--aa-spacing-half);left:0;pointer-events:none;position:absolute;right:0;z-index:9999;z-index:var(--aa-base-z-index)}.aa-GradientTop{background-image:linear-gradient(#fff,rgba(255,255,255,0));background-image:linear-gradient(rgba(var(--aa-background-color-rgb),1),rgba(var(--aa-background-color-rgb),0));top:0}.aa-GradientBottom{background-image:linear-gradient(rgba(255,255,255,0),#fff);background-image:linear-gradient(rgba(var(--aa-background-color-rgb),0),rgba(var(--aa-background-color-rgb),1));border-bottom-left-radius:calc(calc(16 * 1 * 1px)/ 4);border-bottom-left-radius:calc(var(--aa-spacing)/4);border-bottom-right-radius:calc(calc(16 * 1 * 1px)/ 4);border-bottom-right-radius:calc(var(--aa-spacing)/4);bottom:0}@media (hover:none) and (pointer:coarse){.aa-ItemActionButton:focus svg,.aa-ItemActionButton:hover svg{color:inherit}.aa-DesktopOnly{display:none}}@media (hover:hover){.aa-TouchOnly{display:none}}/*! Bundled license information:\\n\\n@algolia/autocomplete-theme-classic/dist/theme.min.css:\\n (*! @algolia/autocomplete-theme-classic 1.17.1 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete *)\\n*/\"}}}", - "title": "$:/plugins/linonetwo/commandpalette", - "type": "application/json", "author": "LinOnetwo", "core-version": ">=5.0.8", "dependents": "$:/plugins/Gk0Wk/focused-tiddler", @@ -10,8 +7,11 @@ "list": "readme config tree", "plugin-type": "plugin", "source": "https://github.com/tiddly-gittly/tiddlywiki-plugins", - "version": "1.1.1", - "Modern.TiddlyDev#SHA256-Hashed": "f4d89d9e2516f91381e3254f79c7666a124e7c5c8d7ef7dd14facfa95d537660", + "text": "{\"tiddlers\":{\"$:/plugins/linonetwo/commandpalette/DefaultCommandPalette\":{\"title\":\"$:/plugins/linonetwo/commandpalette/DefaultCommandPalette\",\"tags\":\"$:/tags/CommandPalette\",\"text\":\"\\\\procedure on-mask-layer-clicked() <$action-sendmessage $message=\\\"close-command-palette\\\" $param=\\\"default\\\"/>\\n\\n<% if [{$:/temp/commandpalette/default/opened}match[yes]] %>\\n <$eventcatcher selector=\\\".tw-default-commandpalette-mask-layer\\\" tag=\\\"div\\\" $click=<>>\\n
\\n \\n
\\n <$command-palette\\n id=\\\"default\\\"\\n prefix={{$:/temp/commandpalette/default/opened!!prefix}}\\n historyMode={{$:/temp/commandpalette/default/opened!!historyMode}}\\n />\\n
\\n<% endif %>\\n\"},\"$:/plugins/linonetwo/commandpalette/Show Control Panel\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Show Control Panel\",\"caption\":\"<>\",\"tags\":\"$:/tags/Actions\",\"text\":\"<$action-navigate $to=\\\"$:/ControlPanel\\\"/>\"},\"$:/plugins/linonetwo/commandpalette/Unfold All Tiddlers\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Unfold All Tiddlers\",\"caption\":\"{{$:/language/Buttons/UnfoldAll/Caption}}\",\"description\":\"{{$:/language/Buttons/UnfoldAll/Hint}}\",\"tags\":\"$:/tags/Actions\",\"text\":\"<$action-sendmessage $message=\\\"tm-unfold-all-tiddlers\\\" foldedStatePrefix=\\\"$:/state/folded/\\\"/>\\n\"},\"$:/plugins/linonetwo/commandpalette/Search fields\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Search fields\",\"caption\":\"<>\",\"description\":\"<>\",\"tags\":\"$:/tags/Filter\",\"filter\":\"[fields[]]\"},\"$:/plugins/linonetwo/commandpalette/See Languages\":{\"title\":\"$:/plugins/linonetwo/commandpalette/See Languages\",\"caption\":\"<>\",\"description\":\"<>\",\"tags\":\"$:/tags/Filter\",\"filter\":\"[!has[draft.of]plugin-type[language]]\"},\"$:/plugins/linonetwo/commandpalette/See Plugins\":{\"title\":\"$:/plugins/linonetwo/commandpalette/See Plugins\",\"caption\":\"<>\",\"description\":\"<>\",\"tags\":\"$:/tags/Filter\",\"filter\":\"[!has[draft.of]plugin-type[plugin]search[]]\"},\"$:/plugins/linonetwo/commandpalette/See Themes\":{\"title\":\"$:/plugins/linonetwo/commandpalette/See Themes\",\"caption\":\"<>\",\"description\":\"<>\",\"tags\":\"$:/tags/Filter\",\"filter\":\"[!has[draft.of]plugin-type[theme]search[]]\"},\"$:/plugins/linonetwo/commandpalette/See all content-types\":{\"title\":\"$:/plugins/linonetwo/commandpalette/See all content-types\",\"caption\":\"<>\",\"description\":\"<>\",\"tags\":\"$:/tags/Filter\",\"filter\":\"[all[tiddlers+shadows]each[type]get[type]]\"},\"$:/plugins/linonetwo/commandpalette/See untagged tiddlers\":{\"title\":\"$:/plugins/linonetwo/commandpalette/See untagged tiddlers\",\"caption\":\"<>\",\"description\":\"<>\",\"tags\":\"$:/tags/Filter\",\"filter\":\"[untagged[]!is[system]search[]]\"},\"$:/plugins/linonetwo/commandpalette/commands/help/Filter\":{\"title\":\"$:/plugins/linonetwo/commandpalette/commands/help/Filter\",\"command-palette-prefix\":\"[\",\"caption\":\"<>\",\"description\":\"<>\",\"tags\":\"$:/tags/CommandPaletteHelp\"},\"$:/plugins/linonetwo/commandpalette/commands/help/Help\":{\"title\":\"$:/plugins/linonetwo/commandpalette/commands/help/Help\",\"command-palette-prefix\":\"?\",\"caption\":\"<>\",\"description\":\"<>\",\"tags\":\"$:/tags/CommandPaletteHelp\"},\"$:/plugins/linonetwo/commandpalette/commands/help/System\":{\"title\":\"$:/plugins/linonetwo/commandpalette/commands/help/System\",\"command-palette-prefix\":\"$ ¥\",\"caption\":\"<>\",\"description\":\"<>\",\"tags\":\"$:/tags/CommandPaletteHelp\"},\"$:/plugins/linonetwo/commandpalette/commands/help/Tags\":{\"title\":\"$:/plugins/linonetwo/commandpalette/commands/help/Tags\",\"command-palette-prefix\":\"#\",\"caption\":\"<>\",\"description\":\"<>\",\"tags\":\"$:/tags/CommandPaletteHelp\"},\"$:/plugins/linonetwo/commandpalette/commands/help/User\":{\"title\":\"$:/plugins/linonetwo/commandpalette/commands/help/User\",\"command-palette-prefix\":\"\",\"caption\":\"<>\",\"description\":\"<>\",\"tags\":\"$:/tags/CommandPaletteHelp\"},\"$:/plugins/linonetwo/commandpalette/Browser Refresh\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Browser Refresh\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/Refresh/Caption}}\",\"description\":\"{{$:/language/Buttons/Refresh/Hint}}\",\"text\":\"tm-browser-refresh\\n\"},\"$:/plugins/linonetwo/commandpalette/Cancel Tiddler\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Cancel Tiddler\",\"command-palette-filter\":\"[has:field[draft.of]]\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/Cancel/Caption}}\",\"description\":\"{{$:/language/Buttons/Cancel/Hint}} <>\",\"text\":\"tm-cancel-tiddler\\n\"},\"$:/plugins/linonetwo/commandpalette/Clone Tiddler\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Clone Tiddler\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/Clone/Caption}}\",\"description\":\"{{$:/language/Buttons/Clone/Hint}} <>\",\"text\":\"tm-new-tiddler\\n\"},\"$:/plugins/linonetwo/commandpalette/Close All Tiddlers\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Close All Tiddlers\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/CloseAll/Caption}}\",\"description\":\"{{$:/language/Buttons/CloseAll/Hint}}\",\"text\":\"tm-close-all-tiddlers\\n\"},\"$:/plugins/linonetwo/commandpalette/Close Tiddler\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Close Tiddler\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/Close/Caption}}\",\"description\":\"{{$:/language/Buttons/Close/Hint}} <>\",\"text\":\"tm-close-tiddler\\n\"},\"$:/plugins/linonetwo/commandpalette/Close other Tiddlers\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Close other Tiddlers\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/CloseOthers/Caption}}\",\"description\":\"{{$:/language/Buttons/CloseOthers/Hint}} <>\",\"text\":\"tm-close-other-tiddlers\\n\"},\"$:/plugins/linonetwo/commandpalette/Delete Tiddler\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Delete Tiddler\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/Delete/Caption}}\",\"description\":\"{{$:/language/Buttons/Delete/Hint}}\",\"text\":\"tm-delete-tiddler\\n\"},\"$:/plugins/linonetwo/commandpalette/Edit Tiddler\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Edit Tiddler\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/Edit/Caption}}\",\"description\":\"{{$:/language/Buttons/Edit/Hint}}\",\"text\":\"tm-edit-tiddler\\n\"},\"$:/plugins/linonetwo/commandpalette/Fold All Tiddlers\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Fold All Tiddlers\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/FoldAll/Caption}}\",\"description\":\"{{$:/language/Buttons/FoldAll/Hint}}\",\"text\":\"tm-fold-all-tiddlers\\n\"},\"$:/plugins/linonetwo/commandpalette/Home\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Home\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/Home/Caption}}\",\"description\":\"{{$:/language/Buttons/Home/Hint}}\",\"text\":\"tm-home\\n\"},\"$:/plugins/linonetwo/commandpalette/New Tiddler\":{\"title\":\"$:/plugins/linonetwo/commandpalette/New Tiddler\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/NewTiddler/Caption}}\",\"description\":\"{{$:/language/Buttons/NewTiddler/Hint}}\",\"text\":\"tm-new-tiddler\\n\"},\"$:/plugins/linonetwo/commandpalette/Permalink\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Permalink\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/Permalink/Caption}}\",\"description\":\"{{$:/language/Buttons/Permalink/Hint}}\",\"text\":\"tm-permalink\\n\"},\"$:/plugins/linonetwo/commandpalette/Permaview\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Permaview\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/Permaview/Caption}}\",\"description\":\"{{$:/language/Buttons/Permaview/Hint}}\",\"text\":\"tm-permaview\\n\"},\"$:/plugins/linonetwo/commandpalette/Print\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Print\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/Print/Caption}}\",\"description\":\"{{$:/language/Buttons/Print/Hint}}\",\"text\":\"tm-print\\n\"},\"$:/plugins/linonetwo/commandpalette/Refresh Server\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Refresh Server\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/Refresh/Caption}}<>\",\"description\":\"{{$:/language/Buttons/Refresh/Hint}}<>\",\"text\":\"tm-server-refresh\\n\"},\"$:/plugins/linonetwo/commandpalette/Save Tiddler\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Save Tiddler\",\"command-palette-filter\":\"[has:field[draft.of]]\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/Save/Caption}}\",\"description\":\"{{$:/language/Buttons/Save/Hint}}\",\"text\":\"tm-save-tiddler\\n\"},\"$:/plugins/linonetwo/commandpalette/Save Wiki\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Save Wiki\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/SaveWiki/Caption}}\",\"description\":\"{{$:/language/Buttons/SaveWiki/Hint}}\",\"text\":\"tm-save-wiki\\n\"},\"$:/plugins/linonetwo/commandpalette/Toggle Fullscreen\":{\"title\":\"$:/plugins/linonetwo/commandpalette/Toggle Fullscreen\",\"tags\":\"$:/tags/Messages\",\"caption\":\"{{$:/language/Buttons/FullScreen/Caption}}\",\"description\":\"{{$:/language/Buttons/FullScreen/Hint}}\",\"text\":\"tm-full-screen\\n\"},\"$:/plugins/linonetwo/commandpalette/config\":{\"title\":\"$:/plugins/linonetwo/commandpalette/config\",\"tags\":\"$:/tags/ControlPanel/SettingsTab\",\"caption\":\"<>\",\"text\":\"\\\\define lingo-base() $:/plugins/linonetwo/commandpalette/language/\\n\\n<>\\n\\n---\\n\\n!! <>\\n\\n;<>\\n:<$checkbox tiddler=\\\"$:/plugins/linonetwo/commandpalette/configs/HideDefaultSearchBar\\\" field=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"\\\"> <>\\n;<>\\n:<$checkbox tiddler=\\\"$:/plugins/linonetwo/commandpalette/configs/TitlePriorityText\\\" field=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"\\\"> <>\\n;<>\\n:<$edit-text tiddler=\\\"$:/plugins/linonetwo/commandpalette/configs/TitleAlias\\\" tabindex=-1 focus=false cancelPopups=\\\"yes\\\" fileDrop=no tag=\\\"input\\\" /> <>\\n;<>\\n:<$edit-text tiddler=\\\"$:/plugins/linonetwo/commandpalette/configs/TextAlias\\\" tabindex=-1 focus=false cancelPopups=\\\"yes\\\" fileDrop=no tag=\\\"input\\\" /> <>\\n;<>\\n:<$edit-text tiddler=\\\"$:/plugins/linonetwo/commandpalette/configs/DesktopWidth\\\" tabindex=-1 focus=false cancelPopups=\\\"yes\\\" fileDrop=no tag=\\\"input\\\" type=\\\"number\\\" />% <>\\n;<>\\n:<$edit-text tiddler=\\\"$:/plugins/linonetwo/commandpalette/configs/DebounceDuration\\\" tabindex=-1 focus=false cancelPopups=\\\"yes\\\" fileDrop=no tag=\\\"input\\\" type=\\\"number\\\" />ms <>\"},\"$:/plugins/linonetwo/commandpalette/configs/TitleAlias\":{\"title\":\"$:/plugins/linonetwo/commandpalette/configs/TitleAlias\",\"text\":\"title caption alias\"},\"$:/plugins/linonetwo/commandpalette/configs/TextAlias\":{\"title\":\"$:/plugins/linonetwo/commandpalette/configs/TextAlias\",\"text\":\"text keywords\"},\"$:/plugins/linonetwo/commandpalette/configs/HideDefaultSearchBar\":{\"title\":\"$:/plugins/linonetwo/commandpalette/configs/HideDefaultSearchBar\",\"text\":\"no\"},\"$:/plugins/linonetwo/commandpalette/configs/TitlePriorityText\":{\"title\":\"$:/plugins/linonetwo/commandpalette/configs/TitlePriorityText\",\"text\":\"no\"},\"$:/plugins/linonetwo/commandpalette/configs/DesktopWidth\":{\"title\":\"$:/plugins/linonetwo/commandpalette/configs/DesktopWidth\",\"text\":\"80\"},\"$:/plugins/linonetwo/commandpalette/configs/DebounceDuration\":{\"title\":\"$:/plugins/linonetwo/commandpalette/configs/DebounceDuration\",\"text\":\"300\"},\"$:/plugins/linonetwo/commandpalette/icons/command-palette\":{\"title\":\"$:/plugins/linonetwo/commandpalette/icons/command-palette\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-button commandpalette-button\\\" viewBox=\\\"0 0 512 512\\\" style=\\\"transform: rotate(225deg);\\\">\\n \\n\\n\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/ShowControlPanel\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/ShowControlPanel\",\"text\":\"Show Control Panel\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Server\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Server\",\"text\":\"Server\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Fields/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Fields/Caption\",\"text\":\"Field names\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Fields/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Fields/Description\",\"text\":\"searches for all field names of all tiddlers in the wiki.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/ContentType/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/ContentType/Caption\",\"text\":\"View the content type.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/ContentType/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/ContentType/Description\",\"text\":\"lists the content types of all entries in the Wiki.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Languages/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Languages/Caption\",\"text\":\"list of languages\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Languages/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Languages/Description\",\"text\":\"Lists the installed languages.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Plugins/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Plugins/Caption\",\"text\":\"List of plugins.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Plugins/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Plugins/Description\",\"text\":\"List of installed plugins.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Themes/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Themes/Caption\",\"text\":\"List of themes.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Themes/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Themes/Description\",\"text\":\"List of installed themes.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Untagged/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Untagged/Caption\",\"text\":\"Untagged\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Untagged/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter/Untagged/Description\",\"text\":\"lists untagged entries, which can be difficult to find without tags\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Readme\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Readme\",\"text\":\"\\\\define lingo-base() $:/plugins/linonetwo/commandpalette/language/\\n\\n! <>\\n\\n<>\\n\\n!! Credits\\n\\nThis plugin references the design of [[Souk21/TW-commandpalette|https://github.com/Souk21/TW-commandpalette]], thanks to him for making the first version! This plugin upgrades and is written with TypeScript and [ext[algolia/autocomplete|https://github.com/algolia/autocomplete]], make it much more powerful and friendly to developers to extend its functionality.\\n\\n!! Feature\\n\\nPress ctrl/cmd + P to call up the search box, or add Shift to call up the command box (aka, command palette).\\n\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Name\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Name\",\"text\":\"Command Palette\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Description\",\"text\":\"Search the text of tiddlers, and execute commands in Tiddlywiki. Beautiful omni-bar and shortcut command center.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/Description\",\"text\":\"These settings let you customise the behaviour of \\\"Command Palette\\\" plugin.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/PluginConfigs/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/PluginConfigs/Caption\",\"text\":\"Plugin Configs\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/TitleAlias/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/TitleAlias/Caption\",\"text\":\"Fields regarded as title to search\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/TitleAlias/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/TitleAlias/Description\",\"text\":\"When searching title, you may want to include more fields to search. Separate fields with spaces, note that adding too many fields can cause lag.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/TextAlias/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/TextAlias/Caption\",\"text\":\"Fields regarded as text to search\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/TextAlias/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/TextAlias/Description\",\"text\":\"When searching text, you may want to include more fields to search. Separate fields with spaces, note that adding too many fields can cause lag.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/HideDefaultSearchBar/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/HideDefaultSearchBar/Caption\",\"text\":\"Hide default search bar\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/HideDefaultSearchBar/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/HideDefaultSearchBar/Description\",\"text\":\"If you only use commandpalette to search and don't need default search bar, check this box.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/DesktopWidth/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/DesktopWidth/Caption\",\"text\":\"Width on desktop mode\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/DesktopWidth/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/DesktopWidth/Description\",\"text\":\"Width of the input and result boxes on the screen (does not affect mobile, which is full screen by default)\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/TitlePriorityText/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/TitlePriorityText/Caption\",\"text\":\"Title higher than text.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/TitlePriorityText/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/TitlePriorityText/Description\",\"text\":\"When checked, title search results will be listed on the top, and text search results will be listed below, when searching user tiddlers. (The result on the bottom can be selected by pressing the ↑ up arrow key to circle go to the bottom of the search results)\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/DebounceDuration/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/DebounceDuration/Caption\",\"text\":\"Search debounce duration\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/DebounceDuration/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Configs/DebounceDuration/Description\",\"text\":\"Pressing a key to search once will lead to lagging, here set the search anti-shake duration, meaning two consecutive key presses within this duration will be judged as inputting, and will wait for you to finish typing before searching, in milliseconds.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/SystemTitle\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/SystemTitle\",\"text\":\"Title of system tiddler\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/UserTitle\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/UserTitle\",\"text\":\"Title of user tiddler\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/UserTitlePinyin\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/UserTitlePinyin\",\"text\":\"Title Pinyin of user tiddler\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/UserText\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/UserText\",\"text\":\"Text of user tiddler\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/StoryHistory\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/StoryHistory\",\"text\":\"Story history\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Filter\",\"text\":\"Pick build-in filters\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/UnderFilter\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/UnderFilter\",\"text\":\"Further search based on filters\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Tagging\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Tagging\",\"text\":\"User tiddlers with tags\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Message\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Message\",\"text\":\"Trigger system message\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Layout\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Layout\",\"text\":\"Switch layout\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Config\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Config\",\"text\":\"Open config\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Tags\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Tags\",\"text\":\"Tags\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help\",\"text\":\"Command palette usage\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/ActionString\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/ActionString\",\"text\":\"Trigger action string\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/CurrentTiddler\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/CurrentTiddler\",\"text\":\"Current tiddler\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/CurrentLayout\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/CurrentLayout\",\"text\":\"Current layout\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/NoResult\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/NoResult\",\"text\":\"No result or no uniq result\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/Help/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/Help/Caption\",\"text\":\"Help\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/Help/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/Help/Description\",\"text\":\"Usage of the command menu, describes what the command menu will search when different prefixes are added to the search box.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/Filter/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/Filter/Caption\",\"text\":\"Filters\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/Filter/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/Filter/Description\",\"text\":\"A two-step process, first search for a preset filter or a customized filter, enter to confirm the selection; then continue to search in the filter results, enter to open the tiddler. In the second step, only user tiddlers are searched by default, and system tiddlers can be included by adding a prefix to the system entry search.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/User/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/User/Caption\",\"text\":\"User tiddlers\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/User/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/User/Description\",\"text\":\"Not prefixed, just typed, you can search for the title and content of your tiddlers. Enter to select (currently mouse isn't available), Ctrl + Enter will copy the selected content to the clipboard, easy to paste.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/System/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/System/Caption\",\"text\":\"System tiddlers\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/System/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/System/Description\",\"text\":\"Searches for individual micro-system features such as available system messages, layouts, settings, etc.\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/Tags/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/Tags/Caption\",\"text\":\"Tags\"},\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/Tags/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/en-GB/Help/Tags/Description\",\"text\":\"In two steps, first search for all tags in the Knowledge Base, enter to confirm selection; then continue searching in tiddlers with this tag added, enter to open the tiddler. In the second step, only user tiddlers are searched by default, and system tiddlers can be included by adding a prefix to the system entry search.\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/ShowControlPanel\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/ShowControlPanel\",\"text\":\"打开命令菜单\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Server\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Server\",\"text\":\"服务器\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Fields/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Fields/Caption\",\"text\":\"字段名\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Fields/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Fields/Description\",\"text\":\"搜索Wiki里所有条目涉及到的所有字段名\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/ContentType/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/ContentType/Caption\",\"text\":\"查看内容类型\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/ContentType/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/ContentType/Description\",\"text\":\"列出所有Wiki里涉及到的条目的内容类型\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Languages/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Languages/Caption\",\"text\":\"语言列表\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Languages/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Languages/Description\",\"text\":\"列出已安装的语言的列表\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Plugins/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Plugins/Caption\",\"text\":\"插件列表\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Plugins/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Plugins/Description\",\"text\":\"列出已安装的插件的列表\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Themes/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Themes/Caption\",\"text\":\"主题列表\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Themes/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Themes/Description\",\"text\":\"列出已安装的主题的列表\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Untagged/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Untagged/Caption\",\"text\":\"未打标签\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Untagged/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter/Untagged/Description\",\"text\":\"列出未打标签的条目,无标签会让它们难以找到\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Readme\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Readme\",\"text\":\"\\\\define lingo-base() $:/plugins/linonetwo/commandpalette/language/\\n\\n! <>\\n\\n<>\\n\\n!! 致谢\\n\\n该插件参考了[[Souk21/TW-commandpalette|https://github.com/Souk21/TW-commandpalette]]的设计,感谢他制作的第一版!本插件升级并采用了 TypeScript 和[ext[algolia/autocomplete|https://github.com/algolia/autocomplete]]编写,因此功能更强大,对开发人员扩展其功能也更友好。\\n\\n!! 功能\\n\\n按下 ctrl/cmd + P 唤起搜索框,按的时候如果多加一个 Shift 可以唤起功能框。\\n\\n如果你还安装了[ext[linonetwo/pinyin-fuzzy-search|https://tw-cpl.netlify.app/#linonetwo%2Fpinyin-fuzzy-search:Index%20linonetwo%2Fpinyin-fuzzy-search]]插件,那么搜索的时候可以打拼音。\\n\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Name\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Name\",\"text\":\"命令菜单\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Description\",\"text\":\"搜索条目文本,以及执行太微中的命令。美观大方的多合一搜索框和快捷指令中心。\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/Description\",\"text\":\"通过这些设置,您可以自定义「命令菜单」插件的行为。\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/PluginConfigs/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/PluginConfigs/Caption\",\"text\":\"插件设置\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/TitleAlias/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/TitleAlias/Caption\",\"text\":\"视为标题的字段\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/TitleAlias/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/TitleAlias/Description\",\"text\":\"搜索标题时,您可能希望包含更多的字段加入搜索。字段之间用空格隔开,注意加入过多字段会变卡。\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/TextAlias/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/TextAlias/Caption\",\"text\":\"视为正文文本的字段\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/TextAlias/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/TextAlias/Description\",\"text\":\"搜索正文文本时,您可能希望包含更多的字段加入搜索。字段之间用空格隔开,注意加入过多字段会变卡。\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/HideDefaultSearchBar/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/HideDefaultSearchBar/Caption\",\"text\":\"隐藏默认搜索栏\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/HideDefaultSearchBar/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/HideDefaultSearchBar/Description\",\"text\":\"如果您只使用命令菜单搜索,不需要默认搜索栏,请选中此复选框。\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/DesktopWidth/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/DesktopWidth/Caption\",\"text\":\"桌面模式宽度\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/DesktopWidth/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/DesktopWidth/Description\",\"text\":\"输入框和结果框占屏幕的宽度(不影响移动端,移动端默认全屏)\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/TitlePriorityText/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/TitlePriorityText/Caption\",\"text\":\"标题高于内容\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/TitlePriorityText/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/TitlePriorityText/Description\",\"text\":\"勾选后,在搜索用户内容时,将标题搜索结果排在上面,内容搜索结果排在下面。(下面的内容可以通过按↑上方向键转到搜索结果的底部来选择)\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/DebounceDuration/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/DebounceDuration/Caption\",\"text\":\"搜索防抖时长\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/DebounceDuration/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Configs/DebounceDuration/Description\",\"text\":\"按一个键就搜一次会导致卡顿,这里设置搜索防抖时长,意思是两次连续按键在这个时长内就判定为输入中,就会等你输入完再搜索,单位毫秒。\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/UserTitle\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/UserTitle\",\"text\":\"用户条目标题\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/SystemTitle\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/SystemTitle\",\"text\":\"系统条目标题\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/UserTitlePinyin\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/UserTitlePinyin\",\"text\":\"用户条目标题拼音\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/UserText\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/UserText\",\"text\":\"用户条目内容文本\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/StoryHistory\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/StoryHistory\",\"text\":\"故事流浏览历史\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Filter\",\"text\":\"选择预置筛选器\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/UnderFilter\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/UnderFilter\",\"text\":\"基于筛选器进一步搜索\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Tagging\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Tagging\",\"text\":\"带标签的用户条目\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Message\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Message\",\"text\":\"触发系统消息\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Layout\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Layout\",\"text\":\"切换布局\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Config\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Config\",\"text\":\"打开设置\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Tags\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Tags\",\"text\":\"标签\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help\",\"text\":\"命令菜单用法\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/ActionString\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/ActionString\",\"text\":\"触发动作字符串\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/CurrentTiddler\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/CurrentTiddler\",\"text\":\"当前条目\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/CurrentLayout\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/CurrentLayout\",\"text\":\"当前布局\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/NoResult\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/NoResult\",\"text\":\"无结果或结果重复\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/Help/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/Help/Caption\",\"text\":\"帮助\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/Help/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/Help/Description\",\"text\":\"命令菜单用法,介绍在搜索框里加上不同前缀时,命令菜单将会搜索的内容。\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/Filter/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/Filter/Caption\",\"text\":\"筛选器\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/Filter/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/Filter/Description\",\"text\":\"分为两步,首先搜索预置筛选器或自定义筛选器,回车确认选中;然后在筛选结果中继续搜索,回车打开条目。第二步里,默认只搜索用户条目,可加上系统条目搜索的前缀来包括系统条目。\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/User/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/User/Caption\",\"text\":\"用户条目\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/User/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/User/Description\",\"text\":\"什么前缀也不加,直接打字,可以搜索你的条目的标题和内容。回车选中(目前无法用鼠标选中),Ctrl+回车会复制选中的内容到剪贴板,方便黏贴。\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/System/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/System/Caption\",\"text\":\"系统条目\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/System/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/System/Description\",\"text\":\"带有这个前缀时,可以搜索各太微系统功能,如可用的系统消息、布局、设置等。\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/Tags/Caption\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/Tags/Caption\",\"text\":\"标签\"},\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/Tags/Description\":{\"title\":\"$:/plugins/linonetwo/commandpalette/language/zh-Hans/Help/Tags/Description\",\"text\":\"分为两步,首先搜索知识库中所有的标签,回车确认选中;然后在加了这个标签的条目中继续搜索,回车打开条目。第二步里,默认只搜索用户条目,可加上系统条目搜索的前缀来包括系统条目。\"},\"$:/plugins/linonetwo/commandpalette/readme\":{\"title\":\"$:/plugins/linonetwo/commandpalette/readme\",\"text\":\"\\\\define lingo-base() $:/plugins/linonetwo/commandpalette/language/\\n\\n<>\\n\"},\"$:/config/ShortcutInfo/open-command-palette\":{\"title\":\"$:/config/ShortcutInfo/open-command-palette\",\"created\":\"20200531223953066\",\"modified\":\"20200531224011568\",\"tags\":\"\",\"text\":\"Open the command palette\"},\"$:/config/shortcuts-mac/open-command-palette\":{\"title\":\"$:/config/shortcuts-mac/open-command-palette\",\"text\":\"cmd-P\"},\"$:/config/shortcuts/open-command-palette\":{\"title\":\"$:/config/shortcuts/open-command-palette\",\"text\":\"ctrl-P\"},\"$:/plugins/linonetwo/commandpalette/CommandPalette\":{\"title\":\"$:/plugins/linonetwo/commandpalette/CommandPalette\",\"key\":\"((open-command-palette))\",\"tags\":\"$:/tags/KeyboardShortcut\",\"text\":\"<$action-sendmessage $message=\\\"open-command-palette\\\"/>\"},\"$:/config/ShortcutInfo/open-command-palette-command-mode\":{\"title\":\"$:/config/ShortcutInfo/open-command-palette-command-mode\",\"tags\":\"\",\"text\":\"Open the command palette in command mode\"},\"$:/config/shortcuts-mac/open-command-palette-command-mode\":{\"title\":\"$:/config/shortcuts-mac/open-command-palette-command-mode\",\"text\":\"cmd-shift-P\"},\"$:/config/shortcuts/open-command-palette-command-mode\":{\"title\":\"$:/config/shortcuts/open-command-palette-command-mode\",\"text\":\"ctrl-shift-P\"},\"$:/plugins/linonetwo/commandpalette/CommandPaletteCommandMode\":{\"title\":\"$:/plugins/linonetwo/commandpalette/CommandPaletteCommandMode\",\"key\":\"((open-command-palette-command-mode))\",\"tags\":\"$:/tags/KeyboardShortcut\",\"text\":\"<$action-sendmessage $message=\\\"open-command-palette\\\" prefix=\\\"$\\\" />\"},\"$:/config/ShortcutInfo/command-palette-switch-history\":{\"title\":\"$:/config/ShortcutInfo/command-palette-switch-history\",\"tags\":\"\",\"text\":\"Switch to previously opened tiddler\"},\"$:/config/shortcuts/command-palette-switch-history\":{\"title\":\"$:/config/shortcuts/command-palette-switch-history\",\"text\":\"ctrl-tab\"},\"$:/plugins/linonetwo/commandpalette/CommandPaletteSwitchHistory\":{\"title\":\"$:/plugins/linonetwo/commandpalette/CommandPaletteSwitchHistory\",\"key\":\"((command-palette-switch-history))\",\"tags\":\"$:/tags/KeyboardShortcut\",\"text\":\"<$action-sendmessage $message=\\\"open-command-palette\\\" historyMode=\\\"yes\\\"/>\"},\"$:/config/ShortcutInfo/command-palette-switch-history-back\":{\"title\":\"$:/config/ShortcutInfo/command-palette-switch-history-back\",\"tags\":\"\",\"text\":\"Switch to previously opened tiddler (Inversed)\"},\"$:/config/shortcuts/command-palette-switch-history-back\":{\"title\":\"$:/config/shortcuts/command-palette-switch-history-back\",\"text\":\"ctrl-shift-tab\"},\"$:/plugins/linonetwo/commandpalette/CommandPaletteSwitchHistoryBack\":{\"title\":\"$:/plugins/linonetwo/commandpalette/CommandPaletteSwitchHistoryBack\",\"key\":\"((command-palette-switch-history-back))\",\"tags\":\"$:/tags/KeyboardShortcut\",\"text\":\"<$action-sendmessage $message=\\\"open-command-palette\\\" historyMode=\\\"yes\\\"/>\"},\"$:/plugins/linonetwo/commandpalette/styles/DefaultCommandPalette.css\":{\"title\":\"$:/plugins/linonetwo/commandpalette/styles/DefaultCommandPalette.css\",\"tags\":\"$:/tags/Stylesheet\",\"text\":\"\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline html\\n\\n:root {\\n --position-autocomplete-panel-top: 5em;\\n}\\n.aa-Panel {\\n /**\\n * container of command input can't be position fix, otherwise need a hack\\n * https://github.com/algolia/autocomplete/issues/1199\\n */\\n position: fixed !important;\\n top: calc(var(--position-autocomplete-panel-top) + 0.25em) !important;\\n z-index: 9999;\\n}\\n.tw-commandpalette-default-container {\\n position: fixed;\\n background: <>;\\n z-index: 9998;\\n top: 5em;\\n left: 50%;\\n transform: translate(-50%, 0%);\\n /** fallback to 80% of root widget */\\n width: 80%;\\n width: {{$:/plugins/linonetwo/commandpalette/configs/DesktopWidth}}%;\\n flex-direction: column;\\n}\\ndiv.aa-DetachedContainer div.aa-Panel {\\n /** height of .aa-DetachedFormContainer */\\n top: 65px !important;\\n width: 100%;\\n height: 100%;\\n}\\n.tw-default-commandpalette-mask-layer {\\n position: fixed;\\n z-index: 9997;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n width: 100vw;\\n height: 100vh;\\n background: <>;\\n opacity: 0.5;\\n filter: contrast(130%);\\n min-width: 200px !important;\\n transition: opacity {{$:/config/AnimationDuration}}ms;\\n backdrop-filter: blur(10px);\\n overscroll-behavior: contain;\\n overscroll-behavior: none;\\n}\\n\\ndiv.aa-SourceHeader {\\n border-bottom: 1px solid;\\n padding-bottom: 0.3em;\\n padding-top: 0.3em;\\n opacity: 0.5;\\n}\\ndiv.tw-commandpalette-layout-result {\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n}\\n\"},\"$:/plugins/linonetwo/commandpalette/styles/HideVanillaSearch.css\":{\"title\":\"$:/plugins/linonetwo/commandpalette/styles/HideVanillaSearch.css\",\"tags\":\"$:/tags/Stylesheet\",\"text\":\"<$list filter=\\\"[[$:/plugins/linonetwo/commandpalette/configs/HideDefaultSearchBar]get[text]else[no]match[yes]]\\\">\\n.tc-sidebar-lists.tc-sidebar-search {\\n display: none;\\n}\\n\\n\"},\"$:/core/ui/CommandPaletteTemplate\":{\"title\":\"$:/core/ui/CommandPaletteTemplate\",\"tags\":\"$:/tags/PageTemplate\",\"text\":\"<$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/CommandPalette]!has[draft.of]]\\\">\\n<$transclude/>\\n\"},\"$:/core/ui/Buttons/CommandPalette\":{\"title\":\"$:/core/ui/Buttons/CommandPalette\",\"caption\":\"{{$:/plugins/linonetwo/commandpalette/icons/command-palette}} Command Palette\",\"description\":\"Open Command Palette\",\"tags\":\"$:/tags/PageControls\",\"text\":\"\\\\whitespace trim\\n<$button\\n class=<>\\n message=\\\"open-command-palette\\\"\\n tooltip=\\\"Open Command Palette\\\"\\n aria-label=\\\"Command Palette\\\"\\n>\\n <% if [match[yes]] %>\\n {{$:/plugins/linonetwo/commandpalette/icons/command-palette}}\\n <% endif %>\\n <% if [match[yes]] %>\\n \\n <$text text=\\\"Command Palette\\\"/>\\n \\n <% endif %>\\n\\n\"},\"$:/plugins/linonetwo/commandpalette/tree\":{\"title\":\"$:/plugins/linonetwo/commandpalette/tree\",\"text\":\"<>\"},\"$:/plugins/linonetwo/commandpalette/message-handlers/startup.js\":{\"title\":\"$:/plugins/linonetwo/commandpalette/message-handlers/startup.js\",\"type\":\"application/javascript\",\"module-type\":\"startup\",\"Modern.TiddlyDev#Origin\":\"message-handlers/startup.ts\",\"text\":\"\\\"use strict\\\";exports.name=\\\"commandpalette/message-handlers/startup\\\",exports.after=[\\\"startup\\\"],exports.synchronous=!0,exports.startup=function(){$tw.rootWidget.addEventListener(\\\"open-command-palette\\\",e=>{var t=$tw.hooks.invokeHook(\\\"th-open-command-palette\\\",e),o=(null==(o=null==t?void 0:t.paramObject)?void 0:o.id)||\\\"default\\\",a=(null==(a=null==t?void 0:t.paramObject)?void 0:a.prefix)||\\\"\\\",t=(null==(t=null==t?void 0:t.paramObject)?void 0:t.historyMode)||\\\"no\\\";return $tw.wiki.addTiddler({title:\\\"$:/temp/commandpalette/\\\".concat(o,\\\"/opened\\\"),text:\\\"yes\\\",prefix:a,historyMode:t}),!1}),$tw.rootWidget.addEventListener(\\\"close-command-palette\\\",e=>{var t=$tw.hooks.invokeHook(\\\"th-close-command-palette\\\",e),t=(null==t?void 0:t.param)||\\\"default\\\";return $tw.wiki.deleteTiddler(\\\"$:/temp/commandpalette/\\\".concat(t,\\\"/opened\\\")),!1})};\"},\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/command-action-string.js\":{\"title\":\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/command-action-string.js\",\"tags\":\"$:/tags/CommandPalettePlugin\",\"type\":\"application/javascript\",\"module-type\":\"library\",\"priority\":\"20\",\"Modern.TiddlyDev#Origin\":\"widgets/build-in-sub-plugins/command-action-string.ts\",\"text\":\"\\\"use strict\\\";var _a,_b,_c,_d,_a2,_b2,_a3,_b3,_a4,_b4,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var i in t)__defProp(e,i,{get:t[i],enumerable:!0})},__copyProps=(t,i,n,r)=>{if(i&&\\\"object\\\"==typeof i||\\\"function\\\"==typeof i)for(let e of __getOwnPropNames(i))__hasOwnProp.call(t,e)||e===n||__defProp(t,e,{get:()=>i[e],enumerable:!(r=__getOwnPropDesc(i,e))||r.enumerable});return t},__toCommonJS=e=>__copyProps(__defProp({},\\\"__esModule\\\",{value:!0}),e),command_action_string_exports={},systemPrefixes=(__export(command_action_string_exports,{plugin:()=>plugin}),module.exports=__toCommonJS(command_action_string_exports),null==(_d=null==(_c=null==(_b=null==(_a=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/System\\\"))?void 0:_a.fields)?void 0:_b[\\\"command-palette-prefix\\\"])?void 0:_c.split(\\\" \\\"))?void 0:_d.filter(Boolean)),filterPrefix=null==(_b2=null==(_a2=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Filter\\\"))?void 0:_a2.fields)?void 0:_b2[\\\"command-palette-prefix\\\"],tagsPrefix=null==(_b3=null==(_a3=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Tags\\\"))?void 0:_a3.fields)?void 0:_b3[\\\"command-palette-prefix\\\"],helpPrefix=null==(_b4=null==(_a4=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Help\\\"))?void 0:_a4.fields)?void 0:_b4[\\\"command-palette-prefix\\\"];function checkIsSearchSystem(e){return Boolean(null==systemPrefixes?void 0:systemPrefixes.includes(e.query[0]))}function checkIsUnderFilter(e){return Boolean(e.state.context.filter)}function debouncePromise(i,n){let r;return async function(...t){return r&&clearTimeout(r),new Promise(e=>{r=setTimeout(()=>{e(i(...t))},n)})}}var _a5,_b5,_a6,_b6,debounceDuration=Number($tw.wiki.getTiddlerText(\\\"$:/plugins/linonetwo/commandpalette/configs/DebounceDuration\\\",\\\"300\\\")),debounced=debouncePromise(async e=>Promise.resolve(e),debounceDuration),isInTidGiDesktop=\\\"undefined\\\"!=typeof document&&(null==(_b5=null==(_a5=null==document?void 0:document.location)?void 0:_a5.protocol)?void 0:_b5.startsWith(\\\"tidgi\\\")),tidGiWorkspaceID=null==(_b6=null==(_a6=window.meta)?void 0:_a6.call(window))?void 0:_b6.workspaceID;async function filterTiddlersAsync(t,i,n){if(isInTidGiDesktop&&\\\"service\\\"in window){var r=window.service.wiki;let e;!0===i&&(e=await r.wikiOperationInServer(\\\"wiki-get-tiddler-text\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]),await r.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",\\\"yes\\\"]));var o=await r.callWikiIpcServerRoute(tidGiWorkspaceID,\\\"getTiddlersJSON\\\",t,n);return!0===i&&(void 0===e?await r.wikiOperationInServer(\\\"wiki-delete-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]):await r.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",e])),o.data}return $tw.wiki.filterTiddlers(t).map(e=>{var t;return null==(t=$tw.wiki.getTiddler(e))?void 0:t.fields}).filter(Boolean)}var lingoBase=\\\"$:/plugins/linonetwo/commandpalette/language/\\\";function lingo(e){const t=$tw.wiki.filterTiddlers(\\\"[[$:/language]get[text]get[name]else[en-GB]]\\\")[0];return $tw.wiki.getGlobalCache(\\\"lingo-\\\".concat(t,\\\"-\\\").concat(e),()=>$tw.wiki.getTiddlerText(\\\"\\\".concat(lingoBase).concat(t,\\\"/\\\").concat(e),e))}function renderTextWithCache(e,t,i){return void 0===e||\\\"string\\\"!=typeof e?\\\"\\\":$tw.wiki.getGlobalCache(\\\"wikify-\\\".concat(e),()=>$tw.wiki.renderText(\\\"text/plain\\\",\\\"text/vnd.tiddlywiki\\\",\\\"\\\\\\\\import [[$:/core/macros/lingo]]\\\\n\\\\n\\\".concat(e),{parentWidget:t,variables:i}))}var plugin={async getSources(t){if(0===t.query.length)return[];if(!checkIsSearchSystem(t)||checkIsUnderFilter(t))return[];const i=$tw.wiki.getTiddlerText(\\\"$:/temp/focussedTiddler\\\"),n={currentTiddler:null!=i?i:\\\"\\\",commandpaletteinput:t.query.slice(1)},r=t.state.context[\\\"widget\\\"];return debounced([{sourceId:\\\"actionString\\\",async getItems({query:t}){return\\\"\\\"===t?[]:(await filterTiddlersAsync(\\\"[all[tiddlers+shadows]tag[$:/tags/Actions]]\\\",!0,[])).filter(e=>0<$tw.wiki.filterTiddlers(\\\"[search[\\\".concat(t.slice(1),\\\"]]\\\"),void 0,$tw.wiki.makeTiddlerIterator([e.title.replace(\\\"$:/plugins/\\\",\\\"\\\").replace(\\\"linonetwo/commandpalette/\\\",\\\"\\\"),renderTextWithCache(e.caption,r),renderTextWithCache(e.description,r)])).length)},getItemUrl({item:e}){return e.title},onSelect({item:e}){t.setContext({noNavigate:!0}),null!=r&&r.invokeActionString(e.text,r,null,n)},templates:{header(){var e;let t=i?null==(e=null==(e=$tw.wiki.getTiddler(i))?void 0:e.fields)?void 0:e.caption:\\\"\\\";return t=t&&\\\"(\\\".concat(renderTextWithCache(t,r,n),\\\")\\\"),\\\"\\\".concat(lingo(\\\"ActionString\\\"),\\\" - \\\").concat(lingo(\\\"CurrentTiddler\\\"),\\\": \\\").concat(i,\\\" \\\").concat(t)},item({item:e}){var t=e.description?\\\" (\\\".concat(renderTextWithCache(e.description,r,n),\\\")\\\"):\\\"\\\";return\\\"\\\".concat(renderTextWithCache(e.caption,r,n)).concat(t)||e.title}}}])}};\"},\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/command-message.js\":{\"title\":\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/command-message.js\",\"tags\":\"$:/tags/CommandPalettePlugin\",\"type\":\"application/javascript\",\"module-type\":\"library\",\"priority\":\"20\",\"Modern.TiddlyDev#Origin\":\"widgets/build-in-sub-plugins/command-message.ts\",\"text\":\"\\\"use strict\\\";var _a,_b,_c,_d,_a2,_b2,_a3,_b3,_a4,_b4,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var i in t)__defProp(e,i,{get:t[i],enumerable:!0})},__copyProps=(t,i,r,n)=>{if(i&&\\\"object\\\"==typeof i||\\\"function\\\"==typeof i)for(let e of __getOwnPropNames(i))__hasOwnProp.call(t,e)||e===r||__defProp(t,e,{get:()=>i[e],enumerable:!(n=__getOwnPropDesc(i,e))||n.enumerable});return t},__toCommonJS=e=>__copyProps(__defProp({},\\\"__esModule\\\",{value:!0}),e),command_message_exports={},systemPrefixes=(__export(command_message_exports,{plugin:()=>plugin}),module.exports=__toCommonJS(command_message_exports),null==(_d=null==(_c=null==(_b=null==(_a=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/System\\\"))?void 0:_a.fields)?void 0:_b[\\\"command-palette-prefix\\\"])?void 0:_c.split(\\\" \\\"))?void 0:_d.filter(Boolean)),filterPrefix=null==(_b2=null==(_a2=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Filter\\\"))?void 0:_a2.fields)?void 0:_b2[\\\"command-palette-prefix\\\"],tagsPrefix=null==(_b3=null==(_a3=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Tags\\\"))?void 0:_a3.fields)?void 0:_b3[\\\"command-palette-prefix\\\"],helpPrefix=null==(_b4=null==(_a4=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Help\\\"))?void 0:_a4.fields)?void 0:_b4[\\\"command-palette-prefix\\\"];function checkIsSearchSystem(e){return Boolean(null==systemPrefixes?void 0:systemPrefixes.includes(e.query[0]))}function checkIsUnderFilter(e){return Boolean(e.state.context.filter)}function debouncePromise(i,r){let n;return async function(...t){return n&&clearTimeout(n),new Promise(e=>{n=setTimeout(()=>{e(i(...t))},r)})}}var _a5,_b5,_a6,_b6,debounceDuration=Number($tw.wiki.getTiddlerText(\\\"$:/plugins/linonetwo/commandpalette/configs/DebounceDuration\\\",\\\"300\\\")),debounced=debouncePromise(async e=>Promise.resolve(e),debounceDuration),isInTidGiDesktop=\\\"undefined\\\"!=typeof document&&(null==(_b5=null==(_a5=null==document?void 0:document.location)?void 0:_a5.protocol)?void 0:_b5.startsWith(\\\"tidgi\\\")),tidGiWorkspaceID=null==(_b6=null==(_a6=window.meta)?void 0:_a6.call(window))?void 0:_b6.workspaceID;async function filterTiddlersAsync(t,i,r){if(isInTidGiDesktop&&\\\"service\\\"in window){var n=window.service.wiki;let e;!0===i&&(e=await n.wikiOperationInServer(\\\"wiki-get-tiddler-text\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]),await n.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",\\\"yes\\\"]));var o=await n.callWikiIpcServerRoute(tidGiWorkspaceID,\\\"getTiddlersJSON\\\",t,r);return!0===i&&(void 0===e?await n.wikiOperationInServer(\\\"wiki-delete-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]):await n.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",e])),o.data}return $tw.wiki.filterTiddlers(t).map(e=>{var t;return null==(t=$tw.wiki.getTiddler(e))?void 0:t.fields}).filter(Boolean)}var lingoBase=\\\"$:/plugins/linonetwo/commandpalette/language/\\\";function lingo(e){const t=$tw.wiki.filterTiddlers(\\\"[[$:/language]get[text]get[name]else[en-GB]]\\\")[0];return $tw.wiki.getGlobalCache(\\\"lingo-\\\".concat(t,\\\"-\\\").concat(e),()=>$tw.wiki.getTiddlerText(\\\"\\\".concat(lingoBase).concat(t,\\\"/\\\").concat(e),e))}function renderTextWithCache(e,t,i){return void 0===e||\\\"string\\\"!=typeof e?\\\"\\\":$tw.wiki.getGlobalCache(\\\"wikify-\\\".concat(e),()=>$tw.wiki.renderText(\\\"text/plain\\\",\\\"text/vnd.tiddlywiki\\\",\\\"\\\\\\\\import [[$:/core/macros/lingo]]\\\\n\\\\n\\\".concat(e),{parentWidget:t,variables:i}))}var plugin={async getSources(i){if(0===i.query.length)return[];if(!checkIsSearchSystem(i)||checkIsUnderFilter(i))return[];const r=$tw.wiki.getTiddlerText(\\\"$:/temp/focussedTiddler\\\"),n={currentTiddler:null!=r?r:\\\"\\\"},o=i.state.context[\\\"widget\\\"];return debounced([{sourceId:\\\"message\\\",async getItems({query:t}){return\\\"\\\"===t?[]:(await filterTiddlersAsync(\\\"[all[tiddlers+shadows]tag[$:/tags/Messages]]\\\",!0,[])).filter(e=>{var t=e[\\\"command-palette-filter\\\"];return!t||!r||0<$tw.wiki.filterTiddlers(t,void 0,$tw.wiki.makeTiddlerIterator([r])).length}).filter(e=>0<$tw.wiki.filterTiddlers(\\\"[search[\\\".concat(t.slice(1),\\\"]]\\\"),void 0,$tw.wiki.makeTiddlerIterator([e.title.replace(\\\"$:/plugins/linonetwo/commandpalette/\\\",\\\"\\\"),renderTextWithCache(e.caption,o),renderTextWithCache(e.description,o)])).length)},getItemUrl({item:e}){return e.title},onSelect({item:e}){var t;i.setContext({noNavigate:!0}),null!=(t=null==o?void 0:o.dispatchEvent)&&t.call(o,{type:e.text.trim(),tiddlerTitle:r})},templates:{header(){var e;let t=r?null==(e=null==(e=$tw.wiki.getTiddler(r))?void 0:e.fields)?void 0:e.caption:\\\"\\\";return t=t&&\\\"(\\\".concat(renderTextWithCache(t,o,n),\\\")\\\"),\\\"\\\".concat(lingo(\\\"Message\\\"),\\\" - \\\").concat(lingo(\\\"CurrentTiddler\\\"),\\\": \\\").concat(r,\\\" \\\").concat(t)},item({item:e}){var t=e.description?\\\" (\\\".concat(renderTextWithCache(e.description,o,n),\\\")\\\"):\\\"\\\";return\\\"\\\".concat(renderTextWithCache(e.caption,o,n)).concat(t)||e.title}}}])}};\"},\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-config.js\":{\"title\":\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-config.js\",\"tags\":\"$:/tags/CommandPalettePlugin\",\"type\":\"application/javascript\",\"module-type\":\"library\",\"priority\":\"15\",\"Modern.TiddlyDev#Origin\":\"widgets/build-in-sub-plugins/search-config.ts\",\"text\":\"\\\"use strict\\\";var _a,_b,_c,_d,_a2,_b2,_a3,_b3,_a4,_b4,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var i in t)__defProp(e,i,{get:t[i],enumerable:!0})},__copyProps=(t,i,n,r)=>{if(i&&\\\"object\\\"==typeof i||\\\"function\\\"==typeof i)for(let e of __getOwnPropNames(i))__hasOwnProp.call(t,e)||e===n||__defProp(t,e,{get:()=>i[e],enumerable:!(r=__getOwnPropDesc(i,e))||r.enumerable});return t},__toCommonJS=e=>__copyProps(__defProp({},\\\"__esModule\\\",{value:!0}),e),search_config_exports={},systemPrefixes=(__export(search_config_exports,{plugin:()=>plugin}),module.exports=__toCommonJS(search_config_exports),null==(_d=null==(_c=null==(_b=null==(_a=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/System\\\"))?void 0:_a.fields)?void 0:_b[\\\"command-palette-prefix\\\"])?void 0:_c.split(\\\" \\\"))?void 0:_d.filter(Boolean)),filterPrefix=null==(_b2=null==(_a2=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Filter\\\"))?void 0:_a2.fields)?void 0:_b2[\\\"command-palette-prefix\\\"],tagsPrefix=null==(_b3=null==(_a3=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Tags\\\"))?void 0:_a3.fields)?void 0:_b3[\\\"command-palette-prefix\\\"],helpPrefix=null==(_b4=null==(_a4=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Help\\\"))?void 0:_a4.fields)?void 0:_b4[\\\"command-palette-prefix\\\"];function checkIsSearchSystem(e){return Boolean(null==systemPrefixes?void 0:systemPrefixes.includes(e.query[0]))}function checkIsUnderFilter(e){return Boolean(e.state.context.filter)}function debouncePromise(i,n){let r;return async function(...t){return r&&clearTimeout(r),new Promise(e=>{r=setTimeout(()=>{e(i(...t))},n)})}}var _a5,_b5,_a6,_b6,debounceDuration=Number($tw.wiki.getTiddlerText(\\\"$:/plugins/linonetwo/commandpalette/configs/DebounceDuration\\\",\\\"300\\\")),debounced=debouncePromise(async e=>Promise.resolve(e),debounceDuration),isInTidGiDesktop=\\\"undefined\\\"!=typeof document&&(null==(_b5=null==(_a5=null==document?void 0:document.location)?void 0:_a5.protocol)?void 0:_b5.startsWith(\\\"tidgi\\\")),tidGiWorkspaceID=null==(_b6=null==(_a6=window.meta)?void 0:_a6.call(window))?void 0:_b6.workspaceID;async function filterTiddlersAsync(t,i,n){if(isInTidGiDesktop&&\\\"service\\\"in window){var r=window.service.wiki;let e;!0===i&&(e=await r.wikiOperationInServer(\\\"wiki-get-tiddler-text\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]),await r.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",\\\"yes\\\"]));var o=await r.callWikiIpcServerRoute(tidGiWorkspaceID,\\\"getTiddlersJSON\\\",t,n);return!0===i&&(void 0===e?await r.wikiOperationInServer(\\\"wiki-delete-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]):await r.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",e])),o.data}return $tw.wiki.filterTiddlers(t).map(e=>{var t;return null==(t=$tw.wiki.getTiddler(e))?void 0:t.fields}).filter(Boolean)}var lingoBase=\\\"$:/plugins/linonetwo/commandpalette/language/\\\";function lingo(e){const t=$tw.wiki.filterTiddlers(\\\"[[$:/language]get[text]get[name]else[en-GB]]\\\")[0];return $tw.wiki.getGlobalCache(\\\"lingo-\\\".concat(t,\\\"-\\\").concat(e),()=>$tw.wiki.getTiddlerText(\\\"\\\".concat(lingoBase).concat(t,\\\"/\\\").concat(e),e))}function renderTextWithCache(e,t,i){return void 0===e||\\\"string\\\"!=typeof e?\\\"\\\":$tw.wiki.getGlobalCache(\\\"wikify-\\\".concat(e),()=>$tw.wiki.renderText(\\\"text/plain\\\",\\\"text/vnd.tiddlywiki\\\",\\\"\\\\\\\\import [[$:/core/macros/lingo]]\\\\n\\\\n\\\".concat(e),{parentWidget:t,variables:i}))}var plugin={async getSources(e){if(0===e.query.length)return[];if(!checkIsSearchSystem(e)||checkIsUnderFilter(e))return[];const i=e.state.context[\\\"widget\\\"];return debounced([{sourceId:\\\"config\\\",async getItems({query:t}){return(await filterTiddlersAsync(\\\"[all[shadows]tag[$:/tags/ControlPanel/SettingsTab]]\\\",!0)).filter(e=>0<$tw.wiki.filterTiddlers(\\\"[search[\\\".concat(t.slice(1),\\\"]]\\\"),void 0,$tw.wiki.makeTiddlerIterator([renderTextWithCache(e.caption,i),e.text,e.title.replace(\\\"$:/plugins/\\\",\\\"\\\")])).length)},getItemUrl({item:e}){return e.title},templates:{header(){return lingo(\\\"Config\\\")},item({item:e}){return\\\"string\\\"==typeof e.caption&&\\\"\\\"!==e.caption?renderTextWithCache(e.caption,i):e.title}}}])}};\"},\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-filter.js\":{\"title\":\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-filter.js\",\"tags\":\"$:/tags/CommandPalettePlugin\",\"type\":\"application/javascript\",\"module-type\":\"library\",\"priority\":\"0\",\"Modern.TiddlyDev#Origin\":\"widgets/build-in-sub-plugins/search-filter.ts\",\"text\":\"\\\"use strict\\\";var _a,_b,_c,_d,_a2,_b2,_a3,_b3,_a4,_b4,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var i in t)__defProp(e,i,{get:t[i],enumerable:!0})},__copyProps=(t,i,r,n)=>{if(i&&\\\"object\\\"==typeof i||\\\"function\\\"==typeof i)for(let e of __getOwnPropNames(i))__hasOwnProp.call(t,e)||e===r||__defProp(t,e,{get:()=>i[e],enumerable:!(n=__getOwnPropDesc(i,e))||n.enumerable});return t},__toCommonJS=e=>__copyProps(__defProp({},\\\"__esModule\\\",{value:!0}),e),search_filter_exports={},systemPrefixes=(__export(search_filter_exports,{plugin:()=>plugin}),module.exports=__toCommonJS(search_filter_exports),null==(_d=null==(_c=null==(_b=null==(_a=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/System\\\"))?void 0:_a.fields)?void 0:_b[\\\"command-palette-prefix\\\"])?void 0:_c.split(\\\" \\\"))?void 0:_d.filter(Boolean)),filterPrefix=null==(_b2=null==(_a2=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Filter\\\"))?void 0:_a2.fields)?void 0:_b2[\\\"command-palette-prefix\\\"],tagsPrefix=null==(_b3=null==(_a3=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Tags\\\"))?void 0:_a3.fields)?void 0:_b3[\\\"command-palette-prefix\\\"],helpPrefix=null==(_b4=null==(_a4=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Help\\\"))?void 0:_a4.fields)?void 0:_b4[\\\"command-palette-prefix\\\"];function checkIsSearchSystem(e){return Boolean(null==systemPrefixes?void 0:systemPrefixes.includes(e.query[0]))}function checkIsFilter(e){return e.query[0]===filterPrefix}function checkIsUnderFilter(e){return Boolean(e.state.context.filter)}function debouncePromise(i,r){let n;return async function(...t){return n&&clearTimeout(n),new Promise(e=>{n=setTimeout(()=>{e(i(...t))},r)})}}var _a5,_b5,_a6,_b6,debounceDuration=Number($tw.wiki.getTiddlerText(\\\"$:/plugins/linonetwo/commandpalette/configs/DebounceDuration\\\",\\\"300\\\")),debounced=debouncePromise(async e=>Promise.resolve(e),debounceDuration),isInTidGiDesktop=\\\"undefined\\\"!=typeof document&&(null==(_b5=null==(_a5=null==document?void 0:document.location)?void 0:_a5.protocol)?void 0:_b5.startsWith(\\\"tidgi\\\")),tidGiWorkspaceID=null==(_b6=null==(_a6=window.meta)?void 0:_a6.call(window))?void 0:_b6.workspaceID;async function filterTiddlersAsync(t,i,r){if(isInTidGiDesktop&&\\\"service\\\"in window){var n=window.service.wiki;let e;!0===i&&(e=await n.wikiOperationInServer(\\\"wiki-get-tiddler-text\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]),await n.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",\\\"yes\\\"]));var o=await n.callWikiIpcServerRoute(tidGiWorkspaceID,\\\"getTiddlersJSON\\\",t,r);return!0===i&&(void 0===e?await n.wikiOperationInServer(\\\"wiki-delete-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]):await n.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",e])),o.data}return $tw.wiki.filterTiddlers(t).map(e=>{var t;return null==(t=$tw.wiki.getTiddler(e))?void 0:t.fields}).filter(Boolean)}var lingoBase=\\\"$:/plugins/linonetwo/commandpalette/language/\\\";function lingo(e){const t=$tw.wiki.filterTiddlers(\\\"[[$:/language]get[text]get[name]else[en-GB]]\\\")[0];return $tw.wiki.getGlobalCache(\\\"lingo-\\\".concat(t,\\\"-\\\").concat(e),()=>$tw.wiki.getTiddlerText(\\\"\\\".concat(lingoBase).concat(t,\\\"/\\\").concat(e),e))}function renderTextWithCache(e,t,i){return void 0===e||\\\"string\\\"!=typeof e?\\\"\\\":$tw.wiki.getGlobalCache(\\\"wikify-\\\".concat(e),()=>$tw.wiki.renderText(\\\"text/plain\\\",\\\"text/vnd.tiddlywiki\\\",\\\"\\\\\\\\import [[$:/core/macros/lingo]]\\\\n\\\\n\\\".concat(e),{parentWidget:t,variables:i}))}var plugin={async getSources(r){var e=[];if(checkIsFilter(r)){const n=r.state.context[\\\"widget\\\"];e.push({sourceId:\\\"build-in-filter\\\",async getItems({query:t}){var e,i;return\\\"\\\"===t?[]:(e=(await filterTiddlersAsync(\\\"[all[tiddlers+shadows]tag[$:/tags/Filter]]\\\",!0)).filter(e=>void 0!==e&&!(!e.filter||\\\"string\\\"!=typeof e.filter)).filter(e=>0<$tw.wiki.filterTiddlers(\\\"[search[\\\".concat(t.slice(1),\\\"]]\\\"),void 0,$tw.wiki.makeTiddlerIterator([e.title.replace(\\\"$:/plugins/\\\",\\\"\\\").replace(\\\"linonetwo/commandpalette/\\\",\\\"\\\"),renderTextWithCache(e.caption,n),renderTextWithCache(e.description,n),e.filter.trim().replaceAll(\\\"[\\\",\\\"\\\").replaceAll(\\\"]\\\",\\\"\\\")])).length),i={filter:t,title:\\\"\\\",type:\\\"\\\",text:\\\"\\\"},1{for(var i in t)__defProp(e,i,{get:t[i],enumerable:!0})},__copyProps=(t,i,n,l)=>{if(i&&\\\"object\\\"==typeof i||\\\"function\\\"==typeof i)for(let e of __getOwnPropNames(i))__hasOwnProp.call(t,e)||e===n||__defProp(t,e,{get:()=>i[e],enumerable:!(l=__getOwnPropDesc(i,e))||l.enumerable});return t},__toCommonJS=e=>__copyProps(__defProp({},\\\"__esModule\\\",{value:!0}),e),search_help_exports={},systemPrefixes=(__export(search_help_exports,{plugin:()=>plugin}),module.exports=__toCommonJS(search_help_exports),null==(_d=null==(_c=null==(_b=null==(_a=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/System\\\"))?void 0:_a.fields)?void 0:_b[\\\"command-palette-prefix\\\"])?void 0:_c.split(\\\" \\\"))?void 0:_d.filter(Boolean)),filterPrefix=null==(_b2=null==(_a2=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Filter\\\"))?void 0:_a2.fields)?void 0:_b2[\\\"command-palette-prefix\\\"],tagsPrefix=null==(_b3=null==(_a3=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Tags\\\"))?void 0:_a3.fields)?void 0:_b3[\\\"command-palette-prefix\\\"],helpPrefix=null==(_b4=null==(_a4=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Help\\\"))?void 0:_a4.fields)?void 0:_b4[\\\"command-palette-prefix\\\"];function checkIsHelp(e){return e.query[0]===helpPrefix||\\\"\\\"===e.query}function checkIsUnderFilter(e){return Boolean(e.state.context.filter)}var lingoBase=\\\"$:/plugins/linonetwo/commandpalette/language/\\\";function lingo(e){const t=$tw.wiki.filterTiddlers(\\\"[[$:/language]get[text]get[name]else[en-GB]]\\\")[0];return $tw.wiki.getGlobalCache(\\\"lingo-\\\".concat(t,\\\"-\\\").concat(e),()=>$tw.wiki.getTiddlerText(\\\"\\\".concat(lingoBase).concat(t,\\\"/\\\").concat(e),e))}function renderTextWithCache(e,t,i){return void 0===e||\\\"string\\\"!=typeof e?\\\"\\\":$tw.wiki.getGlobalCache(\\\"wikify-\\\".concat(e),()=>$tw.wiki.renderText(\\\"text/plain\\\",\\\"text/vnd.tiddlywiki\\\",\\\"\\\\\\\\import [[$:/core/macros/lingo]]\\\\n\\\\n\\\".concat(e),{parentWidget:t,variables:i}))}var plugin={getSources(t){const n=t.state.context[\\\"widget\\\"];return!checkIsHelp(t)||checkIsUnderFilter(t)?[]:[{sourceId:\\\"help\\\",getItems({query:t}){return $tw.wiki.filterTiddlers(\\\"[all[shadows]tag[$:/tags/CommandPaletteHelp]]\\\").map(e=>{var t;return null==(t=$tw.wiki.getTiddler(e))?void 0:t.fields}).filter(Boolean).filter(e=>0<$tw.wiki.filterTiddlers(\\\"[search[\\\".concat(t.slice(1),\\\"]]\\\"),void 0,$tw.wiki.makeTiddlerIterator([e.title.replace(\\\"$:/plugins/linonetwo/commandpalette/commands/help/\\\",\\\"\\\"),renderTextWithCache(e.caption,n),renderTextWithCache(e.description,n)])).length)},getItemUrl({item:e}){return e.title},onSelect({item:e}){t.setContext({noNavigate:!0,noClose:!0,newQuery:e[\\\"command-palette-prefix\\\"].charAt(0)})},templates:{header(){return lingo(\\\"Help\\\")},item({item:e,createElement:t}){var i=e.description?\\\" \\\".concat(renderTextWithCache(e.description,n)):\\\"\\\";return t(\\\"div\\\",{style:\\\"display:flex;flex-direction:column;\\\"},[t(\\\"div\\\",{style:\\\"margin-bottom:0.25em;\\\"},[t(\\\"em\\\",{style:\\\"margin-right:0.25em;\\\"},[e[\\\"command-palette-prefix\\\"]]),renderTextWithCache(e.caption,n)]),t(\\\"div\\\",{style:\\\"margin-bottom:0.3em;\\\"},i)])}}}]}};\"},\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-layout.js\":{\"title\":\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-layout.js\",\"tags\":\"$:/tags/CommandPalettePlugin\",\"type\":\"application/javascript\",\"module-type\":\"library\",\"priority\":\"25\",\"Modern.TiddlyDev#Origin\":\"widgets/build-in-sub-plugins/search-layout.ts\",\"text\":\"\\\"use strict\\\";var _a,_b,_c,_d,_a2,_b2,_a3,_b3,_a4,_b4,_a5,_b5,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var i in t)__defProp(e,i,{get:t[i],enumerable:!0})},__copyProps=(t,i,r,n)=>{if(i&&\\\"object\\\"==typeof i||\\\"function\\\"==typeof i)for(let e of __getOwnPropNames(i))__hasOwnProp.call(t,e)||e===r||__defProp(t,e,{get:()=>i[e],enumerable:!(n=__getOwnPropDesc(i,e))||n.enumerable});return t},__toCommonJS=e=>__copyProps(__defProp({},\\\"__esModule\\\",{value:!0}),e),search_layout_exports={},systemPrefixes=(__export(search_layout_exports,{plugin:()=>plugin}),module.exports=__toCommonJS(search_layout_exports),null==(_d=null==(_c=null==(_b=null==(_a=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/System\\\"))?void 0:_a.fields)?void 0:_b[\\\"command-palette-prefix\\\"])?void 0:_c.split(\\\" \\\"))?void 0:_d.filter(Boolean)),filterPrefix=null==(_b2=null==(_a2=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Filter\\\"))?void 0:_a2.fields)?void 0:_b2[\\\"command-palette-prefix\\\"],tagsPrefix=null==(_b3=null==(_a3=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Tags\\\"))?void 0:_a3.fields)?void 0:_b3[\\\"command-palette-prefix\\\"],helpPrefix=null==(_b4=null==(_a4=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Help\\\"))?void 0:_a4.fields)?void 0:_b4[\\\"command-palette-prefix\\\"];function checkIsSearchSystem(e){return Boolean(null==systemPrefixes?void 0:systemPrefixes.includes(e.query[0]))}function checkIsUnderFilter(e){return Boolean(e.state.context.filter)}var _a6,_b6,isInTidGiDesktop=\\\"undefined\\\"!=typeof document&&(null==(_b5=null==(_a5=null==document?void 0:document.location)?void 0:_a5.protocol)?void 0:_b5.startsWith(\\\"tidgi\\\")),tidGiWorkspaceID=null==(_b6=null==(_a6=window.meta)?void 0:_a6.call(window))?void 0:_b6.workspaceID;async function filterTiddlersAsync(t,i,r){if(isInTidGiDesktop&&\\\"service\\\"in window){var n=window.service.wiki;let e;!0===i&&(e=await n.wikiOperationInServer(\\\"wiki-get-tiddler-text\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]),await n.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",\\\"yes\\\"]));var o=await n.callWikiIpcServerRoute(tidGiWorkspaceID,\\\"getTiddlersJSON\\\",t,r);return!0===i&&(void 0===e?await n.wikiOperationInServer(\\\"wiki-delete-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]):await n.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",e])),o.data}return $tw.wiki.filterTiddlers(t).map(e=>{var t;return null==(t=$tw.wiki.getTiddler(e))?void 0:t.fields}).filter(Boolean)}function renderTextWithCache(e,t,i){return void 0===e||\\\"string\\\"!=typeof e?\\\"\\\":$tw.wiki.getGlobalCache(\\\"wikify-\\\".concat(e),()=>$tw.wiki.renderText(\\\"text/plain\\\",\\\"text/vnd.tiddlywiki\\\",\\\"\\\\\\\\import [[$:/core/macros/lingo]]\\\\n\\\\n\\\".concat(e),{parentWidget:t,variables:i}))}function renderHTMLWithCache(e,t,i){return void 0===e||\\\"string\\\"!=typeof e?\\\"\\\":$tw.wiki.getGlobalCache(\\\"wikify-html-\\\".concat(e),()=>$tw.wiki.renderText(\\\"text/html\\\",\\\"text/vnd.tiddlywiki\\\",\\\"\\\\\\\\import [[$:/core/macros/lingo]]\\\\n\\\\n\\\".concat(e),{parentWidget:t,variables:i}))}function getIconSvg(e,t){return renderHTMLWithCache($tw.wiki.getTiddlerText(e),t).replace(\\\"

\\\",\\\"\\\").replace(\\\"

\\\",\\\"\\\")}var lingoBase=\\\"$:/plugins/linonetwo/commandpalette/language/\\\";function lingo(e){const t=$tw.wiki.filterTiddlers(\\\"[[$:/language]get[text]get[name]else[en-GB]]\\\")[0];return $tw.wiki.getGlobalCache(\\\"lingo-\\\".concat(t,\\\"-\\\").concat(e),()=>$tw.wiki.getTiddlerText(\\\"\\\".concat(lingoBase).concat(t,\\\"/\\\").concat(e),e))}var plugin={getSources(t){if(0===t.query.length)return[];if(!checkIsSearchSystem(t)||checkIsUnderFilter(t))return[];const o=t.state.context[\\\"widget\\\"];return[{sourceId:\\\"layout\\\",async getItems({query:t}){return(await filterTiddlersAsync(\\\"[all[tiddlers+shadows]tag[$:/tags/Layout]] [[$:/core/ui/PageTemplate]] +[!is[draft]sort[name]]\\\",!0)).filter(e=>0<$tw.wiki.filterTiddlers(\\\"[search[\\\".concat(t.slice(1),\\\"]]\\\"),void 0,$tw.wiki.makeTiddlerIterator([renderTextWithCache(e.name,o),renderTextWithCache(e.description,o),e.title.replace(\\\"$:/plugins/\\\",\\\"\\\")])).length)},getItemUrl({item:e}){return e.title},onSelect({item:e}){t.setContext({noNavigate:!0}),$tw.wiki.setText(\\\"$:/layout\\\",\\\"text\\\",void 0,e.title,{suppressTimestamp:!0})},templates:{header(){var e=$tw.wiki.getTiddlerText(\\\"$:/layout\\\",\\\"\\\"),e=null==(e=null==(e=$tw.wiki.getTiddler(e))?void 0:e.fields)?void 0:e.name,e=e?renderTextWithCache(e,o):$tw.wiki.getTiddlerText(\\\"$:/language/PageTemplate/Name\\\");return\\\"\\\".concat(lingo(\\\"Layout\\\"),\\\" - \\\").concat(lingo(\\\"CurrentLayout\\\"),\\\": \\\").concat(e)},item({item:e,createElement:t}){var i,r,n;return\\\"string\\\"==typeof e.name&&\\\"\\\"!==e.name?(i=renderTextWithCache(e.name,o),r=renderTextWithCache(e.description,o),n=getIconSvg(e.icon,o),t(\\\"div\\\",{\\\"class\\\":\\\"tw-commandpalette-layout-result\\\",innerHTML:\\\"\\\".concat(n).concat(i).concat(r?\\\" - \\\".concat(r):\\\"\\\")})):e.title}}}]}};\"},\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-story-history.js\":{\"title\":\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-story-history.js\",\"tags\":\"$:/tags/CommandPalettePlugin\",\"type\":\"application/javascript\",\"module-type\":\"library\",\"priority\":\"0\",\"Modern.TiddlyDev#Origin\":\"widgets/build-in-sub-plugins/search-story-history.ts\",\"text\":\"\\\"use strict\\\";var _a,_b,_c,_d,_a2,_b2,_a3,_b3,_a4,_b4,__create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__esm=(e,o)=>function(){return o=e?(0,e[__getOwnPropNames(e)[0]])(e=0):o},__commonJS=(e,o)=>function(){return o||(0,e[__getOwnPropNames(e)[0]])((o={exports:{}}).exports,o),o.exports},__export=(e,o)=>{for(var t in o)__defProp(e,t,{get:o[t],enumerable:!0})},__copyProps=(o,t,r,n)=>{if(t&&\\\"object\\\"==typeof t||\\\"function\\\"==typeof t)for(let e of __getOwnPropNames(t))__hasOwnProp.call(o,e)||e===r||__defProp(o,e,{get:()=>t[e],enumerable:!(n=__getOwnPropDesc(t,e))||n.enumerable});return o},__toESM=(e,o,t)=>(t=null!=e?__create(__getProtoOf(e)):{},__copyProps(!o&&e&&e.__esModule?t:__defProp(t,\\\"default\\\",{value:e,enumerable:!0}),e)),__toCommonJS=e=>__copyProps(__defProp({},\\\"__esModule\\\",{value:!0}),e),init_esbuild_inject=__esm({\\\"node_modules/.pnpm/tiddlywiki-plugin-dev@0.2.0_postcss@8.4.38_ts-node@10.9.2_@types+node@20.12.12_typescript@5.4.5_/node_modules/tiddlywiki-plugin-dev/dist/js/esbuild-inject.js\\\"(){}}),require_freeGlobal=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_freeGlobal.js\\\"(e,o){init_esbuild_inject();var t=\\\"object\\\"==typeof global&&global&&global.Object===Object&&global;o.exports=t}}),require_root=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_root.js\\\"(e,o){init_esbuild_inject();var t=require_freeGlobal(),r=\\\"object\\\"==typeof self&&self&&self.Object===Object&&self,t=t||r||Function(\\\"return this\\\")();o.exports=t}}),require_Symbol=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Symbol.js\\\"(e,o){init_esbuild_inject();var t=require_root().Symbol;o.exports=t}}),require_getRawTag=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getRawTag.js\\\"(e,o){init_esbuild_inject();var t=require_Symbol(),r=Object.prototype,s=r.hasOwnProperty,_=r.toString,a=t?t.toStringTag:void 0;o.exports=function(e){var o=s.call(e,a),t=e[a];try{var r=!(e[a]=void 0)}catch(i){}var n=_.call(e);return r&&(o?e[a]=t:delete e[a]),n}}}),require_objectToString=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_objectToString.js\\\"(e,o){init_esbuild_inject();var t=Object.prototype.toString;o.exports=function(e){return t.call(e)}}}),require_baseGetTag=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseGetTag.js\\\"(e,o){init_esbuild_inject();var t=require_Symbol(),r=require_getRawTag(),n=require_objectToString(),i=t?t.toStringTag:void 0;o.exports=function(e){return null==e?void 0===e?\\\"[object Undefined]\\\":\\\"[object Null]\\\":(i&&i in Object(e)?r:n)(e)}}}),require_isObject=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isObject.js\\\"(e,o){init_esbuild_inject(),o.exports=function(e){var o=typeof e;return null!=e&&(\\\"object\\\"==o||\\\"function\\\"==o)}}}),require_isFunction=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isFunction.js\\\"(e,o){init_esbuild_inject();var t=require_baseGetTag(),r=require_isObject();o.exports=function(e){var o;return!!r(e)&&(\\\"[object Function]\\\"==(o=t(e))||\\\"[object GeneratorFunction]\\\"==o||\\\"[object AsyncFunction]\\\"==o||\\\"[object Proxy]\\\"==o)}}}),require_coreJsData=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_coreJsData.js\\\"(e,o){init_esbuild_inject();var t=require_root()[\\\"__core-js_shared__\\\"];o.exports=t}}),require_isMasked=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isMasked.js\\\"(e,o){init_esbuild_inject();var t=require_coreJsData(),r=(t=/[^.]+$/.exec(t&&t.keys&&t.keys.IE_PROTO||\\\"\\\"))?\\\"Symbol(src)_1.\\\"+t:\\\"\\\";o.exports=function(e){return!!r&&r in e}}}),require_toSource=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_toSource.js\\\"(e,o){init_esbuild_inject();var t=Function.prototype.toString;o.exports=function(e){if(null!=e){try{return t.call(e)}catch(o){}try{return e+\\\"\\\"}catch(o){}}return\\\"\\\"}}}),require_baseIsNative=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsNative.js\\\"(e,o){init_esbuild_inject();var t=require_isFunction(),r=require_isMasked(),n=require_isObject(),i=require_toSource(),s=/^\\\\[object .+?Constructor\\\\]$/,_=Function.prototype,a=Object.prototype,_=_.toString,a=a.hasOwnProperty,l=RegExp(\\\"^\\\"+_.call(a).replace(/[\\\\\\\\^$.*+?()[\\\\]{}|]/g,\\\"\\\\\\\\$&\\\").replace(/hasOwnProperty|(function).*?(?=\\\\\\\\\\\\()| for .+?(?=\\\\\\\\\\\\])/g,\\\"$1.*?\\\")+\\\"$\\\");o.exports=function(e){return!(!n(e)||r(e))&&(t(e)?l:s).test(i(e))}}}),require_getValue=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getValue.js\\\"(e,o){init_esbuild_inject(),o.exports=function(e,o){return null==e?void 0:e[o]}}}),require_getNative=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getNative.js\\\"(e,o){init_esbuild_inject();var r=require_baseIsNative(),n=require_getValue();o.exports=function(e,o){var t=n(e,o);return r(t)?t:void 0}}}),require_nativeCreate=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_nativeCreate.js\\\"(e,o){init_esbuild_inject();var t=require_getNative()(Object,\\\"create\\\");o.exports=t}}),require_hashClear=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashClear.js\\\"(e,o){init_esbuild_inject();var t=require_nativeCreate();o.exports=function(){this.__data__=t?t(null):{},this.size=0}}}),require_hashDelete=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashDelete.js\\\"(e,o){init_esbuild_inject(),o.exports=function(e){var o=this.has(e)&&delete this.__data__[e];return this.size-=o?1:0,o}}}),require_hashGet=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashGet.js\\\"(e,o){init_esbuild_inject();var r=require_nativeCreate(),n=Object.prototype.hasOwnProperty;o.exports=function(e){var o,t=this.__data__;return r?\\\"__lodash_hash_undefined__\\\"===(o=t[e])?void 0:o:n.call(t,e)?t[e]:void 0}}}),require_hashHas=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashHas.js\\\"(e,o){init_esbuild_inject();var t=require_nativeCreate(),r=Object.prototype.hasOwnProperty;o.exports=function(e){var o=this.__data__;return t?void 0!==o[e]:r.call(o,e)}}}),require_hashSet=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashSet.js\\\"(e,o){init_esbuild_inject();var r=require_nativeCreate();o.exports=function(e,o){var t=this.__data__;return this.size+=this.has(e)?0:1,t[e]=r&&void 0===o?\\\"__lodash_hash_undefined__\\\":o,this}}}),require_Hash=__commonJS({\\\"node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Hash.js\\\"(e,o){init_esbuild_inject();var t=require_hashClear(),r=require_hashDelete(),n=require_hashGet(),i=require_hashHas(),s=require_hashSet();function _(e){var o=-1,t=null==e?0:e.length;for(this.clear();++oplugin}),module.exports=__toCommonJS(search_story_history_exports),init_esbuild_inject(),__toESM(require_uniq())),systemPrefixes=(init_esbuild_inject(),null==(_d=null==(_c=null==(_b=null==(_a=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/System\\\"))?void 0:_a.fields)?void 0:_b[\\\"command-palette-prefix\\\"])?void 0:_c.split(\\\" \\\"))?void 0:_d.filter(Boolean)),filterPrefix=null==(_b2=null==(_a2=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Filter\\\"))?void 0:_a2.fields)?void 0:_b2[\\\"command-palette-prefix\\\"],tagsPrefix=null==(_b3=null==(_a3=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Tags\\\"))?void 0:_a3.fields)?void 0:_b3[\\\"command-palette-prefix\\\"],helpPrefix=null==(_b4=null==(_a4=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Help\\\"))?void 0:_a4.fields)?void 0:_b4[\\\"command-palette-prefix\\\"];function checkIsSearchUser(e){var o=e.query[0];return!(null!=systemPrefixes&&systemPrefixes.includes(o)||[filterPrefix,tagsPrefix,helpPrefix].includes(o))}function checkIsUnderFilter(e){return Boolean(e.state.context.filter)}init_esbuild_inject();var lingoBase=\\\"$:/plugins/linonetwo/commandpalette/language/\\\";function lingo(e){const o=$tw.wiki.filterTiddlers(\\\"[[$:/language]get[text]get[name]else[en-GB]]\\\")[0];return $tw.wiki.getGlobalCache(\\\"lingo-\\\".concat(o,\\\"-\\\").concat(e),()=>$tw.wiki.getTiddlerText(\\\"\\\".concat(lingoBase).concat(o,\\\"/\\\").concat(e),e))}function renderTextWithCache(e,o,t){return void 0===e||\\\"string\\\"!=typeof e?\\\"\\\":$tw.wiki.getGlobalCache(\\\"wikify-\\\".concat(e),()=>$tw.wiki.renderText(\\\"text/plain\\\",\\\"text/vnd.tiddlywiki\\\",\\\"\\\\\\\\import [[$:/core/macros/lingo]]\\\\n\\\\n\\\".concat(e),{parentWidget:o,variables:t}))}init_esbuild_inject();var plugin={getSources(e){const o=e.state.context[\\\"widget\\\"];return!checkIsSearchUser(e)||checkIsUnderFilter(e)?[]:[{sourceId:\\\"story-history\\\",getItems({query:e}){var o=null!=(o=$tw.wiki.getTiddlerData(\\\"$:/HistoryList\\\"))?o:[],o=(0,import_uniq[\\\"default\\\"])([...o.reverse().map(e=>e.title),...$tw.wiki.filterTiddlers(\\\"[list[$:/StoryList]]\\\")]);let t=[];var[o,r,...n]=(t=void 0===$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/pinyin-fuzzy-search/pinyin-fuzzy-search.js\\\")?$tw.wiki.filterTiddlers(\\\"[search:title[\\\".concat(e,\\\"]]\\\"),void 0,$tw.wiki.makeTiddlerIterator(o)):$tw.wiki.filterTiddlers(\\\"[pinyinfuse[\\\".concat(e,\\\"]]\\\"),void 0,$tw.wiki.makeTiddlerIterator(o))).map(e=>{var o;return null==(o=$tw.wiki.getTiddler(e))?void 0:o.fields}).filter(Boolean);return[r,o,...n].filter(Boolean)},getItemUrl({item:e}){return e.title},templates:{header(){return lingo(\\\"StoryHistory\\\")},item({item:e}){return\\\"string\\\"==typeof e.caption&&\\\"\\\"!==e.caption?\\\"\\\".concat(renderTextWithCache(e.caption,o),\\\" (\\\").concat(e.title,\\\")\\\"):e.title}}}]}};\"},\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-system-title.js\":{\"title\":\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-system-title.js\",\"tags\":\"$:/tags/CommandPalettePlugin\",\"type\":\"application/javascript\",\"module-type\":\"library\",\"priority\":\"5\",\"Modern.TiddlyDev#Origin\":\"widgets/build-in-sub-plugins/search-system-title.ts\",\"text\":\"\\\"use strict\\\";var _a,_b,_c,_d,_a2,_b2,_a3,_b3,_a4,_b4,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var i in t)__defProp(e,i,{get:t[i],enumerable:!0})},__copyProps=(t,i,o,r)=>{if(i&&\\\"object\\\"==typeof i||\\\"function\\\"==typeof i)for(let e of __getOwnPropNames(i))__hasOwnProp.call(t,e)||e===o||__defProp(t,e,{get:()=>i[e],enumerable:!(r=__getOwnPropDesc(i,e))||r.enumerable});return t},__toCommonJS=e=>__copyProps(__defProp({},\\\"__esModule\\\",{value:!0}),e),search_system_title_exports={},systemPrefixes=(__export(search_system_title_exports,{plugin:()=>plugin}),module.exports=__toCommonJS(search_system_title_exports),null==(_d=null==(_c=null==(_b=null==(_a=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/System\\\"))?void 0:_a.fields)?void 0:_b[\\\"command-palette-prefix\\\"])?void 0:_c.split(\\\" \\\"))?void 0:_d.filter(Boolean)),filterPrefix=null==(_b2=null==(_a2=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Filter\\\"))?void 0:_a2.fields)?void 0:_b2[\\\"command-palette-prefix\\\"],tagsPrefix=null==(_b3=null==(_a3=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Tags\\\"))?void 0:_a3.fields)?void 0:_b3[\\\"command-palette-prefix\\\"],helpPrefix=null==(_b4=null==(_a4=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Help\\\"))?void 0:_a4.fields)?void 0:_b4[\\\"command-palette-prefix\\\"];function checkIsSearchSystem(e){return Boolean(null==systemPrefixes?void 0:systemPrefixes.includes(e.query[0]))}function checkIsUnderFilter(e){return Boolean(e.state.context.filter)}function debouncePromise(i,o){let r;return async function(...t){return r&&clearTimeout(r),new Promise(e=>{r=setTimeout(()=>{e(i(...t))},o)})}}var _a5,_b5,_a6,_b6,debounceDuration=Number($tw.wiki.getTiddlerText(\\\"$:/plugins/linonetwo/commandpalette/configs/DebounceDuration\\\",\\\"300\\\")),debounced=debouncePromise(async e=>Promise.resolve(e),debounceDuration),isInTidGiDesktop=\\\"undefined\\\"!=typeof document&&(null==(_b5=null==(_a5=null==document?void 0:document.location)?void 0:_a5.protocol)?void 0:_b5.startsWith(\\\"tidgi\\\")),tidGiWorkspaceID=null==(_b6=null==(_a6=window.meta)?void 0:_a6.call(window))?void 0:_b6.workspaceID;async function filterTiddlersAsync(t,i,o){if(isInTidGiDesktop&&\\\"service\\\"in window){var r=window.service.wiki;let e;!0===i&&(e=await r.wikiOperationInServer(\\\"wiki-get-tiddler-text\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]),await r.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",\\\"yes\\\"]));var n=await r.callWikiIpcServerRoute(tidGiWorkspaceID,\\\"getTiddlersJSON\\\",t,o);return!0===i&&(void 0===e?await r.wikiOperationInServer(\\\"wiki-delete-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]):await r.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",e])),n.data}return $tw.wiki.filterTiddlers(t).map(e=>{var t;return null==(t=$tw.wiki.getTiddler(e))?void 0:t.fields}).filter(Boolean)}var lingoBase=\\\"$:/plugins/linonetwo/commandpalette/language/\\\";function lingo(e){const t=$tw.wiki.filterTiddlers(\\\"[[$:/language]get[text]get[name]else[en-GB]]\\\")[0];return $tw.wiki.getGlobalCache(\\\"lingo-\\\".concat(t,\\\"-\\\").concat(e),()=>$tw.wiki.getTiddlerText(\\\"\\\".concat(lingoBase).concat(t,\\\"/\\\").concat(e),e))}var plugin={async getSources(e){return 0===e.query.length||!checkIsSearchSystem(e)||checkIsUnderFilter(e)?[]:debounced([{sourceId:\\\"system-title\\\",async getItems({query:e}){return\\\"\\\"===e?[]:filterTiddlersAsync(\\\"[all[tiddlers+shadows]is[system]search[\\\".concat(e,\\\"]]\\\"),!0)},getItemUrl({item:e}){return e.title},templates:{header(){return lingo(\\\"SystemTitle\\\")},item({item:e}){return\\\"string\\\"==typeof e.caption&&\\\"\\\"!==e.caption?\\\"\\\".concat(e.caption,\\\" (\\\").concat(e.title,\\\")\\\"):e.title}}}])}};\"},\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-tags.js\":{\"title\":\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-tags.js\",\"tags\":\"$:/tags/CommandPalettePlugin\",\"type\":\"application/javascript\",\"module-type\":\"library\",\"priority\":\"0\",\"Modern.TiddlyDev#Origin\":\"widgets/build-in-sub-plugins/search-tags.ts\",\"text\":\"\\\"use strict\\\";var _a,_b,_c,_d,_a2,_b2,_a3,_b3,_a4,_b4,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var i in t)__defProp(e,i,{get:t[i],enumerable:!0})},__copyProps=(t,i,o,n)=>{if(i&&\\\"object\\\"==typeof i||\\\"function\\\"==typeof i)for(let e of __getOwnPropNames(i))__hasOwnProp.call(t,e)||e===o||__defProp(t,e,{get:()=>i[e],enumerable:!(n=__getOwnPropDesc(i,e))||n.enumerable});return t},__toCommonJS=e=>__copyProps(__defProp({},\\\"__esModule\\\",{value:!0}),e),search_tags_exports={},systemPrefixes=(__export(search_tags_exports,{plugin:()=>plugin}),module.exports=__toCommonJS(search_tags_exports),null==(_d=null==(_c=null==(_b=null==(_a=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/System\\\"))?void 0:_a.fields)?void 0:_b[\\\"command-palette-prefix\\\"])?void 0:_c.split(\\\" \\\"))?void 0:_d.filter(Boolean)),filterPrefix=null==(_b2=null==(_a2=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Filter\\\"))?void 0:_a2.fields)?void 0:_b2[\\\"command-palette-prefix\\\"],tagsPrefix=null==(_b3=null==(_a3=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Tags\\\"))?void 0:_a3.fields)?void 0:_b3[\\\"command-palette-prefix\\\"],helpPrefix=null==(_b4=null==(_a4=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Help\\\"))?void 0:_a4.fields)?void 0:_b4[\\\"command-palette-prefix\\\"];function checkIsSearchTags(e){return e.query[0]===tagsPrefix}function debouncePromise(i,o){let n;return async function(...t){return n&&clearTimeout(n),new Promise(e=>{n=setTimeout(()=>{e(i(...t))},o)})}}var _a5,_b5,_a6,_b6,debounceDuration=Number($tw.wiki.getTiddlerText(\\\"$:/plugins/linonetwo/commandpalette/configs/DebounceDuration\\\",\\\"300\\\")),debounced=debouncePromise(async e=>Promise.resolve(e),debounceDuration),isInTidGiDesktop=\\\"undefined\\\"!=typeof document&&(null==(_b5=null==(_a5=null==document?void 0:document.location)?void 0:_a5.protocol)?void 0:_b5.startsWith(\\\"tidgi\\\")),tidGiWorkspaceID=null==(_b6=null==(_a6=window.meta)?void 0:_a6.call(window))?void 0:_b6.workspaceID;async function filterTiddlersAsync(t,i,o){if(isInTidGiDesktop&&\\\"service\\\"in window){var n=window.service.wiki;let e;!0===i&&(e=await n.wikiOperationInServer(\\\"wiki-get-tiddler-text\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]),await n.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",\\\"yes\\\"]));var r=await n.callWikiIpcServerRoute(tidGiWorkspaceID,\\\"getTiddlersJSON\\\",t,o);return!0===i&&(void 0===e?await n.wikiOperationInServer(\\\"wiki-delete-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]):await n.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",e])),r.data}return $tw.wiki.filterTiddlers(t).map(e=>{var t;return null==(t=$tw.wiki.getTiddler(e))?void 0:t.fields}).filter(Boolean)}var lingoBase=\\\"$:/plugins/linonetwo/commandpalette/language/\\\";function lingo(e){const t=$tw.wiki.filterTiddlers(\\\"[[$:/language]get[text]get[name]else[en-GB]]\\\")[0];return $tw.wiki.getGlobalCache(\\\"lingo-\\\".concat(t,\\\"-\\\").concat(e),()=>$tw.wiki.getTiddlerText(\\\"\\\".concat(lingoBase).concat(t,\\\"/\\\").concat(e),e))}var plugin={async getSources(i){return 0!==i.query.length&&checkIsSearchTags(i)?debounced([{sourceId:\\\"tags\\\",async getItems({query:e}){return filterTiddlersAsync(\\\"[tags[]search[\\\".concat(e.slice(1),\\\"]]\\\"),!0)},getItemUrl({item:e}){return e.title},onSelect({item:e}){var t=\\\"[tag[\\\".concat(e.title,\\\"]]\\\");i.setContext({newQuery:\\\"\\\",noClose:!0,noNavigate:!0,filter:t})},templates:{header(){return lingo(\\\"Tags\\\")},item({item:e}){return\\\"string\\\"==typeof e.caption&&\\\"\\\"!==e.caption?\\\"\\\".concat(e.caption,\\\" (\\\").concat(e.title,\\\")\\\"):e.title},noResults(){return lingo(\\\"NoResult\\\")}}}]):[]}};\"},\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-user-text.js\":{\"title\":\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-user-text.js\",\"tags\":\"$:/tags/CommandPalettePlugin\",\"type\":\"application/javascript\",\"module-type\":\"library\",\"priority\":\"15\",\"Modern.TiddlyDev#Origin\":\"widgets/build-in-sub-plugins/search-user-text.ts\",\"text\":\"\\\"use strict\\\";var _a,_b,_c,_d,_a2,_b2,_a3,_b3,_a4,_b4,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var i in t)__defProp(e,i,{get:t[i],enumerable:!0})},__copyProps=(t,i,n,r)=>{if(i&&\\\"object\\\"==typeof i||\\\"function\\\"==typeof i)for(let e of __getOwnPropNames(i))__hasOwnProp.call(t,e)||e===n||__defProp(t,e,{get:()=>i[e],enumerable:!(r=__getOwnPropDesc(i,e))||r.enumerable});return t},__toCommonJS=e=>__copyProps(__defProp({},\\\"__esModule\\\",{value:!0}),e),search_user_text_exports={},systemPrefixes=(__export(search_user_text_exports,{plugin:()=>plugin}),module.exports=__toCommonJS(search_user_text_exports),null==(_d=null==(_c=null==(_b=null==(_a=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/System\\\"))?void 0:_a.fields)?void 0:_b[\\\"command-palette-prefix\\\"])?void 0:_c.split(\\\" \\\"))?void 0:_d.filter(Boolean)),filterPrefix=null==(_b2=null==(_a2=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Filter\\\"))?void 0:_a2.fields)?void 0:_b2[\\\"command-palette-prefix\\\"],tagsPrefix=null==(_b3=null==(_a3=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Tags\\\"))?void 0:_a3.fields)?void 0:_b3[\\\"command-palette-prefix\\\"],helpPrefix=null==(_b4=null==(_a4=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Help\\\"))?void 0:_a4.fields)?void 0:_b4[\\\"command-palette-prefix\\\"];function checkIsSearchUser(e){var t=e.query[0];return!(null!=systemPrefixes&&systemPrefixes.includes(t)||[filterPrefix,tagsPrefix,helpPrefix].includes(t))}function checkIsUnderFilter(e){return Boolean(e.state.context.filter)}function debouncePromise(i,n){let r;return async function(...t){return r&&clearTimeout(r),new Promise(e=>{r=setTimeout(()=>{e(i(...t))},n)})}}var _a5,_b5,_a6,_b6,debounceDuration=Number($tw.wiki.getTiddlerText(\\\"$:/plugins/linonetwo/commandpalette/configs/DebounceDuration\\\",\\\"300\\\")),debounced=debouncePromise(async e=>Promise.resolve(e),debounceDuration),isInTidGiDesktop=\\\"undefined\\\"!=typeof document&&(null==(_b5=null==(_a5=null==document?void 0:document.location)?void 0:_a5.protocol)?void 0:_b5.startsWith(\\\"tidgi\\\")),tidGiWorkspaceID=null==(_b6=null==(_a6=window.meta)?void 0:_a6.call(window))?void 0:_b6.workspaceID;async function filterTiddlersAsync(t,i,n){if(isInTidGiDesktop&&\\\"service\\\"in window){var r=window.service.wiki;let e;!0===i&&(e=await r.wikiOperationInServer(\\\"wiki-get-tiddler-text\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]),await r.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",\\\"yes\\\"]));var o=await r.callWikiIpcServerRoute(tidGiWorkspaceID,\\\"getTiddlersJSON\\\",t,n);return!0===i&&(void 0===e?await r.wikiOperationInServer(\\\"wiki-delete-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]):await r.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",e])),o.data}return $tw.wiki.filterTiddlers(t).map(e=>{var t;return null==(t=$tw.wiki.getTiddler(e))?void 0:t.fields}).filter(Boolean)}function getFieldsAsText(){return $tw.wiki.getTiddlerText(\\\"$:/plugins/linonetwo/commandpalette/configs/TextAlias\\\",\\\"text\\\").split(\\\" \\\").filter(Boolean).join(\\\",\\\")}var lingoBase=\\\"$:/plugins/linonetwo/commandpalette/language/\\\";function lingo(e){const t=$tw.wiki.filterTiddlers(\\\"[[$:/language]get[text]get[name]else[en-GB]]\\\")[0];return $tw.wiki.getGlobalCache(\\\"lingo-\\\".concat(t,\\\"-\\\").concat(e),()=>$tw.wiki.getTiddlerText(\\\"\\\".concat(lingoBase).concat(t,\\\"/\\\").concat(e),e))}var plugin={async getSources(e){return 0===e.query.length||!checkIsSearchUser(e)||checkIsUnderFilter(e)?[]:debounced([{sourceId:\\\"text\\\",async getItems({query:e}){return\\\"\\\"===e?[]:filterTiddlersAsync(\\\"[all[tiddlers]!is[system]]:filter[has[text]get[text]!compare:string:eq[]]+[search:\\\".concat(getFieldsAsText(),\\\"[\\\").concat(e,\\\"]]\\\"),!1,[])},getItemUrl({item:e}){return e.title},templates:{header(){return lingo(\\\"UserText\\\")},item({item:a,createElement:e,state:t}){var i=\\\"string\\\"==typeof a.caption&&\\\"\\\"!==a.caption?\\\"\\\".concat(a.caption,\\\" (\\\").concat(a.title,\\\")\\\"):a.title;let c=\\\"\\\";return t.query.split(\\\" \\\").filter(Boolean).forEach(e=>{var t,i,n,r,o,l=a.text.indexOf(e);-1!==l&&(i=0<(r=Math.max(0,l-30))?\\\"...\\\":\\\"\\\",n=(t=Math.min(a.text.length,l+e.length+30))\\\").concat(o,\\\"\\\").concat(l).concat(n))}),e(\\\"div\\\",{style:\\\"display:flex;flex-direction:column;\\\"},[e(\\\"div\\\",{style:\\\"margin-bottom:0.25em;\\\"},i),e(\\\"div\\\",{},[e(\\\"small\\\",{innerHTML:c})])])}}}])}};\"},\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-user-title-pinyin.js\":{\"title\":\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-user-title-pinyin.js\",\"tags\":\"$:/tags/CommandPalettePlugin\",\"type\":\"application/javascript\",\"module-type\":\"library\",\"priority\":\"10\",\"Modern.TiddlyDev#Origin\":\"widgets/build-in-sub-plugins/search-user-title-pinyin.ts\",\"text\":\"\\\"use strict\\\";var _a,_b,_c,_d,_a2,_b2,_a3,_b3,_a4,_b4,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,i)=>{for(var t in i)__defProp(e,t,{get:i[t],enumerable:!0})},__copyProps=(i,t,n,r)=>{if(t&&\\\"object\\\"==typeof t||\\\"function\\\"==typeof t)for(let e of __getOwnPropNames(t))__hasOwnProp.call(i,e)||e===n||__defProp(i,e,{get:()=>t[e],enumerable:!(r=__getOwnPropDesc(t,e))||r.enumerable});return i},__toCommonJS=e=>__copyProps(__defProp({},\\\"__esModule\\\",{value:!0}),e),search_user_title_pinyin_exports={},systemPrefixes=(__export(search_user_title_pinyin_exports,{plugin:()=>plugin}),module.exports=__toCommonJS(search_user_title_pinyin_exports),null==(_d=null==(_c=null==(_b=null==(_a=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/System\\\"))?void 0:_a.fields)?void 0:_b[\\\"command-palette-prefix\\\"])?void 0:_c.split(\\\" \\\"))?void 0:_d.filter(Boolean)),filterPrefix=null==(_b2=null==(_a2=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Filter\\\"))?void 0:_a2.fields)?void 0:_b2[\\\"command-palette-prefix\\\"],tagsPrefix=null==(_b3=null==(_a3=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Tags\\\"))?void 0:_a3.fields)?void 0:_b3[\\\"command-palette-prefix\\\"],helpPrefix=null==(_b4=null==(_a4=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Help\\\"))?void 0:_a4.fields)?void 0:_b4[\\\"command-palette-prefix\\\"];function checkIsSearchUser(e){var i=e.query[0];return!(null!=systemPrefixes&&systemPrefixes.includes(i)||[filterPrefix,tagsPrefix,helpPrefix].includes(i))}function checkIsUnderFilter(e){return Boolean(e.state.context.filter)}function debouncePromise(t,n){let r;return async function(...i){return r&&clearTimeout(r),new Promise(e=>{r=setTimeout(()=>{e(t(...i))},n)})}}var _a5,_b5,_a6,_b6,debounceDuration=Number($tw.wiki.getTiddlerText(\\\"$:/plugins/linonetwo/commandpalette/configs/DebounceDuration\\\",\\\"300\\\")),debounced=debouncePromise(async e=>Promise.resolve(e),debounceDuration),isInTidGiDesktop=\\\"undefined\\\"!=typeof document&&(null==(_b5=null==(_a5=null==document?void 0:document.location)?void 0:_a5.protocol)?void 0:_b5.startsWith(\\\"tidgi\\\")),tidGiWorkspaceID=null==(_b6=null==(_a6=window.meta)?void 0:_a6.call(window))?void 0:_b6.workspaceID;async function filterTiddlersAsync(i,t,n){if(isInTidGiDesktop&&\\\"service\\\"in window){var r=window.service.wiki;let e;!0===t&&(e=await r.wikiOperationInServer(\\\"wiki-get-tiddler-text\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]),await r.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",\\\"yes\\\"]));var o=await r.callWikiIpcServerRoute(tidGiWorkspaceID,\\\"getTiddlersJSON\\\",i,n);return!0===t&&(void 0===e?await r.wikiOperationInServer(\\\"wiki-delete-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]):await r.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",e])),o.data}return $tw.wiki.filterTiddlers(i).map(e=>{var i;return null==(i=$tw.wiki.getTiddler(e))?void 0:i.fields}).filter(Boolean)}function getFieldsAsTitle(){return $tw.wiki.getTiddlerText(\\\"$:/plugins/linonetwo/commandpalette/configs/TitleAlias\\\",\\\"title caption\\\").split(\\\" \\\").filter(Boolean).join(\\\",\\\")}var lingoBase=\\\"$:/plugins/linonetwo/commandpalette/language/\\\";function lingo(e){const i=$tw.wiki.filterTiddlers(\\\"[[$:/language]get[text]get[name]else[en-GB]]\\\")[0];return $tw.wiki.getGlobalCache(\\\"lingo-\\\".concat(i,\\\"-\\\").concat(e),()=>$tw.wiki.getTiddlerText(\\\"\\\".concat(lingoBase).concat(i,\\\"/\\\").concat(e),e))}var plugin={async getSources(e){var i,t;return!checkIsSearchUser(e)||checkIsUnderFilter(e)||void 0===$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/pinyin-fuzzy-search/pinyin-fuzzy-search.js\\\")||null!=(t=(i=$tw.utils).containsChinese)&&t.call(i,e.query)||0===e.query.length?[]:debounced([{sourceId:\\\"title-pinyin\\\",async getItems({query:e}){return\\\"\\\"===e?[]:filterTiddlersAsync(\\\"[all[tiddlers]!is[system]pinyinfuse:\\\".concat(getFieldsAsTitle(),\\\"[\\\").concat(e,\\\"]]\\\"))},getItemUrl({item:e}){return e.title},templates:{header(){return lingo(\\\"UserTitlePinyin\\\")},item({item:e}){return\\\"string\\\"==typeof e.caption&&\\\"\\\"!==e.caption?\\\"\\\".concat(e.caption,\\\" (\\\").concat(e.title,\\\")\\\"):e.title}}}])}};\"},\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-user-title.js\":{\"title\":\"$:/plugins/linonetwo/commandpalette/widget/build-in-sub-plugins/search-user-title.js\",\"tags\":\"$:/tags/CommandPalettePlugin\",\"type\":\"application/javascript\",\"module-type\":\"library\",\"priority\":\"5\",\"Modern.TiddlyDev#Origin\":\"widgets/build-in-sub-plugins/search-user-title.ts\",\"text\":\"\\\"use strict\\\";var _a,_b,_c,_d,_a2,_b2,_a3,_b3,_a4,_b4,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var i in t)__defProp(e,i,{get:t[i],enumerable:!0})},__copyProps=(t,i,r,n)=>{if(i&&\\\"object\\\"==typeof i||\\\"function\\\"==typeof i)for(let e of __getOwnPropNames(i))__hasOwnProp.call(t,e)||e===r||__defProp(t,e,{get:()=>i[e],enumerable:!(n=__getOwnPropDesc(i,e))||n.enumerable});return t},__toCommonJS=e=>__copyProps(__defProp({},\\\"__esModule\\\",{value:!0}),e),search_user_title_exports={},systemPrefixes=(__export(search_user_title_exports,{plugin:()=>plugin}),module.exports=__toCommonJS(search_user_title_exports),null==(_d=null==(_c=null==(_b=null==(_a=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/System\\\"))?void 0:_a.fields)?void 0:_b[\\\"command-palette-prefix\\\"])?void 0:_c.split(\\\" \\\"))?void 0:_d.filter(Boolean)),filterPrefix=null==(_b2=null==(_a2=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Filter\\\"))?void 0:_a2.fields)?void 0:_b2[\\\"command-palette-prefix\\\"],tagsPrefix=null==(_b3=null==(_a3=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Tags\\\"))?void 0:_a3.fields)?void 0:_b3[\\\"command-palette-prefix\\\"],helpPrefix=null==(_b4=null==(_a4=$tw.wiki.getTiddler(\\\"$:/plugins/linonetwo/commandpalette/commands/help/Help\\\"))?void 0:_a4.fields)?void 0:_b4[\\\"command-palette-prefix\\\"];function checkIsSearchUser(e){var t=e.query[0];return!(null!=systemPrefixes&&systemPrefixes.includes(t)||[filterPrefix,tagsPrefix,helpPrefix].includes(t))}function checkIsUnderFilter(e){return Boolean(e.state.context.filter)}function debouncePromise(i,r){let n;return async function(...t){return n&&clearTimeout(n),new Promise(e=>{n=setTimeout(()=>{e(i(...t))},r)})}}var _a5,_b5,_a6,_b6,debounceDuration=Number($tw.wiki.getTiddlerText(\\\"$:/plugins/linonetwo/commandpalette/configs/DebounceDuration\\\",\\\"300\\\")),debounced=debouncePromise(async e=>Promise.resolve(e),debounceDuration),isInTidGiDesktop=\\\"undefined\\\"!=typeof document&&(null==(_b5=null==(_a5=null==document?void 0:document.location)?void 0:_a5.protocol)?void 0:_b5.startsWith(\\\"tidgi\\\")),tidGiWorkspaceID=null==(_b6=null==(_a6=window.meta)?void 0:_a6.call(window))?void 0:_b6.workspaceID;async function filterTiddlersAsync(t,i,r){if(isInTidGiDesktop&&\\\"service\\\"in window){var n=window.service.wiki;let e;!0===i&&(e=await n.wikiOperationInServer(\\\"wiki-get-tiddler-text\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]),await n.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",\\\"yes\\\"]));var o=await n.callWikiIpcServerRoute(tidGiWorkspaceID,\\\"getTiddlersJSON\\\",t,r);return!0===i&&(void 0===e?await n.wikiOperationInServer(\\\"wiki-delete-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\"]):await n.wikiOperationInServer(\\\"wiki-add-tiddler\\\",tidGiWorkspaceID,[\\\"$:/config/SyncSystemTiddlersFromServer\\\",e])),o.data}return $tw.wiki.filterTiddlers(t).map(e=>{var t;return null==(t=$tw.wiki.getTiddler(e))?void 0:t.fields}).filter(Boolean)}function getFieldsAsTitle(){return $tw.wiki.getTiddlerText(\\\"$:/plugins/linonetwo/commandpalette/configs/TitleAlias\\\",\\\"title caption\\\").split(\\\" \\\").filter(Boolean).join(\\\",\\\")}var lingoBase=\\\"$:/plugins/linonetwo/commandpalette/language/\\\";function lingo(e){const t=$tw.wiki.filterTiddlers(\\\"[[$:/language]get[text]get[name]else[en-GB]]\\\")[0];return $tw.wiki.getGlobalCache(\\\"lingo-\\\".concat(t,\\\"-\\\").concat(e),()=>$tw.wiki.getTiddlerText(\\\"\\\".concat(lingoBase).concat(t,\\\"/\\\").concat(e),e))}var plugin={async getSources(e){return 0===e.query.length||!checkIsSearchUser(e)||checkIsUnderFilter(e)?[]:debounced([{sourceId:\\\"title\\\",async getItems({query:e}){return\\\"\\\"===e?[]:filterTiddlersAsync(\\\"[all[tiddlers]!is[system]search:\\\".concat(getFieldsAsTitle(),\\\"[\\\").concat(e,\\\"]]\\\"))},getItemUrl({item:e}){return e.title},templates:{header(){return lingo(\\\"UserTitle\\\")},item({item:e}){return\\\"string\\\"==typeof e.caption&&\\\"\\\"!==e.caption?\\\"\\\".concat(e.caption,\\\" (\\\").concat(e.title,\\\")\\\"):e.title}}}])}};\"},\"$:/plugins/linonetwo/commandpalette/widget/widget.js\":{\"title\":\"$:/plugins/linonetwo/commandpalette/widget/widget.js\",\"type\":\"application/javascript\",\"module-type\":\"widget\",\"Modern.TiddlyDev#Origin\":\"widgets/widget.ts\",\"text\":\"\\\"use strict\\\";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__esm=(e,t)=>function(){return t=e?(0,e[__getOwnPropNames(e)[0]])(e=0):t},__commonJS=(e,t)=>function(){return t||(0,e[__getOwnPropNames(e)[0]])((t={exports:{}}).exports,t),t.exports},__copyProps=(t,r,n,o)=>{if(r&&\\\"object\\\"==typeof r||\\\"function\\\"==typeof r)for(let e of __getOwnPropNames(r))__hasOwnProp.call(t,e)||e===n||__defProp(t,e,{get:()=>r[e],enumerable:!(o=__getOwnPropDesc(r,e))||o.enumerable});return t},__toESM=(e,t,r)=>(r=null!=e?__create(__getProtoOf(e)):{},__copyProps(!t&&e&&e.__esModule?r:__defProp(r,\\\"default\\\",{value:e,enumerable:!0}),e)),init_esbuild_inject=__esm({\\\"node_modules/.pnpm/tiddlywiki-plugin-dev@0.2.0_postcss@8.4.38_ts-node@10.9.2_@types+node@20.12.12_typescript@5.4.5_/node_modules/tiddlywiki-plugin-dev/dist/js/esbuild-inject.js\\\"(){}}),require_key_master=__commonJS({\\\"node_modules/.pnpm/key-master@4.1.0/node_modules/key-master/index.js\\\"(e,t){init_esbuild_inject(),t.exports=function(t,r=new Map){return{has:e=>r.has(e),get:e=>(r.has(e)||r.set(e,t(e)),r.get(e)),\\\"delete\\\":e=>r[\\\"delete\\\"](e),set:(e,t)=>{r.set(e,t)},getUnderlyingDataStructure:()=>r}}}}),require_dist=__commonJS({\\\"node_modules/.pnpm/insular-observer@0.1.1/node_modules/insular-observer/dist/index.js\\\"(e,t){init_esbuild_inject();var r=require_key_master();t.exports=(e,t)=>{const o=r(()=>[],new WeakMap);const i=new e(e=>{e.forEach(t=>{o.get(t.target).forEach(e=>e(t))})},t);return function(t,e,r){\\\"function\\\"==typeof e&&(r=e,e=void 0);const n=o.get(t);return n.push(r),i.observe(t,e),function(){var e=n.indexOf(r);if(n.splice(e,1),0===n.length)return o[\\\"delete\\\"](t),i.unobserve&&i.unobserve(t)}}}}}),require_visibility_observer=__commonJS({\\\"node_modules/.pnpm/@seznam+visibility-observer@1.1.0/node_modules/@seznam/visibility-observer/index.js\\\"(e){init_esbuild_inject();var t=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{\\\"default\\\":e}},o=(Object.defineProperty(e,\\\"__esModule\\\",{value:!0}),t(require_dist())),r=t(require_key_master()),f=\\\"undefined\\\"!=typeof document?document.createElement(\\\"div\\\"):{},d=r[\\\"default\\\"](()=>r[\\\"default\\\"](()=>new Map,new WeakMap),new WeakMap);function y(e,t,r=null){var n,o,i,a=d.getUnderlyingDataStructure().get(r||f);a&&(n=a.getUnderlyingDataStructure().get(e))&&(i=n.get(o=t))&&(i.unobserve(),n[\\\"delete\\\"](o),n.size||a[\\\"delete\\\"](e))}e.observe=function(e,t,r={}){({once:a,root:u,rootMargin:o,threshold:i}=r);const n={once:!!a,root:u||f,rootMargin:function(e){var t=(\\\"number\\\"==typeof e?\\\"\\\".concat(e,\\\"px\\\"):e).trim().split(/\\\\s+/);if(4y(e,t,n.root);if(s){if(a=n,u=s,a.rootMargin===u.rootMargin&&a.threshold===u.threshold&&a.once===u.once)return p;p()}return s=m(n)(e,r.once?(function(e,t){t.isIntersecting&&(y(t.target,e),e(t))}).bind(null,c):c),l.set(c,{...n,unobserve:s}),p},e.unobserve=y;var m=(()=>{const n=r[\\\"default\\\"](()=>new Map,new WeakMap);return e=>{var t=\\\"\\\".concat(e.rootMargin,\\\";\\\").concat(e.threshold),r=n.get(e.root).get(t);return r||(r=o[\\\"default\\\"](IntersectionObserver,{...e,root:e.root===f?null:e.root}),n.get(e.root).set(t,r),r)}})()}}),import_modal=(init_esbuild_inject(),require(\\\"$:/core/modules/utils/dom/modal.js\\\")),import_widget=require(\\\"$:/core/modules/widgets/widget.js\\\");function createRef(e){return{current:e}}function debounce(n,o){var i=void 0;return function(){for(var e=arguments.length,t=new Array(e),r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);re.length)&&(t=e.length);for(var r=0,n=new Array(t);re.length)&&(t=e.length);for(var r=0,n=new Array(t);re.length)&&(t=e.length);for(var r=0,n=new Array(t);re.length)&&(t=e.length);for(var r=0,n=new Array(t);re.length)&&(t=e.length);for(var r=0,n=new Array(t);r\\\"===t?(n=1,\\\"\\\"):t+o[0]:i?t===i?i=\\\"\\\":o+=t:'\\\"'===t||\\\"'\\\"===t?i=t:\\\">\\\"===t?(u(),n=1):n&&(\\\"=\\\"===t?(n=5,r=o,o=\\\"\\\"):\\\"/\\\"===t&&(n<5||\\\">\\\"===e[l][c+1])?(u(),3===n&&(a=a[0]),(a=(n=a)[0]).push(2,0,n),n=0):\\\" \\\"===t||\\\"\\\\t\\\"===t||\\\"\\\\n\\\"===t||\\\"\\\\r\\\"===t?(u(),n=2):o+=t),3===n&&\\\"!--\\\"===o&&(n=4,a=a[0])}return u(),a}(e)),r),arguments,[])).length?r:r[0]}init_esbuild_inject(),init_esbuild_inject();var ClearIcon=function ClearIcon2(e){var t=e.environment,r=t.document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"svg\\\"),t=(r.setAttribute(\\\"class\\\",\\\"aa-ClearIcon\\\"),r.setAttribute(\\\"viewBox\\\",\\\"0 0 24 24\\\"),r.setAttribute(\\\"width\\\",\\\"18\\\"),r.setAttribute(\\\"height\\\",\\\"18\\\"),r.setAttribute(\\\"fill\\\",\\\"currentColor\\\"),t.document.createElementNS(\\\"http://www.w3.org/2000/svg\\\",\\\"path\\\"));return t.setAttribute(\\\"d\\\",\\\"M5.293 6.707l5.293 5.293-5.293 5.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0l5.293-5.293 5.293 5.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-5.293-5.293 5.293-5.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-5.293 5.293-5.293-5.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z\\\"),r.appendChild(t),r};function getHTMLElement(e,t){var r;return\\\"string\\\"==typeof t?(invariant(null!==(r=e.document.querySelector(t)),\\\"The element \\\".concat(JSON.stringify(t),\\\" is not in the document.\\\")),r):t}function mergeClassNames(){for(var e=arguments.length,t=new Array(e),r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);re.length)&&(t=e.length);for(var r=0,n=new Array(t);re.length)&&(t=e.length);for(var r=0,n=new Array(t);re)&&i.sort(f);P.__r=0}function S(e,t,r,n,o,i,a,u,l,c,s){var f,d,y,m,b,_=n&&n.__k||p,v=t.length;for(r.__d=l,$(r,t,_),l=r.__d,f=0;f(null!=l&&0==(131072&l.__u)?1:0))for(;0<=a||ue.length)&&(t=e.length);for(var r=0,n=new Array(t);r\\\",\\\""\\\":'\\\"',\\\"'\\\":\\\"'\\\"},hasAlphanumeric=new RegExp(/\\\\w/i),regexEscapedHtml=/&(amp|quot|lt|gt|#39);/g,regexHasEscapedHtml=RegExp(regexEscapedHtml.source);function unescape(e){return e&®exHasEscapedHtml.test(e)?e.replace(regexEscapedHtml,function(e){return htmlEscapes[e]}):e}function isPartHighlighted(e,t){var r=e[t],n=(null==(n=e[t+1])?void 0:n.isHighlighted)||!0,o=(null==(o=e[t-1])?void 0:o.isHighlighted)||!0;return hasAlphanumeric.test(unescape(r.value))||o!==n?r.isHighlighted:o}function _typeof20(e){return(_typeof20=\\\"function\\\"==typeof Symbol&&\\\"symbol\\\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\\\"function\\\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\\\"symbol\\\":typeof e})(e)}function ownKeys18(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function _objectSpread18(t){for(var e=1;ee.length)&&(t=e.length);for(var r=0,n=new Array(t);r{var t;return null==(t=$tw.wiki.getTiddler(e))?void 0:t.fields}).filter(e=>void 0!==e).sort((e,t)=>{var r;return(null!=(r=t.priority)?r:0)-(null!=(r=e.priority)?r:0)}).forEach(e=>{try{r.push(require(e.title).plugin)}catch(t){console.error(\\\"Failed to load command palette plugin \\\".concat(e.title),t)}}),r}function handleDarkMode(){var e;\\\"yes\\\"===$tw.wiki.getTiddlerText(\\\"$:/info/darkmode\\\")&&void 0!==(e=null==(e=document.body)?void 0:e.dataset)&&(e.theme=\\\"dark\\\")}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var uniqSourcesBy=i=>function(...e){const o=new Set;return e.map(n=>{const e=n.getItems().filter(e=>{var t=i({source:n,item:e}),r=o.has(t);return o.add(t),!r});return{...n,getItems(){return e}}})},CommandPaletteWidget=class extends import_widget.widget{constructor(){super(...arguments),this.id=\\\"default\\\",this.previouslyFocusedElement=null,this.historyMode=!1,this.srcDocument=this.document,this.modalCount=0}refresh(e){return!1}render(e,t){this.parentDomNode=e,this.computeAttributes(),this.execute(),this.id=this.getAttribute(\\\"id\\\",\\\"default\\\");var r=this.getAttribute(\\\"prefix\\\",\\\"\\\");this.historyMode=\\\"yes\\\"===this.getAttribute(\\\"historyMode\\\",\\\"no\\\");const a=\\\"yes\\\"===this.wiki.getTiddlerText(\\\"$:/plugins/linonetwo/commandpalette/configs/TitlePriorityText\\\",\\\"no\\\");var n=$tw.utils.domMaker(\\\"nav\\\",{\\\"class\\\":\\\"tw-commandpalette-container\\\"});e.insertBefore(n,t),this.domNodes.push(n),handleDarkMode();const u=uniqSourcesBy(({item:e})=>e.title),o=(this.previouslyFocusedElement=getActiveElement(),e=>{this.autoCompleteState=e});this.autoCompleteInstance=autocomplete({id:this.id,container:n,placeholder:\\\"Search for tiddlers\\\",initialState:{query:r},defaultActiveItemId:0,onStateChange(e){o(e)},autoFocus:!0,openOnFocus:!0,ignoreCompositionEvents:!0,navigator:{navigate:this.onEnter.bind(this),navigateNewTab:this.onCtrlEnter.bind(this)},plugins:getSubPlugins(),reshape({sourcesBySourceId:e}){const{title:t,\\\"title-pinyin\\\":r,\\\"story-history\\\":n,text:o,...i}=e;return[...u(...[...a?[t,o]:[o,t],r,n].filter(Boolean)),...Object.values(i)]}}),this.autoCompleteInstance.setContext({widget:this}),this.onCommandPaletteInputDOMInit(n),this.onCommandPaletteDetachedDOMInit(n)}onVisibilityChange(e){e.isIntersecting||(this.destroy(),(0,import_visibility_observer.unobserve)(e.target,this.onVisibilityChange.bind(this)))}onEnter({itemUrl:e,state:t}){var r,n;void 0!==t.context.newQuery&&(null!=(r=null==(n=this.autoCompleteInstance)?void 0:n.setQuery)&&r.call(n,t.context.newQuery),null!=(n=this.autoCompleteInstance)&&n.setContext({newQuery:void 0}),null!=(n=null==(r=this.autoCompleteInstance)?void 0:r.refresh))&&n.call(r),t.context.noNavigate||($tw.wiki.setText(\\\"$:/layout\\\",\\\"text\\\",void 0,\\\"\\\",{suppressTimestamp:!0}),this.dispatchEvent({type:\\\"tm-navigate\\\",navigateTo:e,navigateFromNode:this})),t.context.noClose||this.setCloseState(),this.clearContext()}onCtrlEnter({itemUrl:e,state:t}){$tw.utils.copyToClipboard(e),t.context.noClose||this.setCloseState(),this.clearContext()}clearContext(){var e;null!=(e=this.autoCompleteInstance)&&e.setContext({noNavigate:void 0,newQuery:void 0,noClose:void 0})}onCommandPaletteDetachedDOMInit(e){var t=e.querySelector(\\\"button.aa-DetachedSearchButton\\\");null!==t&&(t.click(),t.style.display=\\\"none\\\",null!==(t=this.document.querySelector(\\\"body.aa-Detached > div.aa-DetachedOverlay\\\")))&&(0,import_visibility_observer.observe)(t,this.onVisibilityChange.bind(this))}onCommandPaletteInputDOMInit(e){const r=e.querySelector(\\\"input\\\");null!==r&&((0,import_visibility_observer.observe)(e,this.onVisibilityChange.bind(this)),this.registerHistoryKeyboardHandlers(r),r.focus(),r.addEventListener(\\\"keydown\\\",e=>{var t;\\\"Escape\\\"===e.key&&(\\\"\\\"===r.value?this.setCloseState():(e.stopPropagation(),e.preventDefault(),r.value=\\\"\\\")),\\\"Enter\\\"===e.key&&(null!=(t=this.autoCompleteInstance)&&t.setIsOpen(!0),e.stopPropagation(),e.preventDefault())}),this.modalCount++,import_modal.Modal.prototype.adjustPageClass.call(this),fixPanelPosition(),r.addEventListener(\\\"focus\\\",fixPanelPosition),r.addEventListener(\\\"blur\\\",fixPanelPosition),window.addEventListener(\\\"resize\\\",fixPanelPosition))}registerHistoryKeyboardHandlers(e){this.historyMode&&(e.addEventListener(\\\"keydown\\\",e=>{var t;void 0!==this.autoCompleteInstance&&\\\"Tab\\\"===e.key&&e.ctrlKey&&(this.historySwitchActiveItemId=(null!=(t=null!=(t=this.historySwitchActiveItemId)?t:null==(t=null==(t=this.autoCompleteState)?void 0:t.state)?void 0:t.activeItemId)?t:0)+(e.shiftKey?-1:1),t=null!=(t=null==(t=null==(t=null==(t=null==(t=null==(t=this.autoCompleteState)?void 0:t.state)?void 0:t.collections)?void 0:t[0])?void 0:t.items)?void 0:t.length)?t:0,-1===this.historySwitchActiveItemId?this.historySwitchActiveItemId=Math.max(t-1,0):this.historySwitchActiveItemId>=t&&(this.historySwitchActiveItemId=0),this.autoCompleteInstance.setActiveItemId(this.historySwitchActiveItemId),this.autoCompleteInstance.setIsOpen(!0),e.stopPropagation(),e.preventDefault())}),e.addEventListener(\\\"keyup\\\",e=>{var t,r;void 0!==this.autoCompleteInstance&&(\\\"Tab\\\"===e.key&&e.ctrlKey?(e.stopPropagation(),e.preventDefault()):\\\"Control\\\"===e.key&&\\\"\\\"===(null==(t=null==(t=this.autoCompleteState)?void 0:t.state)?void 0:t.query)&&(e.stopPropagation(),e.preventDefault(),r=null==(t=null==(t=null==(t=this.autoCompleteState)?void 0:t.state)?void 0:t.collections.find(({source:e})=>\\\"story-history\\\"===e.sourceId))?void 0:t.items[null!=(r=null==(r=null==(r=this.autoCompleteState)?void 0:r.state)?void 0:r.activeItemId)?r:0])&&this.autoCompleteInstance.navigator.navigate({item:r,itemUrl:r.title,state:null==(t=this.autoCompleteState)?void 0:t.state}))}))}setCloseState(){var e;$tw.wiki.deleteTiddler(\\\"$:/temp/commandpalette/\\\".concat(this.id,\\\"/opened\\\")),null!=(e=this.autoCompleteInstance)&&e.setIsOpen(!1),this.modalCount=0,import_modal.Modal.prototype.adjustPageClass.call(this)}destroy(){var e,t;this.setCloseState(),null!=(e=this.autoCompleteInstance)&&e.destroy(),this.autoCompleteInstance=void 0,window.removeEventListener(\\\"resize\\\",fixPanelPosition),null!=(t=null==(e=this.previouslyFocusedElement)?void 0:e.focus)&&t.call(e)}};exports[\\\"command-palette\\\"]=CommandPaletteWidget;\"},\"$:/plugins/linonetwo/commandpalette/widgets/widget.css\":{\"title\":\"$:/plugins/linonetwo/commandpalette/widgets/widget.css\",\"tags\":[\"$:/tags/Stylesheet\"],\"type\":\"text/css\",\"Modern.TiddlyDev#Origin\":\"../../node_modules/.pnpm/@algolia+autocomplete-theme-classic@1.17.1/node_modules/@algolia/autocomplete-theme-classic/dist/theme.min.css\",\"text\":\":root{--aa-search-input-height:44px;--aa-input-icon-size:20px;--aa-base-unit:16;--aa-spacing-factor:1;--aa-spacing:calc(var(--aa-base-unit)*var(--aa-spacing-factor)*1px);--aa-spacing-half:calc(var(--aa-spacing)/2);--aa-panel-max-height:650px;--aa-base-z-index:9999;--aa-font-size:calc(var(--aa-base-unit)*1px);--aa-font-family:inherit;--aa-font-weight-medium:500;--aa-font-weight-semibold:600;--aa-font-weight-bold:700;--aa-icon-size:20px;--aa-icon-stroke-width:1.6;--aa-icon-color-rgb:119,119,163;--aa-icon-color-alpha:1;--aa-action-icon-size:20px;--aa-text-color-rgb:38,38,39;--aa-text-color-alpha:1;--aa-primary-color-rgb:62,52,211;--aa-primary-color-alpha:0.2;--aa-muted-color-rgb:128,126,163;--aa-muted-color-alpha:0.6;--aa-panel-border-color-rgb:128,126,163;--aa-panel-border-color-alpha:0.3;--aa-input-border-color-rgb:128,126,163;--aa-input-border-color-alpha:0.8;--aa-background-color-rgb:255,255,255;--aa-background-color-alpha:1;--aa-input-background-color-rgb:255,255,255;--aa-input-background-color-alpha:1;--aa-selected-color-rgb:179,173,214;--aa-selected-color-alpha:0.205;--aa-description-highlight-background-color-rgb:245,223,77;--aa-description-highlight-background-color-alpha:0.5;--aa-detached-media-query:(max-width:680px);--aa-detached-modal-media-query:(min-width:680px);--aa-detached-modal-max-width:680px;--aa-detached-modal-max-height:500px;--aa-overlay-color-rgb:115,114,129;--aa-overlay-color-alpha:0.4;--aa-panel-shadow:0 0 0 1px rgba(35,38,59,0.1),0 6px 16px -4px rgba(35,38,59,0.15);--aa-scrollbar-width:13px;--aa-scrollbar-track-background-color-rgb:234,234,234;--aa-scrollbar-track-background-color-alpha:1;--aa-scrollbar-thumb-background-color-rgb:var(--aa-background-color-rgb);--aa-scrollbar-thumb-background-color-alpha:1}body.dark,body[data-theme=dark]{--aa-text-color-rgb:183,192,199;--aa-primary-color-rgb:146,138,255;--aa-muted-color-rgb:146,138,255;--aa-input-background-color-rgb:0,3,9;--aa-background-color-rgb:21,24,42;--aa-selected-color-rgb:146,138,255;--aa-selected-color-alpha:0.25;--aa-description-highlight-background-color-rgb:0 255 255;--aa-description-highlight-background-color-alpha:0.25;--aa-icon-color-rgb:119,119,163;--aa-panel-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--aa-scrollbar-track-background-color-rgb:44,46,64;--aa-scrollbar-thumb-background-color-rgb:var(--aa-background-color-rgb)}.aa-Autocomplete *,.aa-DetachedFormContainer *,.aa-Panel *{box-sizing:border-box}.aa-Autocomplete,.aa-DetachedFormContainer,.aa-Panel{color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-family:inherit;font-family:var(--aa-font-family);font-size:calc(16 * 1px);font-size:var(--aa-font-size);font-weight:400;line-height:1em;margin:0;padding:0;text-align:left}.aa-Form{align-items:center;background-color:#fff;background-color:rgba(var(--aa-input-background-color-rgb),var(--aa-input-background-color-alpha));border:1px solid rgba(128,126,163,.8);border:1px solid rgba(var(--aa-input-border-color-rgb),var(--aa-input-border-color-alpha));border-radius:3px;display:flex;line-height:1em;margin:0;position:relative;width:100%}.aa-Form:focus-within{border-color:#3e34d3;border-color:rgba(var(--aa-primary-color-rgb),1);box-shadow:rgba(62,52,211,.2) 0 0 0 2px,inset rgba(62,52,211,.2) 0 0 0 2px;box-shadow:rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 2px,inset rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 2px;outline:currentColor}.aa-InputWrapperPrefix{align-items:center;display:flex;flex-shrink:0;height:44px;height:var(--aa-search-input-height);order:1}.aa-Label,.aa-LoadingIndicator{cursor:auto;flex-shrink:0;height:100%;padding:0;text-align:left}.aa-Label svg,.aa-LoadingIndicator svg{color:#3e34d3;color:rgba(var(--aa-primary-color-rgb),1);height:auto;max-height:20px;max-height:var(--aa-input-icon-size);stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);width:20px;width:var(--aa-input-icon-size)}.aa-LoadingIndicator,.aa-SubmitButton{height:100%;padding-left:calc(calc(16 * 1 * 1px)*.75 - 1px);padding-left:calc(var(--aa-spacing)*.75 - 1px);padding-right:calc(calc(16 * 1 * 1px)/ 2);padding-right:var(--aa-spacing-half);width:calc(calc(16 * 1 * 1px)*1.75 + 20px - 1px);width:calc(var(--aa-spacing)*1.75 + var(--aa-icon-size) - 1px)}@media (hover:none) and (pointer:coarse){:root{--aa-spacing-factor:1.2;--aa-action-icon-size:22px}.aa-LoadingIndicator,.aa-SubmitButton{padding-left:calc(calc(calc(16 * 1 * 1px)/ 2)/ 2 - 1px);padding-left:calc(var(--aa-spacing-half)/ 2 - 1px);width:calc(20px + calc(16 * 1 * 1px)*1.25 - 1px);width:calc(var(--aa-icon-size) + var(--aa-spacing)*1.25 - 1px)}}.aa-SubmitButton{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;border:0;margin:0}.aa-LoadingIndicator{align-items:center;display:flex;justify-content:center}.aa-LoadingIndicator[hidden]{display:none}.aa-InputWrapper{order:3;position:relative;width:100%}.aa-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;border:0;color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font:inherit;height:44px;height:var(--aa-search-input-height);padding:0;width:100%}.aa-Input::-moz-placeholder{color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));opacity:1}.aa-Input::placeholder{color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));opacity:1}.aa-Input:focus{border-color:none;box-shadow:none;outline:0}.aa-Input::-webkit-search-cancel-button,.aa-Input::-webkit-search-decoration,.aa-Input::-webkit-search-results-button,.aa-Input::-webkit-search-results-decoration{-webkit-appearance:none;appearance:none}.aa-InputWrapperSuffix{align-items:center;display:flex;height:44px;height:var(--aa-search-input-height);order:4}.aa-ClearButton{align-items:center;background:0 0;border:0;color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));cursor:pointer;display:flex;height:100%;margin:0;padding:0 calc(calc(16 * 1 * 1px)*.83333 - .5px);padding:0 calc(var(--aa-spacing)*.83333 - .5px)}@media (hover:none) and (pointer:coarse){.aa-ClearButton{padding:0 calc(calc(16 * 1 * 1px)*.66667 - .5px);padding:0 calc(var(--aa-spacing)*.66667 - .5px)}}.aa-ClearButton:focus,.aa-ClearButton:hover{color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha))}.aa-ClearButton[hidden]{display:none}.aa-ClearButton svg{stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);width:20px;width:var(--aa-icon-size)}.aa-Panel{background-color:#fff;background-color:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));border-radius:calc(calc(16 * 1 * 1px)/ 4);border-radius:calc(var(--aa-spacing)/4);box-shadow:0 0 0 1px rgba(35,38,59,.1),0 6px 16px -4px rgba(35,38,59,.15);box-shadow:var(--aa-panel-shadow);margin:8px 0 0;overflow:hidden;position:absolute;transition:opacity .2s ease-in,filter .2s ease-in}@media screen and (prefers-reduced-motion){.aa-Panel{transition:none}}.aa-Panel button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;border:0;margin:0;padding:0}.aa-PanelLayout{height:100%;margin:0;max-height:650px;max-height:var(--aa-panel-max-height);overflow-y:auto;padding:0;position:relative;text-align:left}.aa-PanelLayoutColumns--twoGolden{display:grid;grid-template-columns:39.2% auto;overflow:hidden;padding:0}.aa-PanelLayoutColumns--two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;padding:0}.aa-PanelLayoutColumns--three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;padding:0}.aa-Panel--stalled .aa-Source{filter:grayscale(1);opacity:.8}.aa-Panel--scrollable{margin:0;max-height:650px;max-height:var(--aa-panel-max-height);overflow-x:hidden;overflow-y:auto;padding:calc(calc(16 * 1 * 1px)/ 2);padding:var(--aa-spacing-half);scrollbar-color:rgba(255,255,255,1) rgba(234,234,234,1);scrollbar-color:rgba(var(--aa-scrollbar-thumb-background-color-rgb),var(--aa-scrollbar-thumb-background-color-alpha)) rgba(var(--aa-scrollbar-track-background-color-rgb),var(--aa-scrollbar-track-background-color-alpha));scrollbar-width:thin}.aa-Panel--scrollable::-webkit-scrollbar{width:13px;width:var(--aa-scrollbar-width)}.aa-Panel--scrollable::-webkit-scrollbar-track{background-color:#eaeaea;background-color:rgba(var(--aa-scrollbar-track-background-color-rgb),var(--aa-scrollbar-track-background-color-alpha))}.aa-Panel--scrollable::-webkit-scrollbar-thumb{background-color:#fff;background-color:rgba(var(--aa-scrollbar-thumb-background-color-rgb),var(--aa-scrollbar-thumb-background-color-alpha));border-radius:9999px;border:3px solid #eaeaea;border:3px solid rgba(var(--aa-scrollbar-track-background-color-rgb),var(--aa-scrollbar-track-background-color-alpha));border-right-width:2px}.aa-Source{margin:0;padding:0;position:relative;width:100%}.aa-Source:empty{display:none}.aa-SourceNoResults{font-size:1em;margin:0;padding:calc(16 * 1 * 1px);padding:var(--aa-spacing)}.aa-List{list-style:none;margin:0}.aa-List,.aa-SourceHeader{padding:0;position:relative}.aa-SourceHeader{margin:calc(calc(16 * 1 * 1px)/ 2) .5em calc(calc(16 * 1 * 1px)/ 2) 0;margin:var(--aa-spacing-half) .5em var(--aa-spacing-half) 0}.aa-SourceHeader:empty{display:none}.aa-SourceHeaderTitle{background:#fff;background:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));color:#3e34d3;color:rgba(var(--aa-primary-color-rgb),1);display:inline-block;font-size:.8em;font-weight:600;font-weight:var(--aa-font-weight-semibold);margin:0;padding:0 calc(calc(16 * 1 * 1px)/ 2) 0 0;padding:0 var(--aa-spacing-half) 0 0;position:relative;z-index:9999;z-index:var(--aa-base-z-index)}.aa-SourceHeaderLine{border-bottom:1px solid #3e34d3;border-bottom:1px solid rgba(var(--aa-primary-color-rgb),1);display:block;height:2px;left:0;margin:0;opacity:.3;padding:0;position:absolute;right:0;top:calc(calc(16 * 1 * 1px)/ 2);top:var(--aa-spacing-half);z-index:calc(9999 - 1);z-index:calc(var(--aa-base-z-index) - 1)}.aa-SourceFooterSeeAll{background:linear-gradient(180deg,#fff,rgba(128,126,163,.14));background:linear-gradient(180deg,rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha)),rgba(128,126,163,.14));border:1px solid rgba(128,126,163,.6);border:1px solid rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));border-radius:5px;box-shadow:inset 0 0 2px #fff,0 2px 2px -1px rgba(76,69,88,.15);color:inherit;font-size:.95em;font-weight:500;font-weight:var(--aa-font-weight-medium);padding:.475em 1em .6em;-webkit-text-decoration:none;text-decoration:none}.aa-SourceFooterSeeAll:focus,.aa-SourceFooterSeeAll:hover{border:1px solid #3e34d3;border:1px solid rgba(var(--aa-primary-color-rgb),1);color:#3e34d3;color:rgba(var(--aa-primary-color-rgb),1)}.aa-Item{align-items:center;border-radius:3px;cursor:pointer;display:grid;min-height:calc(calc(16 * 1 * 1px)*2.5);min-height:calc(var(--aa-spacing)*2.5);padding:calc(calc(calc(16 * 1 * 1px)/ 2)/ 2);padding:calc(var(--aa-spacing-half)/2)}.aa-Item[aria-selected=true]{background-color:rgba(179,173,214,.205);background-color:rgba(var(--aa-selected-color-rgb),var(--aa-selected-color-alpha))}.aa-Item[aria-selected=true] .aa-ActiveOnly,.aa-Item[aria-selected=true] .aa-ItemActionButton{visibility:visible}.aa-ItemIcon{align-items:center;background:#fff;background:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));border-radius:3px;box-shadow:inset 0 0 0 1px rgba(128,126,163,.3);box-shadow:inset 0 0 0 1px rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha));color:#7777a3;color:rgba(var(--aa-icon-color-rgb),var(--aa-icon-color-alpha));display:flex;flex-shrink:0;font-size:.7em;height:calc(20px + calc(calc(16 * 1 * 1px)/ 2));height:calc(var(--aa-icon-size) + var(--aa-spacing-half));justify-content:center;overflow:hidden;stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);text-align:center;width:calc(20px + calc(calc(16 * 1 * 1px)/ 2));width:calc(var(--aa-icon-size) + var(--aa-spacing-half))}.aa-ItemIcon img{height:auto;max-height:calc(20px + calc(calc(16 * 1 * 1px)/ 2) - 8px);max-height:calc(var(--aa-icon-size) + var(--aa-spacing-half) - 8px);max-width:calc(20px + calc(calc(16 * 1 * 1px)/ 2) - 8px);max-width:calc(var(--aa-icon-size) + var(--aa-spacing-half) - 8px);width:auto}.aa-ItemIcon svg{height:20px;height:var(--aa-icon-size);width:20px;width:var(--aa-icon-size)}.aa-ItemIcon--alignTop{align-self:flex-start}.aa-ItemIcon--noBorder{background:0 0;box-shadow:none}.aa-ItemIcon--picture{height:96px;width:96px}.aa-ItemIcon--picture img{max-height:100%;max-width:100%;padding:calc(calc(16 * 1 * 1px)/ 2);padding:var(--aa-spacing-half)}.aa-ItemContent{align-items:center;cursor:pointer;display:grid;gap:calc((16 * 1 * 1px)/ 2);gap:calc(calc(16 * 1 * 1px)/ 2);grid-gap:calc((16 * 1 * 1px)/ 2);grid-gap:calc(calc(16 * 1 * 1px)/ 2);grid-gap:var(--aa-spacing-half);gap:var(--aa-spacing-half);grid-auto-flow:column;line-height:1.25em;overflow:hidden}.aa-ItemContent:empty{display:none}.aa-ItemContent mark{background:0 0;color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-style:normal;font-weight:700;font-weight:var(--aa-font-weight-bold)}.aa-ItemContent--dual{display:flex;flex-direction:column;justify-content:space-between;text-align:left}.aa-ItemContent--dual .aa-ItemContentSubtitle,.aa-ItemContent--dual .aa-ItemContentTitle{display:block}.aa-ItemContent--indented{padding-left:calc(20px + calc(16 * 1 * 1px));padding-left:calc(var(--aa-icon-size) + var(--aa-spacing))}.aa-ItemContentBody{display:grid;gap:calc(((16 * 1 * 1px)/ 2)/ 2);gap:calc(calc(calc(16 * 1 * 1px)/ 2)/ 2);grid-gap:calc(((16 * 1 * 1px)/ 2)/ 2);grid-gap:calc(calc(calc(16 * 1 * 1px)/ 2)/ 2);grid-gap:calc(var(--aa-spacing-half)/2);gap:calc(var(--aa-spacing-half)/2)}.aa-ItemContentTitle{display:inline-block;margin:0 .5em 0 0;max-width:100%;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.aa-ItemContentSubtitle{font-size:.92em}.aa-ItemContentSubtitleIcon:before{border-color:rgba(128,126,163,.64);border-color:rgba(var(--aa-muted-color-rgb),.64);border-style:solid;content:\\\"\\\";display:inline-block;left:1px;position:relative;top:-3px}.aa-ItemContentSubtitle--inline .aa-ItemContentSubtitleIcon:before{border-width:0 0 1.5px;margin-left:calc(calc(16 * 1 * 1px)/ 2);margin-left:var(--aa-spacing-half);margin-right:calc(calc(calc(16 * 1 * 1px)/ 2)/ 2);margin-right:calc(var(--aa-spacing-half)/2);width:calc(calc(calc(16 * 1 * 1px)/ 2) + 2px);width:calc(var(--aa-spacing-half) + 2px)}.aa-ItemContentSubtitle--standalone{align-items:center;color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));display:grid;gap:calc((16 * 1 * 1px)/ 2);gap:calc(calc(16 * 1 * 1px)/ 2);grid-gap:calc((16 * 1 * 1px)/ 2);grid-gap:calc(calc(16 * 1 * 1px)/ 2);grid-gap:var(--aa-spacing-half);gap:var(--aa-spacing-half);grid-auto-flow:column;justify-content:start}.aa-ItemContentSubtitle--standalone .aa-ItemContentSubtitleIcon:before{border-radius:0 0 0 3px;border-width:0 0 1.5px 1.5px;height:calc(calc(16 * 1 * 1px)/ 2);height:var(--aa-spacing-half);width:calc(calc(16 * 1 * 1px)/ 2);width:var(--aa-spacing-half)}.aa-ItemContentSubtitleCategory{color:#807ea3;color:rgba(var(--aa-muted-color-rgb),1);font-weight:500}.aa-ItemContentDescription{color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-size:.85em;max-width:100%;overflow-x:hidden;text-overflow:ellipsis}.aa-ItemContentDescription:empty{display:none}.aa-ItemContentDescription mark{background:rgba(245,223,77,.5);background:rgba(var(--aa-description-highlight-background-color-rgb),var(--aa-description-highlight-background-color-alpha));color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-style:normal;font-weight:500;font-weight:var(--aa-font-weight-medium)}.aa-ItemContentDash{color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));display:none;opacity:.4}.aa-ItemContentTag{background-color:rgba(62,52,211,.2);background-color:rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha));border-radius:3px;margin:0 .4em 0 0;padding:.08em .3em}.aa-ItemLink,.aa-ItemWrapper{align-items:center;color:inherit;display:grid;gap:calc(((16 * 1 * 1px)/ 2)/ 2);gap:calc(calc(calc(16 * 1 * 1px)/ 2)/ 2);grid-gap:calc(((16 * 1 * 1px)/ 2)/ 2);grid-gap:calc(calc(calc(16 * 1 * 1px)/ 2)/ 2);grid-gap:calc(var(--aa-spacing-half)/2);gap:calc(var(--aa-spacing-half)/2);grid-auto-flow:column;justify-content:space-between;width:100%}.aa-ItemLink{color:inherit;-webkit-text-decoration:none;text-decoration:none}.aa-ItemActions{display:grid;grid-auto-flow:column;height:100%;justify-self:end;margin:0 calc(calc(16 * 1 * 1px)/ -3);margin:0 calc(var(--aa-spacing)/-3);padding:0 2px 0 0}.aa-ItemActionButton{align-items:center;background:0 0;border:0;color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));cursor:pointer;display:flex;flex-shrink:0;padding:0}.aa-ItemActionButton:focus svg,.aa-ItemActionButton:hover svg{color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha))}.aa-ItemActionButton svg{color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));margin:0;margin:calc(calc(16 * 1 * 1px)/ 3);margin:calc(var(--aa-spacing)/3);stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);width:20px;width:var(--aa-action-icon-size)}.aa-ActiveOnly{visibility:hidden}.aa-PanelHeader{align-items:center;background:#3e34d3;background:rgba(var(--aa-primary-color-rgb),1);color:#fff;display:grid;height:var(--aa-modal-header-height);margin:0;padding:calc(calc(16 * 1 * 1px)/ 2) calc(16 * 1 * 1px);padding:var(--aa-spacing-half) var(--aa-spacing);position:relative}.aa-PanelHeader:after{background-image:linear-gradient(#fff,rgba(255,255,255,0));background-image:linear-gradient(rgba(var(--aa-background-color-rgb),1),rgba(var(--aa-background-color-rgb),0));bottom:calc(calc(calc(16 * 1 * 1px)/ 2)*-1);bottom:calc(var(--aa-spacing-half)*-1);content:\\\"\\\";height:calc(calc(16 * 1 * 1px)/ 2);height:var(--aa-spacing-half);left:0;pointer-events:none;position:absolute;right:0;z-index:9999;z-index:var(--aa-base-z-index)}.aa-PanelFooter{background-color:#fff;background-color:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));box-shadow:inset 0 1px 0 rgba(128,126,163,.3);box-shadow:inset 0 1px 0 rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha));display:flex;justify-content:space-between;margin:0;padding:calc(16 * 1 * 1px);padding:var(--aa-spacing);position:relative;z-index:9999;z-index:var(--aa-base-z-index)}.aa-PanelFooter:after{background-image:linear-gradient(rgba(255,255,255,0),rgba(128,126,163,.6));background-image:linear-gradient(rgba(var(--aa-background-color-rgb),0),rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha)));content:\\\"\\\";height:calc(16 * 1 * 1px);height:var(--aa-spacing);left:0;opacity:.12;pointer-events:none;position:absolute;right:0;top:calc(calc(16 * 1 * 1px)*-1);top:calc(var(--aa-spacing)*-1);z-index:calc(9999 - 1);z-index:calc(var(--aa-base-z-index) - 1)}.aa-DetachedContainer{background:#fff;background:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));bottom:0;box-shadow:0 0 0 1px rgba(35,38,59,.1),0 6px 16px -4px rgba(35,38,59,.15);box-shadow:var(--aa-panel-shadow);display:flex;flex-direction:column;left:0;margin:0;overflow:hidden;padding:0;position:fixed;right:0;top:0;z-index:9999;z-index:var(--aa-base-z-index)}.aa-DetachedContainer:after{height:32px}.aa-DetachedContainer .aa-SourceHeader{margin:calc(calc(16 * 1 * 1px)/ 2) 0 calc(calc(16 * 1 * 1px)/ 2) 2px;margin:var(--aa-spacing-half) 0 var(--aa-spacing-half) 2px}.aa-DetachedContainer .aa-Panel{background-color:#fff;background-color:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));border-radius:0;box-shadow:none;flex-grow:1;margin:0;padding:0;position:relative}.aa-DetachedContainer .aa-PanelLayout{bottom:0;box-shadow:none;left:0;margin:0;max-height:none;overflow-y:auto;position:absolute;right:0;top:0;width:100%}.aa-DetachedFormContainer{border-bottom:1px solid rgba(128,126,163,.3);border-bottom:1px solid rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha));display:flex;flex-direction:row;justify-content:space-between;margin:0;padding:calc(calc(16 * 1 * 1px)/ 2);padding:var(--aa-spacing-half)}.aa-DetachedCancelButton{background:0 0;border:0;border-radius:3px;color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));cursor:pointer;font:inherit;margin:0 0 0 calc(calc(16 * 1 * 1px)/ 2);margin:0 0 0 var(--aa-spacing-half);padding:0 calc(calc(16 * 1 * 1px)/ 2);padding:0 var(--aa-spacing-half)}.aa-DetachedCancelButton:focus,.aa-DetachedCancelButton:hover{box-shadow:inset 0 0 0 1px rgba(128,126,163,.3);box-shadow:inset 0 0 0 1px rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha))}.aa-DetachedContainer--modal{border-radius:6px;bottom:inherit;height:auto;margin:0 auto;max-width:680px;max-width:var(--aa-detached-modal-max-width);position:absolute;top:3%}.aa-DetachedContainer--modal .aa-PanelLayout{max-height:500px;max-height:var(--aa-detached-modal-max-height);padding-bottom:calc(calc(16 * 1 * 1px)/ 2);padding-bottom:var(--aa-spacing-half);position:static}.aa-DetachedContainer--modal .aa-PanelLayout:empty{display:none}.aa-DetachedSearchButton{align-items:center;background-color:#fff;background-color:rgba(var(--aa-input-background-color-rgb),var(--aa-input-background-color-alpha));border:1px solid rgba(128,126,163,.8);border:1px solid rgba(var(--aa-input-border-color-rgb),var(--aa-input-border-color-alpha));border-radius:3px;color:rgba(128,126,163,.6);color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));cursor:pointer;display:flex;font:inherit;font-family:inherit;font-family:var(--aa-font-family);font-size:calc(16 * 1px);font-size:var(--aa-font-size);height:44px;height:var(--aa-search-input-height);margin:0;padding:0 calc(44px/8);padding:0 calc(var(--aa-search-input-height)/8);position:relative;text-align:left;width:100%}.aa-DetachedSearchButton:focus{border-color:#3e34d3;border-color:rgba(var(--aa-primary-color-rgb),1);box-shadow:rgba(62,52,211,.2) 0 0 0 3px,inset rgba(62,52,211,.2) 0 0 0 2px;box-shadow:rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 3px,inset rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 2px;outline:currentColor}.aa-DetachedSearchButtonIcon{align-items:center;color:#3e34d3;color:rgba(var(--aa-primary-color-rgb),1);cursor:auto;display:flex;flex-shrink:0;height:100%;justify-content:center;width:calc(20px + calc(16 * 1 * 1px));width:calc(var(--aa-icon-size) + var(--aa-spacing))}.aa-DetachedSearchButtonQuery{color:#262627;color:rgba(var(--aa-text-color-rgb),1);line-height:1.25em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aa-DetachedSearchButtonPlaceholder[hidden]{display:none}.aa-Detached{height:100vh;overflow:hidden}.aa-DetachedOverlay{background-color:rgba(115,114,129,.4);background-color:rgba(var(--aa-overlay-color-rgb),var(--aa-overlay-color-alpha));height:100vh;left:0;margin:0;padding:0;position:fixed;right:0;top:0;z-index:calc(9999 - 1);z-index:calc(var(--aa-base-z-index) - 1)}.aa-GradientBottom,.aa-GradientTop{height:calc(calc(16 * 1 * 1px)/ 2);height:var(--aa-spacing-half);left:0;pointer-events:none;position:absolute;right:0;z-index:9999;z-index:var(--aa-base-z-index)}.aa-GradientTop{background-image:linear-gradient(#fff,rgba(255,255,255,0));background-image:linear-gradient(rgba(var(--aa-background-color-rgb),1),rgba(var(--aa-background-color-rgb),0));top:0}.aa-GradientBottom{background-image:linear-gradient(rgba(255,255,255,0),#fff);background-image:linear-gradient(rgba(var(--aa-background-color-rgb),0),rgba(var(--aa-background-color-rgb),1));border-bottom-left-radius:calc(calc(16 * 1 * 1px)/ 4);border-bottom-left-radius:calc(var(--aa-spacing)/4);border-bottom-right-radius:calc(calc(16 * 1 * 1px)/ 4);border-bottom-right-radius:calc(var(--aa-spacing)/4);bottom:0}@media (hover:none) and (pointer:coarse){.aa-ItemActionButton:focus svg,.aa-ItemActionButton:hover svg{color:inherit}.aa-DesktopOnly{display:none}}@media (hover:hover){.aa-TouchOnly{display:none}}/*! Bundled license information:\\n\\n@algolia/autocomplete-theme-classic/dist/theme.min.css:\\n (*! @algolia/autocomplete-theme-classic 1.17.1 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete *)\\n*/\"}}}", + "title": "$:/plugins/linonetwo/commandpalette", + "type": "application/json", + "version": "1.2.0", + "Modern.TiddlyDev#SHA256-Hashed": "1d246c8d27aa4d942c13ed5382358367074179972c048c079f9366534bb1981f", "name": "Command Palette 命令菜单" } ] \ No newline at end of file diff --git a/wiki/tiddlers/$__plugins_linonetwo_tw-whiteboard.json b/wiki/tiddlers/$__plugins_linonetwo_tw-whiteboard.json index 11bfe09..ba14f7a 100644 --- a/wiki/tiddlers/$__plugins_linonetwo_tw-whiteboard.json +++ b/wiki/tiddlers/$__plugins_linonetwo_tw-whiteboard.json @@ -1,8 +1,5 @@ [ { - "text": "{\"tiddlers\":{\"$:/language/Docs/Types/application/vnd.tldraw+json\":{\"title\":\"$:/language/Docs/Types/application/vnd.tldraw+json\",\"description\":\"白板\",\"name\":\"application/vnd.tldraw+json\",\"group\":\"图像\",\"group-sort\":\"1\"},\"$:/plugins/linonetwo/itonnote/Startup/registerFileType.js\":{\"title\":\"$:/plugins/linonetwo/itonnote/Startup/registerFileType.js\",\"text\":\"$tw.utils.registerFileType(\\\"application/vnd.tldraw+json\\\",\\\"utf8\\\",\\\".tldr\\\");\",\"module-type\":\"startup\",\"type\":\"application/javascript\"},\"$:/plugins/linonetwo/tw-whiteboard/WidgetParamTable\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/WidgetParamTable\",\"creator\":\"LinOnetwo\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\\\\define lingo-base() $:/plugins/linonetwo/tw-whiteboard/language/\\n\\n<>\\n\"},\"WhiteBoardTutorial\":{\"title\":\"WhiteBoardTutorial\",\"text\":\"{\\\"tldrawFileFormatVersion\\\":1,\\\"schema\\\":{\\\"schemaVersion\\\":1,\\\"storeVersion\\\":4,\\\"recordVersions\\\":{\\\"asset\\\":{\\\"version\\\":1,\\\"subTypeKey\\\":\\\"type\\\",\\\"subTypeVersions\\\":{\\\"image\\\":3,\\\"video\\\":3,\\\"bookmark\\\":1}},\\\"camera\\\":{\\\"version\\\":1},\\\"document\\\":{\\\"version\\\":2},\\\"instance\\\":{\\\"version\\\":24},\\\"instance_page_state\\\":{\\\"version\\\":5},\\\"page\\\":{\\\"version\\\":1},\\\"shape\\\":{\\\"version\\\":3,\\\"subTypeKey\\\":\\\"type\\\",\\\"subTypeVersions\\\":{\\\"group\\\":0,\\\"text\\\":1,\\\"bookmark\\\":2,\\\"draw\\\":1,\\\"geo\\\":8,\\\"note\\\":5,\\\"line\\\":4,\\\"frame\\\":0,\\\"arrow\\\":3,\\\"highlight\\\":0,\\\"embed\\\":4,\\\"image\\\":3,\\\"video\\\":2,\\\"wikitext-note\\\":0,\\\"transclude\\\":0}},\\\"instance_presence\\\":{\\\"version\\\":5},\\\"pointer\\\":{\\\"version\\\":1}}},\\\"records\\\":[{\\\"gridSize\\\":10,\\\"name\\\":\\\"\\\",\\\"meta\\\":{},\\\"id\\\":\\\"document:document\\\",\\\"typeName\\\":\\\"document\\\"},{\\\"id\\\":\\\"pointer:pointer\\\",\\\"typeName\\\":\\\"pointer\\\",\\\"x\\\":589,\\\"y\\\":265,\\\"lastActivityTimestamp\\\":1716370020374,\\\"meta\\\":{}},{\\\"meta\\\":{},\\\"id\\\":\\\"page:page\\\",\\\"name\\\":\\\"Page 1\\\",\\\"index\\\":\\\"a1\\\",\\\"typeName\\\":\\\"page\\\"},{\\\"x\\\":0,\\\"y\\\":0,\\\"z\\\":1,\\\"meta\\\":{},\\\"id\\\":\\\"camera:page:page\\\",\\\"typeName\\\":\\\"camera\\\"},{\\\"editingShapeId\\\":null,\\\"croppingShapeId\\\":null,\\\"selectedShapeIds\\\":[],\\\"hoveredShapeId\\\":null,\\\"erasingShapeIds\\\":[],\\\"hintingShapeIds\\\":[],\\\"focusedGroupId\\\":null,\\\"meta\\\":{},\\\"id\\\":\\\"instance_page_state:page:page\\\",\\\"pageId\\\":\\\"page:page\\\",\\\"typeName\\\":\\\"instance_page_state\\\"},{\\\"followingUserId\\\":null,\\\"opacityForNextShape\\\":1,\\\"stylesForNextShape\\\":{\\\"tldraw:color\\\":\\\"light-blue\\\"},\\\"brush\\\":null,\\\"scribbles\\\":[],\\\"cursor\\\":{\\\"type\\\":\\\"default\\\",\\\"rotation\\\":0},\\\"isFocusMode\\\":false,\\\"exportBackground\\\":true,\\\"isDebugMode\\\":false,\\\"isToolLocked\\\":false,\\\"screenBounds\\\":{\\\"x\\\":0,\\\"y\\\":0,\\\"w\\\":1749,\\\"h\\\":947},\\\"insets\\\":[false,false,false,false],\\\"zoomBrush\\\":null,\\\"isGridMode\\\":false,\\\"isPenMode\\\":false,\\\"chatMessage\\\":\\\"\\\",\\\"isChatting\\\":false,\\\"highlightedUserIds\\\":[],\\\"canMoveCamera\\\":true,\\\"isFocused\\\":true,\\\"devicePixelRatio\\\":2,\\\"isCoarsePointer\\\":false,\\\"isHoveringCanvas\\\":true,\\\"openMenus\\\":[],\\\"isChangingStyle\\\":false,\\\"isReadonly\\\":false,\\\"meta\\\":{},\\\"duplicateProps\\\":null,\\\"id\\\":\\\"instance:instance\\\",\\\"currentPageId\\\":\\\"page:page\\\",\\\"typeName\\\":\\\"instance\\\"},{\\\"x\\\":347,\\\"y\\\":350,\\\"rotation\\\":0,\\\"isLocked\\\":false,\\\"opacity\\\":1,\\\"meta\\\":{},\\\"id\\\":\\\"shape:ce8R-z_bgBBVw0raFV7TD\\\",\\\"type\\\":\\\"arrow\\\",\\\"parentId\\\":\\\"page:page\\\",\\\"index\\\":\\\"a2V\\\",\\\"props\\\":{\\\"dash\\\":\\\"draw\\\",\\\"size\\\":\\\"m\\\",\\\"fill\\\":\\\"none\\\",\\\"color\\\":\\\"violet\\\",\\\"labelColor\\\":\\\"black\\\",\\\"bend\\\":0,\\\"start\\\":{\\\"type\\\":\\\"binding\\\",\\\"boundShapeId\\\":\\\"shape:qPreHOxPKegPxREInYOVF\\\",\\\"normalizedAnchor\\\":{\\\"x\\\":0.27621764081379896,\\\"y\\\":0.2839506105007159},\\\"isPrecise\\\":true,\\\"isExact\\\":false},\\\"end\\\":{\\\"type\\\":\\\"point\\\",\\\"x\\\":-273,\\\"y\\\":-273},\\\"arrowheadStart\\\":\\\"none\\\",\\\"arrowheadEnd\\\":\\\"arrow\\\",\\\"text\\\":\\\"\\\",\\\"labelPosition\\\":0.5,\\\"font\\\":\\\"draw\\\"},\\\"typeName\\\":\\\"shape\\\"},{\\\"x\\\":291.06666564941406,\\\"y\\\":314.8000030517578,\\\"rotation\\\":0,\\\"isLocked\\\":false,\\\"opacity\\\":1,\\\"meta\\\":{},\\\"id\\\":\\\"shape:qPreHOxPKegPxREInYOVF\\\",\\\"type\\\":\\\"text\\\",\\\"props\\\":{\\\"color\\\":\\\"violet\\\",\\\"size\\\":\\\"m\\\",\\\"w\\\":303.8666687011719,\\\"text\\\":\\\"Top Left menu:\\\\ncreate new board\\\\nswitch between tiddlers\\\\n左上角菜单:\\\\n创建新白板\\\\n在白板条目间切换\\\",\\\"font\\\":\\\"draw\\\",\\\"align\\\":\\\"middle\\\",\\\"autoSize\\\":true,\\\"scale\\\":1},\\\"parentId\\\":\\\"page:page\\\",\\\"index\\\":\\\"a2\\\",\\\"typeName\\\":\\\"shape\\\"},{\\\"x\\\":677.8500061035156,\\\"y\\\":357.8000030517578,\\\"rotation\\\":0,\\\"isLocked\\\":false,\\\"opacity\\\":1,\\\"meta\\\":{},\\\"id\\\":\\\"shape:zpVJK-cJlXuAAbRUnbpSP\\\",\\\"type\\\":\\\"text\\\",\\\"props\\\":{\\\"color\\\":\\\"blue\\\",\\\"size\\\":\\\"m\\\",\\\"w\\\":268.29998779296875,\\\"text\\\":\\\"Use copy widget\\\\nthat can past to note\\\\n用 复制微件代码\\\\n黏贴到笔记里插入白板\\\",\\\"font\\\":\\\"draw\\\",\\\"align\\\":\\\"middle\\\",\\\"autoSize\\\":true,\\\"scale\\\":1},\\\"parentId\\\":\\\"page:page\\\",\\\"index\\\":\\\"a3\\\",\\\"typeName\\\":\\\"shape\\\"},{\\\"x\\\":703,\\\"y\\\":353,\\\"rotation\\\":0,\\\"isLocked\\\":false,\\\"opacity\\\":1,\\\"meta\\\":{},\\\"id\\\":\\\"shape:cH6eHQ9N7KnyQH0sPDAgm\\\",\\\"type\\\":\\\"arrow\\\",\\\"parentId\\\":\\\"page:page\\\",\\\"index\\\":\\\"a4\\\",\\\"props\\\":{\\\"dash\\\":\\\"draw\\\",\\\"size\\\":\\\"m\\\",\\\"fill\\\":\\\"none\\\",\\\"color\\\":\\\"blue\\\",\\\"labelColor\\\":\\\"black\\\",\\\"bend\\\":0,\\\"start\\\":{\\\"type\\\":\\\"binding\\\",\\\"boundShapeId\\\":\\\"shape:zpVJK-cJlXuAAbRUnbpSP\\\",\\\"normalizedAnchor\\\":{\\\"x\\\":0.20182630026158901,\\\"y\\\":0.24074070585553647},\\\"isPrecise\\\":true,\\\"isExact\\\":false},\\\"end\\\":{\\\"type\\\":\\\"point\\\",\\\"x\\\":-297,\\\"y\\\":-299},\\\"arrowheadStart\\\":\\\"none\\\",\\\"arrowheadEnd\\\":\\\"arrow\\\",\\\"text\\\":\\\"\\\",\\\"labelPosition\\\":0.5,\\\"font\\\":\\\"draw\\\"},\\\"typeName\\\":\\\"shape\\\"},{\\\"x\\\":617.3083343505859,\\\"y\\\":583.8000030517578,\\\"rotation\\\":0,\\\"isLocked\\\":false,\\\"opacity\\\":1,\\\"meta\\\":{},\\\"id\\\":\\\"shape:yonQrDZchsZxIk2xQd77_\\\",\\\"type\\\":\\\"text\\\",\\\"props\\\":{\\\"color\\\":\\\"light-blue\\\",\\\"size\\\":\\\"m\\\",\\\"w\\\":231.38333129882812,\\\"text\\\":\\\"Use {{*}} tool\\\\nto transclude note\\\\n用 {{*}} 工具\\\\n嵌入你的笔记\\\",\\\"font\\\":\\\"draw\\\",\\\"align\\\":\\\"middle\\\",\\\"autoSize\\\":true,\\\"scale\\\":1},\\\"parentId\\\":\\\"page:page\\\",\\\"index\\\":\\\"a5\\\",\\\"typeName\\\":\\\"shape\\\"},{\\\"x\\\":827,\\\"y\\\":683,\\\"rotation\\\":0,\\\"isLocked\\\":false,\\\"opacity\\\":1,\\\"meta\\\":{},\\\"id\\\":\\\"shape:NDEGr2E0V2BaHmqI8P909\\\",\\\"type\\\":\\\"arrow\\\",\\\"parentId\\\":\\\"page:page\\\",\\\"index\\\":\\\"a6\\\",\\\"props\\\":{\\\"dash\\\":\\\"draw\\\",\\\"size\\\":\\\"m\\\",\\\"fill\\\":\\\"none\\\",\\\"color\\\":\\\"light-blue\\\",\\\"labelColor\\\":\\\"black\\\",\\\"bend\\\":0,\\\"start\\\":{\\\"type\\\":\\\"binding\\\",\\\"boundShapeId\\\":\\\"shape:yonQrDZchsZxIk2xQd77_\\\",\\\"normalizedAnchor\\\":{\\\"x\\\":0.9062522545264957,\\\"y\\\":0.7654320391698748},\\\"isPrecise\\\":false,\\\"isExact\\\":false},\\\"end\\\":{\\\"type\\\":\\\"point\\\",\\\"x\\\":97,\\\"y\\\":182},\\\"arrowheadStart\\\":\\\"none\\\",\\\"arrowheadEnd\\\":\\\"arrow\\\",\\\"text\\\":\\\"\\\",\\\"labelPosition\\\":0.5,\\\"font\\\":\\\"draw\\\"},\\\"typeName\\\":\\\"shape\\\"}]}\",\"type\":\"application/vnd.tldraw+json\"},\"$:/plugins/linonetwo/tw-whiteboard/examples/whiteBoardLoadTiddler\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/examples/whiteBoardLoadTiddler\",\"tags\":\"$:/tags/TextEditor/Snippet\",\"caption\":\"WhiteBoard Load Tiddler readonly\",\"text\":\"<$whiteboard tiddler=\\\"tldrTiddler\\\" readonly=\\\"yes\\\" zoomToFit=\\\"yes\\\" width=\\\"30%\\\" height=\\\"300px\\\" />\"},\"$:/plugins/linonetwo/tw-whiteboard/language/en-GB/Readme\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/language/en-GB/Readme\",\"text\":\"\\\\define lingo-base() $:/plugins/linonetwo/tw-whiteboard/language/\\n\\n! <>\\n\\n<>\\n\\n!! FAQ\\n\\nV0.4.0+ use Tldraw 2.0.0, which is not compatible with previous version. So if your wiki have some old drawings, you need to re-draw them, or use previous version of this plugin, or open old file with tldraw vscode plugin or its official website, to let it upgrade your file.\\n\"},\"$:/plugins/linonetwo/tw-whiteboard/language/en-GB/Name\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/language/en-GB/Name\",\"text\":\"Whiteboard\"},\"$:/plugins/linonetwo/tw-whiteboard/language/en-GB/Description\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/language/en-GB/Description\",\"text\":\"Tiny little drawing app in TW, based on tldraw. Providing diagram widget and whiteboard view.\"},\"$:/plugins/linonetwo/tw-whiteboard/language/en-GB/Configs/Description\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/language/en-GB/Configs/Description\",\"text\":\"These settings let you customise the behaviour of \\\"Whiteboard\\\" plugin.\"},\"$:/plugins/linonetwo/tw-whiteboard/language/en-GB/OpenInLayout\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/language/en-GB/OpenInLayout\",\"text\":\"Open In Whiteboard Layout\"},\"$:/plugins/linonetwo/tw-whiteboard/language/en-GB/OpenInDefault\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/language/en-GB/OpenInDefault\",\"text\":\"Open tiddler In Default Layout\"},\"$:/plugins/linonetwo/tw-whiteboard/language/en-GB/BackToDefaultLayout\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/language/en-GB/BackToDefaultLayout\",\"text\":\"Back To Default Layout\"},\"$:/plugins/linonetwo/tw-whiteboard/language/en-GB/SwitchBoardTiddler\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/language/en-GB/SwitchBoardTiddler\",\"text\":\"Switch Board Tiddler\"},\"$:/plugins/linonetwo/tw-whiteboard/language/en-GB/Tools/Transclude/PlaceHolder\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/language/en-GB/Tools/Transclude/PlaceHolder\",\"text\":\"Tiddler title transclude\"},\"$:/plugins/linonetwo/tw-whiteboard/language/en-GB/Tools/Transclude/NoTiddlerTitle\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/language/en-GB/Tools/Transclude/NoTiddlerTitle\",\"text\":\"Tiddler title not filled\"},\"$:/plugins/linonetwo/tw-whiteboard/language/en-GB/Tools/Transclude/TiddlerMissing\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/language/en-GB/Tools/Transclude/TiddlerMissing\",\"text\":\"Tiddler missing\"},\"$:/plugins/linonetwo/tw-whiteboard/language/en-GB/Tools/Transclude/NoTextOnField\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/language/en-GB/Tools/Transclude/NoTextOnField\",\"text\":\"No text on field\"},\"$:/plugins/linonetwo/tw-whiteboard/language/en-GB/Tools/Note/DbClickEdit\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/language/en-GB/Tools/Note/DbClickEdit\",\"text\":\"Double click to edit\"},\"$:/plugins/linonetwo/tw-whiteboard/language/en-GB/Tools/Note/PlaceHolder\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/language/en-GB/Tools/Note/PlaceHolder\",\"text\":\"Input wikitext here...\"},\"$:/plugins/linonetwo/tw-whiteboard/language/en-GB/QuickActions/CopyWidgetSnippet\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/language/en-GB/QuickActions/CopyWidgetSnippet\",\"text\":\"Copy widget snippet\"},\"$:/plugins/linonetwo/tw-whiteboard/language/en-GB/Usage\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/language/en-GB/Usage\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"# Provides a whiteboard widget, use it like `<$whiteboard tiddler=\\\"tiddlerToStoreData\\\" />`\\n## There is a {{$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/code.svg}} button in the top menu bar, when clicked, it will copy the above whiteboard widget code to the clipboard, which can be pasted into any tiddler and inserted into the read-only mode of the current whiteboard.\\n# Provides a whiteboard layout, use `ctrl+shift+L` to switch to this layout, you can choose a tiddler with type `application/vnd.tldraw+json`, and edit it in full screen.\\n## There is a button in the menu at the top left corner to enter the whiteboard layout for full-screen editing, or to return to the default layout when in full-screen mode.\\n## Shortcuts only work in fullscreen mode, so as not to interfere with the shortcuts that come with TaiWei.\\n# Tiddler with type `application/vnd.tldraw+json` will be parsed as whiteboard, showing whiteboard in tiddler's ViewTemplate\\n## You can also open a whiteboard layout and then create a new whiteboard tiddler in the upper left menu, or switch between whiteboard tiddlers\\n\\n[[Widget Params Table|$:/plugins/linonetwo/tw-whiteboard/WidgetParamTable]]\\n\"},\"$:/plugins/linonetwo/tw-whiteboard/language/en-GB/WidgetParamTable\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/language/en-GB/WidgetParamTable\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"| !Attribute | !Description | !Values | !DefaultValues | !Example |\\n|tiddler|tiddler to render or edit|tiddler title with type `application/vnd.tldraw+json`|`currentTiddler`|`tiddler=\\\"TldrTiddlerExample\\\"`|\\n|readonly|make widget content non-editable, so you can use it in public-facing wikis for display.|\\\"yes\\\" or \\\"true\\\"|`no`|`readonly=\\\"yes\\\"`|\\n|zoomToFit|make widget content fit to widget size for display. This usually gives a smaller zoom, you might use `zoom` param to give your custom value.|\\\"yes\\\" or \\\"true\\\"|`yes`|`zoomToFit=\\\"no\\\"`|\\n|zoom|This will disable `zoomToFit`, and only apply when widget loads. You can use mouse wheel to zoom later.|number between 0 and 1|`1`|`zoom=\\\"0.25\\\"`|\\n|height|widget height|number end with \\\"px\\\"||`height=\\\"350px\\\"`|\\n|width|widget width|number end with \\\"px\\\" or \\\"%\\\"|`100%`|`width=\\\"50%\\\"`|\\n|focused|focused or not|shortcuts can only be used when focused|`no`|`focused=\\\"yes\\\"`|\"},\"$:/plugins/linonetwo/tw-whiteboard/language/zh-Hans/Readme\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/language/zh-Hans/Readme\",\"text\":\"\\\\define lingo-base() $:/plugins/linonetwo/tw-whiteboard/language/\\n\\n! <>\\n\\n<>\\n\\n!! 常见问题\\n\\nV0.4.0+ 使用 Tldraw 2.0.0,该版本与旧版本不兼容。因此,如果你的 wiki 有一些旧图,你需要重新绘制,或者使用此插件的旧版本,或者用 tldraw vscode 插件或其官方网站打开旧文件,让它升级你的文件。\\n\"},\"$:/plugins/linonetwo/tw-whiteboard/language/zh-Hans/Name\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/language/zh-Hans/Name\",\"text\":\"白板\"},\"$:/plugins/linonetwo/tw-whiteboard/language/zh-Hans/Description\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/language/zh-Hans/Description\",\"text\":\"太微白板应用,提供图表微件和白板视图,基于开源白板「TlDraw」\"},\"$:/plugins/linonetwo/tw-whiteboard/language/zh-Hans/Configs/Description\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/language/zh-Hans/Configs/Description\",\"text\":\"通过这些设置,您可以自定义「白板」插件的行为。\"},\"$:/plugins/linonetwo/tw-whiteboard/language/zh-Hans/OpenInLayout\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/language/zh-Hans/OpenInLayout\",\"text\":\"在白板布局中开启\"},\"$:/plugins/linonetwo/tw-whiteboard/language/zh-Hans/OpenInDefault\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/language/zh-Hans/OpenInDefault\",\"text\":\"在默认布局中开启此白板条目\"},\"$:/plugins/linonetwo/tw-whiteboard/language/zh-Hans/BackToDefaultLayout\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/language/zh-Hans/BackToDefaultLayout\",\"text\":\"返回默认布局\"},\"$:/plugins/linonetwo/tw-whiteboard/language/zh-Hans/SwitchBoardTiddler\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/language/zh-Hans/SwitchBoardTiddler\",\"text\":\"切换白板条目\"},\"$:/plugins/linonetwo/tw-whiteboard/language/zh-Hans/Tools/Transclude/PlaceHolder\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/language/zh-Hans/Tools/Transclude/PlaceHolder\",\"text\":\"条目标题 - 嵌入\"},\"$:/plugins/linonetwo/tw-whiteboard/language/zh-Hans/Tools/Transclude/NoTiddlerTitle\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/language/zh-Hans/Tools/Transclude/NoTiddlerTitle\",\"text\":\"未填条目标题\"},\"$:/plugins/linonetwo/tw-whiteboard/language/zh-Hans/Tools/Transclude/TiddlerMissing\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/language/zh-Hans/Tools/Transclude/TiddlerMissing\",\"text\":\"条目不存在\"},\"$:/plugins/linonetwo/tw-whiteboard/language/zh-Hans/Tools/Transclude/NoTextOnField\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/language/zh-Hans/Tools/Transclude/NoTextOnField\",\"text\":\"条目此字段无文本内容\"},\"$:/plugins/linonetwo/tw-whiteboard/language/zh-Hans/Tools/Note/DbClickEdit\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/language/zh-Hans/Tools/Note/DbClickEdit\",\"text\":\"双击以编辑\"},\"$:/plugins/linonetwo/tw-whiteboard/language/zh-Hans/Tools/Note/PlaceHolder\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/language/zh-Hans/Tools/Note/PlaceHolder\",\"text\":\"输入维基文本…\"},\"$:/plugins/linonetwo/tw-whiteboard/language/zh-Hans/QuickActions/CopyWidgetSnippet\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/language/zh-Hans/QuickActions/CopyWidgetSnippet\",\"text\":\"复制微件代码\"},\"$:/plugins/linonetwo/tw-whiteboard/language/zh-Hans/Usage\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/language/zh-Hans/Usage\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"# 提供一个白板微件,使用方式类似于 `<$whiteboard tiddler=\\\"存储白板数据的条目名\\\" />` 。\\n## 顶部菜单栏里有 {{$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/code.svg}} 按钮,点击后会复制上述白板微件代码到剪贴板,可以黏贴到任何条目里,插入当前白板的只读模式\\n# 提供白板布局,使用 `ctrl+shift+L` 切换到该视图,你可以选择类型为 `application/vnd.tldraw+json` 的条目,并全屏编辑。\\n## 左上角的菜单里有按钮可以进入白板视图全屏编辑,或在全屏模式时返回默认布局\\n## 快捷键只有在全屏模式时才生效,以免影响太微自带的快捷键\\n# 类型为 `application/vnd.tldraw+json` 的条目将被解析为白板,在条目视图模板中显示白板\\n## 也可以打开白板布局后,在左上角菜单里创建新的白板条目,或在各白板条目之间切换\\n\\n[[微件参数表|$:/plugins/linonetwo/tw-whiteboard/WidgetParamTable]]\"},\"$:/plugins/linonetwo/tw-whiteboard/language/zh-Hans/WidgetParamTable\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/language/zh-Hans/WidgetParamTable\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"| !参数 | !描述 | !值 | !默认值 | !例子 |\\n|tiddler|渲染或编辑的条目|条目标题,条目的类型需要为 `application/vnd.tldraw+json`|`currentTiddler`|`tiddler=\\\"TldrTiddlerExample\\\"`|\\n|readonly|使白板微件的内容不可编辑,以便在面向公众的站点中显示。|\\\"yes\\\" or \\\"true\\\"|`no`|`readonly=\\\"yes\\\"`|\\n|zoomToFit|使微件内容适合微件大小以显示。这通常会提供较小的缩放,您可以使用 `zoom` 参数提供自定义值。|\\\"yes\\\" or \\\"true\\\"|`yes`|`zoomToFit=\\\"no\\\"`|\\n|zoom|这将禁用 \\\"zoomToFit\\\",仅在加载微件时应用。以后可以使用鼠标滚轮缩放。|在 0 和 1 之间的数字|`1`|`zoom=\\\"0.25\\\"`|\\n|height|微件的高度|以 \\\"px \\\"结尾的数字|`400px`|`height=\\\"350px\\\"`|\\n|width|微件宽度|数字以 \\\"px \\\"或\\\"%\\\"结尾|`100%`|`width=\\\"50%\\\"`|\\n|focused|是否聚焦|聚焦时才能使用快捷键|`no`|`focused=\\\"yes\\\"`|\"},\"$:/plugins/linonetwo/tw-whiteboard/readme\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/readme\",\"creator\":\"LinOnetwo\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"\\\\define lingo-base() $:/plugins/linonetwo/tw-whiteboard/language/\\n\\n<>\\n\"},\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/EditTemplate/body/EditTemplateBody.css\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/EditTemplate/body/EditTemplateBody.css\",\"text\":\".tw-whiteboard-edit-body-container {\\n width: 100%;\\n height: 100%;\\n margin-bottom: 20px;\\n}\",\"type\":\"text/vnd.tiddlywiki\",\"tags\":\"$:/tags/Stylesheet\"},\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/EditTemplate/body/edit-whiteboard-cascade-filter\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/EditTemplate/body/edit-whiteboard-cascade-filter\",\"tags\":\"$:/tags/EditTemplateBodyFilter\",\"list-before\":\"$:/config/EditTemplateBodyFilters/default\",\"text\":\"[field:type[application/vnd.tldraw+json]then[$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/EditTemplate/body/edit-whiteboard]]\"},\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/EditTemplate/body/edit-whiteboard\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/EditTemplate/body/edit-whiteboard\",\"text\":\"\\\\procedure lingo-base() $:/language/EditTemplate/Body/\\n\\n
\\n \\n <$edit-whiteboard tiddler=<> draftTitle={{!!draft.title}} height=\\\"500px\\\" />\\n
\"},\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/PageLayout/CreateNewTiddlerModal\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/PageLayout/CreateNewTiddlerModal\",\"subtitle\":\"{{$:/language/Buttons/NewTiddler/Caption}}\",\"footer\":\"{{$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/PageLayout/CreateNewTiddlerModalFooter}}\",\"mask-closable\":\"yes\",\"text\":\"
\\n\\n

{{$:/language/ControlPanel/Basics/NewTiddler/Title/Prompt}}

\\n\\n {{$:/state/Whiteboard/PageLayout/create-tiddler||$:/core/ui/EditTemplate/title}}\\n\\n {{$:/state/Whiteboard/PageLayout/create-tiddler||$:/core/ui/EditTemplate/tags}}\\n\\n
\"},\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/PageLayout/CreateNewTiddlerModalFooter\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/PageLayout/CreateNewTiddlerModalFooter\",\"text\":\"\\\\procedure temp-tiddler() $:/state/Whiteboard/PageLayout/create-tiddler\\n\\\\function temp-tiddler-draft-title() [get[draft.title]]\\n\\\\function temp-tiddler-tags() [get[tags]]\\n\\n<$button\\n class=\\\"tw-whiteboard-layout-create-new-tiddler-modal-button\\\"\\n message=\\\"tm-close-tiddler\\\"\\n disabled={{{ [get[draft.title]else[yes]] }}}\\n>\\n {{$:/language/Buttons/NewTiddler/Caption}}\\n <$action-createtiddler $basetitle=<> tags=<> type=\\\"application/vnd.tldraw+json\\\">\\n <$action-deletetiddler $tiddler=<>/>\\n <$action-setfield $tiddler=\\\"$:/state/Whiteboard/PageLayout/focusedTiddler\\\" text=<>/>\\n \\n\"},\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/PageLayout/SwitchBoardModal\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/PageLayout/SwitchBoardModal\",\"subtitle\":\"<>\",\"mask-closable\":\"yes\",\"text\":\"
\\n\\n\\t\\n\\t<$select\\n tiddler=\\\"$:/state/Whiteboard/PageLayout/focusedTiddler\\\"\\n default={{{[all[shadows+tiddlers]field:type[application/vnd.tldraw+json]sort[modified]first[]]}}}\\n actions='<$action-sendmessage $message=\\\"tm-close-tiddler\\\"/>'\\n >\\n\\t\\t<$list filter='[all[shadows+tiddlers]field:type[application/vnd.tldraw+json]sort[modified]]'>\\n\\t\\t\\t\\n\\t\\t\\n\\t\\n\\n
\"},\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/PageLayout/WhiteBoardLayout.css\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/PageLayout/WhiteBoardLayout.css\",\"text\":\".tw-whiteboard-layout-main-area {\\n height: 100vh;\\n width: 100vw;\\n}\\n\\ndiv.tw-whiteboard-layout-container {\\n margin-top: 0px;\\n}\\n.tw-whiteboard-layout-container p {\\n margin: 0;\\n}\\n\\n.tc-modal-body:has(.tw-whiteboard-layout-create-new-tiddler-modal-container) {\\n overflow-y: visible;\\n}\\n.tw-whiteboard-layout-create-new-tiddler-modal-container {\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: flex-start;\\n width: 100%;\\n}\\n.tw-whiteboard-layout-create-new-tiddler-modal-container input {\\n width: 100%;\\n font-size: 1.5em;\\n height: 2em;\\n}\\n.tw-whiteboard-layout-create-new-tiddler-modal-button {\\n font-size: 2em;\\n}\\n\\n.tw-whiteboard-layout-switch-board-modal-container, .tw-whiteboard-layout-switch-board-modal-container select {\\n width: 100%;\\n font-size: 2em;\\n}\",\"type\":\"text/vnd.tiddlywiki\",\"tags\":\"$:/tags/Stylesheet\"},\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/PageLayout/WhiteBoard\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/PageLayout/WhiteBoard\",\"name\":\"<>\",\"description\":\"<>\",\"tags\":\"$:/tags/Layout\",\"icon\":\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/PageLayout/whiteboard-icon\",\"text\":\"\\\\whitespace trim\\n\\\\define containerClasses()\\ntc-page-container tc-page-view-$(storyviewTitle)$ tc-language-$(languageTitle)$ tw-whiteboard-layout-container\\n\\\\end\\n\\\\import [subfilter{$:/core/config/GlobalImportFilter}]\\n\\\\define lingo-base() $:/plugins/linonetwo/tw-whiteboard/language/\\n\\n<$vars\\n\\ttv-config-toolbar-icons={{$:/config/Toolbar/Icons}}\\n\\ttv-config-toolbar-text={{$:/config/Toolbar/Text}}\\n\\ttv-config-toolbar-class={{$:/config/Toolbar/ButtonClass}}\\n\\ttv-show-missing-links={{$:/config/MissingLinks}}\\n\\tstoryviewTitle={{$:/view}}\\n\\tlanguageTitle={{{ [{$:/language}get[name]] }}}>\\n\\t<$navigator story=\\\"$:/StoryList\\\" history=\\\"$:/HistoryList\\\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\\n\\t\\t{{$:/core/ui/CommandPaletteTemplate}}\\n\\t\\t
>>\\n\\t\\t\\t<% if [{$:/state/Whiteboard/PageLayout/focusedTiddler}match[]] %>\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t<$whiteboard tiddler=\\\"WhiteBoardTutorial\\\" height=\\\"100vh\\\" focused=\\\"yes\\\" />\\n\\t\\t\\t\\t
\\n\\t\\t\\t<% else %>\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t<$whiteboard tiddler={{$:/state/Whiteboard/PageLayout/focusedTiddler}} height=\\\"100vh\\\" focused=\\\"yes\\\" />\\n\\t\\t\\t\\t
\\n\\t\\t\\t<% endif %>\\n\\t\\t
\\n\\t\\n\\n\"},\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/PageLayout/whiteboard-icon\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/PageLayout/whiteboard-icon\",\"tags\":\"$:/tags/Image\",\"text\":\"\\\\parameters (size:\\\"22pt\\\")\\n> height=<> class=\\\"tc-image-whiteboard tc-image-button\\\" viewBox=\\\"0 0 42.09300231933594 41.1670036315918\\\">\"},\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/ViewTemplate/body/view-whiteboard-cascade-filter\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/ViewTemplate/body/view-whiteboard-cascade-filter\",\"tags\":\"$:/tags/ViewTemplateBodyFilter\",\"list-before\":\"$:/config/ViewTemplateBodyFilters/system\",\"text\":\"[field:type[application/vnd.tldraw+json]then[$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/ViewTemplate/body/view-whiteboard]]\"},\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/ViewTemplate/body/view-whiteboard\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/ViewTemplate/body/view-whiteboard\",\"text\":\"\\\\define lingo-base() $:/language/ViewTemplate/Body/\\n\\n<$whiteboard tiddler=<> readonly=\\\"yes\\\" height=\\\"500px\\\" />\\n\"},\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/ViewToolbar/Buttons/OpenInFullScreenWhiteBoardButton\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/ViewToolbar/Buttons/OpenInFullScreenWhiteBoardButton\",\"tags\":\"$:/tags/ViewToolbar\",\"caption\":\"{{$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/PageLayout/whiteboard-icon}} <>\",\"description\":\"<>\",\"text\":\"\\\\whitespace trim\\n\\\\define lingo-base() $:/plugins/linonetwo/tw-whiteboard/language/\\n\\n<$wikify name=\\\"OpenInLayout\\\" text=\\\"<>\\\">\\n <$list filter=\\\"[field:type[application/vnd.tldraw+json]]\\\" variable=\\\"ignore\\\">\\n <$button tooltip=<> aria-label=<> class=<> >\\n <$action-setfield $tiddler=\\\"$:/layout\\\" text=\\\"$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/PageLayout/WhiteBoard\\\"/>\\n <$action-setfield $tiddler=\\\"$:/state/Whiteboard/PageLayout/focusedTiddler\\\" text=<> />\\n\\n <$list filter=\\\"[match[yes]]\\\">\\n {{$:/plugins/linonetwo/tw-whiteboard/tiddlywiki-ui/PageLayout/whiteboard-icon}}\\n \\n <$list filter=\\\"[match[yes]]\\\">\\n \\n <$text text=<>/>\\n \\n \\n \\n \\n\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/fonts/IBMPlexMono-Medium.woff2\":{\"text\":\"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\",\"type\":\"application/font-woff2\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/fonts/IBMPlexMono-Medium.woff2\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/fonts/IBMPlexSans-Medium.woff2\":{\"text\":\"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\",\"type\":\"application/font-woff2\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/fonts/IBMPlexSans-Medium.woff2\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/fonts/IBMPlexSerif-Medium.woff2\":{\"text\":\"d09GMgABAAAAAOhoABEAAAACzAAAAOgCAAICDAAAAAAAAAAAAAAAAAAAAAAAAAAAGoJUG4LuMhyZHgZgAJRGCEoJgnMREAqG8nCGoi4BNgIkA5xQC44qAAQgBZMSB7x/DINGW2WbkgzfO+7e1WrJ1wDD6CkmeTZGgc9z/QOiXrcc0HMTgWpLn8gT6LZ9iFbmtgH8b6tTnEL2/////////7JkEmOa3MMlzwMCgKCCYNVa13XbhMjMIIXisUhlShVrlygUHqI7TRqKuVh9MHGKg7Zz0MtgtSQx8Q4WzM0hjsjsyFIosTZVU5lDEpKQzG4K6FI/6xh+wgw94y7B8QIXokhIIaIQscbzKlU/XKUodK+2/I2V7LeDS/VRobGGA2bwIAy4J/B4yJNqP5scgX3WF+C3c1R1L4ZISB01E0wyyQbu1xZN+JCf4amGl1rSiEpJKAqB6btmBl/qDrbLp7o8YztsYD1lGMMjfp/aq1TyuYCXKuGLkAxn8DAQrCf8xszPXUXKmbH5lYCb/hb339CwRXHgFuJgqUEl53Hct5MqGsj8PGvYTOUdeNEPwJtI9aMbnIgSvEH7I+X+Q3WE02wwEX1cCwecaZqrmBjBw8SqNSzpv2rKcdGiKodUj1IVVdntoyrghfBF+A8zm6h7XQP2w1UP4jDOxY4927+WxZ6Tpb7xP6Hr1lYGFtqoFirPJsqh3/T0fURfkxRgm9+eXRfa7AS+ygUYtvzEsocxxUUa1Qa/ccLMZK7k66hNLChln7J4BF8Jhxx1+MPRySwnLwEFjs2BGpIpjct2JLmS9KbP80v0fH/I/1f3OkmuoOkD5Jk5kvwBZP88r5t/7n0vySMJIYEQsiAbQwiQEAgJayiVNUoZSze4cWyqoCC24sZNFeco4uYj4lg4Nlq0aC117A/bL3X1PasltdyWZNnThvH+r5nFY4gIQ6LwkuSCKAWAKuCBcWUsK22N+SoEPOw2eJ53zlq+73MiUrILsDmSiWfSgzOsdOKIFdXiRSwtltEOyiS314lKJUGzW+B6r5paKuHpv4u3mwB1OIADBRbhSMMC9uwu+0+E6vgTHFTZutyhrIGoWCN7Zh9CwsYRWERPaJE9ChPnYuMs+9T9uV+5y6pT4W5e/W4W1IEqcHJAsjPJD9EHOqmqgBvAGzz8fG36//fcxWL/d7bV3fsm0i+WJ8YVo72/JKXEWpo0UpoUSAgE6SAzwDBKBmhuvWwjHEptwKoYLGB5W7O4RbKxYGMBY8AACUm7X9FXwUTFaHzfeuuNfDNe38h/41+sT1CFLS/KWmA8n06W7P2Fu7YdCDQSr5AolCAEKGLXNmehl1gC9vRO0Hm8UNOkYtQ2n8+5L3FMATFjiiCmAQM4JsiKoID/b8zVXoiv3/L66pr+ivIWdfooYEXRUll1yU4BYESFbff0cFWIfgxSaC9v34ncFBKnCzj0BSl06/85taQZ5s/oEwbkL1aw7GzOOlxfUYIkJ+wsySHpcYHa4FiU1zVXdyqAfwrqtp+HiSSYUYCRBgDFzTd+/6dq1S9UoWBcASBQAAoF42hFkBQpijIttVH3bK9Rn/OKztgOknvT7+7lM0E2fSbfCc+5zPbL1wXZ2Xynn/u91Q188zvSF43YdX5IIh4KS+ErpjPwzRGRAIgAN5ny7wU0hPYWpOJj0y21RLzKEzTl2fchwmk5knxa37p805eW2nECcFBjwSEEzv2/U/sZyU7OmZHixRRT4IQLyHPv2FLIUVv3rR/xkvMr/xYxBaaU1eZwbfuQqJT4JkjJotOT7TFPkcilTkN9GQI0DS+ZR+Gy9tREhpBq6vVozurZ1j5LRk2awNl7e7WHFN4gbQqYhjvJPqCF1xwYvk1ABj78xRZodIKn4ReMvFPfm7Q6VFIVdBriPhe+2DlmEJFxnh7SUzTUpqKwocWg7DzYcsPQpupCCsyfd6fmdgt5KZtic+WnCnRNgwGABgQgEPj3plql/dDsESmJtezhao3Hep3n2ZSSRjqn3TMusz7tfv93f/x+/dEkAUoCWhA0BNdAkFYCIe0Mh2PQDUADgJCGY9ZIWuONSI12V6s5M8ZqjYvOmWydD+98dj4IXcYNL70kvSTxQXTx1WXpxcFWfkF0lR9hcCI3Zw0NeEC0BZ8H/nV92r67ax1L4aly3PmFbVbR2Vy2M/paeKMvA49nJ8Bv4ST/bKaQCScMbSrALpVl/uYfICi69IWToqjj/2dqnyluPRSaI9/CtBhKOC1ng6wH5FDGfa1c+nc3Scjqh65tVD+WNB87azBYyLg5Rtayuhok3MzXcu18jYxxuXOZMoUuSBSEOooT/mylINogFs/TL9/ZvJxQV715CollFcK1X4RC+cy6v5dSisqsyqzQ0IWMshiFkKVbxmMc8Py3rD2yi353Y5WYRIpC46tH4lbiMLJ3uqomvs1Nmmng53A8iwppPg7JF2qN+OHvbZrt7hHKYXRS4fRH1GVS9CnKp9Xa3tVaX2vIWXBydCw4WFkHKxMKD1g+YFpRrGMDB5icC0IFBFVSc1tjlaLtMrFqatFbtfqsjwGGRGhPGRAxfJ6ftX3rjzBEmgC12IipDj2BT4C7tCBMoNUBQdA8gRaFeS4v9NC3Gf+fdZqviRNIM8ggrog0Bo8brt/E/PxvBN89EpoQgllc1Qh30M5OBzGowgjhpld671W/i97/fz1D5v5CtogtrsgdEXlj9GullVbKUkopcz6RW9asJtRZ7QQNijTr3t2v1GHM1ZNnXWtJdeAEBQRliOPG/P+HqTVy0qTTxOO9uk7ejJ3YlqwLJJBAgPjcIt3j2Kv2Lc7rl9v7upTXvM1xk6zSQKIMMCNAxaQ2I0DPHfMs+K+ij891srT0EA1cS4BDwP/GLDOSHYTHH9LsEqwldoAijAyKIioommigaKOFoo8BindioMQlA0p2cqEU5BqUm7kH5UHeQ/mYHih9GYDwDWFNiB47xIAT4k0UEkAZEkoVEk4TEgkMiWYMiWcPSeQMSeENyeALyRQMyRUJGSEaMkpVyDi1IZO0hsw2JqRMWUg1SUiNzpA6aMgu8pD9lCFHYCENboc0eRxy26eQZ/CQv5Ehr1Eh/9GHFHbCJwExSVOAmMkzHwEBBxkbgLnu9fH9hH+f2ZWfKB9a0MSJAQlYgwyw882NQei48M1ugQHEt04gAOpkAWO8WUOgTkSywXzI/ao4Cb6HFmm4xH/6j4JOso1VotT4J3c5EBBukNrhJZf3DQ2bC1eezDCwy/tKxdbSO1Q/oqs0GkggL7s0r37Vj9Wv+TD+hgNOz+i/wvwxrfmQro5vw7iMdk5P47RM6zyc9m34lrpN3ebtuO5YdravNu5ieuzurrVPaz/W+taZDP2e/1723q71T+s9Ga5Iyr64EquiRupH2TuxR/fkntHzelG39UBfHfFjz/DNkfPYfLpWLH1NXNV7zm5uZ9+4Dt2vPMZjDY7hLFpwBS/wB36gjzhTmSvz5Il5cp4rT8/z5gXywhnLdOZzPG/wFh/xN34kwhQRES8j2ciTnOWLAAQkGKGJQBir9mT/LcmuZJlNklSWKirqdaQbfdKzflGAghSjNBWoWJtUpgrF9OlZnugwGY2FjmbH1HhqXB0fim8kZIFeYBbcyJbkatGhIrpILjKK3GJkMb4kay9ni/OLZni7wPiKif7Y/+4298Gq9qFufDyhXU9Mp1etm6dbvnTuR1Svs2rSWV3SDd3TI73QG33Y2cxbH7pnHkKPW+fYiz79PJjz7+Phk+O9/SU3rXqT3P/d9Zn6af7mmEu+D3/gb92fXP/+ZmgFRlxwI8ONgm1UbKNhEx1ujMsLyyE2GziFlD1zuVWHSofKQhWpleGqYLVfGpSRyQSYURZ+ViZanI3JweRkcgWYDnfEM+I95xthD/PjLPBxWe/8WNCSwUBZoDxcgdRIAxn1M7NYUTRk43HwOCluyKODPTAhva2OJMMZ7RrMKxUdgDaCP3d68/ZVpdXrmoAxZIqYFyw9WmM0W7KfsmPFeR53sTAFd8Kjwz4/X2zSq8nWeiVcqNfo/LzT8ryKvtGcrsqsZtXAzcu2QBZaark154+8n/QHk92KkWIiCk4Wkm1O9s75x3U9xtS5azwHvB/xNbCH0+MsxsdltfNje7VZi9fWIm/TC/Y/yL5YAjNrSgfLWjnfWG7szgLeye8wQitw6nU7xQE51111TM0K3Z/o/iNyuqnrNe0Hp2ap5Ys15MFpd8qxHl/3AWQV7rbEGk8faQDLmpRntWI6X+eX9VzjVoo9hiEutUqt6zkaCVDZeOYZQihStG4fl8UpDAbNc+c0Om1My9qC9RYWGM6Hnm7tmW3YAntGLhlzUMmp4TDqMIl5bvG26gWoiscOcgIuNmbb4FPnDb6ZBXAtB5u8lOuJk6ewKqQcU/Il7T92AyiBHFDfO4zj04S5eJIIQhakDFUQ3kD4CQrW3UGsvXoADDgEF/i3hIT4NBRhkJKUhM3/fhUXXkfsI1eoUSH4oBCWTM0gg6ml6ARMwDHQm4IhqGnPy2d/A/KYdAhtU5iK0s1Twbiv5+nutkrvVrs1MefdcuXJV6AwFFXCtGnXofP2Ch+0yfHp/fmkvzUZs2ncTW2e+BYwt5C0tFo+Pfqqr35sfW5juIhEoss8erGINDsP2SRv5rwrzw7D9+GdVGBjybwG06HxNn8JA+pOK/Fe3oBeytVt6AIQNeA/DUnBZnt286gtpAAZ0OP4woSR+BSSklMUigXnR1R24hsbG6fxFbqQQnvcObMn8nn+OihCnFrQlbrPqcf1JvlNePN91qbwnSW7JhTO6uSdZ/mFVf0I0AF+IbgFOgT7lOqpeMwkuoDEpCT0/KNjR3AUAZAxqpMo8avtr4aV3YljfvKnft10d7svRH6ul+hWEVsd1mzZ/WCxevr2Irh99Xx5v2a2PHp2Gh20bGKmZvEYOa3PIyubr1yFSmJVqtWoVadeA4lGTZq1aNWmXYdOCClZ9DTn5QvsGczrgRIglQ5T47gwHcOpaiKVEXJSoVSpQ7Nn0Z5d8BPArHTS/r2E4c8utbS0tLS0utaoTSySza1zIlyR4IL8oS+/LBLNSi1sFj0qQCpt4nErb7FA4YJL9IcjcZqmaYQQQqijpsAwbMX0T7x99FVpVMB9lr+7T2NhUZYXdwFS6TAjteUpdwAA5iSqbdv24hcGabRT22Pf6s24g/vwcIY0Ztzw7q00mqZpmj6jLlEYuUwHK7WiqePX0uYot7f32tBpQjWj4l6Lmfwuqy83DAOZdcxIlqaYerrXdUVml7B5SVW8ulPjp1/H3eyBcczUZb5m6bLO6GjrsycHyTn+c10oBuPm8ABecT4O9gE9XI7/+HGwZ5K1GV6DRaWeySMVApfIPFHJV/ngKqmZd112Axj5mRJWfjSHjZ+94DADLv6VxCXHknNJVnIpCSqIoasCx2GfXDR2GEKxwebIKabhS/ezDL/IlCU7FnExITau93sf+NBHPvaJT33mc1/40le+9o1vfed7P/jRT372i1/95nd/+NNf/vaPf/0X/q8GNAxiOR4LWqITJVlPyYojAScWVgECBQkWIlSYcBEiRRlqmGg/GS5GrDjxEkLiKA90GhwSvMR+b2YKflxZuLCSGkFrZIqjSY3tJmPqziAzeJhFvZybSlrLQtUZIiKJOw+evBgY62noFXKtiJgkSknrzIWMnIKyHTNc9rcW9gdFu0h1D8kRiZyQGOOUEnIzsM3CPqBQG5Qdu9d7s1lVBrrx0CnzmYc1d7ElrTV68G5fm1XStuu+3xuBLqeV65dbjq7XQS+b9LppNRs2T+epzet8gT2DWZdmm2NunLdnvgUWWmRxWHKXBv9X3ntj+zroDJycrimLWfh8Wdncf52quKui+q4m6nrUzYgxsPRFyhFxIB7Qk6V6HWAf4GfBIYP6Yn3Rh2b8jGWDxaXrWaQcGvJs1YyDrDGLETAVzH1uNeXVqBNuRfSGfN+OPeDjtMBU//femZe9ef+3vzcb/sA/3Q9L/b/3xVjPQUGTqqbdLJeQQCnOnfbKN2oaWrqInyLiyNCkqae3LznTmE24avwOltDr4fz9VHh1XhMCCOAMRIBL/CUhLn6ti3QgS9LdUQy2oSLhuwhbUdtBvj1m1UanztxuPucdF8QAbvGsvOl0Ao7Tiod5HJvL2jSMNpKxFavWrNuoFz1uszfbshP3sPaHB+wmvKbdLB3u05HicbRTpb/9+8tU9arpmqw7rHusB4x/6Zw8XSDLpo5gIIz0Y07eTtnJIWb8UAP/TPipiDn/dUjAeNyVYwdOxE6zPF9a3JTUU7LHXJY8+al4N6zuaCO1o0MnhLQuo3Rz9OitD6auNlxbYp+Rn++euof78UHp4fDV0ptD33pWX9FASxfxY0QePjByyqOxMYzXqYbJpamVEWp9R44uW+fwEblWQqEB3xDlZnru9hKZI9wqwqPxAgt5hc6jE8aIUy81Y3D0Bhy8yMGTYPOFY72sgGvNzsY/5QeFYDY+v3if7UDnzB6hBawS+Kc+p0inm/3AXeB2J0HP2+54/2veyOIVDaoqq5c1EQAHduACbY1cVcKnynbcdKQXTrM5ZYln6xytlW2snoC8l/QEfDkJCPzmTsxzfwd96Wh0wQ07+PTFrDfOc+vigqbuMH8BAfgG/zkhJn6ZSjjzhO4fCfsOFYU6Z1Y24cxieVBd692uZW3Lu2uY2QhjK1atWbfRCF7eTGmLvB1up9vNe4x9hgf6JsgUs3R4SkcaHjfvJK9TOWv9bH1EZRaRO9K9hYdfO16L/yVgCTwRuBDUt6kheC4pi6UD688Cv3RoH/+N8NBfdVGR2IhS+CZswkVJjgqLH0toSbSYdCk5pYwkuku5kZRn8mNBX+H3VkyqbsgMMaWO9vTj5PVB0tV918axp+5E7obuJfeHr4S9qfuwSx/xydf0jaxm00BLF3Euoj4ibJQ0ZnxJpixIk0pTivqIoY2qigjx+EvKHlch/U2NFTRqp3n+r+YsRjtBwpVEj1lvZKv/0eRJ72XRcqKiNypDiFriFX7rCEAC3wzkY8Ha+MeEHLG6kjvpS/SBopWK43mnSzXQ14t4CDy7ZOWgSTaCfQaAC4rpye08j+SN+B4esocKBj+yV+HEsi4DihUwEa8iO90hrJe9qod/PR6KH2RcFL7kMv3JWFgeb9hdIze2YtWadRtxQjeLx+FOm6qfrep5V1u8Nf9bRRhLBfQEPjwM2udNA1uVQjxDfQfWBJ9TQjwlWky6lZxSRsq0lCXZcmLuw8M8+bFgqzBXD9SjgSQ104hRluulHOmKIl4iop3g/Ou7LjBvua952rz7fF3sQT/OIj0uuzg/1uq1ia6ZboPHmgQPIqIQUOznaaulEAPV41oSMIkxqZCcUpApK2UjJ+bi8uQ3kJDq19QgEs2UrkR1i4Y26EYbyfCGsUbJ2IpVa9Zt1Atue121Hw+aNTE1O3oS7QyXarBK19WwbtfsdxdN9woPbVzVYNKb0EJvtnx+nk2Qo1yCI3EnhCmfeOr0nMSnVB3Xoi21uw6dS+SWtalrn7p76jG9WeFXr+7yG65vyuoTGtHStbCw6BnZ59GnxmQ8Th6ZqhtbTH1mlrp1iL5ieyz7IccbzjOlJMmdNvaBPC7B71bFstoKH3DJakT9sWtQAibwU91uGtBOHdpELongLloXeMO0Mq7K27fYQ3uchYSETnonC1l9XIFUzAZR9Na0d7KS8lqWx5VAKw/vrkNd2Rqew+VlOa/e9lKTBQJNA4SCPhCs+50WEFpL+MZ2JjLuB8fVfbiwsgtGF5Xup69EoVsKXriXzyMsFL+k70rPVX66WlcTNRvACui5CXgkaAq2FF8SXrWQiGFdG4UNMUH4OcKPUNwAeS1mIZQMD50qBj2XWk4U2IMMecXKFewFLPIbYbk1BW7AGDw3gHgXliUGvil3TwISghOHBaBgXbvk+01MrHI5VVtF9UAU9P8NvHV7U3Ha18Fq8jZdzd7mX+XT37t/d83fne71QAKJJJFCaknnZzLIJIsccskPYBvJqIAxhrGBZDwTWDyqxt6xb+wfxznBn9RzkgZOcZqz5Vw5X5q4SDOXaOEyV7gaK9zkFne5x4PYb4/bk/a0PbtOrrM4j4u4jCs6eM0b3sZjPPGE7iG8uHvcdNyvkGREeteCwERY4E0W4icGb+pzqsfXI0G5EtsMQCYJs3IzsxQcnEMsmumI8H0+oMrBKetoAisLvaObZ+OSKZ7MY92SsZZ2AxNgIX1bjuFKr6xp8a61EpPAf9Y7Xzbsi43c2IpVa9Zt5KK/t2m24nYXfcEm1rOzphTNIrLJRbJfsCD9B148M2oQ6hfKtScS77f5/xzgmXV/7lfbHfwrAb8n8O8F/Yv1a9qAjXnT79rc0xbS1nPaphz8d0LGMPSfhO2AFLf/vR1x56/YlXYT9/yTvfbFA//i4N7hP3Tob/FfCk9FrESdifUs/Nr5eRjfkFCXSD3lt6X+uTTpRDL2lvldWV/Ifibn9+T+vbwkf1jwWOG/KImkUpQpV6FyKP4n1b+rxtSmOur1X2j4PZLUSGoiNZNaYrltR7t06IzIf5Bm2d/rOg27P9bzK3pJfTcZ/UsXe71/SM6lGCp/z9W/dU3j2C+6c+Zu6l5yPz5YeRg/nPnok69D8g61Sz+SgQamH8v68NCmzaENab7pp37kR77jR77mR77Zf4dvTbJmPrnPbrxDoVA8ouh47c35+37UaUSbtuzkvcz2fXiQ3qRx026WD6MdEY9FTltU4jKZO008gj8AAfVNpK2EkHmoHSyT2cg7u/bMjcQ7lCJ2OSoV6ycLzsW9w4DhscyJQ6fX5flEFnICIdEkSZaSRZhMyZItpy6eqybVayBJzdRb5toS7Tp0RuQ9ab1rrrurR29dIU5JuBKvxq7dGkupgDtdRabUX537kProk6/pm2X1Oxpo6cbxM0TLcGbklEcPjWE8Tp6bivqU4aGNp0wB85IltWamCoI52yeHOFuE+3Gx57Ka8sqKplVV1akUypXKhNGop/1KEWxNgVJ0mNuqKrsbI7c+TAbzpwrWWPbyGbcXZTvXc4lMh+3sFgh/hRexxsr6WY+BnYWNF9Pqrb/KGpenOyaPdp7TZWpzKoCu0rdtRKqE4er6T3I3Ol6Y0Y2ZAsHJT8khhSf09AocR+DICepEF+9iUeHEaULsIK+vjGzRKY4odMpK6XMGUb/xaTZFxRf0L3h9wZPi8nKe7+PEmVc0Cs0LphdLtY8oOskDPnjqfcjKeQVAhlVARrdXlj8WFIY7e+FbhC/IB4Wl69Io6u1rFq++Ou1g4DaxA5RIHtwQVAIyeNUiDsG72KYXed1+kjkO+BkeHoITwTk4c3ivL3EFw04gKmx4VGhiCnQ2ryxJvregKIpDObxPrmEf8KKwsbdg6acHNTxAAbwFxeAUv+2rbnkiW8A0tuKaY/rc3hoFvqyIpa+Kmg7INsNtYSfu1W1/eNAHTXratJvlw3BHxGOh01YHmLq6x7r8SX8pBcjWBsa6kKzcblDYCkTa2baHVv5R8pgU97KJVvqdeoru5JJIyU4kU5ZsOXVxqJ7UQKK53hJqW2nXofMuUg+y2Wxd8qIkRaKopyRJTonqlzS0dEv8sVVvZP5uJeljnQEy2WIAEAjYlp09HYyGtN8cg0xgiUrmpfpdmpwfuovkTSC02weCUVAk82F4HWGiSuYMTHKKEZwSlODao5F5bHpbXwIaTLj20QWDvruJeDeAHVOh8HuEt+nCXs2yN+1s4Bx7NbeD1sNCkG5DDPmgriagAZxTNiVZEaa4TNjkFU8sqAQD1k2q3sRNC+8YTgDbaDZrSemm/Dq0UQNy16O5d1vpJraybYNAtBp00vaUYol4Qbx0fBHJEkUIZlSJCegoi6fySGBMY8sho2hMcpYVnVmQouryVtEFfbhkiyQR4bzeT0wze+5DiPuwXRotrkJbgW1q5Mv82mQ3PtpvVulwi2iT8Q9FitXF0aTpZ+1ty5jk6hyQnKBevaXPpHe7IIm6vSCJ845FFrs2LvEEfBHcsl01jm/EnwFOyapYvbfzFW8le2eCNm+VA9eCGojdwX7rI1SYDkfwLmRzEGlZiLu17gQa7YdzOtHWZH7vafN96tBwrCJBu2jvEy3nf3B/lwUawvaccHWwNVzbkE12IicdQDVjpw0QBB6PQHD8tkT3eBAyTMNfRapCx7rhlThzTrZzLe+gyrZPSp5hVobVYEopp+Ytde/oZhPhzPShpzBPwx8h/sdOI7kwPLx8gS2PUx63Or/bL0kWZeDMD7KCm/KgAQGv5NFBW3fB02vrwlr7aBNwJTbejsyV7OM2fCA7lIt2gya26VGtBKLVoJO2xzzWCRMA6gSc3qtxA8HsemIHknqsi8QpXroyYHifZ8UXyKqwVR610umsbKOeThBxtxaaIWxrP/ECBesPbQV6GvHiHZmCU419OI1mEsVJ0zQ1XKfAU9V22pZxTJX30JVbND3Rh8IHQLgnfBBXzsSgD3drHZ4lFutTW4yhDLhSI/o2oaSBjtnHZWF/TulVa2/WSoP0iuq9FrFm4nI7N4I6NAKHCLwCQtxJx2Vx8WAdMdtveP1wG0oO0uHRbQdM3McgdyXn11YiZY3G5Mrbx7WNa6Tu9toJL8L3+AmQ4P7bRmsBwcBpa9/XrsWY7UIFgjZ0Cmh4ELSQxxNO/9OqZtl02JsAnSpygkeyGD/X1YdxNmnsAr6CoPV2KOfhyzR/l2/Rwo0g7gWg0F1BZG3XhnnwvlvOGGLRpUcjZwC/oSoJQzhxl2Ivz1nOyHYcOv0zVjwJsLbJyqUPCXA0SXz98ENQXgNP4vS13U88Wo6q1BLQJuBwtXd0bHyGApQeP0/nhs+cIksavnRC7do8EK8mxDcejCIsKyIAaMXTJZnm75cPsnJl9q252WjWKFCsEPzjepa8HBrfoTL+QyTq2thI26i5xAEElvzwu17dm2GoagbsNc1FNoP5O7iqzKNX3h2CR7xj1IDu3TG4VtLOK2UVkhAsw0jnplBi1fGxAatXhjR0NXIJYCs3g1WaN67HKbXYaCdHlJSicr91jkBZCRq+8bddkOnZNo1qJSu5k+d3kXUOY0jcJc07Vtl2e88C2dLlkO5UMuKv94rZtKXu41QyYwuaKUA2dq8on7/TpYGBoufFDyTq8XAmdD2v8YrTKwjwhhcpM7qkjaqPqPe4EzlAaRoMSG+hpfTy9LspS+SGrSq8BLZt2w+1rfWtnfD+LEW4hfOGfNZaQJDeqFRdNydIBlU+cHxIqI6a0D5lmAyH2WSiXHDB9X6jKdlSteNcq9sdAefRylnsRsoqBSHz/pkY0rpzEgUYT0yJC9Mzha12NZBYPDtybnMZhtw/KcuSGW42lBiA9aBeOs6wQ6BnABoZTZJcD7c6MXrzNG5wme5OFZR2E7C8tgCeJp2T9n2oldoeJ2DVOzqtd+r5KwaNsUzo7jciISZkrrXNueAUMN+y6jcfT9zSc14scoYPNXb77K56igObVn+kqwpynKhMd8k7tO5VgW/hC4krXZT4uIaDGt+7qnQ96uuLjquxpr28unI1MBmAcd/MHSMJmA6EsiNmyp7IlcCOds4/qyEVSPzYqmzN8+/7O0cfRb82D5WYFTD5fVfFVpXP7rRMT5/zms7r9/6sH4i7r16Iq16Plg+evJWtPGKVk4rt/tNMe1MWboeOmx2eHEacXgI83HM9cWfl5kv3pAsX5F/kiZ7rQH/4t1BiQDwP8oprslEfx5Gu0FnVRp0NUwg0DVXB0fBGb4xHOFXLO3kpmaiSEn1CyC1XR7qrsDunBXAre65sv084kPC33qqqAiDqC0AW96JnFG47JF+Iyp6ghM/9jxpSZcj7eMLfMljaWUi2bwjaA8/RgZJWRrrRKh9rz5iWtxOoBGc5kDZdAHVrWjH91ERMC3AKo3mmmsYZOCg2DDC8N4EKs/ESGKShEWt/b3za3zsL2v1ArHKAZw/AmTZ7c5XOxguunHv7X5nCDj2wyafRC1CpsrtFHWrE4pZAOq2pAeMRfQ+H2itWgVoo7szFzDaQ9agwxUUN3znUnAgjVLkohO89ocq31QWOzuaqyMD8kHKKE/ksokV820j8SHsKNL+F6pOJtxSZw5yaMcZmisOAQdZOnKuXd/FqQi2MQK2mAyDU7CoppwE+WU3mFQsgZooArRukm4LDS53LXiYWcCzKVDrZghW4rZn5tKZiYbtlR7TSnDTr+qW918B/oNleY7yW3jT0+WLqY7tma/poXP+iD3ebd4ydYIeMe6+mPzpo9GFpuUC3EKXgGeKHFeJmRwpUKOQFpGILhI3u+e2T2+bHQIwxMeubpNsllWAqydoj+uhpbpJWNw8kLg+cxSlg3YNuVYPQYwXhR9Wua0zo0Gv8P+8t/lm8lbF8ZAUvxF56+hgGD/3rzZ5R76p5GhuvnQgGTOcT7Hdha+YLHEYErI8NL1vN5bbj464uHKFex1QtbxDb58pifrUYg8ogPRN1pWsfp/yxEXhIgMYXXpqi4C/E4Wf2pQfRRgeci92LYAN0uXySd+88Oeq0Gia3sZyrpFqc3IA2yT6cX7pwvpnuqcc/3MnNyAg4AtGxt7yON3nucbhiK+1e3w8yE7pZ2ksIkbGc3XcEKTFUVao+0HuM4GeGNJLaYQ8d1nGblnOTN4fCQrX4oLtJAOmsV68dWXHPeGUcfJ4boG3dzH+GJSJOikjdzFIG+lfm2OUqdNCayIwPzu69V4zqiRfc3vI77mq3XQEJLNOnJRQ37C26Fozi4Wx10GlGYdQZSpTCFPq5hKBixE84unJUnlddUcoGzAGdW/t85/l3Pz6ePG0waVKOhCrbDv+wLNTfIjeieh5PHNw4NUVDxgLVvZvbn7ChlgtfcIgrAG1tVi/7gFirX1uTYfXLdV+ukTbrFusHPzKGE7esa6/P2qBrR+Raz+tUvpo2cD5AeFKUT+ms5Nwat4s6bOSdEwfiPYPMiAb1b8iPd0gGSyWBOBuyoFe308T1uhgz1RpyzVWi+pqtSkkhoGJselwmWTCC7hUbJEVns+GNCRhnLmrO3QhCoIomcNfC8SFEVlBzeRkW5DLJ0rwm5CdWwrL9skXYWrbgxaV7iXrtzCqYOwLZsNbc2IrPGLN1yZXmGxwjDXNiAuAM03dk6JJ71Dh84cLip6ZaeNAn+kUy1lHNJ2yusAIArMCZ1QM9sPBzXoNaLwAv2Qib3hsDBGJUjFzInHKLJ1uT8TlSvGBTRBLCSs5xs7kiBF3tZXBpjEQT1ibgNG1wt7sP5DyzIe342kq2/Aqos4QNL1Mt0vDxgiFKSqZvPkP59HC5JOP4fiQEr8mci+/jt27Qi9P3emI4T73IUF+Z379maGCyhBin0BNBNDk5SJdfSelcAwkcRMsHFzgSyZ4UuBzgJkxSgGuLoABuAFyDCbjDyzd/HXHAdUiBa8xwqH5axMrd/LuJ4UREuxguVBxRJvLnXOreJi0w7NX3wE0Os6J+4J6bry5k9sZ2OhLkgEZDPBDPKL6kxGAPTSgAUMO/I1ZLkGlkC1ekjvfXXDxS4n5PodevuOSh6SWzvMgSYOgRKzS180SRh91f5HVTwpEndIY80qHPM7mlibq6S/d4rmjayRtcDzd6HhDAd9He2Yr5jnndnszeSQLjSSW2WqqBWSK7ILSITNV869DkGsqoWQWSpagmaI3ZTlX5DGFGYgaKuyPdhPMdYX0VL8FoTxnU27v1FJeCDBxUBXkpBWwCNRlF0mtd7RURUMwD8xn/ns5hJrVeg7vYSpyDtGdi31BMyIa5cEpBPUQKtQVLnrWRyZxNugWnsABgMJVyfjzWdYc5vgPd8QITerVB+Pr7lUA2M3efbqMJZ/Zrk2JSq6Y7mj0qB7o8BcOdbro6TVHHcyHg1JHRvkG5PC41AuegQWv80iw33EcwHz/TFjZXpjLDlNQyMJYvLFWOMCwkBGE4/AQtmQWjTFZZMUl96F5D9Ru7GBWjyWaQXaMWy2pu5Mue4GgL19YIy2tS+mbzZfk20oqnDJnxmnsq1YpKjtffTlmLnMoiLly6vYh6uahQvuKtzUYqhRrc6MSFkwLCHw46v6qAa4zF1eanqBVmYqhoAoe4PBf255xzmMv8xyEEqEHsA2qfsa+Kt2KtoMSWxlsNkv7T6fbswqd4WJXjcjdWhLSBE8m/CGPWU1uaw+qCVtANdzd3uEYUwhkJIzvLn2FAJkctT1eCAejma+p29ggoPIpdPa+EcZ5gdoHPOgGhiJcmLqyNZVRWfyaf/AMce4fYk96VR4BPiTu7AVDpyfsrvsAhMh/9CJw3xoYqnbYeai4sE6REeEYRayr8PnJy77U4quOOJTQuAMc7gPQcUcyX8wT5i5hiTy5Pbz7qX3VaoF9RlPOCjV1kvawr9Lp9RX1ceze1wwU+qcncbGvvHXJhZCaowT5oMppyTBwmigxEjuHiZBQ7b6b13CNmRYs2CWs0GhS+sBc7HpMQtNCNn1MHo0CwmiRGAZm50wA42WnZnMCb6hW9EdIgCkUfqRNrVnYdPSqE4ttfmnt9/cH14VEhdNI4zj+XGtejbzUobfxd2uLexvmhczhHKgD2esxWq7Y6XYLEd1ZwXcidn5TILTo5Tv4fAl4wYRVFXmQM891vPmGY8IONTfIArAGjS+XAPutBOOEAIrUZvLPaM4nIepRZpl7TBlFCzvGWd3csJl6Z+ISpXFLvZXHZJPZcAp1re+l7xnI+uwKCeVTdkm5iidSPd9dTcfLPZp0rLmEB9jLY2GZBIThVQs42OuNAOYm+WnQ7iIP7aS3zDmTaJmPYg8OCtGSjoNjpVUh7FVJLfLB5R8XTUPXBfDYYVa/UqHIRbYnUA+9hdA7Sj7EJIT0ZwYOan3WCZKYxUz4+Zv1xHVy5pLMvES/ttDatwBpaZZl7L/2/YCfmjFO9KyEoCItoJ+kEakVPlOAXX+V8pNln68EdcQVYVeE70qQRch6IakQzSv3erXzKStsvwU2PT333+vMvAfx/vcr2CFT/p6j/PzA1+OQVWe+rzd7qlN4wFXmMOoPR4eYqPE8xbRVU6kNkYUC8keB8dBfnmyjodi3eacHbj+Ues0EeXF9XNLh8x0uEicKD5WE0e6drLA4m7qA6HIlKhJbfuViAvm42WhhlPJXoaMXV2jWimu2rwJvdrRKpCQsr6+c7UK2a7gIzgXvmtrfBtKRvXpBkO0t5+zvHqep+1hNJOEUgOTtb7PM79AWaTIcQpGzBl9RWAFeN6UERahQMqjHcQkz5jB9hwMyfOSbjOpNudXiSONeRBRkkN3ysloCa61Stay1eKaS6MYX0JMlAihuLEsZbDKN+a2d+LhmFNKrIadY0e7WRSlNXaX8Drq6ZrbNGOcpW1rRqcjOszmsyJmM7M6dWSN+PQ1FljapLqg4CNHVvi0FB6qXOyHugaX+2ihrLYESxYrZrae4OxWdTZ0UXF7Tkud6iQ7bbgF3yTDKoAjW+cCUWk/IK3k6V7Kro2d5GXRTu0wIADWsytkjLV/qNx0TjCEN5RM2fmh1Mek/zayOQAmGbE0XfjKbZ9Dkqn/ec2m52vNayFB51UbMXAXCy22yFosNSggLZ7vYQUtJrzjXvCu6jxdO0+mjUup8ctgWznAFFEv6KCpsicsiF945CzHVIYYXP/Pzxx60OgMqjSpayMJksiBvDYyDLHuIm+z/tVJvwcAWKY0qMqPkiw+kVsbUzQn4FXnxkS9oHOEwvyVoVInl0BZZ0P9mqG3tcd3/96j6x8OO8AUcvAe/IuRJSDeTTMFKovcQhTDLxJBDGCyuokksfHpf8C7Kmk0VGWFkul2kbJmiftAr9O6DIcN9AvMdXnXt8PJivzKEE29PtqC6XKk9F7WtkpcBU1iq3GXEaQ6YLaZE6PBUkYFEO4Mm8lL3tm0sqFXZi18X1XCN6yKeifMkXTInaLe+Ea5mtCLNpA2J6Hv/Wi/X6/rCJ5JMKIoNDO0WI78DMDl726CxmzVTmGy3ud4hyEqvEu8OjnDwXm9AJwM4MF4rND2Odo1Bu4RmvDPpwyAL2ASGjAxzZRY1st+NaKB+xe6p9flw6MhneOk5zcMbymVUAN5wyexZ+rTOapGvBqqLqHqnXp8JulPBvKMoz+FrodGNvX2aKJhhQzTBcog31I93H6aOv8B9lYHne6AUbbSrZJ7ef3DUK1ghwjMBaD2Rq7BnuqWZpGKD4WpLwX6rf/HQM33T5bgk0oIpiGggq1fNMKhI4DA/6DUFuN6ry599rS9eaAj6SpNe78uAjHn5Ht6V6pZbJX1+zmml5LLyWsEY1n0ccz9Yv30dtcXGaTje3hCURh8qr5DnYYsAGEBjIwiglJ8pr0oGrIG+4rRjmuMGqrXas1tnyUnwx5yqRIZl7sgFreWRwIXIV/6mC92GUD/+E1iBKu2IGd53A8jTOFMAmhlynm6kY1iECk7grXr6z1hY44EpDji5+vdokdmtu3RZfxIbC97ECQfvtOwlAuLFX0wfvnvONNhGrXCtzaldvuRcbFJaHO4RqokELw1gSFEAnSqfuImLkUf2j1ZU3ozuak1FKbrgBROVJvwAE5rrvhhEGhdLelnKJAuHy4+WXXmgcO6xCdsSXof4gJfhESAZQ1rcQcAvirgNU0BESP9XQwE1beTYHiHVqyOw5CTkVpfPC9m726HWm3WUEhFxgol55zcCn0WFoflTmEQMaX2UytXkr1U92GpnGN7x2kiuYeXJ42oXQt6sFzj8ijfRNgbXsa6k0nzbz0N3exxh8OavgtNUeUuguF3zY8CbHWglRjTO4vwFWCA3jsyM0d4PIA6KQAbvih151KqGuRl7zp5XKwJzXJkHOPB+f2KBSjE1l5cMhkuvo/p5hIDuL/ybzmRg6e5XrtugmCANS1Yebv6kwpZu01NQuP8b4lHWVIOOOdEPX+QqaLMzahNYw6SmBezsfegDKqa7iQK1B4hKAg0pwpTVsZTugpJOGqtY4L2QfwrY2YxQu8XEPaQ5qUveSdQqZmaUwhJgR92S19lfMGS8Md5XNCXTb2QyIJk3G7rA4Cb9dsjhxmcsPi4bhqheUI1siYlrjU2OGGy2VL9/f18JH0tVZutYNnekr0C5zjN3oNcdraXjgAb1q9nMgnPqpFV4VpL0U8K45V4OAwJQTyVcdONY1zuyLRNqnCXCGiKEPB/WYwSFMtsojOY8iANuGYPJKSZgIpXsms4NneMaXmVLkSYR+LtMxFbN0Gm6n5DENnx2JpwT8GntoB/PCm/2cLTyJy1gvzARCjIgGIPCzx9RlANcixKEA4Ow9jNDAjztw0UQqs+JPAsmCknInwgxkVkVruO+KZQvgVOPym4F9GbId41SzWarN1fq9R1ZqUOT+66T37dUeWfs77e3vUPvbRZrO915mHU5k+8V/Oam+SJnnTazNDBBpnD2v3IH/4nel82ykFZVV+p3O7Q0nQXtBcCEwekjG2+uC1qf9DFzLIHvxuh/NG6+gWXmn3dh61T9W5saBSWiuarsn363JNWhNtV/mAdX0Su8cU9MUODBA4a9BGgS53ST+HpfdyBQfZnDBcs7QuVwDodqC7fwT3rEYM+KMonAB3Dpbylye0L616a2uLBxPwvWqNr8LdKhfrpYDo4ZjlAfoxLlLlfLNsyulmVE+efa1RmIrjqzkQhl2zP4MwN0emHfvMQagIfPmSaJEM6otiiE62bnTpiap2ECb6ao6uluYej6eHDov5YsqIa5t5DZuAlaT6mfXLlUlAIG04dxczHboKSN9UmHakMgY+meLZQc36XFA92m9pFL1K4STRh4pWzMkdHLYgaCjsDtfvSQVQ4409s6dw+VEzxr+rHijbbvtoDbItxG0+PdBnNN3am17Ov4KtipxcO5oJfNhpeFjAiGvPtlrtHSp8n2nYs5+Agw1DKLBtcY8f5gKD86CqPBTnfiUTQ1X8+TCMPODHowdBSJVOZcyJiC+IBXgFLCDxNrE2RWzDUrBXVJA2888d5jiJIbi+Wvxq+yzxZLMhnb44FnnlfKM7pM763hnjVauN+EQ4smu6gwpHBPX/A7WWLc8aztrIJjgXvjMRzDDeiL2hKB3Ovha2/UReITQlI774XeOxs3wv5/s+dMlUOmTdsIiJ+ox58z6/4vqcwUY9d+jbx8B2NNSVfvLSQqg5fyfKFmEQV2JIWoEUqdx+u8XZ38j9BadXkaJ00g92f09THUckP/a7voPkaX//b4/LL+1Y3RZx5Bx8F8VfTNds1/7B7nJJ9+5/D6oN1DOE7B7ePlvfyP3kS9OOx9Xx/8xA0LqArQAvBiAqFzns/tt8GpPbfAnZCGk4BhxnbA/qHkMTOmjBJ4s3uf3qXtpMcPhuIkBsbIDPPEZk9ULQpPHTwzBI5cbW7cDpODjtfTEu4C9Eh9axlvSCfA/to5pUV+SnqsqDynya1a/iNLN7L80q1nuoIyF+Y7AylKkHeSZ60rsc70gMSxeHq32FAH+CUFll6vvQp6A3JZnx5djQang7hLa9Fx07hIWNQ+8UWMUuQQBgEUR/YnsTwJgpIAjg+40O/WAD6A5B948ZJnRnVgW/yczrIbTykv185/mkFtevyeaUFe1gRtrCvnymBCVeLfnpRsTX0xpeeMntJW4bOWK/6AXcNxZBkkwCX+0cIDQCTwri1RqRCZF3QUpluuhZz3yzN90mzr2uMZiNbMHVtXYYCjZS7jPDSxtqBhbs59v0HjPSpELczez1e1pjO8Ov0t8l43uSujhkYWYcX7iE1xecM2NXplzNx1LKo1GC+mhl9R1ombyWi765k/UoR0AVGc6MLM92jGs+OZx5CVTcYlSIhn7A+zS5CMQ5B8kc2MSdZb5CBzvszKxOUgMKOD0O+xUQ8RQbxYqxpswl5zEgiCy8iHqV6zx5K1fGeiZLPFrXgGZBbwrfySi+bnV3kar/eA4IeHab2K+3HbQP/ard86d9i3npIOqSqSoPavre42J2+HivDKiWvwT7tctSNbae7OlJyOH1Mp0XdmT5o0kw/HU3k+QJm0Nq0P5o+/31qDR/Pan/0FwX0XV/5D3s/n8Z3lahg4zVfA0huLOtnoTtrvCJaP/N2XeFF+zvpeUNaINQY44u7dbieYeA0iCSXAVVLUNTXAEB0PF6t3jyJBrpPEmm2GeRSrUatKhWz8lzE331/JTr318ct8R+0/sCZMMaD0BvH99kJH9JH2Q4P7kFpIg7VV/YoWUDFMf7hIS6ndLdMw7x2CScDIx+3IQYIwfPUOft9GL+rNt0D9DTdm+mTbeNXvtAuWGMLipV+ivN8nHO+eQhzoBHZtiwjCMYlYGWN23SeNRJTaZuEaTG6zS4SllO8nanKYbJEvSK4tsnNjVmLEtmadNGyr45XihMOMho+1UvJm978MQfA8T53v8JFGym2TbzgTVngTWpr2BmLhUf+43vhzUIJUDofzliUzymc9JGJUVH/Xq+KbDZktNUsVgkTSfBYsWpYItaULOXiSszcq9erI+iFgOeC0BYhLxf011cOTBwyFs9hDIY5FE/VI3ehNXtupJ1jbZ0KVeN9XojZm4obKNqd5Uko1p27BsI1DuHQoLL0QhjqKQdVvcXN2tEqAXJdR3kpGTaWcLJbVg4p/SnvcW1s08lPYfwnfb9P9itTs090pXvupuce3r17KRG7+pE69+LUPWO8Uu73r5xb69h3u+t/s8zUb2Y//NtB/r2ycYU5iD+dCIcnYHD4+YEsg8O8fcvIIKVhmhQo1GbVrLfkabuJLrDGVrUa02QQIb7WG/tjEyrGcaamBa6YhddIoHr14XJzbxQGBh2pJFHfLYy4lX4v17wb+3add9pStm3Fh4qZ/+Z9EFo84ixndhzfsED/gMzrY2F9l5FbpmUkpFZix8jn2qCQI95a594s6hsDSBpGQED+eLbOqt3+slby5J4CKNU7jnHfhOD8f4g2Vqzh+yRUqWYFxWnPrAY6Vw2nqTBJosnMbqTLgyYfZGgXUsQ5PA1tjU3u0IEb8taJJzr97H5zqCREhKxuvP1mubuXMIEsQz27IQgIVBtd+UGEubePAkBwgPcOm6izoNiws1HQNK/QavWG3tPyZqDCv13TmIoGZPbwcsClMmON5EpCbmYhKURMrkaFwZSaelw+Bx7Zi8GLH4sOJIkYovJ5kCBSOdjDCeUPGp5SaaRGGKaVSmm4mczanclCmnU6mK3u1kenljGvSaRv1D3pHmmfLeDGk+x80Q5rhFJyCe3ElQjMcRnMzkCElRupOIrDiOyNRll6gcTXcSnYb/V7r9lHNpNDxNuSU+d3JHVp7mjey8z2fj0luliRjIV9A6QQTVCKZog1CFbQTRtMlhzrYI56nWn3xtFyPcDgLR6qRpbw+Rke2VY2z7FSvuAISsg1BoR8hd6qh/3OiEOx52ynOvu+C99zVTG+4SEtkNlMluEuvHwXAbgsyAhJJyoeTKwMwiRaock0wx1TSzzbdAmfJkJiu9kAA+1DSKhFWIGmsKhJQMSuGSO3CEYaSZBBBhQi2bcSGVo43rDdqUqYf4hABbZVLWadvn02m5WFXrsd0e+uNxcbpa/kuvP3b+KghqlFFbtrNprush6RtwDmGNBOoJ54hFHhyXKh4tU3wW9iQcQsmUieShUl0G9cbkZ5xJDZuqpdguneWt1teI9eSN3eJyRX1uN/mQh8097lul1HStMWKiGj/8bItJ+mrDtoQuTTZwdxNRpptOZKaZxOaaR6JSFWcYmqRJASoXiQkcxg4DjyMbQgYc3vwN0eIagxtu8dXqHosHHgv01Euh/vZatH90ivHORwk++78U3SEgMzTEgFGxQUwYG7mykR2ckCycgiqahiamnmcsA0Ncb6Z4vswJLAITBRtaebSY6uMk15QqrY6f/RySLSdpgVF1jTE+tNikFFMsSFlqWepyv3eu2uoG1qrpwka1TWx3oBuHHMlzzPECfzpd6KzmUi2uhJ13LeqiWzFX3Em47l6tmx52uOMxhJ56AaN2bzFQp/e4PvqG8OMLWvdfWH3/4YYwDcnGwEykHhvbIe14c6afLHlAmwQLeyo8vGkIAdOSkU9HSTkDFdWMNDQzsbPPzMExCxfXrEoFZxNWPoeo6FyatM5tlDHzm6psURaQLFaXzgn1QnfSBvKdspVyZ/TBds5+txfvuMdLctmnJbsPX5qnyKV7jprI7/TLsj4ETSpsCBINOJANzI4dgoQESUGBRkODzo0bBl++KC1usdHqNXv/+EprIAzwjQ3iQEjEkYmKIiox0UQjPgUZLyHoxSb0V4mZRS7xe5+otrlP7nakzx9zsm9ecKXvX3OtXyY9XMyEar9gW9homqw242FXKwCv7Q6xt8NvXNVJ0NJOmca0Vz95B1x1rUNuut0Rjz3uuH/97EQ4YsLPHngXyXYm37gKECMfQ6UxWGwOVxBOopgnqchlUVZ103b9MJ3NF8vV2XrcbHfn+8PF8fJ09a+3X735FooBiihkh8S09Dx58WHmJ0i4KMMkSpEuw2hFJppsoSorbPGHnXY56KgGZ5xzyVW33XHXI0/8pcM//vXl09e///0/6aJjFuZgLjwWNg4ePgEhERk5BSUVDZCRnYOTi5uHl0+pgKCwMuUioqrUatVJAjVICfPYR5/gSP+i6O0EgiYBwkKxJ6aPR7xiSG5aczf3YKAwLi4UbXQQLISUVCAXLoK4coUYGBDMzGgsLOhSpGBIlYqSI4erSSZhmWIKsammEplmGoHZZpObbz4nCywgVKaMRLlyqmQmEzdZycJLb3qBB3AQQRR5UlPnRUOTQZGidMLCuatQkV5UNA9jjc3bFMUFWAHJbCVpFqvI8tcLzWQTRT42u5TRQXca4j48X78g8vPAcFZPkWnNcACiIGyPUFWMGxJSj9Lu/JtV7t/t2owVOA/9l8hK2ZtSqeM00LquMbF9N7Ia5qPg80+016mxmpq/CiJSqWKNJtPpYoMhM5k0FovOZosdDp3LdeHxcMYSP7gIJ2kUZZzHSZKmqcgygxAmKS1laasqR127mubUtnk3nKbTfDY/LRae5fo0jvlmc9pu893udH5e7vfscJDHo386BVdX4c9s0K9uWZ62TZehqAWGOSlwU4KwJEkrirKkaSuGteA4M543FwQzUTTX6ZwPBudOd655fFWqgjS7hKHFZY6uauPoua8EvvnO0Q89xHr1ExiIHYjDjQMq/DgRRBQRc8QRE0WSIZyijY4w7nFnjj56onjEyBzv+BLFL35EscRKnIAkEicpKURJTQZJfkkmRrKTxyYFmYmZWZmLlXlZhJ3FKWebJdmKk23ZQZq6nGRNQ86S5lwaWdOUG6y5mVvscjtPWPM0X0jzNd9Z8yM9ZOlNL2v6MgilgMGVirAT5worwau0SvZ0HAUtByys5NjYKRTgZMHDS42Pn5aAoCGERFmIiVORkGYhI0tNTp6FkjK1QoVpqKhypaHJSEubBQhMSUefhYEhDSNTFhaWhrCyZmFnz5ubOwMPT178/OkEBdMrU5ZeufI8RETyFBXNpEpVbmrU5K5efV6aDE+uWUsKrVqTa9ORxUgjsxhlbGrjTEhrosKGmKI4H1NVZjGbOI05qgowV3Uq89RlsYAktUWaslisObUlWtLo0pmrVWQZrdaVRo/elNbpy2K9i1lsIM/PZgMF2GowH9soU9vpSmp9ruXtoDvpHXI/g6Me5uWcV7n72Zt0LvuU3g1f07vpWx5u0+XpgeFMHhrJw6/Gc/PKVB5+p0/vHUP6cE3Krwsqn6IQjUah05kMBsJkUlkslM2mczgol8vi8WgY0/m+IQhM4cQSRbY4RjjXJYkrTT1ZxoTwpQzLclJVUV3Hbcu7Lun7dDrNFguxXOarlVyvi3Est9tyt6vPz5v9vj0cuuNxOJ2mV1czd6RZM4ZLLmF67iueb74j/dAD69WL0K8f20A4QMYO2QE73Dighx8nVIQRYUUcMSqSaDDiGh0q7tGziUc8MOMZT0S84oUZY4yY8Y4fViyJxE5UhrNNTBKwk5hEZJKSgpPUZLBLdvJwk598KAWZgJeJmcY+JZmJl1mZyyHzsgg/i1POMUuymSBbspUo27KDU+qyizC7c5IoDWkgy6mcJc713CLJ7dwmTWvuc86DPOGSp3lDln/yjjzv85ksX/KFKF/znSI/0kOZvgzCeRG2BXU52IGm/DpRV1gJ10qrNKSqamhhq5FIOjQ07ujoHDAw6FEoC+hc1CygVbLR872BR082eEYYjjkaMaiiiUHMpb6qDSjz5kLbjCUhE8gEsoRMIBPISippSArBuuColBn3ZDLFJtsomhcKnt7klO/M0/pOA5Dd0763uvdT1X+u0q9V/K3u/F7X/ry0BrUBznaq1/zQuw96iUYboTFGZy6M8AyCDZ6BZzAwGMYhdUDGnAdF9ENk7TSWNIFMIMgSMoGsIHtIGi6TKTganruieGZBXV7Z4NwkaC5RoxzOrI5t6N3P3yMWRqXQGRgMM24mZoUAxJGoAAAoKwWF83t+yHo51wdQigQWq7YUCiU3M5Qp+J20FQCAYMUSiD0CQPbyogAIolO/hindBDBMEwPQMT6RUcipJFRZRSmJmAKAVwKomdddBMDpXmmbadFNAH8NFw3HuALwlSVrAEJ8oqSQaCKMZEUFv30XgJcA2uUtu5+HALHAVDKKPx9t+IBsCUS4K9xVUgYhg4BLSUtJ5zbUHJccx9nG5l7DH7c8m2Rppjigh6rnd6F8u6Hg3l3XgRsD6MNZWXL5ubi4li0z9MMBCZg4algA5MK4ANdyd0wEaYiBCfqtuz7duq3nL8QGQ4kxbo5vZOPhGDbJN7Ihcc4L+ZKNinjRxMyj/nytEs/Gxr2Q0dQ4XdNFjGMHhNyLmyAwRTEZJ81B87mr12dBJRdnZWnBBZj8XBwXByRgbNGYsIAJwOJa3WiYyY1ne6PDJtMCh/v0oGO0xnYzs/1jdfaflw2heIkxHkbdyEZRkXnYDWY2kM5518yysRQvmpjRRhlljaii85BXvGzrnZPnGtuAR0LXeVSnJBtg8eGl1VSqU4tMFHIhbi3Rqtz7Bsnsp0L+MqOc4BAnPL5vhpVZRFREVBgQABLQ3oRcZCH+guVfdKKoMtRU1ezsVe2jymuu0ER1UPNM1YHmSDdXBzVKc1jS+SqD2omu7aa107x2Yusl7lIYwjdLaqxVjbSuvfgaTYhIqo+pyKMPKj5wuDwuLxUZ9Ek/FpFxgMWOQpF7IOVq9qrUHFDFlepAdXBQU3Og2Xnv6CVdXUNTKx1ISQdM0kaStDCSb2PIEw3CbxHRiBlLR10paTRkhLCVh2AQAvIGISuHkYHgkCwkDxmnYJ74ODJl8IDulLSVBIUMU7yOnzqB6JSdUVLSUhATQtjKk6Fkl2EQAkLIypmYysjCISeInRsyGYFQuDQrHoSVkCn/CgTwppSrJCgkIakoGL9tpFmDBGGVlLzz1GuvPHrwwnN3T7y1siFY4PBS7L8uYXwtfHOikey95SYf+VX2/8ek5ZQ19dCmOLwdie7C8egF9/tgQuJweaSWvpGZBcGezGBxPfHyPe6GfJP92xIyCiraBhhzSxsHihOb56lXfIs5QEQSoaiqrmNoDFpBjlRnV3fPvD5NAVGp4+fnqWnookyw1rZEGtPNg+feePuH+ma27G6drM7+1qJAq2F43HAjTTSzv2BkY1NDXJdVem15s+/TZd/F7XXEaZf6t4prY5G4h575zR+nfq5vbG+I+7eDxEk0tI+ob4rWQ9Ab4n8etEBygIVHfF3ZxA0IZg7efrCppbIRUqFGo7Zx9Pts30Emmm6uhf2uabWN1ZBVem3R1987rZXDhRxy3FmXyo3G8xVGPNXujXflSzMRXdsDHUliFm7zIQWklLTFs/mSPvyFGvp27Ofvrlsky5Br5Nb4rWyyGeZZNFa8L/Td4ndrbFT78XcBBTJdqIDTQYNC+tj3knTwcKTFbWHE4ozF2YuTi/MXY5ZPzU6nDi88Lg8bV6trmp0vZxtPvSP2qSvbm73N1qm2rFQ0B4vMM8PkAouzFrdZkLMvQEJpmT+1gZhZsKHipcs12mSzlKpQrUatPY5o0OiKVo+1e+tTSMR+Ky9mDQL1LhRZL25xn6fa1kzNp+B3r0xCiiehJDOSQvLJZRUbqWFdZw2Sx63X7ESv3Wt2J7b0N2cL9b1SiFLSqeTwRCKTkdz0ZGBa11ztA1ti6XNMb6xncmaZi4BG70lvIHTCCnQr5M8djxIz19oC1fjJnqvUD/zN6/1eTlMZtRb7Nfct9C/lCQhuPQma5174S7uXXvlbh9fe+Mdb/+r0n3fe++CjTz774ms9DnPXDncdGnb4cYwgTlALIcxsOFkBwZ5q+xkoyE/yruBkspR+K6POgFAwOrZmmJ1LMHuohQhsnjKQmLgEpJMPT8T8As+wyYInejLhGY6GzZ6QC/UUwBM+2UHPhZxczOS97XEylMHR0/R0+NmLq29/vgxmIDhxNbpLQpbtT+c7gs51n8KL9isS2t2BJgoMNH5F8Csv7i5yNE9HVsCYuDDY/v0eKAhSiAm3hAPbiKOdhJk88TNlps60KZnpM2NmzqyZPXNm7syb+RAy6clLVwahgZEcYYQAAcDVDYXMNhsTgsyFoX5sF1Co3YMBFOZibA4zzLyxZEAQEOB/y6LyFW3QwxUJHzNuvAhCwwo3vNjHAYKSCbPhDh2MxeS5KBHZRD5kkuT5B5IJ6XJQEDL7poiJmp8mBkI+v8Ge6IDhOOESpsAtohKfniG7NL8D97AHPRfT/LMtVu7pPp4kgxieb2Gm1sRN3PVFMF7jmw56x45n0+JOJH3EAdnwSXJT2fOmqo2kfk5oaU0v9yrXXu8tbk+4ZHg86Czt1Wd9ztD2vmR65iXDdyLLXq2vE3NZF+pS3RlcKhhLANdkYeUPx3XXLkTYTpGyRTTzI+nITsk3tP1f3AzgJvN/auTufGIp4F06QSPpgKcWfsQtJ/KrAAA3OkMAAVj9wx5UT78h5HAGoDcAegA+DZwBAwMMcAoEOODmCAg4BXmAN/AjpehSgUMZWIXKNMYc8ZS30Aqr/OGINpvpAUmcKM4fdwifwQ8IKCQZkg5BQjAQCiQX8hOZAmVBOVArtAwahbZDj5N3ydfkXzDa0EL8NPwq/F/EIUQkEU3EE8nEHGIekUPkE6VEkDicOIo4i7iG2EvcQNxB/J64h/gj8TDxKCmDlEkik3JI+SQnKUzqJm0h7SbtIx0knSSdJseR48kp5HQykowm48lMMkA2ksvJVbTz9Ay6lZn25tH7C+b58bgXDyzst7CAQ8kZ+QuTZay5agv6irU5nJvpqfBrnmlLHw8Qu+B6bSHzk0dknHkuKczUVOdDiBjOZQlKF6s1MMiFcqlcnr6wVu4l95Zb15RY6Y9vjx21E9bw4Sd6ilf7Xj/i9X76BdSpI0eLjJE6Z82jXhQ26/v088JqB2sXwIVrbpevvP93oB4Wm+p31VX58+UF9h+D/RPg///Dy9r/8gr88a7S7y6CkDtMjsrV1+c95jexsN2C2eON2bUfBvC7Te0Htu+177Rvf73WXehGr9lPBPD7j498I2v9tyG/3RvSmIgDv7kPfvPVGdX4ErKM+OketaFnXwc47qNHTwF2vrj9NusggO8B/wD8F8hhiA/od9rau/3UHgD0vwYTTABgDgOYI8BcAuaKSZ30yZ7GuT8fNhKAcoeQ58vIn2xPtxeA6IUF+E6DKf+V7QrzG9r+gf7i1uBMPzkHPwv/to3JRvrdYfOlGGGaElVWKpAm12wB8hXaYJ2Npko13RwzrJAzfkh0DBQbTCwzLTRL9SwwyX6H7HNEqV/Hx2JLTLBdurLxVmF1P/fLmOtqka0T2k+Wmjh0giAYEDW+5ZaotMoy1TUtxP/XHw7ZbZ/9WlzQ5KJdHmv31HNvvOh3HWNghElMw9KBeG8zGnbdqElVAQbfIISRgoQLWX8JBbMIECkwa7gxCow0yjz5Fvg909L6VnRlW9jaqHUxPTV649Yn9GGgPR22IdBRFNoLqHhO4TrLwRn2zhM5R+gajStUGkldpdZM7DpXt+jc5k6vlYe7vNzh6R6D+4we8PaIj4dMzJ7w87cwz1i9EuqLw1en7y7fiv1w6y7R5fV/j8Ey/SF9wdmiCWOi8VIpRoVlo+LaoHFloaKKMrvOmV9ZVVlcTcqrTll+yT+JKgdNTIUr+V+c0xb/EmhE+SmpY6bXKTMryIysdCdbfc/rRKQnGRnITgIELORoZkGnMYgkZzLFhUl14rrxSK/RfCi3r2/v7pdXH2eToxsMFvfO8ukzk5WkcCKxeEKjS8ml7ij6w4Zxz16h1uh1Ro8/EM4VC8ol9aJqRbum37a85Xesu7Zjz4n31Hfmvwhehp7SL9nX3KjLExcJBXyJ3GI/ZzrcvmAomsrGknXDpmnfceA8dJ0HqrSr8JbZ3iSZW2FmVZw5qXI9v7mZGo+z0dNs8iybtWWDJ1ntXtZ6kHUeZr1HWeN+DoZEh0NHx2KDjoeJ/gwb1ccWnQwHnQgLXY4ylyLPXwnKy4TkfWLyMXH5lPh8TkI+JDZvMzSdic5/+SnvMjz/ZljpaHQpNLZ2aFJ5mVL7TK1DppWbyZWntC5ZWEV+rTIn9h9B0p9iWI4XREnWjaBgkOAQUDS0/EPxVNXUNWQ0tQb8iGmzO5wut9fHF4hxqcTMXEaQcoVOqR/zTLzCI9QalV+gerLQ0wUc6P8IwM+4a10EPzvBQoQKEy5CpChDZfGg42azUkocIOvOS393ihdHcDNAKq3s7T7ud71KgxY3XHXNXa26DIQmf2dLorCztGAGJFAWVDuXLFch2SN/tc2iZCo7fvmYx0dNtqTDzrSWTTY7Mndv3aqtuzqjfibg3xJuikm22+Gg9R1igonyZsFhUu+NVJVkymIAcuF0a/2RBZWZ64AixUFV+JutcdbJFqQy+7Ik+3NI7L0WoS+B/E7iL8pA4rGMYbyFRob2kvq3L2ys+Py5i2GSLVixGOlGmMjfOrVqzJKpAjhkWWJnOHomo5cCdk9jtwO777Arxf4YuOQmDWxuecefQb/fbMhg+cdEbj3FBnGPu28boEvOkEeNe/Mj+Zc2wJd8DLroTI8GxCUXelPfR/RqsY/yC3HZGfGNKmfLlxDHRir7yB7a2UVGzf6lQN4nA9Q2580BpCPX9GMeF6jy+6Ue+1k8dNK6aLFJ4vjK+nhbyP4T2wRzZr/AGa4+p6+v9Iw5ck3Qj1GQiLq+xmukNeYUfv+FAJS0qTCuNltdkONAC19xSLkqFSqmraqWYTspir5nqoe24rNz26Pt93/4DQaM+0wDbrVEr+xHH67pqQ/gYQJrtvSYH2N+R4LsBh3m7PLpQIyC5GcLGBAChYmLsQb1gHktYO8C0O+Cq/0Z4KZHAI59NjjsGPDzezAAhWHoCkRAYPyo4/UiYSxrPgQDN+QrggA7es2l8DaJ1gU33Lu5aRDzpTlt3C46DHNFAsnj6SKJkSMsLFiDJQkoA269k1QDgmh3RaR5YZ2ks06i+7p8B5nVOnM1Wq3ZDOaqMZHIbdrk5TSzmMTUpK1mrIwit7a3g3ppMnpslJaHm+s1TeBKNWidG01cWv6t1yxD7yIdAOF2hdVrcM0aFBHvR9GT6EHcdIPsOM97bSDAEZtZZyeWwQNCdKPG54iPsa2A15aVH6xrcLM2kVKGYvto43XLdW0xNM0RmpEaiZwW2i+uGCKuBkY0L99sTmsXIfgBSNxvRGBNpTRk0ZLSDL8438gT533GFnt87rMGaclo5dpFvRxzAXXESQXrbu3JlxwcawXb3MGHoiP10rEjQnRM2eyWwa7pTE9c07FqljFrNrsmbg5emOw4uzFIgF2s1WqScAxCNhhwgnotTfu9VAUTWeAY4cA7az+eOW1pb2lZzIlJFWLApGcJMPGQNgmklNnCKeB6SIG5qQotenkezCBzTODZ8yw9nZ6PSTLoKV9wzNKPEcAVJ0L/cNoCo84gjmGB5m+FBYy3AUeIi/437eSLzE9XJnwwpZlim1teDh7R84LNX/fncrILchgNoQPnKi9LM4CuWzSN8dzl/219WcXTsB+DyoM9sCKyTX7eOtNV8FpMmF3XlxYrhBXE1r7P3thNjc5nmK91XiK6/rxBOF7KTeTCzfd/rzOab+frPZZdLK1VY9Rtl9JyvtPsz+pPO7M3j3wNmO56Qcv9yBzIGqt2388lCM5wVN9Oh/oVeTTvOVM2fs5g5th4Zse4hjQ71CUvRdFuhzCfe2834rkoSaIDViYQCDUybBVGJXndA4Ml0CcATRKgx+iaSSkXiPo6grt1r9+BwFmSx3wU6vLTnokbNGFhd0W5CRscEMDBkOX3Pr4aHIZtRswStIuVb7ScL9w4Adgwd0/6dSHtI5q2hpWXoc+CLduaZNotqWdw4CpeextCQmmL6vDBEjCIoARwjibqJA3FkHl3UTllG6GM1ok7rEU1u6twovjGCjVP7/R6Exl4aFFTBuTdun0ZCef7+AWg2cQEHFgALGSXkK/I3wvH+AZ7BIjqtxKQw+Dl4+b1+RXLnObE6xhyPhVvN2idXjuvPRpNlPsIY0t0n+CUCigvCYXGj7GAi3DkQVAeIroHyqIHsP1sKS0NTtAx8SZjbYSc2B+DUKBM/QNGqUHdSedovu5BM5uW7RXatDPQFJmyL9h2D9kra+ddo4qQ3e6q0XYRlR3ffSb1nBC0QZJd4usIZOIMLSPHAdsobHSRkyFGT54qwc9bzr8qxaqETzKSAzkrQG52CLSQaRqU8IbfenmWJ4pGy/VyT62i7sj12LZe36LDklGiEzqxR979XIDBK3jz/Ow2mTrZYFUnXT93Tqnv9WFbkqMezvLZQFL64VBK+SDzcwlf+/QDDWBkIOylYenHYsWmTIyhDr2nLDDK3dc71nMIrTNWKuvtNichbF3ZheSb0PiW4HBrlvA2TsoASxNZLTpp2GJ9xnLM6aryYhcc+WtowHVm6y5Ff5hbaEneh02KX9wbyR3cxuAxqA45oI2c3kX/tM++1VFAzd9eagFq5fISJ6+txHt0kHNtcGtOPkzGjgMmTh/0PiT8hP2QEbccF1WVAUKCpwgHHL+tKstwuC2aEebMJxANuwg5ZGkXeqizAuT4LqRUO3Ou5wDP5kkcnVFzWqixKUpkh0i8wClVjwwTzYMgsk0jhjZLcz0PT5NkA4AUz6E/THh2m6GfMmJ6wAaM0Bw6gGkgCE2v/ekYTfY5+atdZE65iMDydXl4bxd5MecKrfxzslSRtiy1PO/wXKN2umvJkufNpxq6f9Z6qVSaySIP/JAopwkcFqQc5RoxXz96xYg3nU2l1JH5kJxh9U6fEtTWJVXHVrZjaSKHQbrr95S1gAO2K2OB6C3MLvmiByFt9aVSVF5cMcTY5Thfqs7MLj6Hl+bztTJXxu35P6eD8EhVxs/VeRyyh8vaOY351BPk7ZO0bLQ+UiIrTYpnh+oDNdWJrv1Ouf0ffpgm4CO5Fr47z4eBuUgUvjeun367VPvMz2bkYYEdBgKy7FKLwca3kyTpvyT0wZMfpTR95B6HENYwpjWeXYZnNsHlDWVf2ni27VRU9UUdfhW0J4JC50wr3XVR3Xoeiz3xfY0QrhxJ3BMcKe4sJ8q+tJL6h83BQDs4f6SPaPUuJD+Ay3UcryuXsPsW15L58h+3h6ezyuEqZu5+Dr/x7Km0nZj5nS/YgtV77jzrzjl+b4mekqL7xre+aj2i2CXubWr/a03Y1JWe4WlThpw+p99nVotmFi9qX3onmb1k6OKfcQgaZu/NVdvMuK5ah+CNUlMYaL0UufKi3t6EqQJcaNX4vuKe9/jz/idv/BT+OVT0vg6GkrrW8CpZcBVsOWobCTwVZqDqn9L4TmN0PVvoznIQfTihcqC7qAMZhMJLB55JlpeTp1WPTPS9eHwpj3ndRuaTz1RRG8U0qNpmAxL2+BJEQ84BYSHTTSFLeYLLpYFKdOgjbAJ38Aw0jV6S9joCm6aZW4Oui3rZkrtN4uLMRplsO6c3BO8kDjl3zGhWiF8zrYOBKkAOVJYryMSDE/mMYBWF3UPWHSdCvGwDyhUEsHJX53bLkubEHk8Uza+JPphrVC7UIj1ikf9LHfw/OnIrhcC7c/NJ+xb53b759VDa63T6D738v4V2/2Hxn3grdXAFKTtUiV3zBkgq34Z4ZgXVtq7EOpzUJYHAHtgZhtPLv2WWwao1fiK6UR1YsWMTPxbsPNnC8u0bbXo2C2eBXJZHs8Wq9p1wh+BHUa79sfARa42BkKJlvgCArvmImS6k41J+FisGjdXt7pCR0EELbfO3w41dNL2AYL7OLS8e6NUOzXxyNp9VNR5nx0aG/5GZUna1u7DNQkMlowx3p3A7cig1iJ1Aw0GzCD0SPr4UwriyuTWsXUjvDIe9AmjnCX4qmCr7T+B04Sa4ffZkTYVxfP9k7MFCT8zvPW+7O1vwaCa3AvlwX7UYru8AONhTMpylcK7Wyiy7Qpebwbiwr5+x9Wa2WF1plomisgGh9p+ktybW45jci7old+e1nWeosoKeo+AnwiD2uoplFdAA6VDIasm3nlsWUDaK4xk9McWwNXFob5t+fF7PsJ2Nu7MC/TIMmgNlVuQU5CNXtXONzhYzy0q0nDvjr162mo3gOhgFPjbg/awYQSfkQSPswjx0hqdYx/3owZ/RFq0WGkZ4W+JI8llSI7AmW/DQd5wkZjhmudX14U5v6qbQNrQI7yuVUEITTndcugMC8BIojyeeZAyzauKR99BynGUpgQVlMvHnmk9/OmKGo0PLF22R9+CUebxTp58t7kwFPp5eDN645XZhbHPQph3f6TILPpGID7OIwruz4JWtGE3YBb39zIQ4LVEkxhr7+a2WlWfnBuiybxR/lA36GH43vLcbzfvOfdD18qhVemPW2V77IMi7Ec8yFRm+SBoWEDrN82LZPL2D9IdJ0O64Wrpz8gFhp9hpPegCqsFimv9S81KvYaYP4EMyURBxeKJRM5ca0kjWJqh8qlc610WEh5EkoHcIehcn5APd6Z9Hn0vsOBdKdY1EQZfK/wcHZnV+lX/heLL7PdARCoRDB1wk4NIC1PG0gFK5PPdi6fyQqh38Z5ybYYMOIXiRs+dhd/Fm0IG9CRFI3SuFI/3zXUBS7biPKsvOLh/vYs5BS5NArrxufUEm+s+u3yQhjW8LdexYg3OOtm6n7O0v52KpWr1DRhLyHon+2TSFBg4o2l1s3YUOwcYRMiWLD87BB3g5SRAiyG9mdD23f/3UZDu2oY2aWWZm+jxozzHmiWPTKLSn9eC6VGUfveXuLZ0NtlidKDfI/tNx8wIOc7g7ST1KAPuAAvp7Hf0t6ZDbjWGmKGRn2Ycvp8IVrrjQgEGYqHDjnMUgSNtY+SRStjkOQje/f7a64aJyQpKs+3boers1xupnQ7V4CQX1n8LdLYGCFIyIK1wkiTL8KK+Ql7ABq2/13lBW9qrTIlI0/bEMqbIeDW4g59dwWXz08JmW2yxTJNsp2K9dnjhjpK/moU7iBtoKyl2i3jEOOFJcr7ixt6JnC6g4B8JDeIaLjtbjIZ04NFLTq8AlBBJobnsGqvy4mWDDReWRHvpHNCNqeK1fY6KrRV6Ito205FcFHavL5HPf0OrON2e4QR+JV8elgesbEYuwM2QnldZoXNCjAkkyZ1dG1rPlhqbFkyaBwJZOAaTBTBxkpFppPFpTFyfTPa8E1728X/axliurQ/yHSDGB8/3w585uB+C2z/agtuPE99Gm5jsbrI6vGe//bCUlka7x3AZfwveQM0/2q4xvY5ougsUmHfHq78rHHl4v0VNC9PzzM2Miz1MMXKtMD8PajIy+vHyyb68R3oMRd/h9pLHfcjNH5ujprI6Pu3adLaujS0c0BZuMWzzJuJMBT8kgPVJmqmbh/7XUMKM/JFykE0lVcSKnce8Z/PodCz35fHrTeL7wZDCXnYtmUrNBf6e1xmF+u6wJu1VQEB6NbySKXFcM6u8twWQ9T7G9tTpbzvnpd9dJYU9MYv9qaOVZr2V3z/OFfPU7iRxx5bw3LdHJvFK+EE/CPo7WRGdr9VRgxcN2PZi/UAbvm09WOd5ORjcQhfPWHxjDQiQ0FZmHtE7YhjsQ1lllZ2/LPlo2YaztiMltyZfvU34Hm+eVHLUS6X+F9JAGst5d+hCJAHRgNML5pzx2EEeRBkmLy28bLcV8iCtfD0okxmvxUIGsrE5w9EIRkI6bC6pxksRhjbpoiduqSHsQhopjBOOlL3NAI7mYViggY6zjil2SVC0mM6ATpQrX8z258Q1cMOpPYqx5jVMdUbw5w7vyJGyZsfIQTeJKDzo2ghTlH21odxIce0MfPUMrEamI6YvrXXIvowxgWF2B96c9RkQUnJIu6Ko8ogRG71PMWneslnucMf1Tip9E0X8m+Md+vunjY9/bc2av+JVPr23e1a9n71ifPh2/yA9+AqNj0XKPD8dkbMlfMaHeiWG/l+JzOSkQ9iIlSAQC8cmIS4t0EO90g5FOU0JpAbBJUx9947oqN7N681HTyZXOVdqquUSMu7iYr6apFCVieLp4IBmghR3cBlXqt4fmcDRUwWxmpVdRMiEG/peSl4PsDKEquRK8HRTyp7HYLjwRXV+Z8ODxEptSL+/dkqQoj0KH3PbZH4IZ9n1Sv9M/v59qjt9vKLK7ZR/ddn5yM+k15+o5ehKEryjVhrokWGgolopJMCbsZEeB2yJB33kV14QtjuQncUWPx1UGily6+abnjWTd6zvtHgmnQ8bpk5jKod9pyuvBoZ6nUE6f/zptQ6Qcd6kj141ikmgrGZ+9IUaMUcgJQywbKsBncsZeW6R9muj1anfe03bhsE/faZU0DhbQLe5c94Xz0IgIq1ys/E9+eaf8P27i75Xk4t2ToyZ5rNO9zItOp78oNgE9aZkIfAZtB3pjJH/yYdt6C98y6p2OJ488gIhhd3j53Kb9mb5IAFYKRxsxuKPDLkQMLCucH+sUI69TbAEP7e7O8XmDb/wRvCEGIJZtlLN4k5HP62v1asuIXd172t07aobRRgLMj2zEZg/BUJSBBB29P5mvNOIQYM/+URnZ2FjOT2Td7sJBDfMgBw4bjxXwBATpjgLrwGE4f7Q5Vyi1uFb2/dcyZ6UgPfBH4ML9L9+nXUGhNmZpdjjMrOHxk09Fwp8O1sCQsmQVR2T4fOMomwKadLuQSk3ca0u2ADyZcAE3EhSVNu05Nk9yYfjAfuYLLPJiwRHW/nJ8bnfnHuzUX4LMpgFWaAnNftRdmt/brLAfw0nMoLLPxJb8e7l1X++m8YsurMxGK0ra3TghyFF0MlUgQflHR2DOupnwJ06M9QPq8XpkIwQedXYvP23f+GPQM4qMkW6WTUTR/pdtG710lYnWrntvIDICMvWAPCI/67Rnhrlisy6xhoj/S4Lv3mesRcVm9YWIPQUpHk0XYyy+1p6oKnKkIv5UC/0e/CMAgbR82M69/oqW4C26tzlLE8QrYnJ2zkohI2ioPv53ltyZWasuK1zzpPm6B3+Ve1xAQLLxe0nZx4VhwUQW2wqEeEs6MLpm9cBlEu4hS7CQ4KVFzcrb5Ur6Ul6JBYtHtHHd6hBkVtouuAo3XplFQ+4d8/xlLRLMJrS4u3Wpf5uz03L00NPMu7Ba253+xsex4xSoBxw/Xy4qmI6CIkpLNP4WNRLEc8ef2BwGi4sKq8Yx+2EywadYIwR/iu14MZM1tk32ZPKO1sN4gUcJNsBtvsvaOJsv2nWbbxxksWo+m4YtT07RtrUbcpoW3IgObHLDXY4NhUbgpfXQT+MgliptrXlKuB7f33zCYUTTecBPoDzhfXyOxEvqT/bIZsYx72e+i0FcJO3MaxVDnMZH6ztulG8fOV6zupods++Q+JramLQhWF0j0AR/1tn3wqIT8pZtTtGesrNxeyN9tsN36OPz+noH61q9UTOyzHRsoUea0vktiLksEAhl888V5qUEfq5EQDNCjYHXCfNJ8q7jWUOQQbpVk6hboRyi0DyEihgLrRpb0SCJXbjMAKBFFW/USAv+AjFwx70v8+D20660JVU8uHfUNRJbrhPzV5n6zOyaKV7PSu3b9XCwd+GZh5ZewDvHBQE8eeHsWcF5foXqXFZY2eF88dS6V+059vZOgrafZAHSJtEY7t65C5GtZ5uMyC7wMmq2YfZotBsBdMVDS2B3IRWufPF6MTK82Ooo2ZXHjPk8UzrwNJhQHIbjItMV9j3oFXaP0wKAUFwtlFD/ieqITdqTkEjQo9f1RgWjMesZDkEjOHofnzRIHnV8fkj9rz+yWXFTWhfGo1tyBZzCGo5B3K78RalT5b3aUvrx3pTOhGVfnLWyzKHoRp1pdmXIdsw7h3om0jztvJPKAGJbyBxvZyLUBbrpb0dwwZRjczV3JZPATDvKEvrMeQZSTCvpTmZgiUWXaCQ5uzfqtyA/hJl3Y1Nr1J2G/dj3qcyZBFmTWBjdz0i5TJZKnnePO3diT9Y7jIovn4mUU9qWIjabaWYfGVndcWBTUmzQu4JJWrk5Io5auwn0a8msRzeN2VhzVuJrw2xsZN+EVZPj0FZLllTVblOmHTIiQ2KtVXz3T5eIgbrMtCiUJjUNNgekzSZAhqw2yl+0k5DzdqaRyMoU16+5561rZmqo70yqfQZTjep6ETPYi9TajcboZMf7R5eZZtvNp0iP0pV2mtYOPN9jK3pbWRXmM+B9kwUvPYmF39HtPjO006HIlijNzhnibN3jn+8j1kzT5o2vLVlxThulfdI9p+vLwqpoa2BWpPm03SjYTgI9tb+6StZEbJnH+QBL+2cwElgTvQn6+/9FO+Pm3deoGxUInSbunSLpAqppNQlk42JeIgsl+3MoN8/b3G9/LR3l3b820eqTVst5aUMx9hw9XKpy1UlfMFPYj7sNtTX0JGr54HJLfH1u/owPXjEq2zsTS1BEcPoWISc9MmqEL+giYh3YNC2bcXYtZr3RWqFiHN/X6Jn+rouczzTP/+oOpOGSFRcxGzVemGneRrid7q7/FPlV5Y+9ygrZ0rTKNYSbrZIzfOmhp66XIn6DkHo+qZA45t9giZJBnCEtSMa25h3IA06iqBKd/j9LGrHxroZ0isEObEp2O6Mz9JgZjKP0mGdq1cglLGjtNGvbq7PsPDoK1nO2fbbwcLZvRZanLfuHXmqmtU+yMzqiSLkWVoEYn3XHWJjsZ9lHYeZ5H7whRzFeFXZ3tmniLMvfONvyz23K1mXxn/Gf6/zcHn9uu5/bnM3AlT+heK3tK39vP/8W/P9cQe1Srbaf0R/F/GC34Z7TISTtC4HP1GhWncZveiJCMWvfP3iwOrCxeeFU4wVp7N4TKwFrKPUyF/Wrz8L/AGVPCgO6ASL/lNl/WOgdWD8fuR4Hpe9pc1sKmztP+NZxVno/RJqDOZvPXwiwcNW9ZftdDzF5ATvAz+3NlZ6E2+1WrXWYbbQRVJRJufOgvdpM7CACmozP2sI1Z3DDZSVFYpB9+yAqfwcNBisP5+GTdKxZHL/cMI6ZQb3W8404NqpQh6tUqXCVQp2NylGahf0wkY17/c5V8DOKc4SWBIMZgWxD5ookStaFLErSCoFEa9PV6bS25eXwintthTaZtZushPUbhNLWuhYb9hpJ1tz6XyBzt+HgslK6wkCIylW0Sq0uSBV5yw1iipdIQmCzmumwHywYUkmphVZiMXlVcg0fuXlWWrY224VsQ5meedI3s6mTu0pLFXCYGfwVH8XCpf4chYEYVSjJUaXemyMQusg7CX4Rxke029waqZ4H21xJEumyN+iewY2AXSKWWY0TpoFdoBQszEWph4DZTLmKS8cNQmMeZqV/7oV87+BodtZL67t8QPJk9vVwf2p4LAaReqcZhCYqKMwmP7RfZBXnvh9mycxnX12Q/ZCKSkZnv8PgadC8tB9yc9+PsWblpz19or+PyKLktUdKLBr7VP+k05x+Lonbz4musTId7boEAI0MOjVFtPbrbeq6G5iCO4AhCvCER1npqn4yYZOL3VASUMOeRHOkHBtFCOIihYUINfgId/q4oaFWaNQhIg6jmfo/4WFXFkn+RJ/ZC+wClNw47mKSxD1/eQ1Wu+YKU8MckyQDLmVF5REsCHwGNJlqDICoe0HKFmmAz+s21hAFuHicgBj1XM4DJ5cp5EMQ+NrEvA5Yc1CP0ejtWSn7yiBq+KH6dzZ8viLccKkvjq8oGV5f0b8RJtfoaWrgAWCeMqMvgw+8BsTjLlgdYxXaSWB2HAS+BvbsStZHDsEczZIBmdbKeQJpXhdMJYVsqoo+AiounI8ovZWevY4C+AMd8ePLqrM0yZRCaCEPl18otannqi0qvPF+E/lphTpyZSRGSuftifB5DKRO0OzdjqW9YKUeZQDJdMhg63+wsNP3qErWg33lOMtAAI6B9Bmr+e259iOq1/PR+Q1Mcg6eQESl3eqEEIcnZmgvZWaIfUDyAhD/y1KowLrcms4olNZbZbb0YFG6zQaaIkVO3q4Z0Pz8ZY0rGpYfR1EWZTAdaUVGg7Hau/nnBMmvghZQmkY7MBNfIp0zTjpu8ThWgjm5dgjceExck5EPMDjU+qSJhU6Zr/KAt4BmdCXMeNAA+wDezqsllYUZ/gtAWxqFtXQHgYI5IS2wG+BNuRpunQqDoOEl08SdJxff4gIfAHnVEuiLLwcOA+J5J5bejrF+RWwpDMRQ/F2jrwMRGiEOj32MTjldAlUnJQA5lf+ceyVOpB1TWrs06BXUluPVmT+sRq88E7EuX84hodsV1hVbA88FD6a08FMIABjgFW347/7nBa4cQz4YpoNNpZnsJqA0FguYaCNjqF7Y9zuT3rgFGqor2o5KFkoe8tn8h5KFsklArIBVEAMmTQrD9Y0CWzh3qqOENd0WqMtXqu3MX2CKwI0Al2+Xg2wNfhPSXrAiVt3gB4N636uenR9c+GoRAnx9O8tTkj/J60Xg4IX0/KPSilisoe67OquOVQQIXpLMvkD7P11bDJpzGsOWNNjkrMPExal1GecnIQTgRoXgmgauPcic5i5hT3cGWvJBq5t1UI3LowBwyGyx8pa6ZdWRZrfZa1KHWwAyICUxBRFY5EWKCtHN0CwJMA1SDIIkFpKuSJcdzJFcL7plDdxilOTjxERsOgaB6oUK0MzdsrchAAeYrgYqo07CoothVcP3nrYCTwHd2ZtvR6iBFEC3h+YPnzlAqwnMTc8mBw4PeFDzK/umQ/YvuSCCSpxOkQnjtm+r3FrJwjKjmOsbi/U3HAjYrx3UJlOrOhwwzMqf08T1Rltia2MWeTdCHoW+leMK5k/zeBAIvD09zhg4vY+WV9WUhcINVVXLIWUA4WjrNOEcXgFvjnDaDNguq5p2X+abFRKrS6mjLSwoa/oMa/1h8SyBTtpGRAmfPxXPhLhXMppvRlqxYL6xOKgfMuoO7x0lAbARz2cu3Nf2sDK+sk4SeH85wIErrXm/wGSBiwG2AJRYHQa1iOsecB9so7iwugImQb/WhRHKDfR7MFHgTIDNBwVmnUZewDulS31dnllb4c0n2s76CSsPCEOmFe2Bvqq+QPsKUwjgBqbBzTG8WourtYw0uc/JglRL8auCsLWiZoouC9diRNdJDCFytX6KAIAC3ghH/xZmYPbgBa4AghtTGioNWT4E8IxMhi0Kr2cUzEk96ZzVU1oX0mDs/LQu0Skvoc/xpMBgQD/vF9jiNjVwCVCeTLkaFD968UvY6n+C7dot9D05PkwAJADOJSQYvKecwEVAcLzsnQ+gT/VPAXHtgb4B6RSQPzlwGBlg5ufgz8PdwEIA7j6Pz0E4peMn7e/rQ9l4mJ+BCU8M+n/C3xlbG8UlYid2zKRbks628kxO68dtzxqctR0XjQqbv/mhGVsi3MDabii81RSZ2gMc0nFdt24NHMtlKLlWK8N034LenoDEiUlEIxn9sNiMyG8cXRlgYfTvbmP2dUHVYfmxO344nGdHtF5CkY1EkhiHbLgNJcjMdqWGXGhW20xynUmv4hPFoEiCu32b1WcDdVhrRXKEJch7JBWTvO/1j89h0L/Qb3PDM+tX+3oAM+9S+8lKT+Walvef/ojCJsDhXBvCJeBb7kUXzmozG7N1oAVkfvfqPmrqhEZ72ifOxJ9GFhI5RdglRCfApzlBaTlheAG8Y8J3k6Py5XWNCzSupIelmO82Dx6piqydqyKV17bGBGTvf7+QRpNvnt1HQpD2nb1JftxKa3+2FDXJH9wq+adwmI4J75hSE8q9+Nv+jwnroru7qO6xodrasSE3tWuzcV3Cx7OdF3NDU2raRVqpVY6US61acv+NO3gk/uqNflKAsGjiCnQKauXERYTXUStRKegVk7BxMlkWW5G6o1+arBi/iplfqLOp16gsXehEqjVq3m+iUK7WRItFgEDg7YnwyTEw4YUG6cGkYiarIdZCEuKnzLuznyA5R63Ckis34sZkDs4cg4vGBvuE9RUVLRFumb/LWHi3KfhiLXBIp/D+1LHQaBSmSHUyOebH25DbuUicmNjhimxBsBtG+zy5ycONua2T1VC2R7b3jnPImlcD15HQPgLRiEOETb6cdbaYFRIzCJilBpNGKSCKvsBp796GvEhE4IxE0XaK5d1TN8btJS85u+x5PPRO98/a8ORhowNiI/9669kqd9WSpj///RKDlg1ZY7Qyv14y7C9hL5/gLXaLIVuns2iZG+78kj1hbL0ltZ8z6WhtPpFjx0wnOAEe1amRlOGrWfCO8ZarXSu96NymSaNCx9qqBSTvW8GR5Bf7z5IQpLP7XpDX2vtKuv9FzZk+w3D5/QveD1l1cia8Y1JNKPdwZwtt6Z5J9YwKAuo91JndYhDt/+0wNulQQCuzRYHgLx1Ux117+pEU3Ae9YhI9qSZAyIjprXbWKoJ7ABqOX3R0d239gsLkw8nP958hI8hnJJM8/nXtf15HgbdNrfTR6lYv4Vx6TLcXUM+LTUi2t9qoJpzCfibsuzgQWnINoosiswcfGUEHoHlAkKYfNdIZpnB3sfC5KTmXGIzd9CGkOZzFuV+WXH8/FqdhIqQu3b1TI/3zpNFhwiWhENBd1fitwu/9VlRVKZrnBTKCeaCKzgZ+MsJelRaQf9yLcopFqOK9P5LZY3tgOSBLphcwCwKVTJDZ7HS2so3mNr4jwBxn4lmYox2+1gLDY/KXEYPlX9gPclbkPGCzz3GGc87tlwYyvZlIohOuh2cRnZf1l7NQoYGhy2kGnFKLi8fVUqIAZOqcspT5GB8jJC+NFBR0V7FDm2OdVl1WjT1OI097SCnFD8n+cFSq0hrk+DiC/sk0o3IYDxEZpXClZUVaRt6oLD6O8i9wbO+C4X1jzwVpQDWEUPzhntY5QRpdaDxFlW8WsLsjvxOeSqWn9O7+1ZJBDxe3Rj0FFONTNx5RpV5XFBdUaZEytVyIG3kbMp3j70aOU1SfZHvvaErEZiry4KEjE59WEywTLHsd8JlGsBd6PAgEXvD17XkKD7MKOVxqlVpwsFnevNvIuJZxyhSAacfdvhusAtUO7iLlXx6aOzI7gIc8lAt6nvwQuDWL9yf7d9ZclhzPx+/sP3m1QDQOhXk83TXUNf0xBhUXBWrdWFfy+I7o0GhHphUCuLN+N6ZljDGS6YEWfUDfb/zQHtdQNUAQ0FCjkT9HodwdmXZfZSSCMjsc1VRdbHXUngIfHgC3s7DdvJssvjqLoz3RlnlXg6cXk7/oJ+vJk3/Rxwjw/UQ6eEWSS8ohCHC4uCwk8BLySiVewaReuNBjQziNKpHRUh7vZJfZ6twRmi75Si4wRf1qJzPnd/ZPzc+d9x+xJbgV7gqtEC8h4uLQ2fVCmOQcbshikw+l5tFMPC7Noub6UPx0wFTQ0TTm/1WsEj23pK1zIRvEfcwysThYM0WPYWgMIgbqICprDDIt/hZetDOTd1SoEW3nMT/eJyoW28h5dYrqPLMpt0qmkuVWmU3VeQplVQx6geumMdzSEG+ay4VA4O2Z8HfRrHlrM7ZkIBsIUlzmWIFyfmocMh2xfMHQTEMqsjisIs9YNoqEJo1aNoO84qfnGfFegoXFQspb2eZhhdHdJGNxKTgs+bL1MOEBgVCrnz9GxwiPe8l4Aqm7AFJoWWhayIEQuwmEinf4nDsiNtuZ6GSzRXdyCHOvdRWJKtl8s9DNY+VJ6KQv0IpjQ9M7EIiZCKKJo9FopMC1Avzil2nEtygoZEPzgBxDUDALwjg46svkKyMYbYyKlow4S22lFR4PyGxrAdXrCO3vX8WqnByY8Ne/aS8FWbMjl3/Lzv7tciR7fknIQwfaa20Msm8qrtTUm1uPs5yP4ALF5crOHklYghtO1p3KUL15Hc4q4r6oqeJaINIKUz7Kuos7TjPwwfuVdu26q5ZAAg+uH966Ii7cEtqGjXjhlr2+3YaN0RjWBifqJqKPhDThDQBNZKRErPRcGFv7PeSvWXtypGoybucIa0Y6qSWeXBVmHlc0Qlcr7ur9fM/FqNsctP1HHvRpiVe/oU5OvegiZIfKLkjG5yNJTQlDT0eePmE8cbXsUBffAG/kJcRq9UHjQWB5quY6eN1bOq9nsDNw8ZPG5JMADAwDkBYjE4ejFoOdN8AbKvWric5WQcB9vR3gCuf8dyBCXGU26RGB8f7npnV/OoqPJ0AvB9mvvUEi/oCAJ7auO260r0g0KY3ruL1gr8B/GNDHi1JeYuQNz8dYPvLKRqXeJEoWWaS88ZDM4M2g50ZwDOUha4duEopZYbSHh44Bj8cZMO0nwuCSIgR3d4J605h6Wn/xQF1x03WJg4J+jMo+lEnphqj6EkhDBYttOpcy7U2p7Fw1Q4t5km1ksbKNT7QYhi5gTDfAhpi8BumiFKvZctXQFLVCx877V0gV/lv+DUR5K8GqGrihg+cNc6YWFyMw8N0M+hF4MT98vZBGlgTanRT1b8IJRrYf/Wi570SSkuANeiGChxe5IkWI6e7T24KbFTIAaRnXRtIbS92Ruh3DijkGfAFbrZp+7yfR1w1jRQaJdq6OLMzHE3tUI750t6CsU+kH6OzK5eSZ8zi5EWeCxRtyOpnMsr4GXkuVKuUdIlzspyo0xHK5FBcSaqwUDltLKddkGmKzHFx3r99gjhXMLTWSapU6nw0lUeuNdUYkWQdxFTZbOsrKuyMRutNJn6juftQdlgTPLJWKdJIKiY24/Vc6ATIYdDABPTYslhKCYtCR96lKGrVBPKCAJCAQoBjkBADy2YdaHblBmzXi4t7Z2hrpIP07gVPqU/Ad/y21wLU1fEOYOtXpyZ1uCdRzQL4N4erBUkYRSXlYZBkKmvUFx9bgTmaakh/5PQo/Ev2aGAiFrCT+lJ+2blhAU02xE656O+V/0HESIvpiFmLYc4iamERPSDCgocvGdqduSwrVlPuLTp5++Iea3dn9r26XqHSdwCNItSlCEtO1TCODSTQsdGJ4XHtG9LIa3wq39qANKr2UgzCv2yZZjUbC8fy/vjXCLBH5sTszh0Cj0BqTgOwjkrMxmUXZ0Pga7jd7vKbS66wvDyXYpfYgtNzAB5ce7MzLP/qj2cEKp2dYfUVSkXTQ3fJlTLbnJ2H7xh08Ts3bg7uEvvAG0QbsNmMd5ZM8hqjNV2+izM0E9n8NH0AfIMyIRMBINQKJMWksPRL16smLl5T0Qp/8+eocLRejUhpR+eSYVLRSPo9D48yTC3hZbAo7izeN5BjkEDjeOh49RuxSKZluZEza2b69NjPex4M5JqbFQ1KGwxy8eI8h2agpIBrwxE9oBJcOnY0Zohl6A+/23MQUNaUd5uLBirC3YSW83hsTkyDwyKTc3FsvB2ny4lmV2pUAtmjrdlHpOl5xerWorGTI0mAR+1uqeXeOBLknRHtih8SrRCvzbP0x9IXlQAMzHTCJTI0MyAy40fl+749DJTzF8L5qwfsH8/M3i3p4HxM2dz/sj6UD8ZUslhWuJugkgcPKRBMA/e7rdpoWqPWGVNISl2MTQWPXyJgpJEzw7X8jpaBM6TPa9YaCPMwjdPYlRNqrk3FQTP4MIh7x3/+H9j/4hNFEHf+WFnIZPB6PwS08vvXdbNFYdENE5GLv/+mGwziwRf6+3lBbnGQGuT8TlyiCbhgrmi1911r4fqv6fXPxcJiRsmBH0wIQBnt+CqamdA7keQ8kuo2OsFnNAmbnX7Srdn1VzbuUPxt4q4aHjQ53UvvzEa6qltraqhaXVMU5AutcKe5U1KUVmcSmNWbGCqw5Pjws8wFclyHdMxQxFTF0j38GsFMGyHaunfJA+mDXelOWS+L6/2cpw/+j9v3n+s6wSIf++9nabBwERkbt1QMJgHx3piZLcK6fF/pGDt+CYabSazDwPVf7yQxvt9/NcoCZsCaRqRpvS9gESIprjRlmp8gwGDYExzCK3BmGWnPRqFk/+/2p+VzB7ll249qNZWvYFX8/HXtv4PEwWFVme9/8LWt3LYobXCRJcpYklluFnvA3XPx3duWwpYAEyxTUwiKfB65r4uJVgx2S8ivXNJRNCBv7Wxu/Jsc+VGc3aHwL8b+qvlnYwzk2ZO3bXOyxHrtozBx/gsiW8TZLoFCr0LdvQVFhJC6bTKyhiOpMMaJ/nm78k1SOjX0/xc2YbPc3ssFEeJEk2WUeXKTjkWuIxBwcopgOvTmE5xNR0KDT7Lu9YP73RQQeLKWH7ZC0Xr+qJizNMLNWavKD06ftFYZ+XjQi0OfqC4xY9HMI4C444JK4hg0EWxg/NF/dAJzmj0PwAX76BP5p4H9gHcw8VucEXKMs1gdtF/n/UZIA1RyY6XCQLTd38gdZcvrJlTunLbfIgUqv764PFokPd50E5qjXEbOJRMp6cs5TgSC3zGpsYuq/DhrMVGsSmWrUeyXFBFRUxcLBQENV1Yqam6KbtSEAd7RthmAFh8dZIZjx4++IwyjIFDic0sCLrHHEu90qubLbFinzQC/f0LiVFcB5Hp13HpgpmMivKqAUVPEnDkBTiGeaFZvQ3FzqE+ZjyVjsoyxE/DpyXRTGoPXYCH0L4A8jRTu7rnZpyD9QeglWoLWmKtfCaMxMTp0KAEeLN2BkGoVSXi2t7kqu4eD+K4w9DEo7Kg6Wv4Ma4z0M5KTwp/1ye4qyfjBiBBKN2Lrr5e+Dn7c++7vFkHuEmgDuTR4pjm3lyv5OPuz89TS8aHjptY5h1tFGJUbvWaVBODW+4spMNlbopIjV2FKA6My2291a6S/I7pl/wDSZbErfv5nT4geFxKQodqJMQ932f7885Bp5TpFEajMOIM2VvHvbVy47gsjajRha55qUrBasyhrmoESafx+Z8f7M3YoF5E5tErGHnFUA2VwUdf6E2XhIvMPUhCwrFhenJZ4z19CgBLSG5H2Tr6W18N7zwnS/HOOVzvj1USD3oCKoxDiAITJLfhjdZjSS6iCKG+pUBmON0SLJW/QSz9Ss3hwDHHLzbnJCO9UG3g+3RrvnJx9GuDU4uj2xy3B45RWqIIt02exmpaJXZsh9CUc8B5nF4uKRz/oO8Y4tCd0R9+5J4MYEnqA9z4Eg5Lj5swEn0zH6JMzcYf3SKK4rx6K+aEbbTmOjvBwaiPRgRIZBl2NdXg9sJcUg8HV3W8s2q5F3AMR0+U3hUt+2G2LT8QDJ47Ury9AjTwjBXZ/sgnbjaTxZLbep56J5oyJv7H0s5LvaGZ703QUzYK8vs5F19MyF7EbTi/26ZLGDulqbSl5eUBQ/v6AA2NSwl9nyYMGv8b9mFsxuyprPDqO8Gi8+c1LjgbTGdZepC7kd0NV7ly5lUVwPFB+Q3HIE7nIrGdh+NLovK+PFd7BlHoI6Bq09ZWkYQgEqyNNP7eFSDEq9fEwn6wegsdtPemxUR7PETV6OLWLLGJo31PSRlIGZb1BngHo5dQ7WnL1/5HXKyi0d2bh0NOZRFuJLL+S7HakyFWjNmTdXJez+9OjWDwCYlotGaRpQI8gt9dp/7+RpdkYEG5LzzUgl1sgHKM7TDvTGywniXwW9IkDUFbM2dg0Hhp+JW49q3gvqLXiI7sMkToR72luj03qp038ashPM30iTyxH+6KNDhWpwhqowH9KWxabZT50PSPSlWeALbswG3ER7DbeRImU2opaevEgAanQ77UreNEaORt4NuZLURkCiO0m/U16ShDAg2o3e9GKvu/ZawLNJB7EI8zMOmDa+8GwwA6ffIs83Dn40VnlvER9HivRh2nhbyns5O8cusBKfFJttAcw02CP1DI6Cm8HGS8dPGCKfFuH+bMhbc0y873UyxiCrrp2XYbihqcDqordoqQ9d1XUtldYa07A7nWwVyCvFiy3tfEc4b6rTw5rmDDZztApneWNl+ghzkgDMtNcr9paDlnPKFS/ixHpvKjzJ0UWKWsUA/Ts+y9AoRZCb5uh43+Mklg8J7kqY6b4XJzOUOMuFA5aU+UYZMAPpbuMup+uAXMJh27zsWQyZzMZ/M3hBjWhPawSuAZHu3V4DjEdtBstu/2CJ5wFvVunrSkXNHMDxzcfANRMgLl9lS2ytpmJ95dsK5h2C7JwET4jvgnOwrbGsiKyjF/xrXFZ/YdQ6RSRbX9cGN3Xcw9k4G/yMTfyDbydgO18OsunqDFe8W51O91XvwI76hFBpTbWPLVci3Mtj4yxLXSSnFLt8Tl2FO+yF+SQfngjFIm23oCOo2Uf/IJEYudSyBppSvP4VY8JP9Kxwg2DbH9Dw8MoYQLI/KcnuOSAMpczyn/WN+0B/EywwJQRwp0XQR5x8sDM7TuPpM9Q6qXU7Q1y0J6NAWsco8qdF9NU73LK6aIbzGZAKZCo+TSBvVPqJXLDJOHBhb/o+5bLGMhdZR6eMieJPakt4X4YOaRgIU803obm7ZMMfVf86uRm4KYmIq5c27ibFO6WdpkwX0Au4MoUo01LT6BIfCYx5Xwp9v8z68YisXXPVLX1THGqX3ftYwpsdcA0XrTXweCC2RCKnDDf6mgV2OwKA/4eRS7AlPNDAWysa7grMieusPJXGIrfnZOpOqgh5eSrCyUxdTjuZlbanuzNudleS5IGg44dLwy+VSg1Sf5efdZvZiIUD3hylhdRi1Q+uRzqTve9oDw+0tQk/GLhqHOaHdzMb8ug8HpQ+bJYe7YAZYGN9Sj3PSVxNCMhkxIgC9NLqpGJrYUuh2Cq9Xd6te8AVIJDvcGlkwIa/YEKjUmIIGn0FmRLmWSqKuikvtjv8G7WKjCJPywls/pbSsLHbVrbhfwqvfc85033hjnEcK3AOALuqrgSXdC4Jt1/+bmZ+R8HemU3PeYHVb5ZdY8emakdDOwRYHRE/i5qBSf4TymnS7NAAfwITrOf3I0rGZFBn4Yk6rKADOlo7lR27tuxNYDUPmD/trWY/DTBgt4/5/3yE88wI7spskgBH6EcjFF8gd07lFHbmInKIQlBayGbR0nLeswVHGRjrCmsBFPVI4is1FhbsQEG3fBRQk7qSkcul99QPaLYkTCJfcDGaOvMEs4sA+3xb2WHiNhL0agmD0kUkGrCY/6XQOcbF7NiHA/8FVvCARTPemvZrgM9by+GcdCoBgce8Q6W97IUSEyCId1toQ80JI8ssVuAid+Kzke+uudryxAmprgXfFJu81Z6ZMAhq0OlcThOUZJ2WPMKkgDZpdtCPKqi33d/2IY/EQvbe38tsCZA2JaTrfldlR84VOrpayqzdb7qtZS1dDiC1JLUTPAHDmh0VM2fMQKPDjIHt6fqCaTCMOVdNygdRVVqgKgl8YXPNWNiJSOBr8lfaHcYgxh0ai683zjJapNxFslJ7DlD3AaGmHwFV140uFRG2r2J4vEboOw6dNIwKOG12zzgQ+AAoO4BtfM4+yrfKDUEemWzYlL8Doq7eLhHwEDK/5yycuDz1GbCQMNeG1i8Q8urWlVm76wBw9lh30F1UFHS7OSmS/AuMHMaF/OCN1j0fueivvF6DhvRaaFriil7RHWi7cbDemK4FQ4NpAjdqV71YDd0nBcCuWqd1zp5pOnyKjw/OsTqbDr+DFxgRadu9cs9/nRUbHT4X6pD0UKqr0FMo9MhX9wpf4KJKtIQKhZYW0+hD1OViONdJOkoJ5LXudXEhtrUCVN8hB5EjcNPkOmJlYSECgedKxQKraoHKIvGufDtoPHUTvuE41ABzghJiyQFVFovHYofrbWPvLQoOPZpfMI+GcvmWTszn6/e+QPuV19MbhsXKq5pqavVcKXBIIpAcAlqIR3LxD8Fvm0IAzl9nVzgN0D1BDiAOLnlT7f2Knic9Fafugdtl6wuHytzDTmmmvQNWndCsXF0PRaXhiBISYSWdbzaQPfoNpRCNxbOQ0hW2EAvz6SsJJAkRl4aC1q8+rTixCrhnrgE27zGUptOw6aVrDTb/kwuX+7P2PUJjulXn+s4+kut2G6RksVZZGJNFBFq5gCp8U1hokXBFgWsBOazckaPh2dETsKocconfchMG7WqYTc/PMeuEldglg/EBA0ykpH2k+afsPzP9gHatWGkhZe6dZqPz2yw8hSA7Dm5y9PbvEHz7hzx461FD+flN2jodjp3/4/UMqpmIp2AzGL2w4qTMyrcjUmsTNy1opFNYTp/v7dXjE7c7tBL0Ho96cg/yg5ejZaa1xNczeCEoYxByibi4HMJLGJGauq8tum1L+hMASAHcE14qR0I5I0Mv3cBVALg75Jli3JvZvDxTkWDaohEtLaieJtCSzkp7hhcJGI+UF1h8BqPKaOMs197NCsoHVq2t7D5hPGAw5ZoM9YpjrP2lYvwCYegTLc2YJhwRq25ef8uzfk3+Axgxh6VOLyfqQ6JGDK5zBCmhAGi6ZgKBgSMZql2U5ctn+4FrXFPd/ej674XsfE5qD/StAEzPOmsbYzU1jbFap0wKXJAoJReAsYzxLdOJrN7kCdWFwpxLlFHtwAbGIQcLm/l0jmO0PJcCB8UEyUFgfKJmYUNdmaeisarWARjvTQoHun+RGIFEwCx53R0If7s7Fy4rzTr9J8eVEfWQybMQmNnFfGmiLJEV87f51FYpt736ZXa6ShHLNwfyppd4WdOLA60FcxfBNXVsawlzfFzR6Iy80ULFjYFY2COsrhqmCmzg2IJ50zweBJI2gG2dpznWG7PI+cbdDdM0HhV0qvOoTigttfsbaqtL2xg63v+DbPPe8QYUs0eJGsyLQ5f7NbGVf2WO+q66YY9Eov677YB99yf6nROBibuvVOyo87zQzP5t1di5wFw+Zwk1VARAgPu+j7yHToqiAsVmu6ebg9HcXUd09dDgsiBVpSNXqgrJlUq9h8rn9N2FFlhXWDGM1TyF3utKOeR/CO2wlpoI529DvigQ6H4CTkDK3k4yI5b/6dXgww0wCF7g/ct9V0ID7PvM4vgSA9sEeJrykiITfH7OgffXOUYECUhcDntJaoVZy5anaKXCPTc/1kguTnEdfwptiVUH60a2Nj8HJ64h+ESNBV6q+V0EgMJQ/i7fldAeg4L2IyHXietQzEasUS0qOSTvoOcnJHuMipnj36Ji4hi57fR1fXcYasDIiVTAx117wKd2qd2knV4A6ydKJ34CMRtxpeO4lnwWNqDpmmTKbL0Wtd+xif8jQOkEwAvX35NH9hgNw9uubtsyu769FDZj7r26N63Sukdab9woW7Oi21a2uuuUV9rnBxxbLbebpVYOQqYnmRJe83Dus9vJn94JW5mn8tQVHpVx7l9i8JtbmmD/++/Ckf7cu54eVe449jcVhWJseFuW/Li/VqPC87wzn67wYucCQQ7bnV5uAv4pKwG/RhLGmxQA+8lJEVS+3ShsLyBozbl1BGvXm4RwSnTBMI/wetsPVslg3+ZUGX4S8R/hfPRXD1J7SBk6rZJN2zT9frfeHjlqhLdmSSe4cF0F45jxsFHjvy5guvbqQhD4Or88s2AL0PK7uEAH+wn2vtrzqwhOAL+wULHvrruuhA6MEhZ1hcus3Se7rWXh79IB3eoILzGOQ14DQGOBXdVXgocxuxzJ8W771XVxsFPrxXWC9ThgSTSxQddjR5aJ/8D+YZwSJ4v5fkloesyfmrXvmAypJni4CS71073Ob8nyQZzenjEosgCHS8MggzchBzMR0Aq646wdl//FrSfA7tuLQ/PKUiu/bWjk7Kb/3BaAbQq7XW+cm03mBjN1pXoEHYzS1UZClUJJq1CBPiofOmSib3kiFPOCIaP6LEWllmTntYVF1VvxkUi9j6HBPs02sDy6ZjWxQYugojM/SIi2zkuUYomcl8egj+LO0q01mN8Tvc8zlQEEPyzkgnX3oz1nIlH/VK/EC/vk/HwTrzamhgBcT2VN1Yz+g1WYFexLN4k0xtUFn1ev8Du/JTGwdEsqT+ZEUTMd4vUcrDrpmiLQ0wQ3thUUB1jTvSXM6dZATb5SbqMXweSBawER1yZVewJtMVaiLFFaXTUmynqXtLV8RR6f9mfN7C0FkcMNAKUvtpNf++9HB9goKcOMoq3MMkOfhrO5NpLcVbgpH64MZp0BtldeomZort1tUhDxZeUcglpy5hinWf7LLf/Ny9DWcVUBXk6RXlSOm9IQNDpdBEDq+uf87r8f3ZNloFd9JPRuRTfWvBNtrJj3cJrlm3W918v404faa8heqrgNz3LHEE5yYK3pRkwaU70sAVWLtGVWHVcuGtA2Xw3AeTWAybQOSMdR9fv49dvO+CNtga/ukM5K16OwT2oTMzYIT2oRrU4YlPIXZXEa4dmLvWbyeNaivQbnJnK9lS0x29UkHObt22UXUdlWgiQWbYkqPrCM2LG51xNtie0/EGbE2XXYI+rbwo7gI5u/sqOUtcl0fIqd7WucHPaBuYfaUdlBmwydsSb6jPg0NrD0jj31iEJbIz7ACSRxsNUBiDCyITW/sSw2XPhYx4x2izidJ9WEKGPNnuz1zskc+iG2rGJkcFAiF8BEfHUGAwtQvJNdRdoMTimTFXZ4xX3MstT6mt1CX9882awjFVkzxy6lQJaqanSi4lvZvD4fQF/iPfp1GSeAL9V4umTx3I8eWC8MmWbW/hR9gfaZYNgEAhCXZrX07Bxffx/4nbRNBq40x4+subqu4gLjkvWK9Z+Cbg/RRJJhv+6epzjmIn8wTQAMphyTgYiT/uSeiumDJF+9/bXT0xHHZmBf95j71ovC66dS2lL58mKUIHqJ0b5JupB96Tknh6lKawv9xJ82/1aqvar+Mhy9h43o1NDGfKub3mFkPtT6/+usqSf6EAGNqJH9KzHUGIEA4BCNt6H3KpHxMB2nucgxjKFSOCuGNWIqCdWhphnYBC888/wTTOTTS6NLv1bItGHKaENY7JX8n9B5yvps2WRHBtc9QeAJM6c5S1hTO98dtxCProXSEEiWCr8RaWGviDW0Dkst1wi+Lw1QjKleoZwYlRk8dADw0uQ6QrlMjYtyLGoh/w93JhdfnTO72vTZt94V0AEusZTv1k070Ezdxaxm7qJGHIXdFAkGUWZf3/0NgpaqxCrahzlqmcGXN1RHmd1WvQSHgeMKcEMpLRBUZoYhEzEikwiyRGojj58d3xfDrFLDNum4w7JKlmoV/xEyRyAyDRmZKEi0eIitcAiOm4PPw1DTUHAsCpesiZZ/FxG0bKHWyCqgsKgwTzBH4BSPO7GwT7b+95I3ApnAZJs8ZcpuWGittvAtu1vFZxzVRRpMERCQk8eih1xsBw8njIIuupgjVskl2PoJ5VV7tXqrXScgOX90kJ5dBVONpjHqaSvp/COAxKbXMokbiXBORpWP/VuyXcGdjJDOFtq0e7Q6q5iL+H8JKx36MS+HrecWFgKfnZP3DArOzeWWk4NMYg86Bd1DnJ2RsI0YzB6SHSTm11pSJYiUAidPT75u+UHoZEQP0M1vx/jUzlTtE9YaYzuEtTNYi7r2CWtXmMrdozj3e3Jc+6uh0G0nA7e9tNJbj++YGE2GceO3Lx5h4mg148d9tx0AYMkiKYwzB+/eZTRs8iAeex9bcB4YWZMfITybGtbeHai1BB6ymoLrFzeyx1u3goyV9ARd4bLe9T8ZnJ/cIxAETuYNvFpedTCtc8HEDjwJqEB61J68k08GNGl7Ou/oYLomLTaLFkxYaWOa9mR2KkuJWkmy0r1Ij2L5RcQiO/WUB+nNSt+bR/HPZfssJaNSs4tajPnSKZcuBXb7e5EEM/+OPNnxmCCfWuatriYcR7AkaySFaBTHh4qWn5ImVmEwFnsLOUriGTAmy0hs5l0eJj5DoCxAQeUVw4hpZKl8erWtuJVvsXUInUHGaF0JDxOUGHwMeXTU+KThQ9ZI2HAuFBqIIMNG5TuwCydKyyvRMUY7gx1Cm6WVbyumV/NTZZoYQ/kYM1GNakURmbNekLKzSS9mZXrybZlj8SpmLk7VaMvmRB2lomVEAooT1qgRp8pl4lVjrZkFHnoUtedVnLcTrh/J8Xt57bpwaLGdy9GCLFWLWphTolb5KXyul6iS0dxCepp6ghI84PbCiIvNIjPOxtZwh5e4RuQLt8L1EywQaDVsnK0Y7zQbveEGPKAEJ6Sp6UKaWyXzErl8P0WtyikRqlUtIIujtXNDi8M6XrvfO5IjbCxHRiSS1tRUG23L1AsURJ/4/ckHy/ROHVXl6bxE6YehqVba1smHKAAOsHox26lj6YlcQy6TGcLzsRAsHx/5oZ+N4P5EQVF/4v7Zbl75M273WY8E8qf1zEldC8ogPtORaMGs1fT1Lxn0XA59RvWEHqNRfJlSIdT5M/oh/SUulIhpp8tksdk87T97mczN/2h5s2NvKr+/olmq9B5zFv6bJH+EzqyHQV7Qcbj4FwSsPhP9CIv9xnBzjypdzqxEv8OxcO/QkUA35s9UBQYjT/2gRB9S5f4VqX86mWHMQzwW/xADOBtFJqVAgDLR+v3Jm+Edc2NUuJWpJvSjEnJyHL/wKDdd+D9REPSfYvXvMdPJHDLw6/W8GdH81OK/gaMV73/TLSD39XwXfeoPH+DAH/+lqRlSxBk21T6SlZGdvWHcGkZZQvn/EPlpJe/GpKIh6FRMdC5cFF+jnCDFG9QK0s150Vl88Le9TObe30D+rGie2dht2+9kjFutzmF76Qpax2nPQyjncuun29RIrIPyE5DlEkmzh4i2TjlPICQQt6OrOl7Z3VPpsLrtdmzTr5pr3e9lTlwFUOgorC+TqsdF/zJ/hVG1F05EeZnW/SRgjXf8Kr1RvJwcY5fAm1XWA17WxFXmr0PEdOdMPvh6PYOx/jXIn+mki8/2jJ+sB8XSGVawsVdgZzMVtClJ5tFXuPUTbM2NH0FVU+i8WYmXCdmfq8vlQClwhFMsjqamhIEtU85REF387gVdeqN4OTkiZjWc2R/f92ZVmRmND7srk6YUyRnI00/Eh5OavIgZzkA7+CkR9uKlaiFhT/zg6MJwGnziFE5IiQL5pvWZmZifzrqI+WX2dOkn4CFVfSIZDPMAj8M/wEQ0zQzCIyYM+Txcrirljf9vpv0Nz24eaMWbdOd3uKLy64Mh8rV3MSsBNvD/g+LoUaEKEfA0ORJ2zw57dsghwMbvfkuV35i36a/S4YlrYgw/uh1j/cVKPj9ifHrKY0o/mlPmlbfGa2cOMvD3F8gtW36fGa+Rt5V5R3P0/sVFXPBt9j89mjQqUJlrM+fHCgvzYzZzZS5A1aT1/I16ywUXF/mXMs2EEQQzk0kwjzATmAJv/tk3SRPI6KfphVhsYfpTNHlC0psr3vwTmkfJ5kniSEQ82WIRT45EJonNcJVjWHoG24lTC9nG2Vcbr85mG9VCJ46dkT7MoRpBejxBkA7q6EGBkB4gy5OArrS4/+q/h3fnMfy6rwYjlTLr7As6ff26wzUWXMtQes5ZGpzTo4qb4M7dT9ieNTRrG4FwaH6NDtc5eUyHNPCkZ66dBZwnVzv/asIF9uRWbskTW5hN0QnMLD9UgFVHgJMjXARGtVGeGH1otHFtnGeKLhWlFW+KGWyYm8p1rXRh/3mqbUJ/32MOY3rYaojzh3MdSH93x/xrWNRfrWpZ+fxnb5J9l1S/cVyo4h3QQA3KhkxN2533Q1WnbiI9zvg5wjwjmmfLrLPYXJvHgkbzKf3zov5qVQt9NrgS555Wk2fIUtB7g+NFg2hwQNrT5v+s8wqQkjaJVhmOicw6i821eSxo39A9ujEW+Te1qgWmcwp3QkKDzcL8t1B/tapFfWjyIrJEkH7uPgS9zfE5GxiavTvvz6pc3VzlujOTiAXNtoT0x5NaNBimN+xGC6hFg2E65+CRZSU69iHi80vzygPW31qtpfe5wu7fZHvS8AuM4+yde2NvwIHAQ9xE9D6eHy1+nT/mlWvyitNNi9HK0Fuu4N1JSSDsn5tXoqs/dyfk+0nnDDademzit78V/K/mc2Gh1WVLTIQTwwDnvw8XH4wGHBfmf13UX61qoY83TXEJUj8bV3yDOu+LE657bkgxyqnK16T62bhsVNbs3Xk/PrXpDT6NbB4LmtBG+vOJ1o23V+yBaGH+PNRKi7PRD/HHkJ/Yw5O4D8nCfCDUX61qoY8XWHyD1M/GlafGIkhTHXXxlTReLQ+o8pVYObIAJQllbCOyM7vgHLVx6Yetbc6qNawen7Rm7iXk75KsHJkFxOfN5UH5Y22QofUAPNUrK9G6naIKUhwfUGnRQdrrPstMPe6GH6o6dROnOOMcYX6J5g+ZdXX2Zd/990pW3gEkah3XkmFRVoJBd2DhR9E/u+8lV6hXVlJL46XkYsGMSXug3nh9zNDHbvizqZz7M43sm982KCEFnUje3VMV4/LmqmE34pyiB1ClXllJLY0PzVILypi0h6IDJ5IPWxjWw+tpdGZs0wCo7+mEFtBhVCra3zAlBd2Z3gidQamPyVsfaGPyFYqI7CgzIkBiuoAIUq+sROu1Lk1BGZP2UFyg0xfnme65TPGlL1W+JhXtIStlfeyGH5/a9LacRvbNb4M2kuBE9oA5YBfQA2WSs8HJ3F49cEkUY7GAMUG9shKtF1gmBymOD2hRcUGqte/klQ4lVPlKxIqKrJTxiche7Z03rMYAZ5asJTbearKeSG47GxlqFccHVAUJYQG2pFzMD4J0J6PGcIHwenf2qkQPiJhoSoVakz6Pt4aRzsyMNlr7tRSX4aP/ZKHOPuZaoJsT/68jnENg+NAVf0xT3az81NojF+oaAdRfNUIUzi5WlJLo2vLCg7dr4DDlK+a6KDWVPqgO6hunjyoM6WsR3oOSWYPNRcOFXAzCw8oECHPRT4Oc7w4OQzM+ZlV4a91Nip0q0qHx8HuOH0zMqw1bLUUkTb7roKAbzxrZXoumoi06hDlxUutXqUCptYnktxHnWQpGpllhkdLFihpOhU//c+ebm5XAXnsrS+g+/Vkv2yXkDfvzQ3+RLOxqxGsNVCrJtMsxeziQN/qrnrkLkwzq628yLuy4hV9tAF8Lr4GwGIzrUIckg77oH9p313kMOY6xFPT8EYFVNEcB8HoCI4jSG3s07D8AOBzemPDBFzN+WLDiTyDBhBCah+EOXf5B8/X3dFDkIUuB2V/Yb3G8Xnkr9j9Fn1n4yn3+M94PsvsX9/fBB08ZfPCf/R//R++//qu9W5TH1XblUUO63r1C6R93w5/XYC76fHABnL5MCOAa/xsN3/1VQkdJyQ5nVYSN9Un26fzBi+4XFaJHtJXPa6V6nsbjcjGT+k5Q/sr5xN2B3XWrLAetpjY0T9LJL4V3f/K1Msi9elpIirOqpwWrqDiv5Hjjc+aINkVbo2gXXSYhfKG2uN8RbKVSpi2DHearEMKscTMwcZkOXZ9LP+u1ivLyhWBqOBcJarCnX01rCa9F7Ahh2++GrVTKtGWwK1+FEGbdZmDiMh26Ppd+1msVUd5VUANwkQJOHOF4Syw/0DiNkG5rOoPB7qMyfYnwULsC9DJa3f7BYfdRg22DlwArPgyhwTSaoSNJVz01AA9TQCVq7lOCqHI1s4Rq8Qjbj8Gh+sRo0eb2FO4fJKg+sXV6u5cT9K5zmh7kihFigdyo/eggNx82TAqYp75x2+gXHHW/UoOcEyU9TCYIkldv8/Llbt+OiMnjjrhX8QjXo8Hpjhc9FMj2u3FCu9IXAjlrXuaf3K7UIHKS70DT370PGqHG7t/vzpaPOe3gDuZJe2o3XfsR0ur2Dw5bUQRtGjxYvhKiGzMXmtu1Ma8FSWFZUdoS8LmP6XB8fc2YZoLrAOw5aIln/pdLWp0vD6BLZZ9Fp1F8NtgaZZ+gcbZiObOwAxRzObmrSWx7xgjD6vYPDltRKWjTYKe78lWIVzFzaRZTqx0GtavQKW4JxRR3i9vhJupV68Ot63DAnD1Coe63LfULbenJIZRr26uoLZi/7aAD+bECCfuwL49kzTumCdRxnMNZ2dqK+1BPczlKkTypVybEVGYh6ytutS4QJjw0lMPhfqGnPf9n3jhNTItuNjjO4aaSsQSjGVg2RnOrQNRxnMOUZZVrC35+DkcpyivH95QxDiW2CTOmqael5tzUITu8tt991JY4Ssz+Ifc3udo0Edr1208dh95d5njrMKfZHSzaXNnG3+bK67nydRXITX5ggdyH06JHVdE2P3HWtzRgckfzq/1ufL1Urphf0WcpDCn0/jxN0+Nbu69pWlnK+KDCTB3HOWzKMvhDbeG+6mhsiryvx6UN/Hpt7pDjVkJ3D4cwY5p6Wtb3l8L7zYGxhUY5TYHj2eG1/e5txvKoeZ6Rm3Ljbi4Foo7jHDZlGfx8vOpoTBFP8srpfxjDtqulAI5qZZi9x+22kFuD8cF8e5o4vFuW+sUR9MnIDq8tuO5pvKpsS4+iVclsbhICx2eVRxuL+fLcUe6MpMKjhhwZB/Ip1yYhW9Dp9jISPR49NgV2e1g9boZb8T2TOLhlrhVb4rVd1RZ1D0pn18wpRb4F9wjIj2ABecTiR5w+klvN5IeIHGGMNiJ7krxoZjMvaSz3xUt0w+QISW8Orjsy3d7d1+yS6OH7k+AMeguJ6TkMt406bgmPGO6RA48M472lwgO9K/gstVHodns5J/9gL3U8C87ucW4wyqwI2Mp/nTnRwb2QtvQgUQNVFowmvSj41N40y9jJDTtORpnRRAdrAk+WCvwPSsn5P4dauOcEnB7Ie5hT2/X/ijUjNZg7P1EvZuLn+bA2pnCVzyoBs4MbfRonbSSBrOajA+pggwYCkyuPJRRCUuuj0MAfMtChRv73jVkMw+tNw89/ywcrogUOtmNd6Hxr27weNFdEX664Fvqjbau40Z6NcGkTliIbbp8xugl2DoWUd7AHC+f/wrXtXwoaYNGY1uOGCx0xTodY0HdrYK1rEacVu0YZ6US/hM74eH8kS/jkL+DhOzB+DiD8+gaNwF4EoG/S5sarfO/aDfYJVXmaE+1vh7+jet3/M+xnhJ80uVHqQEud7z7Jgh4fLidzcbagOg2NGpX+b/6lydXCKM86s285R54JUC0vbGxRJKDMoqm8vT1pVdyPYdI8d8xBHaepDz0O+WK5eiE3jYqRUDANyFNLK53GlbBq7lnPFO1TAKU5kfJgphr1kcGk7Q+MQJ/rmRMYloBsI4CVs27GUrAGpnAZIwC1j5lMa4AeM+xGwpn1NytWpqMlVPB1FKj1oAcEqUdd+ILgwI9jEiJ2YcEoEgvf8kAvOm1pAkgFvEwIa+WtqRlaMlc3StJS9LjQijrkvzQHpQI65qhwp6BsLwJBIpHo31rrDdZQpEiUtW4ZTHWq67WsH8ThO6x5RtHOgwxxUc/n/v9QrvYqIDThu9dq7SPRS6/eoZjOYGdTTwtvbaY+Re4gNdHrnTJ4hsVtkvcwFpCO5g1ii1MIe/SMB+aqZ/V/bP6/Z+DHILHHAHe3sKOu0+216TPoB0aAxJJ/fXPZnyh9zcQjcs1gX9MkolYfzYikos1ZL1TdYldRnorZhh6VNYK+zci43BHmBpnOgLpIriuu7qa0qQdMSHlywd0DhBld8EJmDazq+9R1TiYEMvsCBBKIXjjo3MYBcMgZcANOcxnHWQjoUXa5RlvTI6xukRemvFSDQqsTAmUf2oRS11UfVg2aKqbCfni/WbfMjA11rlCV3lCl3Cdhdm+rRFBqELKwO8bkw1eZAyTS573S30UUFW84AnV47x58b0U8K33rmtugadoxZPJAiCEgf+quZ01V4uHcAmHQepcJTRklpzjWo/85+kB9SX2k8PYBUAxVoTYospFzE5TyGDdBTBH4IzE2un2ky8lN1EvniVLiOOLuhekytYSsohqTVls7WdAlnjRKRojJ2gvMlKGMlZHgZom6MyOnvSAR52EVrUdn6mr9qlBLWgaQiXfP6oqp9Xa4tUTkmkPuaeTInaz8MK3LgFYyox6OVjBXHOKNLY4f5q5Gu+mqapUUE+VuuBONZK5BsDDPjDbIIGOjjet2NdkxmbK9Io66EzMgkG6kw84EE5HmBkkeL9JW2JSAYvsyhrNmYduKFSDqKdQBdqzwDFAh9BQV4n9AmsGUQ0KofwnC/z2Ure/xXlP1+cDWmCgISnaRfB5HjbUxrjTbXZHVzWdnIwieNtDI1wCDamrzjYwa+uyHesoOiedTnJ2XGtNZGa3i4v0mPcZx4jkRdXa+TWuOB06hgm2CuwEwj+bh5ZZSpbSipibFiUqQRNGA5shE5ZSGgDJqDlw0YJDab2d+EERQBx4UIUKXgGCoORdJHvEsHsSTjEWDCS+nGF8ppHS34bh4rKwhNqtbLJU4i50zLjiHjV2k57u2r9yiq/TduhEQKr8oBpq70HkwyuuUkyP+aiaTxfU1LpTKKTpKQrYpARWKlMGPUqirOYueI93e08va4rgj4qMFh2wwo01cfILAKVKJxdJlyEpjGW1inV2KcbpgFJtMIsFfMBGDxQ2Y/6afJyHvhcyde+oWAh1LhCGFbJRCVq7M7xNxeQRmiUX6DD4RjRRRQyFKKck11zSZFoEJ8nWQXqeUs3ZKZg0XqQq9pzmhce8/lDRGcWfBUgutoYXtFCFjVzVbOWPOcy0x2qzHrZKH464iSLpE65ocb/JeHckICgc1S8t5girk39k0M/cfRAa+n3SasxilcuSIlbyUXUDm3+IR8o8dh6bYMRgYfC4kQ94HauHyqcWuAIgzKFT75LkfIjXRmT3CJp7T4IILjvu6fuzBxwm0Hd0bhNxk/ehaqOhEIpgUzcygIiYdeOeAoKZTkWDp8qeSz9Rs52xuM4kW5bL2RVpO+xaHWu9ZQ/rMQolTwxoiz07uQprd06rpM0KUgRroPd1MTerRl7GDlbs8W8XwyTX02b+wzUFbWc4qYghxM6T7gAIBC8RnwsyQozI2i3gs3zGp8PKm/okXtjg52U5Sb2qdztoG5p2Jo4p7NdQ6ks056hSUVTY3+DWUCms9bpf2WlyZb8/Ha8BGSuSGMgwExHBvWdqDsRwn46y9OG5KRRX/+DLsLhHiKI6P4qbSBA3tP3XgiB1HJhT0ahU4kxU2saktnJ+9YtuwhwC2AHzebSt7X7pYKMndHJGPEFiFkhjiPkfHlQ3D1UOeWVgi27MenypRRp3NXSU/QVDZiEFDDATEWQHv6GnRStYuhcrx9EGwY5a3YZkjPZq7dNqCiG+V7v8zk7YVqMgO0kJbTKx/R1eqJ42kLZVX5sa6Kbt+uXpkIQS9xOFVRTSiQq0qqGJ4u7VF9gigUm/B6B8nu4xZdE/DpEXLa55LNcnM/JcGQqXsraxdyt/puxbwoQU6qKuDM1aOlR+C8jeKjpHEtcvrv/CGyl0d2bAI8BofcU/bDWw2FGnb2WE5jryTHp/6WI3fGau8mKv4jhg5rGDJMPaA9y6uYCrog4vlQG6jYnHeWVgdu5HnGBC5M935LsVLnTkGXaoFLaJpMVBZYG8apYVhtR908F+k+X3++Rs9zhNT7PesstiTocy+6cFqPFBKwK4z64W25M42GXniBhYdc0aRzXUkvpDp5jxyN2D28r03dLXfZy+vsE8b5D6w9OPjVMNPURu98uOflL1XpiQrH22k7v9yeiXVpWUctaefXZysqSYX9jwL2vVWpyGeIWXocOhhCVZ4Nybg6Y3cgpmNFT09t7Qb4ohzroJYJBbL9QUSXck7l+T5zM55EKDoQhkUWc2iIJ+pBdMZGikzq8LY0H1ADl7/Dze2gEDRdl1FyBCgJ0+1zk5T6pe2fjH8HjUGE8Ta3lToiOKGdYCHEC/i4Vtn3SR75R/tG7CQ+sCwbMkimIMy5DlzPZTyS/fxQslSoEAZzjQjGRn25ob7+N10X7l/tc9wFyHonj56Kj1PF6EoTTDhYPg0K4IJPCIy/qom7rNoEw4ezD/PIxptBvzuVi2mJfQ9E6YynyPl0KhQMk8h6/FPmQLgSa5z5ImrhtcetPaMxf6jB0OC25q8iQ+3q/w7ur0T3RU6qm2ResVsNl+y0ezzg9e0+68BvDo0hwbda1PhG72nUGZobBKhzoTWC2aA7gNvf312SKI+C9JbWTeFdo0XpZa0Cik0CaCHasp5liE8o7DGOue7JlXRL2Q3KFNpUQDZxArJDq8cSpL+EvORb1ehplglaSjlMgIjXh7LLrHl1BHZuTESRRRhpWSc8hQhbCsvdN5SGn7G0M1T75QTL/r0FsrnbgHm6Q5ZGnZq56Vzu72Qsrlmky57rRkybGzmKa/Nc1/CGMqkP2ScndwcMfMDuIi/J/VNZobY7NDjU98PsD3CzPi7ey4e7fjumQp0Gr7CG6aY77x6T1KXVTaFFLrbMFyV5yFFgs6v69f9BVq7pYMH5F5+5FH5Y34LjvLGzg5lhZL+KJL6xQcdvXBz8dXgu/TjM6e86UmkcCgPbww61X29/hE+9BRPvwMbJd6wzIIZfocmfeZNPWmwNjiPMEKd4Ho9nk96P6f6uM9xwBr1sehb2YW3XI9QjSAsU4MSgdGXUppCH4+UTr35coCJSBl94xF872VXeLkpEiuzb0JxZoA6rGRKtF7JCY3+DiXRIQJcoWJzba4PE7FklOAFFRGu5ndmb7eE9w13zmm6ZRQPJaadL6A3t/S5mLtlVtHblqCJWB7unD8/FogRtzS+b5Zji6gBPl1X4RM4v2nnu+uWoI5/8skqLoGN2ObumgJaMPhebcOdE1vTVD4KKaIIV2vxMLF2thtDrmlCdVXfb5aJkum8+3oCIN4j4jKhp3enVYtcnNevivUZaoI8wQASSftg+nDy5jU9SLS2YVr0SnPzbtAWPvZkm7BxE9J7xVhJAJujTvXyPV/U8op7zdRx9zFeYpgvO2oq4xWN094xg2sk8HxmXwVrROYhXzYtxxULUbLK40cPNKuXXkFcWUVLzYozdSve1HJ9eabERhxJTpu5JXQyS5Y5Yi0JmRsQwRCQ9zxrnnzWtiPcE88qanPTZroDK20n5n/BG/o82eWRn/cUEf3M9nEWzVYsKIgJAKlHeUzFPGewR818+HkgQ45rz5NLDW8VenBpazWrmX91cXnn1aZg728dhE/tzjFoc86i7MgxM1AtmRnMDplgIfM8uZmNUrVt+svvee64n8Gno1/wiXpbfKvum3uAmy4oD9+uHRZ2h+jwQ2H8NR2G4kyT21QD+DqjHLV5NI/51rdZ2M6iHrXwr5FR18311NBQb1nz7VousEFvzRsOsXdWlL2VkXAZp5qPCQEhnD8AAA8U15ZeL0BF5upqMxVzmfsWTXNkbQTaNuQhd4zuWD3Zk8YqyTprYxGIEihiNS6KHnDGuxQBb5zN3J7C26ZFnlBIVgXSddNhaqNDa5QHasxdwQmcWX14dAna6t1a1GKBQ8sx12Sg1oJ8wqJNJ2xd9mZHVW5LgIIZMh4bRrbEDjMCEERUuHdobNkm2RBAEdjCYAzJXYDTeYFinhVmpkn2S4iiiGK6xBqNy0K5E5MTxD/q8PmkBHYrHea1cUFbt+YM2taJabS1ZBUV/REOHb5yaeFQ6qPtI4igSbRDJP5Rl1Qxy4Yp9m1l8IW7TENu1XWZUY5I+YYkI6ObuiO4mCGUpTe+8jM7A4lu7im/cJErBP2JkqFso0wnSrsANNh6J2bSorYBFK6oBICCAAgRhPBTpFCQi5q/yl3tMOB5T5r5vI3ovYBcCMYJnuu/jb8GoELk2qA8HUI8oEB2wyg95uQ8joWcVaQXsxNhNx1MlcE+AFAU3nBDccjH5pQ0wVkuvUNK2dgn86/IBEEBBYIBNLXK396w3Jeh2XZXqLzehzkA9AjMqAnzOJ9bYarrraTy+MYMTVLDYBlBRbxII9sodsDX4CQptKvKJscLeZXCFQ2ql34z62TFYERDfB5EnFZvCpT4uP8GdvoBLgzTu24Ys11SgjZKvYEhBYhZUPSMUG3CEYU1NQJqwjb6O8fe2JWwTHi9ku1nbXbCHuSmqCTl3mdW24nkrohORW6xqj5Ad0Gsa2wtlo6feNoyKNTWJdbipURoOebdzVrQpoQZDFPcjrXzdtF2xWNHY+OkoByT4Nfe0nZYxLYRJ3eXs4pcbK++RnlUSurNo3ERsp7HAZCHN26ln5r/4lP56wYGQK4FM5inZ3OHCWDCd6BOnRaTEg1GzOTCUZANpq1jZNyaLRNHW2aaVP49cD4WE+xnFfdwtNm6hL921zdIBZRbfMJb/lZosKAL4daw0JlwGJbcjQ73DlLzfkxBd50TOOIPbh2QNxSR4xYUOih5R/Kkk0BZRvuTbWbnqBfiW/Lyh6huuUrzaImc2wdyO7sxcjkDoLhvYsHmiLg/aPTvbYB24pi7D+zCmc11Ngc/TRIGhtBn5/osIMFvbTHYEsRp0gr6IA7nvGWNIZ6FGqWY+/C8VMzk5ZoH1PPrTiq5PJhk2wvSC8dVewCXHXK+HS0XtbwMm3o0QF294eBD6ez8rP+g9kk9DZT7gy+Cr37G/xT4oYDhE+p8f9Wmt5ui7/fiWUJpNt0A6Yl2uX7+MKW9KVSnWjVLEbI465LJ8occvFcoRPU2uFcgh/5tKcYNK3VVI8aIyO1K2fvzsbp0WXXVv/IHf7n3W2Cuax0avZShV1CcS79R3lul0DGHVq8IB3ecaHLmJRlsdl227SaEr8tQ8izEhA7DFxZcdv6FOJfrID9+ZLxgis0smdeHWaue4ZpDcd2hUy5bngrwu6xxttNOvxc4IzVZn/xHtf2WADZZQ8J6IGlbIH3yrs8FOiXI5CvknTnFNk7o307A2Voy1cRAhS4MnG/CSpx8RZJ6ghCiehOeC5oKt2u5qix3zi/K149u9OLBseBjD1CglJ3WhVzY1cwEUxju7oVw3Mc3G77Trqgtuwh4ml4w3nx08fB0yEMXDoLyC+Rqz7yJUM3ok0McMHcXOeVbudN3WAz5a9+YXPcdf+06imO+1EY2bKJvOf2VLeIS/CUTTBddoq03bXoHu0403251TfT+2VlfZ/vJBF2eAu7cm4yOQveObfNtE6nu1J1Z0tVQRkh9rupd9dS/iXdUj4IUk+VcRYggiGBJP4AKdV5yPlmWVkIfztygVF/gDEo8TngxLFhnBYIzpqpvvWtem0TJU5SAhSVMrKHKtrtijyt3w2P81C4kU+neTcu027BVAYLWGXhxlKnvQXYhYXdBKB7pAZgfIAxFz0wdJORL1Ad1rFOdQQpWpQBoQOqBYGOOEgtocoYWlHdwcZ2k07fD3jJzGMQk7riPOn8NZ/nXRYHVt32dCaUsOnwtDFgICGin46hxBCb5TzPjfc+Obvkq8qhw+bUiiTUY1ljQupvEoGKJWbyoalqcqrbf/o4K09TeYY9BobYqlaDiviKogrO4KTXVKhQUQFIf0GOKGVQsoWAFhhEtNlDdeRPnppyECRY0Xrvy3DmoQzkFJ2UsoU49Z/1j5g7t+/Dgwhmtz9ZH6JEKPTnMi2Rr5HOB7jnDRSA1XdxCocsNCyCOqi62CHUwVlWJQTIuEa62B8FPTzIlqpKJY2x1A7w4t517v5JHyES3I3Q5BYMQAQ7pzZPeu273G7ZCkn2hr894cboouPUApLF9MxjTbWqywsrKHuSClvy4ZFOMcgqAjQfzgQWEbS+qZhy9ks23KVsoMOh7gFdDnkvCBmimIo5M3zbU55STtqA0smpu0EXObQNcy2JpLDL5jpng6mRJLrxIZICrgnLf8wr0aNDL+nX7RuyvLqOFipUJCPXDFN6aY9HqA8twwAp/X5WwEXHXYKmN8CbpClYpa/chCIYRso71ShfZ8LzbvdChM2hVXwEoVoJxQAJgs+CRQuticRRNEi1fuXMvq1EGq/0ucMmWahYfK2WuKoKKJtM5458cVYFxaO6mazzJrNxIQqcBPMpmXu4vKYnXXZ9zT9bykRuVFPPZcnyc7lAEsQmZW+jRiVRQAB+ZlukVlJsiV8pMvzBL+iViiLH4L7s4jOXcH++5hgPgwiXXnJUMDnd7lOLKfOI0g5hqjTZg0CsvnehOdu29mGsVEpkmH5+Z8yp2GBWtsRTp4MzW5MK1JoClnGnv7sgEWWEn1tI2rt89mAQMYW/l/4E7B5V4PFe6i5ymBhouKlSv2CNrIlHJXY7+O3BV3PIRwUYKy+WWuyGlymANYNvzC27t9D+rD8T5CHCz0e+BzSIFdtjmgI0kQa+HtoSCJua+STwuRpxEdxUlAfxKPzxNNFsUnmCkcEIIG2h9O2E1ibdxODXbs+CzKj9GDo3ynvYt5xEbaNC+TUM2NmoDFO1wrrdoIycIok0cBsg8D3LdDjHzrUaLFlO0e2412FOnvsIejINfo/9s1XIHH4/9PvSYkblso/X2NuA7Nu6wUW7tNiJERpeV33jCWcOsjGD0LF/yI18wetkj+IIrZ3HSrMwDEYqYrTWf3y64TmxyPduJ2WlFBnTDSFNE2gG3sJJ/aOpANWYeaNFV8SzZQrSquuNE58RZytd+e6Y5s+BGy9jZ6jY0UFwypS+yTeWjz9iup21+5qtW6x3ryH5jw13RvIT/PH/eBMARwBnAFcA1gVsC9wQeCTwTWM93NocUKULAQjJBrsokqZsrc30b/agMjDFcWcWbyzlQRDhqQb09kj01TzTc5yNIpjw5qNjEYrHFO44dP27UAwPXMIVIliLc9jiv2cIRSVuwBx2th/zoDhg3GYHzpkdP0Jwpfd3TiujJSkfnhDqKL/BeTPB5PNGsUsM4n/Dx8liKgWvypc5nFDajOmo7evyaxR8/ERasUiIhyzEtuWZJZsipdTFOqFYlDZO1EDi7pJWpD4Ax4TlFDfOzC7Y+XIkbL02OXsmOG3c9TPLauT1qDd2STMXdWmFzlE8QTJhvMXmzf6HVyLECZi1cTphpQxY+AtSAIXE5r3KqlSrNpfQE0T2pHhVqZuDvMFJsyo8W2Htbndd4YZgNR4hG89HENTiFJ3LOUzWGDwXfF849AGYGo/zk1rPNExGmPe2RMo8wn100EDHxJwvKvIS5SnZSlu0R+7KVYo+9kd2O2JCGQrkclNG/jFialB2XcKWM7Fc8RuhXoAKT1IIXjUK+mTaI3Gaaz1ppbDSkeTcBE3fhHQs1daugEe2q6arhMOJ/yWy8KbsqAgQI5sPSWakAqoCs66qzD8p0ZCulPOgoq+IAHrv/QhXtEQII7/mQJOpK2xT0dQPmgJo53PtOAMt1wx9y7suHvXmbGGNsEg4qYaSFq4gyGU/G1Jp4cpXDpUWW/D9BfHrhQCiZKV98xrrRJwIwTGTh3IChYJX2QdZ8irYQfQcWy2IppULfpPb3ReYpy5wrOJCyA9rCJgblxdJUZ+tn/1LVPpWU8tZqmZr0ZeDxxZnjozQq1GySYHBtzvPeoEVP3ZMpruIxnodTCXd3gW8dYIDdIvISBtP80jCUmCvZIlMm5MuRXib2KctW38k9tpXP3+Xs5BitIT5V25iHcSY2bszZXQykwju0ECj83JWMOUbM97y6I3e5S4m0DlPOR1icV7I93bk+Ow6nCs7u5OWkNbjCFV1RsiglJzmQNoAwryQDp4FVXTugWhaX6ha3UZJMfQvbXqheciv2/K1zBkO6hUaVrVsWeaiMNMoqgpNDu+3Xlhe27pts64IH/mvXGk7VWS/jfnSpsbcJuOdaaTSwwexXl5lNrxe3IMXnsrtj7T0fOQYpEClGDOT4plL9FF6jxZN7dV5dv3z0QFWXOy5ztLXOc3sWKQpTaIPgUnJ6RporzKMhprlxIfW0XBo2bkBWgKxfJx34AwMolNHtE0NS19kbNKSs8VvUnBjQjaakGvN1kYIZjAzAhSkIbAzX+ODdtmj5ukeEiXk30Q3zynZOmQjTaukEG8vNwq06i6VLtqXSGus2Hptoz3wCvsr0ty4bybrGl1TtrtZYu0nSGDwO0h2ZMnF0OYGgKRDOqmJyZOICm9VpGjQHTZxeGlDzga6bDcE1tBoBzvL6rZ7YNbRG3GzGj3YQjZsIYRCUi5yapAC5EfYKmF+vjQyamgc3vVonFIiFUm6ikn0Kvo/Wjn5po+khK7c4DETQbRyHSUinhGCekU63O/1lxvtSPOGrx5b8+uMM/r4kE+aCKGlkZhZBPVCoqhAw8axhnea92mgq8eG468aCkvUo1kxjprUryE9sQ9HHw1a3Zxj4wSwYh6HzrB1gAmCQwIUpEwcEl7aUD77RROS2TDlwbqTpB0fs94WMrCqBfzEL6OyH4iHoMnogX4EbEHojG34gqSb64wHq6fWnmkMOR0kLNlgMrVAniC4u4Ll9M6+qboC61UkM1vIe1wulPdhaLPHQma4NnMkT74vuXjkiN9SPiF/7Wfi4YzrTG4oE3AulXpIwOV8OHl3R1GGV8vXXgoTxMO3rEEJkSL9NNRA2SUwlj1T2b8U0oPl+gkNTTuaiRVdTOFWFL7KPlnmnIgIz71UkYI+9PiFPJRl3lKuMsqBdd13Qpd34JU9KsEAy/YNbAUoqqinf9x4gHh98HF6HGDni/Vr3dxh5Da1ZQktDa/K6/PhJIhezYSNZt04xeuG00XO29vl5Fuq0LNkRR9p9ysQEHitPTiaUqO+kU3SvQnmnsA3YW2tv7qMGxKGv5PFxNpnxesan+RYZ2rxNzjcHOaoTSNxmX8/kco50lW21Kq7UtrhVb/Z5Y/Tizbhv0Rvj1qZvMDwQXPzVStjXq0UuO0l66c0p6HHuFpFr/pNs2YrwFBHQ3me624iY+Z7n14KkMnFaQpUSEQjKCjgK+ogrxCR30ypv21AqS2XubybldiZ52ciHdYMnVZM9mUIhVDjQ4AlBMWnsIUK/b6f+KHrI1vWlJh09e1LellugzFOFSG61TUsVq5e7Y1UyruyUNAuAVR/N+dCDnZaBEleRXlmR7etHnJKAz2f8XMQXOmdxyio9ZJiKY4P7M/i+eoJ7D/jg8Ik8uXimRFVql9k57DTqioJR9YdPTfppWknK3uwnqBcVRGDPZwTzFrDeyE4e+nDtDVFhhcP2Pnatb9NIAQpvx97lyJo8llnlKNY9eORdAKij8SaQhLl3phosMDAOnAgiBh+4EaW9zryofs6/Th6a8BEieGfx02RhFK/1ZtFdNayEPDUK1mSa1QUCnscBv6Yx8ZFcXQaH1Si3RlRxFe0OI5W34sOJVCrdduYhiN+TmSlMMzA1kCFY3IimtzEy2S3QcV1RseqIYxRQ88flKg7I/OTDBHBABGAP2GKGlDUFgVkzPkHxLbcYrC8cmtjMlAatI4gGKqriCUdgvTQO8luH1B5+vzCf3gcN18WH7EJV0DCjGX0VrTPdsx8vFPYP3VucFuh6NLgGTLc9nJlrdetEzEKE+YjHI0dOYZMvqIeccpmGmqRTOXe3TLIXAztcPR7j/u4FdyjYojWomOrmYUZcT2pD6pBoHTY0UKZ1AZCKxd0XAceTBk2i/MtLK3YMRRJ3J9swhj2FSqSerz//l7ruX/s3OPb8QdXz+w+BNXJV4kECGXhkCtgMXZKQsutLRaJ0Z7i1dOrM8OSwduOvA6CmD1uGeq2fJ3hhhv3y1DN3atx7XFBSgQJen6wPG0lC9sG6LKpsZW7AltGJxA6jV2azyiNmmH3Pltou/nsuVOpOxeKlK4AYSqa7S35p4N/tEpkE8sJCFEYFb0+8DUtnlLsWGlyxH+wpUAiq0U2XzOYdYua79XGdEz/BRChTR2iGNAFobcKzgHggdZhWN3IYyzRdOCQyn9pdhflilimmLEuK+fS1R8YVeifHm+y4ikVsCauVWag8rLisBa+ky/+FPs6Cc5SOrNtSLuNEO/eNZ7JD/YKTaLhABifu9D7UcQ2XwBuxO1AvOmbKshMNE7vrcgd3J/a3Eel+iW3EUhR6/Ht6XmpG3PtiRfjYcnsku8W1yM2p3yidwTk2o3prhfChw1p5jef0FkaIWzYu3cVx3rpQ1QCue/y9nbX54uJQIYVYvgpI0GKQk1OTHXI6prRNvjePOMPVV3bAaCu30HpX/zLHPUHV/GbcO9K7m3eYbU98jvniq0XuGJaXsKTTEG1t/Ugp0TnJZ2v0U+uUWp2xFbVtOHYO+ibgYfkLVygbkTvylddrPFCSAj5DZG1LzqHn5mpZt4xyr+rYmz31WuUmKoDJEgECyacEX1nyXaWv8eueuWLL03tMHYyPGvuyhbM045GD/GDBqaV+QEOVNtkzOZgBo37eW/v42Q1zt2JGlktvorPc0BtgwAz1qW2lNBRvIjMLSVEONJhker1OvPHOFeBKyAu2RJ3ofjNW5AsrGDrB73KpICB9jh1iZPE+SJfWRR5XNjNuPo7fycEpwZwkWtV8VkdDarKeZDpNf1caVZuMVZ1FnDJhRvObUx6zoRM5KCjrmueWGLnleVe6dFRowPYgMbtUyyXk0w6AFF2Ua9jB0VX2MO3cdkW8nAhSBjcZ/UCpuEOiVQ12rrWMbB+Ki53hANhTsnbPcWn9g2ZtD5N1pAZBis93obTaZRIPiL5wj98Ko3GzA7riPURfLXvFtnZ/92Xps8eRRRrVZe90icqdihSJYxkeIp7KPSW6rR26US83Xnaf/DnSrXveMliP/aqx59oIDAiRDiUpDpib/3EBzevnCU6jjcKJoSLsSyrdRz6TKyqDfexAlx0rT0YWqXmsfkpoQi+Yrn8enQjZ57HyC1V+/RPlm+ktrbouo6kWhUWYTnyfxQEDLZIBHqI85YkgaUCX1DSVxgO3iVhrj1/d5QkiyeBzQxd97pKuea5AFxEhfV0NrA8x+elOum1SQyp5JsmKd5KszdJCpyRuHnk9Ng9oZwhEIqsBtQ1jsFHNBFXUOZrNOabgNP+Hqok+pR+h/z6Mq8kPJAYqG/feefLeB1/66Gv/cLcLbLOUnEH2d+W9BU9MhautWzB8tzgA7ajACY6T7twZ0O23XI6cf6VH9Gv+YE7L+y8/3tJK0heQHuv8q3PVj82b8nCrJ2zaBHiGqYHdomScbB6w6RNzvoDwAKxTyQLHqfIY4SrVzHWadtUQx8qTlHdDyd0j2jsF5EqDMzysNYlu9aNElI1dkQYYDGMp2LHLsXKsPEn5hU67N5JlJylPnt61O1Z2dyUL9XA/J1AFjlibNHZppuA4GQt9vxzdS/eTJViIce2uqBeyNnjX9GRkkjZpboopG4WackWFLFwNNa4FFmQKNqGN+NgtKkPwTuolyR0ZBciMEcrtSzrDEDkqXlW2SsHNFr0XPrjAcajlPkt5LUstx6XFFCllWFKJHt2LTJXa39jJOBnPT2gM8iEJEX6BUehOWIp/hOwn7m4KTgzAhBL1nLwLjibK0Wx2u4Sl6dS0tbSFsPOtd3iagHHg4OUUC16trg9KXGzUYSskLbbMfNUOw6XUwLrTdq7VueNFQ+YR26V4Ir1nOSNPHEkvTjY8nuBYRYUI3+3/vePb9D//wuoFsMJ8YAnBFO6ueGBgM5xNGwMM3TnHzqoU1gi344VZPaiLcXuiVeGTSPl3+M4mXh/G/NSEg/QLwZTiY8dfkyo+vRTb2W9Gt/hqHpaYwNAV7IHJmyYnHIKeZ/6zs6m8ukSMM7yjOifgM5AFtVFIqVT3nmaZjH4bCRBTi+JCHbYfgO/OpAOFgCJd3lhuwwVtZgVzEeywgRVKuGwmYOCNkJCF6huy4Xmikski/J/THWHAGgd3TazjtKw/sBcm8MlA/rVHXb7R/oUHrO+DH9zO2Ixz6yxxphNh8t4HJ1goFxK2espZjbB82wzuYgw0LOamMyXzc6lkdIUBvrjcZFo6XOhumiYkaZmSywp4WJFWY8t4JJ1pVFdNKll7NzsnOOl6Q+m1XXdys3pLM+oos2ktXapVfhXcODxeO5H4QqLwww9usU5CUyC9cPOxtKsgZs7SeTag2uy5UYqwoo2s4AMjQRaYrspciO0D33Glc+jjbjUHxgwmtc2qQGCgfGEF3KKNVsk93bQJVnRr7hIgSMg1VvaTYLC2kS+beVyT5l0Dwts3jaTWal1F4cxVhjXUVEE6z/nmwCuYTkFPGZ3swrMZiSchebvOC/3UBmnWNXnXjoBl3aNfByv5WboMzHATJy/YdnSFjBeS1EMQVkqZ2LM53fU7BtzwsLd63aW68iLJH/izKDWRuYxSYoAKNdikw3a6or1TxZbBsMXYE+RTanH6+WzjZ8iwWNl5Gkddq6SfoIoOYOQ7KwJa1K9qNuBltqSaJIAEbFNgbn4OElk0huYrFyPuNLE6VHcTTcuyCEiPSvm98WXLrQPGEhh8/RAnDQMAA5qAN8Y7POeOI5QRuHgBXY6fwm3AOe/rm1VjfbBChgQ3QwCnOy4uYJkvd354Jojk3TCAplby5sbVc17fqSpLiuBIRNL0iBBfla1Hku+2cCxSBYqYfhQ+uSgXExTmBxdSfgzsUzoeXKTwRaCHpEAZ8pGOlzm0xxsBin7UnIgjs7clSY4euxI1naLncteRhbEoq8FsKb/xUcuyoMKJwhZCx9GK+LoGv4t3+W1pzBalaCVA58RnNq0pyJqJjQAU1syfxdXgd93hwlgxVvSiMFsti5hcyWYXxLYtxusujntXgkSY+zBGTBmLESpUqFA5f7uUtMZHq1qFYmHH1iTGcZXFRtyJj0Vx2NGQIfUYbMWGGo5HIZhhjLCUQ3aY2OCCCwCkz8clXdaG3lu0YpXqdBVkmUubFbajMG2VNZsSevJ9zweQBbbDCb2V7StKaKq3zwNVdPITIoMI9IEOnXSKTtNeFPPmhcA3V5WtNN34yvQJa3N17BaHJE1QW4Q/fUPiAARoAwCUDwMAwLVPEZ8wJByYILII/JRpPERxhXF6lnUNDQ+Crc6ByOtRZVWBAmXGygvv3nSkXPvieutYe5HQ+F0xxe5gEcBbWxUeDx7CGj/B/hIW2Kmvni27yTph0yFFSnk5xOq9aU9AqO1qOMYtfyEhku9vrhJ9wOi0Gk3qYqcvohbQytffwFg+AwgIWGXDBU2JwzoI6Eqa4KKHypT3rycG/54sU/Ac8gokTVPin6Jp7WEWM9a6zw5YsEexCZuwGaWXt2h0tMAHE3EXXb7WBYRqr038Q0LjZ5fceOpPU2+e3KitZgNoArQ4UkIuPwxeCqBeCnRlOPYLRyaU3Fd1MgN8a5SOv7R5AxCIW13ZysrPoJ3trdb4vm4dP30ciKc1aNpIbDRE+qJEPPXb7vFtopqEYHvg3XeJ1YaPnLxoXegN2956pVvgirEIvJrQIjWP/NPha5oVieNk58Dk9oNyio5CA3RSM92N6xKOGU2xRIcVsoNj82tbx5c+s0pfCAENH6T+P0g9UBFMy1yKP5cX+oS8yqOHGSSrUU0M0LvdgLYsFQWEDKNQFbTiLF9DVpKMM5UOEn3DZ9axWa43lIFD5jVO3tlnc3S44u479ra4Z9GaBjH7HCcRhWqGwU9EtyuLMK6jOYyZwV3oyi5IXbmhMUnjvMpUTWWO5JZXcQhtYrR1hlB24naea26ns1joedxe996uFoHAwqOY0UrPIlZeE9y9w7QHmju3KVYOlI6rC3YyIfpbVdQOKOXchxraJBDZpJoHOuOvsca6tWUVq2yNTRIvNpVXZGXr5dl83Jffu9tS4tT06OkFElxBhPrFaRk3NG1uEAO4Yb86z5KhGYRfHr/wLQqMjpXPTGqeWcBtghWBBgECClIV7WojjVtGE3rX7lj5hSgTvdEfaqBDh976v2TezGuG5mCBrVR0io21mk4ORHW0SsGucG9tzCCjW5Yb67YnRmmBTflxkAYAqp/pATJjmKELB/JWaYxNDqAZtwMnCUQcCLuvsw49jjyKJujY9CQlUVZjV372EZ9skcfi8y8/YjfOFtCHFeFtoeBlcot1Zi1FRRwSCSoqqHVm77uxuzasVrzg77/wggugHl/GVtqx7NBGyX0zOqloNcHaqW3RA3JoHBicFXe1WI6V42QrqWUfEZdu9URk7RbJo8PYOPy6Zgk9rhsry9UgSlALS1p0XydIktw3w/WGdqH8dJLZCYYeTfMs0ezmkCMk5brKalS6jLlOELaXy+pkzd7uA43czFmCr9UmJ/D8luCAaq0tcGoGIU4z3GWugVVLB5g3rqV+ZgC5v7dafHOp1N1tiOSu1Z6rLZudTHeBEJJN1slUt/iRznJQvQ1Avdvj2BIoA0WGVGQEdFeW4XMdO0Vqt9JacfGFlRNRGfclo2ZlgTSr3tQ7HIDhY6p/7zamXpdht9zGdmyzPHEp5zgdbOp6tkEIdpnpvu2+fuNuyavZQkYdw1T7nd0VuwQUbAcqOzPA8zt0zY1Ms5tp2WEIWZLCIbgwnqgM4GLpBR7Gc2MDfM9DFhQvcDoU+dEH4cIOHBGnPZM8Y3RCTyf0ONEmj3zLBRHdBWboZdtWjTCNNnwaD0OH9Bpnh7+lLRseeD/vzyR2d9LORXqcP3MN1dryrO5N3PX50Yrnq/qFNdLOFAdPdYobItuyyyapUbs29ZOsu+Em4ERE+lIc623l7iAyruQlZYOd6JhHAyCzEjeh7AUXixqPtzIG/HTuBu0UT9AMRfrtsP26fWHXe+2Fcpmpzs/k5g3JRaOjZcSlOXJgaNbpV93HGN8IujYozhldDEbyF9Ymd1zX5zwI2p7tKpiSMyy6K9zcGpGbnLrMk5+m1I4MC60RVH5ndazeHkRKRjvdNrLIzMNeGZzCVzIJqpIaETFn1cE5Nj25cGx60uHY9As/HJv+Lws/xUsnZCe8YoW6oSx6I8t4SB4HLgzdroex6RdaGMvpzWVj0xMO7b5ozNXI5l24KlqTKt4zIn4GEpths4lmB6cjRFVnZN4Ttj6LSsWQJxmRyyubAIeDJx1uqHhYDIKzscZYc00hCfSYSRDSh11zgc6fuXmnJgUK4qyt1/x5AYtF/XWry4IBK5iDNfQAtax5sb+CBgjpHkcWoI0CPD2+E1hTbyewS1y1vc2LbCvtaI2/RpmWqoZM4gM7no/afg7fXFv3+3bCJ2QpDQ8uuxeSliiA402zbnBKKdjkWB6bA7TyljJfpP4HlHMcR2frGGJi4Bpw5gbv6H3L7pA4frQAZKWTG3etcCtmLT7/FBvTTLCLn9ht6b3d/57dFwIs+CvlUrR8cQqPauOxXtm3ERRFGnyNPpYxZ4JGRY+VB/tAkx8fjIl3WT+ypm6Fr6E39/SejmaLJx6nnniUwgVt+8hHKeMwWwOO7eAwqRZNxfzDuczBVBM5EcE9faBcpgtYs4e+R74ZZIaJGs2yJKnCV280Tk4LotE4bc0KvthLCyW/bsqL0hhevZXRH5Sn9TXv3objbEOKaIcvDYSDcZvXnqZWq7u+3ttUOFh5K3Hl05rGP+BtRoncmXP/HFzy8e0RGHt5sa6FKinib4NQ2NrI4BHjpHBkATvlpDAPSoii2jmd1nRx103C/OYBBuMrlYtqAANMokXg782NxgwfTMlQmdzClmrv3l6N2fyAMkmKPW5o+rr6cKFUZc3LTXwBld/25MNRrpqn/p4IPesmi1W7RtKc5IrvcvHzewQm5hjLsS6LQl6H06AZrETeqS4I8lUr76jolsfl5btzOQObHiBqWSqz0a/SzwbkIKMM0XuE79XOZBGcSVD8h1Sap34wIAYBBXBMhn1qccozYU162Fld2tAvqXFQNvld+9WgOaioejrRwZJYqsgyTlw9qgi8ek9qxKv1pDSkesJ790FwhIpDmXAMAIjKEYOPd//Uf3I85w/wawBFgbhMyaG7utBdTrDt9dl9OgxGVe06575NmZ2mdVYgaDS7FWWJ+EeuXqXw3ItGqVC+6yt3+wo61aIGbGoPDs8WSxqD/9ws78JJi+BOMrH/+pYxqaNBJBjusxPwxVbuFfFtBjgA+MriAwCXMrm9/q+0+siJryZXG1SRI78xk+hJjic3Xs2dbBpffFI/cpujaXqpU9XZRrI2BrK8KDKdXe5EWn4A6Q3MqATXQjAIdHAV4+vdj3xvXaEaVLq64lGW82Okffkn3PtqxopHD26cM/Cwp7kkWPsCmQqOBSUK2OmknNQw8DLyQ0rvza1FtyHUcxj0EXI4hbv/J4z09jrJW/dOFjO+zScsdzHrTnXjWYkz46wxxijRfvta4RpGMyVtR8R06Gqh5DtwRufv0MJtJGCANzqAqjct2CBNxRqXknWDew3qI6izs6H0riE4FFQ++tvksQMQ0LIFl+29Ud7zwH+nbIi3gN/u5s/VfL7VG/IHLAPd5MttAnAgDBCwZeAnwM4pB+3LkZDLiHltWsmB/1df/gfcC2lbzKsFBGWDrkW8qqLLWG41UDWVV72pOpcsEfTxW4+aRhYz2ZynbwV9A+k6kbKFvNJKn898Mo6iM0mqQRsjToOJ6oqWQbi5J9j1IGOrmfqYsZWMncXYt0wjY0wRY17i9C/G5jLOVMbhMradqcsCnFksh6U7yfuBe1rMYV7it55jV/CjlzE3gx4CwRvMoDL8IQy8wWe0BwRCMAQo1QIWiAKfj8zah9xnlagsF4C7NI5i9fBOWRNxuILHIDhq0SymiYaXbnE5i8kVlHTPv4KkOzld/sP0o076lUtNfnkI8zvNvVRJ5L3W8sZXUFKcHNykcyow7q21eFn5QLdewI70Lom1+JesQ4V1Pt+xZ85Tmr4izy7u2c4t9wXqE5IzQtJDVRV9TXy6jXvJ3IP2cGrPWozgjkzcNfFy8tvFWndqARHvPWH+gPoOv3epCnDuNp6xwxlaSlU+XYuZ6rLw/0W/kUnCWsWhS/MlTOt7DQXGOb1x2jkMHX5uFo+2ULQEtseZnGPqHOZOZ+o2ri0S1imcW8UoUf6VWyv8O+ZGC9pN4pZdDPjeWk6U5tDUhNAC9208hot4/cgE01UFlKEjbR8Q4L0hiqG5eJnl7BMcwDLoirlW6rlPcKfl6xwk7C0cvMdMtZC+zwiCtWEwXs+pxwFTw72L+9AyQ5q7jM1qsL8JfOuf+SRDuXX7zBFkmcK1D7ootZCgJy5HYJ+NAPttYzh9mIP342WJ1fMQe308zMeMuua7tpLxe19m6ls+TpR6pCCB0HAAp/UZlWoeYk0sAsdQZBTFkacaSxGIMbVckd2I8SfwreewhO8Ye2AE4W+Mo/KgYsPf4jk4fiOEY7g53LGMGVv35iw0ZOhgbBG/tjJ1Fn7vBNOZhNLnC32nsa2KbqzsSoCuW+gJUspTFtu/XW3qAwg8lki28jqyli+NmPEoIuv2F5jLeWbRTw8ZuZps/Onrca+VZBXNmeH0TeQQwvmMRxYZ4fmbGPhyG8ChncyCGOjV8DbGcaVP1j/OjKAa/Z/axG7KOZN6juPE2L8opp9xswVjB+E4+xl1Zn8n6Hrm+TyKp/BGSX3fRy/qb8+ubBB97/ZFHjFSyV7ZDORH0Uzmm+udLAZKTt1A1hTKiVhs++knzzR9tCdiSpsufJ1vUo9RmlsuhkiezOvxLpe22Jp579zaNWOCmD3fmzE+2I1k4yY8io8j9tD1E6wBIwqfj6bu9j6grcfasOCzasSgTcqmKERrlrzP2LbfHTHkvUs6VzDGk3GjgXGe7ufx0e/a5fXM/8ehppGbaPGZ5zjOI/Ial/qRotb+/v26daie4zn1l6oJIZ858p/3sdLkE94m53A2b5ISyoy8OjmMZ5CkGD95NBk3T5LJknp8TOScHTOPemaayQqznmTmSomoWIA/edmPZlbLkpS4S7lz1JFN+aJapcfJky2muC9Gfb9q9nu/GRcVU1w8GES734tRxOwbeVozlFqmRqfl4VAZsrTr5Sr8ZmGxP70/s3qQl4GVhgkuKLDYE3OLHIVKbctNwGGotc9F/5O3WQCpF5P7ifv/4o9LWgmtjXvXusQFJ7wFc3t5/i3eDPif8K4Z65AjgMfClS9Stf7/7WXbdsTBH7PmLSYE5rVyMMxEgwAOAoW+goSAi8u4wKXgdYUDj0UxhBpSw94NdtgaYRfPZHuS/OoALHcdyOS5g4nCdQj7uDlUdQIcRpzrjsDJ63oker5OcTe6KSSXpeBQ5z67ZPjeQNxwBLTZALhzswFxbT2M0zYESztfctHRaMSjRKecQAzbJxdFsAEbo1cEWLy3edjU2yG2kW93cfjsfMEl3XXFw94Nbw5K1uIPBHDObhNFlN7A4LrHRIB6z7BJ8NnrLRDpXrZCxNcPzyJXvRbPOFpeZ2fT9Rx+xIh9r70Y4E68t0kgsQrw8c44ov3+9CIK3zCa2YmtI0E+RvERbnELv5quWtWJurQISSpSBzeqA9BdVHCBdeJ4RHQLUyTNczqibbjtJWPnJ9xGfrGp7lEKjndWgKmzY2U0RIZd5m9TDZudirjopfoBEbCnUASKrq7eN29Y8CAqmYh7rDvzYlyJ29XB35i/+4hl0M5jOhJId7tk7IBGgpycbB2gFwIaHXt5MxWac1DBmeEXqfoCE6bd43j1DgfGDBkXZS9HvY7JwxHlnNederap2s8pfZGDXIj/8dxT4KlpLIGZaQSJrDFRb63ISSavJdmo+l+Jqm3AcX+bCx+9QgBDVrYHwcv/x9s6NtWRFB2E7HKRQ3mLXfOEAdwJM6QcQMpccKubp7Q8qnJE+/3pRa5zFhJ1ryu29LiWdXmWJILQYl68RfmtkClHUsmmSmqWUTAnnR0rkb6ojQOkMqlRQXEUgoi5ZjRWrFbFkPwtFBrLqEe9kPQ17BnNHHoFrtAx5FRz1IicwGE1QoYpkDMgr43a+lCnJ8HQSAUwCs4oGMJiHatyK6ltohMUa1vdyM53Te8LiJlpD6/WBopeAluaEoTtwj3tL73LxoaTdx9I6j0GwTfJ+4M2VO0ltG4xYUPzync+wiW8khER7cTZsIltFTjgjcBUQ03RDswlMq1KzB+CKqEF3iyVd166WawVzmO8CGtF3SnvmRDVMoQq/oau7K68g/nN7zX+mjPaZ+QHSQ8qesqX7KstOFu7SbmNqhWQKkgVrQoCj/sbWwtNoAqyC6W2NlZNjoJItVn9BUpyr8irg0A57uyh0m1Q5COlVShaVawNwicCIZe8a3obW5u3PVrsrdEDgXyUysxcfqCF878ROd+ERPP3gBwUKo3OcEqy6sx0YbFd3ThcnrsHj5546pnnXnj5T7q0PhYUzcD2FjpiULQmQoF4BxBrry3iIDtN3F4bKlye3X+3POZ4hMLx7OfMjgsmmnonnfCnZpecd8Fe++xA2k6JhS1YqFz57IU4GxFKizxvLVGhyjLLbbHV4ogjYWuRJnRhCnB8tNonDeR2W0FGYY21kbpoaZydUmenzVbFJbLI1TinLAq7lGP4fK97oaOrp29giEIbYYxNTM3MQSyuwRAJsQwdBhYKjieEQ4VF29rZOxCcnF1c3YgkMoVKozOYLDaHy+MLhCKxRCorUPQP7IBcAeokKFWRIqs1EbU6vcFoMlustn4+wuHh6YUOUFDR0FNHwcAsPRFWadg4uHj4BIRExCSkZOQUlF37CTVNDFq6mPQMscthjMXEzFKQNS4bOwcnFzcPLx+/QEVBIWGRbvvjf2LiKSUkpaRleosnK5cgoXx8BUUlZRVVNXUNTS1tHV09fQNdPWe90GuZMvQNDLs3atHYRfNAVstac2US2GY5W2bmFpZuWG6trDM46W8H7ZTDtekxqEteCy3Z8VsW2AtFYol7QCrrh1wBQsouVOouW+sX3JUGQTGcILUsNIgBB2NMwKuSmIbpMLoMaC2FbeCOMWXCvbIwG9vCynLgcO0wt7za16H8OlZQpworcqTiSiqtsw69dQEEAREJGQW19923XE4PGkvvoVXyMDCxsOUrwMF170qg/EqJSUjJ+s82is4IUUhF3RvbW9+eNrahbW2yA0hHz8DIxGxAC+2KQLxBcbKkKH9BKFlRUpUFsZ123lOrzoGPhqJdHzyBSCJTqDQ6g4sm2XkXl8e3SA6IpIR9ZXKFkgH1Nq0u2zllBGfn89vsDqcrO1zkk/sDwVA4ElWlyWRGVu/i2Vy+UCyVK1SpjlCTrbyr0+2ZI6uGozHvy+lsvrC4tLyyura+sbm1vbO7t39weMRMtmTn1AUDV+rGqmZr4Ml8eT0Y6uQMQXGc+QvZd3kScxY8XSg0EYl7cFD52hWJzsyctDJVlrO5rU5vMBWefb7kwtLKmbXRxtbOub2DC0eXTq5cu3HrmTv3HV4dRVTrvBrvHTQefnf6uLh21thHJJEpVBqdwWSxOVweXyAUiSVSmTsgVyhVao1WpzcYTWaL1WZ3+P0+Qm8fX0i704jaVVTNnvYnblq243r+T7zNsUNERSyyrwkpafbm5wSL1ljYo055gB7unfxYH254jDhnhQU+Ont7MPVBFAlsGn+8EL1pbk+avyS3H80/A42Qm0w2hPz29h/z4Upr0MqmFKsO1BQIhHKF9ZBJOWiWtMnWpfQc8oF9UFOtSupqNnUhIRhBUjQrzzVCCEqQFPvVKR5Ypmk9FbcWlbrVUR3oq4TYMJ/BTk2SZAwfPSOLa2EZN/PkwmfGdKKAkki2wlEUVHOxtXmGCTDdcop/dMcs3P71ZCEnT9rkEsfLp5Z3Dkr+lDTUIOVzVg02Nik6YsMSheYFmsaNDHf58Ti3v2m61704TGyL444iLSaFrA8vqmJRrETMiRUcl+JbC30b3bifCgPgD+/BXYde5h9wHVvOleN+5KLicGn12Qji+l5ctFDxAYlE5vIEZFkVN1zubRv8ycPl/aiptixVjGIP921eOqeJffJMykAnbVpmh7i9W4ZuYluFVorLsiKddOXZqk+frjpLzHCE/4gsKeDvcvxogv8smwrXw6iNYPMbvGKWc9W2y9tXkj9vXtxP8ImSj/8ZxfmB3A/L3NPf1q3DjxrwA5Aehnpqdl63/9TYYX6/7DwR35TD2P+IVAWjr8OFHz60qhpd6wRXBdVkQROgIiFbFDAoL4M/HMFoJH/0x9CMXxXm2Lgh/elz/3mNljPTIUzcgs6PqCD8JE9g1oGkVmd36mI36+xQmQ++5oF7CLNby80zprC8D6+qj+6TaVQBNcLUIMEsCv5oqPfHvfCPkajcGYw6JXh/xbrmGfy1iagWcF7B36yWor9760vHsZkFe4wcOfY9oslBGGkKkOSUX3Jy1LXzRWlS8aRc3p5LMbLBTBldROmrUPY4UYoKEk0OwvL0bhr3pxW0Ve1go08Mvu4bbg7eK4mBIcZNw0wM8wyi5fgk+KXzMMjNkoU+4psHG3MUEEss3zpxrTQ2YKvmFpEf653t8Wr3fN/2bTgMiQZBShhpNwdHnIIjru/6bij/eeqPN8wLHrWFvneYdGu+u3Pnnt/l7t8pQTgSjeJ0N+HRf1x9lMf+T7ek8JS8W8Kz1WeVkK9Shn8YxsQoJJEIghEUwwmSohmWJ+cEQAhGUAwnSIqW2TEplidXIwCEYATFcIKkaIblyTkCEIIRFMMJkqKTB0IQBNXLsLgbHiNDIiBuRxuqfM2UPV/JxBFAzVZQiWXtUJ0OPUjah24uSesC1smR1iRXqAfJldIKqiTunPNsMlJSn2ldLqrnSfImafDk6sYZFuVcuyTnVDkMJyBp2m663hioegmAyA7UVsGKWpxqlzgCw5ZRC4iMzpbJKugjifoBFJCkdQGlmlMMIG8FUk4CgkEEgiXoAOEBSSOBB0AIghFxVgAAAACwAhTB8OJP6GsHQlAMJyRdAAjBCIrhRJ49qoygGE6QFEAzLC/HboGswqkTAMIQhpMSriGnrkA6qFkVg6pD1KDtmBtBVKEG8bhEW3YMDUHpc7njHQqz34bw4Gzpvhwu0e8hOxU/8+klwAhO0CAAMRgl6ZBQaUcOY4L9YM748h+2/EMhTbfeP31YQ9O75SeWUDjYcqEglrbtsFqFySJOzCtCLOmoPVaX3ufEVxbrb5kKftTteCpF+7EPmMuP47PfYL+qxh4FP3bTcVotZR6KePIfVIhRxOL+rK6MeLvwBHX9730TmwKcgZgMjNS2r+ozOCHCWVdtsB+A+rC6mnechyLOzRWMUl2RXa59E+8jmhShurSjLkKtLpf+ik1Zd+OT7bhEAqWMnzAAISiGE5KWzkGd7sZoc6+UFHIwPBJrneHra7YgzGKJt6SGk8DSXyEe5Xq5sxkM/7dnbVCIOAD06+97Zmcq53tOFJhrZEK28bPw98gTE7KSmSdTfPhNjrXGyGFvD4sbs8tLEr/rCdnMItWEQTE6GvWLhZ5Mc26hlnANXb/fqDEhgzHMjKBi2ltcuhnIUqO98Dy77Vedqsk5+sM9HGPS0Vytpbxow79a/ipk0C7hzFCebx859I+MPzDugzunVtb+D79XVowST95f0oXakP4OAAAA\",\"type\":\"application/font-woff2\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/fonts/IBMPlexSerif-Medium.woff2\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/fonts/Shantell_Sans-Tldrawish.woff2\":{\"text\":\"d09GMgABAAAAAlWUABEAAAAF5IQAAlUwAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoV4G4bINhyB8X4GYACSKhEICoyrWInuDwu2AAABNgIkA7V8BCAFjFAHgZdhDAcXJBi1cluQKZUImUP21+4JCKCBOdVtCPCypZqp8v8eufC/ZOx9JgNxVS7zrNIxhg2mgKS3pIemgG77UlEyCiSdRyvCx9KRsv///////1tIFs+3bXYfzO67uD4ofkHkUBG1FLS0UssuUDGPKZcsag99kQdwMcSocW2MiY2O8qAeT4vS4MSaSraixVQhWCRx6rP5WV1knOdl6SMhpUX/dGVIKfbjum7K2BvLbjaMFIZN3JhNcZEuiyyx+66syjLelv6JwQYR5WiE67OEHXqL7Wm+ySKNh7UXG7dhe5OnJ7cFccHagm0zJqlQrBENFsKOZYbefQIp2+MiZp8Rd+IynSOqbYN7xZYwxeAjJRX1Yb8ULXaH69X9RR8Vk71KqhzrplMz7UHMW6Xp0SgqBnS4qQRhFBTcURqRKIzi8anU3KwuKBbaU98ulZXBNIeZ/OKYxCjpA8NEDCx/DTuMsaW0vXq4WivPL75U3F0zqt+IjXQ3tfcdd9oP0JR5wMzNhlMZk0qqZOjr27tKKlWpBVvzaNjL7CqpkoFVX4ufWraeVUr3c1f8l8qskh0yvH1oVc80w1BGV0mVDGboKKZnmsvYbdsAj1eGKmO3vD/Klbi9O9rZMqyEZ50dm+XwtoRaB29QUcW7WLoH/e7AsoOv+odOnX9oYjonDjLJx063AS/aCH+920zfPGpmFpq64F9wQu46C3Atw7vuv/5vrhXELpkWoGTcta+xIgMUhqg0OWKhakUY0cfmxC4aRhjzKILEGZkn0oV08/BifPTJH/qQn9rsW+nbQb42LrIxaY8QSQN0zb/qP2sJ2BYXNLQaEha3vAh8n7EgfR9XHp7Wb72ZNzM7uTOzMVFb+Xd/1u6PavifD3w+kUKLiWCAYDRWnliFemacnqfnGXlWnJ71/3+b1X1er0ShDCggnQqRNi/a6HT3iDKTNpjdZcVsTJg9Gf342oW1/PbXSFYlrIiRPgwcesXC//Oc7N0PG9mEMsskCjoeaaCZB92b823GKRGcCPBWkS3lRXZryEc6FYhod3ja5r+748gSQemWPkrEjFVor9R1uUq3H1Euov8qQnuA1uZ9dPN0fjc8VRItoiAqiBgYERg1s2ZUbUbVdP+/m367whppnX4TmWtz/5+mru2qGnnkPGrYhXNJIUIMAk71/UH27AOSEz4JYChgmPoostntB2UlgQJOZrqj/f3LJmEY5ZxQBgk1PU73wYpYZkEs3zJrs7euTTPr3nqjiAUrYsGK7/KtiAUrYsFyXLFgRSxYEcu3IBYseC/ID2LBCv7zNrP//P/uThD9eCkGTjndcCOkRzxA7THgs9vAY6B2A4CoQWohVEkq5lt17wkBVMdClfHjD4Aff1P6M8gjJATTGm6VyW3dTszh/9/lOmvBm5Vyvr3PDpNAQql1W9GUruMHgMl0sFho7kL/7foE6Wu8BDKOA4woxV05Pfjo94Pf2bPvfzSRrRSSmE1nqF4LnkikRoiWzO9CRGNt/p8qVWwRkZtFLJIsqYZEI0dqMBugafOSu5h4m6RJ6xcRb9pUzL9vwjs8oo/Y4HlgiMjAt8Ew3dAZPoPn+v9Op0mer3m+73ueO9c7zhjXda0vK2manSRPkiadnaRZSZp8q0nT2Ul2kqaz1lorSVZWkj1JkiTNTtJkpUmaJGmSJmmSpEmTJFlNdr73svY4E87aqeQUdrpn8+tev86mCpZBGZ21Owefsn/ALP2XoDwzlgtQB7AAtARYAkR1MzhVHQWRAtJtdGN6OecrtmLJetFxHuCjfJDPQc/1/FdTXUD+Ih8IHHgpvr/tf6CJahQFHEVJNQfbYGDZujdUUZGqsVwbIDf9P6u2UZMoQwEriIcRJ8MoONtEfalmVLR54EAUzfgZrXNkuLACCmKGK3FsdEdN8ma+7hgRTdqAo0tQzPAlKpC0OQrYWcmLDGaHOnAt4HlU1SBofbeTJd59vHiC8FiDwwgMwgmUvOPTaQ9X+EcZ0bJ2KiTeUsvVZUsp59/FNbk2ikASIo6QHpJAxBYgRF2zxixgmDfPTNPEuKkUGLCIjKcvOoOiMDRTYw/5DPC/2vwvad+0f2v72U4/VSO1citbV77XSCAbG9ssCQbzAiFkhbxlkpknEMTT/h5+9qyuH/wFRYamEn+pDC2PPe339dbBbr70gGd49wOTC6CLi7Cgyfg4BahkFu/jBe4N2Eqa9ErPPBD8NByOhsPFBARwzA7YhwMe2KgqPjLPYm30f5hroeKaVwsMcdVuKOyjKQja03/3f+XWP71t3tt5Po1V3begeiTbKCBmHAVBJ6SqLtOE/rwUVz8k3f7FfgK6mpDwB0NCJgVGqrt/+OndspnfpL2vl8ybvAlZCUyAlRNaeuq/pOnCCjlaP87l975rrIidsRUTgG2w92ElXTbNFBBGe7U93hlWoj572s+5PyNjUQYBjiyuwG5uQoXNjh+UtYHdZuUNdh9WEKg4ZTAisVD3bgzADdg8dOWMxf5NRpNnMpo8kxFYdGy0aOUMbY6Rwz6QcrsAyqSgzJjh/f+bhVEYdaIw6t3xti9KFcCAD839Oj9U8FDEk2i13Q7JREpYHSlCyN/1CRKVEBhXg1PeLYYHDG250PKrE3cA22DjLizw/zPT3rQfmi0RgAxq8Q0py5If+e9ygHIWuz7TURJt1eueYtXtmjlEA4s/U9PEEfFdo4kDgUOuwzdoDLjCDLjn73oaGeOC5C/k+D1lbfRjKVOQ2CBRqCRUEERKIvHwdf9M73aAXt8FTyTFt1HNTnTlziyV/WwxpybAKJ7/9+abvH+BBgOiNPuGnVwyTYQS7v9Xtd72PTyAaaSNWf9/h1jUAAjK2lk5585FBbwL4Ip4BPmHFEeTtLMhBlw8ACRBSqvRbJh1SLkpfH7RuSrdVC6b2eOi8XFR/qp0qtwZ/r+W9Unf+d0ZW7nRgzfEJmUc2gFMxkL2K7NqUq+qbm/k/ik5i1rGIuN6/kSo1hskxIyFEmICgAqer6UZ7an+T9tVmu+YBZ1Q4KNFhhnxqdUEpb+5nQc5xkuJrZlOyHfI9AA7mPPfm2q27wPk6e+SlBbkhWW40YJy2FVckJxxeymlyhEAwQAqkpehi6SDlElQKZHDg+RMySmlXQbdAqR1C5J3psBLCgnKoCN4IVdOOfA6lTeurnRRqpTLA0UHwJF0yFXt0kWp0kXpogw5doVLQ///2sr0X97sJKpRgs5EHSRhw3hB1XiTN3gRVuS/t1mW9htZZbX3G2SUzSqfqkaH03dBcg6yo8qvcgy7X7dWev0FtLZaPaCRDNOa2bJgSTMmjQEhOuAIaFq9JMnUyxQdEKZAocNLAopz4OguCC+IUsDoCKoTxyOJJU8LhLnSB78nN1ORBMCCxWK19f9/qlI93b4MOTpHr1NlFWqoARQ0ZNaXXOf7+nVsR9moDpqoQe2GE5WxFJb1tCCQgOe/3ZPeM0mki7ltRX8eURj+dV0/XH6z77lZuRL3x+04vrBYlUmuZZfWZS2hlCJPgvtCnuMcoUf+szgF/PPvm/aZnj1yhWwo+ax2xhsyyCQf5Qoi3CoSrx9esx1EzQer+7cbd0m5Yo3DpwwummNIRT+T9Zmx2VTjOzTG1UAOAzmOsZGMsVkvRVKQyX9cWlL79LSaq5OKGm0Evf/TDdn90ey/Ml7nSndKKahLSnXQ7KK9Q4EBDIf4d8cHqf+19kA84MBDr5As/qm/Jyv/VQEfe9fyBM8qpWVHZGVwBTv0z5gs9Orx/AzzWIiW7jRKFdz8xnpALFtM04XiAvaGsFIpexBNpw7iOLY9PSGjAm4EHA6GCeSSy6EmHPiD+Lq///9ps7ZfVWAXHaFTXk3YdS92NhPScqN/n1SS3lOVq76ELUsFxhJ4oMA9IIFDYfcBhzOFI+2elIIHJufdKu4XA9/bsqQz99VqHUzRAZVN2L0DaBmeDfHrkFFqgKyBTgFtMUNDQ0P/daKurEjECn5T5ILEoKCRYGc6bSKqd//9ggCGXKSTWqCw5fzLF1KVvuMofWlVXlDkvPogEQpfh/r95xGTbYl2E/U44uD3w+n7cEc2oC5IoJZOTHm++daTOrege2ayPopGJMIYYRx/ZVk2v/P5vvpUmO9ni9XKVaJERESJiBKld9/+Z2Z9Nz9qkkBeYwoJIiIiQYJzlsdutfxq9/yCT9q31znGWDGqulVRURFRNaLmHR9/e+78xTsrs7sE345bpDgppYQSSgghhNBdsq/T76L3//92QvLeP/f+t2PbIiLmjRFttNbaUpaylBJbPKLfb4SWSRsNIiKfxyKGC+niAF/XP++/631+RBwR2zZGK6UspcVDFQ4DOLjBRUrknE1aKtzwUzPqOaFGQBybV9iKtmxJtjPM4yxWh5mNvT7O+b87MuaLBpRDiO2xNO3W0abYTvK6V+wrLttVWAmJNgwDjBB++f705xiJzkiQzn/vKwmWLT+4kD5pIQZsY+1qtwWJ4SxhR5mY0f67kW02G06p/Y42gtSAkmBSpfb43iTbUgtlcLLjzN3jtS3FtmQQxilXekoDBLdUrI3HsNXWDAZLGQ7/HyMWUjiBAPQNKRcotQPq1Ado0CCgYROApvIHSCsIILNQgJyiASYVBzC1BIDppQDMLgNgQXkAKyoFWFMlwIY6AA7pDXDMWIDzJgJcNBXgmvkANy0GeGgzwBM7AV45CvC5S4jv/Yf41SPEf70CGhrFACs1HmBlJwCswsSAVZsUsBpTAFZ3WsAaTA9Y09kBazUvYG0XAKzDQoB1mx6wPrMC1n8OwAbOBdjgeQEbNj9gIxcEbOzyAWBVmSdE0/KGaGFhEHXVBfKgSwN5dPIgX7kksB/ZPMivbgvkD3YA8pdDgPz9WkHeuW5khWLIgWgIHUF6YIKMAAYZhxhkiqNBKr4LWcOPkM1Zh+zAOWRP3iEHCw1xopQQV6oMcbveIE+bC/KWlSAf2w3ypavQHx5DiRNEEIKHOwQLwxDcrEOI8g2hJDKEhswQBkpD2FsawsfuIMKJCSKexCBSSQ8in5IgqhgfYsrGEDsOh4BDDF37OPQaMEOG4IJQRPGHxJJuSKJhQ/pQckhfqg7Jpa0h+RkQpHAjgxRrfJASTQ5SuplBKrAoSGXWBQkqLMiQg4OARqAXiKDKzDLPFoxUmTOg/fPGBAK60UMmsihOAuTRG2TRnw4WWdm776Cz+vdYstlikG1+J9gs/j4LKst5XxmVlYADjOtBAeNmSOQRx7MWPK1AXAvQ9nq03ggATIIw4owTOP2pC/9s9gWsfTlCTLyZRuLtyOxJTIK00K/pl/WfhAtMzcSLcCdeHg/EKwMi3hgP8VZYvDXrp2tfeXdPOV386W53DRzOFn+yQDyMD9jUxICy1ZpYHqXYnJVf/1mmAFIPzoRcK6yw65apGrzNrwmIhc1jOlbjWLSC21vZQuBe+s19MFtm9dzuebLhPkEgO7vjHmTsZFBf2Dg6+3/ucEzGfKzGjvBFEIh6VWeRVdbZZJd9jjnlDCbWz43LbUiT88RpdTUPJqDwCtETC15ZG/zxNaIcP1eBwlvwX/7ORCy4c23wszQixTd7VugNTaaRNDae/LagcBcCwODX9MnCr8df4beCBl/XxF/14MH7Qy/So5tPgwy+S4xhMPgNMDv7twBg2yH+LuO6L3qVKlf9kbt8Vr4ly08BCla4ohRLLgVUUEk1tdRRT4Ma1aSWQv2aG/cN1SjWPhfXCZ3SaV3QRV3WVV3TLd3WHT3UIz3WEz3Vc73oXnm2TvWie+vWnPMCMUFEElUsMJdIiZYYiI04JSRtGclEVnKQm/wUoiTlqVC/aAN4K3VRP43QuP5pVkta1Z5OdKFr/dezURmn2S2FVyE+/p6rcHXTMX37ZCZmblZma7/MyVyV/bL5rFR4DA9fzzyiUT7ytWWVDiWrO+jzfO0Kw1rUpGOqmUHbUy+5bIuNam7/CaMBZEyAJEQVyFskul4JdWRi1COVgRbe7sK0sq7BfL3yV+HAIcqWLKmXkyUK6DWmusXoqXrW7Lzl/Xa94GhqzpbV5aoV3pYcrFXXKfj8snEEMa0ebkXqvKW6ANJwsmI1SULwzC15Wqt4K3pbYtBq82223ama640iGZHtT+o9gGvRqtVvVuu1KfA9IoQl61/bZu84lqxUNyD2ubWB6YhGE83ssf71fWNBDXT7rFmnNovY329O40z28nGvmCzI5LZwey3uLjYB6dES1TZEm7SW/Rs/8G2zWTLrtE5ZsjSWrkCL0V2y9GIxPgeL9jw/nYPjOwVJCm3lBy1ClaoU4pj8kuVf3EoppMgcH+mu4IFHWjTbO6KBaEniNBEC/JW9ddoLAhGeeEBMMeEJ8eXcZmW7RGmXiL5m36NO6hS4QvIkz3m9060DC67jaWqEPL+FJVnxmIrXHoYc0qXKpm0daQyY7PLFeo9g31+vWuTuDG7DGjTwX4Z6VPoEPCFDGadpT8CapTVYaSvrVrMKq5RLwwqVIfOp9Qe+7I9I/bl5l/VP6YQ1tMbmbE1HrbNoPdH1/sFWv4RfUZPQrfVti4H2odYQSutMTlmwqEOGJqpJWcQ4346IiPmt095yei3otwVbYEMEEEv7HoOTd4nW1V1e14jeMfxXS/mPqfTwhB6DPGzlU+gCC+ZSEDerWyC9ajFCpdnndcjVJQC96rwk0cKNY00SnNzTFdO2TrrnSxWTttoEMqP2uJn0+BbcpqfAeg/AgxbAnxBE7K/5eJ1HNZ+ldZ4M36UStM6L4RrloO/Z2v53HjJpj3R0RSPkKFlMfsHN7PzIz0XrgIZclMA6BEy2FadCjGhpdY8IsPMEEyg9Ck85PsljKMWnkzyzSnv7xmaWXSKpRdS+utShTW/kKGMUWPRFxGEq0uVG9WNQiuYttDhhzo26vPPgC1751LuadJmsjblblz03Sh2JBD03auKtxAiW8jI/HsrfETBBDbSqM+Q6hENECIQDdrtOOHGDib+9aHXP+vYP0rU2G0nKG5dSlFourarxyVtV3qjOh6zo4VYBJeyUkRNUzzgPOgpV1iyc2stMhEQxr76t5e47YIWIan6ynq11nZhZk10lUFziqT1qHKaoMTK8ZPXRGflcPVJ/vuF06olV7aReeGx7wPXt7PG+Xdwa+3yxge8g0JzZQHB/WcyxWNBsdvP6dxm7NaVpTGd6E3B8uxSxlKXmvCbIPvZUxtrg0F3NPv4zkwHQZDUc+IiSFCAr8cAjDVqpQ+4Gw++hGqMkVnJ482kxZ8nGdp3vxWHAxCV2u+6c1ELkkndE4Uo/Ii6czj35wZUfHMGSCXtvKzk65qPmK/KgxhkNIZHJVWgN6XIZ3YCJS+zltPqEcXCez9YjSoI0WQqUqVDjiX543nXrSa7+gbB6umHP3eyOWtta1JmuZ4zTnFfGFSgu95yvBigmEY7YqRfJwOf945tywZFi8McTCEE8IFpBolDHmdEhzK8qULpTi7tBCoTzT9l611ko+n1TpU6T9sNT9e4/cmbEhHcWrO2zJVgQ2YcGEwguAsTIOEWJBh16jFhOtnTkjXSbd+lLwYxkPKUyk/m3L+WU85Aes5Gt1MmXfPW3HXNfFpu0o7EHCQp0DoDhIUTCMXJUaJ8ROdUeTtxg+AkRfbaJRDo9j+7IpuEYj8IvlEdl1Ojz7VlP2tDXLC0fOKzg3eCrTluaAATIUB/udT1OUKDmjHMuMD+t9cR6eAkQJkYSfLwNzJLDfe9nZn02Z1vqzcEcpcl8nwtfd/qkBUI87nvBwygwAxS4JviIJebL+KdJuTRLl/TLuCzJt/LL9vYP65Hj+NHNul13Uggq0lLx5CmeuQql9EKrkVq0Orz4a3hjypwlG9v5PbadaPbIjlErbHYh50UHOcAIkdhxewwwcYmd6+SkfXmy7+stl1Rbu5FvGrZJ6o7oTx/zsXJ3+urJD/do3V3GuzHsyWePesEfQksUdZaQ9gLKVFKN/kA9ZXteb7BmtHR3e3TpM/RxMcvv1ZKUli1dHEADKax2k4drCzzURBd/PhxC+ymg5ozzdEGHjNdQTf3L/QmgwE8kUkcwaD52WLfAr4B82SWcwZBXMz2cVsZ/4pydc8k7R/qxBK7cx7iynQXBqdino6awLviVNxRGBI5mACGwxUqWvMDJUeSeKvWe9YzNt4kKVbvPO6O75erO1c6iWNtnu2BDZB8aTCC4CBAj254CSnRBgz4Zr+XakuPe3Nt0d303lTr35Zbe1dudWrbUPJa5eX/Ijx5v47Za969nM/Xo3fUNCQp0DoDhIUTCMXJUaJ8VMvM93BvM2tXqJLwQpa+QpZz6z/CppNnz8dROT8/zs6oEED1bByL0rm5tGN+l5hWJrr5hQIAMFQbnsODAR4T0GU9msocZKy5dxYAmDxEFbwgsYWsffsnDL9d+VV4vmsC0c3COluNdgV7g4uaRT8Aqyd8s3p6aZ+qvUt9cg1dtR/S+7kJ54xHS1ifZlBxbm3z6ebimPbtqdAJ2uxmdGczbSeeMw8S9Hy8xh+pV4airlTaIDQ7/PGXCkgPlHryTxT2Vbl+onmzLnL7Z5hmWfb6wdb+nP4rY1YQBccSJg6n7+ZgyFfhU3JN3kMKEuFev8EzLvGpZKZjXrMvOwoAtfJK2eFFbv923kLW8WZOPclQDLg30noVFHLvPLGNUKZwuxXOYhs7rKZVc8JqOn/f53j8/BFFwWIgRM51HzipmPXxaOe0wFgzMx7o+DgJSGab8cheugOVOjrWsVy5s1BQTnVenE0d1zsj1qP3sFt2unwOWUkzIpu4D3El+UpGbObnaz4gKKCHtjrnOKMieC1kzmMLF7LxPAgy3jffQ/h0oKB8Mrk3c/UzDw59/WE2ycLeh6wPnZszOUoC8O1k9RA/lvtgDGpLJMbAR3E9qqKA1779zTD25UDjk6O8CWwWgVxViVfdkUcmmxCq13a6cnJUMAcq0x02U7t35WYjM06etuW/Peeq8CHK5Iz/qrns/EyvIndlj8DgZWE/u7QyuFzbf4Gx65hvdcg4y0De5U5UKTrF1PXmCN3v2RYLspiIVoLwloreNgURahLu43jMVlNTZRdWg47kMurXKfIlNbZ4str6w5z6j/Ha8hopWgKd3W1Xsjqa+npYXM4mTcK3bXnP2X4CxLYO0z9ktp2rObTTDRG4TI0zGEswP6kg5Xh3MPkcKhFg9+O21NWn5ix8H/GQKEk5clv2NG5O1ne8Xu7zzPEDKtHh47u5WCqigg/SC+oOUdRB9tOj8mNirqpXwF1a+8WcR0ySaRQswOlLbAhpFJ+v7GovsiFnQnH1i2bwC3Fu0AayMmufcUMsZDPSQ/Kc8uqSSc1LI7GVRl9G/P2ZQW9lmPwoKsnjY4cPnHMib4uP/Ill83ndzq8wGGvOeUnAcVf7WwugCvK6AC2wWz6sDVRKbIYpe5U+FzUEI4Ke92+lJypoJSZ1RgnWFjaG6xxwwxdZCPY+dUT10nXHblk0lNhLZJqzZrLWHvknFIipkdigTjDdbSFQLXIXI7Wniim/ng7Q9eYFxaTb7ZsDMBSaDkeolAg30ehMoCNmiKaljXv0CXo4SdkjUyo/PNh63IwaAvdvWV3N8tP2sz6mn0HPMElDPrxZgATbU7MaTmXA9lVAfKyDl03S0/7QMKuU2r9rRtGgF2G1PzvRPGYsWI/fuJZGmaZoBt2l5Fdv3N3+fGQ3hpkW1zg96qJlU/MOFjMvnitsNi28aO6MwY5nfMFp23gKpGjk7b8MzulW5UCY6yHa5ME/JUC5yoneZvah74Rq7eIFs0OvpKVfIGQatAd0naP9RtnA51C6r/lkNvqKmnS4Zo4I1pTw1rwJrfuedD9Pz6hxDOx+nE+p081G68XTw7lmXGAEYRzOhMipcwZpGP8CZUANrevXHD6xLbaSIXC6Ei9c3S+vjiwU6TJpKuzcvNQ4WKN4XyD5b5FT1xovC9M7q4JxQs3XD7dgiSwoPqPWv775AsATT0nJgTMGsgGFNLkT7hMkF2HiEbuKC27nPdIVH38ZDNoUNVa1RfGE71IrqV0RftH4t1C/RJiONPQ4Ov69dkyAFTEDnzyU4vjz/ul8ROUlhekO4S0p1SaRL6DOcKy+lFhqlr9IpkKZ1QMPRHtWIynVCLWUo3KZ1yZzZH+qhE32WOeClDmtfU25cKZzF1myMK/RypU1HEzC3ocW2WGiVHIulWS5zBlXC5OMBoYGmCsAAmaWC4gOhb9FEcelVERhkG8rUFuPInHkUj8OE8dKNSfMgH44jmN04A5mSyCHat8HTeTkZW6tFwfpVTgkeo2uwWNA1y63s/PuvDmtMfiX1mOOMpv/+6Sky/C8eQ2335l7fGEDg9X0Ps1vq2wc8agI7BbpBk9MeCEa3xckG7nDZDlcGWgUheszE95Nl8jhf+6kND5zHa+3j/ZEhejykDpdNiERofZFAYlt7BrZkZesv2GtsfBDEBPLMWRfqLKV3e49AQuabdOGdNw/mruzXepJztYb4bsoSy14NllRZVqho5Vru4zoGcdNp4/Ld/Xn9QjZM7VbZDG6mQpWvbrK9IE4qko6chwY6ert5sIAf+4M1HrQ+ooFDBXm1Od3djJzlbzUwxWBsEtCprvUk9i/AMxl0pAnel3F9XACS0n/OSSJkjwjTM/9TdGpAGEkLu+0zld1aYQ+Qe7jA6nitTL5HM75jX3Zljt8lp62gT9oM6zx27/ezdR98y5Fw4OpvSh9l50G6ceswB8rGMTBflts6XS+b326TCLox7iaOd+1V54Ezqijk9FmUMX80QZ0mu8kS1um1LOzcYO9ZHenmbLs8bWPzzJxHV3lkrKM8Y2vx1IKn194e1H+AP8wBX8x1NCcvAdabyl944Q9uhiMv+sgibIHw9LbYQcDjO2UrqiVEhoOl4RbZftw8s0oMsI/dCYBwiraz79gzhvXYxRW3u5jCkPow8zoIssVnldmPokJ1pvLt1Vb+OuawGaqgp6vs/3jo6lb7VtN4O7vsM8eag+x+zuW8dnVw9CI4tM/tCpyjl2CVjH3kbJOwzihxnQXTnvk8PTdb1J4lp7CEOX2abjdu12pkvOZwy8ZtSaV7vZ59nXMhw/5Nao5KpN0hWYd4s7unz2jk148TuKcjGS4NWCD3ROyxfXTowSMxQYpeKqiAUru3z9tfgl78NbuxOHJnbESUJxYkwB/JBkVTsOYko6ZuMZ/PoCBIEGeD8+Ew9w8ug53bARtADm+3YBB1rLfR4bT7lqWn7SRPrUoHds+Dcrf+YEBd5xEWhGhLAxsD3FBQI/p05lyemhesKAeYH5wfAbtxrS8v18IAwScMqjDVvhA/dTr25wAOjv/t6TOYz9x4rR9iXBQp4CGgBi6ExSWRElYSHaHCPWHALXbsOxGNgwMTZfGeHbz+l2lFopGBYZYgCWJuCRiQcFQcoKBalpPjjCRSBFQxjRABRQaFIHgTA4AJBjHyK/9oQO1nGE8bh32zHPNiyzNB017MzLH7jmQ40pUtZG1CkDbguYfDdLYNX9a/G6s2X9ukeq+hrgYAL8utP/pQjG1KLHF4kQ2h2X2roTjvmcXdA+K7R8jpI8Ugyc8EcgmLv2wEhgCKQV2XDwDKXOD345E8yuERyqQg3K70pzn04Pu29LBpFsaPwsP+5SKEOqXy8iO5qLBdKFTWNBdL0nT9gXyiMrNLf6qkeYGeVedkD1/HoeKi/BTcOK0EpbPhi+gyA6u5M0zk4Ce9IPUVeVpn9bXNG0IQMe/UrZNwUQlOEenRjAgyLCES7aRkMNV9pCgFmpZ3xrFBShj4X0rCGt1TwaWd3VV+PwrK4mWdr8oo5OU40nJM2y+MObyKUQp2+cgJruYc4UBJVHWnBHyuVTA7BTWazuDWGDQEoEEY6akIMm5+rP5aDlDwC+eciB0WDFrIxVYXYGpniPEStFSJOCcoiN4OBNilZBcVDWmTfQjyVwFsG+hgcazXpZWoF8wsFR9MXQ4TQ7ElrTANxRofQMS+FW97roC2GOz4VoiA3KIAghDqoLlWTzpD0JQsVpUE1M648ydvlE5LVjtxkvJ8a+e2fUhjKwNLmCMwerroCYe9OxAQEIMojNO2NYyvmiQW3A1LEHUqobRQLT1trG9qWQSoXboFe1wKRWoDBGmI4ivOoxyysIuwysroHCISccGnNo2LnO02yAXwc2qQnRmcaxL6VXggJzEV+Ns6TTq0JkUluTpa8EClymExW+i2A4uLh4R+2J0YQgFFJmt4WESwvkyiiuSYBgo1+DIQ4BABkiGs3PpuwDMFLp5bISpOgcUl/QRqWrO6q5E6hnIIDkZKmrt55EocyXw9IN7cousScWyN5CrmPFX8SCx4JYWdGctn9J2SLFRkKnSI59aYBqgwrT8ViWyII/MaCYxeVbwZT4YsxZ5jFNiKMyKVPxx70cBSSxEhyd90G34auCioKVfAlpwdNiQishmD7ZMRTwtj+4LRKNEs9stTLC3N2Hks3yFJgB1hqI6hgksgNale2hZPHAklJalEACT0boJ2A6mNmOR3ikgAwe8AXpqLHFdfEaiZusKJyDBk7vrXV4SNgW8zcF5e9hAebVlY10U0znGFiwF0MnKTxhIN8h1gNXym6guJBYYTOSwtmwV1KIwXOdlfFlgGb4qMurAX6+Sw8hcdoxie8vOGtbh3QR4BbsFL9QhNIoFf26F2yO8ibVsVSgQkA5GywQ5Jz86kZL4Rq4gTAy62YSYs5KQX+MJEUpQIcWUpjoEpI7tUFlQgTx2oE5j1huVFKwv4nu1klNkJsGQnGYHwvX1ZOlJAQHz06tnOdTZHAupNzQMGrWfGQ1MQ1frDhikOMxD8jR5toRQA0H0gyJbqJ6wFG5NdjQ62tdrVs1rhCf7+Q+j8SkybX4pircNXljj0De/AhWgZTXHNhMcpQ7gZqEDMAXSepntW6kwWag6J1uz0EmAWAVhB337XUsDU6gbYeKaUDwv85JXbHojp7kuhwiE83w/f4FFhzMs6TBGbQgJUzA+wMBBgdMX2ET3opGE2IlOQ0xW05kyDzXFXjGCVIIH9j3VELBGClnR8G3TSHAONo/uG9uyyKHzDwwc0YlxBJoET0q+m+RZYA4kYVFRYX3gnxVQMM1XJ4CTq9L8MSswRkDsLjBbOQMTUiBFRAINQXESKBTABlaCh4gyohLHpoRgpEWSWTzW3/XxEhHm+d525NKdaZ9vJxulFD4J9pB/NAByu+BWL4dBxWVqN0alOLVazu7MtYoYzPZcMBnh0+9LqWTWYNziPoToi2s/F3me56HpMA95GHCtwpstnEljSv97TeaIbA9EM8s588vPgJYvRnuUpsRka0QJSLxMBw1/e9q2lMmJ72ZoOgj/SCXx16YT9Vc/QSdZBb7h5l0ze9yqhXVGak4kd0JvUw1XHgSrBirWBdSqKUjBKrgTGJLypXMW2cT1Vo0MSgmhzAN2QMpQgkSUv4h8piQbpbqDMDz4SuJ1jOAA4Zz7dTCsAUhHJXeKK/iaaFInfLR4OPEC6CIBISkuMyB9ZxkNgK1+ERbrucBF4FIVM6ZdxGbMkyNU6TZ3ICkLu4Yu7NnbSPmEG8YniGz508YCvsYwDM+Ej9cCGLiQxYY+sRwOyB8eH2Cgg8RAdjivq8bsrYCx7U+sGwCN26METBi3lmG5wrHcjDwLFKZ4stQ9qRJApR+uusRE8l1nmSLtdOgif/0ZqXpiuo81pPkz53mZG3FwK3tQKJ824Wa9bCx8qTM4TSNRSuck61LMbH3S07tLXaTlKA6c5YIgaKuyJ+uqmhwzH2OTSBGPr2CpmyUzhJfeqzGRtlDLKRkOVifxHOXPH1g+h9ZI85O1pp24JC9W2wLoA55yONkq5l1yWWZ7vKTOWBlEU9UfABOp+6PAmlvihQopC1KFklkcxqZEk0XzrU2P1FJwRVDZUXhspNo1ihT2moEnmtHJO9W5FZ9YiYnZfouZDJVwusmWGCJtVAsA81OmCgyLFBOZg7stI641rYCs7kV9vzkhcIRxV82Q8EGJKKmcRpUAUcEo2j5QcscoZlYggoo3TBwkzoVN2GDw6obKJRD9kVX3qVG6r1nng2jDmGdmu0tEQQQbZqulXRdtFI07bY/my5FxPFYlcQ6WwLjGdkjXNTNQEz4xqIXkfbiau2/A/b8ucqofT4cY54+dHYZGMvCEzrpoXAM+qtHoODpzhnfJDHiPmTjRECrVkJgVzaWW04vqI7BhZtdkevOgSIA8JQggDqQCXeHAzyjSSb7ompXp8zHPYNntJRltD4c7tOXXk37YQbpdFku0CL6EQClyozgOgOo79qa0i9waPaogYWyDkXen6G2Bhwg6SBDar0iTo0T2ydDU2JTi2swFgGeiFMdlSigl1NWCxhuNMD8Nc6SWKCE/GHMBjwdHMaJs2lhlCvhYS5iwKe9ZQ6SDgQwXEsesi9ljQveIoh4EcUPW0NLzWXImMhTAvx1m1xYpXmWBLQWz2z8ANQ2ignbsMrVGGs4LAJoT9Jb+BuxZH0Wxlgt1YhoLw0xf19xGIzEd6T/m9LV+WKCWMuR4j6FnDZB77QO8x8Z3gkPStwnHIHsCw5H259wAJE2VpIuR3jZ5yMDQfHySohK7Lu71LUWKqzQYKxOvq5aTMwqEIdJs+hhkyadHNvpdrT8nfhjHbEqzlQH4lCOMS+NqENKVBdUHfADDg6OKpwfdH5dQWnRJ8VmbXZV2FWQcwI4OeRXOZaaDeHz4GcqT90pXgdmiMvxnhOda3vxfXKblWG6qbe6/rE4sT4sB4UKk0fIdoEOHDMiRggEKkqiGBeLQmnN1kG2QW4yIRFKdG3/foaUY31B52bTLqt2CZ9gHHkUjVPYMjXuRxwUsiFgr81TtOCYT+Jh8d4OzUQVqTxQwompcGuXqX4CN+Pxc1Qafq+z+E8taxiSe7e4bOHNeG2l8964WXZogQuBeVI5kMPg3yyts6k+c3KIzPtLe7r2ae67yO/oyj3dAughCDPck8XuItKmJQi23nIj+/z7ej+fv67H4yIo5uXel9UqDkt/Gvzla1IUBDFQHY/RRlCKGtsTSZqzO/YyOqtBX8lIvyBm1XOVvk0I7mrjNlZOcJYsVDzsRlaB2GrL0AOUK5toyT4wjxircWQ5cctjr6HgIHZhPSWKe7eBRULQ6QQie3Dr13TaLLypTBvG0PPfQRzU/ft5Y3j7MWf8Qe2dBy5tDYvqCRDxHL7K0Ton/Ksrd8V8niCs4t8ZrnNiIGo1LOgyPvnUC2PRu9puNjfeCl5y2DeiXrneCSGcfUR/kHs1t++k2Pgnc0WKchFI1d1s0ql/0YMN2o/v9e4yi6Nlb7UQ0ISwZBRh5c3BVn35NRAuARa6fu7baYaaXv8imxDMYjs0HWQogYZ6XER0pOxF0GGbCyIMD7i8quYKPUBeCeTXGrePBG7Nw6HU7bfc1DbMznL/xpfHECSTbFoESsLm4ujSIQ2mo9T4rU3qhf8cRSfGywlbBO0wAPrmKxo9VUMUi9WJJdXke8PV4oZCwMbLofzHjJZQ4hJZcMIdZbGCHzTmoJCKDwDCEGV4jDAKHPNZoExxOSucO/TmloTLrJaeJoyBXpjXtARcBl6GU38SJ8za1A8iB5yhpgDdFw2mLXwPMmZnyS3W0TkpnQyDMuji9MRoLhThsCv3U9CU3eahwDpIDmo8wA0FXLaNtPjXUX3jCXzFsYb3mik8YRscXXGYEEzgq7bFLQ2nZFLnoakpeO9EY95TRG8DTOGeqdN8j3BNg/kn50MeicO2Ya4eni3/bugws8mG/qjZrH1m9SewvIXRi7Y6JnPcQ8R78tcsMwWwwbOJBY0ErSUzc0W9qv9A3RBeYqVgyYqOTMxFtlcvhhI84OuAXUOR5FBeIKOmRaC7ip7exrNYkVT6j1OFGoeqbOuo3knIR3iZtRNH49g2amMU95a5KGW2WI9EH5tQEm82mGdNqO8XwxjO0jeRM93A/qrWEih4gaQagYYCndDf5rLnJvrKLu8IDTnR/96DKyLdozVNTddnAve/BupMAOiUXpOroWT4t5g+IDej5nvGoe/BUwEQziKl9MfyFe8fYT8skJxVjgkmQUd5Zm0kdsVCsqAVF73FinKeCaHpvgjpancM1fm6BPjy8FsfRG5a+9U08M1fnRh0HlH1zpCBpYlHZCIDReB0Ec31tX4vppWzPCty/5hnUxBEkzXl3c+qjBjJ6VQ8Y8LpTVh3Vkz6Fxya1aiRJwG2agbEk8T6sXYxqwudLFBGiMomWFu/HU++tnq437eE8oiwsNz9irN9uOJThY0xCX8LshDOS8dUBCN4Dz5+i10Zd6DDsWbI+PT7OJpc845p77rG2B7nZuzZ5aIh9O/J5f37eiWMn4tW4XoajHNhq9pX/3sgdtWLcC6+w2+p1CXwaUWM5q+gn1Myn4RmG0sCNVYc4hOB7GbaOhc4yJqQLFevI2L/cp3Q13zCYMooxZ+UEMFicbmlI3KxyeOK55Z4Mqcu8Axo4RRPa0pmhCa80129E1PEJ32fEoL143q6QKwpt5zotbn5jHlFe6q4PpQFv3lWEnHlb7Xx5067FJ2998nS0MHtbz0Fhk7ruahSN51zb0KwYiSjkZTuJpcNLgU4G10ReYL0oHIQVYlQ/U1YTSPPwqT7I1Uci+l7ySLaM0GFQCe/jhFTsMvjLZ5o0HCMrcdetuXpCYv+/bDmcZGBt6dmaJlcMmOAwks9r3tDu75OQDzczw2EVXQ/3TxVeY/LbFNzX9C3fTWgxlqhx6X+8N6/Isyky3bKb51DgHFEC3ufKfBqowpkAWrQPuMfdSWhDL6e4E+THy0u2ymUiyk/MjbY7B88+F1GCV51bo1SmqZJRuiHABK/RLKkWn5qe007WMx/6Eg7ORKbAyH30di3AxBCLpqoxgnLeC5+qkX5VFWGgrMjSxEzfq8kB83305btmDJvtMj8bfWNqmJ6qvsfm2iQNUK/gSmogBnqzrYSZ/sQVKJjrTKcFLic7pq00jcgccHAyNNeIBer+xyRVEKyuf+44dbWOvcs8tXKFb1jR9r0bpCbiQXPiRF7uLPPEqspNGzC4dI1gf3+4jEBRU8+nqpv18l8Pa70vXpYqd0/6cdA+9n4sEz1uhWlL3eu213T9/9GW4Z0b8GNcDGeUUb94udKfzmquCNcoUVOsmMPPKZe9c9H1DcLWjUOHj20+8FnziJ5T+v8pPfRn+TJFVKwKI8Nylj9/4rbfBf0FplnxwylaxlYCIB1D9sHUmIJFIdW3eIby3goAcaKrDlNIC2BtxlOq141jB8GXx7cnnRp0mdZUe32PTyO5IK23Nkn71uxkO35ApYdAT7uiRgfWA1iKCEIZbAtY8QTyxHQ2wjId6T7FF0qzkwjurh8rMA6oDuVnKsTWyJCOZJzv6FQJAsF5lEYAojYWVbSnDSiSdouqreVhBiJJK4scRzGe9mDSfMn5g06DwcMWg3NjkdQY9B7jTOPq0RxHZIDDZtroAho9qBPsgwdBzbIx43pOVc4N/YYZQfRQvI0qi4e1Jsxyn0qrllWCQGXKi5dieCcIm6GugcQVyUHC3ffFN/0OaRSMPP79jCczGKZKD+/WG5QDa87AxyJDGxz2aA7IHYIzGSBdF9AnNkMP6QiSguT//aXT8EiBjHoee5XNySx+GqPVjW2uYvQaO7Ec5ggXqUjNRgMLe+IEv0xm7m2amzNqfkCcH30xEssfrw4z4zKI6qYt4Q97qvQ2ebZ8lzNesm5mCLaRzdGiueXWtDBwfwuSOwoXMxuCj7cTAo6VLezg3s585T5OjeM6uvUlcjm940t4MLo1LIVYPKXOSjSCLOIDHqjoNgT1vgGOIe7OInV8cktLorOMJv19sLlOZ9izb1cp2w60HIboYnc5rUBhz2ric2N2uu+eZieucrW+R/MBhTMn1Fhsqd1iQCJQkFytLn7MJRpCBnHQz0/hVOvW5NA69GfgIqIKF4LCsjd3ce2xp5Haw1ejLsroW0M1liZkQY3rCYJw3Hb6owA72OFhycc2Pp9HsbtYbNzzJ8HKW+Yh0J3veMHuQ/eHljsXZbHjKXtJGCbdF5cg4TaKU9HV7cshqD1tneCfuEuA1AJRbzUCUhjylHDGKNlnxtrFFzvtUAV7Ervj7Ay0BCyTzGXk9xs3zRVKogmCTRO6nmeb/TaLPxq5027LZM3l5IcufFym8483DAzGf2ciRsml6STIO+JrNH8/g5msWZ+CZEDfeWNeIq+xDQvVD58ac18igNDTEOYmsmNj+yVq6k6dRoB4Ukm3VuhT6YGC7av0L2z1jSVStSpa6gdbySjnXp2AsZ5sqGZ5IfrqsDwxjAJ8sjm5SEgM8f5ZuY7CTBKwSQG0ZuSeoOjHXlRcc31GslqIkRwPCa1TicDEQ1u+iHamt650jmUDBR6o11Q2uxm05iulcXhJWKakvqg03oSp8/3j3WckXsi6RXd1uUyPSAYeX2qpt9RMdp6ncaBvtTzesde7Ex8Ahx8LLW6bCs6nb/YZNi1s+4LbVua3v2EpX6bbrpepOPf/o3/4rDDe1M/J5Ps5zS+GPBSOf4mDupwdnOszY7g2E5zmTmav3i0q5vsvPvTBF1FLlZ3v2K01TPxzvm0jGMKqPQXAuTsBIRCjnTtOaN0ZzwTswSNuRl9YD9jFueM3IJma4P5LmEHxBkx6OlhLubJXFA30euEhreBo1gvUzD9cAXC+3dczx0Kg4DvFUhu4NC1a+3Fz0xUH3vLr/aiFu1AstyqK9Uix7C7xqfZK+pkirbZDgdY3szDTiA27SUwdgAgkxXqqDX8EwEr/AEouSJ3vp6iGJRTzZlZRo/IDOcGySQdVZZulkg9Aah416kVxFieUEEK6Wkc4rnUsrCsPIqS9KSZCtXqjy4tCQzyvMSc1X9IhT7hGW/bjccwN3eKEsFSMbEvP8JEvfMmlolrkofJpnWKzI7khYhZ39r2pLoeYBLd1vXBMznfGWWx9bjKVuBodAjScJKt0njKGSaVmgbTz6gnlm2jfGHHWpM2jxjR6JN1T6evuxXpFPUO9KeNM++RC/tHR2zvtcjKO7Xiz2NLHfA+sH0iMBaWC5VdH8OUqww8KHXbFOEdybA8syh7x6nNU5XMpYTWng6WBq8JOygLCt+rOyryN89HJN8lIeBdycnuOv2cSkhrJdhkQ9zMHL0DaDVUzAPEUQfbFRI0c3iM82vQe+cWSxrYah8CJg/u78jmWPS+ilshBvZ3V0WD6AoDO6+OayQKnY4krLTLVDQdxY1kSZxNnN80cvTz2wvjva/1pmHzflIkaspByfLk2FT+9jFAn4scCTPoiyxA9jiLBG7A4ORTvA54T72wZLDwmVJB0vb4PrTNQWYPKs72IJGl7oHoM4jHVvsK9jIZgIbW7dHSKCNcroUNe1DctvqCLRzE82Y35x3gkBNEYY+Y8i5u0QY4FeVUzUd7//KCYSZPYzDMF1T7aN5WVRdhAfruYwM6aD3FRL/oqYSfnZj1Q6GELlIwLcwbuk2XK2OTvC197sin1GrNn1d/Q9gTQK7uVVR+SD1EbGQLhB3qwEXIMcQNy6RPEpr+UodBQys4i01aAA208hNRrru5H1hbduXkhEeso2GzPdO2PHrEiWI9tkAKRQOmF8VjBx6jkjR7oM9mg93eF7qxC3J9W5UdM0rXQD9YSmjdCuBCVmctwGVBzSHq+9uENYDn2vgSeXSZY8ndSKV06i48bDRm+51VHfLAZ2IPoicQoOQq4CUota0kIfxEKhe41eVfO2vHqqXuJkELK5gw2nX5CfZxMr1Dki3iRF/l2JuXPVfvL6JT+vXVDgqDeOneGqjLJVsXur31WMde7AmYKWy+s0kpZ8yHMjvBcpmWiom8M9OchBBs857rzcOaYoIIB41L2O6syQnqwYWa1qwzCc2RC7rOoggmJ8tnMgr+RzwsvnG75tLfidYUlZFnTZI+8BLIfh6yM7rg6Hf+ucPsmfg9Xg17V4HXzChgtc5gKwQYEzBtDnz27GgJWkvWh/TAcpvSHWUj3ESUW3ELXVxGi443Ai+BvgAD97dP/XbmpYZdOtDa1lJAhnIY2BIsTDzwY6wGjDeQALyyMieXq0ynesLK6qx2rEy1zssM6oD/yofNU2ExjP4C8KChVTmtYj0CaeLVwOIm/9QdXlpveqcmEPAdpRibo8qWoOaz5ayZ2StqVaqBmrQiXtf3kgMr0UGxGow20bGlNKm8W7Hv/lwBhS1L+WCoHJJuXKHLhukP2fUBgyUz6s6kSrEMjt24VwNSypd0OWl1cn2/GRaNAgniThBQf5zkrCuFLspWF+QN6Bvkw5mqPw+bdvFVUv1mQ+scYk98TrniF569ecJBKYZjQHb4PFP69Bbyi0DqPndLyZP0nnfwts7nTJdc3cTEIVi7Y0i55ANB3ZUWG7x3AHEDoDpAtGYSmHmzPwQyAMfMcqQouSjanmt8eK1tCmbe1yXw5ONTpI+wq9WUthL6HB7nqtvKTnsFYVGca0O6iVxnjlaNlgO95JZ7WfeKMkGjTsdl4u5yX1bAFVS755wYnjox5rGLGOayR1HZqBoyKyiBXz/Y3/EZ3L+Ymsx4HUhKngrwNltQ/CmnDpvYtftb5wyqpL7DVudRn+yDjGf5XrE/2YwfhTO469cKp1Vfftyob27m7LI4e+d0sN54mnem6J/f7ce+tetjfrSbHdalNhVfdRa/zr2TbfS02iClE4q2aM+0PPVW3bReN91Dev5rpPak588l7dpq7nbvpeCWsKi/cgeCeAz0y67k/uuBykXDkNF02rypW5fdur3mPq7gFWykVNOwhl4rn/s5CB9JWpLv7vEvbuuIBMdlaa08NB/urabFjrlK9mJtitVdmGcbj2gYxcH8MqsoWzl+LNu6/b6tZz8Gu1t/b8GH7NtW71pX7FJbZH/25vkVwn91nYYO8iAx+4Bd2UXqQ2KPjAJ7Q/r/dAL16/GPur57ZnBgdh0nfJLDACJ0CqgO/EfQZcRXPOpAes9D9yd2R28h2qBcdBHXxuX8TwgLg/ZaihHToOSR1NaawBNs8G/dE1fhUlRtxnhjm61z8IMEFnqcleTM7WS6Ua2m895jvhevVO7rwE/XDpi0kk28f0nvHjqhG4hHiU3/snILJ6uWwdCd/EUY7mrP4nzgVX/4teHoZiT9wmE1FgxsVVMtE+WDJno+DYLOIlacTl578RcvTJk8kp/O1xRT/w43q+PzsXw7QiTgvTQ0sHtQMbMCqIasMGdaUK9kF70b6ZusVx3yG2bmFjDqm5QZrQToa1VJlizHQF1ODGwl7qgJ/jGsRx3Gf0bn8wfp49gdwqfrb439SiWe7oorz3Kmr66jrt7sdeYbUc69rWt+VrbQ2XX6qOGobrc6v8UR5QE3D91P9ON5T377J2f9hm7m5Zmps+Mv06K13GpiNpurzuEsoueV/WqSgzfnuY/ngdXS0V+1LWtdSTHf4aJ1ei6nSA2PHlUC5BqlqxYPoGR6Zc+X+rDFWzsdVAAb/xKrgTJOyn+9vBRb8rrbILUGmlUxVgLE2AKRR+Df6KuIGppjibTkE9DqvzETd6YskOWPu+L/hLNBT5iSDxCATba3JfstHTIXkxI8ffC2ldmaqj/a9m+fH85HM4jX+gad/EBYrTvLWAMZ3LgF9/XomMW5PKxMq2aa0wVP6yPlV2bg+/s8wePVPHyF0aVX9+R/JMNwmOxvVclT+DxyKN1fk9VSBdlEbjZawCSdI+WipBpsS51cMUWzUbVCz7W7luMZTjYXIhPvA2GzAsDwvEtFeKWYrgptvTExwx/jwGSpEajQtmmnCB/rOClu6wDLVBFZg6eEMKTRIQtEAGqJPrlRyRcsiAZrKZRgMox9bNE4IhdmYBvjGxGXJhBRHgZswRVhcdjbHoj6JBGhV1KdDhELKdz2LVnNzNgflW0mM7vfex7Chx6jcFoqDpAJ5xXKO1c2C/02EjigYBGGKzwOhiA3TduoRI7GFYd3R3bWNz5I9trUkrK47616LgCZigMbkPnKOPCE2v48RuiIeNpOq5abGCm3eD/JS9xVzELnv3pcSem25L8KzL9tkqX5UWZ4f3fb5SzdFTn0nenHx25qpbFxxqB80Qdbuy47XtYDqIo2f3vzwQO92XhF5tr4x6tDpBgyen6kk9zldPMroDTgcDb6fy9aF+9TRKgp+10HNAJAXcgbVrIlDef0DNHUv0+MJJGtL/qsBSc+nHeYzHDI4b21z6cJ8ZvRpOSqmiopdU4geLxCz+Bvg9A9WCLkXudr0JUixM6GuczOa8Lw1Wxv4QhHZA276E8yKM4w/t62DIPbV/31ADR/rQf9aThI/RWM1C7NwunXlWrfVwlKJlaf2R9b+O6grKULVW7MXe0+OMj3nXm+2g2aNiqI/Ao4eblhbfCjzGCMEYcPDS3C6A9/kQ3BpwVQHPZZ6S290RZzD2pI9+PezzqYHAFkCN/O2dFI4TwqpkocOWINAty7tOPKzIzIaDADhnUGZiQcdggOzvXbu/+ozyMnMw5eU6u5xnnn6UqHIQuxEla85h9jO4ebStVd4+vqjTwWOjXGb5QI/R05y5VwLz/rc2I6yGroUAhqBtuCjuVDvzmE/OmR/w84ouhA7NpNOrUnJ7i8cfN+8g5NVp4MRXbsxRaACrl0xYOcCljMi8BUB4Q92ZuI/RsdPnWPGE4wSlZJBIU+EY3JpSVtgKeznSGoxZciOz/3zMDvVomQa8kiDm3YiPJCCHhSpeUjgFwUw/+3LAQWmbNzHcjbo8EK93X4oVlnqMDvX5Oq61G5+dhD0FhqU3pfVUaAE6PKGvyjrYaK0aGZ9c30aU+1xmrTgrUfQc7yE9xxyJ8+BXMzF9YdD6ylDLP2GL2TUgNsFfwYc2XXe6mswiTsk4cGYP2A8l5/jjsB9oiC+ePSFcSR4ixGQtT8UXsm4AsfR5orl62MoAluUIoCQG2rklBGAO81eCiRgrzAFoP8AbMhvhiSTbcZqBAQ6q7tHuSHaRBWcK+Q/fiLHC+IbTueOss3q2Qj0evndj1NyMWwUYJR+hhxbZOKDVEK0BfWGlEHN/rjdWoMFvay7Iq5487mHCtu8IOn6hUsG0/hyCtejHfYjcz7JDlmn6MZXwP5I5NxwoxHOqtpGFrpPGdr4h6MvstrBWKT8YhPZLQk+jU6xurB5UFZwJCYY/KDg7T3xu0+3BVpodwvq9Psq0tJ7IKTirGt5gJxhBJ8jGI2Yzhdc5qN2eZ9b39bk3vvNkcsZAsSFC8+lsZY+cHWYc2r70qXHVb8hpgBvB/Xtdj3+yi52B17cn5zUzwuf29Od9hhlUQiLjIaCvORqca2QC3PNi6cJPUVHvDqzxTNLo0r1DhA8zIqjisl/yYQ3Q9ZVJpFnLyZLM4oMvXWL7P+Pnwy6DF5wq0FS2Fx2yWVVzbhACjGAcdkA7Bbs/jMdM9VlL6G32nne4TAcN1k2bd3fpXyafs0yCZNRIMpCUr1LLLBsXeG9RSG7u4mEpxqIOiB+nRA0bOYh6al2LISdYqEM3gGmwSVb8CLzwElqkNAWd5oeWFgmEZUGpZ1BroYOjQVaz+CaupgNwvAIat2E3VFXGgkJxKhFcuKQHYrky1pKg0JoLpS8+i03EM8iMLK+GX3miIs9M5o6+ClXUZMMlkKT/MnVk9+XA5K1cTFSwQQx9MmlSok0rF6KRKvFSlFm7An5NkoDg5bh9GvH0w9EdXFOzOfCvG1uNIejbaz+uoSqE+HUOe7Mxqfb9QUlHZLK0Q98H38upqkiWmzngIL0nW4xf7pGFmMkPY/3cFr+Wqgsuekbgg3Gt+LlSCkfs5cfPrwtXHmKKs5M2M50xTwFysrUS6UmJ/QAQS2iWppY/T2CBkvoUp7fTKEpLO8Vn8HJSOE6F/izP96Je67hhMl9dUAsGC0RffTYPIxi17gEMF0pcSiL88UAN1JgSaMhgAZIVSjznr88C9SUEyPcDaD4uAvynwlAxsswI5uNmWHSHJ4VZiiYGKZkwKaziRkHXrayllcEMuQuLyL8HiEqhk7CVVtinHoxkhsgQJG9XmyiRS7ubzsCYiTIuoi2lC11LcHl3heRI6X6yDe0cXJP+l1hx/mwZQgppL4qRfPgChqLtgCCNIBgP/9MImLW6QipQFMw7/kcrfV0RulFC4Au4858I/05rRWexmaO3+T1OgVQpVJTxjlPQTohjogEmSE3rHfnVFMaTfxY3i6yEnpNwJif2Z2kToqQv8slyGL0RHNeZRACdhdoJ3krn8H76b5bvaTw7zwY79IzOQntmnNsyezGsxJy5CGAsdTtZozxEUhko+7cBjlH66TeIa4yF8LLJccwt7uuQlLiQhcFv5QL9QDlU/lAePxiEY0ZZOGjGaWiOonZZbGhdjjIYPM4t6BDzNcvRe+MzXgGWAIKfkIBfAtIoe0m8zocah5cTWLkd9BLpf/e6Kx9NMKs5bTP7oneIc3OiMV0xY5SwB3nnbPhyU0X7WYHK8Xje2dSgNZCyRqVv/UEjD/twG04/YfSyy7eaHbUfghSNgg/glJ4dWVre5D6V4S191GXmWZN35kuKEPY5sy6AnckQBSacdawRj+k8ZeCZzURJYz0nuiHLEzgf6t3eRlgWhWh+rlCYFqS5mHyuICp4HidrtaVUBSLrWaU0rz+B4RxAufHXQ320FQQ+H8hPZMrxTNv/ZUcI82plEvhjIeg0E1HasYWivqzJmOwSWHR8BsMBlTz4JpwzQIiW/Bi2bWCvyQGnRGBDXjQ7roJJl0gHozH23pDZJkQvO2LP7joWW85h7MOg3SWVmEI7N0qrqMVJiYfCrpoyGojJ2naX591OyCSVkyI4mQTpA3ZuQ34kPGM6i5CP6N9R28UNb4Hl4P0MYz0TrreDvKCC2fSowzeN+oY6Enlcchx3zxZg5VxPGUteNuNHwc3d18V97iu3iYGEd6Nt/CV8oJX6fV4vihjFXsiXdFAsZcYn3fwF5Z3OAqmcwzjTPvMTpX/QlnpRf8zGfMyf/p6m1R6kJoNXri/Lx/F/G2iYNBNfLIMi9QWTPUO9ewZvUIdnN+QdZYyaNcZv9xorKiPMjRyESTxZTz4mYlyiZkwWUO9KAp6MQcI+/xiDhG7OtxgjU7Cwgcu84ui5mROmqVUOM3/3mDByGhlgFIHvsvaACYS6X+FNE2sSbShgL/UMqh/npAr6Mc0RJdpyavXVpsg2n8GDyjR8clZVHTx6GkOAlF2xZu3n9OprGkTi6K1lQNsMXfVX/UAZPVdRqHykl6STyIv4Qv1pAdshejzTDorp2xxcweTIRA7voW5MhLMm+shXPakYelnjqDXj5n1EikPd7cnPTc/vA+dlncOxQEzJ22iWhnpOQC10HMXmFqYK4eNXpNx+3/lRHokHCZ+4JIXktcU3BKnjB6kCpw+tZqEOgQmObupV83j5jekSftEAzxUMsANk/1HYNTqKHpKwK45D35g7QWmLDcyxdm6w9G4JCbcj09Cr3snfWNON+1ie11NsqE9aUAj4MemoX7jlYdX6Xy7N+0u7t3vNiXIT9eZxzRS+JwkVJJ7wF/0SCZND2UtxWYcnfVYr9Rw907GX7YMFe2zpD/PrJg6zbF6FU3zAr4Yo4YQa6g9vb3CNrs3yjONWCjn/r+DYifNWnjbQbKxd6qA5Ti9P0IOi2mW1W2ncUluS3vuVuvUbqymJiu7rqlFhwOy2jjaxWpUSFyaqcqPo2ir2i54W2DnVrek/S1pD2aSmrcCpVcXgMpu9gEwhQBwx8/f9l5yyUmkOxL5umgovPrNpjr9KlONc/uyIjnfz3oNOLVezNMNIvz6wBrizOPuqu0CO6X4ZY3VXGJ5KN3Hxl0wdMpNCFkIvnhQ7VhQicUSYtyodc/CqHqVopCNBAq8XNkMfFeQSm/7vZvNkjV7TO3TsR28sltxXsNrUcdztYvcsSurI86q0TfCiVC0tw27cXastPgFbFNZx27aQnDzdqrY0DhhRh/PqWkAq1SrY8BpwSGxjUza4G8ATZ/ZM2PYwsPaDF8EJPJJNyxFp/MRbdkuSJTdaV1SoLtJJPJE0kj9tWuSDPYzu8H/Kmm7b3Bp2TLrvpdC6XdNZ26KuAYNWjJxKpPVBQ/3kszonbLmKw+emit5M1kSxq8PYTMZFJQSWm90bupzeaadkzp17z0Hl4zZNm+QoNXPAOmsweN6d+keZ9oNFdwO1H9wP/mCXwFolHXeF2ma+BhrmGO+m2a2fZPT9QNs4iB+sk//ofnWhHjP9imf93foTvRWg8o2sPpig7lyvO5y+FeJAI5SIXfiqMSDgAH317cnIPezp6ILub+JOeq0JqwnzflmtiUWi8sOGjaoyPEqbhRd/vWGugpvk9N35XlfEqBksNZemhXsfRUexoifo7PHBy764La59txxanaKIMtAgkTwwMyuJSIB+NYPt195DvAnJnh31O3d1nDgy78C53zkNhgVZA/9bPAgtfaHflqft92qsbmTojsr+pF4cplCOLPVoj462dmd7tfUYzXDabfj7IUVOeBQ9rbCg/m8ciP9hO2xcbzA/1es4YmvP0/2iwhccX2dHSjeLVrwenkY6qqpm7drO0E+HvwtVYq1Zs693pds61uJmnvdp3W/hi9jc7L4b58TuUq+UyC03LUf3eL50xiZG8NqMfRY7aHgzGLPGS6frTvW6KdpN0y51d3nwUTSqcI7HDoCAuCFqmx25dZyBO9vrmxXrYddPpj+9Dm884OJ0OtdeevUdqg7ctx94LQpRMOcQLeuvuOSPftXxhZnGt/50NC7rcnjLn92Wti46VT3Qhi275aqOjBfvpt7vO83kgdaO+74x6o9i7XrtU9Ya+LPva33T7zxxEK3dTc+lrPnKRX/yuYyBB8M29ScY3NzfuOX3JvzRF2HTH3wXLHnowGZo5gevwNqM3Gq/q3U9r32vZdGlK2/49xwefT8kqiRfAPzPL0+U4FMgfFzuG2AdwO9BVq6yR8tb31PBa/jJc0cCUNHzV9KDRJo6gOAFB2ewjpGmcvIrAYEmO/bdGh3EAy+2hhRwAXRKziUZkKP36h0DNBXSn4Y3HA/xZg4zy+LHOtE812EZ9cqTb5/Awjl47Y7S+GnTuWVpioq2w/cjWIPtQRNN2S0glyJlC2wL/PqKFCxOhtwoiGbWJi9Fuy0YteAaaEFkh6G0oBPW4LYAnSDv2lMuNwCO00YXLWRY+jqh0GCp1IzjwaBPIoK7SjH36ksV1O+Vet/5BahQLdtJuvKeVP/se2NwLEvPoT1yp0kdA9WXptVe2A9yOCJjJA8dC14Gw+QWr08lLJp46NKa2fZZ+EQYuL5MtiqLj8amXrvrwP3CWtgOBLNkwf+ZvnRgK3hASVZcvDjllbAWeyHMix3aLy0slxK2N5U3yUkfzyQG91KB757fQtsmcLZKPqhiLYnBa8gj00FocftH0te0Cf26YxGLK3so4YS7f5ljxk8dO03a3tH1ibIvLGmwZs2ILVvGHPj5JkA6R1lgwrTrVKJPn3IDBlWYNKnKlBXVNsC1Qvjes6794QWvDVvoTWKX0aZ0E3NODwnnioQt80TGtoWiYKc0EbBn9kjllx2jPpUnrKrKwqutpojq64nnO/+TwssK620Tvvzvm9Sq1JQSU27u9+00WtgUra5Yubc31m2KbhtcXIiuyu5mYFwyVKNRG8YzdzAtf/d+/04SzrtJS/b2k0/5jn6CCzudu6y0r3fX4JIC8KISQoKPS7Hg/5sKGz7nx9NcN3wttxeBjjqLWojhV+hScFU6MTE5CzE7G7E4F7E6D7G5BLG7VDaniOPtFByO04cYQP5RYRV8/vykf3uy5X6vesA+Pvj785PIn2y8wXiSXyUp2av7Lv3EGy4Tew08vG8bZZW3C2ND70KuTOPvykK8awbcO8oJIXTUf6N+PBq1iAFjGkcfKPEW1DPv1AJ17oSItQDmDmr8l8D+wW1g5YF/1g+P8AjPnvMjviCcL/hpU3nvAU3oPavnwOR79WM22hB+598g9LW8Dkr6UkjeNyZCqjpUkKJGTQoNRgSYMOPGghcQP3FAEiTokCSHizwFDBSpQ02TFtS0aaOnSxc9PfqIGfhE0RdfWDH0DUrfWQK3uRKMwGK/gfvDHQuPr9FkrDyNhZeJ8x7W5sOPmIC/igkUhlS4KFSi+aExjdFJX2KWJftzOkcBOoWGRRQpw67834RVaECpUQsFUK2owYYFaDd6HSaj0wL0maIBozZoOiZJ1muCHPcTDzKM1qFjyJ0M43bqDAm4UUOY5MIsl9uy61zIn4BxKCwCNDGwGMJYsVHEiYM1bgIsJZZ46klCTwZF4j9hTpqMXOKUVJKnppkigzcZM0PXNCfsvp4ssA9sre0LPbp7hr0XgmXyIQtqWcHQN7LZs/cB4nMemBt5RS6oK85f57KyvSso6pxbGSzjDWh/fmiVsBZY3zX5WHODMDauNvyNbwSIxPxJNxdkzUOjccjWN+D/OaRFIFwwv2LIvQtKKTc9QEyDrPXg9xkUfQlZX0Hd1zdI+6ZcqBYP6PseXEtBtwy2fkrYb5BSSFbDvnU3pPqjSpz9NS7s2lidz7fUSLUdNZNtV21Q7KsDcbth20GhOXQTQ/v0BnZ0iKODEu+QCDp8E1VHjEXUySHdzku4/zPRN1Qpva6QaOcz/LdVKY4uEa6bsumWLLoty+4I3X1JdkvW3Zdkd2XeI8n2WBI9EJrnIu6RcLwUZ09E0FOJ9Ex0PZdEL4TjvRh6DeYTsd5i9Y5UHzi1W3r7RrzW1P/eLAX9xbJ+p6F3aKkaiw4ADgwaUOPzCRqWkOawCWQWtoUIYpQlhMwQQZWHy6eLlEINSU8j7+JSRGUspSXfTwXv5VLeLUaZKNinyTd1KW8EIWaaA77t5BaoJVpFtL4IN7V3ewdnT+4wCH9tahNxRu/IO5O+MCFP6Al7y9CdQXqh5pUWJfLekv3dYCZnKZ9iTBPxc+iadOoQ/BrPN6S/he8imU8YP6D8iL023V+x9woawuUjrESajjITbT3GRqy5OPPxNhOsjrI2SfAfy1PDjr/Ctprgwn30Pn01LK69tbAeLbDZSGx7kNphm4217cV1CZ3HxE7YOiV1NnT+lbp9+1ywQJoiiiiiiKIoAu4YOLfxzG4Cs5oY1ZOEctsbQ5sB+/nNw7qwJaO6vHXsbmxLabe3i/42Nc7mHu7YyJ7sjODNahZP6MXeob1fzVTbOpS8Zc1edyKQIBYhhQAphhwBB0I9dg2hiXKHQ2vD4UPEhmSV+E1soLifbSZ4YEYE9gneysYuwJFzw3Bw220+CSUFqqO5eKDFQucbwVxfhbOAINLFqEQtQ91YnqbP7JXoJKxKvzoWw2bE+FFeAtMyF1iUd4l1y2zYZdmBQ2/kyDlqN7+T9uQWtTfvmIMFhTtCaOV+FBHmONElVIqrV7zEytySkuyu9FJAJFZqFse/MY6dqVd1NfrVxd2QxmJGtMS4CyyXf2hf/vv1dhs3kNuU4WRmjY21nTcZRmY6vSVzubywmP/Nc5xFVqxXa8NWpLfQ2TsGGw6qceg4gm+clQoOUUcXrurj2i3ZNvaOOhCydxCBAgaDQkys6k2AOx450ZYRSl4zvh2yPeKktbPOy8YxO0Ep283BvY532mmc0wLbLNyJK9rkyFQ54stVIr+lyirbpVvPYobqX1cHDG0G/cTZt3xmhRrNb9qCpUmm286UnQRENJeg7ERCMTumR8ZjKTGhwVAMvTsL4/QTJcn3K+WZdCuV2e42aqL5l7pEtdAYUid9H/+Qkeqo8WkgKS5MS9xdtbqMf9hYyG3bm/CxveX00OFafe1swvv2eAbujko+aV3Ur7pXTE/AEwJBBcnQIBggJwoEWyccCC7ICC/WtgKpuMJeojUnLHknJE66LjgVN/7Hg26d6TNsS8ZMy2bOtqasObY5eynblCP3sjXmW3stYVMLFt5YrtzryZN3GwsW3miRYisor+ScFZbehvIVtr5i5Qn1q7rGuqptpJ56J1Ze/9Y12vgKGtHUnNU3s7UttDS2P62OyKP1sXm1NSI/A0IUaHBqajIsLR0yMsNdYEyG3ibIE2zOb51pyXunIGeiLHOS27fmR3i/oL3j7WdLw1dmRaL9aXWq+8e6pGuxIYPda0sG3z7IqaEH7Uje0C8rkrdOFKY8kEH5ef1JJxQaq8fv8qpWNWPVy0wGPdI5sNhZlueNuBpdqRWBj0yFBrgNWJ6ADCdCnTBhtI3pezrkshRAjm4kkDHADPmVfn1fUd7/t3qjje/2HVLXF1y6ea8XUf2AGwBoEDZDSJvEyxTkpieMZl4Xs5ZYtsyKFTZssuX49e/PP1Mbzj0cbpiDl5OXP6hxXSa6Kahum7L//m+Pfo/PjOr1KgkAgB+MeQU/Dx6wJizjlMhiP+Mf9SCL3OmTkYX8ecEkSfiVSN9Q4RLlNxqcab+GQdTPgLMSXqYSoMkzeJlvgGbAAyB4MbqsS1qLpbNu6S2ewXpkDP4fAoLb20nGvqBFf50sKwjJ6K8SjjElqvo3K44robpRAUeoYi2T1dmI6i1cg42qMWwB7UfwY0cHdZdoTgH+KECoFBvz1aHJTH8toFhOjdfJtLhjaUn6LAKyID51XK1MvihMzvlYE68QI0MCQAuLGEYESICh0Ajxszrb/kpWLnAIpFPH24YOw7bEqwM5aCAY/UIA8IEIABMKfBiYFltnZeZAMAvMEWD2fvhZmO6mJ9c/GY4RD0nKpgcyMBN4yYFQC8wRBACYTDBgK1wfkqE1XA2slvdZskuhSwfY8r7fU2vvEY2FGb3yjy8/BwL+ygVVFEXGHr7BHOxqCKvDcZnQykOAGFGAN8Bmko8BGuLSxNCoSHfVc311U9xJtINFkYrCUxdsk4cP/Tg9Jc+6/KVzr92YVHI7ItzqruS4WtNS5EEEL08fX8FuSGrtinykg92cCE0UaSZz48VFZzMlqiM5iqGluF5eaXcLE0TbCJ8VnfKIIoVV2xyMSIWhr9X4HG+grz/93SugoO8UMQrxpAiCYzhODUc/SwJxyzGUyqDKQb+RoMMRbTWP/ijBOiVoG1kqqAUIQANADI0ADjQBVNAMoEALIB/WAzjQDhDDBoAVOgAc6IzqjQAc2ASgwOYErNZMnOJAF4ADs08gfpFMEKUM64FK5Wyg9RFQEqNFMzopFKR6SNLWtNAA2RdJrfGFPSNtb8D4UCGALwz1hj2sU4NMAgMLCQwJDAmL3lLWMIDLIplUNRgy2A6CRmDbAI8LkCQwDnaJhHsVdhl2BRjQeyV2DXYtQBIDRgauAh0EGwQbRjm61IAMJDDKYMCUwtKEa5S6xntHAAtHgt4TcCIMB4g39G7DWTA20KnM7yW4GCYBwnA5TAGErSAMIFSGytqLcRh3g6Kiwp+40W6TBM0snO42UdawKmAhIBAn4ScCagi+ApCoDnx9fG7gm6ADHVEY8rUL2Wn4cfwEGDIK7sjDL5w0eiiIGNvgdR4w3fkLDrUDvxfk4vfhDwAS/iD+MEABtONQx/CnAMoguJ2Jv4y/DGIZEi8+MkdQRZAKMVokgUfEQASScT+O4MB5AFyYoBwEGU28bABFH2IU6fhMBqHIRqUQ0MoAzG8gPS4fPTwEHgSEGF6xPC10XQJE9EDQceNyiZRGi9M4SnjrYSAHoCdYAAUAnJi+YGgQEZE9/E4HY70iO95SVuy08PU9eYwMm0A2OkFMqdqrDZBaEvntU/tTC2ZTTP42aaD5dFFuXjTSJy4fSdOOdFBZ87l1mcJ2TO11OzCx5MFodzHbzi2SJZS7wBErueq2RCtJQU00Sl6esd+HFLErtM6rZaynzIA9f32eqpifOdob2oLGfsrfdFy/zNQzc8EOOsl333M6RucmVPnKLxWs5sAnvs250lUrV7N/PKZD9a4pEQ5wfOFOqUdXRcyp55RND3U98po1vw/4XSx3/t31yzh7o9/OgIFuO3U8FoNk2n3wtH+sj/wn7izx39+6dKlI0KPWFtFZ4rLrxBxVJDd3bhPtMZM+86B4V5bCCeZ+1skGm81uZLcmT6Z5yTO6kG3ZAAtrZ9FPQtVHz7SzRqDVYsTTr1T+y98EeYYLb5ImMkRG7Y4CYzrMyDwu+u4T176tQ1Otq0ulpzBEweA2rulkiCsp0cjps44utz/kb33Dc3WQT3sewLUgmRZXgpcymTKyEkBXFZGzVRcauch0k8uimH2xTK2c2WE9svnLLsyBG1m8cpVnZYZbDXy5ZT/cKF09WaXgg4vI8T+++6NcdZTwisKyLa/b1mVqyewD7ozFQampKCbUT62d8yxCOTAfKUntVq4cQj9xh2JhK1rDy3NU0pfDN6233kIkunYcmvnl1vTuGH7HvEoS51hBHxSalJ68rtXSjfF5bwK82bc0DjV7EuAHqUhmgUtX22N3Q6nsmq3u+urdE1yPO6kpHMBT0fwkqoYW9VRecpZMWUrqAYtUyLB/sjNLVYeLP3lVvsYoeu8TieVJh6Qf+dEKcrP21+Em3386zCLwZ1Nad83eoqau2hwW/6DIIPTBr9mtj6Z44GCVw8Ek7tJ78m1+SroqfBd93LM7mexaieqF94+/zTB5n/cW9/dPt//d+9Tw0saZp3WCf6PtD7IkDScMZsZvr21q0t8vU6davIQIkykyMQ8Xzq5PcJs3wj+d1jaJn6nWINfCn3WRsMOwSQjzuAhXoGyWgLxKvpHb/SIrGaZDewYhiKjzhCC+/FdpFHrrgrdYorKoEKsyGctLJ1yEkXG7z7I73Ei6mpcnoRw81YqRJKVlVqUSbcDZsVg5Xrv6mbI6CfcppQoORN42arVk0y87zFAlwOUlRWSgVy9LauGQW/OfGdNl0DGVQKhsh6MXKqrKq4TMDC5O62m2HXCLWFMPiDEWWzumE9p0qy2hKFrBO+1W0UeL6hhhzKvwjdZbZ+xXMeImidhFW1BrJ7IQykImte8xXxS1VK6EOaC17a5buj/Mz8dApwsPE+wWquC7r0p1p+3D/oPhS8XF7DyGnX6Mq+dKlc+Xqpho4eTej5cY/CzvDhePBb1fbR+7O5TKqu1aZvJGYv7j7odZ2v8DPS6xyc+2693sMLJ/k+xfh0s3a4QFbVmKNY+NouEbF4EHiV0URpJv+dYqf7P2aHf3fHlsZpEeTKX3kbNdZ9x66ZLzsMSkWHldi9vVh+7/CVd03v0y4+qZh56sE6THWliZiZjqMZipxNvvlwnn1DbGXfuyV6Dkv+4fne6Z3rVkmoX192vb2yJdixVcF6CaMfnX0I6Ie0dhTSqxdxb1PAdjylUrh0V2XiGP7Culh6OsMETKyI/qDiruSDiSo5jGlN5P3xpk+wtuIfuz+EUhAKBHIhNlFbbVS3yIeZdwrgljN8SZSS7i/+JrP4ja21Z4o22xJoHh6iwgEUQWLvwfbgaMz9ODKgSTp6j4Ey43bXwKrLpPeZVDPZyH3H47iGSq2nSw1xGK87/PymQ8vnimqdmaFEqUNehPUNxgRNTDPdzDf8UVk9/cguYaWdkn6/AdatGBDUdYlIgo4gGkjUFfl9dvsmev9pi2drXBZpctO3XaTqnUpnK55VLM2cEOR5E++xtUUQ9HyQy9wpW5aoCJa6GL5FlaFR1zoop6l2UyWWUkFosrbsoYK2uB43j4hYFo2qaLfqXOn7ATM+s4cHnD2+zsPnw+n//1+eoja/Fsgt1lFotV1ge77ba77RYKhcIjEDASoxnbBMNwYRIIBIK3EK5Mok2CnY4mw+NMZHI679N9l5rULnTxpCa12yxKKT19zGQsRr6TkZFRjcY1NjY2Pk2BL48rdH5wZRXGWBhxSrkD8WkCfpgf5ofx4Yo4kI0GNkHz3FE5x5LCVKT568ujvJXeyggLU5guvexDv296AVyyjMCMwljSEYgIhBFIgAABAgREAxdkCZvouTRPjq671/MDPu7wmFjURuEbgyqHVC4R1aq4UY415DgEuJ5TKXOqYpFA9S5wpHzu83F4Q1tcMvOsOdbGvFiZtDbIongmQ+tLlwxPpqxlqJLjhHFjVaiQSy/2oX/uuFiUcua5LBv1bUKzb+t864jNaGFdmBxYG0FS0l6FQvRcTqiNc7x6gWI+OeHEM0tSNNlzacuf0OhGA72TAPs0i9b6joiay8y1wVKcQO39i7Lzu/zfg32/wU69c4LUdAq4jOAoxgYeBvSae8X1nS4UrzD666tr7AVxMxmaRYlcstSoDVos+oSIKRenOG2aWG1JaSvaEggccMABgUDoScTyyXKI5JrypuKT/CSP4pFq2NBCurYhtKPDnQJZz8qFkViQA4rjAhcenbPKFu4t65LU6noykIDTPvglxlHCRBGlzMqI0enoFL9cQLODZxZmddiIRqTfr0fhk2lkOt4MzNRaI+tQ75es32jV/TZf4XW3IQ7jgau/h0tk7S68Gqg1trBsRVvQkCkU1prBkJBheGDMYpiNnDjkFs9e9tJNKIYiDR1g1ot7UqlShdqgnFGOYHWM1UODsVFgE5pjvcA3AUcVSCDB4WDSQcDXBRJI8BoHS1boaaYc4dQbr826HU2KHldvbH/MIG+b7d8t0JhO85jB7G6nUJrn+27xtCPIu6xBbdAQKl3BDUmsJgmSTe9k9S5qgjMUJZZdicwr5B4MDAgDbbwSeyRy8VtnaDSD9OVfRqUZHWB+AUlYiLgiLyQCcrpYVDmWvonEMEowlZRhAo8GQaSqUqPG5nFI9xTWLEhm//BuqY19sfEbbWbEDG7uhhsdlY0xWs31Fm4HdwgdFckfS0t6mowwU3MqyZ3yBm+vB/wtt9Zacwy8G+xu+oCW2cj54UnZCRpDLcdVTq1rg1i9LPAKrvoNG9x1ooST59WX8ptaEHN3qtxd1ITMUR9WcKcyHHQBBwADxyKLp4uom7pNZVA1wbb+BVqQQ4JuCYmtpIIrhZ2ELl24IkmOzjCHvtfsxDiLmMzbV5jVaSMaka/ewVEtxBhwoev0KHBIysrUfo2qx3W8VKpJCQ3putjxyrG0Fjo9PYxUXkTuy4EhQXtJ9KHf8SIunsFY4LJL0La9FokijkckQpyXXTe1exzFlRahOBQU6YXoK/QbDSFNIxj7rSufIrKLBtWyuGmEkVQElaaX017B1ceg4mqR3/3VcYoCNUsvOljnorpER8IZxdgRaJt6Cpd/4xPY0pcCXYrnrLne3BvsrvF2xIWuL/Hyhim1bFit35F/1TAOuH46MSXadmlFEfLC5McptAO6RB6LQOOn2OUZE1JyRaPylUjw6hWaacT1dLN6ljuaF50orqO1jS729JVjafBsqh/Wb9YXoCwJdiRmByTqPcHus1H7oQ1gMKjILi7ncFIwlWmsogTVppfzXsFVVwdg41hTqykuDenqm18/+JvLopqNnDhhlV8uwrE4xzFAhXwqUGn8Pu0PSAwashbXFTRLbDbmaAPoPdx/5Y0ljlxF6hXrZcQrwdVXWoWbwvegOWIQVgBJYom7mEL5RC6Gax+RlBTVqiw5aXILeaYesnrqKYmncebs6RhHjF9rPBN4YbOF0Z2p91lMizwtS2nfZ7/VP504JCArIvYN7AvizSVVsVBjc909l9UJS5BZpDAhWSS9ifRBfyiJOI0ulo2Y+E8f/iPQOpBbBOWWFbmJwoXwoq5yWcP6UqfLAEpqCvm1TmSIz/DgA30o4REeG7MKzUbOE9CpD8T33TIadAECpH40nEfTY4PJ5My321IkI0l+4gyPzC4E9U3Sb7FjIuRQgco0w8OS0hAXYpGQh2COwujMpv0xD2DQtZ8QIyfVBt5N4gqxSOtIq0eDMR+2ANeChpCCWnOKT00btqPD1AwKPMhDmsUxGzmuXe6sQr2KfY7Sr3RFNw30uUGaoOe52ZAzh5Ox5DgmcMwxx+TIkSMIYAmB5JLEpUZCIkNGiuaIyUWesSvSbkjTFj5OCBeGx3ufjH+ksY13Q1r17t3yFj2807PjQMcAOKJSycMgHws+/spBeShQGIX2HbY2DsIwSHEwq87TiECRAUMGO4/IozB26PSbWb2ocxGXj4JTpfgSnBfGjK5i3a7SONKNvdMuJOd0z7+cUk1qmLbujvHkJZLojggGxSF+XIlEX0XhLkqPoxFWvHWQdPVYtznNXemXxMC4nCZAXnihZ28XdzAyRfJ7sQUsL19+BLedjaLYJ86gHBs+irwV5j0vHV+Gl/sK7OppsEm45rTsP4h+oL9B6e+x9jDrL+Y1GtBvRlDo6u/pJulhyXPKi6Xu25HDAf8mVwOAyxp4XG4TMlnwMJ5HeVw0CzQ7OdUnIZHgShTwIhSGjLvBopYjPEYZc7Gk8izVAlYiJMGlfoakxh699NHvgITBfaio31KFiWHipq4VnggiIM0vpeBZbuxOmMR1/YKFlYWlYUITer2R66ssFQ8p1DJWwx95XWZSGuMkK++goqLbOhmMNXhAiI/ZLmCRRCFJSa6PdguJKBDlbpoqi5pfTwGLi1riiIjRjBUSQ3WM0zmwUHugRYFBn7VtpzlbKiP+Lhh7yX5n1rW1IYolnoXnhDnJDiNmkpFebL3ho2+4fvjLrTXeciP5EXzDWRgG9q/y7733rQeFJ4MIyC7EdxYvKkf26NAO8r9MMioMNrJb2NjP2aH+t6kNVWzfcRZhGRSm5gLJ0rWlWo0KtAHd3oz0pX//wSy9mhNUtf/gLIw2Yy+6WdC2QzKTWRgMFBpa42KFyrPU88BPWkd81YrVK9PqFnDMCDWhF1qoCtNGS+xIMNqbB6obtNNZlAoi50Rjq3jB7MYEGkWcOJXjtjqRycJGhk1prg8vXgo4pV0bya5p7zpueC/wa/LaIs+XQZLqwnyJBblWPawXTd8l/JzcMvXbon9Ved1N4h6ELieY0t5ULKGpxZMtycm1pLZpeBSeplPJINM2Mu3puE1SsuQPYYvpq686voDwBSp0HKID/bN6C7IisHv5XWLc1J3csovG1mgNvevnthvPnuzfVoJd7Y9iW8sVGJ5Ak2htNLTntCl0ym7WVhWOOptHsPv74t5O7zkv78Jjs9PflmhO9XblkTQ7QPQ33n7PH3ecbYfl69z93x7d/9u7hYD/D3S11kPw4gIDg250j+/Be/O+nbGuvWXKoeijQop/s2y2RjTF1kGrp0HoAg0Qg6JmUOzBHLrwbP+MygAgMoXioi5HDKz5kkSSSHZIzDAPfBjJozzeAXYMAEX2YfnADcBfoESpfAazEFlhcNwQTnaQvHj4FhW6OUP1n+PfansE3EiEFIjUQZrpcTLI9GE0j/L4c+AwQIdoWC90wJYnaNyvFj2d6Ato7o/uLpe9ad8HyEE1J3iifb/Ar608+V8uv2Y9P60e7oR3cguno2Ob/6/kdbEfwy6H3+3q+P79OJw8ODqnLx+9Q5QFgjRLeb9kvNGungP7s/IVKa6ngX4GMvgb4bCWBW37E9IxwVs6+rZW6IIo0HNu24tf1OT9THxffrIDqQmWJrWFnTbTuoGeD/l4W7JKyS56GBA13wd7HnuuBwBfy14xXU4y2444f6qChOrc2us1rufGqYmz5DFs2Z63xWWQhWnhyG5gJYUzorXVZlnX0RcJbVcGYcMYX5IhSpRWJVzi9WkOdcTxIj9F5VUUZoWANUHRCpsK/9eRfZf3h50QVKTyAdy92sZmGFAbEio6YIfHDrAbqe32KElIthNL19Rdo8uX7d0bSbRGNYBQTTnSOjcPe/VMaMWGuAzzwIcQj/K4MAtndnKOzuVLP3CvTHFFlXiKwjesuDStp9MpdHfJo9J8I33gTpWN2jal+drnhu+oAnaFjFZCreJX4owoPtHDYoiSudYZukILR8JMYHhunsQ2+VM8z2dI5OzoRcUQ7X+jInPHUevYq6dBCOYBYlDIIRqbuM8/j2f8vnHtYxq/DwGLa9RyhMUoYy62r/IsnUOOVdpNsC31ZJRxOOy2WvMIbaPJWIEXFu/4dIe1phubgcx5Ltu8l3I5Bk7v+/I3pt4UHQQqrjo5C6x1Ot1AP/8gv48FoWgYhM0HUAwWGkIdjWK89XLQyfi6/ph/z+0TxeA6OtPGPyOzxTr8sZ10qTWeLvoCL0W88XGxo5Vn6e+IHAmAH+jej3Tun+Qg0Cmmp3QUvxyMH+ZHRQR1MNQI0jEmi+z5AJrB2+TyjL/W5WyK8kGcGlqtkbJiH8lehwHRqNTRsB2nbSKThVmI2VOOncPFfdu9XLNsJISECMwCd/rmmF0QtWNQ1AxCHuRQR2k69LlOzjFx9EgNACRTCBUJ7Ceef/hKCFYAMHAIYpgHPgzlUR4XNYOgB3PoLeSI6f/SZRA0RQnhhgnI6dpQEaMDRpZoEYeRAD/jVjgZDcq+H7NY0N67X1y859Jp2w3jZTXztrlU0X4DelWiLobiDg1GFnERibyNKBrRV7qcC5zImUXyeoJfRg0xY1b2czaQwcIDUKIJpppBngc5ZDHfkpRWd0ce2kSiI5PcU1rfLixkeIMQT5sdYD+zZkiVhtug2R595+RiJyqHW7nLKOwPdHmEYVWQF+SFRQ+2L93LIq9w1e9Db+P2DpK/55zIKDHNatvNK8qs315sl3zk5K7aZ93eQDKEzEWZERel2JOqh30959yWiz8i52/9UOCVRXBCpOYMnLMVFvIizvM+15JfTkEc4DDoLpW97A+e6HW59cbXkQsRKSksmqQBnHJBjuE4AZ6WcIZvzYmTe5hHrmagItEWxNa0LWr4RKBDCzyD9yT3Vi0Ig99bmd+6BVbBSFL9ppeLm7/qllmsSvOOyLPckXYNqxX5fHPCSmwrR2On9ArrBW9Tak4lzZGKO5qxojQ7o9tb0r70H5EHrg9gjMyVvxiZdOVmwGvJIZh5fQbAWi+Dvk5/RVogpYcFP7hNIsrFtHxEbiMScaw41fDouUdY9xHlKdtNXYclSF/9LRfUT26u8POm/lln4RlK5RdydyKTxWUpmJ2co8tz3+t7lQurIG7Qc4oiN8kquusoQJMjOIsDrB0FJZUeaD1Pc+MLkY8lvXbMeuHLtX0V03VD8nkUDKtoSFJdSDGUqgdGTy8zvcLVDtN33Uh9hlDFQacpsjHsTNx1cg4z6IIRIBiY2KFJJJteSQaZVmVXQvVciqHnpZ3PRlHmZCpzXLkFFMZVkrrFqkYIaGGEMdKMdPuPktlXaONYrASW9rqSdJvTjKVvnM9LQvb925tAXoI5YWhZF5DZZKGEch78RFCI5GiJlb6h+uFvdNOxiZlzW1/8FfDVo2oGKUWje9TewGsQ/AoABsthVpmOJoPMYXxVfoXCDLNu29urvN6I7xBhlI4P5qZGJnpgz16xrsLjMptg0v8R9o73QjAJEIPOmr3ZLGQn59rw6aJuwA1eEKawQkzFeutArXPQpZY7XfQFCgHKrBQG6hlktFA2MfMEjOcWGRkfYEqyKNeS9IUZlOZZ9ZQ1V1n3cDnF5CZ5RV3N6ybJVclSPJSqh6d6ysEY++hE3PELDFkjnpQE0hLEyN9mPnHGNx/O7k3Bt1KessygJxPhmcTEHMLlKAH3g8PTL5/wG5GhaqiNUQmjiVFWyRFjpN0RCLuZBUHY0Qt2LSKLhMOliHRbmYk4QL453rHLOTC5zTx9mMij8THKCIAFwAJgKTnk7AihJlAQTCfE9dSCK2RMn2pUsvLRlCuNCgZ0ywXwEbjYU1eepeIh02qJlTblD6tvWv3if4SQI77tEOEsA0v8c26ykcdbegrb3kTyttnp2EuzsSnWPQbzbIv/ujkehsFQvtCTBCfjnM800vU4fx8Z+jfHh87HwrC44SC8mXAhRd6NuIbasc5Yj4bOYBPCIG8xvNDz17MVpqmiKCLNBQZ7AQPAWVybSGUpXoz8tvCKWnbbhXW48AsJA2xJNYZID0BJkXM7KiQMBV8SfvAfzOQSSkNqOCSHYixx9kscYNCHiI/y+NKL+FxlBvANc5iy2IsWZbQzqmwtPJ3oC+A5RYA0NAuDMBdbrDxLxfkWnh/+ppebkcy3EBHWa2ZOvzJLKHW7It81uW7JVqMEDXSl+vR01LXZWBJLgqz2uurqJklO8txd3qOfd9Hc/yDMgnLaD4ePnv0fPSjI/uxsbaMLZSdmyQom5AFNRyb3NqZVA44VcrwIWIgrVFDZeULNw0DPeCruac4MPlHl93l/SOKVEZG+edkLQYaIKadt169IIJxcPWESCWVfbfHuFq2q/wbzVRV1MRRh6GAKRLGIOz3tGz3U9fTUxQxjmDq4ny4hGCcxlYzW8nMURmh8C62GEcLsjaSPflXxqNl0NzV72S/qW/784v/DRMw6677GvY1cmSlVstGoZtug37RJbNmN3/KWwh2J2wFEx1U3waRTBpvOzCkltJKXf2X58Vxi0o8v++iuuCm7ShEDVWi0Mi6J8m+IXyXqYijR0GDcDvlVXhcpjqdEngZljpAYZWyuVUZ37sUkCHR1g5uBj0cVchyBkzu8/yoxlsPzvCjcobvOdPVCR3Pm6WLpDFRyjIwlbp7A8dzRFZzp6blb8Bm1Tv66pcZ0InGp25GEHRqi49RNMOlvnP2ePwojECOJsjjSEkrtirU70ktQIHvvmpzrix3bW1QKJxepqqBWRBiKNzQwsjiLIFKZeIuRF/ColDnihNGMFR6GFM3HsB8QPhV4PrgVGGP6k8ic/e+zI5OrQrlKze6oe3Xw8NqqYlFns6iNnFid1XXRVVO3OU1Z+tEVbP+naQolRcBFRWVNrpPE8rfzMBfCxTM4OEmSfXtGEEmUWWSzybERb1Oav4cragJZwXXbgqsu8M6BfuV71l1CU5BXmaEVlM5yFvxJwKa4jdtmt71jvZaw0iboVu7te8lSXJI6P15vwBGKKYCXjTOIjxFMp0vMnI7M+TiJHdEmkjvBB54VRINUEYuSFVXpUR9urjbjV4OmVVnOlh/B93FF+0TRINFH3IR7rGbd29eiHQvHHUc2waTQBRIAg2dxF85iOXh4PzTvSkygIDsmrgOCFXSghcjLSWllr8I6xAvCu/BxsQOVs6SqQtVs+obGW3bc5bGX/f3vz0ClF0vv+BxdScUc34hv8h1+1f6mE92cz6eN9TfHb/DbQdesmGfBxcAXchEX834+wAf9gs4mmBS6oAWIwR0okX7/ss2m+o1IgYtHcHyQ+PcxrNhmkEcS3i+IOCy5id/Qf1VFvTcUaDCy1BeRyALQxAjm8ynoZPkp0dteDgDrxRjwYw4wWSWEIRWfG2ZdcW3qm1O/4D/ob5VtuW2nw9VY1rJeFJeoLXg5JGOJ82H+PcrjByTNsw0VwS+SVev5NIvbGHo5bGQ9qSYjtILueT4XuNizur6JsLCw8OPX2MixKc3nXGIDFGkBJp6/FOd6fr4UFJTnk5yoGQnNMliJL1g7QB3z1wln78V9P40dKq6FhIIslMKbAgtT9FIusZ2QJ6xMcjKVzneY7PIqI/884Z+NLBSDcQYH4ZEK6wDRa7xd54Y3WSukyO50Sw975JQZsZqqRXDklXyJvtSehDmfRQxodyUUDSvv08XJxS0MfXh8kI+91tRuhl2IoiHEUVkXcf3UYFixYlWuQ/slv354ZfXeo1KI6G1u0DEdkom2cGGOxOEh38Xdy9qc58J00Z9kzlyZniUjmRUS+Zy0v92ke6ko00JfV+cGvDjQwxCFKarQsGLNt9RbInpJRbIdOuukSy1vuugL3tB5m51CX5F++BuoaZDRItnEzBMMPfdFruyUuyCZHs1v5jqhGX7YBVdiDrmvWHW13e5WmvQUA301wlxrbrpCM8j0IIf0cFXPzsNpxZqWoLQLVCyqDl5U/JYi64ZPyOmI8++xZSQR1zaxmCSSSSGVNNsSaU9H58aulWCkPSPSRhJlVtbs5NwQFaXiTFKywIycGI1ZvMrnhD75PSkxXxhlcCDEi2cHaB1x9TTYz9wAg46b7UQmb5vW/HSFxfqWUGojzqY0X3gV/xIW2GJrCqmFjZMIWpGcgruTRD4kIWRQ9MXih7+xVOLgep7GBS6OQxjOgzXNIMeDOKRQaAWVtvBtTdv7VyF9b3ac3fe9lHWux2RH4DrlmuVjW+GwIke/wX9Voi6W42y55M0/eNmPxXgOKXPE9Y1mrNACK8wwR4YbzZZNzHxI0+EHVyH3m16eJLnQ9yvEpc7blsWpGc+bXQF21H58XFE4FsW6kOtp8F7E92m0P+yBFw2quq04tSVSulw9YVHiJB0+B/6/eCu2rM4Low8OhPiStQP0SP46QDSq3UbD9m7x1lBrXeBXTq+isHD4KzwzbE1K7zbhh8WneA7TEV6ewh701/vIqkbXlBvvFfrWxxGWkcbKtpS0p6MoSVmyHhp6eir0TM46w6dgYLj6gCrlB6QAjnh8y8xr8gLnTruOI0BHXCEiuGLDV4ChzOGKszQLZsEsmMEVGOnMeeEti7eIRBaMoBnNWGGgoUHzMNjwl3pVu8McRuff5k5TwU+2MYBWQMkXlC3D/kPwzgIDA8cr7ASTzof9LAtFSLKQoZgoTxLJCm2vgkofWtmjPC48AO1rEtMnUiX9IE7zla/+yjWha7Mi0O2jGdVtIInqbwhelahPRW0qsZThsJUFLYJIU1hLTVpBMUiJPBRljugyythcq4ruwqsqpeSTsCggu/mFHOgNF5TFm/8XiipzB7kviqfMLgHDrS9GMBEkiWSFQiqotJNO19QdgMidystCr3C1E7xXM47H/CYhkFx/QTcQvBVDKKkZNIm1XHH0coOfGbOwqBich6XbgEA8L6hze6lPqylqnZAwyZTTJjeT2cIsObOTs3EzjATxiZUJJIUU314fENJLuDlDTXjEH3ixivN4xPDhiLhi18Vy5Sq0uqoLqAyhzWdSYDkJPoJ7UYwu/LjWA3X1zJymJf0GN0OCjhSObgK9XPoxDLPszXS2Xw6nbM0WyRi/nD6eFy+6aFXrSLgTXc7m7hxPlcW8GHlnh86yQBgfb9w2ulYyyMB05VoPGV3i3RtCZwiMJW7rVuZxO6y0M3SpzbAu+iKkeMhQDG0IgzDTa8kgU1VW1NksaqErbP8HeVzpW3J+8b8x26xnpSnEVmYW4CwJasUoUVSmwL9++tusfyWve0LQoiJHg31GBAMcXDnE3HAe3A1XV+IY2oK3RWRr2p66bUqTMgnYreNaJmQ9r3ckJGJYpHQFM8sqiZMYn7RdAhbJqSaXPIdghvOg8FTU05wxCzabHO8wvUvN4PcuNjILz8Kz8NeRPpYbflZ7OhBOfKwGzhEdfiC27ZCnFoFcK6hVir4/g2tHXfAZ1MbQa2mu58bAM8Ze9NG/lCAqR+QYzVihq0i3AzHiz55lM0S8N4MbyGyfdnmPfg/UuxFDcWycvsMIeENm1RJWSwpeGd3+2MSYXm9GMofNTL1iY9013Dtw4ACGRzGbXW07u96Oj4/dev5v/upO1r3Jl2zla/I3kvFG/k0oeh49+RiOFbjz+cSDvwbBnwcEA48ozAGiLipzxc1Z/7dzPFXmThcjL0byeGQopsuTkczbJD34jHztC7Okr1wLez25IMSxzNWqvJgwQ8Z3W5wiiSXk1rA+/RuUV4m6WCJ2SSQ7K7e5PC0wApQYC1obwQExg3OtpekKieE64iTNtPQ5N278jxBmoZM3mfnBvc4wplAv4YEXBl4sSSEtPLcyRq/X7g2m0FtAi3D0G6vXcuc/7c3PYJZ5nmWh6Ga6t6IpQrI4MhSHvN1wHhRGS2QTMx9y7vDGpTYxkX4Jkb8MUHdorcD90qi8lnbu92ZwMb4dSbVDQxyjEA271QHXo6GDyNYZTZd0Fz0AuZpgalbUbHI6e/d0qpSVf/PCNucZQnZt8HVAweXFZ6Cy+OWQH4LpAYWBeNbsAD3CmUOIXThnjU4UXeh2gs1kpgpRkGgw5uMt4FoHnK+mkd+jB7/o1nPxq3F8KYlxmLbtkRmzkK+qTPzoyCpMRdT7BYcx4RmoDUZC1PanPaW15EMUkBfkqQdaS7NxKJbRcdmJ+RikdDGdU8r6eImVK1ZBrpLdVWrXWF2ndyOqLVR3uOvArFO6CkBFCOaDFMylSvTczQypJKC015mri65s3SSxJB8EQZsHVU9zGln60aV84GoArC4DQJMpANpQUmthubX4Ty92Tb7rjrslYgTNNzV+hb9DQT7AB/1oWh7lcVEzKPEgh5bhmUqCSHtJ8pKlOJZqltDs5Cx2b+8rad5I7cb4wDCBY4NkJIQQgWGEgaLFBrdNI3fvN1ReVVEXQ2kODUaW2iISWQC6N4L5LArsxdBHvyOGjGasVqYriQQd4/ThzXFTlOIdjHHg5TECDsrT3kaJSxIPaFd3nm0gE0nEqWj0tnHlhsDDQQApaAihI+5tAGaQi8nIWVIBopxWItUZV0YjshPz93BzpE9f9r1rYq6vECY1PFzoaleqCnwr2a3CVuLkN9CvEnUxlN7QYGRhFkGkMoUtRl4QhSXaYjYl8vCUDSGuaq51gq4wmio7MRs3p5QhSq12h8GkDNBpFDiEQ78Ipl3Amuese1c8Y3YdsOBYyHEc710wqUnrAGatJM8lk+KdVDzw7ASrdmvUHySxFibmQ/PmHIq1/BmSQTDUGumXugS6+M//Pd+yqupYNEwo1vhS0LcjWBWJhOpBXqyYYDJTRT1U9ewEzPEmCimyPehb8tYj7IoKnwWr4EJfVqIq5Q9sTkcUaFIderrDhqaqUjU2v73ywLPjw8fPQyfepa9e7UP3dONahvdRl26X9fQ0b007uN76TfN+Zoyz7Qb1VajdFf5e9k+5qJWJhksi2cqERYjtsN5OupzV3BxPfak9RZQFi731yrP0oKc2d2H1n45vnRIY21T9vyTAVKjZClwrua1iVqJRhaLtxcRcWHxi4uOYqIzRbTGXEnk4yuxl00e/IxhGGZtrNdAV0hSlzxM0PXd088Dz6z+WBB5Z2RZBz0MBZMw78PmjWDUHPwPcfOv8KAWR8V7CzjJoCQL97hH4NA9zevZZALTc3NXql33jmrrXd3hjVuAEAzoK5roYqcQBfsGH9ce/of6qjroYSmNoMLJ0F0GkModbjLwA9IsRzKdQ4AiBUcbmWgfTFXp4rKc0H6TPuQLjL7wF0ieXgdAIOH9d3oauE7hNp8cE5HnTj+wIJXG5o6zmUEFC9rsYKmQ0GEmB92FfL0EWQaQp0FJJMyf44TximMNthM2ojBV6YPXsNONdF5TSS0rVUU79QwrANHitOPH4213me+R+z6pF1kyzbrF4+uwqYLj1+xE8FuU4AeaUk0ue2xxe5XWhje/FSjItWYpFqXjgOYSxK+9wvJuanW6RC/Rrad9HcNfD32c390dM4kwO8dlSLoNY5IUt+MPaLtF3ubliovaSSLYUNx5lzuI3x1OXOFvO84IsLtkfxS0OssgGRjEtcjyan2kLzOBzkLiRQ2ZuckVlz94pc+cfViPWhD6fx/BgEUFkSxEstUlzFt4cT0dZjYsiLxhRZTRjhYchW3PDeIYPc7iyNtS61F8BSzbFOJLjP5GMh8nB5YqiwERFCIoKC53itV5aVObowDYOGZd4BWELqeiIQVsp2lWs+SZn32anaKyIOLieF3CBiybGSSLZdJiMZN6mjZLYjVvKESjzaNzV6mC+dHOeL9zgkpgxyE/cqcj19SKg6yOUx8QcJ8DTfM7k2woUVHkL5nbuFHoo6ukpyNOc6VtylqyosRGyieYuf+k370n5/fgVxo/eyJ1NPIfcOhJ4M6Kqa1trFEAqFF5EfMrQv7BaRCmqyh4F/5XFyhnxLQwMDMaM+/YaRbT5bVpgcbWW3JsCax6GkOa0oAibhxUb/gDb0xKOqZCTTRdBi5VdaCyc9JH0VKbveuImT/xZM6x5l6rQZeL0vT84Q7V9JmHhUBYqmAEwA2ApMvBugUeZqeW3WUNfwAjSd4GOr7kdXvxqRbzpp2GsomJCb/iRIu8Yg/trIncDjZQf3/vua9nejRFamhR0Y1nEwTUxS9KUnPoDQRAxsfJmLIUUKRRTkcruqQ+43feRHbbD6YMyKQhkPMhSKGM7HirIbQC1IfMkB/p5+J91ForBBIOD8GtoxzjehTjGe7j/gsZAxxokLmRQoOLOUY+VcpwA2yDa09GFPn7D7Wjl2Ys1V61/fH2DwHlBSgLCCYHi/KNofVacycf/GKzaad8ZsXbUe0OBBiNWPBy2ygy2GPnA1LtcgKaCUSebA0dvREhHOM097Oj5fnZS/sE7KULPvFlGm389gC+lEJ5KVDPa1pgbqwMPA7rwCCu+3VUpvtFOhSB7gICAAIF4kVA6ycm1TeEvlTRngefydC9RU7QHQfBcoFwcdOaD2zk27tTQbE+HDNwJGMdpBmmHByOdGwxv7dn0lc91FlWU3xyH3qP4L11lxcilY5+NkG77ltV+I4g0h7zc5BWA0hDMb9UCiyu2BFHEQ1S0RedlS8wGdtJT5BgrE4Ay1kM8W6x1WXDCDHaKQ+QxoGeZALIz0AvTKFS6JVeN9GYVN5c8LTACUIylSUO3PBo+ggFsKhUwSlZ4w9vsFCIjtcRKgpz20lSkW832Vm4f3c4g05NT3mDHD+MMCV0LR/6WzBu+/l//wJr3rPvIa0Z3HAWcWrc3lXZ6ioG+HsFjEMcT0IV37kYxlqJR3tTS2ZEukryXLMVHqXr4oKeX+V7J1S7u9NtiH+uV8p55OWbTuh5LOZl0dMFPY4FREeI6xXaZe8hd+22lf9V5XQwWNhyEeM7sAHHBFTejeIuG7VXsvucH68Kup4F73KfRIaUN50EB6NoIkqIhT5RhyL2f2nvZxcBeNqVvqhBXmYTYZ849ZBqVy1WJdF3c3xz2D0fdYHTLAzTu3IlYa6+6SR/iSq6SKI0jTtI8GN1QBRiEzaXurafQEMpoNBnHSWjQyINKon0dcdI5UhddEd3mFLHUK95u2sTrwwlHwoTyRMVB3bZdyU8OMIW2xnGpIbbzSX3tbzaFuNRBmjdVVkhR56q2qUo7jRll8BYjLyApQYYCFXeOKnSwCiqtsjYJ1Q7Z2nAeFFqQhBkNyU7Mj9Hthk5WshxwI+36knvJ2V3Tun/oBl5jVr1RHnwZzmutbLcCKFNqe1KOrljYnaKZtvIzmGWeZ1koSg98KIf5HckWIy8gyUCGIkuLiEQWOhedi4FCg4bRUtnVnutGOh9CO/zd3m5ahOvq38BPwU0lQWbSQRAiP8ExGUiBrdPCiRU6q9jgqYwlEpaEZDv010mXWvZ00Rf4OsUPf0MlMAgznkgC53wj4C077vLZy34hMlxLrPRF9MPfQAOD5gnOPPfNbi9lcOCT4AnvOgFu2rh+3JxESYSp8NtFeWbha5Jd3BThoWxWzgiEJqiC6USAUxZxuRdERK9HHYoX3qNPK8qr2F2Yvezf7drKsFLDO4q82qt+UzcrgRXvEwAiRFzIVKEyG1eDbVS6ty1zVLTYtTEQkxVrvvR8ngtcNLGeJJJNb0gGmZ2F1KRUejgUyfD0YPDCi1f5U9v6c14WZwaoPcghCTTtO0tp2mfobGZv3xgeZp7GRGhbKohs30eJOcHjJKLwjPl/W+YtcndQyHdFtavOuqbYdYW+Jts8DcUeuoMpAN0Z4d5g3yMkAzyywLVn3taWpChZioJU3VU9qoczPaXJS59zk8Z/Aey3KZXS8Mm5F4bcBLiSyfdJWULFRgXy6sCvcyT81wexkHKis7Phw7YrQKPKjobt3aRrqB3y3sp7wPdf1KhzGokHGRRSSCXNTj5d6d43AxWlNsI2pXnj9jMM5qlXzf8/R25EBDeWlbUqEROibfMSA54mSHQnnk0yqh7rqiDBiZMiAIbfJnVHCDzIBs2GPoVEmc2htNDqAJdBR6iMMuZukOnM3AUXK4kCHXHSWaiLFJJUPfB63lMcA7t+/8DFCJyvoQ8FnitCdJbeYsY3GUSgV75yK/itFFXEqhjdKm/uRcq1CADPw9HXZNAWO/L9zLiVxSJK5PEpc0DEoCN6jDI211LQnb4gU64MRBtkGMvw7jHIgRto5KOkMHsghEViioJrHfZrmjOn5EBZpJTbvWkNhQfBDwFgYAiHk5wy1t7i4I7niwtcbIkwSUg2hUMqad6kUUiRcxyeZr7LLtc0gxgP4pBfwX7NscHPWQDBs3gWL75QNfF/03Jc6DFbS4xi+e6sGDGQ6YiDfchH0gG7WzgGu8s9QynXVeus2/iznv8G/lWN2l3277GPNrpiKPzQwRSAno1gPkLBPR/hgMLvBtWOaa+VXG0pNqTqYV3Pe6zX94KDZK9f0/BGnDH1sRIM43f0ZAgtjML7U6EdcnjSEcVY2X3tPL5zEgWrq4bbxn9Weij60A1GluEiEnk6bCYQ0F7T3ptO3QzncSPSdOzJKVtmzDjDShpLur6J+k3+jA3+yHHIJrP7BDuTpCzMb5TTs5wFFv1htEw29GIsoyC2DsY9QS7jvJ3FLocxGGnwBiGePTtAPbDzhGYUtGjYAz5dWUdfPQ32szeQwQISFjIUO43pSnfhAUjVBNOBLK0sJltCqY1Um9J8xx2CTnYy+KmbWMnUzjlYOqLNc7V4DIUIw2yWyX9snd4OcOssd+psWfhpOz8zMlv0M2irhhh5VWbf84NaO9WhD7Q3AANxnbq2elmZNz6G2hmDMOOtL4FzvrG0t+y4a3N72S80hBY1wliCBe31VdAv/je6Q/Q9P6Z6NL6+bXfhSDdWs9w89+kJBKiK/UaITQry8vgnrFXWt7yllR5RmsOAqIvGXHFz3NedYNIpdzvNjDLPuxj5INFaPpoCVukhSXWhhQlhuvqJbpAgQ4EqzefSDfQbg4xWl03MPAll8vKz/aOwkQb7lrm3wr6O2q2yrs+/gff5nrVccxhzSI2b0zCwYTJLjeoPsz9t42dktiiJPTIU6dx54W0MexxizVFbLnmOsDbKmDL+FpGr9b666IuxHBJBpM1UWtJa6IvVD3+jmbKJsSva7ki/Vxz2LySfoBoDmuBJx2VWgTaJCC0phm/gjqCDaXfaM5QgIVmc2SDQ8yj1aIlJkppk0yVkkKkQooLKztBtuKDbYFuv5htLnELECiptSOk97n/0tFv50bQ+yuMvgsPqDQqTcci/mFg0obakkt+y63kFOpfRcHTnpCrziC0/FIJfAgSD7m1rZ0n8HUxjZYiDO/jmS2YPIUKNVTwkVCuVoqd719oByNAEpppBogc5pI1HYiX4QfvTc0LPPuTQb0TlYz/8amztAtRi4LfXczYXb6UXExY50AE49/f+q69RhOZrd37wNyTkdM7wGmfEwTWdTgaZA/la8Qk+yaf4Il/iy/ydf/jPoKuyGqt303LbwdfakxM3lrjuy+1yGOUfXPrNy751TfR1fFLfVtYVAieHSfQVNlqh3cpDC3r2gNnXXPR/WPNfWPcfXmHwyrDihuaroi6G0hoajCz0Iogkh1zylNnqYuTFotBEm4+hwGI0JfK0KZtrPZiu0NX/0U2S/yJZiv8gVZqvpRtNlJ2YozsylH9vb07nlNnTOMq7INibeFi+sg5+f9+4e5pOZKOhJTH037Z1NnJnPn086ywU7jZbKT1nRGw5qpjsAr+WUkkq0joath0AcE3EtAvXBxK/fZXs1+HYABBXPlFkCaWddpkO09ZTZpBfXbo++gYAowjGERID7hmo64dFqRPpN7A6V3DWfwvZSc7e5BtRDRqMLNIiiFSG3iJytcC66Acp2vKFFLhXI+pvhXEEJ4MY7dT3s0jSr5AjvDbHwyWshtwW4LPFN+qWhbfzbEeZLWayUpjgJ/macVy7WgW1KwQSi7tTYYvjLmlHQh5lTFng7+Z7RTbqlmslSRsyFI912+MEKJSngkqnacxkttC5wrkYKDbI6JZjEyO364s3AfScWSyzyaGWutQP6cLV1ScfnXXYjOaYYGYAAGjtFQcinvZ/8eTjydBWYWR07YIEqwGkoudfKbXx7/51g0JLaWxqSDtjPMCMWTkd5KvT1x4aGOxXZO3ocvc1jp1hJoJA3wU9PDW+Id7WtH2IOolkgWzzriG6puRWVvsI63r71hfcZ523DsW2qjyMbbb7Xah8w0ro3XJajdwv8/9550VnFXTZ9r6ZqFYoFUmSyhjeOMRayhqPMmf5m+OpMsEWkbvE2nKeF9DkoA/GWjXX0tEVWhgKmxOcav8xd8wmXLrZFsLHZsr0LbAipwmxG2ZZJr8SorIPyKgDugG6DRY0pK+ysNv/jBfI3TISauOCK256yMwTmlG4RcO2jrZ6Gjph1rpNV4oe+1kbYNB59p5NC1NNblWSGJChQMWdo3ai6Up3oY0XYr0j8G5qdrpjflDKR5UCW3MYQGyNxgJgX1kaPsE33Q5fEKoLqxS1UlF1h+uFK9fggIh8B1YJXSN1nQrohxFKEgQZir7m5of/GbA7bNjKOTWeMu9PMD/n5XAcNBJJMilUqXoQ9PQy3itc7Z7l9maWHei0C2V3pG/eMXCwj4W7CopQEzzkvo/xnfu5uUZgUUZwvUY01Ywbh/U20eJTf8CyVbX4Butd/AbuVVEXQ2GHBiOLsIhEFuCszvbgszVnEBeKMiI+XaTqoIxTT3Wt+aw6urs9pEoiqCNOUuxIxQPPObfQ+A2cIH1HP04NL2SMHCoUxheNGWTHtrMDQ2jg4gs/rVMUEl9joDq/MiqxaqsYlRwUODjPO9qxEQLv2O4NjwxlgAYrZymby9OCKAbR5scpsDiakoOxq4nSI6YqFDWbc60BukILDWEdXNgCVQ1y2io69cXPsQmJFPDfwpseysRe3rutA2rQeQ9kSagNqtheJGe7nZDvmUQsSTmEh2BhAAyE6Q0OQjywHSCOOOF8xlUOgUAA4DkA8SuUKLUcR28ik13StiYqUjQwfl/tDySaj7KAaxbLW5LSb3YnKL/JuIxyPun4OowbyN7I+MZy5X2NIKoh2cHMq9jGGaIYnvMIpCIOnvSFSH+oYBpiH3QdP6qMf3zzlc3KGfRL5AqMLMeLINIcxnLJUys7XfSDYG/5DAo4oMGgI1KMZmx4shtRUUc4ScFLPbDKGo0pHdzEv3Un6pMzlO8FFE+OruttejPFLDILNmI0gSJBvCKKp6WFQLuYHfQsnYpN/XR4zDSzKoSvZOWMyCKjimQ7vG0nXYs5Y5zDU7UR66Iv4hXkMA7vIKNWLoIPQSeT266YPdnvp6UWaMogg0yr5gk6njvnTvbw4dVeFjrv1F81AFfh9XzF+eA+zz5Ko+dvQiGHSog7JmdYydPPNcMIGF7tJH7bH5da4Who2y7iVGLvN4SvatTukn8v+734aVjqcLA9wxwkTFg5q7u5PO3si2GQK3mOKHOEEaNmrrU3XeFhSNBcCyVh8zCO4R/eyZ54IrejW4vh89e8Ee7G+jeVCowUEEm4OExekjSe2RPuEP1gNSGBOt3yEzR+xWv/mB04y1/7XfHvJft9zMY4E0wOA3eNL2NWRFmEpAMZijS/Gt1QKRiEWeUQCdVDUapShaDOZiHBT7TXGdbFaJ5sYiiHH8HGne7ydituqomkdfGauLszN++aTk/m+vq3JnXrpNhmMQQu3xYV2PJbVnn6b1mFq0TzyFn7ZfY/r7zoal5dobA3axoLt4gi0g7T7aTLWZnN8VSZ/haR+1JqiiiHl7JF4YhmMYuSxzwGZZ8/zX2FFraEHRw6jQjrCKd5WNLwfyKwnMJAwm5S5mh0ZqUTrTLaHeg0cndv8GBVVkt4soReswxijGoju61JVOS2creMfzpjzGDW5XbPc1640dyooi6WVGnJUIzptBxiTSw7iWRTOmwqaeY0bi55VnVgJVR7q+re5o4jJTvKmLPN7hxP1casi/62SJXpKSQYa296m8sg0/Ki40dwCcs9IJFhodnpV9J+mIrxcfXPmCU4IUqu0/HEdaQ0VN1jZDZOkdeuvilPGH7xkXSURtt+Zb52K0StTJUEVUUVv5EcqqgLo7KMDqYrt/VaqFmkBhbz8xRYnJqSkYeyNhDNoNOHUpfLVlCvUj3M2lpoC5OGkt5xQlfLLTaviOX+HcYwgWkQa26aQCgwQEN5UhTGO1ESyEimOb1dU1Wodk2/W8xqKC+OjqpGQnVuFdaGrYu+78E0GgU6Q0PO5bwu+GzlEHwIlOrR00UxZ/BTSdVIYGovSV/yvlQrvUR646NvrH74my4xg8wOV3r3zLELaKHHUlQj7fy+b0SPNhQedJUreJ/42jzb5QpK9a446apc16S7Pre/pnTHGaArI7THkhwnwNMwZ6ZvMxYS6fV0Iva+7CxSK3eK2ngmVmdnuuiqrpskaclS5KTq7sSjesjp2YW9XOYKV9v3WX8wJbbmoKGVXWK7I33zztZKu+Y58Wg6Q1gD1yAhbYrBBdx+4nlVvicPwlPPymKN+j3/O+R+ywuzKNRJwl+w6mRcnyd37P8G7VUddTGW0SIS2T2ga4PDIIAU9NsRDpjdJkpGrHtD2gCRQS4G+R7fP0Pv57tKZ/u69NThUtzlpAYPPKWpS59zYeOP7pyWXOA244P5/61rKT0n91mtG/CDp8eBGiIzDEaY/GToZMoSwFapeJ0KLSO2/paqSrLHcMZb4TZ37LDUTrroRkqPs042x1OXtLbMc7X86aIv8FXCD3/bdGinQwUdJSu+ofKWHXeZ7GW/0JehH/4GWjdo6GRXJlj2nNU63srtD++6Lmjnz6SOGj4ZeZqNrNTQYtzdjaxl4rl8YWnENSs+RDDHk1AYgMLrbBc7c+huSVfj6JcL53l44Ub6UKF2N3/2sl8sqvyiwQy+dmVMzRxiTWQsiWSrsldCtS8zrYiyCM0RdKVoeuxNSx/9LjZbOUsqQlGyoiqn6mwWR5DWXi9Ib3z0BfWL/79yuKGrv5i2H9MxkQc9zrqP+bzSbVjLVQcZWT+Gh5epk0Lt8OydkJ0q768RlycmbtJFzKBdrHUK+jXfeA/Hj3ClKvaOHb1XuPjKkZW9woCDMMWPTSXNHBPNJY+bFFLkLY97mztu4rYVTYGzg7lI8uuRoVhlYhKqnba7mcwWOuvpoq+H+uFvoHcGmaVjNjnyvLeMH63VsS71L+VuSCfMtTSuq3oD7dtE3wR3U6PgsXGYNyGiwuCEyUiGfoGtZYyhTuGqfPQkLFyvV38a8zOV2WKJGksi2Q7VddKlVnu66AuIaBxx0guHNz76Wp4f/oYawSDMeFUSONex1E2BRYkV3xjxlh13Uexlv9CXox/+py79GBUxJlj3nNX63uK2D3V89Orjb+kIctIc67Pd3Z5ufmwGcQyT2IxhEsY0jfgIHUQhBjydG0Y/9hgdg5buLFmb2W7SbNikcbC1qmglVNuBXiddauPWRd8XyhoxFkc46RWONz6GVsIgrCPGmiISJVZ8I+ItO92w3w7l6g0ffVPrh7+BugZ1p88HCTTty6dv7D1MNMCT9M/6wFy+p3A/wt2m7YzpN5W6awr3P8XAq4igxarmXO0chRMqK2dEOctLJjtZvBTSwzN/Ap8op5XPaIXmFbneHSrT6AYjCZgMpXuimtZcdaIv9hnEYSjR9hxx6u6nxlIgApGnrsc0KwdoDDri00YzVmgI7WiEsYchS3MtGMIM0zXcWrZ1Uz1ihbb4pp7+f4QHAETzYv7DOLifz3AoEkxUeF5Fgetyv+7HB+PPGt2SW2dMmyYIBAItQtqs15amCd3QJAzCxmu4zo3WHEuLqfX4z6iyV0xf+rveapdMP8vhSJt2xrX0EuiNzxk8PQRB4cp00Awyu0v0i9/U5z3HALlhuellhXmgozcp/b7LbdsnPo1grq6CBFPAty8yq4x6i1yo+4IUinKtSdGc2lgXX5w1qhoJ1blVmN7SeuGtFpku+gJ4uSJAnjHBwOHKaw25zg2lavTYm5I++gc8t1KRFiUrqnKrzmZxhlCgEcYiU2uJlQSi9vrmnR/+RlfLJsb0pBnJPMJNrZ3VsLnS9VVNIDnmQCysvLh2i8/VgesY7+6SoKthGI2e7UpmK6P4Yddh0gKAT7l85rxCVjFrLWRLvxrdTk+DN1dEQErThW45GT4Cm4vbQqtSr9Zjb/n20T8seahU5FaZlW4pRO8mN0NoqFEw1qbiYSXoay+phSPrm31++Bvd6tjEmM43g0zLxfIj+Ep3y/5rnCcWb4Eer/ZbGdei9DNoFkPorF9AW5hBuR6EljkETXI4o8XatNQt2h9xq/HIcXevQCdbg6PWCrOILNYYGu/z4ovxprEQRd6lrIZa6/RXT4P99A0wODQ4FljkzB9ryJRndmX8g3/yL/9tef/hvz4xuf9n3AlnTDLltBwzzPq75f2RjT1PcZozhlk0fAC1KoutWUJpZyDcPzs+efL2yQ3yliV4n12qY/fAPN8Y4oy6nIcezSKxjKkvbeNpOb4+vNOW/V1YcZVVt5Dh3/drUaTS6gxW3zTYxFgzLXa7XWl6iuGszfaemdxHLK0KRBKq/SnIT6afypEs7yu0MCvsHtw+hC33Ordn48XN3VWPth5u6SnNHeleZnuFq34P+wOJdvHtjvRn7G7t35IbVmYa5QHA0RxItKgirEBcF2fbx4YvFCyWCOjKTfCMcPWN4d3IbGsUEmElRcXWFDxrt2TFODg4cfZTrFYyXfQF8MpFgDQ0DYMw83togdeaep0bNpe0hdZTTxoBAQEXuchFQkJC4sSVuyB72S9qCLkaYSxSpCVW2hQfVt/888N/6OhVpiNmJPNn7G5NJ+qVf3zp96/2wjVw11K7NvY+grmP8u9B6nV9Sk/u1hRv87q+zhcnuDtDSGHkzGwXWTMzTf0ZzKowfiUrA0lcuUv4vewXI+FGhmKi2pJINgW7VNIsxYxHmZX8iRB7i7rb3LHDp3bSNVBLlS8Vp4iyZ//bYl88clkqLrJtZ4mVNs0cViJJR5z0jdcPf2sLry7153D7mohp4/5ypyd26bqReUwWjk/LCdGLawCO404eMzqizo+ssSW6z3UPZZK0ENa1/x/33zXv1WP+Qz4WgzEGB9FXtWbEamKHRNixK+sIq6fBftoGGBSCRQAMPM/jAhdNFJNEsikIqaSd0RuEhFTOcXnK/Fwrh66nT4egYoatIcdGkk002yK0NW3v3Z1rei+B+5OPxPkn4H/rnQmWq0tQWlmiZ/28vwQ1hEAIZmH5FXS+rl/Svd1jpYG7henYjKFknzdfaAZZO8ihzuPt8PzmCM8pOOuCzBU3vxUvFIZRwkXDNg6YO8VLRKxYlffouz81ur4EBL9i0M4zuYCLXOYKV4cidGU6nwwy7aTQRbcTIJOZKnqTbiFFCgVWpPKb3fl0gsHEH3kNNVQsd+HuDjyYigH/htlMxTkASJpDJMhq4qE4CI+Z/QIfOlTwdTUGZNngt/Uqt/fT3vyZZvYMaBEtWuVu6tjLfmF6yXrhbVXxSqj2Vqpvc6cbhBo8uwggBe2NYKgYBmFeK+U6N2xGaKFVBYSSFd8IectOd/A0L1hv+HS/6D9XIM8gLGFZX6jlw2Qf5fERLnZS3pmED+eVrcnt0SRxuaArT4dK8W+PGFzgSSA1T1SZWWfpOhbl1dQmcm7JPSe1fvji7KlqJFTnVt9daaDnI5DmEHp3p3bHc8sqJDtea+x1blgeCn8S3ClIJJL2AqjBjVujIholK6ryqmbTNyBvp526Mgi0jopM1BJWp5iepCq9QL3x6cRpd3C32szWJfXn4GI6aVz5hYZmualxE/TVWzGBmDjohagdV80EU3KSPK1cpdc0wNYT0BoVaHfOSpt7QZlNKrZs+rlCPPlO5qc1fqaZVUF4JStumv6taLpG5xoHAZpDlszZ8gWhQeP1hj5sXmi8Cx99PZkf/oZqwSDMdA0yyLQcAx+BUivr8Y0eb9lxV5u97BcaQk2NMBZJ0RKrU33x/LzSi6w3Pt1c05gyssyTtE0+5y5PH+Kf6YWqZggoMpq/GSYpqsd8p3VceF6J5zlFRM2LezYRc/JETd8FXbSHtWLD+3EexwoaR8ZMKet7LFOpvL9H6WGx242N2QVUGwMx6bHOl0No3jwkeJKmCN1jzT1OgLES4uB2TY6uDd3aeLQnHUMKOBS1apxIyWSmarCxX2QTNanUSFDS3oikkVNUUw2PVxZntITSAR2t7Mq77kg3uNzDG6jx2LRwUZce6gMQqa5TWoZolccoOBgaqCwJJuj4rUMCn5CzruUhX36U/wYk+oLnv+Zli7xwVoWS7NnyZ039BuNVHXWPJ48sRCSyc1nXwFmcrXuiqItfByHURDkVl6pE1Gyq1UcndAEV0EJe2IEkasSgu2K37zhhtAz3Kb1WGvsHy+hv/nI/Ur6ed+nL3rrObTi/EbGXcdwOpp9mGoWnlTbs+rib5+dtP+lH5eZtKzoWS6ibOKs2wBrfoBtCKEujHGxjbRcVnxS6h9J3TeUtb+nw/4f+d+G9EPxsAAYewcwBoi7yc8XNVv210e6U4qaZcda7zvFUmewWkfub9n7PHwUkImQoUgm4c9RjBhwnwBRVUkmzio0k1YWuvtPtoP/coo1kI0augfEmuOc5v0f5A4ny0Jblx3Ov1e+F11W+ocOD3JQ8ADCaT0i/65JgGomRMt3I3E0ZONykLqq+yrQkfyZlDDAhxLUKVgmddG9pxLFR1Uiozq3CpcLxKLNDeZ10+VCyR9PjGwwSUolJxpov8cIbH0JhEOZ5MRemi6cEBgubpVS0DsuIKhdbqpwlfuJnXqpKi5pNdyPZy35X2Ouik66yd2oVSW2rEW9x24exPsrjS/CKPu23/Vt434dLXS/PHGgNVmO43jR8dwzsdXMIkZhCV34YvS6zXyzCT31UyvjesLATCmtM1OvOnC1kvffIe9tR9oGz0rNnrcfPlmY16t1uPjs99JN6008eUNQKp0P/6AO8j6Jz1tsqPZqvpzR16F0lrOX3u1vA5lq3hValttZjb43bR7+LvenKWVLRHVfJiqped9Vs+iaUt+y4m5K97Bc1hHyNMNam9z6sBE3tde6h56JrH3huknr8kXXv2XdU3/afH/5G94vHJsb0tBnJvBJe3b9F933ohlUYJzA5meN/MyAvLDEEvmqViGbhN2IWqyr28vUHz/a8zKsx6t7b8fX5dNnD+z93F2VRVkqylp8tdDVG3S7XyD+1C6z2/AO0jwXwKkWA1KNcPaUZQddLjDc+5nfdgqGzX9lcvi20KrW7ntPrXc4aE7GwXmAVlGbhWXgWnsVqZb+oIRRqhLEEtPa6Fp2bpPwj615yR/WK1xsffUvPD3+jG8omxvRCM5L50vDqdLKW8qcv++Tqf5C28X3PSr7veX6kdL/xKr+9Gn/n38VrNvJ30/mP+YMLgtCKVQuicrXBh+TNkZ2Hoh6qetzlc9LUndVLlLXjoHNVOZlqydJMvloKdMIzeQI3TsxruUr5+q2wg8ieq7ve+mlrP4NZFdKvnFaC2CQVGLEOisPWFOOlkjb/4Hk/FvsMKmFouOl9J8vGIogcPN4Za+lkZafGAS0GHXFjo4zNtVroCj+H3viFh6G65lroC9PLlN74GGbPcNOtmUGmuWjzrFWzjvr5kIrD38u9Zu3WTsrPpHTZ5ZjJktVyZEn6qJpuSUfzU/Oeml2HNYROawTtYAq9xFK91mrFGRc0h4NiHZ3UyQHUkLzucmJiOf9/zna5qG987eet/bPOQlGY9OAgxPNnB6hHxJ7QvOZw17nhXepqqLUOs3oauMd9GvvizCxSMel60r/k1yIkcyOHMnyI1qlIF7od8nLDPHDCKZOZOvgAw7feIhwYGaLMUjObHIudWkLpULWp7Aq1O9Lhg+zy+v6XxA/T8NMofhvH7/B7/vDKHwXHDH/GX578WxTDijftm7jmzn/ECIBooCFAaYTx6guA3bw3hWUQXkFEglYd0SaT2AziiiRGB9bmJgxpSkbiOfrVnf68fCXJ1xzj+BhwReDbQfy9yEvtuz4bJQq7WmzM83O8hMtc4SqJ75aLV6D8/uec38/NIi2wCK9YBMjuVh5ZiCByuJeXneqc1wxLUioHEhns9oG03Wj2ZL8fZMfP8YW+ueeHv+kiM5L54N5Yd4O9aHRt5nXdTt/RXb04HBWsfxkvsBFRdyJFsRTGakLtmgIeUYJcfm1ZEXqnKN7fmBRB8IemwkgSVH/Un/XHkbZLKXr/qaUwl9qk2eF2O+lS5miLkZ8tD5qzCBcDTD4z2jMKr+zl0Uc/Awz2jtSMW7H5LJKhY+C+U4RDV0wabouH704bcQ8eQXiTjQvfvep+5vi7wLsW8e4u4cEUdG1mlXI9reuTbw11Vwj3RV4YbWznpAvLdP2gx+mZ5GfK5slIURSrcnD38t0a2Xrqpzk/08wyzzMWXIb+OS/8Cfs/87IjQNo66X/Br26wX4W6Q44bjD84EN1V2FFgjYVfRIgcL+EyV1oicUlIVkCfkAqrkpZQ7a0U3+aOHTbbSRfdSOlxhLLRaSy+oEhxcQ/RokUrcg1yX6KmQOlK8a6y5jZhr/K6lx8tUMogBxW26b6/HjDqs/or1ll+2gDgMgR0mcBFt0BrbcKERYQ73ivLrGbaEse8JCKbTOH5tY+2gC9zEJQYkVNMlAzg6O5YchPXN2WdagqjoL9nYtUVUVZ0E3x7VCyz3KbMEVFdL+/HqMsbfofbN5oydEMDepmJExImnMWz+Ix+Wwd07pvxZ/zlsEyQoLZSIj1noPnw8Ion/D/jTqRnkinnMvI08x2y1I8q7QAgapIXmbbNl5t8agxOG8LJrpHcvm26UDCMyBpJVFf3a/n1FuCaxfGWUCovtWX8qDDWiqnSKoVAniR4YNu8DHqPfy7nsFrvIEKR6WjlZ6FDm0lsr9J9Wsy7aRCXVLnmh1wa9+o5keqbdgnulNCPDf8CEVNXZB7b6CpxnXzdaS5qWzjak7T94HgNl13H3aiaLX41CW3n7BRv083MkFYvr114eI0eOfWUlgjdkB56klOej3KBiyY2JIlkU9o2lbQOOW1tldqODqXq9JwxpSEQCOrUn6sn3V0YW4WqLYGvvSSc5FOQCzR0pMqvcu5rjnVFwW6CG/NDwXRtjoNCF01oQsLvEu6hq2VD/t3jfucWt/bUdkjnHXioBAPlO1Mo6pg4/iPVqGKlggsltNj30c7cXUFX+4YZ2Exikq6fb2oCaDQHLOLyxKcQLKdDjMQ4QwpW2/hdFjfhZlKJyW3mkc3MGq9H5cBfjMwcW871c22XM8ZzXqBAyYob0aGKujA20zhsJaWbDMWYijnEeqnky1wxkb0kkq2stCLEVqVZQrUd2utMVwE8IwiQEpNxxEmv9Hjj06nvVp4WPgQ2Z6WFVhfzKmdJRUqUrKgqVzWbvonlLTtnVAGYYy7nlcREHXHqjLvujmzlyfKDQFH+iaka5pcllI0Ro8aeaHvTdy10G5Juk3ZX6Teh5AAkxAQSYzYazDj4eRIkxwEX4tWmKynBdDzpc09iwhDmu9po3bUk9STf+dwMo2Qa5nr3r/aPpojSOZXK3EDucxReo/SGVY9Zc5t1d9kgd0t9rrkQ01e63TH1YsJXQUJ1bhXASSBACvp8BIk0HHHSmY6LHhg8D2ac5kXBGz5eI3CdG5YT4SNQqkKPvcb00T+QtpUKIkpWVJFRs+kbHG/ZcZfCXvYLDSFJI4xF0rXEShs3xEpQ176DoJqzKV3o6o1uktyWLMVdqaeI/ryu9MLojY++Qv3w97iuAUaTZBNjubp8BIpwiqmy2shb3LbW0Drq7TG2N31v3apgKfhXKj9dDEBlDFRyAKjFFGAyOx+aozizyF4aery92CquFM9LM0k7+MbZPk4xwX65M+coRCtUR7Ay5vyfU77Ddwld+4XBhmv0IiRVzo6PoMDAwBCJvffTX6RJGR7l0Wza3rTotZUYQRIplReVRbYlI+ih749BPzHRdAwzzLWfUz0NnVHb3OcwGVOcFZY/AUaFFE2MRZH8nF8Gf6bVB9eARodGGmbEtTHWp42Fe5mtpB4bzUS7BQx70SGCgYGBgYGJUqPSiJRRUXVMaqhr9PulQQwetghWRoUumhiz4uxrvvHn2Cuh1LJQlVNhTSL9y39ujbfexDzK46/jqTUB54dvwxFqPr6XmX8L8h9xxk2TSyKccpxnxMi4NfKHu9Fh/QH/gtEvA7YGPQDhmkFRzSGMpB/CD9ql6oO9in5oNYBj4G782/nhiQKiMRNneZiu5vCY+rQeZJJbT/1P7P+5eek693/hVzeZv4VGCGYHYOBnUDxDjIRFDAfRcWqNSpw7jnbl2fbo1NdxQwF7QirsdjwpPc9SVO9lQCNFQk4oA/jefA3wg79n0/wdZgfBt3ghCTjneQkXuMhlrnD1WbD4HoVvUjw9cVrEDLOuwqxlvUNFhuLjkq1ehj90nu/86FpxoiWd0goIVL4HdiCDl9wz0Yl4yUtX/q6OXNWep/7G+rxre9m/jv7C8qJ80eD6ujfA3qbRTY7j1FVNICp4ZhywIdLiqhVG1nRasdEv2MVP9DOpmynlfMIX3ucjyEVqFW1UzFWLte3kLfV/mvgzmHWZ9M95oUL3lawM2rJyF/972S8G0x0cRMcMjtj9iAu2Z9hl9NOvyCGXPG5SSJGl1PEo61TT2A1pemplUPFUme4WkavFThd9AdEIR5z0MsAbH0NJMAgzHk8C5zxP5gIXTTcig0zLUfARKMRTQaUKJkpWfIPlLTvu0tjLfqEh1NIIY8w4yKEuO/yzAp0Y1MaqkaNoLHEmsDx3+oW71n1i9yNsRqcVk3ZxukPsxWdktxoTPFGPpwzzM/BwuRa9KB+g/AUX2KoZcStDAO16/KYwXOEsHHS/ZrVa8nAjZjbrkGwa7G54Zp1FpQh6FN0Tsb6500KBGB6zhZ2jUe6vODUcrG//vPifhQU38b+FpnuW2mEIbA4LjyTtAFE/wfz5yrDE4XznVfS+5we7DSelxyHMhnkwbJyqnA/5GQu+ifhtdrqNWwduz7Agp/mq4Vf4G4sjDq7xLBJyrgNQOw6vIkpUyzYm7XQoNaCn21HZWX1DGayWcwKeMu82mld5XXgAgprEtFvpMOxZHHFrtC3wEhxo71egX3NMDmRs4rrVIz2WRD4F0zU4CRxcS16kZfyoELYilS/hPhWd3En5H2T2P6VtMx1386DVPKJyT+swc89J7fsn6Ut2s2E/myYykr6xRkyhSjAVxKbTxWFCfHcnPblw43ynl7Po/F0mTM1kolKoGp7D8O3fHLFhGry6dnfuibs36cHNe3kqcrY8Og0z26x8chkTSKopdA20CaxRtXMF0E2cPCXAAn9zh2+sEeIWMSbgmIfruAJnFWfOu9T6h6vsEN9J9qfd+ZkwyzzPWFDhwStZUe/lf8jHojAPCgch0qtaYiXB6ew9ojMHiLqg5oqbKTabSpo57jaXPG5SSJG3rPY2d/yHzv7pOHMTTDrF2jQzymS2GHkB0cQccZLk5shQpLo1d46abmIZZJqvS4FCl1dBpVXuTkK1Q65tOA8Kib7TESedibpIU5Oulyd6x2cYB1uEp0YiymhN2cTILTfey654hasmOTPZLJTZU44pkbWKH61FWZf6c+7T0Qm6BG17UKthYAFL7GLf4wyJRgJ/PHIWN3GzMR+pWcRKghbl2hL74o/60Qx3N9EV3mqAt8N3JTDh7fez80cBpoCaEhZbknk8sgUtWx6qHWJMDVR3xQBMV3oopLaUexU1xJMJDBDaW3ZJTuC1w0+hRhgzkkRNzDO9P097XgRuy/cd7qehnylmXU4bz3kx7Cmq3M0Ye+yjja4wKmk0GEkpJkORnr1eeOODr6yiI4g0JjGHWBMpSyLZFMlSSessklYZswhiq3JWQrUdwnXS5UjgD/MRvw9vmeduB/4H/xxCgIoP+VjwGQAZHiwP3VAQBmE2R9NC69BCnMVmseWeHqpUn6saVWs1hJBGhTGf84WHAVRzLTDC7uHjg7fWvPh6B58h8K1k4mR14MDj3NBH/GE8Pg5NbOyXpvIACD2MkMLWRIkaLXD0mmgxYoIeizXM2LDDihsPnATMOL7AH48EKfhkyCOiSAkZFSqoqFFHTYs2WroM0PvMELPvvmNjxQo7Bw44ePHBKVAgHsHC8YoWTUisWMLixRORKJGoNGnEFCoirlwFSY0aSYOCktGmjaxO3eT0GqLonxkq5sz7YMkyTVu2aDtwQMeJc7ou/GrEoz8sCQACbRYYQ2AWDHODRUgsCpaRSuAQq0R/4iXlljg5r6RpeReann+cuQQkWbbo1LPLTrMcOX0uX2lGFanoexWqsqxafdY1a8i1IWB5NFRHPnXpzK8A3QUXoq+wogwUW5zREks0XmppJsosy79yKjZdWdWWq63WZvU12aqlFnu11mq/9kY6aMxkN02Z674Fa7204QwYP0BE1NtuI6l1AHKGSMgwAqkEhlFILTSYAmmEDdMgg3BhrnGKRG+MX9RiMTGxSdQUEpeU6SQj2TNIPuX7lGqq9z311O9HGmndz/T6fmaFl3BOjTZ6Xk02dd7NNHO+zTV3fi23f/4ddXXLR+zElj4WZ7OMcTiHZY/LuSxnfM5nuRNyIcubmItZ/qRd2goWt6Qr3NCmrmyzW7+Gbe/sOnexjjs+6K9m9gKT43ugSucjxfL7o5XD85PjI+BTFKzyU1Hj8XOAsT84UjtYYGykHnj43wPIJX+PoyX7nsbC8D2LG/a9RJb3+zllle8/GRv6/mFr4w8Ltrc9MMGBBA1qTYQOWotIH/S+BzYE7DPz1Lzt8Bn5GuLV+7fWN86vAfK/QAj+myFR0rdMhpTvC1mKvStUKv0eVL/+90xWzby3cmnrvZef8eOoRBvGY1uFOagfSiCgnksRgyz608GiIbrJY9ANyW3Pkm18FI33BV3UJV3SZV3RVV3TddzATdz8rZdVVVV13P7B77aye6ksCFwWDlwWifSjln7M0o9b+glLP2np9y6j4H3oQ/oZZZZdrt01raCiSiqroqpqqqOBdTTRfOvtE75zphN4+M0TPCdA5MDvN33m3kSq+D1nQMjvzrK8SbHtXcmaGMN/P9cg6tEECdLkKFKh7r8tv7dgAuj4/dnCgr4/spFlk2CXO3sDI3/s9Ku++m8c1ur8YauuSn+wV7f/2OUeweGf/CwN4D+uqRu4/gFA9u8PPAmGGUYbxntjyp5N6E2YVuhN6E1YAph9WALozcJKh/FZsIZvILlTLwTP7vxp0NVJcJI95kYsbV4Nt+BLHpISzT20+7DlNbYO82d5mdkg97VOiJ4q1vGXPEzrQcz3bW0TwDgZE/Pvk9Rp3XM5e1C9Hhx5a4Qt1cjAtD54MWft4XGSldZf13m9RodR0fSjCP5LeXae+be33KkfNsVk+KloumY5rRo1aZFpM83sVWHmrdRUbn1D9VYKareSMQSoGTUrCyk6x7hlFnEu4WIu2FTeTbTDhY8AIUkavMhRokZLb6568YdAhJ7wJOJZ8+9l8oGIxdkK2yEmxBYopJkMJNM5G+fholyeq5N9ck6BdoVypiLtF/Zru8+etJftLWpErTCJ99LedCJv4V18iM/wVb5LT+lPkYoYFIwyBbtwJ8SEgtAQBsJQ+lJVVg2TQJJf9Va/qVlqtdqnzihDJXQt/WMyndxeD9LjtKCj+qi+rB/r7yY1JSsFmoAZaaaa5Wan+dfcMpa12capztSWtq/9w86xko3Zc/a+/ejquJ/TCtIYF3QT3GK32R13V91Tj3gMs2M+392X++k+4mWv+jv+TagWmtZz1Wsd2BAK88K6cDBcCA/D5xLeF4XBZZwwkJft5XlFX/lX/dV/zd/gm/Gr8Ffl++J9/fa9k+/yu/UevVcf0gdiSpnaj+Xj+oQ+mU/10/1MP59f6hfel9Mv51/79+4b+xa+je/g+1H2CvNAdKAqxoIWf0mV+/Jc3sq6kiv8Vfb1rF7W2xqu2fpYe3VWd43G4rPkTd+uGtbirdie2mtbdEI/+E38m7qb+k0P9HR/6O0+7hveZw50DOnYym6OcI5r/MLvAEBnC9gKGOCAFwmU0MQQSyEKC5bAGjGLU4KCS0U6MpGtUg65hyeHiNrUo1HNa137OjfQGBwhR2kXdm0+S1rZWjaylZMcOpIead3iLg95xqve9al/BpXL455yz8MedxGLQjRiEB+5l8xvom+qNCaa/kzlfT7nW64HecA8Ge9sXI7bER7Z8Th6YzZ2k/ad/10+9fNqYjM+i/Npvs7FIqwDvpivXqZ1swIrvR5We43XZu9vzo/jH7pt3e4d2bld2y97wt4BwOx2u8/e3V5un04EGZUhS4FNHS5HawfrCDnmuc6DXnDidogkyCKyEzmUnEQu3dYp628+6FgR6+eQOWXYEzkM40rcg6cwju+oBuGAAm1pAI2hBbSBDpNGJn1dKKkePnxbJ2fMgg1v+LKVy2z6bEHbOr2p3ve5RhMjD9611yrWt/nL7nG9Pd53MKW6slzQFXCNdE1teTv7t1tZs62x2+lu6e7r/sM9Z9JiO7f7+/h1/meqgGKoIDWBWvyb//hf/aeTHhDmsXt8nu6ecs/0IsmpDVsevCntolvTLB2i533dD/7CJ986L72o9JelslOGy2Y5VfKlXppF9S/Fex13y7LT7jVp2ZaUrh+TKOR8bmdvLucFmclqdpPPJMAHpB7aARjCCUQyWmiFBRsOXHjwSUBAIiD10HFpVy6m6lKNqeZUPtWQqh9pmtDw1ixoQ7LFWWW7AuuyAtmaCPqVoR9EXixIZbmQnp5ygYOBOmrr/EvgrZ3/oJH/05ZrDbMDaHh5YFtyGSYUhvjyxYK2/+fxeU+v/L1d6BzXkHsiob2SbXma4RRww63heE5nkzZuCU7lmbxSlnr8d+fTEs52eYmJQOv8Jzo8MlnszeEyNUPH53VKXRnDXy6dWKCpodOBhvV7uAsEWGXoUMCamHTevDPw8Ghf4kCPOPdZ7/98zgHufv5fCbWGQIa+rnw3IfQpSmMd2vmrk2eK0CrW/vd8DVMJnfwX4IaufeCelHdg4aegQ6dO3LruzxHAtacha3MdddZVS9Bag9VWO2CAGcAEMM8//0LwQysGLl+3dxBoeGmoQ0caNW3Bik+W7Svq+nrckfVqm0MY6g7xYhUTo05ec0mItT8Dvxm2fwzw8FRo1trA9NPrW8Z97FOGfe1zXzLIfW15UF3tzsADa3zc6Vtd/Rxy7fTAbSufQJe/FWJkmx7CzPEx/YZ9gx+d5+3X8HvfmpJKLuVpBq39TwD7gRY77LbfYceddl5dcUO/YeOm7TJvGXi4lYS6zX0e85zXvOezv/Od3/wXsMAFLXjhi1jIQhe2yEUtGjz8PMLc3ckmXQey/7MKF+aLUUwiF509R4TRq8lnCQHTuLCQpT19aaic3n0qdIN+j5cDsoaFClxRXP7ivtinGbzAthVCH97YZja1ua1sffu7WdcyP1pPcOKznOf81/u6bvSmb+5Wbu02b29DGtuEJre0zW3v6E3d7C3f6VWX8VqvAwsCJqRl4FWgKGMHERRQTR3TVhw4dxPgB0GF4EKI0+YtUP8WW++wcSaZYRVxgMFu9bqHuXd6xO/Vad+X9+UmbvHuGpfv1Fu8iaM743tysue56P1wr07q4pe40PXc0AH0oUBQ/BtVLBSC+6Ot7bnO8XD2+3dsXmZzKnT3rqi4KPu3dptHeaWnO/V9uIrDofTf0C28nctveNP6FxD7Z8uIJg1J22hnoFZraWBYl17rdn3TZzAihEa9xbpbaZfecm7QmqXMom620E/mutFs5KwJe7FyFp16bqRY1+DPpGQSbGeLdXsNNRX+8uMWigTO7nO1fhDXwUTVBvFrqN8BgtTOq+L/zaQSywQlk1FIJgmG0OfOlKOULNnQIIzcUorazFAvbAIMMCqE2UhfyUMRDowJzsTIL6WXa6h5u79QCpjiWq+m3yaS9FYGt0ba9l1FI2e0jSev6hzUNl5SqUhpFRfi2lUahYk1SrJs2k4rPiXGUjnXMjVL5kK6er4opap2nY83ZqyLPLxRoylzkaiYsM1z+QzHaKPLaShw67ISvGa+eQUM1N+o/Pqrr0eUVPm1iZAouogwsTwLr03bse2rODGWkL0Vm5qdtP7Mp+pxWz9kUzVK6wt8IHZ5Oy6jRpsMTlGxzgQZNlxlnAwZCh8zgwYLjoYBAznnW+zXn3mexZRUmrmSkEjS6g3FYrFa3SFB2yG6ifWP5eqlbZiaDZ2Arl7TXqiqlexAzFgJGxA1mtcKiIo5/C4KG87ge1HIUAofCBpM0PIp9Aait7wKlf6ANkBBXb/3zoGQ6KUjwMSqtRs2bSfX1vehSoylyNLJ1My9KNTVs667UFVNt3bFjHXc4qOiRuO0uC9Rsf22FSZ8nU0PFTLUuGkFDdZuQAEDPfRGfv2laxIlVaBqERL/bvr+WX7L1LPQpu2ou5GYWhL7LUzNDvy30NUj5AkV9dqLmMSM9Zo4UaM9BUNUrJgrwoaLR0/IUFjkBA12lacgYCB9jgK//uT+oaTiN38MIRGt+WUwsGvt7GHTdmbOTmIs9RweU7NH346uXtaXo6oW9tnEjHXrLz9qtEtf+aJiZwsURfD98uv2db9Gv6/7uVdqBX6TlfwL0asPjfhJpSpjxChKaaqImwi5iSK+SZceM+KTBAmfvf7I1/Xc6yPqO1lp0Oj71P5pVI262zY+llN4ES2PpdgzaUmpu9+ToJDd91K8fOe+G+LkOvX9Fysbz/dHjExU348g8Po/xwkImq6icfG6W9CoaNWd0ojIyYznscZSaFSPoZGr9Cs1tSylJhWVtKUaZeWkpf8oKQWV/qagEKkh8vDXt2qPh5Nr1KuHla3VgYeRqVypBwpLFvIAQb6SiIt3Dd8RFe0CxomIHCU8BWssCeFfGBox4C9oaoHxQUG53nnulKxcPztKUqoeQgkK5SOkePmiYVCcXB5YEaxstpLnzMiElOgMhZ2UKAwEcUu2Mi4epWQpo6DXs/UkRkTOxEOHNZY67jQMjSoucmtq4SbcikpBo25ZOaf385CUMnsfDkEhjffC4OWTeA8OTi6Wd91gZSPevMHAXPebLzSgsDsfO4Ag9Ws9cPHkz+VGRYt8Td2IyJn+VevWWCqXN93QqLvc6ZpaPlG7opK9WO6yclhxpEtKITK9CwjX9VTKOy/fVeneObmOi6+zsm0Wu4uRabFgLihsgiAdCAq+px0Xj3lXOypaQdHxjoicn4s2N2ss1XmLm4FxnR/fhKapdf8Fm6LSucc0Gfk6PkqsSUrdF6kJCp2TOY2XLyZ/NE4uSfo2VrY50rIxMv0hzjworK80zgOCWoqt4eI5i6yGita46FZDRI7t/VutH8u1W29nNTS69ZZXTa1/39SqqLTzjayycstfoEpKTX2wCgqNfFlOXr7AS3VycsH7vbKyZRU+roxMqYWXKwRe2/d7tAJBj2+04uJdvkJFRTt6x1VE5ETvoGKNJeG2L4ZG4y6dq6k16P6Yq6jU/tYqsnJ0QaJISv1YYBRBoVrnTOHhrzVx9hVOLuOsLqxsZ86swsi07/xWoLDVp3cBgmYdf8HF++2AXFS03qdhLiJy/KcyWWMJ5L8kQ6OG+TdIU6vy/psUlGt5ubeTrNyNLZKk1N+bJ0Gh7Xs48fKJuwtxcvHbC1jZhu8MwMjUZScDKMxLfyUgKIM2CRcvmdYIBb3mr+swISLHXBvQGkvaWoCGRofXGNTU2rAGoKLSgtUWZeXGLCpHUmrAwnMEhdquGsjLR3neIScX7okjK1uNeQoZmGt6N/cgFBafKxEIOjXDiIu3Z3KIirZy9kRE5IRnWbbGEjdJ0tCo56xPamqVzYpZUYmknmdZufqUniWlKrKSBYRrPOetmZdP56WZk0vhSZmVbSsPzYxMS7lThsImcREJBA1lgsTF68QoiYpW5P6cEZFDuB+CNZZQ9wUwfvl1+wpNl+Orn7zY2dTx9FutZzWQlXNRb0BSqil1BwSFqrEK/F9PXm9YhqffusMRYGVTeTowMslcDlBYhLsDEDSdfYCLV852Bypad8YcHxZE4KN4eLwlcD/15lt091XdrQEzqN6Xo3pZhKq2CVS5BakiY6jc066yrteu0q2B6tj1kYrjuk+1X5u6TTJ14zCXVqv9AbUe/kat9JvUCrxarZu3Z2uZPilbS/14tcR5lloHebfUIvSktkWmj2+9FlekqKcwIaGKXcmUUjy9QOCDJYe0q/RZ0vRxs6TJ1400vvMx0mjOy0i3m4d0s2WRrrcw0j3uFumyu+ThrfDOCCvvdp4soKjLybNwoc5GhSIlWW6CgMAHzjXWZkiSfUbK2nukvLkaKc/OQsq9KFJSGpHiV4UUVFekGJUjReU4pIjyRwozP6TspYF0fmQ7D28NIgIIfBpDJ/GJ5HYaniRF6pIkefJmSA6njAzJLpScIenN+ZokM3LMJJmcoyUpX/FwkmLihiRFwwVJymEck6RswAFJygJsm/7A/3d5TELsv3fIeB4QrTyV20Yr92Qq/am3VmY8XVE54VxjrJxeDgfvYmQs9YR4nOOcUwan7KSxHNKxJw4aS/UdK2MXu5yKEO43fizf8hy4SI4lHXrGUh1ZsqpfZe67f/JXyN2NpehlcD/8yHPBGDnKdubRsRNy+lGz1omgHkWLcQX5SJmKIohGiNB1t8cTHj1Nji0cOuocJEyaqpwT7pln4YfLPfX0BA+F2h7Lce5tMMaSeU+CKPFodsc3Y0nyo+IzZ7F+4D5wEHEHvUXrOsvt9IqVhtvsOXM1t8bjxittyZFff4nNOnLpyruJbtOWYy3doCHDGrpadYrVdJmyBPyS8+RF5yecISNgeZ0I8dt+Xw7bjKWXZbCZs2pLYQMH5ZaA07JVZNE5FSu5F2A5c1nnu8WNp5sv5tff8feauXTF+Z4zm7b2Z8QMGK61mW5Tq248rSZTVnvqjCevh3nMYcgoPTkcosQTmPu6GUs3Y6MzZ5nGWAcOUo+2tmwl5j1oxUoHvLTmzEUYAY0Tv+Zi3Khf/3kdpl9rLOdpqNUylopDfIiIFB8HhwoVYYOgYsVd5UJh4fT5qlSpyfNJQcHD/1aU5ViifYvLmPE1dolJz16zvJKGjXqpl7LlHlMuuHjZ5MMRI4WTBmNi3cZOUNEuYyYWLZ1FTxCRZNxHUagI5mZFrDhyhAUGvlL2bS1UqcHf3gQUPOR8xvLHcsU67zF23Fum0LPXc/rRsNF9oihbLpVG4OL5U4WIkdAUsTGxjMlko6Kpcg8WLYm4H0BEYnIHUKhoLxoQI778IwqAhRtEDFSpNeIOoOAphJ2XYykW5zx23F2cQj172YMHNWx0HlSobLnTo0/GxeMdTTliJOpRlzGwyz69yqhoU8+wRUtdDzEiUtVdrFBRxi0sVlzItQwL53IpRJWaxSEIFDxaJ/XlWJJyVn3sOIgz6j17kazVGzQuXVm5ly03smTHxWuZr0eMVLbrjomVtIuOiuYzZbdo6dqEvyEiXRjjN4WKlAZ2seKEh/MOC8c47Heq1ECtdxDwm8w135Zjqa/RNnZcXT2tZ6+82lrDRlFFWtlyHj1h4eLZlMuKGAlRCgsT6wTeNlQ0LjxpFi1R4E5DQC5spdIUKpoI3sSK60iwwcJVxNmoUsPF3EDBExRNXY4lp0i+jh1nFtbXnr00QqwNG0nYy1q2HIs9rLh4RDRrhMjFS5QqJtYQiYqK1oS3WrRUgqMiIiVgqAoVeaGoYsU5IPgKC2cA/StVagoAFRQ8Aui9LMcSHXopY8cBXCs9eld/51xp2OiFI6VsuRq7Cy5ejq0lYqQI6womlpuPD1DRrMw5sGhJx/sFwedg5K/j/OOHf9e64Bu5+Vu9g7u9F+RsUXiLZMyaA2eeQsVJlKJMizHT5qw4w6J7XDo+hUq2iaSQGmasOoTwMRRCki5fWANa6ojxJptpdUi9MyS3Q8cxQ3Z+a7yrm7wlk+i5nYYcRequIEj7hiYVP1gAQgi5cKho2KFDD5heXfdIwOBtyZJL2B+K4VFbt+UNJnZE+0xhhMcNW7xdBSKk8/0BiARTtpwY0pGynQ4Gg1lHIyO69dmw57t+Q5EgtBosVWu13frIu1EbdWUVc4tFfjbfTeYgb13ES1Ww5MxLo8Q7SwD/pJBoB9ts2meYaQhUEK9weOSIzdPhIu6FFUdF3uuJ7+XKbjVJ0vt1/253Z3eQ6jSrurNlHmLZd7Wiu61uuvu48XupHgN7AIo9CNUegmFfwLbH4O1nhJtEsgbk+dlsFU0B4KS9hGW/YN86rvXgLUpgzwhvmVixzpLeGLlVU1yN94NSGYz6ammulc5y6G/dp5oMl8e4FT/WznS7LNbBugvsls+hFufafq+gCZ51ehXfXQtYT1VC2yliCNHrE9cuie2W0inSdyVr03I3o2DniregrP0qN9gudZvUuEItnQ22oVbp2ojeDRvYseGdGOtHkys33U/m+t3iTq30h/Ut29qK3c052JLj5TprI8SaXK3e7ba5vNw7wzmZfQGozUUL7H6pU2y/OxciEc901YevyJ4612xTTef9ZeM5L+T25RV9FJByJx1/xXlbTCBt+5WPy1lk/VWNJ35IOGp5z8eWRRM/+ZBVX8Pv9/CjSQTRPEKNf21SGAbaEGl0jj3+jsyCv55xC/71PTR0TmKKKfobeejo8nu5Od/EJGNKEjH9Xj2e6bDQHw8X/SXaWB6zRr81h2+EsTEMaMkXFoDuCgndGxZ6IGz0cMjosTDRk/HGf4nHmaO2jO9S/HH1aONGuOjdZL974cXDo3dM9EUCEXFqWX5vT6OE7/23O6exauEBQ0bjzjDgggcb5hqfIh4SU3rIpd5k/x5akWixo4HxOlMO0bXW22i1tZYfcVN5pEzzkU2j0+Ket49KjJl6TJlmqsU+Ol0+fWPLvp7+8y1yCyvqMc3isYkus09IkY/j8/s+P+5RmNHj0xuNPAFRZsG9e8J6/0Teryfmnp9V5/Akn+uTltKTeb+fnDiz/ESyoliy0jiyiviy6vv71IUGL3pggfG7kgbC1A0qXA9UuB2ocP9JeJvHkjOWvKPRCY6Ci0oAegeOZHF0zgCE1L0l74LW2RABLXqaMqMyEdpzhefTm8YyagCxsG/sDntMxyLwqEDXCQxYoDAdu1EhXYALVx+U5rn+bgeGH0pO7yuPrBH6ioFAwDhjnBPEX3pnbhROqP7vq+Cqrf6Wvgp0aI9NYEkFHL509N6GV6v15QH6tffIuNZ135pyvuT+L6GH+vwqa36aZvGzCn4lTOYhJOnnFVZd5+Mo/aKiaup6TKVfVlxtLd8w6VeVVBf0Gyz9utLqa310pN9UVkOw563028prrO1rOPXzd1XUVPv3HlTodr36zWekgtHGGm+iyaaabqbZioxwKgMXqrECjLftAe7I6q4bBZGpMhuQRmZn/voc/GNy3ppxuYI1IXcwRpOdvOfrDijCxHudJrno7na+f3hJKER2DPcw4RZ8tpK3oEIdnnCWq4xxlBG2sBRSMgviQySmQZ0YGBSG/6+7jWAKRkdqXSYQ8rHO/zulKLo5lSta8Vat5LBP6fnx6C/i/u1+d8/flOykSc1gcuF/LwE91zxId9tD0avOMfSmd5je1YrjywCdFJt/Iu8f9Jfaz/QDnsyjucubvOqzPtljOOTd2Ldbwl+s4nIs0ffVrE5sakdpML8FEgi379znNE7OFDpWv0rgqaTEKBD7HVWEcYUzSIE/HjYe8n0cfDOkP9qxDVWg3vSFa/3GBrYzu4UMNM5hWuuqVIt8KElSUpFzuRIKzGX3MEUCBdjgwglbAzobhtYAeMgTbnGHYgtEf8bvrg9N0ks/g7u4yv/hqvdxZxpl3DcQCzBG34i9isXwgRxWy9ygnbGh0cabED9UCVUtus0133Y77bbXUcemn6OvaLXHgR8nCtvN3R3exOa2uJVtbmf7O9rpzne5D2tf3q/rWA2W0CHcccM7wYlOfLJTn+6MZzn7YXoOI9qt8V/oope49OWueJXrup7rv6EbvQkBhkX/jvqPhDfKgHma0lI+/Upb0do2tLmt7WyP0JqjNwHCtCCS7b7cuf07utM7v8v7cK0A+4uQloWdV0BEWExSThFqM8aIzXlS1uzAnwiiSSCZNAooHhWqaXBcJNzCgOGMmzRtpxXrtuw6cOrGoi4/OgRrRJBEjvUQ5a6uRKU6626syRZjbrYLb80IoxmZUl2fbPMstMRyq6y11fYgOg0TiZn4a14vwXVvdU1KN4wfrfBN1zVIqtoN0s7xOq4LYA8MBqOqasDN2GBcMD4OCetCJ1at+OBSeXemsTOFe00IxeXl35VxVXQFjWySlTadQYQ2F+edSTZ5VZXqfjW7z+mYS4wzW3XoCvBvdNwux14XcSH4/cYb0bZJkqdMnTaDmpZsa8JNg4XRvAXIsDBdrgIlmnvrb6gRapgzzdOD1nH9tmOyIf4JPWxcjocWetRo0GLCghUbCZLkKXpHmx4DXxj66rufzHjx5iNQuGjxChUpV6FRh0lTZsyZd+LUmUs/+snPoWF+LIrF4yROmjx1mrQZM2crI3OWXAXKrbCmmmtrcF0FFFhwYUWWUWZZZZdTbnnlV1BhRRVXVnkVVVZVdTXVVl9TLUFrDVZ7HXXWpVuPPv0GDBoybMS4CZP+mTZj1pwFi5YsW7Fm3YZN23YdOHbi1JlziK667l4wM71iUkVgjIlwNqlYwzr+S+go2kiTYin/F28x/TQzK9eXr0or7Y0irk9Ky8qtWlZV/1WkFG3sG5qa/wpSiq7NJYXe9T6llFNNPY00/4PjpuctsvxPi9+rW96amWtEptuW4kKLf0soNKiqUU3sS3XjafAQvfUAPWqtbShCRigIFdF4hOze/bqK+brbBMI8jxvu7s/71JizYn83d2So8RD1kRErvzjxECJWgmSlmo2aMmt5p/ee33VH7Dxtjnxhy3UN9y5NbPFuAl2cO0dkKaTGpXNS3tGg7DtzIMgg/EXBQqBCq546fy484K/2ZFNmOQjZUQTXvjWbKOlhw+yGCXT9hizYkV94SdvfG5UoS9Vk6hqWNa1oaev4iI+624O6VvX0fdaaK5u/T6Ys2XLkypOvQKEixcqUq1CpSrUateo1aQHVCqZdh05duvXo02/AoCHDRoybMOmfaTNmzVmwaMmyFWvWbdi0bdeBYydOnTmHcLXre0NmLdvb9R0pKtxEGPjKkj1H7oLFiJekRJMR/8xY6oQnJyO6txFwWg59ZsNl9b9fMN4C42jj2DkkQz5VLsCT5K0PlHyb2fkrJOD8FAkmfOWguuvgHl81JxsyykbQtkI49lplAwVdrJhc+wlNn8Hm2ZZX2EcqnwXP3SHESoymvyIUqDZtxYHz3VwoiLESI8mQqwhxkmRUxUegKHaiv0gjqVX7Bq7WamlomC691u365ufMLqxo+MWVcW74z/voVSzrhSflpHZSptAnTkpkJ4cHlcYulFt02vOOXepL3vzPpOQSot3WrJ+CrlCp8UsDMjJDfzzNSz/f8K2f9+tjpDMGMSk1DaMMmbIUKNNXvQbjjN+M47fa6NK9nl/gAwJDoM6KOxweAjARQUkYhUqjM5gsLo8vsLWzdxCJJVKZXKFUa7Q6vcFktlidXDx58epqsyhTpU4jzT9z+I8AC1EafITLV2XKsn1w15ARYSFKwhcuwsVKlK5yBhdekYv6SCUBqq1+oGrUG9Kpx5odxn4whYmaPRdG/vDjRVcRK9yUqCpV4CNHxbLIcqdsVJkFJ57YUpPLz4Qk8dpsshIoRAo+H5CS9gaO9n+D23v4v/N6q0uPOVHRLTdKLuWvcIghHxpCc2iDhGINC+8IRy5IqDzQ+flagLeUqPpAiy4Dn331zU9mLNmw58iFOx9+goWJFCNeklQZsuUpVKJcjXpNoDp06zNoxLh/ZsxbsmrDtj2HTsBduA6biGYlSb2VxxOeghcx8Hj6wpvsr9NhE8xQbvw/cf+9Ykq7RBpmNh5+YSFRCVkF3XoNGDVl1oJVW3YSThTxJJFKPkWUUkU9UNropEe/IaMmTFmwbM2mHftOwF3rDIGgQTAhRCUkTpMnf8EyihSvWKWuRptooeU22mmgIYYbZayJpphulrkWWGyZldYIte2nyV4hN3DCE56CF6E1ePrCs5Gv20O27d0y289AwR07g93CPv+3HFGb3LOk/Fhn5+xHXasutDGOSKGzcokeidcBAUODCQc+RmWw89gJJXKVtoHVmZtPUERcSlZBWVVNn0Ejxk2ZbUGrbOVHsDCRYsRLkipDtjyFSiqnRr2moHTolnHszLmymqaOPtoYR6TQWdxn4B8w6q7bgXwVY4tdCImWILsC3Xob0ChTZlvQKlvzI7wo4iUdqeQrqlRVqgeqTaeUrBN5xSq0dA0MMfEo6eZaImTQhgmb6nB8PzBajhNBkSNOUeWzi9FNsNCyNvATKES4KLESpUiXJVeBYmUqqwFaUqzNlFPqYsH6SKNy9t/xrKHugE0+JB4HNiKyCpvhBmzyAGJEyLyQtDNyIOwvCB4GYWXN7AVm5USBTWzRcKq6jMxKxMTeANEXuoPqmH49D9foxqwa1EUXPzXCn9DoRwLMTEOn7s6dTwL/YUJeX2VqqUHfYotDKRSf6jQhTSL9iIks85PkUN/QoCmHxYD1QDtDlauIFzDVWRx5dEwNM6dTnEmg0Pmq+zhl8DFAtINjEA0xej01v9sOzvCc97KM/hlBCEdpALDbrUAZr4uO3DtzcA/xkIsFZJmw6ztANbWIMZ5pC54RIqclcgTPF8LzuXhdQY46xOsL4/VavKG4YuMY/87QIE4txR5vEaJA6fZU4NJImUiF0xCZcBrIOLWJNGhKZENTnayLPwN+TwuRC9/mcpbzRivIQNggH2HzyLvfP/NDZKpRiEim4EFBFtIBipEOvkVPypWNfIZS5KPfkgUHOSgCylGEKVuJXLmoGipRpalYyiAPzYBqNMNUrY1c+ege1KJbpmawggIME+oxTFM3mbkKMX1oxLRNw2gHRVgBNGMFpmkOgmLsCKDYkWkpoqAEJwQYTmhamzAoxY2hHTc2bVUclOEVoBOv4NvRxUE5fgW68Sumq6wEFRJK0CuhZHraUlBJUIN+gprpq2tBlcQiDEosmoG+GFQTVv1jDdG+/geTtJVfyUud5AH1xBMaSEY0ks5oIhvSTD6lhWIMlHJOK1UAGHWCNpoI7bQZOuhCdNKn6GKI0c2Yo4cpSC9zkj6WKP2sWQbYwgyyl50g9GUCzlsrh4KO7uObkJ1uf75jxUhpGLjcLwJOK3L7H3AsyC8eRPovDun88UEgPBDyYNAZANif7QAoYAdQnAs6QZ4DXB3/X/uUGeDZFAtepkXpvC/64i73am7iZu/gTqIUlwQkok+11tZga0NByAgVYSBsp3RGZ3Vu53MhL10Xg4z9ZM1FpkLl6sH0GLNkw5GyP1L3/7P+taXa/zEFokF0iAmxIBjiQiLob6FjSMkIX/M/87/zf3OGs1zkMv8PV/l/8Sc2nQ2zuWwh+xwm/Cf+S0AhyM9Chf8MM2EW/ANWi1nSs0r9nSo+41ueznEKKYXv/z0qUxj5nBnTnt94l7vyXZHKE5avrF/1RN9n5rP/Of48fPVfa4H7pAPfxQciIWMC/gsqnroMov+5/0ukbo81p2WtalO7bvQmb/W2D44C7IFX4Dxd8Rpe7zH53rJjOph71VO8xKu8ybvhfcjHfDwE8OfBKlSsSvZpX/Zdz+Xsp3BB5DNGDJX1712Ct/RNzjgc7lWw1t/1YO8P6u/V99VbuUzpYkXK/cb1caj7cfg0tdnqVpW6M+hz0m+BGvtdxjSNr6GGFDgB+utbYB/xOUY/HJthNNFFuwA2/gWwsbf+2BL83Pxt/hjyk/s3OJgCBO/9Ab33u5F79B5evXc1BJR/AdoFsoDHFgOB3y544fNd4HIu9xZcnvKS+VvOn55MdT9Oypt+pXrFXjE+St8yNTrMepNlfuj4sonHfmO+CRbEA/+89sNv8D1/vdSr5uZf5wejJXpXP9PLVloYixa776oW3ml/YPhpox11KYFnh9mFD4Ff1+o+XkGnL8mprjo7hUb2zoe8gk4fN8100/kpQvRqrM7m7M6h29qXO+1+tjt8/zOdqU1vqPDuuvZ2RHqsewV1ZNJe3fXU28WrVzHI4FcZwgiKIQaLHYe3r/+//p4SmK9++MmEKbNDQZsYseLEq9RRgGkzZs2Zt1CgMzd+9j+/RBAnbrzmx5opc5as2Y6ImX0pv4IKG1JfbjBbhNUS7JbRgaN3jgFC0IWwK48UjtO9HA9SHqU9yfWsKjJIRwGZqCAbDhQi6iqCcnQqMajGpBaLehN1F0U3Af1ELfcxiU9JfU6mt1h9xTFKybhQ3wrTXzzzYlkUx7J4AyX4myrf1PilLigtwWkLSUdouiIyENlHgyVKyFhi3yT1XXI/pPRTaiaKc1SVu2pN+WrOT0v+rEqQlqlhYyUZMV6yUROlwGlFembkwoN1iXBb1VqQ9kLhWYNvHZ8X+V7dEptGHDYlsS2Zfx8EpCEjc5lZCEtPVJ/YlcK+VL9KU5PHWc5xznOf9YxtqrbMKp3tV+sI2rC/7ZPBCQ7+K3hpToX87Mivlid0qpcU9aiL+dNnYCPk+Hpit/j/McxRjYpzdW0iXZ9oNybWzYl3axLdnmR3JtXdSXdvMt2fbE8m19PJ92wKPZ9iL/a2l3vXq73v9ZR6M+XeTqV3U+19DYPgp6nN3uoeKu2xy31oy1DwyzTaPlTcMXTcM2zcOxw8MuLeT7PTe9PxUXVi1J0ZQx+m1fWx9nHafZuOkpyU5qwsFwQ2ENpEZAuxbSR2kNpFZg+5fRQOUDr0xhEqxwQCoGIQCAWDcAiIhAPRUBALD+IRQDMurXgcSudYBqcyOZfFJRXX1H6n8Sctt3Tc0/PIwDOjrCxlZyUna7nZyMtWfnYKslebp7q81OetIZ/7MAr7m/Ff7lYHHfbqIedx2fE6nwu4oEu6lMtNfgRO43QOQcpnMuvZzHRms53dzGcx+/2a5azmMMe57OtX6aLtA8JSogUgewAETfsD2TzAJ+uAoLHrARa7FUT3RwA7xdlT2n74eNrAsSSSzP40sCyn9WDHYRdoLgGNh7LbGD0mFTSfNIAKJzCSWVOO6UmEv7hOBPxW2byQDYCH6rbjUFd+ZBJyquh0VXVkHfdo/x7Ro9QqY/3ozj/M4beKoxdDlQkjuRzvECacyTQeMUXBBJSLfQcPCN4gqNRepZrLTmFLGaDTlA4Io0MIZ1rfNEzjmyLwmppX1VT7aiCfPKVRBglzOzgySPNtZwRCS0LEJD5QkHM61/EKAhZVHmazPULAXwVqRoJ5fkMbkRyGSEaRNk8aiVKIEqYXwosMwUhhpD0SO4uT5aQTzOnyywX8E54gOMgqLP+ADe3SCUxY6VcQSWmKaHF5QEaLcJVuekWiSkCRzW0gSp+BfHqMWxE539H/ZB140rkK9EoHjf4BSKpFB8aXcdiSAaL0SVw6t+ujo+vlCDOkhdT65GdI7O9Jta3ArZ3dlqy63gk8N7iPxpZrXZLVHAquM07qXtd6cgBlCY2rAa/gMzikSXiFivNeY5x2/BF/7E0/fGJcNeSHyWmTJQ3kdS7z6C24jWr+UZKW2vGf5U7RVxnQBzTyEB+aZB5eAk3T0b82MXWjWni3LfgsTsfwVKfLJ7i9Vwj8nn5HJDWlpPahf29VnxUi8m002Y8+GX8Qdgch4MMCN4N/LhjZEn9LtmImumUplfs2ujiH6uoioIZkIpeSRbiKELJlSm258WGoa568yZCNCtsT7GcHwFQL77wHN39AFY6PGGA25r/4f7WejXP40rgaawRwbl6qKtHTiUcu7cKDHz7ivFseZgOJWtuPhYb8OeCNNOmPWo7R+yFEKOYdhHYtAgj47717s1/iS0ObpBz35HHNKYRJdMShIy292pEMICO7EGfhLXjGA87K5XGk46NUx4vXHF9gd7DVCJBOUY8QAkXOR/pxqf2RB7D8oBP8O0IotX2mIwCdYirZoqhLDDFFo6pJVU31VGpRS7c8kwEwZGLmSQp1cpglUsR1ct+bZHI5cEAuknu5iOV6QfZLtRzXolBWrvVAD9PeYLLsucf0uHref0QiCxQIEwgBgRKqMEWWSNBs+cT5KUkCQHkQqAipyWmJzGTrSX2OvRIz0iycchMTZaCiwDBRsIyBDu4Y2x927FPL89/lmciH0umsAIT6QQs0IwgDMzQ2FtvCh8EyZDZg/3x333O/jHtG/2RGR7OYu9tJkL9o/X7AQyIwUu5XX5Czp0yiXWgQ/0ak+Uc+Iu9tmcq2qnS4C5+YUmD8+bTDE5vm7gCKpKQJ2WzB3WI+zg4Ed5qnh8LOdrpomV1XYhAiOeSiMvCizgfOA556l0KFCyEKo7ZrHz1uAUXrEc94wU+RHql1ztMBICThMHcWJddAqFQpuV1uBwLdMLz01CfJoxtuP4/DcPUHVFiWxmk8owAwsDAXJ+MsjCLLa0qo9Fk8KfdsjeUcH8aHW5f1Sn+n2TRFZaqsKvSiqawlW7REiuleO43TbrPbwsj4Yohl5CJCIRfy79H+arWraZp94uG0PE33UuCx4wGWWLNyXY/Gmj4WCDz7fPrApf3UBF5DIUN9KTakEkdMDaJrUC6t4gmjADBCmJ7UOCzzejz+0dc3MzengIDfIDoYDwQEuvIQz9tuP4mnsKVIDAUbwphlheiA5Au0+qA0NUxzJ1WUvu2e3B5SjSQd8EGgho5vUYcW6l6j/B1399PNAcna+bgGECCuS3k+5TgrVbSkiMUceHS5Go6Q5VdgDumHviUNaU9TkYr2nZZlTVEOOV9gVn7meg02L0tV14xRajwcmrrZgLBlbBpGVVEBAjBAuw+MyRzMEVSkIDXPctuxwUYOspdhnObpGg5JXHe/z0VM4PPpxLiYF/nxL/MyR7wIR+F/gktMYgQFnfCydUinvOvQ2qcbsiGGrnue6/ZtS2SBQCG7VRQZidWXIB+hWVm+esrIKkplp7muW5RFgOBDEl5Y5KlayBfEkjiBMUcs5XmWIJ0SPIllmnz/4vEE/f76stzu9zECD7BLM+wgVMx9vnR8ieO5sR8eXbAVh5bK0izM2IQpJqI0yJ2EAoAqgpJWy2GTu75TqEIkokoBRhvMf88WR0aGv5+oCPnDM/R9QMLip3UdrcJfDKpkCpXH6hMmSd2At2WI6NkygHT1o4NiH/6/eJFtQcofhd+VouGRt1s2hEUxMdbJPFOmHAMX1s3goGKXx4EoLEDwcmdqoPUDrGdVHrnoXnrD8+EdUrOSdPbP8bUzgvh0Zd/yYV81VSHUDU6OGunsuuVvCT1PcLNPv8CTqco0BvYTdibZ/YlrFnDfGHooQhp/VEVVblrd3aUKHUJQonP4hEBli1T+LiNPvNedKYoEUoiVB8Fi7ROmSqjr1n0zYNO54CzcSqVuxgELjqhEMaf4kvMMbY8IrkGUlxwB0elRC2mW9yjvRDp9m6cTtMBFu2tWlSTNG+hPcDBoIgsYR1djKmryQ/pwBOvZCoLyop5MMqa/uPJ0dZ1j2ys9S9Ge5ad6FFXWcdhYOz5LCvns2ZNJRQdCDAWq9FYkZegyFSJhpknsS4Dxqo6B6X1sIMCrLi5lOuN3wNIII/1mMKEV9zngRszaLKaJVRS7sfp1uJc/zs5Hs8KSr58NwCRX/HkBoEdxKFHj3OfSGMue/B3UNRVSUzBe0BjaOfDQMFWYwQECjX1FF7iRURd78HVVAUuD4i8mYGICaZt6tmg6wajZ9QNSAy3y8/KiKWle0JABq4yg/ablWlC0TJnYgsTUNWXvzu3G+LMbEF6kZwkRN9ZxlMt1VAeXZ4o7Z761jKt8aDpzQNsGvWVtGMRbkGyUBt6ZoT1gfAdm9zEJpanmevRQGPX4bd0SSiKHPl2GRUbQwmqLR2dxmcnzZDQNLj15itAa44pLlm7CBBg8/iDZDTbSPeQ28HfTE32HVJ6HCq/vs4Vyp7cthN/u0PPgobPKLS0gkZJXZLzpsXaHovSFhXFKo7PyzXxqWVy1JsoyT5Mzqel0H9c4XZNPG87MeTZAOq7J7Yg+z5vXS6t7tqxhwpQnEwMLeWwdVyAxdjf5qkpjDEJLP8iKyBGWKraEUI8WjQrwbzmWTr1FCwZvJyiC5us6Ymg9dd0W9qgLv22Avhgf970xCOeVtf8dXcx2Y8koljDdm8CDmYYhUxokF8ZPFvtAxYSU1zw3+mtcBPLtOspmvkxDWJ893CcUF3X/ZM6EaJes//xjtTYJraA43FB3IFjMjbll+8QOOVhP3udM++uodPJwqFmE0LpuJWunW9TqDikPLjWnk/Rzes9l5htCnVTkvMqXxIIhZtN6YDN7NC42wM9GNkg8sFT/omRkPPhM7mnmRjizyv270pXukq60CPCKWbPhwblMWiLsxQ0up4P9s+lnX1iWigSfROjwuNZND53LvvgYPabk0CBScQENfdy9Ggz2BXmWqw8wDuubThCky03iHPod2qSMvOKDaUJRNnzTjwFyshY11T9fGxFI5APZi5ZP7BfYWCz5PWkOmM1rYlzfoP4ZlAjSnVgAZIzCat+F6SZEH8TwqvNkdv7IDKljfjd1nUHliTLVhLX6ZLhK3xBTxai7virdfhJjIdZtgwylf8BxjzdUNM0qRhWcYNsFcGrZQ05lRQS3lF4CwDF9S11ksHZNKnyVcWCtE59UPEokxGmISjFog1dZdLNDe7keKMdUClpHV1FaKC0L3+MsNSxqVATM34u8aRwFtcmgRd7zHdqiAtuYJNy+Euw8pl78XuizyzUW4XBF1/zZtxt5YYzLB2VavrghR1cJKwhehD6WLVNNlwEZlSGaIyvQYb/vHuKSu702iwi+qy2+E5FSSEUI97Y8PRSUR5awwuMaCT2zLvDxuHsqaBG+oDGCRK22YyJMDC+Ec85lcocdN++lPjy0e700fcCSx7GiY95JHa0dzzX9Yy8nMSdcCSXLhdvIA6fZQuz8EEZbipA350RaAOz2oq15b+Rci80I+bsY+BJd7Vpwxe/EHMwifT6mBstvwo+YxuBCl1W9IMGAhrjhGP7TIDfl99p3rV8OTlIyHDRrD2yBxSev3z9VGRqDsQsLXZS2b/ngIw8t/d2p8SYYYpOxICE+YTO7+FTQ0AdtSTcdjWS//ABac6JBoC+HwbU1but38Sf8AXUz4+p81ZC6E1q2uxXtGdoLkDYLyGAomiGKP1on8RF6yLENbqcPx5AgxyjwDKrUllzjE11A0xe1nTwycW62RL2jnRjXl5aOcbQs/D5PccZxE+HDPB99uFBjgwTRA5aofnYZJjkQY9eoeqe8pNL8zbU/WPi4a2qM7GgmIAuow+C2ui42gqInX/qS9AuigmvMIaEGyT7wpEmml+kNokEtI4oe/Ke7gk5Ycc8Mn32D+c4vZfELa4OzRdbhIgoFdWUCJ5bUYtWFPfYfyjgHaTkQeNGL1p2uGJVC2pvtButGHS3FjH3GeO66fdU6N9fBHkjKVxmCkjpLCtorMl0JwkS+1pe8xLumStxmSL/cn/QMxGkeGZXzxM7inHVf4UN6swaDnWWPyqP2D7BK6Sl76vQexNBvBqFfspMQqhnQcj3rqy7eKc0ploWQp56JsSh6yqD+EfUrZKZFx6lZfUVqUGm+/Av/7yiTHoNm/1GX5elWC/4i82CrDSxUT2hoiJKeH3RtcdGgfHK+b8DyR/geSlMZCQJLHnpNBpk+ncx/3NF1UQGienESVB/M0PtSDJUKzSOCbjy3Fb4WItnYI03HZ6zxq9mrrywpxkdSPWl1nuiGIQQZaZ4vSrjXqym461NJCB4j7glr1qMfjsGlldfJYQHUStL6hPj9tcf7GAzLbMlARCZbmv+iQX429uTCT+YIvhebvEBzlVDTPpDx3afttSWbGllq9+3/2JoRfe8ZiV4U8ctscOJun8DzwgL7bSXSrjzmRo3VwWPKHhtuRjPBQt2T3270UEKyzo1t88nSwSjqnJrHKLeksl2Yp+mKZqxZ3AYhXYHEC9gax93+WZCcns22M75ABOdnaj9jYAdJOu6mH17ZnlZa2InK1T1NTItJsah11divGt4+oQjnqwSad6i81qPh/TAa92EBEnF4SzaUPaIKoIPdQJOMpYNzO+c/yzstZDIRddEGs2Uq7SFHzz3kq+Yr926/3aXBXDHIk37+gQ47++gG6r97tQVxq3CEtqJk9+vdJIsHq4ZBfWtaN+/A9Y7Mg1hWZFsGqFvQ6RHnef8OvkZm7a4xv/7PIkpz1XbLkXGd+itPXdL8L7NrE/Y+dnytq1AJXp1cLSehL+jJ7kk0io3iWYFxOcFrhlcm9VNGqRohX3tvm+1za1x2bjz1hnfQf8Vz6DRnkox9qdQAdl2EDPP6ReFLYLJyJLNXMK5M4FclScZZ6lTh9WkgcXWrJoNGC81j+5911ak807OiCkopYJa5n4SpFZ9Y6s9zfu0gH1M8z1jmXfeYRPCPj7L4l3n+8AaZdRqwItDzR+zH/I33lf/gKJb+dhCN4+U3nLziAUG1nkNGHTtCZvVq44RODzQGv/Z+xt1eWBYrT8xG+qQkO/7HRQhtVKt7os1jRPGlNf5jTjBloDuaYrlHzwatO7l6xYItz8FzT0V8rIVyXTbxbCcwOdqDFZqK2l91Zeer5ml7TIVngmFbrH3bRVUgxN4qs5B44MqVQMI8OTazv8W2XKAWrxvU4k626R/iN6q+YjgkFZnpaHXTnyR0gZI3PFaSIU05U1bfcrYTx8Sf6+gtsnpFcgOs9byA14+YUPz6aewQ0FzavCYZ8gg8z6rQs82SoSwWfaZLkvVC4XUgh9JXHjJq1CDp9/KWIA7rl6cahtJxU3qpQOtnzO2uAXLJIw6VY+yElhk0N0+nuVp5qn+46/4yd84O57Kp7sdNCkga/rMyVQGoUFfHC2auVrwqCJM5PghTBzI3TyGq5X0WSvSCsoV5rRKVE5bQN5jxkG6FneK6s5FoqhKvulzq17r+0xw3PKRhXWSg/UjBWKYOwhNGwUZFJMiIevFpzI4GrntQo+VwPjYz6vZjVuYqyV+wNEE4Y2kPINLlffBhvclXA/VOYMu+lDEQ4p7u5BWWVS43730ZCHAUfkwYi1KbaoOjDs+eeqo/MLFQ6T4NhvGhr/d+F43yIeQ9NfCq+B5Xp2jsmWbljHpbP0dwkvIkmVFVhZdpzgYttE6bcjLTW95147VCAO4AuPsjnW8z31SM0y38Sf4OBmvj5vxIxvt/mk8cA3aG+ADl5vz+fCDHV6qC3jK/zauGJyfJsVmHbNiehIO+lpUQJobWaTILDTvrbaTmb0Ae9cBg2TFSEKPGAGDovFwhkEEF/tLv/jQ1LPb//s2V63XL4q0+/xGA+q3Zty7iBaEmseMIoRPmv8pauJhdkTuNiBykQIjTDuUj5LBCxgc28wzXcIJoladX7EwMTj0LlCRaSLfX+G5J3MRvTipC8XTFkqwmdTIauTL+VHSRmHzQUInW/lM6ibRMbYAm9oxdP1pBtp2wurZsgWEiCdOPZNTVT3d03js9rXSfc3CzhIoMNe000bU65+sDZArnED5ujhqytAld47s4gUxwJtb02K/AE6GPLdxcyiGDVpnpSDmc66mMpB4X+20wThksIwyB7l5EXjw5f2udca0jhsALIjEH5z6S+PSa05nAfH9Y7lkArRQ0+OjzQ2z9G5a6FfVjVIo9YtgzUJFklZ0dW84OYWL5Vk1nNidupmvq2sB4LVjQFt9cNc4gNGx2ABZLgAyhM9JoMSEOY80fG4jwDRwU7u7j0FKZ2FjAtpgszFRSuM3o0nSJn+hXglOl4zn0QhqbKKg8fsAffIUZpwm3jNnB/nSCxidJTzVLFYoZZAIXrRBpCXBSDR9dTHhnHYgWsytC1G2gq4kXE8IRhY/W4BGZU3/WhpKKORJ/0smg9XIe3CR+qOtVajmOZe4ESY+o3uwtOaKRGKS6xAgnkK+C0lTLPqvVT2JUBK7r2gWaVtWA1rd01WlQtuwlgENWg10tahm8JT8OEjL1fyiAntnvanAAHzXPgnJqxpX4q8WIr3AFdgEeJIpXQGhWBZ6FqXxsXeBIxSlm0YPszmQ9llTUohkt61H9LuFcmj9BnhP6rmiWfp1aedfREUZtztAGMz/UNye1cft3GlFeVJH1O534tKnnJm8OPKj6ghV5Rgj5uTp6wgjYgbeUAfD3IZElNyJPu+Cej7JvoJJKmHFe7ihr59HaiP/fVwjIIQVzOf5OA/3H9VWExAi92QwIuUU99cCsDqycGMfnVFJpX1qfpr71PCnkKWjrFGeVnyyXmJhDVwhUuXkml6WzLkryu8x4nD4Vz1IfZ5IDJOz0XTr0XyiiEx/DM44h057anS0ZHQFDbXSY65YeKdf7GlEX2B7vcKHmy9VNHfWIQNLLt5j3oJoUB2T94qf3QVUwCyxNBETqrvUJCxY6d+YD/qYTO6YsuTLXQmLTKgx/NImsPTRqm2uChJ4+AqokotUuzSyIBHLOhCiWrf2wT0bqLnCQ2Z7HE6nZ074QryB+TzNTqvW42hiscZLJk6HMj5IqkEgapYwUL78V3yo0yoixIyZPV1CJ9EkI4PaEYUCobfMOy8HLIHgZyLiqzaAt+mKgv6nLj3LVk4DugLDEKbjE02r41VOeDG2ZhoivNS9DMogOBTyxeUrnDtt6uTkgVejLMqMN00ASYp4UKXXpr6AT917MGNoRENslSqDha/xMOSnOhp/NTpCORY4xSUk7B1OWlUR5M+SQ9dk5K83QSM1Oz853I7qMadljFUxJz2bp5ouDmNtJZJfgleoUdcTq2MLIbe4nMwc0tyBlSlYqIHC+0Vl3AWpnUU+iOv3OAJSyataW4gQ15cIV1wjnleezrJVdqgyNFH3FjsRcTLX2MlZhZscd4G7cbClFOKgvu6iADGd1nAg/lnJpilfTtaZSPSUf4Kf1Y0wnjb5Pj40uGvutLbxI3wzxPlW17udZAEVJucyGVNyi0ncigK4aMnwV3AxzkWQZBCvt98WzMxZFpCIYLYN4noLZHjEaydUrHdmeZpBDmEvRnhgue6XsFWdOYJIGStH+XQUvACjNdTKaBT62SVHqyQFkxBRK1Dmucua7i31nKFZ6uQ7k8GaJWIDKJDgCH9qMn2HcNArBwViPcBt7utcDc7XXAf7QXmMTbNWzjwh3hqJDx2RMOTI4oHCjYklxZkUOUKPbdIlOYxqK0mwbIlnWNACam2zKRPEEfKpYd9xkbvw9Xo1b/8mZ/d7G6F+zRdJf2UeQ3g3si2exObLnjKl7ItHtbz5LCR+OFK0kRFQWHL9zseLLdTfVnL489+xm1sPouZ8Da1GZ3GOSCX+wK3ubF3fwjsNlD+qUuwjn9lr3o4PjxJ+GpDWpjpi1OHUPyMesvH2MwlJceKKBUDNgjqCtASvTcFbvLhv0gy2JzAKr71vH+RqduDr1qtkGtPu23viVkykBRRuqPIPoXPW+p3qP7ekYzKp7TA7cueKJiEmTRNxmR9MtOU1rzoaKIQIR3QyCtZZH6YlqBTJNJFrmklO4+IROAKGzomAVNXY2e6TctcRIDFQWiXidmSeNTYfPEChu3KBNqXBsvGBRYGDSqlGFABIQIeewMSIv8MQLygSacuh7vlIa0bANLUSgXcNmxHXbkHG3POPBdW/50Qq6UwJV4J/tT0XmmXkQVG4IqOf5EMho+/QbHNoobL/lR6XVEbr0SAd7SAcadpXCQDvS/GAlMgOCruxwJ9Mv6ChnyUNQgUsgiymguIBMHB+H5DydB1RyDZA0MhR/xZshGTfZxGQVRtZR5rSdPhObo8/UJ8VCQ1HyTnsFx/dlm1yNXyvlJ9gOgvpdKpNhIXXpXyQrUOTRMXVHGPSa93Ox49gptaMBqyyo77bfcsI6FsUMIicMvSY/zU+TGBIK2GIJkyL73tSDo+6NTVq0Vot1dvUPd6lKnUaZDudJEV9ZWA18HFBzGw+JT71ZyEZK1ZWAgD1HDHXHb0E0MbdEH08tyA7ZkdM2UPt6hpHSnvoaoZ5KjvukGF0VoE0Eugkx3eztouIC2mWF7Y6ZcncGUnqEc1qN7AZNlCg70ulSLXiP2HUwzfETz+iW5zYuQqGwQOIIy9ejwe0ESqTT1F8UHtVGVHkNHsn9Vnm8e8ZlI9usUwIPxPYIR/q4A+R4qovW/Qbc7jtJmefIjGQZTiYpuft8u1236GYOOiVUxEjMfCbBgxutObDfR8RvIzvj0ce4oBSTrkgqRYXVfCHCouXdqg/fRFpS8Fdfib7oJTS0WGKqsEnzS99HR9dG2AdgAJ/SD7nbfjw3Z6klxVNdlIbYZWphUZjegbqK0u05k0q9TkW3DXzEo/gWFG9vKyALD4SogtUjcvpoi7TQfEDwO4cyyWeJYk12GJs2xMBIyDX+hklh6075Bw0tg9IzE60WWWghXSNEG0FVZVhSuL7AjMykaPEoL5v+ExSaFCcboHix0AzNv4J5ZI40IgzHku1CEtukWXEj7iu9FloKlvJAt432+g+mpyS6XnlHt01h+zVn9khxncFU8jWCi++aw17/eiEzwyGWJPJPUfetZoTW6PXp+quY0F68xSYpGnNaSueZG5CNNi/yBnfaN6X1kYYrCZkpQiyPvNn+/p9jQvkVoAWaD8ADjpmiwDgNtcmrHl4CWNE4XN6jdaO6CVxokZReKDuXwTQy9ZA2FAM8BK6zKquiD/KsrGRWonAghnzPOh0fd3ytcTZsud+9+xrDMhwSrDQm4YTwOzdgzp8j5fxFjojMKZhqxZRICwS2o5aCANN7onb27vYNST8gsXePKYkkz2aa5GEBdSkMfKq4rAoiBFBFDvL0kcZjeA9ZxjZ9/9rYa3jJsxqnZQhS5j504anE+IpVTrZIrUJBmNI4Ecl88ODEnDIWdmlAxAw7rkpAFbsTBc5weeQnUih3IBNPRLlKx/N4onjIWjjDKwwnJFrWTRB1IZePPQip4XaZiGv2hbEYIdLnCkpJDsl4fBybT4zutZCb0KJDEvnpOa1nHDFUNxaAfabH1iMhztAybz7NNGzsV0zL5H8c87Mqd5nx0XBEvgEggIL8Rwt3gyd2INjsaJJajTmWLkPhX5silj0vjmeAjXqcaX7VVRoEmC4TZCvOLedRLtF7aeT6eZQp+Vy7jVSl5oPGxV06IjKAUKvxNZ0M7BgmR/kybZBAKzy37cqwSsSA59A9zrQz6XEmE8/T2/rc0tcVnIPlB1WQYleaKSdcjM080Xfn1sjFoY6Hg2KqcS9EfG8eeTI+1yv/SUKKqdwxJjQ+1Lm9j+H5pGyHT7BrSnRZQSa+j0KjeLx/TxiSuqivRazJ12q6NwcIViLkMJ3oocgok1bkor9HQpH75T9Aexf+b5mM99lzlDYzAEhTekgSuuA10Oa5tOjRpghyG83HOyEVrNlyWQBVyOlZmFjPo2nJWRhST70fRwA0Kf16Vaxsqa6rya+qkZTBlN9gDFrqAVNfvuHG0s0SdOiuo8ZmYuLvVGyi41+XxgTXT9l12ZPRtjXKUSbE7xffSFmF7Tvny8ipmPw6iVvriYuhwIdt1VZA8XUyK1X8kYhcaO8BzBqt6YgQ76Y+GmQcCFQm89+6SI2Xv39Mw3oFv7xd0puZHH7/dqlGDLGLpha19TL958mgWWTCwlmDO+tAoJ/k5jood2PzKx3JX3ayiZ7b7/pghqP+0ZlhMUqQ029lYmE59P2IXQ+N3I6YKFaRH+YiNa1zpqU6MzVgeun6LhWQXzA92CQuoYmrq/6ekb7IARq8Jnzuts+/3jCiK5CedBdqun3Rnd550x4363Lf1sFUe1EGIUe7JQzeRc+u8+S547IEGqHOO30xWnh8bdfZFnZ1Vhfqnqc8MOz6qesmjyOQ62yur3PDIlewV9PRUVMF0TGLY9bVRwrUGC7Y2E3+KeoymT3zSuXCw6VM7S8OfrTinH7ozQ1QbSSqryCr1dB++Tqif08cAI3ESdv3TEVI9USOuer6wTcVfh3FVlxqlXDS6UnMA0+UFEzNUe/92fcWmyoXs1e5hRKUpO/Qhbnjght9nFoUfV5dYPImnJYVcfGdOymiZ82+Rng87G6fG2/6HBUMrsD08OuGFeBXV2N0/BW64Pfk/CQuAs2FLqeukb3p7XzdG0pDJwySd2r35NFUmvYKEjlku6NurIiZnn9ZNtkUBvxUZ1LDjdv4xwb6pGy9u/pVQ//VAaX60C/kNVTysGkwuixMWMpDfvBCfrLBGwxnC/Og+OT8x6Ka3Mwgt5jxdoDKaA7Ek6qxcfGzuG291bTRl/ocVmr4SrymMz/AmrCuWp63kqDVGHLe6rtYOEzQT++g7u2hnm9UYzdTilOIxclQpjC99RIFQJThG62QM+XR207BB+gkJG6O9lvQ6UcSpdUSJKEZfMFCAdelmNsXZbNzbtKk6cuXARGx5OvpICLL3awwbmFc51JJMHBcCcJAvYpfivD8DeA2dtHErKKTYCyDfOy2eTdOGbQhxkxKc0zEQkEEt2fH23hc4OH+l2T2k7Pl5FNmBYuWMmdzhMfqrDlZ0GFJJYsV75IKpWBVV7SMWeftPLgSYcHDcbegGfM6KK4ibG3XL5QByAFziztIR5OYUc8X3hX2tHe5K6YueuSh9KiTmy35qVJNB+Stf3ec+RDLTEOBBUss629m8VZPxYSjJ3qmnBGnwYp+ERTudsMussD3/I9b69m2CC3Aj5ZCsoAIhFxovUZcIlkhkczH/6ALzlGocBbvYondri+XYPfYE1/uOFV2+s6NexLa/1O6jvCdtMx3jKILHqak5y0UlkzQfs86bOCa/45IbDSZTW/wlkrB62+6HPgf1n4/ll25web+IO4uZINrQZv5NZNf38mRIYtcQH+lQ/14Yn0xO/nH/EGsQLXyp8rdtihyxfKiii62eXz2XaxmottNXtWVFj8WlsF7EAf59XeTCeeVVaJLWL7BCl18Oek53blnY9UxZ+icBnejSCHC7vC/FH7wxUTJxVgIhln3b9/jJ8c3hdx8KUTjpDFDNBC0slg8Hk7B6yEew+0UZli7gIcLyehJmjd76lls2TvDqwB1LMK1IGkmJf4JG8m2qwYubuAnuiWjSerHsOR5Yox8vCNvqSJGg25GT+ZtJKL4R1lrZNAem54yytvfqLFJA6DNxr55jUp9QxHU1j33lxFopQNqxquQM7xAf9VSw86cxnKsOfpDyVYdDV4RlTvRafSTNVy003Y0tQfl/A+Uhq/pmW2c6CiLX63F+s9qyZFkzA/xed7HO8ZkdymUiC9LpyPap9/Dji1Zbnxl3R59ubZRcAyFyxAVr2LDgK289RrBLGOuIDxZMkbJ9OzV7suygPwCCHiptZ8GcYJVdqkMYLRfIn6YQfbo6pxZb1oGDF71DrEFwDRLWqJ4mv1NDn2ON+ZyefZQ8KRVFUQTj3xPqmSellyune56/5u2aQ7Vjx/527afzr49PjAt0R6lyEiDEotDyLY/PCrRc/v5lf/x9sQnYFRqZiKSTbzjSJDv4pY/W86HynilfUrB/TKLEv5PzWKzSSsbD63rYcA12NsRm3znJzbGvjx1iOLAHlebsPtS1o05JBMUZRXSU1qIq+RmaDKm1lkzHBrrs0itjJ6lMs4z88rnHKTWx0/q14pD5Su8ifnayh1YeXx0nOd3WsVEBZ1t5Ta8ykQfVSiojc0iNZ72jUvcaa0mi1aSlwZJyx4vDRp/FYM0eIEzLPhsZ6US3SYa1hOkaBlWOJlPWgD9hfmSFQ0DbvH73RSKWlGtBuBQ5eVzd/mUdNaN+SHm/Z8yefzjLjC1zzvFgaIypwklX1t+L6ON0yUNNJg5NhlZcH/k4keW+U/f0sEW0tVs+b2ds4UXkVeSOIL2O2crB42g+lHoOcB12PbMi4PMPOLCaBkYytGxarF39JYLiMglAuslkk6s07D7kH1L75ip4cJJCCPGU+926f6Z76+CBpIt6zL1wja74n+xtnGPArtVY1I7K1DQhgvbzgnu1gaTydxO3BR3aqe3MGFoZ7lkz26gvBP6IgzK7uz3/zDyYh6/NI19IdK+q/PHf7mW6wULjLXcnBhJ/JczVmRQaETmS1wYlbFD1YGCN0T6O46qR5SumTpzptpxHSE8EMObGCRrv2V5G7wbgUfuLkmwDJ+JWnJ6N94XG5tIxCZycv39f6twyZHzlpDPPVQGUWzG9oFTnDcYuc6ncGRwK+snYSiefXru/aBhVrJ/zyz6o/tBAwGO1OiuP5R7ZuYz1f1tpg97gyuV2FMH5f5iOj8aYn1LvmUzFFtHtYKg/FUn/vIl+HskHKZTb7QjVXzn8lm3vog5AwGmmpSJUjIoJAovYb0mosX5fs8s6pRmZ9Pr/I7tvDzHqR1En6XGME0Ec0lt5DOeBCuu7CjlE94c3BKHf74Hhxz/VDvcJ5PSAp0kIyvwP1yJpbrZGbF9W7TEJDoDn6biw6Mb1QuI4WnYyQTYun3YhjFuWRmkRuZCj6X3E60IDizW+X7rVW0LI310UL9PbPgC6Qfx2C5QO+FyGGsoRH6PyWfLhz+AEt/JOI3Wgyw8lnjwEwvdGit5v+PuwV35NTzVEJbP5J2dxnvLm6dHmN2GzazyrUHaLFL7EToxPQsL7daukp9J5ZYu6WWzaVz8NvKfxWFqLON6M6c39ouImrh1EfvJs9Obb9a1qoj/yl63A3AsgcBiQufAAtk8nc8rJzLJu+HSkGohoONO9WrvXIk6VG5B22kVnbth6eAMKXO0EyWKzml8xHLeLBxEQjTTHfJSq3Q+jDrF+9jfjRQmfbnQst7sKM/vbd+0k+VVy7z3/s/e8onCWcoBpE3Xdvs4fS60yXjQps9EN8rozWGdNyHbwyZyrgBYMd8yJUzPbMqKsOObyIKausOkyKgkM8yzfL2qNs72JPGI2holXw9yToVvrWljfCWlU6wAXPo5+rklq8OOu83pJNSAcY9rARWUrwlIg6wK+Xb9zIPNFF0fZtE3A1zdAfbc4tPO9Iyy0KflnK7TPZ2JiyR9ajqLTb84GdfoeuFNE278PcHaRxfClFkx0XByItYEzhSKzrLrVd00DwhSa+Gm0W0OVj50dNQd71Bd6BcLXTtZQzmkEtwXSxVup9YZbYt5Hu43ae3YxFT+ivEJdQuFWmSO+yQmMua2rwkVRuVefg4/C9O56PyP/BnyvRo0J+1nCpYONhHNQJKyiacqF5TJFQPlO1E1t8b2QzF2Se8sKJAP81wPjvLSl9LVHocUk5uQUZO8cep1WRF5+UpUdYhWjVCsKd3DNb8gyQtT2/D0hk40zC+9DwtWOUAO59+4gZr95MQl9/h6wpZZ40MoEv+qtu296WCiLqo7ZFgqXDlzd5K9L5qLVmrxzkWTFQeQVF2+kDJwCbgqqQGI46oTyuteuYvRO0iXXbYeOfFBZpK5hHdIMkpf1yRu8XKdT1xIWl6Lr2jgWgiO+8ks17u544rLM44EfUpJqJcsLg7LYbAO55GINupvyaGWT3VRmIlL1mTrvATy2/Kks7y+CfZcccQ6PEBSpZwXODvZPwK5iv6Xx2EPoasPEQUpiaWPNl3tJ4MPJHpG+Ybyr0lIvxsXI35lo7xrSNu/umO8Y/vCvPlxs5R5kp2H5My8sxVk6g5priUd4dz9AGuLcqpyP9c8Pae9LYPk9N9uRvOuS/ZY2TZVjZp4IzK70Bcz/5SaG7JuFvXfKOfdNq+A3a6HvV4a6WR+73jg4qhEbJUjCW00dWaApGJ9rquRl1t3G75XgjsrO5eRfn9SiM79UzpnWp7fn3Jheu6Jb5Bkr/z88fNOVB0PqjSKxmaWaxaP+uTYy5pAd35Vzm7ZT5ZPnECgaC0/GYqT3VQ9bG6FVLQ06ocC0zvcubirNKhdzPSKOCO01LBGmR+88VCvUEL1K8xopW9wBtiNXTCB8XzMIl5Yzhyd7CClNVybT9ra4dhLxf9O83SWuOKJFa3Zs9JrpzleVelDF8zUzBmuIpUVT05iPKECkkSr5UXFz1b+SJ6T6T+czMRDiNozgJx2bciSYCL3b0gOArdAxsXtlq3O5gxpN+ZB6l4Ke674rNsMl0POIKlsC3qwqouMydjlJYEvVt+K6lfxoWR1GDsImSb2g1Hd9dNTQhbXhv1uSlmUN5k65Xe6RzrN22vBQ76UqJc2vFGgtV2yBbcwAiJLqZzNVLJ8nHsZEWCuI2VBwfcmoxDWnNvDA1ajhn4w6p46S3EUi+dcbt7Aa45kVKdfn5M3gQmsMoB9EM7ptIJ5g4lQEcwS8jEv/yTdg7NmI6SO2CBmNNI/E2Lj/+QDmuoVVCPLbMsnqmrmBGMuTqE0bPS5YIuxuSiDBannf7+o+KYXjVJJPiwWJUokvizG8D50cwuvytfmxTcNrTcG+zjjvCngkyLZFuS+ukjbbNRw8uQqK9ScJ6pE8alM8HmTpIvfySAllt+b37xiXPiIE31oVG6Ep0MTlSeWPdHO9YAf3uMMX+sPTTZ3yTNCKdCmUcUTxQLEM36qblormHTKMCHEm3fyEa/8uaS7vVVTieKXo3VhhATpatEffofL/a5nbqFq5JwhOWBlx1rUJykXjfASp4HXCaqeXmhztYNeGslpYAWJm8vhw3Mq0F8Or3uZgrXWJD5r1rUbNGRI/k7ySd6WwoxVGO/dnkcbRRXyJ2MOosVH5aKmzzv5p15pEYkMAKScvIypI51OucChP1hR9mpFmWW5k0XinCxbmPm8RnVKSHcqjatPjrGK/KcDLzfTwh55Qa1jInGgnJ1jpHilHoXxNIZWqCk4rVBcTfOx+W8Oj3UUKvHfNYvIKzNt5I1FhuOjeXyL0CGRX6kfP3c0Odt8oT6f7wUfndL3o6wiH9HCagvr7RQss1c2WCS/+o642VrNAT4LCd0UR89VJqp7hOZOC9UZpKdGKGvEblXBKzYZnDaR8UfeJ74XaN+pHn91dgmvDP8C8+nbxb+30xjqVL7yxGm1R2c9gJTGBrMCjCu5vkq0VSCPl6H8HqJDaDbJex3SO2l2xgkyvXxwSYzI9VcqHsPtEeSPpn+GN0haAFUajxT7+WJExCP0GL4wCrMu4tkJRMI6lQgpg5vV8AsGRq+liQ/19xhTdDessUpEY1CmQUNrj3twG2WCBC7YoUbEsxlXEhZ/lZabiplnbc9Zj2IK1jz0fOYNKrfiHFvRUDbWMlQZB6TkizIGVI4NXz+TmUjjb9sr99gw2L6hq42WFZlhDWkupdqyhM5pX3C0B4dt3vBV7gmTPJVOvSQENuxCRTl6GmvF5XX1wUCVx6btVi3YbneTOea/iVVtMs2Q49doN5AHh4na2DnbtuIC4ELwRc2tXQ0zattXhvhoU6sIQm1QwgeG7PEwoSCtWoWS4UMJAOwgcg610YhEDKeE7+Z5sPZ+NW/loACgQKS/80/YeNcG3Q9fZ1EdnLBcXlzmwfI7pufl93nlDmQ8nK3C7V/sbl1iyL41MKST8PIBpt7055iPA3Q0vfb4QiZG53GizNBEOj04h0WtYVQfILSKvQ1ZYyTBny0/X688Y6AG4ta7NzQxUeatTlpKggveo37MV/6aiM3QWl2WEh46FDsRluhvOpLkuat3aEA5/jMW6qeahN9vLdaBZ4UMSN/JmnKCjDp8d84rzCdvrZO1YYrOhyRkCNkb1s3LJzUWjC+SHC2qwGIpTjIouSUD4EY1sqDyk18oQXU3uwpdVp6tfbRovuZtcIZEYIqVM6fYSIve0pEa+YH0inLGiPzbskWfOpOwNnJWhir2/8u/GKYCeXHXun9x9/6/1OjxDYhQHSeTvJPVdjvcfaETU5rQLaumghU7mXo4WXvVTkvf92PnUr6B3cv7J5Ysug5BVA7sWs0qUu2MSrFzhvENdMwSkIc2oK5lm0WpMaqd3nZg+GdiMpi478pYafnNxKvMul1qqWd4P/2TIsSG/inR3EjHOZlRl0AW5E2/Q88bHd+26/L3DvTK2fjO8+W4o1/KNutSgek/fb/cF4MD+NmivG9NhEBW/A7k7PjATm47g8wGLRvviGbys/ATI0x0CNjE9kjWd2Ybwn8fwNVN4BNzrfa1bXnEKmLbKT2I+fiIvko5xrR6gCeH3Q/c+r7a9/tqmvncp8Ux3XhqqbTHyzu27RHFtmS13QTYVGPWFL5iSQmKvod3KR/SP5tPrOcYvWfsNycIbVgifbnI5y7e1PNfJJjshhfzIeFlkyCgpt2D/DLJugR5m38cfvb2gplX2QgXeYqXaeP+TjNJef55ssMY0tc7BOR1U0pY27qfOT0tvlX/q/O6zryNIbddeb//WcpFLKQMig4g0ew1BshfywShXaEn6R343NlNM3xrZHHqYROv3Xbp/byUUL0VfFmP3GfCgO0DN9vtLDjYRo575ObevgLvLWalt7JnJwHf/kXy4vt5DORbwaHCVUlc/1679XHLVhmDfxQkMNyIinn/wvborRFBJmJHOnzQ5cHewgZHxRLjVpIzfw71ch0KiUQoV3rF98+Wot3ebiQNxbv0bH2ibnSXNekPkdPccAaIvsilDrV3z/dW2Oh4m79Lz11B0n17nPdLZ3r5nj7Qg1zsi+yfVUm7m7vRJ9vsXXruXjdo/IHlVIeiuxCGhR7k8nRoPzxrd3M3+mjYfjfYY1Wmu+iQuacLydtYMZxNEZGOV4Rv3FcAVFyfsjaUzJ3HxGyeHa8LByJ7G+E6XAGTeZr5RoZiPtYzzxCXUpimRWYiB11PmsX5QU6XbRtvcEYnh5m7d5Ecl9aSkWoiI4QHOCjRk3ECMKrE/WCRXt9EHmWecxyEWpga+tc+ndxv7iYgfa/pgaoZ2k3vmRrpwxVUuMLXFFbd5dRS2AdRnX9XWopf64evIoyB4A9RN38pV6azb2tobTWxbK6SGeUdTIDrP1NbQeqrikVmWzte5yXkIQIN+igex9DK9r6XYG7yvqUF1Xx+Unld9qnjvnYKXLC1l3MA9yjI4RGZ2QVna9SvzvpcYG7pWjFCb3Awqrdn+QeqQ2WdyJ3XYBBTMzxS9sgBJOleVpQStciGwtfDEfzVgRY5yTyx/WIpu1ceSFK+AloH0Vcw7RzoeX/nhZjlxP85AXJ6CUuEdBUSYRqB02yDeu1LGW2g9fcDJXlSONVW/n43kbB9YZvU6X418YYC5lK5BIQ1+nb8no8hRJt9FKxfYpXVqfm+h8JctHeX4ABX2/UjjweUpk5jpOn4wH9MZnST9lwe/3gwJ8ndtn3AqsUbdhM/7KiekixiwhG00eC3FEMNLaOvzYGj27D+cN5dPIyUhA+qKOdrX1J4wKl5B5gm7jArhDAEyjfxXLeNKLQCg4gbcW7SIkIT4fF3WOgUPMElQSua3sn0MZkFeknVnWBowfXVq4kenDKRdsCB8npuoQhMNwFIHGS2oIgYiuAcFKVdCyLcQv7JBy4IywkrKImqR0ybFlMrDvRIxA4PeXJ/0Dqd9+P5qGBZjLY8nB6eA5awWFzEQZrGBi+iXzE2o7U5Eqysxe5BhwiIq5ka534N2SknwPUCzpU7UxxrwoXHMura9oDdiSAlCEGPjSyXyx+NjjbSGAOgAMwU4VwUfwzEtOknrGpZyAf/JlHGl3SEopwurIej7zNwAoAebBLHAmBAhvsqGS8FQAxIIrR6woQR0AG4jFmdMvNyLN7Y0t8sBkE6nYAA10hiJUhKKIhx+WMAaQ2lIZVZwBtDcDOb5kWFoQVOh8t65/xMfH4dLX9ViSvgwyp5bkxfieUQgeYjeXUj0Ko1xWq0j061/5zjqYpe6KrFjAP4+7iFS0b8opj6uXSXbKgifEWT5eKvsgB61qgKJs2cn6vD0UP93nOpaDVYTle8txgji9AzCJf7JvDllBaoxgyLETvKa4TR3+oKEjP6GLNA4rpplhWxrMVENjp6NH29COgvoJ4jWG0x9FSBxSghdcBgK3Fj4/Ai9rQ1W38ILaEWFmaeZSu73TzW7JsfqyRdNt1D4c3/gMrS5FLL4eeSWjvPy+oVetPdnQPydmSicpn7z3KfM88cjbr6MWYGd16m27P6Sk3DGOjx2Hwh7ehClNwS+NDnGUwYEy1lvoyWKeQYFNuiqB9HMG5wzd1ujupzw1B0AexHYbgcNzhJVM0czIabsxBelhLcUuom5/rU62vUoHT+oh7+nX0GpB217FIxAUXeefQPKyiH4jcBkHLseN7c14EYd0BSUO3RCTJtvSM/Eja/XYJuJfN8nRi1QXldEmhMzytpbJbxm4bj4sgfsD0R4eCGMjf9aZBjFXBr2hMZoE7fFEWgzQNyWnYqYbsEOY9zX5lwmdzIzw6Dajk6efBAwQib3xOMQF1z5WRInEkSEAtDPg6shaKmQ3Il5QV8yiC2cR7kkI2E6STGOtBNMNhhhNkJ466RhshjL+3CLcgPsuYVNhaRnadi/nniOHfCyF5jpJBn6oMFsqEN7IJd7A8iUVt1y4UT7lc/BNDXJmA2g4PqO6gfNlBWAAux6r26Vp3ZvZVA4xgRsLtUZ/gmY2+L11o1Bk7SacfgcW7EyqnzCpFPUW3d6Ezqxe3SrzNBSSC+k/zBDrkl2qWSoTyTUMVyVmW8w+hDpA6qaUzc0PMVS9K4EE3cGWi/cv2LXoBfaqty0vEdR474Ei17hOJFOp+RNVQY1x+SlLVLc5JaSWGf8oFFZk88uvMfZoElx+7CPvGg7JkT4roQNgIAKRfhv+T+hB1EHHXLNiyl+GpvhFMWpD8y3TxwtBKMUUdgjLfk7JeD+MEeFpgp50AGnpnRHYSZxKbUmKmpEx0FT9Hj04Byx4ogSzabvRgdlJ2FZbdiNCU333YcJTAAlsFKg8sbfBXSss2HgvQHQSFSBAKoK0geWDqJ1MqNLXiYoBQUaZZDdhhVS90DTtRxFAR9AFMZmU12RQe6dTLXLxq82Uuqk8vkQxeYNpfmPrqd8oK4zoN83wOR/uaoLLO3LzR5lWBCnI9VMC4FArEYOjsPHfYueVQTyA7HYelLNkk3Yd61fcD3/KOxcmicwDe5MTXGYvr2gSj8ur4Wrh+hx1G24bPfWM5OBGVTj1gcoagpVXt2O+gid+DIWJj3fZ1i8z7DYjniT66oxKvVu7PdlTtuKGmKnAoNimS9AzLUqef/yXGh0oMwu44/0rw5DzzAbdE3SNE7IhnkzGxjQhpG39OmAG0sy6N/RFn7yFkdm+IH0TIJ7xz/il9S6BYWMRzs9q5OePrzDQPrPGg6sxlyepjgKc+fpN/ic/VzKm10cvx80m6x+rMwFVXIzNAhBhxH8JEcAOK70Z4JFRIg5m6Od7lbjeoA7uqjejF5OQdcXsHc/kv837wkeaqUqaBcE0aLGGmQCSm41o09Z+cntHKaCVeKTeXr6/LHNYwG+Fofa4tLbIwydEYQDaeSEVwYJ5on2hXqUgIHumIaMDPlmADrPMOsgdmywZZsWHuQ+50QjAncEdFkfXIzAm+YlZS6MnEDIHyEvvbvbrsqT8p2eTD57W6JyuTjkAu6d9Iz8CwxM6Tg0rQPxhFt4iBeOR/JrDEsB2SYPLDQtMaWPVjUR6dO5RioTJqjTEtg4Qyg1W3z9iLjrLKELI3I8DyqNua/2tmNuDWXrC5ncNeXaI0gixDUDc+G1OrAorAwiSASfb+hRVyuVkAl8hOOuwl2NkH96ofk5Pnkry6SHGZoS6rnv6fZmk+EE3MSAeiPS3O8XW8YHZqq3MaAxhMnsfTqWbBHIYcMrd7Tx2+1e/dmM2T0NJ8yDKtKRlDOYP5AJZ4Gy7kD3N1m20jfOItDQRr9MsNS2Ggb8p4l7DQTUmyfH1Z20sKoXjpXwsYRl5G7wVo4YZ/HFuwiRBaZsKyw3IFZ3hfI2ZtpA6cqcQbGpQLNWicPfagmsEy2wcLANtHbnK4t3S29hjGrfVn1T0/l97LSfs5o/+MlHH8NuMWDc12ZqhrhDPTHVUlWol23smuXJ/dnRiqMDJigulxUZtAK4GPV4yCEAcxkhFcMTI0sXF5jtIaGxE4QXO+vrpbydoBrmdI6apUhJQhvA+12HLSfrFQphSpRLLLidrh0VPV+b4DdHQhK4c9LC4Q6EjfMNAuWtQfcCTBttWDZWI/Kyfs/xRkrUogWYMzihqVxcCxql4ARN3n76GvNPGnw4uIx3NDML5fUrDy8g4v/Y0Gvm+E0y4IAlsYzk3wkBHF2A1OMu6tJYAtQ8J8A9rHFRwAgVbfMytZ4gkuVyUDo2tNtRCnyDutSnyZZXIcIDQCycWgV2d2sfZQ36cKzx7ZMJjtVBfPvPcZIpdX1Je1A/UIAwQDj0hzQ13CMkQ4Q5LeaKJ0MpE/wRTXRzN1QN0zDEJ0UIuS3cURPJHn3RrFfmX4cXnyFNLEKLmznXYbO8yroGTmv/LrYyNXptwdzGT4fGWsWKeswzJqQ8Mr7vPTs0Spai465P9YBS9p6Wpw35KWr2FN4fhpnCd3XRrkFZtJLZrabBglrUJlrEm5c5WQbtRlFY6BDHFOTfbmchUx35lSwDjgn5h15UY9uUM8hOzQLwKYY/NT96v/0ecqDntZjh6bDEc1Hez4qWxYLj1/pe2STXCG5bY3f/lr0z/yveJtptuFtUJcw7rlleiFNrKMDdYOln+SNr+noibf2t6fXq5bZ4ikdyV2Xn7OcSLHsiyvwZMjZWxZvhtYJI90iCLREQQa9j6B35LxINLEyizF1ve/AxmxG2/v4I4qBefTDj2mgIA/h1L0za/6r9gXa/4E95UKjGfN4ELdZ5eAzzUM2jB9Jcwj0Glfv5FGfNGavcoMTMN6qF04D3zdlc7CrVqDG68AafKhp1R3nKpl6mcK9G3TixqdJNmmVM4ZX+1d+eUuzMadstErMUlLZXMCMY3QE3h/XcdgfPFD/ILgHBFt4IFASeu+ZlThGTrnOn5P1i6395QZ4RsE5aBia2SFzYJJBucFIcx3iuC1+CN2V9wz38NLS3MrCIj7SUwFLQ1CND5CKgW9HvSnHiv+AZS8HUr2Pm8ea7a5zWGz0r0mTLaTkvyqUnvI9w7irM+ZVl9byqotXiiJh5hQKpV9Plj/bmVS3TeE66AV5HifONXseRa9YPfVpr/zqrHUxFNS0EewrpbZJjsisBcujie9bvRInCCIgTlFzqKIpq51PYfsrZGL93x9brrvCzyPDc3usF6fXubmXVr6DdXQOCAjzgWD5zpltxAp99oQa6dfHG7+JBmTKmxYRkahvvoOBX6gU7DNzugT1kfE+z+WCRQ/1yqjtf93G8lk5YEASBq413ijKzgJwIwndLHMDLD2275xdanIdtiJZNxC0pd/B3i0fRc8LVeQZJuSvm0FbSsGFcWRMgRN154McUOZlUJ6UGzyF8MMrchhQxxsHkFYKFxb7gRCufydxGKFrieXsDz83KeZUbEgmr0xlzIRImizDyuhHcjrQZ+mI7qIbKUh9XvDZJSERuo5Ufc5RpjTWXT5MjQ4ykQg6/oIl6sl61S1ROGAVbCaH+/4mBRgrfdnJqxRG10LnIl5EefM2t2qWO5/lG9hlwKiu3octlU7bJt64rHb9uoH+WQ4gAKPJj+bALj140zk3SG2uaGPrvO5d07qRU1COansOk8ID20i0BmvwyIEqcpCH2Wq4pBtXHaHpVRVr4fq3TZY7kHv4KTlCWyMvSX8zY1qhsMVbSXm++voBP33Ooa1Sjk3aXDHMXg0c8WnYBK5ny/mbieLOJBQlL++1QwZZ1PGyg60cbhID0Q/KjgmMx798yHun5OoJHOeGS0MmdUhVp9u1YR1jCkxlNYP+ALt6M0fU3OEig1cMVIfekLev9m/QwK2EwW31CgYMX4T81rtdPMtw5Sk1aZBx+deZO/ZwjvLtTIv4/sf4fZJNSg7NYYrVSz8Cls699OOUGg7voCOaHFlKmuDDIEVxu8rfmnecJB1QW748YCQGZhkrK+vpq9yMDtzUf5WjEgbW9rPfco+ljNQINTMsIvrp79HVgMSjiNQ1DD5K4sEtl4R07VFGVR+KfGaIPgcZbCU8FvqWkRCYNC/80yGa1VjRRObCnduMwoeTyXjBE5sJvQbDYYBdlJEFwYVqW+FCcb4rh/PqdmLJ3ys7lHu51uDL/9wvmq+c1vGxS3NeB7qniBX0Mzc8yJUwPVRSJldAQ5fk3JvKM+uGlauwnJXdMJOGCoq3m/9ig+TiKFYDMb1OWECVmaHCBs8R/By52ss/JMSFARXNOlSemSiePT6iJF0+FDkiQAM+MRlFlyzhFtoscOXw+XEATpbgAh3kS7WQIzci7byp5p0QpHk0XF7a0XCU9TUoIWj/wzMbpEWhBfydFkl5a+ZpqBpAlxt2gZjIGE79bmAuy8ESOWUtcYuLlOajtUXShCajCXON4A/i0LhfYGj9tnBUsbCizDyIA3vHZD06bDfhsiJgtvESlnef+SgmYqJYCU8j1qON485Qw+Kmz0iBk7DIjNQxQymMTwyNJCOUQj7cU+AoTLeUTAr5t/OWBs4fzgGXKplIjswKTGEFFweBo5QJ+1XcMZuHPoBD5R7ggRKCsWV7tDnxLXxCwgTT7VxIOQb48vUjEnoZo02urP23hnO+9KYKnqQqdkEFpuF5OzhUHRIqSeGuT+dGeKsIDNldGascpSITHTWBDFDbuW5W1MLAWhk5lQLT4Bljq+/zXsHs8e8CbRCfuMyXDtNHOLMumvM9jF0yByqyloPMsOkGJYuTd69Ahc8Tc+Y/tmxoY/siLuQAcaOpcnTzvLczhqQtbYFw4NDn3utv/FPfQHAFEiDMkJBf0mfojqV1GZV/H1tQUuLh9Q2eC3Rms1fyb39bxkew8rmlwo3cdfVvO0bD2+0R+J0ZfEXQW0gr9H55kGtLy3u/VII16F6lTi/2hWV+pdJ8YfUlub5yMOXrDd70idVv1p/qxSGMi6tVX9GH0aO48g8NkCO18ENj5Uvp66MaeeUTeItwHJ8gL4b4C4YMfMCw+j/l9VroYAfvD/n5J7wLwODKKsy3OiyojzojIyZUHGOcFrqeJdtM0QVJIjKiBKaiSmSVnP5vekS3KmFzWWS9VNWRf5y/Qob1kmEu0aXIYIwRUlkjO01cBxjUQhDAEMedJK1Q/hgGslK9CQQBjg5pikLSScMUZIVeEpUDQMUqsj9WUCJUcDQVS+Ne72pYqlzFRq/tyaYivXik0a5QlAGnORDzi7poQV4ygbxkhvZP9rln90MddCSLmVsYaPYfng/l29VqpKjk3xlZzNIY2r5jG5KwLpKsHFz9jEpygVJbLQbcK9pdac3CgHOTk89vPEZqlE2ThnN6KKyke/f7OF05FeN2k6MfS9vF8KmRj94hGtLxs6Z+nYc5WnWPXJt7nPMmk1toKGU34RfYFNTtwcDyiKq0aiHOw6CFSGb5eML0STGOjkLfIRZ08kAgiLfXw9z0rAejW/01bljldltlyQCuqassBJgt7Sk9Fg3Rp+zGGcL0bOtu9xzLXW8Bs06bs6DcTgTJWz/KGfG/vKznzOrz7UODAlnQRKxQAwXAYC7Mn5uUdyKE8FOu4B9U4C/f84DWXUiutuz/LpZtrT5ZurCGOLkF8HLOX9IY9LjqV8SoNw2jmoB7qkhPslX/A+XpEtJub80xgP4Exnwavllo5Y6YY33LRV8KaCDW8sstmXns+6vM+xlMP6fRJPDpBkL8ZVSK+Ci5Km/MDWHefCRb+/OCG2byTq+ftjRStA52qWOIWWS711pCt1Nhy3V4AmRN8MZmMZixwIiwBSgCakJCk+BZgy5D5uTgiktsYGy2EhyKv6Ri2t1H15q9XGddks1VGt7xffXtVOqtVVBnRyrkY6m1MRLbVEpWabkzU6pwQGNmH41m4kYlAfIvVTKJV7irvPub9D5Sv7iTaH4FZpwdbHPzXXh2BxslV3LxPlakpkZfc2ptDKEO1J0DeIa2WWYtDmYhUWAWIbEkCIc1M9UQfZPypUBwtAIsDPJdCOVf1zenf0YvdEK/yd9/zSZU+G5FzbiJZQTA40tCaCoGL4vEg+jrvmfTyZvj0+yDhddJpsG7vxRaT+mul6QpOfGuEXpat/Uhs+LxCEsd6WAuxLsJfdDoE/d4SRQaVl3c5ZHYiKZV5iUmxuTGd9I5BUb4HaQUkxuc1PbBDshonxb9FvA9coh2hZU3q5lMSdMs7BOkU1L36/BE9E3eTHaHWz1cJjjv9C62CU3s2JhlirKiy5v2UvDiqTJB1rpDL6nHCHUzHkXk9KArbV+0sKgWqL+RO8WsUb1lgLDHZNtiYISYsyEov6xUy89RlPVYImIWe+K4jQsKROmOekEjxTOPCEerp19CF6tkS99lzRdDeOYdjqLvmrfI43dzsLPDbAp/HkfZ4ksWGD0fOkkb8/7fNsFXQEZvJOorJFhHPF+dpLakEyqJq/3DCDhEfNBXDsvspvCfUSBH2X9tNSmWDMhCZzaS3vmLG5Wv6ooG0FmVnttDiQHs1oivV/mqcMTZaeSfXaByfpbAXATxr/8bDWrkr9TR9GR3Gns3m6ad2g/23LATyHAFct4QjcWAnbWXaK9oUHmda8VfvL6KOSTlo7V0JmaEUO8znCKVFG/axw/p5XudXOWkeVUzkDBRULg4iT8elDcvUC4MiO9o9oUNJzR3T/T3UrsY03V7LjIWJaVgihGJEFSDApEHcVODZDh8kh+nZkgyx4wrCvpjcdAui+rjnpKjguqFsja/d6N07Cj5QLTsD9IZHef5J1QknxuvNPpaJyXCxEga1H8pt/HHUpTyGipu80oxpMIcG7iaePy7HSN6CY+qFuIqDn/z3DiA1QCp7x1Fiar6xhtXRkoqkIA7bxcaq4NHVA3QowyErObAgiACHufvYmYYXhs9GJnuI4wUSxf2h0dPgxqGK7ajgIzg4Y2OVqntdzPGtJ1NysJv4jGdjQzXRQgT6CgYO5XvseRKeGPQaFf1/owPK8Ngnb+sD06EFW/aRqeeKXDORyUns2SIBSwk4+9yFMTw/gBRvZzEwqk9VZQz+44hL6+vvupykcP23dUjxZ6NoiBeWQ6zyJBmyBn/Vell4yWXnVN8uov5gmFX9i+LkTHgyg3E/+yQVmYmaWyYm5hSJTVViv2+Io8fkF1sDu+ppQvZQ9BLCDqtV2gq5uSPsXpTdAEkrdK5o8pV3NnBTY9NHEmkOOVNsgxm9KubsxmrwZC37qPm8Jua3GLQcN/d84nJ/f1OGlHvu7kNHYISknICnIWF3F3Ddy9OpMikG41F83penADmmtbwCA5N++FgRaX3RhKMh0J57av7Z0wCM38ahdO8C7hEJBebKCsfL8cP9NtybPzpUcYaAHEte/J6XyyMZeOX9VN1kFBSKdN4zjKWjbpwJliN8fVIgsn6oxPOh61LvDE4P4wSF6hQjHol6xg8AoFA3zOY0GVE+zOsChs9l9vrp4Cg1uYqnF8CAujUGycgRv91/U0PG/dWRwIQSWrBQNWBbHIvWtbyIK8mZk72ZwtZlls+WQ6MRre2seRiA7jhMLopQHRnZyFnus8cc5thoMj8PjjuVvDuv0A740xZLzmnrjQ2qPxu8uuU0DHaR8OSMRlfcgwBblhWGjj1BvIDi7wZzmlAdJvit1gJjxokTW8F9gO1SnoN5XVBYj0Wn2NLK5jGOU2/kKG3+ANCPPDNpv+6nNuEKUKqIJKYvEAPqWSyPqeOJefw676ek6vf6aukt5kvtYtTSvAQV2OdlYlxRpRw+Bfec2abStqpejXcpeqLDYR19PDPq4Y3swA7E6wqCFtdlMfBns29gKmcdJ4qWutgseHjEQj0zjjzw2qn7jjKzjqkj5MSVHMQ1EcY9CWVN89k1/EcJjOfSbbxD7oe9jJ5+KAMhtUud3lvSp16NcOjZFHYm+A+EfUNpTtqWcy+P8eD9nuqAryRCx38ErpNz5d2gHvgLDZPjp5qaOs9hn/0ENwnvMH5xuYK3cQvX9JvOMeS1EQeqzn1mJDthgbMd3LoDNENq3frJ8EGKIivQf8PyMQJ3jXQBUrxNXQNHQEVgLuu+StHy3AB3HD8740beiODaokd8ughGKO2ceA1fSxliKBgdKqlQYenuU3ai4/ZMEhkvJnCvVhq91lRBvX8Xy6fZ42y5+dKKsUQoXo6EI349B06alLHvLwYa7tZTzwhjIx1gmFDY/j5srYb72ni8Zj8mfhC097QcJzkSP+HGk1+2+RfmP/dlasrNhQ6llF3ElfiU6+i6jpZdaTTa64NGxkF/fQvbZUeLS435YnyFOdwY7/h8N+Ai1Xg4nrA96Edel5AmHWnAA3xPuAOZGSW8Pa7IDGUs8HnXIJh6Cldn+hZbvS2vuRXIzUR5hqU8sjKc1ZaioJIuNHbUff1kk/wLiGSlqhdpQfuyvFNZqcOZoSjdND/HKMPVz3OnFChdIEN7c5GGEC9Bct9vUP+KbX5GJJnEebbveMg7K60K/KzEIpF6wNef21Xsfk0rKTVo56u31/mQyOUlRnqhc6zKEfcc5aKisjbTXqbkO9Hxp7OMFc5B0FkGYey4mA+6mLHxdDfVuxodzrpFHY+oRhRBzxISG+WbWHvxPpRl3Pxk5y2R9/kUMvGn9sdm3RTXCfkvozUrsDuwfE+d++u/T3478PPUK7R32fhCPulTdSO/QDHz4LaX3j9DHPNSIr1J3m2XIImmCL6EgTU4jUh8sFLO3g2nJF++xn3AOYviu7JrFtc3QdbhIGS/WPzC4Wd0XV1F7M8aSzc397ZKjkGlGQn7FNhsy3dXNdoCX+S4YDteugZVmtqOLAhG0VRPrsL5EMPoxEYzEifjiWh0+759eCxNmyPA0HliOsTVGgg8L8xHHVLd5BBdLwY2e0UXdRKleNtFxIYC5yg+kxkSSdJgFat/pkdLrjjqR2vW67DGH8qQmOOPGkkaBiMC7v3JMwOojGuxmTfTGuRqkNwLmk21sPplpwjqohCkCsLFm9BAzzavcTQ4AjSfg8FdXTil08AaiC/jRkOIpTIw+/kj+FKwfZxBDRblo4/KeX68V7CY46LCEsm9+IL0lpmXEYt7poAptE2eRAbg1HHfn5MECekE3DrDCvifbGNji2uo2xs8Zvv2EPSowQoLnXKWMThxTGqmtXKjNPDa7n3fJ5sdy1WKvM0fUnRQnkCnA5gRTULq6hpFJan5AFB3O+LWRNsVp3SIwsbc9U88nlBaiAUG4rGXcBmo4RXiMYixJKqx3sUeo0m6b951iuZb7qxjq02P9KfEaoM1wrvqM7kyr4aUzCHhJSrV9/eohFdDP/FnCaGNUx0uWmu5GCk/brvmnbk9jXCbWx8mBjeo8ikHiRmKoEhhvQgBaa8jO1MisBVGOZplpDdVQyPOkfzRwoz/1i9n58AjeH972lpwdvF+tfxwVEtEpb6L0gqtJS2FBROlk+1g+4kGHCtsksJIMX0bfG1L8MYdBUONwU/OtdobdKuaAotUayjbhgfWDmke5tK6jtcdYlQnTrBJFk6/VL6Jx6OEpizRsQY/CQ73Kb91zGPk0fZwZtagimlaBsujxzBRmN9MmwVJ9sfzIF1UlEiqCDhotqCI1c30tBcDr2oq3V6wxPneNRmAvsEdRttD512mBzX+IdA2FnhNWAo2XtyfNeYdD4FhkrXu8upehHkf22GVrXYnFyhOwJTMNl2RGPaTF62WHzKdBKC791ye87vakHmH7Mnhe//ffWRWdVGWUb40K6X6aBZttByk6GsQS+9d+B4k8A8Ea8FTaxGqUJdhrjZDLmiL14/vUOp/OfK1P7zgqn2cK7E5QVzF8xfmlgbPlPZ7bzkN5K+nKt4XQPBkYLOyu/ad9FE98c7FT0lvZvllQ2S/d0tMR0qg3tET4cDA85RhUFuQarR/nL9ZESU9gVy9KqkJM0x0TaeGHZrQ3/q+MN3TGYeqGchf+8wcv5Izrc6TF5mBYwu0c7zKxEDzElu9PiVD0adJmLPW9VlsAs6pPGfLWsCIXDHnZxYJl2C6cN2YskpihpwqUe2Xgrb5yJDFC+9AFdnhkabsJKbWJPATI2rrDVdjQZTgKlJIPsZ03+z5HEzAs6YYLxscY0rES6g4PuwJVSeDaA/iWxLO8YhYEjQ0FrJkyKS0sOBJ7UkQgmGp8NJBA3CAWdy4tRf+t2y6VeHD+YeCa67ibuKQj/yyKbO7yN2xrauUqxa+VD68Lpv9uFEryzz65LccM9O/UHe8Bsi2BEyQ7a2iSJKVknYP62/nDMabmCO67gl9EL9KiREPR0KTyAstD4po8eq5ksO1XhkZ5FHnP1GZRTPKXP1uTNvvxBQRVdsl/6Xu8Kc8Y+2/ms5cKu8F3jz7/iO+RO0EtNxvdETKUhuf5Quz6sP3Ff+jcPx/JlXLphtyw16PfUfNZ/Cl/tW/Mp76cmehfcSP4LXiRBP9dkF0pHLTn+/ZGf753ci8QDT9fCthvqmWPWlS6aj6ZuxnBuGjb7q53UHfdfR+na+AK7i5drgbW6N9WeoKaA9eZkXeW3Im+V1yARxFMhth0NnOHtgSqfUKULIqfbWNzNRd/Flke+URBnTahlT0xB4Nl37WLCohARm2ETnNcNxhIDBlY1cvYxcG1lL0nUu2vPBg3XhkId8XNxjM2W8EbGw2n8UPy/Ki2yJVKf9UkcqbAfLLlvvAbe4izlX1t/R7nF5HcI0uKqnYas829pRz4U7yDuNMqKWDZz6zuornBpywhxr1AGWqQoP/JDjm6zOhDAUCH9esb9eT0DygmLrKZ25QM0Kzwar9YH17Y1KqBwMFDM/FoSEQ2Pt8sF+FAqhSqAxkYY1RHC7YjzIRdTAgB4eIk3eeM8KznTIKK8oS/7zHDDDWOoprkTdHvKedQzRZLG+q07a4p5LIOGSyYnMkskXCQjfVlb9U7DZeeSU9RMnEo8p/HnvsefNK6YCpkSjb/NYWudbwdL8RJML9DFWQQ42AaPiAfuYIJaHE7DrjGDIPutfjfUTtrYS1JOuy+0Njenb2adiZJDBYgMPnY/pIr2+u1hplCPIF7A0UYPooSUt3rdxFxqFiXuN2n3rr1oCxcMs6pNuBHF5E9oIQZKIHE6ivvFlBLmqEhAtgv7jhB1zlTBhu9eDx6QKSBw0ocAMZ+SABBOOUzGh2FS8ExXKNKwbDW6R+OZUDk0C2JZQvjmZ20tHGttBVw77L3HAPkNzwFwSZMjFlbBEg3KEdX5AWI2nnHDsopZzUBsXtAB3/irXopQQ/op7N16gK3rosxpdffXT/7Gq7defw4yvrm0p++rYVKAui8XzWcp9SQIrBjKOqw9E+zxiZCK0P20/5mfW6JKNq5+741UzR+H7X+rK1ueqrrFhuI25Gh75gOhuIBgHQhOuuuzlGWIcA87Bju5WPvyAy3mKViJX3QdDh/1v702OJOcLZsV6qxuqymfKN2tC4UYaXP0lbgZGtSqStQikFGG0rbSjsGg+dyk1lht9CCjBz1M3Kj0H7zA89yfraCF6D7IPnsQKtotPHgcUUqVT3P6DkBzqiU1V5mtbLv9aG7Pn7Cwrg2WZJzv3ZdamaYgrvVsukYx20zxnjCe2IoblHF2TSUC7xFheRxhuTItPHyXqVlk3r+ekb7GN8WRf5tcpNNTfnWisJpucATG9JCf9Qdh9DYBcLOXar4XLwPL/5Wl06EH40dWH8qmIXXj3Fa3vnFEwqBuBfhUMHLwCDulayOok3s7zLSBM1XxANBVfV99aBL2ot6O6aY7VV1Q60OzUaswCu57/kVdqbVRt9XQ8sGx/nes+6HzM2jBcWLM997r6SIM9l2yy3jKTyADOWHjCCfRmjWQ6dWI8ucLkgRXBu/7c9ZpvdMzNl4YSXno+GpqkYUVmW5zkom7JHl05NevacnyIrcVG1owAqX5t4uTnmoT1YbC050XeFhBK4moFFxH9boTD6r8axxRKGxsO8aB9RByGVWSwdnxv2kLPhtRfZSDnz5RVvwT3K//JgcVdpf5ssIMfriSl/AzEZv6i2DVj7O85+KtO6HXVYTvryXbPYDNHjpy07YedzkPA61Q32vkZfPlT57Plc8ZAAgw2L11u2LVx0xjYSlQVLA6Vuddh0I5hbhOKJ5Kxqi7gaTqnqszFUBoqQpWRWFwxNFWOrhv3WxSi7IJooSdFEhitZAfORQJ/q239GaQ73FA3XJpwNGdsnMbIby4+LY2GsuZH861ium3bzxEjnO8/Xa15qf90MPKxVFCwijv83Gi1zQsuqGGL+F8RGwpEhR5bP5K3G9HJA0JJpcrFAiapAA2LMlJZmT3aGtN5URhmJ5ZPZ83vI6M1mz3PesCkFPxk/woARDDNOC2lKXVEQZuvpm6Q93isnSp3/3OEwKgEoF+aih68tpimpTLS/F6AxASWhx1rqB9119QW7H6Q2uUHVvG7YcT1gjsVqp1CeVxDjlqcgwm0lF63q4M8qr9ebR+r20nTJxxmJmyTwsrLU9XKNF0SEMVz17gts2gwYR7UU5ts9g4PV8FiTbh3SesLiW4DRUpV25ZSaicw1FHQcNOWhX6mZKA7fE6uqQasnBBgxgWCtyMwjs7aeuEw9GLDLSeaYh2Cc4iyPnWzme3+KWjTCagAaKS7E9XjfAqnWvHDWMXxOBgBC6sl54dwtPUB10NBtCVzlf8WoN81fL5pqq5pwNohsBKuK+j292uc8YefeZgfiSMg1MKQo4+ahzFsaNtsqwHiHoRrIXoMIf/+blHS2sItQBepjDBGoV71cmXPgL07xdjoUUodcdzTL1ynkxULGwdbnKkqeQVmIWyPVm63ePCoDI7CoJfdCJhMPr43edtd2ivOXAKjKVZgjKOhdCmXk5leLShPTBAYqS4yQYXdE2d1GzviuUGDL9IAxrsLL7bkPMBR/OV96vPfUNQbI1xodRfEqjtobB4NuEVbO3Ib5MP4PDapXCt0bPiX6iMxqMSAuAILWI7KtpJ4r7fb2Xg0flGWB4zXfPJ9oomLG2g/CsyWzffzp+mMusRoP+dLdya1RZvmOzyZftxoEwl+fYsd/UpPJpvIbP0Fy2sJHb3m2AmNnHili3IzHjH42SvJM9jYWYBMyshYRFwlJ+u9EENb3lm2Jgfu4uphslzUb9z+5EIWcaliLkyI9pStcttwc4dmGOnBZ+l9/4rjcH4QJto3trXXQrdl8Na1RwJy+rNaYnbLBjSIurPDE80PfcKvLW2OU5VTI+ThLFps7Eix4oAnpok1KDsRv5MF7hqhGaI2pCVhOvwls9tzrN92tn/GIJnx/yN2ZtwtVGRudAW1WSc3dtdRoivmhLhEv8KvHLRi/JmKuvPvXBi07xT3NHP6dcS9tUxn/hFNZgsqO1pcs2bYc/AENhkTQi652D9G6T0Hh/I1a0Bj+Ay3c0+3DLgFTZWGAtxIwhuvn6x1jkIZyVE5nByzNIWp/YspQHqChaDvcKBpkMP+J0+kdRFoIa/0pNFZj/tK9RtTsgDGPXWsmCPeL/wKzjCStSrMYTvfri4jI3fIkY9kfTqzJ8chW+NAEs+16MVe8zjjO28lsCNWavYp2OQqN+3NpZIqi7XzqMFL9yt3lRviOFt/Xb9cR1QAkQn8SXel168aFW1wBN2vNmlId09uOwQQ2cxUQLUFswlagSPXlYjqoTGPKcRrK0bW6g/4capwG4fw51ldZMAeFWxg0JvnLmKvKuEMEraxFMgtM5HRi4elWRJ/0YqcdLl4tneLtzSmz0d2tDYyKgOVEZSb9Ad5FUGzm15exWCumQb3gKTfElKcctchsq/PAQ6+xbuFhv3CYtVKMO/QMTGTlkaphWF8vu6iujAQjcGfJzpQ7MGDtsswUvDXfZBIaDxgBodYqcaeBSP6ZhcOhLbWX1QbBoiUsDP3Sa1JSxz9+HDLlRDqGDn46dcr/8WZYc1Fw5dmNP9nm8hTs5hHvRW5wlxh3zf39ADvmbwMtSviDJkr94eNlfK5fn/e1eXsCi0Fa099WVqbbMjU6W6CadxqkzFzpJJI6Y4IE9G446fy6l3xJxIR1XWMYOlX98mWmIXyiUAu3PvoAASMJzP+qrPoJ5uW/jZ/P3F2Aw6crrvfP/3l/X2/v12AVB5eAJ8a86qvxxr15AtfcvhNzTm422hXH+9bsB55iAzE2PIKL10RTpxnjSZbo9RhDahYUmcPKovnd8MOQb8r8LkrJ0KWhEwgriaBJl2fWKBDFR6ZMWpPzRIyi4XwKKymoFL9xHA9cD6/rkl9qSV9P+30qDPWspfzbVa26mST8GDIoLF5osM+qJWqRILc2BbfCFfEaaNpoMObeBVxr9VjA4hxGzBGrM+2CsGrMmmEFsqXv6Y5f+S2zPfcdm1k8OFR+VdE9g2NQf0iqhefg7HAecN6HYuCMjCAREWo1nOo2xJPzzqbSlFYUUtyjo7LXL93h/oTKWFum5YDx6nO0SQYigda5xV+dekTiDEyI0M7u/8lSp02/LJlUk9drq7U3FvfYh9NI2OxQOu80qctv4Fi9MUlZQ53dI6mCgMFM5uGbGO5bqS5r/7EWXHdda7jI8lV3gSVp3iGD+k2Z51rexqpoV0HKKj0uvbGqmpDTMFwQ0eoxj3lD1QFnzr8a/V1KIE5785jvzkEFcEmN2Vzvn8/scKXNan7dm97vvpGGMKmd+/69HkgW2xL0BeBAUSxymmfXa+2rgTZq7g0D5lcTzuituvicE8Wjijl+LNHMe2fzvjP2h6ad40r03fG9xRsRd11wxOt3pLvjnk7XuiYkwghM0X+D9eSPGnsn547+t8SOK6+Jlqa3yy0qcqBcZDzXJ/DKviK+3HHZdCtmEw2/gZVXSVPwyxHUhv5/Zb4EWhfvDV/oSGUjuq7Kawc6lrpwZEZTbvZu2/Pxw+3/XD0mKxAE2cKQ83tWmfjRcRztqYTP7nyADS03fHjCHyFYqhn3G22fOBVDFcKIMgSIcOlvfAjwWBTyuXqRMKgpP9gnG9mRxOeiWJstNRR+8kTqNm0AQPtlCd3gVf3CdbouBXfkCkq5Wkyg1Jtd+WAwjYylSbhBQgE3GTLEmHI2wB2OeQdMoVCQbvrL7fsAPzHYqc7wd296lA/nfmpd67CWAkpDH7P3GUX5Ioe+o0GW5e5UxSuQqkKwcCNl//P4Bbcj6mRcbeeeq27MA6L9LbDyb8C1btXPGMoVuUYh4PpzI4DpmRDXDgvyEyc5wpUGjNekVgrot/d0VO0e+2As6KmvYNoyH/okXyrsyBcA1NYsphNgSn4HxqpgI4OK8AcmR0lcV/v/8vpPY16DYvvsSSNfyLIT+Bd2uj5grMZlGEobgZy8vOXniL63Pvsrg3/UH0iBZmQPuG65QstVPWJ2+qifsWaDXcy3EqG7So+XPzGAiANuuubuIwhTs47Iz+9DZ+DOWTk33fOMZQCh5gDV4ebSkkQ9fkJEbub8acQSxI1ttckLxmqr27sbAjUPU4/R96/d4/jUabGgPfd04cEI6XhKlRMR3oXtf4gtEU1immCan6CS/WONp573SrvOCtpsLv5nKSr+q2ckIrrYMObYSrZsYVhUvngfhiZHqeqRaGAKKtFYpb8EdUFbKU65ANWQm6xxe0hQ6nBRCFmFtD7Fm1ZTpoITT0uJ+MR9AfC4Q1XDDAITpfxKjLTUAIUc//eIbvXB7TNOF3zAmKW1Bl/d2BHEoljrlHcEWB4I+P/HBm/Xo6mrPOBj9TEYg4ZifmbZ2U+38+f9cw6tQ19D+ONkeiFKXlr7uqQeQumUG/z2GrbJbew2+NwT1sJkmRCuVo4CsiwW0NTQ4n7n1cGF2kLA1vW4lv9Rif0ux/8Czx4UPEkojy+RNXej9UigsCFV8uW2iqbtBzOme1nol90H8ZR7uz5PhCiXSudi4iXxkk1uwYT5kU7xJl8cggqTCyloWRXzqRN0BepA9yQCAbiK/XlfD1gsvXujDTuwXJoovzQ7MjetO42uE1N6wvL3wEZyTbNJ7jughACau/h4fdalo5UMlphvDsQNJ9eeEOUM5C0ZPUKA3DmxUhZKOFLn9U1ycFOWBhdjZs2z+ff1IXBB89cF0v6v5TbRrS7Izajt+suvM86+sjv8HB8YFpbaFw7fH8xVWchkHJNec0Le11l68naE5fcEnme/r7kD2LTkh/aAp7ZmSqY99lrhjvnmiT1qR71ozs5HQ/IrTOp/1vQD9aRqrew3TLiFu+EU54Ufl+AhOHBlEQSSeYkJOiI84btxIbu4xgJxTYL+KNG6GyZrVyjyrepKmZrYNrXNGCiMO1oVvfqjEa+aCEayD/2OMOhkLEk7reLfpXPXqoXn6n8mTb0ieBKvEICrGbrwr2stx0Pv3Ui6YnqvhqRksE5vo3yMS8pR2bS5+eRkRG9dC4yXhqjNKwOXJgXgb3tfKIMkyVmKZSrP1eniWmQPakRx8QZ/lMk+F/AtqWm2rW1iAfxuQ8rOy9vup4hC0hoHnWAawV6ouK0sAJ5cgfWbQjx/XxOxq17JP1nqm9DRNAoL0D7dz5AOzhiuYsj5IqY/yhxuSoHFYs+Cta/nNie0KgA+nfVNeTyq0KNuqSV/yrvCgGTVozK9rwSBf9f0uCA4NA8VKHxLVEhPBMAQVk8Eo0PvNJKj5Ftw5Y1aOEYLsXQiW6hEt8LRNaBxanAcNugt9mUNqTmTkdWzcNvSl8HzStL4ijixAV8KFkE43UvjoLxs3NJpA/rxU5TaNjqoC8bG0PrDf31NHijQOEjTfSpXhyqgoEa/CJTLIgEgL1HhRqRHGfAH2uHCURecB6kkI/x4OJputw0ZDq1iseb/UMuzCfG1yt85aNHjjzZqotfStGI0YlruNx7V7TpFQSUbp7QNXL0xwf+vo/WLkW0it8zDb6doUXXnwpmgfBDT0TJxv/ktRZ3oXl1FkYXlBCX+H2butmEIvhUnsZedMM8Vy22xacEAoVNab/sqFCnbqxQL/EuBUS0bUyGnqu8kGfQqQIEDvsy3drt8nfcQRNUFz7pnjwFDJE49MN15a5Gm/9LvBubtvN3mT4EgCTywe4EkcvBwh3JRMrj0THYo0jKiJxAd6u/6gk7HFcHJ9sGaDUIE8Lh2+KJhmC6IX2UWQXlQOME4YkWZxTCMI9yl3eo2iPRcPubgA8RSVLrJ+i7Si8p1x68X2ZSeDPG5C9+0rbaEQrp1kvd5RzYSVm8fKqG5swMhJiwzQ/PN5pF2LueeFb95sRhHEYSl2qRNTTmFJygKZzzRzuGTDazzlN1+vlZp2/YYo61DtiHdWAiakhVYkjl9vUqAayABwjcVj3gIrWQadtsq+aC5uX0UEnRWlmccfCENU4EzkZVDTBlH+Q5qPuV3H/vwHbDQZMsFSwoHd77Qtfv834JRv9e3CG6IOdYQn04/4IQZ47KDP9f7Kfx2YJ8FgKf3hpNvlWxMp08lqkLFH+vuEsyEpnzrjjHXKJzHn/0ZDoQvSi1d/idzPZ3Q615fT+3gsS/YfzQu5fSF937bd63Q22xWMDz+IN7BZ41Pz9oLhhb+ydH9XgJbO8jEa2KmAcVUkQTol1eb+dosJUnO/3GnFRVup7cEzefKDx1QprJ4A7asUo7aA9yLiX9J47eCRYa3jaBQRqcFgEN55C/QDXLvdLiwegYCjcibgj70bPUcAAMMlMMOpUXKxhJrDlw4/RKobIYc+A/eHliqUQMyxBpwmVeCUBK9Yw2LmI+kRwr/4zEMgz95CLrrf+sPdFoHwkqVmBApRt1Po/AgS1yNDTcopIbz3708KGn5GAqmYss2wcd/dfeDR3IeKtagF6H6OX5yvJROS4TvtB/q+HeqLlJpDj4OexEnXsODKdaKpaGN/VeiAQTuV26gQSQdPQ8cizTMYV6YXZy10J/D1mbjNOdr30wiqhVro7bnHZXR35bL0gBmZfk6XbVhPTOanLAIWGj+6jlXqDoRk63gedaIYXQHQrmYTXcVNYzBvVhneptMC6mTKlEAAl7zsK88VxBNAd7fDWdM5FeZImRBFUR3RMG/H4xZnzfErQr6QvpqCUvFYJ/HSqpYCki52bHrF1qdaY8lwdoMtLqER8xjNdO/KglRvDFurxmY1Z630kkY72HYrnlJZhM4ooIrxzMTC+ezmmq4BSgLgc2z2QYV5dAR+dhIRjOYe+y5PfKdg+hHUTAKssRUcKLs2TiMKHex0J15ULRzhxYcPcmIGoofIyMsNh9un65vQCdQftzOOTc7aV30yDx5WPCRwj0UCO4r0xtncHdxpW3bplMeahHJ6XtZYmCxxLn66FwTYpLKPMZTqaLtNMvTheO+EWIGhkyTFd1Y5mbINXAKOrGK4ZnCfpxhg3FbPJj01fe5itnn0ERYnD7OLJLgiBV1mkBsf3+XP5dQVDKhLubxXk+KqlQ6ncUlGQDSSi7aGIXTxNaXP928fScu2kthDqzQrkyrsYWjme27JtPCG/48nMTLUYVgTAPI0pUoaQEEMw0a0SvtadVHikgpBGeThAv0PzpPNak7OVuorFwOgiGBHvpSGbaegpRHSvKYiswEKUN3zH/qGE1ChSCga06oRq3V7VP+/8lXFwYtcTq9Qoahdjp95u4SAyAc9NsEYNaiMtcQlFII9xsXjjIUEbK4Isdn4y4LXlL0mDEclSMFRecm9/Yr8wJ8vYkf6Lx58Gg3/kvJ7iLt4xrHwbQB932x0pESXRuxN/CePQ9Z2L3P6nWElyk4t+a5hr5Tbh3AHYbrjzyXpCbMdJv7prV5lRBnxHPmMbRxMeGqlN4/rVrJ9RAmc8zZWy2KJU0EqFQOYdv5gweccnZPIcTwHqFAleSWKjkZWhCsY97Y0S9iIglSNRpdcwmkjy8raSTw5FlmQ35mVHjChqArubFbfMTULAWmlV9IaQ7Bc+6Me46uR8MNq+DiNlZa2rvA6uYq5HZnBSNsbd9d3hqsNOixxyiU2Q5KoHmVxP4y3XjWSceQws5XHQXU6h4Y87UOR0elVNYmLI/vQmSSeyqAbhjuAGoENz92jqDWPIwsJ18tagnS2qIRpEkGofLNsey0Pxfpm+bByZxZsj3PA7kcJX1tvkarC+jGHDb82bSYMx0FozGpy2HUNa+k0NjtoiQRNSGxwQbHJgCZH0uQOOkNMP+1Oo3l2L3XkvTSnh2TNVkr0/8Uescja8qgxuPYLc5e9Zp0xHhbsrtiWjuMRVccYbj8nK3H7wom6wNTJKBjghg0y8Lui80T9jAHnLCNoAricZm5yvA7laOWa/OpC4Ir7/4v/00+rFHzsn5R3pndHeZaqg4ULFupiFcrpMq1tsFr0T7RDWe8ylaP/JEbOv//ydKa3MSSM38RbCg0+nbkzbcgrya6Uwb9gDFTg6nPnEFj7YNENGCk9FEOWUmUxgynBG1Rc1QaW9kGphleHFIQhPuK9igSUD8+e4AOGqHkO94qtDOg+KCnSfiaHOlPB9uh8ftmy0RBdD6oOIeBPfk4jejZEOoO8oPbv10YbGht+4tydh5IdbNvue65oQvXOQz628vAEdhnavexmCmhXgovaB1L5DEFIkdAJ7uzZv18dpSTR436kcG0mtt5e56d2u1po4I7sGmmvi/20lcFA7mt0x7Mp7EnIFEY5VzfFVP2u39z+l72aTVZ91up0AVtjCeiWct314Kh0GKrJFwHZy0pI8y4hAOLC4R/qPF6c5NOrQn1pFl08eM4Y43geDl+BqTmRc9OykfdAKcM7Qy0zVnf16hsx7Mp7mA6XHlJVJ414pmlos5AgEas5u0PpzyZ22jPqIqMdqxTqlZhIg6Id0MP2f57zFY9WoUhu+RSrF0WbvxGZod6GYTxHxBITYQo4xzeU2Qb8OuMSz+/YgNKmkjCbAyCYjzW5VjCIhh5VDug+pJLyx+q+iPWLh2ktdV6v4sL9Mxe4reYkN/luRLgcx76RKLT8QDoSbI0uSzEZQoIl6ApUaTQmJlMCwWoHbGMXwU9TkOCyfEUvUkoeyCHRs3QWj01pqVcGrDgQ7xAhaZiMMH2N9r2DUeafDiXFXNUkXa4Ra0mFd8noC7K1Yqczd9SVGixHgGGVhLql7jLU4wAAs/QXlF+QcfAC26nZBIYsHxmA/S53lzB96hJ0oCDWD7J6f1jKjqzyB+S6fxzCiYcixHnvQwTfnHQpTNnKv7Gct7hnJf+NtSnKumhvV6Wrk+dIHenYbTFh9/mYcIGN+Bud1iTOEpDJ/j8nmwAdRiHqijIRqFcg9pojd7iaBR0e1EUbd0HAXLZg61tKZNgQBPhpvInoIyusac3D9JTnsisdOJzC1F9Iu9Z0F7oadkfTK3+I2zpH39hs88hKsFgUMALJueGkDdHrz3GNSiWhzb+sSgiU9k1z95+eq2nuytzatR+EVemcpIrBl8qqfBO/8dZC7JsID578ZtJgUD6u4hn7dB3Wg7pNRvt7dfBUfH+trJlNlS0AgRlWjaw7BIF60kfJ2opRdwadxnJipi326a7Hou1ffovnEADvbZWeoROXyWOfb3/q8dChMDUPP/9AzdEZEdL8tJB+4ny24HINrCeCefmYlO+3OQtVdPejJy+oj66pn0fwD7zaLnKIjT/G0ZLlw6jQ148veXWZ1h3T8zGYDDmj3Uy4bxjxMDPSRPskR+x56PFP3KGkxppxz2E69SpGginKFTU2e43gbypR6BVoEQMFiWroyXw5FRfkFy2NRfuXCcSWCCvs9ZKQf+rUqFDPFC7d8tv1YP3EYx1gOmOyCvwTQKkxWAmtd4pIJZRMFNj9Y+ut0QQdhBYArLt+5oBuxo3FJdlBVLSWIUfebLD6Zu95KJuWxPHOlG9hhCQOfB4BHALwtRhYaW0v6atHbxG5cXlEaiwbYqBrUI9AdCNyI2YywxHNQ3Bmg47iNvKFwFAzCLn8X2quwf4Pkw+2B/HxhUaQ0fPBPF69YutTnSnkuDLAlpEsxbTeOuC8OqLFo4Xzwg5NpzfySAMXVSLYWEhZqD9PQcjurmwHaJnAEEsn1JkzEvgHS3DK+HrgodIdCuPFusUz13L4FpRtA7u6wTPk/3bKt3nuAKx1FoRx+mkj1a1b8j4cAb5HPSJeXVnvWo6DnIG0eALHt2a6BjA6ahr2iqOf7vGQ12p25VW2S5chf0w1T/1hHT4kPoE8Kxq+zIY3IdMhFK7JGJj3g4SqzOKMn8x4hcqA+h7qY0oLjX+xwp4323yxVd8SC2hHUTNyF+85Rs6r3CJeymi4Y6gYawCulWyY85nLQsAVnWwrm7nwH9hrUUwQFV2O621g2YwspDe6e7Klgansxz83+TMZyMCMCFPH+XqMcHlvsPz8jvp9Ai0doLdX+LIgc6S/TBBbCAJUeKRTQGVNJWBtOjuTKYoMcDElA23OeorQbCVON0U1OptIn6sFLhdn9G7Rigxar+KrqWosKeyrjHmZKAbaVjWBQDl682NCf6IxZ7TBJR1J7sq0O5E4XwnHt1Qv32CAsawDtvY3+7vCLGxmWd4btXdXtmbyzopuq07c10trpd4PyRIM3ODnef1nReW32PL7D7U58vjovO/l+nNWGe6v/8o9UWQj/kwAi71I4CyCpbWTyZct7ftagqws02s+7w+k5TeR50kz/8k5lMaQEjTVACURvVuwjyw3EnK3o4tkU7ouAwj3ziNs9lCvQQ0o5fr3xsiag3kstXqroyBr7p7Gkp+92dx/823a/C0VX/GiiceXbZGdARoj4yrrWX+zP4YCyiYxP+HwS6BlKbWSy/QLoZ4b6iiF+ddd88vXjk+KH/89kOCFqmOU+daReNaWakd7RwLcf/m1VJ1gW6PKrn791HJ1PNEySjS0qrd+NJ6RqfdRaGE3FE9py7z81sS0qMUAIXCUwJaDn3/v8drPO2A1/DtUsl+93MLS7+fKwvZl5HEB83sov/gxPl97I6bGiFLHTbYQKzEGM8nFZs9atiJnyH+dzbxi6tWNUyqgP2CgVDHVW/GJ1hI/XkYFTyBwA37A0Wyrie5WcFA4kb5EsvFQZyupowPso/cuXeZJQwx4hF5IiBoeNJE8/vTg3sWAJiiyPUIR0HT2ORxxyazFJoYwuE3y7J5MR8eZJNel3T+f+51V4QIw/EBnTKpImho2iXZN8H2UB5MnbvTa8eNibdhpCDQKGob4/oDSdI3IfessZ/ARwj54u9oXxluGH6llo0XoXy54KgXcrHghsjLZmX6wYuCZhFfMGR457pHE/y3K2zCIQxuk9Q8JS3zcpcOdyRyS3avvsJ7GQ0M70Mtb5T0ptJ6WWQDx/NWXrBz5pVv5+sMQn/PA8nF0ISwo7L7jGaBFDH4d298w3rAF79SbPp3BalHgZ4d5z8a+EDWnecgsTDCcB81JSYh/o8714utY3qompNN0ogMdq85CJJFNfTOzLP5yMJRLJP0CPyl0CwIq54KD8E3RUTFIwDBhq1ADxn9JdT7WAIOIDGhWVESP1UIdlGYsI7F/wRvjAUJ0KVnDRU0AE9MoetcP2kuR/fQBFa4IaJSYETiT0ColjO7QtnwkPAL1NIOPlF3aykWf8md7m7SoqYmjrJxmnz8rJtH9Iygj75egA1DVqh5A9aa2G8/dZ+LVVk8sQQrvraiGtezsAQ/Hb8NtOfN3nCmUbtzGuaRobRwNDcZfYxYnQQx05Fo3+TFiWn1ENU1f2sZ0VJE/2ScxTkh9Hb3HvG/Z3Ky4HygPd/0EY3b/lomKjZSrg0aZyz0UAeZjzP9ex/K5DiBMjLH1jMpn5RYl5yoWkPU0T2UOLDmse5ogq6HESspfYVtiCUj7js7YqH+oH1Z2o78igMSI1fXs1WJkvC4LUkykmHzxT3NC4j0nVc/ggn8i9clhQi4BKRCMmM4/Iun3AGoif5zFwewLQFhlV/MJqmmFb43jk9LHOpg/lBaDXl56tCD9vSBAs+uqb7AEedbYp/FLIQ+WQllfvwC7uL5JRDURI2lsuMWLWG7XGl2YShzzRkSP2DuEnbLD4IgbhzLhWWgnF04+VPGpk97H56Dleq2yxCj4ODDLBxLjC4dpZj7NU4usk5Dv1UzSPRoPIokItlIkN1lyfox6Ad50sh6sXXBun+aIkF9WwZIF9XjQd5JeCqqtAeQxnXukLs0uM34AEXGRioU3n8ENujRFrlPpLOg2NZ5bm1gqqJJo0eoE7Zxy6/RkK0pqaOWmThflC9SDy/GSQJ/ZQ02gH+Bb7+ISgF89SeQFmnzo8j4Fn81yv9NrEr9o6cQ+VxHCgNyGuytCNxA7yir+UHkKpGhfp0aW30vNPiscINjfa0GXnceYHuWP4+FL0+9Dq90WMDPqJtPU5JjmCg5yFCE4+j8cQDdWJHVJLfrrQ0BZGwbvG3+zp1fe8aXfcLja55AHG/4rfQp3RwWiuz+xdMCpOGt1X7xZm5lX4GJ9DTcs4Fkhs8n8JosefyszEN903y0ZRELcDF/y6LdqiW17eUwjAaKpsfS08YACPXEQhW1IDz2OfOw2d6OrT8cgf+kf/uBBPathOwUi47q7oG6wr81kZaE9O0rXo94ehCBOyq1feFQJmz2jduuPYjVrG6xJGh0rmdjcSzYlAuyAC8Yc5dAtlw8vSml+uYVJOaoFJ1NbmF+9ux5swvMk3S+TivcfzOckTKFthJzAPZlzCxpkcTHq9v97bf3TkG/b2ePfdecjeHPCeIK0LRGMB9mejvEIOFXfgjtQzGVFFgKXflqqwL3rnqjoRqE+jDkdfILojo6UKRKw5dPMg4UYwNHmXrjsf6UZ2uHg3d1HrWI2fWCPdQpaqlzcMt9ZoSdTY/kAIrxUd7+is2gBpxr3bZp6EfDVQszGRXTe4Kd1oKTropnc9rteP2y3OdsgKUPdtDIlhCJ60mfPQeeuIpyrrYeZ71E7rezAaBlXkch6susyKXoJyoZkmv21MT5P36FbPqXsIiJ52ewV5xAQdxkshZVzDWRpSK1dxKiQ4H25MTuANgTNb4u8M1LGGcyVGIaIUxauvqbofojQVYDcnSK4+ou36/lVd+au+PuaEQPcnKHK0xpE83Z7f6K7q6BK13r1S7cy9lbG+VAa6zKs0GfNKqt+N+H/sxpEbFEUkblZCXe5pIAHMwc2wOjInxAGZEadP6NhVfx5w7jI66UGiqDKxPlPxwkgx27iBNYcmGkLBRH+wO9RitxvZGflDA434tY6RgMR61YOFJORXC3XQdia0TWfjPQ2AUVEaYysFu5RJ11wAIDaxmEQYOHdyEAlGQAx6lf8erg6heV4+Bbqh9G5Az60W76FzFwuJwc+N6dT2erCGHjWNl/TQUylZIWJ4qlIvKvn5UVtebOhIygX4GLtGD9XkwQhLsfE6MLiuMcgXfJNvTQgeXdqCLPmXAfrCgHMpEpm8CCzcp/sCq/cj5gIjk+u/vP13/OIIyMKhHWoCLDNGkMCSggMHuRkmek0mpu6Yb7XihIvsDmcdnGBwMgGFRuar6aAgkBGL0qDRmtVvS5hehOz/nG1iKV5kaPApetKfL060d+Jhv+I/PWr+OiD+nBFzkeeCkRXsFexBH1V0x++S1z0RVgebJTM3BcLep1yE5Ue4tZWZoZ3qcgJ7kbVj1xsQhNyOKeUz9pDLze3gY3McSoljOyT8ST7rm0X3UjwPPl78JiKy43n+X2qDGj1kU/locpU1SJ2DPv8UZ/798IHuAVGBukB6rRUMmJ20LT48YmD9QOHce6RIwipJEU4kYhM5EokfU8lF9bqWV4kOlUZjmoj+J0vXajlXQw9J3+j0eWsVuWcDBqgbSh2JlwDRH9pEE4ggXqw69o/ZtU8V0nkN7slmyTwY+sLl9OAThsUDJMKClCUog9l7fk5CItfyh1dl4T8ekv23pgz9UlYl3RYSQCBZW/cmEdFcjUhWVS1ymchT0Ts2nIi10jbhxI5hMAIrHnJbIu4FmLuPiKvNq4bAcghLZb0e16HOjRnlbAndTBkV/eSaTE3se7772N9U4Tqm6JLX9RAwGEepw4nsOEWgWhsnxfnrVZI73tspf8xAUElnCPYxdpUsAE6Q4pWfdqMciYWuSgDOTlazENc1HXzoQJerGAcR50NfvIHwYqxDuCZbQiud/vNJ/yMeGpEfSsxlw7qe/Tv1qyeNitj3I/BdPRXeLzjwTz9JdNLOb7btN0aWbalixIeAvbVXXjH40ahACKH8u6EHraIOwUSd50MLSkIzjqoWlIwmW/FyWhEPhBzYzaHt1oBbe/XN1wPU7UekR4MQfD27/Liz5u7fDRKVVWT/vKLoGAHHYADfGHqtySHGZfdKFPwB+wBxGJcxL5MmGXUY8jY/AsmpSXQXFCEqIcffZ7eu+eFifdBsCuLof5N1hqthOEn+/u1zzjscRDIHIG85Whhq2HurEEFQIfre7uI5c1L+0vtWDY7SH3cMLzy1fSActGwbj+KCLuH07gXFeRYXep4/c4VhzKcryW6biTG1yd47egTwN5qPmhDzUb/3jsvNNi+m1JJNE0Bs/9XUDVIY5GB3rDs98N3VDkAX+6HJETNEgBkiBkikO0UBmqCCtkUqqJ0UUaiFgXxOPZKNBGu/hMhvA9KoDl4gyZQ+hqHoMuRF8JOWFiUR4R/lCf4tR6OpdgGowZXkso4hPrCWpwZBBWyzW/jDEELUK8rTe6KQ/UXac9dpdR03sBXGTU5hzLsPSg0TU9NAAfs21oSdX5Ahd/fNQDUY9bssgxpGzcVowZNAUfHsGd1CmjY5MQMtokp5FnLo2K+8/G+8CupMpf6hOgqJiaPbaiFYNdqFuUOVgNPD8N5lSLYNC4m2mUbZVnQ2RzvZUKZew43aKsxDwJMOtC9ZyvXco++Kbu7GtDb0814R25iEK/NSACyAsUA1fhA4ngErqlMPL8zasIPqyXF5NBVE1Ytgj3OTkJi8jMPdTNIH36ZPvsL3rGNLRB6dibFqxECTLti+xACdPc8V7QL+dqnn6JJY0HKeYaoWoLhNChWdj6D8uSYCnqH1Hz1rCyoUNNHN5IyDyHltHgVpHBkV5DeHlE7ags9Qv38EIQSjnbgmfA9afqXEVQFik6r+4mq024kDlbiJw2uk1J9wN7jHmTf6h6ktcLcnD+DTO/9dH3cI0O7JQVcrUJfEzn6bN7At7ei4PGM7I+gMuXIXrkpmgMtqJZEzOZU9IbodxrMrdZT9Dj7txP4LfI9UlKac/brS0LSsCtZstp5fU1Wk0HIeqIHGeLgZDzd0Wp9PdnQYzzfu73Ncdxh1NFbgbSMHvkWFVRg9EO11bvB3rWDZqKmuMxgxyyvVX2HU7dwKDQochM/p369RIQ1djXdl2trXNU9j8OHiWgCIKarYRXqFm3Xyart0R4yxD9Q1ggCdXCm6gSNO234FvjPeiQQ82zaTGrrHsuaqgA1dZLvtfYYkKZjTi5i141msb4LVcN/sO0FPsP2PwN5nRDZqauQxXvNQ8u83IYsmum0fohimSbEsfopYJ2gXu8E+3MMQjLDTRRPNWtnKn0wVy23VsKh0U2QvCrWSeiBLYg/OEcoczB7DgFKpc7PQodHiQzBIhiLsA3gbrhgw6g2LI7Srq165+9HyFptMrjTjme06YNSuD54ohNc3RmtF5fHtQMFkebTJ+Yzx8SqJqVgtYuY5AoFMJOPU/u06+N2iljl+OkrEGvsDlPGCMmWPjBBrE4ThG9hFO4qN2mwQfo+zyNF2rTkecvBBBdmX0/a5ucI13bOFWoi5ueKfHJjTjTxYGQHR8O8BGnCl+wkfEMgm1StM4B3UDfNwZOr0vyy18zNvpZJ2Iz55v81oFHKkLvnQPWz+FcT/4rE6qa70/M/tzrMe8IvybQRQu46GgeINVO0XEXpUVws3vkTuaP2sZTziB5OlbWQ4e/q3Z0/XYsW+9W9mfNY0k7JrkFD/hJaK1CbVS2zSD6uWvWRqBJPzMAYZDKxIy5+s5M2eErfiq4eR/ErKMSEVlPsnSI6E/9H/bsJGeJGT90uzFYfh+Eifyfv2v38ARxRuCcbl4aL+CCUPKHMkLCXw41GhqiM1jvTKnpS4RNapM9QO4kWYS/NoWO+qsmUoyknlb2O67w+etu+n+J6yAkDBGuZ3Rt16q3O3OvwbCr5Zr7Yhf/2OYYvyPCwcQjxw/lq0NatSqTA8Ypwhazruqe0kgvmTRVLXgMlHzvNLbPQ6qgjY+ZcAlOOgFX+egf1nTomXDf39+CCThdYXBaLtuFeZgruz4zPhGc7C2YDIYZZmu1+xjnRavOr5oINCvFTvyo4X1wetVyb8vhL0lKFF2H1dhZ+4A9rpOp1jt/atb1xrA0TfqJ7V1Kje+lYwb5ArJZlOJKOp53pVr8OjbeQ8MtrKQS0nlR9ROisciz95mSbCb7KN1aouLH2PsaLpD6C0z+yIc1fyKB2TAAQcqutu+5pjf2sjkCU/QTnqDdoCI+W1RA18nvLBxY7v0SWr7Gsm9GW0VMkCLiWESAZMJG1HlJx/DUMOp2ckWi9EpgNl1851ynyfbyuc3tc5RTg9jQigzPEdHEkBL10Ks3j/uRZL+a0ZVtUWoU7ENHOieaLoCp/Z9IvBtoYRagSfvfVQHzsP67piAHV3XUak66nldaVT2aev1tFrjsZsUtp/cQmr7bvO70bE1Qet2qn0JY6CRVVxEe84B+KhnWYuzGvXG20rGmq2051Po0AaoG3WVDU42XfQBDzfIvuRIRV5GN/9C6lg5wMHG+L+vQ8loMhb66v2LZ0KBSABu4e6AFAV/4NytF+hqRveJG2jK5XvduJP9x67n/U7XEtmOnqd+RFA5V3T4lDtfLwBddSKSGHNqxii9ytzJM73/DDiYU5wuQ7ZJoHnzMYdLdMIHgj3Gl2k+v/B/y/C2SMsAhbVa6Z9H3QXQbSmuqF6NIfkcaumyoSaZbOz5YytZ4mVW1YBBAOdOILnSmDwALK9VN7EFL7zWlC40dpiZWUr3+X0Hx6vABMhxTgKeHNlXzRMEpNV2hxgSSLqy/oCJPqZOBlDjGdlpkyfIj7FUzAk+jo5WDn+9vc84dhP8a1V7S8F2iZ5+l24DpXUsK57y4j8uafx2NTs1hBflaKj7AXN5Ae7Z96ExaP9RuoE2ysJNWTOAeiI0LA37jqt7n/wJgOjIJLwerOhTfhBqdpEhMStk6dGBP8MEsFjyINzsEkGVLNS1Vw76PzgFgBWxAxAzkkNpWVZokktVW6wOz06vDDnhcnAMDyamwsnowUOUFAx/D0CnfU+xetCwUUG77MgdSuxFAHVNRQA2NLH5xLmJnE0aKwB8y01IXOXV0nwm+hUretKFia3/Ca4Dzk/iKA1+6UfXxhn0w984xi03ZDhQT7rWAqARjg6/URBj7TLVY3EYWMeTu4LQn6O+esjxANTflY0AB/2X6dy/9gitMhNmVjdo5HtLukJXoABPk54cVGWSMaeN8TMbs0LKe4BjmUBsUxgKkU0eLEgf5xf/c7tNEPNjwzjxRA4Qv63GF5yEIN73S08v79jof01QbQ9G9EwN8VfZgSXxTCYJwyEssRYu/q9lFe/Cpq3aunuPcVjyC/tN1tZpaLnFT6xlGVlb/xLdEwRDVWrnZ/9CdeDP/zHxVkl34FKE0pLa0ed0ldEb9vqYzihZWQew7jHWLMCjsNFFp82/Qq2MokWqGrSNG7VeFDvNO/GP8i8lRY7c9egKKOKTYS1cfdGRweDsI6z4ug08wnfpuS+3b/Z9bFdrb956wMNHmQ4cERtkF3iIOyPzb5aX3wvZXTc7Lwhjrvue/U/GNmyheLKZbX8K0lAR5/zPXtz5P43/aEtQzEjv4hOtX0qJ/1cdmgmltyX/mpxKrh/DbqHItsDbs3hLhNJnh1bJvbOoa58+HZSYvBseY3glimtxQJokCmif1zupg41zAu7P6sNVvuJiUrU8c47rzEHXDj4U3inS4aqwm6YtApjxJFdcZzYZi34tKNAu7b30wGe5FnWZz/Rn1FDWMOlaNd3nAyvkFAdvoxCEZymUBrg/iz8UqfrzpXhrOIZWf+HtLHTX+cf5879QnfxldhrnFisPM3XcpifXcoyso3ae3okI1WXA+oey/qG6lSsuaiW06L4TOG95GwbRDYAybFnV3NSCpRRZ4UYujjeu1d7vaxu6eBK2Bsvl+8ZL04argSzPWGn2FTVWo7GwwV7OziGytddETwHdejBYLg/KYJd8o2PolWopxMqCex/3ZRU/ffGlM7rvXlJGv0i8CBysiAkdsOhouLXF7s4rOUhM7fv5A2sO1fV3OWRJEdk5YFI9wgVqH5NDmwT8ISv48ZVILcXuwHh241oa6yvfd3vsAgSTa4T9XFK/CJyKjHS75JjbNZ5IvKuXV/u8NSZgbD0pae82//O6S6QGmi9DSeLM2Kc/RkqIRFFaUgAvElf9ZxGItGXdLyXiYKnc6QTjE6vX6IH7xMBsCdlpFxlbdHjor35pe2HPECKPFupnhhwbx3AqKdcTdPOUtUFZqr47+A6YTja3qyiulPT+aAedg4pvmmzjCLbjlJy9YI8+d0MHVXFs6WFcivC5p0XDZhb1Ozi0Bg3UMrJnnO3qeV5bpd6F5nAkeZcQ5csKe3wUzofbwjHRgQbf/4s/Dud5GeQ5bfXpGOAo0/kjndvUiD+/5S9ySUhEbR13gSc/QeZEDhZDCLdX0hjtGK20sLvB1SqFd5SedYNm/rvMApSE7GAYgrpmjFpUpaG/OM/YHc4reRGTHNjtkzUO54fuCKFT3QKBAMvhaFCr80p1x7C++FrPfcBuW9swN7POTfqq3M2sGaDgx9/pxifNy1F+7WmenfRiM+bBjKHjTVAumnSYDzNbGWjFace0pMdTtSPMJweB//BVS0oIL+qe2RnsiG+l8hLgxKnJ0nvzI/+KVKga2AjXYuz8QubdhZHtKKHfr8MWBLw3CizeLpQjiCGib9lPC2m0OEbF386zWAzMnYde2kQ/zfVlPSC0/dC2S0wwSGK5vj1mkUS9LBxhp02befRE4KEt0yEHBQRLfdG8Q9NQsRy+fwmM5hk5ND5weAaBvmFCvV2HyKsy4jDcDTTY8nk7UD37t84/jPz+UUeuGBiBi0rK1HjNvUxzLIThRFgm6gKVPafgLK/fjAeQhNEAhOWgf5cif94E2D3OkuVgoe6+VEt0BM7bsGTpkj6L9VbLMXtT5NNbO2Wyzhum42SpHRTElJEeXJEpIvCOTRttbOEKnFK1nuHWd11fP0q4/gg2afO7ph36w4b0X3B4NaYJRBJWGfholbiKanJqdle4AC6YbvyCQZirAD7PczfI0vtrov8GpzyurXwMR1x7gCQ9tNEjcCG0uEq8jcgtw/riYZFgFDdFdRkBsMh+jM4JXCza34YKlC30Tar1z3sP26E8GYP1kKPrRzq7qRJ//txX3Ca3JZA+/W4ZQoQ2wq1U9a7PQ+b5a7tIlySJWDUXebOw/hhDfIOTnxzx2vNaVXcx0cRMGxkackUUBLPIswc2gEggv/o8ixRZsB4lhbVqVyAF26fa4Q45SBAIhjX0t77Im9fXofnrWXl4OaXFhkPRqYv76Q9eEfNi1Qn/WTV4+k5YrZd5xFXNJpvixrS8vvbypMffL0Mys1pUoGzRCecy/5vLtMsZHIW6IjWNFUt9gk4j27DlAvRhTM+BEHnI4SNaycuoBuSuF25YvHRpIWVFN2HVMBerp8Ss3OZwE+5wEVKBpbOrMCm39Uorg5p5mWfYTHuOYU5ju5Bs5J9lBsQiAVmR81I0TRSbfSOs64ITihHCYXWJN+sZDaYSTug/9LNNzfPWeRjM0Us2sRerwC2SIsZfLs3fN8+ahzLeZdirBbX8CtUePX4TGdopt42jc2DNQ5lfadzbmfWEt8g1uYc2ksFVyrKzwD0QRoEVD6W9o3E/TT+CGSXvz125lAydVG/5Ab0GTqBAOU6ZeaNaMLTacRu+gs21vLruHk30hze8OV7FblvTd7nmbmg/sWvi+hzpfU1IwkFgRDl9tPDHdNviy8Qe4qLJv3SWnJ9F4kZozJOdGUP/hQkvETuwodq7608abVPtwAZGTYwjFSMT+BjVlW+BdKPT2Cw1tLl4ATvkIzM2pSQdiYChmMjvKY+X8s6gltEVdCjPginbBtH++0pe0XQKhbmPgNyrhNaStXmghNGOR9BkDsNARKn/sj1gO/kkfNm28GETbpA+DqQ3RSZpI+ENu3dsLr8DfKU/Q19zjp/a6YeJAdqFA4ttaqflKdbqZVbjIJZuCpXYa68j8tEtEXa6BEtNy6Szo62dzRWfSbrfcJxsY31pGtZdY6ZmWMZiXKszRUm2YvG6xE9LT2fyrcAgwtjskKsrE0EO7L9N31iqputBHc/plpnTL0FR97eT3/zUYA8GGzc2eqeN9Gm3YqmmQMm+e5QLQGx+Rz7BQZ9WanV9ln+VBUhG+YXPxcd6n1JGD5ZieA9fjM1MXh/WWn+Wd0VPc7aitvhodJ0+NflK/qrn370EQCrC2A0PQB3r1sJj+nRfKm7OcEtQfNwVqy9MZU6eegTQFAkr+64P7l4ONOyRn6MxDOdfcRbkBjfFJpZ4yMw9a5F/O4dtpkKEr+MOCQmlzLXgZoQiCyr2HBU1oimS3egWa64Qni3ESLnvbliNtu7hQ5wojgcs0G037yGIy0V1hSO9CKY9ygJ9egEJ/P95wVAfGDMt9g6zhXCPd2isBkaFekuvwX0yS9T8Yll9w6XNe3Oiex/F9ipfT+ba1VN36Ef+0ZFG32dotwhskks80vb7t6LsoEnn9HLs/ZUeOjfDl6v3hhgxrn7j9I2wd3SdiBZO3nr1l1t7uxs1Xosw926YhnwpqsMaW+obhZV+rVCMvEJhA/TvPmriJfjXmk5EGxevuOPLrX/DoHcb+imqcQvs2sImPjf7ujgxZhq1+OFxva6T5yVA/RZZZe964jQrDuNz0mQVjp3NEjntLXic3WaKeATp8dP6pHkL0HCbwG/IkYS3dVXcHM7LTyEz86XcUPaCmVuBwus4m1bczmvSKjtcj5mBSZImrsirXKj/Hli+VeAzmi1KMhWtZzOR/0HZ2S9bQ5nrZx15U7DwEY3FLbgqz8qRNVOk0z/cdlH96aNA5XWMBYkiM4bLC9h0lfKswxSW5ZZvjXf+9hREoq+zmjeO/8oKjpV0SdVMEvhj51b978/aMrv57tfNE23wJ7sqbmL5j1j+uTbU5L4qEGrr+jgCJftAvp33yHzAP6HNf94Xb7sAKx95v2a/gWg3lDpMd99unoa9rsYrE88ApYi/UE7BazA9+c66NbBH6ILEfSz/Ict/15Z3VD8+0NV+5IbE++uRZtNapl/+SJOfDPkNrXcu+NsTP3+F7FDQJalXWP6FNtjQdr4n0FaH+I9brzHI13dTZAq7PXBNK/zRWeH3FtjsU7X6H9/tV/xYCkV/6R/wK+4D7Y2s96DNfQsE1/9iSsWwx+yoz0HWsFjfbk68/SziVoojrWiEu//AhiIqO9/JRr765h1599k2SNBCN6MZ/tTxz0Sgq27daEiV/hjiAr8fvOULqA5++JNGPfnLz/W0LRERJfgthnJ6hICjvYVGOAU21ne8A0MmIvMeqAyGwDT0RSApKx7lI6PYBrIC/SY6WX/DbxBlfviEpj6GL/gJIBGR8Ezh01nuo+8+ZsgrtiwTsvmJCGlEIubOPUlf0Qp+2GTLexmga8py4BLo/m//1or8noe6JIMqZMUjfctRNe6pLA1M4+r1OZx0mWRDjUI4B+JvzZHhzoFUp0hHSMLxPJG8+Qs1AxZ1WBqiaCi14m2XSiKnBvP7TXaqWPGnixT/A+aOmn9xqaocQ9Q4kYufjuoMyOeSiD+qqGh+W+0Bd7nSlV7sC29MXG5gl5Y4/+x1PffExT4WO+anZ+OaOxjM+Tjp1G5kTNBiSyK3RFf9JQpoOMQDRxAmwPkuvVKC7vYVvXBqXrB8dLc/nQndHspcUdpY1cSB9sd0P1WcWdI2jYx5DdhuF7cEwD7w8deaUBvGRl7Oo8bk5S7ZQzWEeG5ZZpRlHLy6Gxn1N+rP1jofsRH+fcXOr835Mlkhh9ztK3oicnvBt9nitwHv1GgynU7dVhdcmukDE84mwx5t8BEE/t0rHD9X8RHOWpATxmZNQTDj8tMb99D0KAFzYP6QC7AdDxcOkOYz3/R+PPlifn/Ul54uaNF17R1ISsui2b1pQPd8uiE+1vBpwWfG2+g0aGiRHOMRcxKqU2wa/9LFFSD7l6wyAouPshA7MoKtoytoAKvxF3G7Ee++8Bt7YEJ6iFjH+sBwmK6kUYXAtlWNi1vBUXqMIvRY/skp9iYzBHWbzAdJu7LTTxy1lBAXx3yvlvTSWe5KpEDtBrcO5V2esGmu/TjWmbZ3Dk/MpndFNbRONyRH6kfd40ZbqCOrVJpvGvrqsl9qy1VxhloQVrTWzxt9UsUyDj99nrv3q/gUirSZ59ALCtNddmdGS37nQONYDAnn1PrhCUlLusMudzjtYhTx7MaVnOELjp77ui18tgg8txdl51oDZcwwB/ON2q3Sk/M2NFVqO9kLo1Yk3mvQB71eWK2P00GP1jdZr+k6ZDN6ttyppQlyPPjbXg/L9Owe/qKH4+q+lennSAzxXcKa7ryzOmfhWeESs+bGS9noVZPQJ+AynBiEuZCDRVyzT1bp4Sn+vIg3GfLm6rQWmOjTfr4Yo6V5xuEx05CsUf40sIc35Clb6UARH/x7m5ULhFP/iloZqtU3JdcLakfDHtHWJ6h77iggRHtEQb3GfgcO/Gmd6IGwsKrt1a+yv4KdZr80as5nwS77U/ql+kn8KoStRySaHex/B1shb9sTl3Gv2wJ1RZpbZrpXmlxl3iS/EevDV30P+w6z8+/17fv1++meqdppRpXqD0vqOqjCB8sDbhDNBpd0MNUKAyUIxUPmllsmwPI5VzcdCg73Ndk0bTEohYY6zy5e1hkYJosVFs/d1gGxAOLCK7M/tYSrf+M+WT6Rnn93ZevkZZCw+zHS24+whG3uHcx/u7P/ifPmfXoRcc/ISA+Ykh4owjGw+X1CuDybMvijyEB9bah+993Y0ZDBUKrAxyK0QyumnnuYeGbWa8KT2a6/+cFu1Jj46hoCcoccKBkHVt0e3ZDDDpdLNqRJygXweVMmFgJdyD1TNGrlA1w1NckKXRDuDQL/V22FTECl0dbqFKRZLfEIbNTqG7QDh+jPKdo9zTVOlgx35AE1W7lFDFj4L0xdCIUTym9pprz5oacK4HnUyUWd/0/M+5lZP3yhF1oOZGS4Joz217OVurFOAzgIhn3+3ce0evTzcAvtbULHcH6zoZwWxS3KaUVJ+rfd/lLtGFJPdlsxQ1hSNAZsDXzRwAM7EKMPRyz4KMDcTnWVXWEH92iD2zBZ8s+gK/r9J7Ry9PPiNibrUJG/kNNI7MhCLG/Ce7wNIklRaCiGxZKhaCRkUOBwjt6BhajhBe57paG8DgL6V2xwMznjcjuBYW+U3J12nvLFRT4aP8b30Qc/a+STv447XnaM5KAp1LHeKWQf1+MIC6/9u/Raj/OWLyYq1/D7wLIWwXr1+Wz1x8rfBx5FYQ9rTvLOt8cM6EUd226jsZtYFCpdH/3ouPHx/a9xnjSirsdIuv2W0LpEHizcfaKCiGkuybAXU66RqAKJDg8PbkfnKQ9lAt/1OA+Dwgrd90jDeR0Cjn6bpmpSt6Q42s9dWLAp63vPyf2rS63kDST7A4fu+WSPjTPot1p6mddV1YXvuTFxqd3Oxoo3gWXd2lGWc7ql5666ui50w00SijCssMtyS7b2k8/kb6ns8sFLvP0VDjmY8869z8D0tQs924476F0V/yyqIIwL+ia0iwH9jlNwKj+JaP3Bwp7wXz1wEW/Uhsy2cVN2vXToXA5GT8xj7iTzhUkANysDm9AZ0kUCWz+QNtFAyQ9W5njgzkXDPby8h+RZdCboZBt2v7kQenOimMQ+sF8zrp736ldutD6hv7m90x4/fdNMrifuqlQNhs25FqktdPf7LzwGbKyextrvcd1tC7hA6N+Z13X5ytYN9Dawzxxr0tgVx8ZPkejE1mkqfb8BsQ4fMO4c+SE7i5iS+9P5zx77RU1IcaiiooZi3IzCknvvD8mdmLe4Jy1jO2vYeBGi/lcY174szLczLzO2nSFlmjumhmcfYmSeuGRYTVq+/c8vH54EzO/Yjl+GpNQfNoLToxROdQnZFc1iSVFQQ2VoGTpC3QtKGtgvRD/e29/PHvYzpIFC37qNdndOc5TLS/zXV7M1NE6C8pf9z/wJfCJaV9oXHtO1KXTCywp5X7rN9XBFy/ZD//434cZ9ODPYtdxe7nRo9F+t293gfSaY545aDaCJGtlf6LoWOgrdeRsj/estiY5ZR9sAGIKB9u51SzTu5S6BGhQJBv7Un379pk+CMl7m4ZqpmNSfEwnfoU04WQtTnccJnAgKUwg40PID6XHAhXHqNB54lWmWod50JaCZETHhNS/DravLveU4H0TiFHpk6yiEm5v1Jq9Yj2D/kATbVtRll1iLbS3i7SdmEsMOpgi4RYUWteGicSo6vf/JK4q73ruO8DaxOu/gLAVcJQeE7LStjuEowyKxfa/TYQ5TU+gt/lbt8SJdroEvEaF7+lJ8j0OgVcTnwVL6qm/y07U1j2+/QxUMffFyyHb7h5nNk5vRJe+qwvvnCYcYxRXSX/rCD+s00vspR0KeJrCFFf2yiT4IFnWhP2r4rTS3WONpQpZ9OF7gBltrtiyZ/rW0npHoPcjD72iM1e5nzrTZy9Hn7uYo0Nf9j3slMewZhVj5Defyh8wnJN8KlAP691UZEND+xDu6mhro3s2udm9Uen5/7vaQMNQhdxoDQ/nB63E323Gaz4C+Ea7UDRyv95HwcsIfM11OJNFSQ0eEHV97NatFRBr9MkTXhikxoOgwghoGCs0rrMacOROL9rtMck7He6Nh37HNzaGtvQTwwc4WbS6Uzv/fpcJbrpNzdMoyp36Pon6/doeWL+6/6mU4+x6oZmwhFrcBW1U5dg790grE71ApvDpNR+ox2PUJmR1trJo6T9B+qplAicv0bfUPvPBFUUtZZvyHzQ7VbpLOvNRvHYlU/5QBVnYT6LqREvkhNw+Lq7zB2pqjhX821+OlCUzPMwdsDRX827VcG2PL96iRhEbrBjsbikldzsRyw105ZK+Oz/KHJjTL7GgyZmK/3tU+9+5Tce3oJ8STCrH6G86pzep1sniKeIVIAp/dvRCYr9TGSZBz9uvCsWw26JLf7SL55delNpbEk7GHe2Qc3+uV7niAVds2X/yyvCknfV/f/cW/i1ZVAiZUjgzvunIYj917KQapm+XTMRKCuCYlpvMaKrvKh6tvfxCPK9fIa2efUe+qElILf78bwePK2CjPoZD2XWesDhPQTHefl9W3AYxgXRvnR/zjxn8e9A8u7P0HhL6xzO031Y5NvonN4YtnjoARzO/9XqehtcOI6SzGkyiCsjW65sdgNOcaZfKG+uNFBwtOrNgbbfz8IFnZ95U4G95WtqljsXLev+af/FWhmbOEx82Rs3E/HyaSAf5Aa1PzcHVDcjYMj2OVAZbj/IcQUa1EDiSgPLeXW+Sguh9XO9EHPG2bwDHYFqvv54n6MO6rkyslSLfjamwUq54ARqISEJnFhvkJHz6OjEMfzLK7mDkaAqWWAVJbCOl1n8XHYA4dB7oCAWQG2FlDgJyhklUeNC1IUlmEd/51oLCne60ptyK2Y2rSZjf2r6e8GYPehtapOi/bw7HPLzstBzWNrhL3HOrcke++NYo1Juct7j8ZvBYB21R2mpwH2nxcQc/vVWvPu73kqKPzzEyq58S73w1Pnt7Z/XfSwh2/onwldhEtsagbBRdzQ4UU6UzR3HvaYZqxJ9Ap1Iz08LP+TZ7l5FbYbTXQBHI4Yd4fwUxqX/D01KlTpr1g2kjSRfeUDSdc03Wu/EquoxrmYLy0e1TvSM2OLIbhqRZPeW9R8yCsGyuWjAyY2kaEZ/0+2zN9krgBdedobb8Pt9SquPiUJ3t9fh1HUHvgNID7o3qHG3/AozbygiL9Um7eeab4icY1RVOD4LKMbKrSWGVB6HZxv/PcnEdrFkeMgOdsRZ8ziPcgPRkeVDAYr39LYpDWHtlf1KdrVTsVxp6p1h9d2YpOHy803il+lZebikWLQX7spl5G30PF/XXt5ggY2BuYJUEicPqIExj7QAzhR8f9AkvF6y8mygX6Q8C8mwTbTvwW2148hHpznNVjyXmjC106uaPGOAIcCXx8G154QneFvv70elGdHhCXfu91xqjhWdoVSrf90e8//s17y8Ovp5lraujOLzvAFFR41aEMWv94y4b9AjXeNG+KDXQaTFjjs6ReZSdMYEhTYzGfDfHsg8xBL0KVVqvh3w4wch7RXdsiZDHMFzNCz5ol/jaW/2XI3xZn90F3Z3hy5dR/4GVVcTPneeMsiBR9XKpchUihwLCYYET1/A+213idpx/2SPuOorGHNRd555dzc8dlVvu1K2sZdE4zB6Fsl3UvwxFoJl175f5XOCGdqOv5v1Vqih2xqt0Q2Ckk0cShmowAd8rv/LD6rcf+BLs75F4Sted98hOPaQwavjNL5ApmaI7217YMET/unPzOUuAtnH1sBS9ACSVlX09nn2pZkQqpm/SsmI5GqpVsamz05aPhHc1KMhQloMZLlYIHJo8iXnrc29Ujwo6ZHK+fpvH2Po0YRI4Efh77D7hvO98T5KLgpfeHbIdhGCvePzn2zbkk1L9HkC+Ewcc539YONGGJ/l6Pl940/te6XLSO7zJco96ekHMRdWPF4Z5Mg0u5qkRm18qGwECSHnETxJs8kEAQEi+vHKHiPgC9uM4j8jXY8W/fzZupTVG5KTBWf+1ZN1Dfkb2e5v4C7ZWHv17731xBGG+bs0Q3DQZViHfz1LVO/tPieJ4FVv718UZCG5IHEcfeW7sEfbZ6ElzbSFqELRyq6fbNVXhvwX+OvryJu6xVLhTEhrPtlNeTReMo4L+LWYUCb75P5k1RWBAKKiWZPwi+9kjF2Sx0SBQpBaEZquSwb81ctrojJCoUaUL3EzsdtQfvMKyLi/U7JvKP2tR8GGoVMv1dkyAlETHiCoCSi5q6QY88GDXLHJEBc1YdeU0EhMgAXhZ/GoUY+XC5DJimFY1VHJ2P9nQfQa6Rwu/BGANrhQ0ueezl6Kp89+Knur+EKxKwXxuG8crrtlfjmugIfeUxysBlO1IEdoSQQsF5/DuXvv+T6H1z/RzODtLlOXaO3D+EJcRT7vhZYe39kPl7GX9I3Wb44LKkm/Z4LjFwjhHjOybXsB8AOhlZHW3agCE0lB2ZcYZ3XjCr4ZwVqXx8Gg65Qy+ogrMUDmLRNLrO5ycB+GmVwOrFeRjMIYTbip8hZqtPnaz56ECp/YTo2vgpJ9+zSjT8/u4zQzKtVhGs7Q3NPcusI7xNrs47WsHZKS87G1xbiAJjLmJWIcGb75+ziYoRMd4AhfkDB9XnrRknn762r1nE5UlrDEF7D2OmUg8rEFJlIQHdfK8BXWA4QQaHtDMXuiuEg3he6+0fN4pnxr0SU2Q6j0INQlpdee/wBUFp7HagipFfUZCbrKaz+VBBuG+Ry6HwYK9/uoMkcHBIfcPoZCusP+pW190yRcXGYDafyPN+EUCwZ1uLel3GKRBLtmvMAPwV7sMXsCwYPO0QZ+OTENPLiHmDrEkHEDcbVuT7YhlE9E9PH5M0ruisepRK9k+7BgufHMhdGDeJ64RDofBWbtyDz33xUm/JN4nPdVLOE7k9maJwoz122pQmE58ojUdw/wOru5lv4fD060vbnpYICoERdDC3Q2rfPaMbno6vzAORFx/9bu8LJHi/WVMBu6FD0Vok4w8l+J6kU5DCTkomSNqe5oNsCKTwfXj/NhqCIJ1u49jccgDfPnl6x9NWPxKS4c9bkTqT74C/KdFwyQKO571CKekMyHPvwVxuCPY7m+sHDmoPTyVdUNs54YhNbBZZSXH7Ts6aylY0AZYAbJo7MyGpU8q0JHvNLWEsCA4OrNrrbXDlz1zzez9YWp/+tbPyTNsw7jqvkyExTjL1WClNSDr47oJPJnAKjyv+aNXthVyg/Gz5UmcTfJxbPBe+CqudV3S3JsVie6LTxw2Nt5qv8KUaz3nTRImpF6TGNQIU3EbJXXAjNe+DBYvtmzPR9yS/xPPQGjCcTDwUywVPu/Gdh1WfF9niijuUOvV6Ti4qSNRn+oLfNfQBZa/4LkfZk/p67xZ/docdK5b8j6d2ypZNjZA/zN0L4WbK9a4X6t30JwDVN2qY1Jqt020mPH9+BixCypkA33OQ+svfMtwwOElAOTtrLu3HmXAQuj4cNyhXkawQqCA5JzVltFqnIkjYJnnyLdBuX4t0q/UVZvVy2BgMFe4eGV8IeoltMFDvlRk8UIud9g9YjHsiWreOuW3HlYUn39a2nE95ZwnJYTgkpqp90ZZG9DCx1/bBnYz5y0ht3YZhRR/iOmkaYxE8bRq5DpVAP3wCgA4a/aehvAAohA7+RUz2Gh83Gz8tT0Nj9Er9zNwT+wTIqOaeRXViDsVAl5TdiRNHvis24hhQdFQDboCEGoXkemDeOl6nDD7vabscG8auPiA5Z9BA4oTyzbbrs6hltjkcKsB4TH4BDduJgkEIpi2J4qsuq98lmLpA2kGf+j8ukiQpI5S1WG/hJSx17pOl/P7KoBPbwwDdbzeXY/m7MDi0Uvdj/znq/8D5uvPT3p5+hM/OmoYZKhu/qYae3puPgm5/2GhbkQTZLzR00i/x3fnBQB475Il7ZssaeF68ptKCQKLSUJTZWs4gQxyqnjUVNi8vICdRoIHm3zHIxwtqQEURNb3+1EC8KA2Pa9ElEgVYQ2l0F6+ErVtrGDuqsBzA8/nMQkcYdTvxZReYjCXPTLF1BqA+MBxJswjqJpf6IUiE0Q10BQaimJ6K51ONqDuNDEFfNBb1gSeUtSDN4MgkxTgV53OYbIoYUNmVRMTnLnv/nXgRHiw6uWOHecbSkVuD9LYN7U0Z9T3KpUjqDqQxaRkntxVn0XoiQTKP/CdB0z5kpNhoB5WhSdiHgYgD6vf1UfWs1m7paZgNimgmMQES1fv39B1HO52DE2AkPOKZyxJn63a8AsQIk5T9QojE+ophrDJCUyPmtXnKSUapAF+/QOE/eH98y66wryOSFrsEsLh/2ZTo0IDCZa1dNcBaWauAxQf6hQpDx5h++oooAL9ZFj2KZkgoXegWftlg6AMt+8Wdy85Hnjn08LgI/XKy10qXZbaIqu3M4fJvnoZEPlhoE0z3JcsUMEHvTKUzWLQw9lwCKmXP40NrGfyMv1AXNog/A0f932lSn4dckEEXehpLY72zK7eCjRRAPcWGhrAX8Y3qv9PaQCs83KAoygGj1A7Uq36kOYNuLqKfHNSQrpOT3bFbsAi+BRfgGgzpP4ICIbhLQveNKq37REgM652/zK+W+XDxIc8V9WwsDXmO5WhoFRrY6vlbPRscck4EyjGq2H6J1BgHUXlLgLDl1W2BEkueGzV1S8+26ASSdr+s4VJEPnC+AJzbx3uXaPZs+M7AwpbCjyGuYWP8dReYxm4xFJORa9ajsYgPIeurZifjmXGOEJ5grXRrMbk5zydJsG+jMjBMEUt0i2g4pYnEwVqF6OdvwMXacIlNBzw8T609hdioH/k8yC83mfE01fWStytP4PizMHzv8X7GZ22/seS4TMn4HgeVogSubAqUrzWU2IJJv3TJMgWYIzTVG5uUez4NjLLZK3igwsmf6oapsR6A/U74xqPtFu8P3+7eKRDvf9xU7P33A54/QLDC9TfayhfDF9BQ7lIy5OA0zrUejA6cuKwgeBY6jE+1XT9s/IrEsQnQVTC93lO5csdfiMtgOrW8Gq5qf76+6qKdJVvsDNYvY1P9YMxjzGnxdmrr0z5LwjifyMI+5gqMxISCw7Hgi3+y/E8Y9tUCk04dcIkhcww6AcM5c3QjCs3JLd4IRrddFHCfgfZhQ42XDhw8FVupTteVz7ekDq/rhx2HkcT08rY8EF10QeU9DnNo/+TPgbMgCkmIc83Y6zgK1vehvDpdmd+r9/YFmR/JVzsplYzU8+nZMpqkvztTt5Te2iFwl5EB4Bkpq2YmQZ+tmwrsWfYoygKNaG21Nis/icYMIISHL8tKMQYhbVg1LCVge4OA35aSEz1pxjwU4XcojL2aZIVKbMADNjJioO34wmOhZH4/EnJQ0TMnAnJl9nNSsj9PSN4W32akTjhBNK7IQnaxeNK5NxUnQzd5CiSi4XWtbdWoR1Xbfjf7VdRnXmz6hHmwB4FrB0db/vwB9o3i3OuGFBVGGfmXf7YLkyqB+ina1RPo+7U273LXEtK2t+GidlYHG1cU+1u5tQdI1xbvu46GuaQdzNJJxmcfLeiRnRdL2x7+ULXvPWb96dFfQUflZe3v5J7+vQQa+2k6eFW/39N+3uPBufK9A8usFf74CKlPvGvv1wf8W/vO9KndqB3uzUxww+PP5MueDaRwyS/CYzf8OXFgP/gbX27g/7MehuwT1oHhK5ae2bb84Q20U396+ORK+ZtLQ3AIajVVC3hcW93ZKU9nSzMQaZAPu1suN7w3kKdYd23lO+4dzO4y4r4LK36FlpeCBudo8F798zMofmBk1/6hN8y+86N3aOrrlmX0arEH9tYG2z46eslq2KzUZOAiCDeAh+UW908b3h3Iq1+7ffDBoew99InuW+b5H3GdLGNMBkcvXrphTmw+IKdEFEs/UJEA3dQwVbEDO72BOAWV1AWzccACIKDg3jnsH8qHQUkC6aZfUpZ0dbAnqnR+FDDxEIxAAlptkonLwsFsNpKu3UFzCd7ae3vz+aX9IWHYVZP5UlpQuIHAdRh2VWZg4qUCEWi3SScORoKZpukfc3v8jXnyyZQv2ub01dP58pu8hy8kiFTG1l8TRgt/EgsXFx5rbPX5zmyvHP0jwurMjXXWgG6q97Arc7KiQ1dVk25oevgmrdrp2pMyPle/qyXh2Dld3RknmOdG+yrwQENzRVOrtW7a4yOA7t1f1McS69u+QgMraS0xkeiBYVoCVCDz6MQyZ5s786jtvYOgi5AA/4bdN0ewjWLPwbupqPGdZPLu/qT0bETmoA8+3XYOcckxvF7iDia/9kB+d9PXjGAfHSc66X/ALd3Qg/g0UEyiFeAA+2iHUxSDa6ABDvc1xs65bwPS6QkgtFrVjC4SfyLDOR+4Ld5ZXNH0Q9c1lNsEh3pDU3xkba12ABlFLBldbegccUuOkvxOMrl3XHINzm+GEWUQQBY2QY0JkGWgBo3g0pqGTvTj25AO1XQSCPMSOTJxY8XO9m3f9HWrgyRu+YaOkfLVyvWG1Nvg0+qubtSPuxF3tj9rkot5MVEgIWbiOaOh+1jFnuu7g2Ru65XayZYd1Xvne97OL2w8I2Y9MBVmEGmIrmxPybpml6/rFmAy5sM7KxGrNTAo6jFIQQJZo39nxYnt09nywZk4rqFkpGa1fL0yI22AxbYEXqsGRmQ9faambjQY4DFPP99gHO3aWzlx6Uw8x1Q+kd1O31u9WZpQ84WIjMMb3V22vmS+wXVLUafyvxfkbgCCjsZO1BPbAALTab2UyJWJGiubQXf6pq9dEyRxK1yj1op7OILOrhrqo/i5USgx/nzw0Yq9XM6oqzQTrdu2am8PqnYvIgvRle0uWd/kVCfZ+OqDMWnvovsmPBco7NXLAC72bUMHXbp0FJ5bPFK72rRetW7Q8GTh3JiPgol+6/l641jXHhURn8zuGKLA+vX6PNDS7KBqXcnuuaUQmFDln73nw2oQV+zMSGNdPElp5frwrj4dnzhiv6d5zLs2lf4ATK5qGgAfWw1ii131KlksLybqg8lUn/c0LTukasuopPegyXXWpzK/76+fOiAfLpYlFScC1TP7h7X1geWpQDVFBRoLnK6sNN7Jr3nWqrZHbvLxSde/V7sytOr/rPAvUJDTBPMm0FDocDeoxi3lo7CZzBu9B5a1u4omFa9bGVzz/k/2TdwQJ8H9iemam54qrT7z8wXhERD/qP+0cz7Y1kutNNbJF/Nn+XikknVDUb617sy3IO6+xjz46hoQRy4Ry43JAonQ1Xc8jfMH1CJtnD3dvNK7tpX5jRsXJTPCjDVTF3e2917YeNBVBrgJcbsiAU3mO521MjP2etYrdw7fKFx3Gi0E132fFv0JuCl1WoCpXMxTLzR6Ds63qZT6xziPWOJEnR7wng3mh/sauiqhMd1cDAzVj882Bban5rLt/Z2JIpir1o1t2M4dGmrrezcdL2oqpn0JjZD/tqwzp9vo1ch3CoUlHWr/AZ6aOOvNWz/3Lyjr9WXAVS7dlD81Vlm2H4FhfH7nZi0xm+ZFE/2ZZqs9rauCGQjnbffM9ZfHbIAXIb9p7bbkPSkzMZrEco723D68bbZsLDN8bTJHwd8luvKGIsPxvi+mVgp02uxaYMnYiD/z6WX/dLS/1RpsPRTV8Wp8eXzktfyW1mNAHkuNnHamPtWR+sKzguDSCNw5pyY0VobbncXTd87eZIvb/iRq3Xy00Ru8YO2Y3alTx84BtC7hngWfInMd/AhxcPaDjvF/S4xxCvfM97Wt2fthM1i1cFp+qRWjDATaLu5hA8HzP7UdgZTxxYpTX+8FcYfrzIB4cc1a7yX4ILY4fp/FUx8Hi7vU1DhCFygjSukO8BC2YJs81XQFK5rHaUIaNdxsFC/DUvz5Aawb6UJTMQMyPXbDpiYSeybP3SDBxGrVAVDWpa0ABKJL6WOc6Dh+F/kEMZ//pBa4GkilclSM+Nu0yw7JJfQgD9huR67k/afWDfnJfhoo7pLCWvxXPqvkQ3gdn8+nEPCpRScQXBmbT1mcsUR1teQvgyQcHRVFUBYXR33yepP4Da7AaWBE/WlwIcEImLpWwi+MYIawOV7Fo9caHCaVG8cGIWk+EW3GGxRCjVYlxXiHAIqzPLMlhUicX3gSgaGx+KArMnUxHSB1VbJ0bk9mg+k+Wooh/j+BusaJffD5gJ5w65KWann/Iqm+smBAf6EZlA/opaqbSxq7Sgcmfo9enjdovNMUa6PpXN6aHc76K8owhPuIpclOL6IGQHpXiLPbs23iv/Uflk3GfelaIDLrnhx5redNzybRD8RdqdPF63u+KfrEPnfCQxGGdxljI/1u06vFa/7y7w+s+zmvmHsRFHkgPVwC9p2ie0+H/yliRxLJGXbxfWMCxdBgmIm8xuAOUN/4Rz3PyW0ChPvXw8hOq+7GsQfAit8m0jVMTSZmpMkRaLWoMF8F9Gzecify51fr4RJogZtIFP0+gQj8MIrOgQI0DQugjRQ1Rb6WenbmoS0RS9WwgVPCIwYUZtuOnAVj/nn8NaHWt96l1zIiFs14GzyNXvFJ2wKJQSLjM9GCnf23M7LvQeFXoy97omLDDGUcJ6ChXipnB2qhsLnkK1fHaAHadPzvi4d7I0PaODf0yq0wxgJ38Ju5vFAVRuUuXhJweJpg6UFiikQjkPFWGndz9jJ65is0/SPi9W5WDU+SJ3E8BmqhogmgmRA2lXzt6trBU+gP7fSR8LAvJUi70khB/3z0wx/eDa0WHT180hJf8JvckqP4nA1TDHaBE/230rPfQM/Pcng71ZPT5Akc7/YuKm0CX/iUvsRY7FxHPQI2bA8+BEYy1kmaLZ1evFk21Q/6KJy1zKXGpSZPjJXqHm3sN9ozZzHhODZtRPwMgrjMswBQdy9I5uJ9SMKbVCV6TQ18c6T1xcYixwr0RLAZe/w4qqwn+I50evUNytFhpJ8iWMvdhwXGdXaKkeIaaew3mmzXYWPl2KQR9P1gd5eFxgD6tu2S6XgfkvSlFXbUy3fBVyE9kSpyrKHuIDZuDz8M4S4genmlMos3yScGkT71Z0SdlE9X4hEn06o7HxsRSBlhH0ghlvln4JxfL5mJ9z+ipVRO5q2vAc/e4S/WFqdEmKW4AJYoQKiMGprif7+TmrG5dgw6uHA0l5fPldTHfGlYMoDCvN9tG/S1WCBsOgvHE3N1c6/KlpR3olHAGYfpk0Bk8wEKVhlbhCo6fj4mhKcCSKQsETlkvdJOTZAdRAPvgVAMXegWuguRwDMODDZMh0xzWpiSNxVbsoz/Q/ozaFztT2KEi1YilaoCJtU5uQhWk4QFTWCRfoQ6EY0iBF7ppKZs8M4BrbdxP+WYOOyUCmAwqkBDwihsNBZMxuct06/J9sQcG/BgBXUiU2m0C+iwru2JpoOwABPVR+dndqvCsQ44wl0Ull5B/pGV40g2W31dPjDTWQrU70vd7VRsCsJpWGEB0ty5m4ONmzAJA+W7ZoY2Wvxt3wSVCHWYdRrlH5nFgaxtJIYMtETddU/v+ofgzkTSk7QrjYAar26NNu6FWRipPDQ3vp3V3N4Bh3h/h6U70P7YTJrjjUZvyQIT7Rlf3fWdTzvkDCbIqV9hBp6Rish2AqKqGMo+WqhqjD7laaQyCgLndkmuGSaKhqXlm6ICS3yrLJuOfj/a3yYL/xI43gDjQqwfdVM9ED8QPLSppIJNQI4sMr24rNgZMeM3phlKkDFRfNUwfjlIogVjiQWc4uKHfxdvPJdorBcYTlDdBQtpXAXFtYIniEoq2AzkKazCV1ZUOKNWezJ0XAJQSafkqmH8FBmyT+WnCLg7dpr8344K9G/GC5kl2gVXm09PqgvyyoHpAeFvFLJhxzR2lXrKwMO5Hy9UO6NPeRuotIrAukJ1200DRcNS83PE+Zb4ZVldOvr+KY6wAF9rMq6cVKm/0txFSfmf7LGLDrW9DazHRM+TTqzr1qlYb+kY1p/ufmFZiSNyWNGjovSIYb5y2lrhc5uLHvlilhWpB7Ai1msSJx8myUQ8TVJ/f+mzwHyP8AsK2XhWM36Dek7G3FWvrqhsjFrlydAJCUAmAtKjw4wqMFmiHavN/m94ooW8iFmtX1hXFn2X4WFMBoFA4ZdfW/42uILHmtWcGypz11O5PV1Ycrjs55R7wm4v3mvq2IBxGC7eOTI2FV3VGS7iIXc/c33Et4z0oK6GREExOKfBA3r39eAWG59idHvAPH+GifY+gCW++OSmMu4C7wxudTfPwzD0F64PDIwG5zSmU4gzxuFY6vFOI13xFk23Ij+LwnKpM8E1JNal9TugIncVnZq5HUvC0G7PyNP2hoJdvrZVGIXBoh1DIxPhJa3xPBZU9zJWBrwLoDvlas0qBufYOEDtvgrseEioESCYVjvXhowjssILIXmPAUrboCn59fruGIYUde5oNHZB7u4T5OnylUu0b0SsH+Sr/gX/bvMwFb6iaXd4AFVo58VHDoCMYbXc8VWANizD5P3XhE+O3Vm4Bey+WagLECindUc7GEfkBRdACj4UjFOWaErDoHG2Dceb+yOGVefMbfKejO3q+o/Suh1RIycn/saVj5/TZqDzYHAvoTp6+LctnPfL1GVAZkCEifguCG0K316wCuy8W6gRYSiTfgdzSl54ASO0wYCNnqm+wVArxwrm/4BhnenVLfJE+cJF6k+i1gslETkncT9Xu6KrNyyArkzhqqMH/zdi5cyxlQhXUI5J+S8J71IeL9gALj+ouBvBfrm4p60P63IxPcVvzi/a+vrekvUTF45ArPLnxVNy/UfOoDg6tPIhZKI0RqnZHbg5L9YhyrgoBnC9+AVFZHIgV6eNURUqfGyfFYaLaCh1vPtgCK4+wpdgt8T1L/90dt7WNctBYPfFeSvk6/kZ1GXyPog6A+NlCqNo5kUhisngW/moZK90nLZAZRrwIkEPba8zRt1Mt5vtbSrTSltP/2eyseuiBqDdfpuwI09++IyJESEiATNGleSTJZhOYj/6357+rFkbq4b2s/3pOCgF2RYYbTDlkyzUqn1FGBvsuTvwVB0WUu95EJ9xfFWaUyRdsBSXS7LgOTJNuBB8nSW5troOE8LLSBmToZPrj5vvyPl1hh3pwNBwprLMhPCa8nOAhsQmW3QVtYDBcVo5fU/z3QwpksTmkGudm9AfJjaHF0qTu7EhBx0RpyM7AfS6Jd22y4VzEyk0DSLp0JqHkg6OiK5NkzkD8x8lniejJmPnAAWGxhsNRUwDapGfFwYHep6SJYGIDfZ478Engz+XJYvcm+uwqSgTnqYSNhjB1Xkkx3ZmsQG8gOYdUnR85nbj1TmkU2ksRaJhTGWlCGFV5edAAdW7K9V8AGai8pE3yVzXXiPsnN4M5ULXGaQ14bqdvO8bOQsfeNc3dEfHXkIY0b4knd5sAtrk+QVt0Y42u+MHMZ8s6coC2UrPrlzzMVhMqkbdZykqmXCAvTlDudB5JmWPf2ZSlJC8k/FoKOViaPTJf51P7gFhMTZl1N4AdFRcwNxt2Y42h5NOZufZGF1ZIJfv2ZVpPgTzMUXPjUnFX34gePZoJJ9zP2VLuGHZvguMnoHXgN4PjNw5dyKpA9H/Ip2tPWnUHqHc2ZaE22JOJI3VYVOMyAJHBWuTg+Xtos4ehi2hnpqh5YFdimaUAabwmgwhEkBzcavohU3uOdAL89O7+93DBKYYq71Xc7VOlMrvW1rX6giZS/vHIRDsXe9jNWrm5DBsRnTl8EAhUEtu9wEHPOYmB8nC3WG78iBsLt1aORfaoWxEmWAyrks3mCIUE7OInqhzTYM+mJ3avdjbT+LIcE3na+4wia6KiyetTQ5XR2HnIIQA2+cTCod6WvZ6JdknMATYQXKtFzgsW5tFTrCdvPpc2ALqqhqaD+4MaUIZEDKui30UNnYZPd3gmtWc2rXUO0RgSXE+wk0GUSm/aaa+xR6ylPSMQEiwazGsdGqWyn6ssNVSbJCPH6E2ewEzKVAyIDJdQY/uMjzlm6natZ1PeWIP2tfwItaQNadOc1WT+J7H429Gw/pB30n+Ve8bscLEeJ80UbUx8fitgNUpYCEEWW2xwr/L16fzV3l/EkQPjl4tHg+v+rac0y7iex6fbXFFsOKdD9T+GpM7nZ8NRIsm1FlgQQVKBta7VddlwOUrqcpd1W97YpfadvPDVp81pU5wFaP16VWt64Ld3h2BofdzYjnxgW5ZvHypYgYkHafUT0eX0rqcm/zBrg/j8+mpZM9Xe3bzzeP3dzK7nPPi2sjpuGWBojxF5x3CER4RRIQh5ZvzZ0knhw94wnzV3iPFjC33joNO/XCk15u85wDXL/xvwzTlMq7Ij1gjOG82SPLC+cwTc0JKHOHnht+LDiRK4fibt+zlV3LdW1hJd59jtPt49IhXRi9ggp5IuZgHESHJPs/IheKO3sWIi686fXc1a0Qeu3Fl/Kac3rfsf/rN1bvWqce5BOuW8+/btVUgaS3J+3LnLK3oWBB2dLwam0oNxkr/PXuPwNz5TB91xDUhzs/tip3x++RhOiEaCzwiiAhNDppTByRDg9vOAF919kgnc9G9dFt6rCTc6Q1f8w/OL7i1fjX1Ii5L+6TyRxy9CqyiVM/aQ1BG//8GjPyk8PYrQR5s2y199PlXJzzQqvnWDqIDBpOjEtJXIZ2cRtDeyvuvgqDmyDY0Kwqq6OdIF2TlHe1kFVxV8YXme0Uhi3bUcC3p+dgwrWJlwwV2dwqbTeF/AzcC6RdYfRCMuhuPYjxd++pjSB3cGZU++n2r4gKkx3prB/ZBs63moH3QfZNTdkgf5B2H+G6VwrIyYczRHDHvZor81nAIax4ofdb03qHg35dNwXRkFmIDpo7jhwv0bg827cGTgVWY8vtUCEyq3B6M8rXumBFVWPogmfBAu6zPduCvjNsG3aC3nDrKtACLxf52JxRao9gwrCwoYwZHeagqb3Unt/S68rcN7ysK3XBmE74tvQAbYtTsAFxgdqexGQ/vN/g7VT+sv4JHHXDb71Q+9KdzEp5uzHdZxXjyabfRbUNrfr4+STeKlxCJoZjHfM/Zz0nuahtA+etFbTbXGV/uSTablkF2Aw/1VFYur9k51QDcsTWN6W7jUedc9scjqDwmGPW2M18VXGEn/+kyl0iWmn96mm0UTCGCAz6P8Zp9nwS5HCe/5+wHByRnXJmZqDdNI+lrOCSzWC2s2TyhBe6QjSO62z3SObf9vPKDPzcY93Syv8+Twk897TZHEqzYr09OMY2iJUR0KOwx/fnAE5K70kYB4d8+Oig748s8iUbzPJLbzMN80qOU1mxP1QFmW9/OjPMYVoaJqqPzEwcyuzu/jcqTItIraP9sdq2qcvwb08hM6AbTvdsytYSC+7QeDXdlAuYbOp8R5QwkI0m/wgSYkN6d8cYDWAEmKg7Pje3L6G7/g9k9MSz9QO1gjnV5luutjyHk8Tst127L0toUrOUBJNoVDVguHH9TlCMQYJJ2pQEww76dKecRrIQmKo/MT+zP6O74PURiIuHgfzQ6Fkoc32wC6S0EuUBXIPt6AIl0JQKWCyeeVr6zboURuGOXcUP1zClYTjOaHlMih3eo3NOJ7a5tpjVyv5P4KtiygfBnLO7sWh1cJbTKd9PMGVcuryEu8oSkdyg2H9zzSr+XLWOvYTUUds6/nizb/CwHDW/irzi2mOaYhQ7bL6G6RdxpAuVx9exa2SJ+GH5Gdfe++mkley9GU7V8D8P2gbtuCVuYY87DaprR8poaPbQfgwxuMqw6t5mWqL+cxM/BxnX46yHodNZWF9eJj4bvp5i9j22tIV6EkEzvQWwdGP+X3WdAN610UY+4uispeHQwQiGDNVhNDL/68gKPvil7Gvh7pS4crgyelta4uLYbtgSDJfsn5hcLu2PqaxoYvCgpuTv8qLugvCwzbp8MWjKi9duj9bFP/gBLvyHLGIkwrpHGyy1sdCgivYjWYT3I+uClHXY0gipY8Od9Ui/mK42clFGHai9sUe6+8fmF4q7ouuwyhzXd5F/cky7FV5ZmoaZC5hJntjTXRT/NsEDPH1YdC+1e4aOfdg9USOy2zlJBN14TIu8f386jn0ueSaN72o27y8OnpDUAWrBaV5vn8l76xI11fxAXVpRm9PRBc2a0ZkukPvpJLQdMZ4ROC0AVmMUUGMaG8POruISLA+9lkCLSjRjVq8UMUziPq+ib83DUQCwMXdQKVQ5GHcBEKMjiEzE5Zr4KGcD6Q6fjNszq4MuPdaF5oKhvsVARIa/Gb9PTp+biUB0MQhe9SJcKI35gKinMwgPoPLOQAoNwED/bhsXNKXy5Fs0iFUSv+caiSj6Nn9DSl+YSUBMWgi56mSoHog5gMqUVcxO0YOMJGNKQAeUe/0AzXwcvVt5NaeaCMF8YSrTQoZ8heXkeTvsd832whVtXpwJa2AgzJH7RFkwZD2uoe1NngPn/CUBnXBZuVgB4AlzACJ120giymAeC8cNU8g91H7oQNSThvWYVVjCu4L0MUkBqiFE9SVYYIzlcxViax4He0DGlYNVBLGKOFDWhH+E97J6WKB2YDYVZfDB5IBGA9nqa9KHw7mAQHLOfLpcRZ4LvPdaF5oCiodnn4HOMMdXLgXZRxo/beRAHzJVSTowOS9q3WyJyYJ73zUF8Gx5CwVBX95UPddfqVGDCsxGwhjEQh3QHXtUKdtlEJywQqeJ2ldUa02h+rpNIarZfAgsCH/nomSzm6jxvERxCjagBmz5UGZJ+0Bn4N1wkiMBLdkVC9aQDg2eDYacJuU3NkllvZDUwGfLzHELsDH8GFkwWY2s7lj8pP1yE1bBjzDIpUkgYMUdcgUttTSRIuCsSG0BZCR/YVEE4coueJTPeyBpgqo2BMy7GCjwX8dgiSViSFyjEBqABvWQThChCMg85AxfLmnmQeDISrqXsOCI7ghyO3EHNdXZgNbDapnraFoJSGnYXTnpa+OgxkAfbJTm+/qzPU4B2mW9uxz/AsuSIYiuLqtEobxkNheZKvirA51CpAcA9rpQphxNHEEQ2usjuTmITlvAPOMepnnV6kS7xejdBofsCNpAP7kc9MFgr+3MiDB11XLcJanWQ/S6kp0LekKRDI+FlBYU6pdpJAMkuRBUR0UW1VDmaOIkxXeg0Pe8EawaJAqwD0v+NO6AIEbgLRv5S/8EHaAPco8NQrfzGhB/aJzy9FXsUqyWHJNBboSjKYcKSUdybGL5GofCAwM5JDwLucbU0tNt2DEX60HlmXoGGTSIFcBLhnmZRnsAi10tzYi8DZ4lCSZ6OWRshOpyPxwBx8gZZK6HOLFduj7PWAeOdW807HiM94S3Nz28MQERyDlIiC5kRIA+jyMOLpJdLo44KBQe9sr6YRfVNEppcx92ANHqPrMUmqHJpW8l4Ycux9XfxDV9hXqrZziGTg0iRyLZuwIccy1yRSa6WpsRuPZklCaXDdPTaGNHpeiyCUPOvp3Gxh7FVjJW2mnY8TvqHtzg/t8mDIPSUJSrQMQAMJ1qQFMj8K0fpoO+PkqgK5Qm0hUSXDfD1dDQ2GjJ0An6BsMd0WJAv1iDkdWMq1jFiF82hR3NShQhRdlnveWhgCNfw3Q4XHDtmxqX9FJTtvD5Fs5edx43LOAgYu2g3YZ1wxHaYLFWsnq4kjsRE1NX4BKtjJQpSoxHiQPHk1WigE2lCkiHz71huQAHLSKhY+jPqIzE9c4KnKHXQpe34FcIuSxOzS8XTcBljN77EaBhx3DQRPKjSwUu8jD7WkBoqIMwJR1B/BOzWge2GJ4UagZyiZh30nMhI64BjIjPv7GwSSHMhG9XNLEaQPqxyURsCu0/LPX8OshcZS+FCFZ9kV50+pRvyBX8FDhOG1FAubpTfibqq8LMe4p26327Tw6bI2RxVZ+lK52DR0V5XXAjwhTVOJM5HD4od8NKD4wDUA2ruv4cwNXTYQjZRN1ZOn3tLN+DzfwXGU4ZUJZ7SKBxAPQn0oEm+2/CmQ42IKXI2l5FbutI+6CzXTjsrRWTlh3B5zLQLdOOVG4cAyAfVvPMHUT3oaAptDTlcM3/1aW3OL/ALIKvD1Cls/osIOnxcp4nS1bjpfQuEg7WEwIwokH+aX7MIsvoIrrMwMG4BcaHWhg8ioPwPd30/6yrAaNJQumopnvr8oxZNyEEYtD/rF30xISrOGOn0EMgcypjLt/xFc3yd+hXCU5VQ/LgxDf2KY29aZLP7r741PskL/mjOIbdt/V93Hm6nv+ddDAhx9JiSfsS2r319ltf/M8ANQOzmaNWDp7ApYy8/fF5yPJmgPxZcSqhgzJiafoTbFWsLt03R2q/pjf/Je2DPm/ko9GePNCC9FBgzVrSVD9Wu6jNVO5dxgwVaqe4eLv1PUfouMLnPc3om/57a+/l/IEQp2zaoS8lLgjsu+b2fwnzyyMbqV3JOixysUsxVRys2LfVPJRX+m3jM1yI/UYlnP4i1jL+Y2PFfO9ADyalL1N2J63ynXP57f6/2DgQHzTl99n21vepU5bZN7omU0nc9l4kZ/0Jg87+GdU68nnPiZ3hAowIrTE5vWMxVjar1VPwXvwLSc5Ut90fK+Blt5YfL3ZiUe2Q/FQ67xf94ElY8T7Qmf8SmMR6pe7nNhdTS/iaAjXrnjA2uEOWbFUE9jfDZL4I+uiTTbGRih5XJrx1DmJy/bRUSHCO5n37sTnnwKgGb434qMYvFvSdvYedU1NLJDQAD+ueNDneY8u1oSE8jfP4LIN5Q3rgvQsJNqPPffezDpbyjO5zgkluy3pt04CW8jVfrpwozGU2vKDvZFR21fHoDMJGxC3OwiWiRbFGcmEHArkWRL90iVGhE7t872mp740qKAfBJjenn0uGmFIVobXX25m62Pq4z7/t9Ab07Xahxt/yHLAql8Qjsf+AYbZMGoESJfmtnNBWTWS1z794IWu48h6wL8DxmwrLJlDNow2jqVuEUQ3vFYN73ebPl7kSx0tv0BcsJ5fFwBjCJsYmD2DjZYiKKlBKj4wty34kjzdY3riAbBGwrkq7ODDTGSGRLc0Nf6oqWJyzUKqh2pYrVnubPBF4q89YqgfGM1eWEyXiLjm5Fu7rzCruE8xvREP6Pl440p0jE5dAjtzDI9oWi1CggX+Jb6yNkFnvBQBfHYYwiP9HZFCr9Shz+DsECk2lr0TRsdo3Ms7fLVCeXcPASNEZ3CEmpLL0Zo0+XoJW9TqlEYOFcfKIpCCcFqxeHkFWGhrKpAjAeMHEFiCahBJ1YnIxUurI0m5iDo6K5CUdnBpriNsTFoq++1Km6bodULIB/4dsasferXISHAxXHehqixd8F3nEn7CtAwxbW7oJtwpC109wSkazwR9PpYJd3p3ezR72nNDGi/luHu8mNGZ0q9LEBArVhcQO1CD3aojruFC/3R61xPrdVH9GoPQXRTMl5h7sRx+aucdRcABnOrtkBX0MD5oY+GxajSjAi+Z3WjKlcVRwvqns/cDHuJXT7e1nAKrbdHbfarMFn7C3mRU9ExAqTk32yZM2OyVcvoxpKBCjWFfXqLstbupnqfvJBjVEu3P5lqxAUs5tdkiWfb3yqAqb99vqR6myzri7dI3m9x/Tu40Frf+5vrGcL2Agye2I2s6d2D95vnTiG0+QlhmdUubr1jQ8voxosBkSpKe2xXB5X2Uay9o9Lfvo91/5YwruE6EZYthjwzkxXwazPXjfcOdcsr8/pVWDfea3rhZB1Nv1/U7wC1tpsL5HF038vPmiefh0XK0iML5GnM1sTCrFobXGvab+7bDOn9sSDaoNccPSrDYJfSG2EJct+7ySQIeqGear6VI/s9h3/RODDMuus9zdDOAL6bAISPg0DMGSfFE3DzgBxOg3plE0Sf1tCZ43uFfZtw5dP02rmoxMjZH9XvTKMXwU7sWHpCa31jccjnn7JRh9MbuEIw9CP8Yeqbk/MPv+pql594nbBQbJnlFB+s3S46HPmbJ8JLLPXC3NgKUXqMXjBEwDImC5ZdflerUdti+oUD63Bhw871ePhgca3Mo11cia3FBbRnPInue7YNIW1OYxSq23THl5KzIL0rvKLYwP3PWerV+7YJziJyXURk1dFtua+RO5I/wZOIUaJBx9AvdxwWli7FYHq1KULTuJnm0Jaa1S3uG8ZIXuqRj0dHW35WddWrwjlVcAy7JHvU5ueOKbwLJVxerNtxUGu0z+av6/y+sTEA8/YypUnHhbspzoHCfknCnsL3qVO8xlACyU9xMCV/8VNohG1gqQNAsnit7kz7lHnVsFG/tADjYd4MAYPEDtS57zD8LxfrP+GWAUGwiAMyjNlrhKbKeucKNxTvm+FOeRClaXT0S060MZJL2nIiY+wfahbRAzBNE9NkcW5yl3TztmC6YLKU6svxiM1yCI+hR/9bQpvXeBtYgqUpUCPNHJxUqG5srmscKlseUZDoUPj7t3IXgO0eh6j0RX/xI5Cvwz4kZhKJFsCNne1a75xJX+5oPd+jrwQuo2v6Fd+KXl/Z/0v8GWgHvVCvzR5WXJYrWmqLthRfuIyg88J5aQL3PhQqyjlt/YIVLT+twSjPCk49Cg4CzecbLBUMidpQiv6p6di5iqzhFCOxC+2AqciHNbW1F9Dq0tmOsGU0Fw1Xpx2NGl6TUabvdtHNuKePpmgArvwJZH3+3KnivDO68Vnqv/HqIAiVAT7PUZgDZB9iTX6kQFH4Co4+Wrhqw4kAPfEJbBMvDrph/QLb+3F5nCpSIynA2qOP9kMnonSGFW+vZBQlS/pAlNi04CJ4nRDs7pXbzTz5TQgEp/vJYciIFNp7O+XYFqUq18vPl31M6NJQ60LOLoQWI2pnmOZg7RCI3HStcJj74Pq4TYckFQyOynk8d9TmfloDJVw0KbET0dZjLHBW8OoymaqpDQPcFBes7rXaLTYqyLZTHjmJGIRGMbmBDiXsjykexlUuYdGCpEVYhnBDHjx8skO7z5ILq4qLY3/87bBgZZW83pPYk51AsZQuHhiPLVkfD8Cw32d8YZSstHltFCL4/GXQsI1AFsQiWc/SpwBWj6/IwhvginUVzrVHgP3NDa06BcDnaLd7poe2jxm+tiNulvTfls6YjOmuGRv2LtVQX0EIAsi8eQaUxLY0OKJVs9uaCaiKCqO3LW4LdDUalzrik2pDsMwzI7unmH9xosGuopheyHusIkiSjAauVkqPBaxeZF4zbHYUZBNlE+y+/ZB83FVWWniLTfYLZYNnvicmomjrpLJ+splY9d32KueXHHBjZ5jY+h8vFzbqCVeQ7BB9ExuJtikudiJuFcYwxHGviJgwvM7w65tSBYGS+c7UtCeRmejcU1HdFF5AA3B9PCuqdaFV5mrsrx7O4EFziZkKpK9Qy58BtC8PZUdDPxsQc7KwwhS154D3Ehpj82zB5KLKouLYk9dPsbQ1Gxe545Nqy6AURQuGhtNLhm7PmKuOlz8UjdyAx9BZqLFT6L8pwC6wPankv6tGxyI252jGGDoygOLbNItCQgTvUzSFlHBQNnoppbu5unG9moYkOqKeoNj2jbRyRQwyIzx8C22NLOfFEfZwt+6PLr8Om19I7Ack/0dScG66RgRUpHu4v61jcWGcUdLJfSh3o65Hbokf14j02lrbA9rxenTnqAnDYFLUNO9eMUTsASRbo6lYTU6YQurSF/p8IbmauNUY+sANBC0FHb7R7StglUm4pYY8/AX2ZKI/k85KXPoZaepzjOpMg5gGaG84iIsMkCJbiJzwM9zH3mD52AdNkQ8g1/tZ/+AfGfoWthmkgAiZByUAwvHfeQJXUAbsE7iHHbCMN6BZVB51WUzSwEauoRMAFd3kfNoPdZrexi7zEuRGYRip0fHXwDDHqC1F/n31B5YpZ3oNJoUut2KoNfpGQkKsGAOywMJe4hVJ26a3ggpyzAnOZqYWZ5mQnuxXhixUwnAArtsjCARR6Aea2Yd/R2Ust4rK25HJyDciDjrDKIX6XEXGGCmGHYoL1bQQ6w6cJP0akhRgjmIACG+1ALASngR95kYGCxA5KstjbAPDaTnliDfQejc+6QlQ9EpCDchjgsh9Co95QYDDCcWP0Y4klhjTdFrYUWpikQE+EhUIVbFQnapm7SSnTsaQuOi+TQylL/eXA7VC2DwzyZdlV5ZHl6hOgxTMFqzd+db76/bv5InAR0PlV6794XaKwv02oPCh2+fe+R0a0JSPzPWeF8jGLbowWjoYlnw3+1vnEjidv4OlsnuvQntYxKJjiUpWu8oJ+qFEOTXVkOTWVMeX6GtvPN446HX/0mrV97NcwE5/7lo55ovNV6pf9geFT58/uojq4IGmb1qrePFf/ma3GJKbiL0RSx4Yf/xLpK4fQoYRFZ3NUTGRAspZKhwvbUcqRdCoactujpjQHl0heYwlkajdfsXPv+0duE6npsw+uKmu9a+UwnyQL89LHz4/FVHdlsM0oLutebnt8CoxQhGQ89Fguf3H+8m2a81QSerCtekjbxG06ehA0LouSPj5BEEQVOWO5yT7IjkStxesHD5/P7EzOkZre7734FA1RA37u6KdOWnym69ISpxeLRb3lPau1nRuUGyv6c1RkP5oJVVhalROClqMoMSCubc90/vUKke3JsycCQn1RHOlbjTYP7iBcsSnjg3rcN185dw41Bacbt6wwP5xYr323fShJfGuhSEAfKKWZSB8kC7nXSNkNckqqK9vP+BUe1q1ecXIw4RvPIvXdCfsOHM9Db3zV/AzEM5itPdHe7Jz5a/TBcg/NHRrknEJnnnep3ucpsYHWoTQP0S/dS2YIeD/7Y/E5Ymg748ncaiprsn4HHjgKwK/cngC+/sZl7YzoG+b/Nmw+E8k8YAU1eZgX+Ar6eZC1mSabNKPGkW/r3+rog4FfCn9GrDkuaaaB9PDEma1gMduKOPeU4TG3z42iGRtEmlw8nLrcAdONzfyocUZfqaFbJ2G/9tf21Ekgz60zqNpQCmBmW1LNa16M5expFWDvhBuycbiuSa1EngaJ0imUrOtZqL/Eh388Cq71LFIK6055qiLPKVF+BZQ1HUrLa6IS/cNt0aXE5yffIlgOT/jsFg1ZHZ3i3r8X/T7yooLqxsq4chCE0hrugAiGx8abMpP4B0twytBa5QDhMsR5412q6cux7PykXQKzutY15350yrb57oIkwgaHYAL9cerezfEX/WW9Qrc0vKalzrwMhBxLUDAIlOzLaYC/2gu3lw1X95yBBut+dZomzKldfjWbUIema7dcTjap9pDcwTXT/jAGTpI2y0+oJl/Vu2Y+/Qr8ovKa7qaETD8Jjt6m5gPbJ8mNdRwytH/SncDDvJFuq23nXLOCKUT5jg9yM+5/vU0VFcEksQfX7sNNnLsxNFEQIj6vITtiHsA/KVMlJ1DInkbBAMENu2Th6z3tQvV/qgbjQ7xmMi4oz75IRNZfdLYJGx/gC3pZJbjHpkXI2tMqHML2ESTkBDknPtkxLjnrpnGOMgA+64DlGyJSiWXBwuMMg69HgxlMe8g8iSc96iqmQLfN6W4rDrDf1yexGqhI77NMTypELzfh5YSS8c5LZV80pRn44bZYfZVPaXsIEIc/CD/DoKO75VD45g0QwTtRR2yFZmHQwXGlJm9HKlGQhIJbTiGPSSo2mkB18nixx2XQ9OKkZ1I/NBDWHia0/Lx4UgKXef9yVckzse8aqtM9hb2dK27YicfBiw8EVugB008WIkMN+Q18E1kEeJW+M0G4zw4lJgcEQArxCpIfbMoYMiSxuPdcEIPsSnl6LPsySIV7jJefbFi08JqvFBMAfTuTloPQSB6kyzHMPQmR76RpD47d3eRwgoW3OdUtY3/hMnY0dEMg/1CZQ+fsIiodDAAr3R1KYkxBqhB5VNQ/pBuQhoDDCQI2RCN13Rjc1OkjIYZqAX7zHcS9GPMxxYy10gbN10xW2+cvdeCJJSQfqmoFE9pLJNUjzL6UtYT7hBkrDbXnCk5kBzBnBxu1ROAfQxeBdXpasKQYYqCqNZNaldnFJojk0XA61hLqxARAc4xqu6sclJU0fCEgzh/ZbbbT4ZYrdf4Tj19I2S8t2noYvWSCWWQvMiCKng0bBMkyfEnDm50LIdfY4wGjVUl1SRurika9vKu4CnOd0s3Bg37wTd6J4Ekje4xIxaEFQVqL6RltrJjekmV1eDGZQARldDNII5Aah1+YHlTVE0bkKPKoq5PD7137nvAFzdaNCwNW7ElAfgbEpWLgiQFlRlqLXz9Lq0ZuGbgAeUAhZXuAGHWgjSRPHuAWcEjZmqi4pDsqC0c8WB1+9NTSszsEPctMCFlwSVOpeUWVMVFRmqNtzSdWpDWjPwVSAFSiLBoDMOgVoA6Aw8YLLYxKqXRqoUuqDABNDzhpIvI6MzCw09ii13SREZt6mya1I9rk71DjsbC2/Sie/lcyQkVqrId7tNOoDFZzhjJr2Q1YTEAqGA8LN5Qjoj/WBw6l6oKtXlqpsFox5H9Xh5rnH3b8h13SrxmfQvOoGTynJcvzkAGenwJMxmsWxaiKVCBfKzAWejoYiUCVDReVW3bM2bySPjgrN2vDrbtJ9g7VuiFZ/L+79BEmTyXLfLRAIplHD3DR4wg03YT7J9xw89OHo6Bb3UyMzJiHQTHybh9OGS2a+I9VgG2IAZJI8vSTQBgmeAhhTtuj6InGAv5+eOH3rYv5YEb7FqyrEqdMgSPnvMCQSp7YOAEcOkRmMm8aMw34sg3QbpiHD3BcMQc9yNws7jhx5snUuGl5q1ZqgGmbYpbgdOHvPB4UJMuBXiUtg5CJJvCfrcaGLi/utQ+cUVVXUh8SIqHuZMUuBjHhBeBaRgEOvCjEUdo1APPut6E5t2uEyZiAetas9ja7UzyZxiHNFl3w9DDqCgDaQEVRFDW9oTA332K9gMBmWFGl0mTHj/2F+g5xinW8MyNSiFMDIczMVrmLG0axTqw/vlh2BOTBkyMR+SNs9jNe2+3EQu9tEmZjgKBpB1hmrShHRvcTmkwW5RbhKrSvhdKlLOQzJQfh93ikKzADgd+cF3YjAX78KMJZ2jUC8+Lr0IxxBdJiYCUjIexVZoN6aShdgP27lV1ANDyLYBclQRXVvSFTXjTjBRApUVZnRJcclLpGAxZQlxsu4FYv5pZmqFrb/gN8nYecFrkP0OjI7o05Yyxu1Ug4vy4sIrWjX68SMY2jmQEak6K3KE692auxYYToTrmLowD+PZTqn+C32jZjAAe1gMzs59w1cp1wlretx39oEvRg2Jl8aVJqfz8GpsmVjnUK6BbJ0mpk52VZeF4TP8Z0HgV3A1bVG6GM92Uumt3ybn7X1+Coez48ImoJ2/VdiRZz18BgWxEBDqGKlhtYvGYF8bnyTG1oi9KJCNEV1zduQKe/+2Oq8KObQ9a7sEG5WxcY0jjE4FidBizhR3B+qJkSYMMGGWHk/WZVNgdwTwA1+QHaFOCF+xoHQNUwEaiYPlyv0bw4CP7dkSsR7CuiVsmDapptCajNAYC+ySSAMqVMuGWjsyjDDlS7Rb6L9jxn8G9ZSYA674wEz5+jofEJxbSdpOYYMSLkqzeY44EFLFnexuR10KaSSBDBmZ20MztTGoFMoAl0MZqYoLX7PqjqAX1C9BhYpdG4IAlqBdanIYXOwbsriBjMf17X7/Tf5bnF935TXZBzLSQ2jGr7GFRL9wtFhno+JBlXRkrPuLY+ufkn1oOg9R4oaEgQv2hQzWeMd0AEygmdE3qCHqqeRYi+hCM3SD5CIDZz/vyGmyD0XlWzAq0TUKj4fnQPoNBtpXpZLkxXyfvvLQU7I/lMxDlrghsf+6s6EDtd5OHYCiaZYaGnQY6rosrsdbw5RDAr77DQ+pv+pMN9kHk7K9MOkUyZg8HAvSw7BRYZ9KOiIWfeuxB5+S/GwixJbkgn3KgRrfuBag3UFYTZGonSA41sPbso/q+Lr6/x8XNEwovn1cg+1zjMKiH7oT0mCNTXnwf8SuIZcf+f/lvNxOf8i7ksHC2WMK7I8eL5loH+InsQIsArH1H2r8/58WNCwIYeyYCntWHsO5DkMIoXihy0WI//PnZF1nrOdJQ8d9Krv+8wfIGKlYoV22L9L3ipeXGLYR1y0dFXtq5YPIZdTtKAMqCHX6oBshGJ/AU+qJ8donuo5tV943vvzYUHfdFXU7bHUv8cpSgxjN+6proCG0/BtssRrZ0AR0CNWaCxKsb/6Uk52M1d4wGBHF/BYDYnaMNuJasTsy7041Bv8LncP2+NaXiA0o7Czb+kSYHl6so2HsgzX8EHzy4J7ept02P3YGG9OnwWBseQcZmKP41cgH24jRmPVPFGGTfqaeaGujBAP8g6/OdqO4ttcHYXZDa/xqGIR0Sihz5IAe+WELrAQcupQtPZpidV92oq7uEf/nf4mBdd7blDoLHdGdRGAsT4t8vxXrCzNcJtsmOXyNvDW2V9mk9cwR1inMY688pObewKK+aM6M6+ZXvFQzkT7oNE/RVmrZKnjUOZa/KPv/6QUBWrr1akldbMUY0vO9nabOI69UVX1hcMYa9vSXahtXPlE1OvP7XE54m7WYnrxozx79BfyxNwWQ4z1/l7QptkNbq3XOBqbRX8gjD6i5IbjcmLHG2rRzK5+rHpumXMyJTrGmsiw/3nNAd0I48ZQAbhJe7H0bRIPyrDwmd1ftzDvP1ck0UW/7m0L7jcPCEaBl/h+KGSnArd4hD5sDHdc+nVimkN6r+Kew2j3X/T17k7SgDn73oFWTXaGOFXrGeA+G9p36lg4Ouyz29glRXu5WyqjQchdvTnHS19bclrxeP4Yk6LdC0UYbwiCdkVuNfN2eYYfVUsW/rscdk2rfOJFb4x6RKv/+OqSJLpO3caJBno3A4tS/msAFzIO5Z1pck0aVftyh6XzBWqM10vbk6fqcPxvHkUH981DUSyFs8g1yr9ndctHWCR657F7pk+K8PN4FsNZK03LPt/dLNNFl6nbRM8JzIHjihm/CIIfih4C9z2S7h3ddtcwDzBYz8N6024Xacj5ds2QkNfCtw/Xjn4+eP2fASGdD58zlh0CNdUJOR3Mw0vnoIfvQD9yPgc/J/4E1fiF0zp+obc++oTVZ4Txn/SeRxl3nXdl/zn7jcL5465XzCamBc/vs8fyrwLhRxO4bobaYQ3d1j35rfAQCHB8F6p7N61p+Yomh9rXaYgZza2t+i+y5gzU209H/H4fr+zOPnu/r6uF8Pzhy6BBg6Bdyhg6rfP2H+u3D33M+Bj6Kx+KDPld+b56MH9bOv7OvGkEUCjjCe5/kTr9aml0+0TvwnuOcFiHlB98X6zY1u4s8w14i8auqkAUEUeNNhfcKvGdJ2HcmvK5xc3hY35F9Q+YnwOPkfbMQAutV02QXxVn8xL5xIGG0kJN18XigdfDTgRFy/7sOVYmlQGK1k71cCtyxwcD3X01SNAJV0Mq4Ju8R+PZSyLE7azhr/cpAtctTvjjjY+DluEgy6Lv6e9NkV759/K197QAvLeREXXwtMXSLrXsQJqy7MhtUimjOyolJubsfpuAcl5EUMZEgbr6l8FnLt49kzt0Jo+ob1oX6W13DF2d+DC6yEZ7qv9J40dhjyWw37PrsLgT+ouwCTjWViGLEodq5taOaF+3qVjtHeqe5du6s+y766JHbwJWwqfrMNVDY/8I7ZxYm3n7Cpr9TXA/eKm6oaI9etHR+Mn0/jnPMJBinsuUz5/tuoQ2u/Tu4ZItw1Z+7RwqHj/9nTRf8+V0I/H3Z9f5fjSVGYXSoanZ5K/0AnruNw8Sdbqyevcxzjj5y0m2g0wiLPFfF+P63Nke+Xp6OIDWOPt/esJneitWAxWroCtVvKaAVws1xZ+rG904sjpYsEDq244uN2caBOsnATxMqqDKViD25zNS71BgnrcgAw8x9KGJ0bV33PVFbW2n5jCzuBhQtva49IdP9nXUGzAV0lurSqdDiGgJuhaF/77DF0IKFJ0RGMXR1rtahBv7iPwpBMlWmE/EnNht6p9uv80vKgIHGMIKo+LrzzHdWR75OnpRocnufe2/odJ8SxKiZItVr0KFlwlUcnWEY36vwOFq0UKjtu+GOvdmmgXrheONsM65ExWK61nHJYdZcXgVUMK4BvcUkVgQhYVaYaT22lKBs+0DkFNqCAHG1yGJx3HSg4JU2QI1+y7ODbJayCrrrcLFiapnDnr+0CKb8zsrx3LTtMM3FwKeExh3pepOb/ycUrrGbGUAF7u7X1RnEsoeDH+D7m7abSQ1OmiTW+j22XRQDxccIM0A93zsgtiBHWUv05eGC+bRyF+VdkgXjaWfJaGq67jDOPnBYGbfFrWoH9qtguJavxwRgsvR1RrHi5eEnhPGW490Eh4oiSbDut51wsjgsLx3U9X4HylA+j/zCWMoaLJ2PizTIeEOe5XWWjWVm8iY5F05WJuzJer2L9xu8IQsZgGMzHTl6u73mk5DLxS43wYeKJuj+cB6I6F8sCXvHawFkyO1oHuteaD6NKHaEK4DxMKuhu8lCpvgvwyx2AMgkNRZDzVJX2vkTkywfBfdrtfYie7YPi2bs9IU83OE4QGDT7XGdkS8kBaR8Ie/A+wDvgBYI5+LwxsGsoDLZHUCGHA1VI4U5x2kgu7u4CLIDRmVsgUpNDvzFNBsRCtrM9IWhQeYoQ+oK/991XnUwxJqyWpMYNGNVwG/jxlQAjsiwJ/VWe6fHRCoRKy68DzFQBcJ4BIJrZUHYPdEdRIacDfVjnfNNFwLp3cVloL0wqWEqZK47/55pFosUnIMeikKT9BmDORrDuQvyIiG2fJsnjUExVvmDTm49DhQS0RX2jmxtXEY87nIdNGZvUcn8+sgCSbSIXXyPKoTXbCEa3+zlPm7X0TDWGSBJpmUZ9e6Wiu8cBAtRGLa1l9eZL4LFmLm6JzNd90KpQPc8Vpq2RetccYOwujZ2VWO0pOsGJaJ/qaXVqfb6Qenypoe4Yxeo5Gx+JgTA+YWyvSpxkXnSzQiKvdwnbfGDWMYiUqbWMZ2oE0XVuoeGAUiGTL3emV9i2gNjLmNJR3TcdK8iU7Xb6t2jSTDiEfkvK9T721RJUISG56ztPm04hPy+P/SIMX2TOzbpuKDYaa8pfHgn6acJTaqTtomVvPGyuzTLbIBIrfVp+lUIF6LWbWkpLpiPwUzEVNmdmjQ/kTBotkcS6qcLYCYsKanyn20PZzQlsOe3S/GSoAvXdOJN3Tdg04bfzrZMOfYfsZGcL7zW4in2MtC3YELOSafPxOzrwLfhUraA+wjos/xuwXzz1s/P0vRCV9siJZ40qbPQPZOO2f5WV/588KoftL41LJ34MeKtrsPvtkfmihEzzfKbtwE2/tpeGZt71ZUzgGraAPMKgU8Xbw3UDKSAYyXfX+Q0lDGqsUjIdN0HbfCk2zJOMJVCKhl62zVz60ltzjG1Uq2K6Ce6ar6ojfnL3m38jpGooJtdwxoJQsCmi68EyqooYBts2LSZKkqN00zFI/XPZoovDlz1o9G5nKURfUbdB67+ud3uXSwmTEDyf3vqYP0vLeUm/wfu5ACmyTeoMyEJbLrkcKCykQSgZN06hadaCz8hOY6eoWY4s7LTIvhWlvXmKkqPOfXG04lfNv4T4JTFR6qVb0p41iySZqheiAZlf7mQVRfpBqLCqtO7pJ0e5xpoHDYBKEK3Tuap4MCvkRyHT9fQHVnZcQ7sgh+vHewQYa9942n1p7uu4dPK+PAPn+YJjOkS5yldCIaJ5Fg0gaYnyC+4fGMWS5y93zGiA7h85J4qLn2k7DiyjxlOCswyzKdnc8Vz+zs+u3UnkWqMj1C5vy7i2TNIib5yPhxuH85WE0JtX1hYdvqm26lxzgFncvJqjcRhX6Q7+8LB0Fccqy+F/73BigNGg85o+0uqLS/yNdYwaEfx5uiBUAEG0KHlSgbB3ZvOpYM+I1NGoqyG1KUD/qD/HQA9XOdJtA1SLBKSvCX2RKzRl6vPXslvJlXVFmzXEsxCNOyB4mVWdX8sE/H/DMAsn8HCfZnb1u0LuN9gOPWZz7uLthCcWDZtW6a1w1QQ/JIYIYY9+HsNP4uIBvRouRRHR5LUnclU2uc1MNgzVPtUzkgf7IffEuChOleibYBikxFajtAWTzT6M/bMUU4erPewY3qcIYlKxmWqrmg84vocZOpIbDgt3dEbDPrfZrm4xW+3VHeLaDuH2lvb1m7JD3+FZYAvgsLv1AMsAQbQw3JcjCWre1KZTMDrvJGSe7DfG/Q8h7R2QwYyK4kjshvDl7VmD0UUIfSggPcqVq/qjaYini99Twe/sjPLdnXKj7yLNacofhRvtRZQEDp1VlKJ2lGHTHpoMtA5QOdcNuCbDi+gXO+BGz04nJLNKOLFnKobHc94vHtVeHAHhOH+qK4rzkQzeyMK4WxoghA80eL0cTgdEjG5uj+Wjfq/2hCrPPCCgputanwMG+SpAJJCGCFGIDp0pbKZ16NncFr3hDIP98IB+Bmen36zHKVjsk84JaeHImm87ZfS4hmzd6BQAkPUV9eWSqYPsaqTjIQv/vTbUK/qiia2y+owujRYN6DSggwCAWRAK+UijESDKZ327xax+6U2UZ6At3huxiXfjvFY521kudBDEdXczOSIkeN2QBieJuaqa0rHMoe4eSOTxNhKIahkFEe9rv43ERkoIwM5jcNGh6baW0Wr3LlQ+a3Vx2h9gah6K4F6IYn5K56Jd39ptfYUS+rAERT6sVxScgr7RAjenW5vHAZ/c5GBHOiNOVqGuycbWwR1VTAuv7nrLvpwMKXLGX9jD61gxZfJAc5teboSRbn/ABR6LBUVbeHNvTNe11ABfyORgSLoSzqGjPZPtbYIR8I6mPzW4p30gUBcu5X47y+Sw7b12UTvfzzN3dmiMnAQAV2Ri0tPZO0C/0w1OfpSJLDge7EpHnMSYDgWaFtCW3oD9/yTGWoTLJtrks3XhYaJFMi0zSn9KgkhtkvN0ZUckjG7yfJwn7XlJBAeeY4PHlTfoTdlSCkZa0OICDrwTVUAAFAD4MgQAEDgBM+r+ghgjYzaat9Dzh/wSg6dOSzLLXgXWEs1MhvYxHwPJeIeimz7d2pF/ascqhWJUH57iAmLsKFh3EixC0UhL39yZ+19+Rsi6LCL1TS8+cqnQA2lSW0VARqEdPa2z2CpkfU+aiu5lPLrHe+mVDS8Ykd8dCHPHgwjRZGGWIrcOhTNvPTGnYlH5B5xs9r6p1/Wg1E3qQ3wAw9Xhzh0a+kh4exq1Lc6igdNwv9EuOyPeTO2YaTMgxq2QLsDmF5TddCnUEtg1E7AM6uyzgZfjqkYhlBvzeTy+A5lzz4IAgpRel3+pEljkkt+i7nK0QjOcCGz8D8EDglEvWnbAFK0mzGZs0SKS1N+EBRyEQwjYmp5lSPGmdDnoB7UVT40HVpVpfaBkXBYQqnXVUcX6L1twU3ACSRkEv8nYEMFnUKfbQgpWUgXm6NgP6bXUF4SFEoxjNpJePqAGke8O2nMRwPQUzU2G9nQpveBkTBoiMvpid2mGUGf0VhhrwK6/wZBDPms4FNo9DsOwl3t+L2VQPdmkETcd9xic8s1E1RwgenGpjJpFxrCeguTgyPpV6vG+P3PHBaVTaJtkqwO4YIkaURlLxE9uVLvyCjIsQchLJrLOlMD9UBtohDdw12zUuNK6HQOcSFQug3TTc1l0g7oh12luwcz0GtLpLHtGhp9KcpvTvyww4E5Xz4DY4drDU3JObF6T6UkoqQ91V+HTCcKkd2OfUs0Py3a2TdBiGDT8boTDWK9FfuGMx+dXUhfuaiHLP3tIKdUUp4Js6Tuyhk8dnK13pmWl7AGUsEt6UgP1AHFp3g3f9G8Bo5r1QifE055bWYWZ8Wq/tGZ1+sTzljfov1U9flc0lWMhighFaMTxBjV5bdAaug0NkcN38cxtaiTs4fEJmg/xGnDalO4iRVkFQ77oMhB+DQQ7nHrEDpzPQG6V/DO5a1tBNYzGmIcsRiNse03Z1bSxTdIw6cxGKgPactF2RoMq9znmDRjPwGG8L/rwZr50cRsmoYI0G8qngh/LIOpNYNDNh3hE843hI38l/oMec3VV53j3Tr60/DcLdD1RJj6DF4Kf70B04WGxyiDrmUWmBMcvzbS/wFPNed4Is1YIFYjtx/uTtUoYX8skklLAhHjtSMW4Fhdjjuiw1BELPLYQ12hKrVclPxySUYn+rO1rZIR1ZjjpjCACA85l6VSnTwF9d2qRhT9aLFFBBCJxMpm2wDoSTYMGI3NGOD4coL8tGy//1lSniNpMWu8R+XRK9d7aUY5MyMQABCQdbaxvhyFo/Ul3cEhbZOi17J2qtwDzxKjqohG5eL8XRA9dF0JTS9jpPt9ABZhX95krYSuhK18MDqha1MO1sU7FfvNbxNzzAmjXsE+VhK9fL2HZpAzMgJ+ASQ5ft/T7T0Q+6XebmfQCu4Xq9NI4Nt3dnEPrzSGm9Ukmw3rLeCyulw4ycTFGTHC2yyUIVBaU3j5dM8qwmMfGDYBWw4YXBWk2+IXcArmZJKS5OJop0SfMQrXlVCgp47L63JCkoYNqCKEq5lohUNaQ3T4dPcI0mXdMF0H7DwQ/bbeytEYBW8HlKkkhUHC03YLfmO4TVvGh3UVasIgnIGL0GakGyxDYlM4QB+i3wJGj5mt1/hD70rTaXnX7zJFefJXR14MqONMCoM95lHME8WnbvkeaWebL+s5wPadotjx+6ZiDQmUwiSeMBCeuwq6PYK836N3EUBilwWcdkQWUVBZ/ozGKDoh4hEvd7DjOyms86TAc93Zc47t3UuTltw0FVOnc5QjBErvlAXYeSDmHb09RWXk/cuvTFUEuEQAnBnWpUohLKSaUgQ9H+Nlq0THM0n6l7I4titG7Wf79lCkhWdMxZjiKflxgqh31Bz4ePXkf3K+JGskZRz2lpY1v01l854hwLLOExUBbVqebNiJRqG/ZnjB6QNpPYHvD3PrqM/5gRIP1UyhvM5BsRY3YSIV5TdENuNXpqhf2z5u22lKTP1FjLRzrXAMpRTVqNN0hQARCyyPOjZhEPXW9C00+EBad+C7a+3bMOR8ScopfQLEGaDDBFtLb/B6uVe16IPq8fqdonPy+cwc+5ywh++uUaXpcwECwrg87tgBI6ivZnDBYdXhHOE2YcD1npJQKiEjJtQW/hRgsj4V/Fe3jVt3KjhH01zKuUo4hHhf+UDEedZTlP1wq4OZPBxZxaGwfI5x3RmYlJGbQaLi4tfEW4Mjya5Bc6IjpOZ9mvlONuebu7ar6aSXxSe4b0qMj/v21pvAo9CKdyV3laWAyBP1u23ky2NOZtxwuEGqIxrsyOtuz4YehQos6ote+f5G8WCsUK/xdyV0PHnX3pQLnF1/mzLdx+KTVM825q79+4y5lBUYgK/rGMDygcgzrbtJyqU2JzNxOLpGsMLr7Mjjbu+GjFwGFg2LPI7cFhyKVxqM0Y6IlgetIaoS/9RdU7qma9l4quqBxJyebxasg4xCgADnbDVjDcCUykRz2j8/ZBkPxlq1T6BmBNY/BJeFcQTkXSb6GLrlYQVZTQn1pwW5oqc+lN6nXHqfRLraWpdEHwi+QnYDoQLeC+ticFwM8m/POW96MwhPySduolmY6AXv1yp7yGz57Npep+FkuM6ZxJMCmM3b01JJWwD/ZaJ/QEgPXXxD+AwaTghzev/XfjTzvLePSpFQXQJ9OPK6rev2KXBg0GPffke70YwDlnp0TRcyVqOkQ38yGucRrt38PVShcmHjQJNNW6bK5QaTYLHwUGetaAVyLhN+7ILqsOFzuk40lBQE8z/bennmkWeRrR0KvUp2v/eeAto+9IpYNHI86vElTchAOYSCK/kZeYi0WOWJVa5ibl1/o2FnOOuKE0kECuTva+/K1sWiW83oGWuLn1v96Z3IyKZmXIxkhWBeC4SfBEjZHAuZWhszHbe49wEtm0o5Geao+bmHuQ2cO5vhp9FOO/XLDqfzEfkzco/r4KIC0sLGDtWHMzfscPmE6+Q+Ywzk3iElyn1277PLhARMcvPcH87BZeWZwA9LExZ6LeAw7K5MwDCN89mrQmrL0P1ceY6bvF/o48pukMVW5GEnVzYKwWFqSkO68xWDckrIRgkVX025ItfuFZtI9BctwXKnEB0k4Czen8kgwyo+yReF+LKhgyztBEHsErq4nAsKWKocel9jBxa0CeOMaLPir2xfRi8XSoi+r+iPrt0is3k09MeaF4UzqJQ2LHCipyYFQzTea6+IifmhSzjqajf5HN9jL+KMRK48aDs17MODVnaSJh+WA4OqSnA1LCWUUjD55gYIqjj53NYzsk6lZRIAOltY0WyqROGgobazMNLg6qvlwGQ00DKr8Jo3vQlTV1SU2qT2gKgWAobaZT11bkFnU8Oxq6gRtWunDTsO8DzBxQ5LA/RFTc1d1YlGz+BAGcolQ10Lap/v689Rx5nqCqcyOU9XR4FD9etm2u7i3o7guSfMan+ajb4FMF3ZK1vN1ag7YqzvLI81uAZ682AmHmybV3o9978JyTlRUW6X4kN0tZBozK4YaSsLu1ocx/5Oj2hcu0nsPDAKSv/AWqozv3dBlC+vD6YAXV3/sHtR6c2iuwDmbtPfl54CFV3I7bzWJYgwGuhdPe0dJGuzaHQLhX7zgxduNwpPQrf7IjrclrXU67+B9PMeS44KiZdAz7IuTbMGdIiplDbQrjr3kCBdYvEnEO763mGaUthwuCDPqulaKqZAsnkm+sDixc5RksFrmxBA4gyWuYiEcoTxjxT0dtXXlFxSEoE4jevAVK6qvg2MQC+P1lWXHhHmyuqyTaQn2zfiXlB6gMpWAZyrydBRMw6KurOyZcC+5Ys8wySdmhhAuX//6kV3NAivxVzSSSY4mjNZtV8TtmtdhgIVcJzE3CC1l6MMe5data4cKU2dCXqMbt1bwVK5UZWLys+qExIIz8xDxoQPbJQhL2n9uvf9vr5OjsgmcpJK663lEQozTLv8iOq5yzG4hGVqns8VdyMef+yVQ7oG3hYQZi/M1xlsccm4erfX4NX9JRtOVPbcvMuz/rAr6Fe2ob0mAWNPZMy2h8K2fZ1sGYfEyihssR08BU1TapceS//HRShU5YdGfsAxKlJ+s4OlDfW2cyDU9M/W65xJSUOd32P06L6yqSBUvKD0apVFAsOzc5BB+3s4aU6lLOL572x9OBKHk5gpxQ3WsXkSI1S77IKsFy9FY3V/1/L8rk4XcP+V9w7qbZrNwEuKCliIo40lBu8yDl6V3S7mf3jlE89K7+QXj102k2jM1nyE1tXeYU/t2pGps8XjuS8jIICLM7kQvioS7Xu0buzWeiERH7j0uHc2FTAegwDQ44Bvf8rT7Slc09xYyu/Wv/0B5FCxnQM5mmh84Lyh90+mGOaHPvbMe8u/m/BqmTO6V2C7QdhvVa+ZljxVNJR673uwSWpm+Gh8DcvNzumziSQj9g7lJ7w554Nla29bwNfI+BtZOQFhYua3PcRpYUAFh3fn8C76Liz3TvWeJRciuWF/l+wxGz3Za79LEwKdjkf/D3+heoZIU+pzZA3Zgl4uPnQ6u84TsN6pWnz3viiD+Oc800FA2u2rlx5gNXMgk8s7c+cZ1mlY6X+qrcf7WVrY/f5d93Mar/jsHjCoFDz6f/BBNdNFHTtqsD05VZtQorqyj93qTSDNHeW1i/k6CX+R4ReBQ+zS/v3sFhZkcLl3rjrN2Avzv2btXH+apYYdbNwtdFnxq764R9MIFg6DB2aR5rhcGLH+skdkG9BIK2mWirmDOclVeFHyvPpSuD4TzSBlx8EEP+zAyrmiWrYvBRkaqKQCmFHUejAXMSXkoUHrvbPjbMMaaVXT9XptU17XIlGYMCs72i/gIwkksj/IhWcPwDBijniofQjCFRMkLIUM1OVgNt77y27Y/vI5YtugJqrRdL0CPp6CFwmixLl1pQU+n4Wmk7NlMMWPIBgxV5zLDaSRLfVkUg4LqMvkrax6dV6OFw/rdIjY1i/eq8t5OfACXmi5WT3CePxCktvZRA4T6RVpT9zyvxTHtNzSs4HjvaVxB7cexxpCaKU5SH0dBfuBYC1YLXN83ikSrcpNriKKDNeqR+QHlpMitjOhkBbldxI3zyawzlMC2/X3I3vZ3jUUeerFhBoGSLU7StbRARPrm0Z/uXy8mnJBdXKBIDTfoB5ZEPBgPMR1bCyuQvlEOopFv0fyLNvfRu1ne09T3MS/iB6fze6eFBC6ioRlwAxgt4JFu68Jpr9mcnYMjw6e6zJbZg8scWQKDa+uL5JkBKsc71lLR8uZB2zEwcMxtIbwSl5DQpd54PEYB50HpWaolxtctWPm9hI0ioRKZ0fjY1rgnLvMHljgJFQaXllbIM4MVjo20RIdLWefJ9kh8wm0FkdSZ/Va/p/2x1Mumh2T3JuPwbUjltYyGEGDpfOjyQk9cFEodQQWTQqDhmvI5zEzqv3vMZaekbMOkIQhQ3GMFv9Kpl6vTV//eLSTFgEFMmvn9XBm1NxWikbRYOncaGK8JBXKWZWylT/iaFeqXZMBX1Xgnp5XSq4p7+SVoN9NBB/OJk/PZu0QTEjlW+iyO15prc3DNwTJVyZQqvQxBRBqmvL7S12Jg+SzV6mvE7vN0ID61BM+PNzhj5bVFto9E47iXN5sq6hB+spmJpOLBleZK2GBdLkpTae0suyc/SRGmoOi51gkwPDaKAW6bgo6vEPviZ8VXL8w7M9cECBb7oV2ex30ov7yuenMstFd7k5ZIN1uSuQ5vSo37xBPluWh6Nk8lsgU2ikV7urj4C17lXWxs4L7F3T9ng0BBJZrZau1CoWhv2xmKr3EQHZSAplyUcL3cypy0gcYvDQXRc21bAgm2pMApucK8OQunSd2p6E/MfcbvYAPegoZ9ewRRYE/ygxM3Jvuk/qhiN7VBF6LoVzYaM6ZJvtnhWLgHBZCY05ooOv4kLhH+BKirG9j+eqea81TjPIgpe45F9kfw+TxEeh1vAZmzMvuC6N+dIgooV050FDbiYExVwuFOME7bLS7kxLwvQFApek4lBP35pHD+BZM+8+D6aW+VaE0uIonYDYCDXacaIu5zTjaznI3PaQiNYmXC2J1DwyGhXwC24XPwbDvcXDaLrsLY88VQQL+0UtrTF8phz+9nqhkv+piaTbh0mfZxU7MhbswbZJYSH+uVuR+yvi58waSSJsLlOZfJLf6wdD47DVq4JSFFfqIZhcOVl7t9VUKBLPS+LLymstD9hRd9n+z0Ir9p3ZYHIlE/66XZRNF/KoH5wHYTzVpidzhAKMTS9foAIimfCzExZ3XxNjsrKKxJuivp4mvtjOd/IQ5gDLJxGDzrbdYmSkwQcSx+qS4KNoPtdCHJfACTC4VYSffyXL3raCOl6gcPjA9uXnWCOzgdUInLHCksYvktph2UUTRvh9vWb44musyS5Mi/DkgLM89kx+UHhLwhzyeaUfDaHY7xrf7OtB4Z96O88JGau29QoiFtVWwL54CGUsznNxgh8VREUX7XWT34q7a7i4r/firkWF1F+vuIC4FNwHYS5b/8qPOUqgVwdk9GzTGU7z7uqhZFEwawK+wYf0w6K+IC1Iqs3vMamJbTAcUUTXv5/WuPDigr+iQJkX5UjR3lAv2fKh2DWnRj8JVkbgC/Vpgr968MnIKs5ewzqlHq0dzC+ITzVj6JK9MBchNyWThXb44obgzP2F2FK8YhMphc2F7oFtjj9/yzDx6rNkU4mt8JzkGg9jghlkdFqlu6uhupscF0m8frHKr9OGvQTssLEquGcbSFvrdYAAcSmbL3hChy9F7rnHS0li+eggqhy2Fnf4+TUP84WceYke1nIQwINaoGRjBhk6YtYvB7u6OWguiBOnBoqQxhwlAC5pfEDM2XMQVPglCIxuT6eInfTnE/D3ZE2Zn6cpBsBKqDn9N/pZn1zNjHlaM7xW6qAkYwgY3z5poEFcbqBmTf6t13Wpj+Bewk5CqJQiwwTyMEc1C3amPHVAXkUccVv/gmR+mZ2eOOxbkIpIpM3gAwcKALkJqSnEhPiJK+IoXUnteN0JNhI8ua1/zzE1TvxFxi8CnyVKqDpTm8AygG5HqSTTYDNN4KBLwuU99bIXa8CA5HvunoD83zRNxSQzqIzOeRnAVMG3AWLGxvokHfVjjwr9ywstf85w6clvW+25OG5GbMRE1Dg2iGhN1Pq57UITyI5EYPT2Hu63x1BxyiLUnBwJsj/8+K2HK+myMmLoWAfgycvTX3j2ndR+Nek+iNQAMmHrweTCAf1pnAwuhjusam5t5Oh9gKmnWCD41KQ04WaNCDyDHrmBq+GahbvO/7VAXmUesx8YxrVjw3XEJrTOTzGUczHWC4gL3CzhFSHM4EgQinEwiDMirL8cnhYXUno+MUB3hp8vaO4J+0tJuRNwxH+u2qYH7ElzzYt7v0QEDx2cAM3zchYrFiUZ07ZH8G0Kd5Wn7InLIdfVXXr9pGTfi7liQPV/57uXRd3wxFJjHuFjrQUTtWAQw0iYTSqGAFS3AmE0v0J/wESIonDQHYcHiUoq+dkjfMh29bQLoXyI+N6vhilAu2ClHKBKLDvSgUhGFDKiRCOrBzCJT26dZp8pO8WCWSLS+6E+SdD0zsYSEWcaeoNfNqDmeRYxPZ5lkElcO9KAyoRQCGJEUDBMGoWHkR7JD5qB5cAsWn1L0jUN6lumYNxMZ50I+N6vmxjpt4Rw2YFaIWHkgVPzVTTlapBeyuBrrL1jmrSEVkbXqVKvlm9dAe2yaUF0c6lEuVXcNNKBcKeicJxrupUb6BVt0pnxmZb/DXitPw0SM4PnfiBYfARPJk95Tev16RPjW0gZ3d+qYcva+Q8BIUhVuiEE9yuXq7gE7Ck6Dj3iUFjGJe2cFG3SqYm7tYJNjkrwZpqtJQX3HYSg6nCunsAMhETJ+ewt3+Xb1pacPg1E2dRgTd79M3d3gRcNpxiZLKxNSuK9fsEmny2cX+50NndIclowT/eR0i5eAyeDKPih9ASMickXz51tuzbrw2YPAw/gHLCoPClLdSmSl3EfR+F9JrTK3u6CNCyf39N9RgTcI51qIylwHV7Sz9wFqryj9JSYGnUmk3gXcVELQYW4Hk9aR4SfbogqIl4DUOvDhKjbyn3uIiMbc0NEdmQMhYacCISocCaSuyNa0YeSg1ciYgqbzEBjIk4iZKFJv/2PLmWZgNSCyXz1cVQ9nNImNgsiFzgRQ1Ur5yuG7VX4Pa6t2Fj1CZIAJPayhBCLiXyxGcjjKbgizhhVk5fiDC5K0Dv/ECObU6FFROtxy1f5QN3uuEY3IFaOjF6au+WD9I9aunB3Yy9s6HJ0+BCFoTw2SAjHxbzuC1wkxQKMv5fhZQX9sVJx4yaVIqmt0yCAdaLl9fYoLZVwGxdDwSVP1/emcvh2LwB7OVu0spwlYHe2/SU0JRCSvWUi0CDknhJ2HZo4/PCZJvYTL+eiRITo8fGx/CkxpXOvbzMjIqdSp99fFazvngYmUWish3WgF8egA47OYlYwEoUZbnijgIVzwEEyj1DPcIXCYANgESsYL2CC4m+y2ZXD8QTCZUpe7jeCchSIzvkUskw0J1dhSRAr3QsIDcKSmvJnzo3S5buQNsqT7D82lXOuWzA4/pU7pxHAv/t0z1w33gFMcfEkYOWw38unGe3wiFIc2z+c72HWNdOcO6aWamszuI60ghnF0mkpJh18WHEZEGKcdtTzTv5cVmFYZqY40YSQkNnnIMduvAQTqL7fbhHKeTLdJbm3fB21psiZ3JGxQ5Gxy+7ldaSd+SckPCvVo9Tnhru49dO+NmcPud4t1ZRhueGdkf73MmpJk1r/lr8q6zM77yPxXVcrlZAYj5hcWc1tLYE92FTyOly88qTQpyTus8qAfR6mU1FL01V/ylnIKR80W++cNcnG3l0AlkolTeRpiO3cmb/xEyr8AgcCr996tNiqJY3nyQG6XmaKRYc6/xZ36Xdab2UtosGSlx3MJVhKFuIWnhbXk9RVMn0J+AODxvHzfXUqTmrjDKgvkmbJ9/l/cGU7lrNlp//Nesac7V1KwtOZgNef15E+eRH4ORMOW427bQad9TOLulbBu8qB9iM4qovGWerfZsZf9Bt+EDY8PAjwY727jMtqdpJW4RGhXwAq1W1jCJiTJWl09PejaKXyCr8eGlw8DIdBT18RGrjhpFzz6LwWrkvuFOSYlm+cb6p0hxx7uK2wjPjI9CMzImmc3EJ7fcnMYQTGMLNImZE3SLYVOXF+ox5s4tZ56vCXFEt1wN4/bqUwTw9eqvRQr0MZRU7rUS8lMvw4hY7/VTQaqSiapiDS9Z3A8VGpK+0Qitwf7/nYhky/HkRSOJCwcfACO/z+JFPqqpcG678EYg4U3lFMIl7GXchVkY5FYTyMUlqbOGmVxp+1RU3keD+b9hb/Uov7FObxVvdrNXyHVtyZ5eLoKI7VSNoevYNTGgKJ10PQsT0EylYgUWsI9dXZbzJ93JLxCkYZPHnM7cOdRKCBPtod3yfMI9Z0ZKfRWi8NZAKxVCpRAF1nHbMPG4pQJE4tAkQ7Jvg+ybajtO3edPZjyG2I2EoV69sd8r/3/JPWzN091VrThxlpejz9XHKoe99NjJwL0JWAUamUMwobilEkTi0QRD8u+jzJ9tBNYb2UKg2m/JeIgUSjY249b03fbcH96S9T/ChLSIRB5A7nycN3kUqHhyik1Eq83hyMJyoSBs0QPmcnVyvdrskWAOQhp+NvirvynbfR/PQXqu4gNWQV4j5/ScO2E3R43EcHPBd2kld6BjZq4BJkJAlcUC61AbXZ9564bH5DjNwdTeX5f3mv7K0UuPvXBLDw2c7/LUWOQ2LYrBt7O9r1U2eHTVSitLx1tOjneuinGhyB+LehB6+mDsREdmyXzduCK4vmDM0hNrXuKEGKzvvz5cUv6rqKX3QC/l8dFLXY6agwi23jJjJSuKxHbuhmN5Wk9nsLLc86wVQx8EMWvBSNxK30INmpgU1TWh/hY9vwXYI7mvlSbtYdSflPEQaCZT/8o6cx7xkZNPf/TtXZs5gGnrbTl1lGLpW9RzIAtKDRfZcC5I4lDZYsZgmVYA67S+oxUVt6FTeDzym1ibwFqE4lBzBd3YJ0wSkZiRDoTw8WhGf+CG7S5Il0v78dm8WnlRqEr4zJpGjEormElmCJT5STxYVGuE+TaC4HrtLEilVX2xAD4rHyL2HPSPzNpOjHPsQnLMGGLlZHYtRyX6zNTlyf66Up+cH3vwMaL/pfYrG3RwN8bVv62J6/8xq8Tuxd95CApsbb4ka6EKdDmq+gs8Rr/qsu99iB52V01Rm+jTGbS4VNmvhn1bvYuuZqlB4j7lICNegPBAKcoemtRDR3x0PHs0t9v5VacvEa4YkuAGmWkjpYI0pM0+Vv9FX1dvNa/JMFrLqJMnVtldBfWSyyPjFr5dsz3O/8hVzITCKR9StDFPIWpgF0Q/i8mbUNigcfr5//1bF75jTebF/fpKWFKYmsJIV2GGQ103rfGv+z2rL6EsvRwh9FTJBObDXjj9W96P17zlFzNSiCi71cCDvpJDPTiMj4qrIhwNRPTSAXfpFgU6y6XTZccU8pmIv60sX3DwZTWmmViOUX2/28+go7khcV5bf3t2OCFI3zuK8Srtus5scqgLWeL2ivvxnNXMZ3zwDi7LATtdomw2Rx0AAJzFBNU3Oox65Jigmykr1M3vGmj1V87jp0qJ3v+cTpR+s9IJtrIchPWfWQYxXW2YOYEHSde6SVDlF9IfPFj6jwmvQ4YjUq5aJ8swlVMTBACcxULXN7hrtclRxeyyeFu/eymPanNtXPohUqy75MLAYSIF5bgstVasb4Lhivc54uWb9NxYpUBMkWG7PmvlPQSprgRCI4YX9aEusD/hQKrrf1U6D6A9gz2L2oXFBDcDgVXwFDT8w4x3Zox3XbGrRXkQnxLb/y4cOKtr/QcaRD1eQmhr5msykvmhoSBv5gtnjyxudVVnkH9+AS1cuOZ1WCUCJA6MjLm2S4nhAUYxLIOJi4UTD7J6eHSXNSXg/c8cxtLWa+atUnMcoN9dOdYS4dqEPRiM9T2s2tng7BaIOFaM2YSl7r1gty27P7EKcHE038g2Q8X0gT/v+laVZPAS+Hwt0w1TO5pbO3I8KNefIrauG/vahAmBojkFbtrHeBgdaZldWRwAix49LndoTlDtMBr/nyfUCZzuHJ4CBtxKsFwhMKfc4jYF7EFPe3m5yFGsFvyVGfwYhBNKHfndsFtmOgLL4+NTYI5jzGvO7RgjKz8/y6xVO5w57AgPoqCejRTAOnnP0mcTVizPXDry7mQYk/J01zBS0CUTXEyrwwyjfr6wiujwxNQwTLkdYXmjdECn/XVfRj9Qj0oUInQzb0muFFbjrfD/AI4Bkh1hi4GM0nTKSBTwuPTD86rqn6wiqmk6qttQQgytAB11vA/1HhfUWGIpDA3Bi2mqOz2YKfekmbxr3J+J0GMHiRlDMDkRF226jUtkxR2bUHg+tx+G/WGA8wGkfm5MOpy+TFDqfBXLg2HVtWMoCMOFARDg9GbDP9XL9MsCA5RFea6IBI263M6Q92GektnEz/XS8T/XEbLoAg1gF2+8LxSo+QuOZ9EWcRW7q0gmIUjNxu1xsIH4qT02PFUXTVZDIaucvCWij4yuHpx9hBZbm4IIFmX0xGoGupSTf4Rzu8kCrWDktEBvYi+bNXLSm4Yd8pmGoYvAGHedIIx63U/RXFst2lmCK6bXW+AB1ecBDvYBAX34SGlWgLAgXNkl8iAPi4fWwGowG2xHWCf8Hnnuah/3MHzpIKJZ2KuJtdrZtsnQtYrv6OzgBsYETjJHaKR01dEnxZz0uoJ1wpI+tAxgojF/PuXcCxC6H4Ka7mmt/+jcAVSd91se216JTBmSvdl1M0eYQlTDvLBEs/xE5ft+uigAIne5gTZOR6k/xzZZZSI6kOPrwTd4JbQYhIft3L3CuQ7RzfxyuN4d+IOGfmbv/+36Hog9p/WzZhuYEBcKmegTE5fIbwkx6SUfLB0FUp+V+jiSXH895foFEF1NUl2/i4e/121ALoYWYBqrEEAFZnd6fMsg9GAKbfRm1AraNcfZbfuGQubgZHGxQXPG1iOpdXTFG43a5O1+XyGdu40HYdaQJwtuQWGp0C/YAzUu2JKOf3GWmph2zZsFPXXT0y3PfVdsL6mPUGbUcusaR49tuJc2iRIQzLbPO4FMOQ35dS742oF7cZRzNKuPbBJNNQ4O+t6+Y94U6PLGWw2qEbk8ejauVN0FFkM1Gx2p9+9Csad5vwmX1yjoF5/hdu4ZxhQd90NPPPl95bxUftYmbUYf2JpbbOdO4XfeRelRN6NcAvzPVda2xqj7aXfnzSGApJEzzZfxxpMy+bixnBcJ6feeJVdv2sH0PyzFaFu+b11cqShL1vfSdw59G1hCdh7DhmNVGyLSqHqunKmsd0Z7SiD5obQQIY9u93nWgMTIXNhYyCuVVCuv8Jt2L0JNLz5q2D6vmydGLEPV1oL8Sfmfo83loCyqyjAFOMSXmjrb6GQu0aOz8wsDJYpgjI0rn7uXPnolKTJM8BbHi/PKHF//90RPXvvU8Zp4iHmMNBMv0WUy1vtkx91TB7vMilw70gkdpPrKfX69eINYGwsEJTRB1zvMStqTnuaYQWSy4X74KkQBA4kCwIFIHZ/ruVDP9hAgBrlqN19Sj7XpKjVwQcf66lVf/CvPxyxs/c+4pzqPJCDwVF60mAEOzV31y1IoAXjj5apzFYdDQkHHKcDk3KJa3eW15Z/rjV9GNobbslf5vAW3cERppVavCGGH+rBXRtOnxZ9caZ+dT1aNhUCAzHeTIW65+/haNC+x3ESMMk19eYMu6ngXH1mN6QaaPHP1bus0giohWrJJfslqx2YznHuG/HUSk151xu049IHgZbu+Jk7HQ7x+8RTWzhHpDMz3Nb8w+b0AWh3uCVnzu4xdDlADHRtJF4nYftW/3Q1ktplpWJ0fSor1joFjGFUj0NOeEwSQsaQcaQb8XGcR76gXIt6sD7bo9gVcBygfgQ7GcVWV5rUHhBCxpAxtEhxHnpCcjMMYzXmXvpS2zjkfQK7GeVRt4ztNhTgdXQFqbq4D71BuR71Y73UQ7YrsHGE9wlUcfLM+9WCwdXO24ikU0ENv0OHUtCBBur0NzUxBJtASe0aXXEj0vjjGEnIJklV9onx17tLz88phjNZY//F8cvYml09+OmJV7tKzs+CWEmryQMXucztleQhpaCSE8h4L8KP8SShYr8tVwQ4dSEEHnX7W3icFD40NI4FNVRRY27cjClSNWhaSmxAhGEAzHQJHCjsMvCUzlplvEa6AS3Go4RLfWTeC2jdXHj3Kl+EJ0zh8ZEVlwYZJxhLNmHKbB9hWqa+sY6+D0p28Z1I3BbwmNZ+dreDsR5A78YyQiV+W74AsCh6eM8qfwuPq8SLUV0uEyqrMJds+l8u3YMZl+HrEGkAXpiaIjiR2H4ppgnJkeKCqsuvq89epp6zmMs5V6adewIxUqlKPABmcLaAycIq5fdyKfFf0guHSxvXuwataBQI2IGlam5C5SgdmwErUWfDSHm8oTFKH42LIEI6gOUEl9qQSRCgkSNdrkWSyu0fUicejKw2bRmTlnow3NO3F3MER8p9WnCTymUgwIXEUomGiVrnBJQPO6qHsuP1TRHaYBlI5+2MhF4/mkIKLORxsLoITmTBiCl6PFxu2FyRxjGIcevKEWzR34V/gLdoSshwIZFUsnmsp3MKKsnO+uHCuL0xmtXzVcUAjpXUm4+kQEAHZ52syQQvrHtYF3sotNK0uV+a60ZxTx0bwRZuLvGp5XLi/HRDmr76bWsC6ZQr54UdE8SzRkpvea30ZTRpWngCQWb8KNfehLUiJWgJN20ZzSxzs4BrDxZy0rwEaLud79UbglnTS+JZuDMv5wa+oZedbwl1Bov3IFndbGWjQrof3n7GsNNbgcG38X0Gia2c7z8h7NhveDfM3Po61hLpQ3kFV1mDSsiVcKslGw5Udzffq9YtYTJh7WGf+hhhel/MC+cubLkDqD/G9+n+l+F99otPUbr3pdzr8oJRW1KIzWltSGi2gL87JiZMQUvEi/dewgLOuKlkCcLRyS45l5FW6VAffvH7VaVk5CotEq2ylXKy21NNqhM8duHLFiU7aJilvUc+gTOMZK6GVfCDLw4pI4E7lMg3sj2V2ZVrlK9GkCPebtHyfeYp2ndkeyNoD+3GT/3nQ2bkSjXyH9mXk9mZaVTu4qGNX5rUfL9xhvae8hg4xFZbLAANjlXE/WdJ1vm3HC67T7zNL3FiVd36mvODtX4AtuKmtWqjVzX+oOUC4kvdkt7auiYH9ljlZq8cjRgi0f65VFJuMSbPSagT/e7zYU0YZ+w197mp8XIgMkE4KZW5PHUtklcIOl+pVyzOni01cMBVafHQ2JBlmXb+TMm6ZUclWd7nvCqg8GK1PYYe13clQSI/jNSjFDmMlmLMYw86Xs7ajPaOdSUAImaWxhz2MMtWvyjxZo4kXTFtrtdoeDYtBYz/ssYfauo2OizukgHGmle3glfuQB1K5LvK3/n+l0DNR/CHW12SdHpiOkvzkjxQu6E7O2OpV2u8jnOFAkR4sjoQau42Oe2uqgUmm3d32a85wL08le/KkD3fI0NZ6ggAcKpL4w5nRGNpXJL6MhuNx6ctdRqVT6cmg/FfCmoqu9VdyQHjzZtb4at2o48kClxV73//S7BGFZT5up6KKnUg/Zv31parXs1b44A/qniji+f5/EnwXdYfFVPO373hZ4gVFpfiF9562aEOZ8ioL68s14cEo3fGpHMGSGsWO5UL+auuXay9QNZvcBcavluyg2kM7Po78OST0LuGIyq+grvuBWUrSQyNtc8J3BqHNVHnfvr4lRX6MG/0zhi1DpHJM/XXtZMhf9UDh67Yr5z0cxca/h2KwvW2nP0MvvkkSGE9ttx+92nSWpwUFpvqEz497uACdtzjV5f353RQF3tnL+EH14wuuVExZPkQvhMKxrcVnXwdIKB1Q0qLWsh6FNTqTw/2cIxpCOmPOBIWjyl1RF/MALvII+Vm0gc4Wh9PIno8VFgg8dEC4a4DufiyK/sXjhLDYnJnr2NExApVtIwZxixR4cPHsWm0FwA81D+stKj4jEmllX1wTg/bWCpy/xW6vbR1FaGHHYjXZBJS3bVlIW+OZacYNGKn+uNKMvvYc6xEyEgxjYyN5TAiVq1l+p05Os0ZMgxZUnYAM0HMYv0IQEb9lveWSdGplT8T2/5FHHBZVpcFP3QhYY+GGKitjfO0z55DRmm1H1baMlfuwXAIBXfqDzzVyydi1npGyFGkcnbFsvmJcXzG+QgQt+difjNEKKYezIEm8AVsEhYQfpYpJXIFsBgrnWLCzWPnOcZamoi3C4swgvNZIiMCFwE2kYdMDZeIVBM4mTmb28HPlD8YINId6JAEpsgYj7usGgA5GVChxNpXiIIfboXmPm8NAYjbc4mgBIKmqm/8tIbeRx0gZzG5usUs8vixGBObYIPDq2c5xjqaRDQ7p9EgGTelWrQ+BjDY2cjowOUJ2nUnNbmLyjQEXx+kMuXdAhhi8oZK88FXBuSqppwenPlWSGDmP7iG79qxbIJQ2oxD2agJYp6YwIqoQNViEbodXESYTrIhJUSwigswRLSwRXo0CgALz0UmhgSOO+ke0oVorKGJKJGpQPucYJxKCTx9mPf+BJCtgsFVAKL+RUin+y/cjQeyy0dPMbfugjl842Zg6donHiSI0tHA94MDLVs7la4PZhRX22BrfWUa9LfM7tH8KoqH6NvEVv2kDwnbohMWx/5FNm3mCiBoHz1V1ToHI9jkDfdmVH3yjmiaVcRPt7c3LK/wfV+sdljmnPUFcZNpdnfqXz3tvDa2VT9hlYFzw3UN+3eyGLOyQE5s9FR96wZM40s3fbpk9RPv8KZVA34c7G1c39z5fYkKtw0015flID0t43uy/nCFJ7cLrLrJdj0sPGbDnaTPHARs70jkXVfEl9uB8T2F50KqpDn0UqQ3lxuX/mBBTCuiWYwfvCfbehslOWk6owITGngslSduSQDmUGCQqLA1+C1Ei6/d26ntf1fvvFloLJmjYFcrPgv5JAU+gLKdrJvoRQ5igOdBRZJSnWwVJ3dirI0BizC1zVfV1vgmUdhmAHlzv3fRwHu8rbdRLN9CL3URnXgsrFOZBhgC30cRFVZCIkS+Dv9h1YqnbIY1lJW6qwZnsfklYc1eWPKT0vZwWUTi0jZ64jKzLS3AKY6RlkbtMhmkChYdH5opEFRUGCnlnGy2G6ksYzFAYTMzQfVOLK9Qc4RUR6xZBz3iSSictrxrKL/YjVdEsPmI8y2oPt7tkYGh7Hx/MWd1E1lPYRtLADqbXRLS7MaKbkqWj1VEFS51kZWQW21ZRzo37PCnvjTVK/WwKiLEUSAovzBUzF09TDJKWYYSQE5ybmXYJR5QaEju9ctZZhvNvEfFq4UZjE0dbsO0+XgB26sQDbrpSNf1BNwUEI5xXlw4OisvBo0hwc8JtGmsC4nd7mpxngjKZNmWnkN0jAIF1/fgNYEQmMlXekUEYn09R/NQnXnPMLUwh7NMiA72cbPJDxHEJTKQaRS47nKuz38p9ETb1k+ZxqiIfmoN0yHVDs9DYhrso9KcHTdV5du6L5W1bxJ5Stiy8siqX8wF5AUl7oVGpTAjOsPmEvrcPC3H+t0bGZc7hm8ah0qCQPv5bAYfKRLZPGBmbvKmREDmE2PSAQu3rfKt3bfIW9Zy4TTFUGbNB8RcgkY7yBgpFfEG+ttdrsgsg+1RIbE/NqG2NS+vgjG9wd8g6OKD4yCMhqcHzsYBvMYxJs3ZeSMtK+ctsrb1Ak8Bk1QWXA6QiYC8boI5k6FxfsSrHG4DLK6WYeEzTwulvX3dEJT1tBR0iHr44BKkByaXjN2QALoai/lYPZZW+3pF1n8aQ3KB938QMMfeG0a7YBLhJPc7Gl1YrJMuctFlY78LJa+AuZTLMEWM98SdzIY723EhgQYK6WTqdc3bEm9Ti1z02KoZqERRbPsWbQYUB73/gzhVs/TDYbwbz2PC5DHORg+E1TFh1t279rtAjiUij7M+KmjhvpTjftt882VYKtgXo1CuaB7XSAzhQmiofD0Wk2CxqKScy/b3A7Ijvk+hM73wvWGsC6ZRXvJyR5OIwViYNBccWPtdKGkFzBk2yqRF3OdSIoDvbMN57DRQQCcD1zRvaVkboAZ0uncECSbnWkKi68Bfy4AZhCZUm4C65UvUXf1IME5FIWfB7T1YLoa+0XPOU2UZhLf4E5yweBp84P06fZ2Kl40v9jnsVfIEFk8QAp+fbfYRICVX+r+gq8YID26v2TxtqUMhM8+9CvowVbjhHLI8B1+9jQEqHkMAhoXOzKrb9l1JZOIqT2g6kql1wm06UzG3ONjomK+sxRNVpBCzoz4ewTxXdQcqeXuXtK4rdThk+q9Z0BRcHaZLQN3KpcquASsVBYz+0JUhcqawgX9iuhkRqPg3geP0/FI165t0snxyccDZME5ejSWSxOCvpDSLI/9fKN2GiFxabPN0pA7xUey/XwMzQnmfNLZ/Yq/7qtHmWRVvc15Sq7n2kTQFGvmj6ubdlg7vkmZtZZonLG4d2dnS12qdYs/VvshLKv/0FahZCljozr8ii692dV42NDhCZeQkTSZ1+waiHoJGojJenRyd7ao6VEVJDs/X1LUx1ttaN9aerHnXQ8D+iUtQkxQwx5P/KeY4c5LripHmKQV7UTpHr6YvJOohbNBP1Q+cGF3bU2vSlqW4gryWgR1Nfa31E+2Z2hd5QhWYugw1QwEJNu9MQ1tQn4hIyE53bS/dW+VBPvFvEY1V91Q6s9qxXqcBIWi0NEodliHvOmMLEJdZ0gAPiYZEM9kpdR+iejtE4NDbvM4371A4VGuhilOHzPVeKI4v1F1aFwHiMDfpOoL6qMtSX2Zi6hDNW+1BPv4OEBq2HWqHajPUBfVM5ZGxJLZUd3l9HACInHGSU96Rt14fFUmdnctQP0wFPT7ta9oeAIwJv8GQFeV+W2dY82VJfa1ywUqkT7D+r8E3Uh6vRUM7ipf6IyaJq3sJ6kFTPo/HQCASGnHQGtLrKsSWn8cZVpcZyJwWXepNFB1nfXYY/EfKfXJIMbRgtb7VJHR0L6H6YNrv9up+M3Yfysr3G/U1Ivev8wzPRC2UtSg2byXyT7C+b3iO/zlulVUE7q+VdSASNT0sgJ7fhO2rJEsdPStQHxrplGr/o9kCwJjwGY3VQudvazmXJaS+LmQBgcLLcG0WHnbTOaVncx9U0dmF1qM9bj2SbezqI6wNFSKBq28R6oFRL+xIQfggRs8LGnQlIr2igpnTC4bmXhszi9g0bZOUnT2cQcdJGqvI88paqWyn0mfDq09BzVaIBc7eZagXRvywR/+b4fIR5/jlIuv/5xrWQvXhdXFsOQJGDLSxVfZat0JUuvtbQKWEBTVPmc166krQbdHLUcRYIx2vx771Lvcas7uPptZdKtZ+qXZeRJIzN55XefapcwESJejMfVJv1pJHQQ+XXQ6BMWpBohn+w5w1TfkDF6Y37ReqURj859ryTH6moPbve97nUihhfc1TRsdjHx42MJZ6boIR+5dn3mMK9pxIa7hEpGHxOEZmsjsvmV992/rX186moXZlRYxP6DeqqbuGBLyelX6MVN1q0SNajQznpWyzWDtbe4LqLd5dp7ciqq8O+MYg5vQ7pkcZ7qj47dpWfAx7hQRv9aaBdkVFjIsvy6m39qDVL9zHpwW9tt1hYWVZGM0LTY50dMB9asMRY/V1raqZH7y+cYxw5muD1Ya5qn54ooWMwFcM8EZqGmxXlse5hJpaZJ9e0Ml7DjjwCk2rTcjIMOual4rNbOts7w1qd1urL2hlTH3Y7xvDcKc/yjFDwp2Vf2zqhYvCD2jwhEmlWZx5IaXtO3OiXyUwuXWkcn7gF4tv8CJefak/Zk2xamE3LI1fQZOL3d0/fZ4L8CUE8n8vrNQirty91Gw4sI0tl265VDSvVe0pbzk0ctj8GXiN5GbonQlHzNi8CVsp5XECASe1RKxJQ4G+698l1yVsGUbd95mrZYEpZ+ZJnej3S8L8RAzp53NbjIArdVdWRHMhw+979wHxrFnWp/yFcP8dIe3gGZ5KNzkyjoS261LseJTHMTkbyeVCn63kH7iQny3xxa1pFi2whjtyBVUulLp++LQxwE/AkX69sNwIOzP3UDNh3z6GL/7iJeJleqfR7SuHBq9WdILzjPfN9R5e/2nuZPbt2+8wR18QmHo0OVH9TRf78dDEUzowC7jwezDKiMBBRVPHJevC3e/IVy2kPijnY9PnUkZf0lJn/J5BqU8vv79lJLE7dOVDjYd5/T/EGy96Z3Jbes9KHai3kfvhEd7Th7lhRxwNlczMXxtZdR+YNdGG3M+bN0Xf795wlkXeoblB9/zx/MWDGq8ZkzOZBDF0osJbZ/u1rMoZv/9LHP5MlfQ16dLIT/Byz4XcJmAc5z1182zvpZkdL26Y3YlCLdPcwMkvH5hXgT2+kkHjEAjw4W0+zbNSuVlte7Sfq67K2niD79Xu2olLzgCmIsGeP493nJRc9/L07EkUZ6lhoTMGaY8vMBgsAolGs3ZN3q/RSlvluam5s6tTJcGP4pUFB+GAXmOtpYl166D2nMtHRrY8D5B3a9LZnMbzXmuKtcoKF/c+h03aWXBkO3/TZ6nEz2VHtQ7Q2w6NWnLpj1dXczoUzVPnelre7FzdXgK6ceaL0PPTPzY0fjKi5REIeocq98Ubb3yjKdUy48mcQyyet6tsj3eZopUs7OTlZEedRWabrpi7kuO9TXMTLyrGK40xbxbV4o5Wv6oBuiLmHl7w2FZddMX0iJYXEdt2VV6XbLzgjbZYy/I5eRdZfNjOYkOqq29Di2+bIDhqWQnNcsWYZRzfbdW+eiEcI9QlPY2flTRGwnFAiC2u8NIVMcQ+e3NoWowqIgAFqFy3XFa8bC/8JPS7gipHiVWnIDNAO8LXpBsTS3SwY4knh16yHhHHvIQfzcfAQs3EchsgwpZoZEQS59nDyZZodZgOeBCrM6CA3gO/AC0oQDHDuXIFMgU0/5WDxEVltfu4zN7u0h5wCgsSYVhOQsWs7axzKprYB4mMqogYFM3J/ig9wHHGHaTYoZxkZBpomxUG9+4Y5LEq8gobkEnMRwTRogYVMpNDViDIcQEkpeaFrz99s5Uqt+qISnVXs9txfxvGpAYUO8lWVL8YQ85pwpn5AgeJeSD79as9EOyFHm3OhhpdfrgfD5t+9rFvk8t44K4orAyWjAR+k/PWBhYe3LzgjJ7OtmgQY3MqnPAYc9ZHiSEZCzjnJHj/MKTi8h027gPFlzAs4xMxrjQ0+1vfaFmK+bqeO/dtfAmPUHNZxAOyXZz/iTD01ou3nmmiSi1akUTd3eQSH2jHmFQIC0cyF8G3wpBrmriGCIGDRD+U/YZFT1RMeKyxIdT8Y/0Y7tcG7tH3K/rtiLvTh5tgtAVEk43m4BV8VGITq7cSqHDHSw3ZH9j7vliH28OQvD4zMNwkYcxN36fmz8F4upwYAPjjrsXlOLWx0SXnR3u7PN1a/edgt+01kP1ewFy4ToR/EITioZ4WcUEQRa85vxtdXFZFDvgzx5qZFDQoBMnL1VXL/Li7gqZFxLFzcI42L4vWS7IDi3M4lbnezeDFeDs9Ne3AZ8Lgy35r4VoR/mEl6CIfBxG2cE+7uDjAJtacvoRMOF7wlHflY+EEOy4Uwe8wFFM89FQW+GDlTUS52nQSocosgYV5vMvlxoFXPOFf60i4s+AG1947AmZRNzqHxBneSUtVSDEi4NUqS2qQh/Kk0QkRqKAHNTImNqP4VR7h17KT0SEvCaVVTDWBc6iYizVZGh0Zy/8cbM+nb/vOhb09cvXdcqsC7sDu/iEwnYMagUFd32eqCQCGT3h3lVdOcoT/JqeoPI4VoZcMS9pRuCEe0dfys5GaKYb6NEtt5A6HxUObTCVI4vAToNVffeeGbw0//vus4AO3qM6+ETCTBqfQKM3bbaqJICKX8PUqLxVwBJ6V0lI+ywyoy0YlbUhcuyV62roOOWCJoR7NUhM8B0U4Qbi5qSFjBZ5xnaY6ln/ngm+P3HG31RME6VRHdqhLi4YUwbRpidD5yC+n3uokPC3UszBGRbpOxmFkXHZWsA6foh+oxRojMj3ddhNha1sM7G0yjWtcUU422mO+6Udra0ClmPUHwo/5Wxx7bTDAiKBEA1qsIxAcV8NO7Z7qI1bdplGdoNyBP//1ach27CZhpFx2ZnUuLhB+p5GqD0k3d5gNhKMLUWStXj8oo2Se2mCX8fr/ckr0JSrXxx49Wd1CPCs6aCGkTCALdmSHqlrEpRpXYy7kum795dLLHcQn+cyLkB++F8eVctmR1VlcjHqhjjKFZTq76o2EoytjYE+jYUTFyPyZcM1847f2zaJK3vNfAj/q8jjmrN/PCCNnAagO6SyJXw3xI35hbOd70WecwmC/uNBECRPp5nBGAs8n5zBUxs2YZyxhRiJvK2AhN+EHgGuV9BKSmhAP+zPGdf4DjZzsBj7MQUeBog3vdodAYQlAs7+EzYDMurjc3osA1SZZ5Rbag3zuL4wd9jZQPOMEY7r0YrIwTprhbHNsZ13os6iVjGDA3MSRO8fVNij288zvp+027Bvu3B9daGVjH1QE1TpHmuwDWjIVSO8/I7ioTijOJrsr8YEDe0CPVGAjGHA+mG1UXWJn/Tj/5Ih989b9eYWWjzmCGNQ2eR39WgmJklF4oHRFm9QbWwR38lURv9mIVuJjBHBOzjQoD/Cs76edGHb6ZMKsWsSHcHv1HW2JSaT0nP0FS5qE2tjEuyHxFj1LOT6KA6+ZohLjWVnf6+RP6/Xx+gUydmMt7kIbGlH25jIeBZUqI05uFZj5EK3K71cc1fNBPu6RPbvVsITgapjUAh+NylLrDCFY5xRmxOvilnUK9Zd6ZpHAwMufilbCIYU8fMcpRFcBZH2cUey1C1Ejrk1/6LS+RSXMMq3SAe8cZSXmvRIzk9Dr43Xzbah9Wfye/9lkvu/xvICBZCHhJ04jMPNdLFV+r+KoXhEy4FrUB/doPXShqnFCC8ThkfUdbSPxftQTnbo3jUPPbW0Y9sM7Jq+BH8CGKy+ZHpit/1MQ+koq2bpipmUTq0BfTnc5b1x0Lped2AYi3JY1rc1DsGJSUXFEyWD6Wu0DvvbO1Wfg21h3+dGJ6ozpersxzlFtCZQ1NaPpSqOvnFNl66+tRjJ4ep2ZqDi2NHcMxioxVcHVoQxqdUfDqN89NO61rMEUVqs6MlNZMN5DaVPt9dZKSVs9TLktX+LxDNzPT9dVlsEB0ycSJLVg2Xq0TZoekvaJ2+Cfgv7uY2yLnX83GdNMSw4u3KzN7kDr/JutvBEHtbnBG5R9BzH4pxbsCjiSpOdTCzBchtXotP+7ycv3N76mLksXYzXGZmXIKxaKokLds1dndl2J0/mGbeEHKrsmLpV3EOhSrdwWmCkuBgd71lklptk+dbX/6MGx0Cea69TODvFE0oyExwMPcL1GA0M1LD95aIrmomdkk4UAtOWPLNwHw4HK/TfRuEOG35r669UTYRwYAieg8wTJXPBCfvWKmV3ajibAjHF/qcSXnbV/HHkfOf5Q572dLOjOEiVdvIA0njAj3WOBezg+DhdJM69I3Xlk4F1qhui7jdPlfbftAJIwISu/gcCROCJbztNXpzXEpDZMAhcLUjiQpdzq8ZO6te5WwGzj/qLw553VlJ8vP3IDkvzT2I2CHpPTdtGkLsM1XriJ61NiuETjCTsPLfVeD8MOFIagK35/7EYETt8vu5HCPTAY6K9Xp9TaEICrguR7ZzGvesWMLq2reYRW5exoOJkITsJyXkOwaZLnxrkU/YnCeioeOfTxU4xAvb0dS/wpi9U6wOi4s2cj23dbZVdPQPHtJSsn7Pmh4GQswWcEhjhetqbOH2l54iqKcU2lvfnfbvsbCoPAEomo5B4CLZehs9xvnLs4s0sb9qM3QSCBJbnwLEsLAS+u1CLwji8sybhi7txS9z2rKPp1G6sr+cv2b0gC+fs9jsqYxNOCDI3pvGv6ol/jbTHD9sGFtvyhC3ehVVQA0DwXs3r1CJAuKIHIjbREolER+7wbUjJySgqais4N17WszNIQ0F47aqjc+rC4UnkymMLUi7RCdhNm+31bxjGBiSVp1uihuqAZg1QEkmgVgshoFV2YjpqlBYtIw6yTklFS0KSlaF9ZrmW3IadO03Krfh9cqZyDyUxh6kVaprsJs/3cJSUnbg/qSzR7q/bLrwMotSrlG0RbKhp8lCaqKGZqmuEXmZLcBbmpUrT9hNwit7F2VH+q527J2FJ7xCOLnKK9sh46qTd3aMPgPVUpDoP8hIHZ89tEHkrDadoEHkQqv7HYU1N8H0lOYSAlI6ekoMmIok0m4zbWjurj6fAsTGakKTc7BlcqTwZTmHqRluhuwtw/t00ra5pHcCKhIn/u5sURPqIN1Sc/O5Br+dHGLB11gGZggxYmh8gUxEDoWj7xY2a46siLuoS/dfmLAVsfMnrSls2PkZJRklPQZJgRRZtA5G9dDrmtWjuprnLLw5wKmTb+fg6RUIEv22XR3O1xn2iS9Ii0yKyQW5wUkFFSkMh1htQVkiMaRdOqoFV0QJ/TBfTtt23qEQRgszv33wSN87p3Czd6Oe1+AszYH0dXqxmL1207BZHU7wspGTklwxQ0FR3tKa5lzwTt3qkv5WZE6krlyWAKUy/SYt9NmPT3bRnHBCaWpFmjh+ridAzCAFkSDfv/UzJaB7pbXL5we999X1yL5EJJSkZJQZOWoq2E6Vp2G3JywpVb/ONcqZyDyUxh6nAf5hgwyD91eRVp4rU2C0aTFicUHYznTIHbWCJLyjNISMkoySnum7sJvT4YZNEvUiz2jHqnMr36XeVgyZV0oP6Lf7JZ31ewlF6Ybawi5ZNs82eesde+lWZfXu3UdxA1Pi1i6r4lkU76OVPLYRxJCU8GKRk5JQVNRhStk6zbWDsq7enwLDBDbqnIXcGTwRSmXqRFtZsw989tM8WaLmmZSO6roSZUJavhAYRJX55r2W10zuH/36JANASIkSlw8nSNE99plI1BMADhxA/+2HcTerH0zXjM8TNcyuQu4KbKw/AIFC0DmWvZ7Zq1U3Ugt3R4qVJUGsVstiWWaTn+Est22TB3O/eHkZAWmePlJsYESjIKErmFvM9cITlihmiRUHuroo01XcPnquxSIG8iWoKJXl7L/+Fwjjv1K6FHBwR6QhHagvKeP2zpIUDdRf/YHK8PJJb3/MHAlku0FLLTzV3fxBDlW1RfD0FdiAyhDHqu14n2j5QfS76/+7bWoJdImifDR/QjbRPblNUlIj0EyrV+OlkSN7+A84dLGgS/tiT0CW8UyZRcwcTfxv88DnEv6h6cdKVcf0S4uBcvEu6LoezGPpQOXCM7kQwC/CDfJ1mA6kKlM/qnYWvY6H2+30Ow52A8LcGbj5/mVz4Nd7ouGWE9Ht1eLi8yhVTDzsazgU8YAyyKNPSCRn5UY90ReA+LcBhL+a6VMivzXa/qKvGu9BuexwYKSDIk4UmG4u1vbYMNB95XPz36B7Ljf2Unf69d/v9039TEPvR3lRbtw6zSY35oVUasD7vPTIx7FjRbczQXeaHVDffvS4qI6cUvaBz5VjLlc82SbH6JRgsKYB4PZLmflZ5JkiWrPJs8B54raV6VluRnhaTLasmQby+P/9Rz0Eijazla+23+0eHyxm/jDx3+fhD2bj5h25PFje2Yb7jF/L/rdp7zPfgDQ7ddCDd4GfX5huX+6zZ81/pjuh3edMG88V7M1O3XkF0nQzWf9dOx8dOzifts26dmO/eeuy/be4qLuyut6nz0BmsXi89tFi8vXle83lpfNDIIvu8p+En2IY7zLbDB7tB/rpDcCtnbkr3m72zba554euX7uIfoN24Kov8mLxSia6bhStG1s8cVonvm9ytF9y7uNBDNsUw3Es212msomnO93Vg092a9g2iN7XIn0Vo7Cx1Fa+4+7Sxae292ANF1+48GGTkb2X5WS1TDwX17tBuIajq8PZiotqPrA4pqPL4yqKjWkwsDi2o+PTO4aNmzU+51/gSiDM6/m0RU+sVXW3Y8kSiTyy8mE2Vz9cmEooyuP5hUlNXNyYlFmd2+Pbkou7vXDRBleD/YCFGWD/0NEWX62McYUbZPPQ0SZfz8j1GirF86GybK/PUv40TZv7U1UNQD7y2NFPXCR1NDRT3x+YexolK/Gv2h6fkeO3J3JOhTHgaLeuP7533WzmjqlZ8Ghot65LeOuxwaL+qZvxr7r90C6OG/mjuzDGi8D73nQuf9YveB3WD4bNd970chcvPB0a+OKUdicBBDExrJavKslsuqymiKUK6wt00mRwY+rG29hmtuFtd18OtxbLbDerM33QV5JH6Vx69xe/mb83VSEJy5JS1PWDEfTemCAXIV19LrA9x0zJjNHCQPtIWNA3mgo4OB3rrP3kNw5yp4PvFCnYqYnt0qeuzkG/BTNMGH5OPnmmuXOUiq6DqAS4G/mUujkzvU39TfyrswONzw0PtEL/RGHwzAwGTQE8afuunKXAdQo47BOO1O5I67sYiwE5ykVla7ewOOsEg9Dvr6ysIkTn7KlIlyJAbzGMIv+BW/aZOZ2KXNB4bWc3CoMUl2grYyBw5Dmk1koYI0H15s6f/HtYwX9M5ib4hPaEWb/ndlZYeAiTyS1WxktS8iy9EUVMB5ZN1MAFMI3t98EJhhyKNG4QDJo+ZuGnYKmKJFB9dCIQ4pQwc8Qwe2JPcJXsofoBpoqZNIBEgkj6BRZDOPBnnwmI3ommIN1z7ZXOpWtZ1mnRHziBg/yA1aJP3ho2o9dOIlQLq2ritD8zO0IEz2mWZvyutVfF/jDaBy8kbcUQLqb+pv9Z3MHmUx7c9fmMvif4r5LP3PfM0wqHUdOt3ojEc7O0S/3pyuv9+gxYsMudksx5yNDOXwgumygADnqLLbzykCAhLK+P8D1tN/fIZ+35k/PNMfB/gSlKIK1RiNMfgcX/DLXuoCWXVdiCVEPN3UQgYuzzIKOYl5lrmQQZ2zmn9O30hrJ1XHWVSu//GpfZlqg3pkJpZUb1BBvfU+/ZNev/g2LX/3wMj37t/v2/j70fsjJjwqVMrX+fe67p//puf7Bk/+T3KOjwG+i/b3FC79cdeBGPPxw+jvgRMPIgz7/uf4C0AA/oC/Evz/azpwIgAeBKIXGICYHgRgP/4kdPX/Z+nBn/DAD/q73JsdF4Gkj6b+2Jy2Pn46NP8FAPPBOPAHEMRm/QT2AGYC2PGnpYSe4AHsWP//Hb6jniSgg/52EEAhvd0kYE+64xG7f2P7XnVsrYlu8kklEIekzGFPKaVWPyDGEthaBo3vbZ5+WLWeuXn2oaQRL+re8SOTUUA7ERoxjPCkY2pyK1xA3fa6Rm4JHNvfL2dAoNs6+bamywcZgqE7ZYJWrpJ+92ZaO7VGDIcyeZ6VDIv89tXBjwNt9v/YN0MfE4zcauZ6v9GwGOfy6cSSqwinOaqPP32Evwn77ryRh8j3qydaycCbOKxcfphALBG40E9j0uaZ3miCopqN4aereE+zohvgRpyzdYxwdubm+JKMuzcGSHZzPskVh7M35oUP5rAg1m3VoIkUonDHjGzXGCYVCwXd41qkH/D63ed3szS+ZWvqh8pTbkn74KUfpnKUZnL1RAWNLjyM5Ss6IN2VF4YY4TTHBrgdgccTT5ggiOtjriqMM6oBrr99fntSNxE9ChPghRWunI14YxZCzVcMqojBkSCMJDl+MOAqw/75tEJbAR2UXGX/7oYamTeL51WJYmpcUNjf/R6diaJu9MwfeBM4Uv7v6c3Q9YEiQnB27WGEsfzEwAczBMBryBZB/M9NSdztpXEE7ap0NK4oEfwsof9NBvDh5jq5oYShFQtAidPcNWz8Gt69UbodA0cGaATQ/tsO8JDJMLRwnky7/RZsGTsSirWEGk+3NXxBPqCJmBslUQkhAJmWm6mxeHo7Gpg4vvTfoQC1Pbxrj7vkaaNfM3QwBbznjevuwznlJku8h00w0/7reBMkhz4t+lq0ndzkuVNC2dNcTVsVbdZfRZO+XIyaauZ6v1F3OtU4oYQkOBj/FbXX2bY+HxSw6PwQ4YvI4zqPnIjfLRxlOtAZ0/O70JnexrvUmdXVu9eZ1ugLf7ZhKD1fne7a8O4flLFjTiedUSPG+nx8VMhOZ6n/Nbt4qoO/aGXDAeXTLIXuuHeT+g897qPy1/ddGRfOHWk9FDjOcJpjOPggEwbYsjkuhER1B5xlBvzrBmEnXpy0aHu1RkfgYzrzKb+bJfZkm33mtVnCPbb+3S8JLEdp/EdC4I7ISt/knyTuXeflOD0vT7xXbkxA5FgW2JvP2kw37Oz94umgKSRGfuKTnpFnvyPt03y0EVRmxxYi1S2LnNInz23/tcHlhIsjYaapWxkNBrhXWSxP0mwZUQZbSFY61eaO/4RKo2/rXAcR7O9piv10iO9aD4gRAEhUHBzFAnRqk4PZ0G9cYQ1M5xLnRLzblgcFi1cMetno0ofyFNQdJcdOvSk5Ndzy6A3PVxydolGsdyBsJ2p2wAvQXEdEkvaIM7MufdaUNaBYKc9nDe3ZtTvy5lQbeHcTCTTkh4go+U5uavT2XtBdFnSZVRDN8gq/cSsojH4r6i8next6nxNu33c5S4ej9iwfmQpY1A5Ds8rw/uVokHJe7tZ/a3I5e2TUc8/qxcsX98OwZ+P0uFm9rMAEJ2eX2SlynV7p39LdC9IT3LmhY8KhrTYiYNtQaQULYJ+YdrqL2k6HrHbmwfk7XGl0xV7eqwO74V7hmljzkMqu6IElFYILSOemekIdU6DbqbaRY/HAfHe7sJyQwLjTqW/uaPfyd+yVpdhxFXqV5j27MRwwNSVH4VxJR2EuevxLdM7YsZDEeZ77e72jPUdtnY4P12WjOhHciJE9M6zfiB4EYWh2ZbLW8U+7IjANqlDa7KDgGszTChq4nejcCIXS8/Fk0jnp0KQZAr9sMLXZ/e7GUw6EtzeYXnA8OwRJG8MwTmUaDD8ObqD19/fZ+rqBDHfBNxvqIz07upN8v+seQQrP7gpRci/c5WGpPacjgLX1LSFaT3d3ShXexO4R8I7fryHnriFMseiSZQ0a38OpUpiDhh7qz6al/6fBqAkxVHxHj1fCT7FLMg6dHoNGjQ1OhgVne9O8meHh+vQlTky39wALuzJ+yi87Bs7yyxCjy5RDlOy/3NbIKqp4ExJ9oRHSt5XRiIiSxuOczFJGFM7BSPnscXRwsErhIipmKi0UhMcw5SNyFFBR+/61qlYx4QvhlhQuswOL5BAO0mTJyJPLxZpDbDUt2l21sqHRunIE36Yugy2Eir1UaTLfdssipF+04kFHWSwpx48q/ySMimID4sa6nur3KH0cPfBRgh1krwlxWkWhf9Txv8Xdgf4csvS7lsp/QYLqhPd/W9UdDlL23WB9rreeg5nandk3dndl3DNDD0w4MnFitGesZkrOtIQZB2ZtmOMyz2KBxraM7QkLgcX3LI0m7jM2/S/ZDMJmxWxOwEoOq5isprJhkc3j2AIjttAaW2SZLTbPlphmS02yZUbZcoNshV62UhdbpY2t1sLWaGRr1bJ1Ktl6ZWyDIrZRnm+T7EeVtP+e3Qn+njy5KbB6ypUQ/n+3W1CzxluWiCfvgJsytlErqW72icunbLon9onqYwMSX60sY3UCdYnOd9yuYDuYCz4AHXQatgfhme+bS/pd+lfDkrdqW+tUO7KhaaHdmVO3OKi8qhYdMVYr2x57z4Pf3Q5eTjVw7t6Wejn4V1fu5sWfgnLt2tgQPHsyVEH3/hvtlrRbZ9RFtFMNi7FulzZUgbN7dX6CC10BHxuZNcxaum39m8U+sCu/3JHg7m0uwu7Q5zTJW+LNjxf1YuqyVSEOsGxqZLranPIGeEBUXR3HnqysnXfXLmmw4CY5wDWIQ3hvNOCNcHtzfbzQdWuprHvwz52wwryKjxCrewVlsYDom+o13rIPrwjy3Tq2LhpImlg25V4cV520Bc5YqUxoalgwy64tXAnjdtVdPvPgaq+IcwjzG+Xb2Qyuce9cOk2y/84ax9SxgWMkdq/incNl/J5Yx6x9Nshu6plilFm8V8aPLeN3QbCrXA0DdG4rq3HB3wmdzBtXqNp50GxTEZeGlxVEtu5ELucmMss5jUjfWM9WmE+HtAJuv2Wya1aL6u2JYvc9DwFFSzYz5+6eaVfWhAymDK51+Bh3YW3oYPguRmsrAMGeT/KHXghnb09KgYL5emN3ziNS2rPU+SHADx/HEOHrnrvHFI49TjsDE5iJ9LYJazbCis+PPAbCpnkUtktVYu2yNmzbfqH/JzzXwesDnsXzeIbnigdn8B8oj6sliZKfwL2bXiGIml8t526sHiooXtlbDgym7L8FY8cwhj1OTexeRDufejF+dxLrKKfNlrA2HIOghdXbXVnRHduOdJlBx861RquNxY2F5tPvSGSm8xsX2qLh0cc4NuxouLdp5ibL6VCCwKs9iieK9eEKB5R3p1dHrADN1rrGe+i9S8IjQTSrxBzM/E2OdNAxgAEm6p//e33Kf22U/I2III8BeKcgf6MMH63p5/vjrw5c/vdQN4AMqfeCn0nA5E2eu4AK3YPcNj7byB6oTW4MADYH5Pd9/YL9bffbwTTlCMlkOPdk8D12rxJL2TCEO4u/0eviLeXEpM7ltXApUtxAdmH2wICSEthyFrC0roaFsXzVp7eyLB8pnSF9rD8PpnX/pdtoEmVdV4cypeyxWyvo2ix6MdOPUFuidfkJhF1SJEazl9Jz2o62vDzzDL4NohAnwC0NJBeSckGv5LnRWc15vTLlsuW+ESpwA2nhMuJL7qt+pwRriKAvSGn3qrPkhJZjIYN9RkvVBalZEI5qOQFYOO9VPMTakHNyOoAW0BLaQ3B0hPbhhMAaKQtL+hrmH67GceOGugu72QLGcG44HQb0e6XWWb7fhX1k05FKAFQebQswYH0xQHt4LnjabOLmowkjrsAKKXvsVh3SdqFezOSA5Uf2ddvTN13E3AjiaFoyGErQ2Y7WjKMpmWXFyRoE/RlfLlzJ547r6zqOt1sM2cSIHAxmcbeBUwm0+vh1D1QK5Jqw+glRl/RO9X+ihZWAuORXd2+D3QoznvleFLnwfnsrSp0e/dLbK01BgrD+RA1CedGXhdCboWCqHKt7vh/1SjOPyhtNUw5/u8dA+m+VujP7kLHKP/V0mru9whcJmHCsRk+Hrb9FTUDxFhbbD/QkhrOh6B92t+lkwasIXFuFu4E06uq85vKXBnaJELchz6MpuzYkxhAhI914Tm2ikaDQAOneJu+4o63y6we9XfXMu3/k8A9yODZKYM8+/7dHtBb+3M+tOBycKDHCF10jeNRHWFmXoHs09pfnjLh9idt86V4/4OxdpeJId9Qq51SL0j1byttRHgPRnYPrIUq/Nnwk1ZFNVRKjqCRFemK4U0dJQNwcI/x68xhPqym3P5C1BU0z6TyWJAjB3EPlAKvTXEE/mJ+6D6Prf57K8uSERlr96FHpjW0qnfr0XtesRhd8HKdRVKVpW84Brz+oJ2c2vQ++OIUCJtfV19Cz1rpzXBeIUiuFrBQxkF2knp/sdfObnk6MOvNJDQZIjd2zOE4+EXIp4z9CrKOIYtVqlMfZx2HmwWUapYzCiNT63VDMNT3S6yu22fF09Kb635fkidUS3mTz28Y5fjnoCbm2pOtkECYYz3KKxEhaYb4aTcy7nVuNosGKEScMWjFTjw0LSaKElCszQIEynSpKeOTSolXqo/wZrwpgnC566FM3p/NHQ7gRsH2TPwULPip+NTfCaJvEPLGgX//bph4yZU0444jCgRVyB5IQgRSw0ywWKMivEbeb/4Yxf/AJ54qLNkx0YRQXVCXAG/K0K3LPjxmFHw8q0/BdleeOUTWSX6abCVPoINafN4QTfp1Zw4jFn8fyQprU9yQpkHHpj+z7q/9CSdSU6qukPoxm0Z3Mf1R1JqPhwxuBvJeaa1V+vX/wwXLHsX8/S4DXNiGU4iCNejxgxIKHFHxky/jCmtw1RKDEDYigI8ZMu9Q4xEBLTAlz1p3jYL8ZDWDK6Nvdyq9MlkhoDzpwgzoo7CEVF3KDlkSWxGh6JGKazP8YdBlAA/GEs/bCOk1h/c8IXcJz/hixuz9viOQHjcZmqWtkY4aZwWHZ5aZacAsWwZIOa9os1i+8l0dwTYugEEpguFHsShlwCRUSlRb3QEwJHww7OGmxwXgXhCqxOKcCsCamWw0e6J3oTeDUc78dX39eRFXaAFpE9hUcYMvYct0l7hD7XmqS4O3IsB96H7NIJEGEsU+4B51phE6qZLy3GQL16ftmn54XgrwXz7U6vP8OyX4+p7dJ2EeJfhn3V+r7/Pq7Bb9hu0DBMce4ffwOkebscbfJdWqZXmCe8mT5jgT2hbZF1sVWJBbkzEhPyXun4JWiF0qeKHugYlLVbTXXZYLV+Wvw0eTpGaN/7bf+nXoxJRrY2O4cp2tzq90r0rE1B+d4N366kgT8pPB12T+6M+PUmk8LbjOkmMxm2jDM2OK1a2QfJmygmCGi9g+YhOHNq6e2kM5KmpKn/01KDxWlu9LA6BIT8DKKXtnzY1MIi93CdrDvEjFK1GSYcccIYeKX3UiK+tI1hDp2b0LV3xhqQfM2hp6VcN3iDL2zkqehKsr5x40DxhQNTNRESB1xv4r6F9dIdM3FGstjZVi11Ostg++ZfMfoDucbq43znCXGUPoWKGrkxyUPleXFvUupwV4clqJwFIMtwxUwA+Ml69r42RgryRAiI+fGziPrAYauo8oORyVcJeBg/ZKAi4JwfCNqqrslCkvSVm7DywRtPZRzf6Pr9K4w+ItJRx6/1YZWFq85DdltAAXQl6hNIQ9y+9FglRynVNguLND4jztPYB4QfynUY4U9lVY8XCXCWwI8Fz7GiwjFRYg2V+cSqy09OsaCbXpcaqlN67rIUBipFqS7WERhPpWFlF49C97Re8NnbEPKjGgVsSYIWh3Mji2hr6b9PO0jpZ76vgsF1C5cMPdCB0MWC9ggbIWgHkL+EdFdWHty3Wh0pgymLS/Q/B1zGbYuLSIUJY1AjJ9+3CjTZZorrhuLvox6MufI8wx+4N1WIv1nrSakfiFXb3l/UnPeUg29DQzz/WV3Vqg9Ih0XtqBVRWhHU+Nx0oJC613qqSfzD4KmgTUJquOIOoqqY0g+XLi2YrURLYyhTcyFMtpKeQZqmcljZ31B0YAW+ld8BfAPocZaBfa/FjwrbK/TehLTA2kR0DylFi61FN37zCy6gM9h5EnEoPqs4n96T4Eh2u70k1Z9Jr/SexAlCAiOWrJox6Y1qz/SYIC9giCk50lOTv9y6xowC8xZ+WzRwJjcUgtiLEZ8bLdSZVlUYVCR2Zg0J9Ibz+SPEI6kgzhD39FZQH+tqOR98U+IfgM89IpDeiFrPpG+WN6F+zx25Mi4+dkdBPSKDjpFBd1acGnGrfmUatJqTKNBBL/sciOoEMnlQ1jS/A+kp7LC7tDEUhtPLZwKY64qW6Wx+FuKnty6ceGmg3rOMOLp5x6Iqed96n7barLKjVJeJPIgl8y0ZAxEvGsmRSYJct+IoRwtGq/ulCeiP5O+DPMwYkvm6aUxu6ldoTT4+qKEoxDaMUf8ORDIIf97AR5heYK3drzo6dVbgsNyKlCHngqPUwCpEXuo4BTPaRqbSRz/eEWID/AMtcfUE0Nj0MuoEOQiNQLAE8EvyzKYVYJWwEqzaRQNbbVt0AaXjc4woWyQfW0p8iZBjSH5hCblxTq5cPkbuLrR49GAX30+nXj1FNidweeL3lKx4YmR515brGqYNcCtFnZDeZvM3yirJnNjmGGcRkGE1sJDVotga/9IqSd3f7+aX9el05K6KNk/DH5vsI/ENktcaqlj6nhSxBcywm8RbXasCyooBrsBfUvmebMMywCiHUNUtbA2gloK70cIM8KGNpwY+SJ0NyfVjkIrsjyQ5mkcecWl7k6R/QnDCbRhHhRkMJUe3LUQ6oSAIZHvAErbDNer0KtKO3XdPoXHUkJhtsrFw1IF4zma05rC2Wau9i3cH9psqu093HBEMLKLGYhEV8unIUUqnFnmzeF7oKMy8FTCUQH3XS1ltx4g5A0mQrt/v4hJvOZzmcFj0X64UGYuUR24U07kVuvJsGpxNj6yNNiS1lx7MNskhjZoZcIsPSYZSZnRyIBapnptSnXI5o9XITs6BTHLjaGByP4bhq/G6qGCuf1yDfC1x/U7Hr2pSPaPGJnelWWKrPIWKro6AdSKAyrFANU6sowBq2O40kNcIGZLL0+J35bRziwO6JMAoXiZCeOxmje3ux63RfsSvvLCqjDs8g/SXWAuGPYAguwBy6GGHPZvLvmrdh/p5GPO74zT0Ij0vQVEDKSRuwlCyJhKa0g0mzLkLB3+UGD+eIYis9MayhjKaShPp8yhOtZWPNTAZBNCjaxqR6jJ5E4QaqZ8CT6tDeZl9SwQYPLlHoLA1KsgBINFr3/rj4DFbxDNGp+cXMy1zNwym7jWc2bjf5iFDfo7c2Xk/1Rxkf/lxbQ/uTsP5h3X57/tM4tXR1kqo6hnIo3UUk0NY5Bix4odO1JKTlBJxdMawkjGHMzhDA94p9E/oYJnzaOoo5Lyb4wIYyfVnHljiWsJZVD9YaYPCxaqqS32H8tQzJQzihFYGEIjCY3f08SbVPm6ptE9jzEx+rrr+FDm5FXdacTZGE7RtVHN2Dd2sLdhxooVD37CPRtJ9OtZvybTliqXVUuUUUeouIL6X7O0kcqC8lCtu49EyumHq364cFHFULw4ceChkgEsUxFhR6SUfMOLKXi9vtib8u7yCTy4UUMaeYeGFI91kGMYbo5jyDeXMjTkUuORajezqj27rlHNf+FsgYbltfKbcUYBRnlAFR9Pg3bWijR88vLRpaOppAIpY3mFKmNSxljfyCSneH7fq48kvXpOMxgvTVM8tFm61J5RJnyItLzWouZQhmcT48XAAvY0IxSivINvNumUycvn2KhnTJlmRhNxsy2o+upNkE+cnIZZ7aRMGCsLH9LGh4yZSF0jieHDoVw3RF4VdvDExxoZ+iOeiQproVi8QtDL3utKbI+y+KrBSqFA6R9umPiL7g9K9gHCGRgCRpWGDaryw8+gmBvzYF7Mh/mxABbEQlgYi2BRLBYLrLMXHxNmJp4jTeA1a74LrEaZGjISRaKSSlaXjEJMQb5Uyq2qdzqkcxd7hoxfpxVwmjRm3ESynR8nHuLPkbMUXLly486DJ2++/HjxMSs9rCB+M/6ZUs28rMKp06RNlz5DRmLPf4dYs2XPkTNX7jx58xEgSKjSAmWXU5Bwfcvz6KMMiTSgwoqImjdrjkXFlVRaWeVVVNmAqqquptrqqq+hxpqIEa+hlgbWSoKkk1zAcm1wQ2qvg1ST67QvJi9HYvN2lk9d+eaXv+0C1BRYUMGFFFpY4UUUWRRFVixZs2XDrsnFFFtc8SWUWFLJpZRaWul6zzlvHzZ/cersBAIt0XJKHPx6zxEd3nsuqdSHN1YHB8pU2ua+xnXbBdUctZdwxNVvLN5kW+nUke4Dyml0ZIudi6RJyx/ITse0uXPjwYsnHe/YqDHSztRUV53n49VXbUqHLj1CXtpyZ3fS77G9nnzcfgY9c+ioj3x4+8tXlJfDMy+6ROXlN7/iF9wt+mDE534ReKoWoXc91QrMu2O54OtgRh44ECpnqHAsd2gADyB2MAm8oc37FsEnwgE3gfNeE3FjVKIW8kwxdH1Y1XlTopGUJOPF5ZJPIcXe4vOSiqSm/sF3WVppp5OufnXz9370MxM+aG4et6pqm132C8IezzEnyWXoNzE3wr8eTMzru92nv/nml38BBRZUcCGFFoYLHdlj4ies1NJKL6PMssoup9zyyq+gwooqrqTSyiqvosqqqq6m2uqqr6HGmmoej0JbkSLCIerUV38DDTbUsEj0tY9BW+NWouNLneNLvoKJHttsS92a75t4zgeKpjPpXP4meu933sc+1Vpb7XXUWVfd9ThwQ+C1LdZHiIikIiM4BEXwCAEhIiS/6A8MDaEjDITp+E7ghE7kxE7ipE7m5E7hlP7GqZzaaZzW6ZzeGZzRmZzZWWxG+zinczk3H3jPx7EYe+r8/lFAFGaF+I8WKDQyP2EGMrjCLgKePI9DJnI7m9nARg5wkF3s5ld+g8bB7IMFgxGI+R0clyDnO9iE2MEgHrsoCkgcTlPFXJz9zK+ES7qUS7sMdH5gFVt4jRQJMlazhp9Zxg+3/2XDSHqFJN3a3tndk1JVmtRqhwrFyYAqVaB2SeKhNPGjfXZ+cXl1fXN7d//w+PT8kr3OF+R8F0nBhraRno6u21YNUIZuCBPBv+nbsihXVd200J/hfhin1+Px+bUyxZmgaQNWqIdHXrEY+qwbN37CxEmTp0ydNn3GzFmz5+hy9PW8+QsWLlq8ZOmy5StWrlq9Zu269Rs2btq8JXRr2LbtO3buOkqlM9ncMTLwf3BneWbgl8qVqjSwZjrVH2gDG9U8WARkNEwc+UF2YDGEaNNQEKDBQYQBGx5CJJJDFRWCadBjog4bDjVBm2sEa8eFlwBhYiTJkKdEJ930MsAwY0ySF51hXku3nCi49duIFMxXAQ3sFCyUCKKJI5EU0skilwKKKVNlq6oFq6ORFsHali5YF70MMMwYk0wzxyIrrLPFLgcccwaCd3ykGw+1Xft1XOd1XbfwRIP1KfNe8ARDwKjgL4SvMMCYeUwOYBwwrhVtsLh13g8SCOyEOEqS7JGUzICSiho5+F1Hz8DoHIw1OVK9F5TWwfgyJsgdPOzm4eXjFxA0DyYS8ZySdg8mn0q93i86VfGD6Yn+PGQYQNjjJgiEmYn5vGSZQdjrNiCE8U0B2U1SgseEcQgTmWOIFREmMVL6nk4GmWSRTQ65MMIURkkupwJH2DXU8giHjTTRTIuQMLDoiO7oi8EYifH4Vzhj1px5LGGWYjU2Yjv28qEjM2HOChHeeOudm7A+5nw/a9NuJxzp1hP8wydsMAQCKAxGwm76XnCKHYdRGH5KLMtfkNNJ6Jgs+TVNxSks3VOcOU9L1mxTTEHJKowvYWZSUHDJl19XmHDEUrLre1SmbLnyyMKUo5pqYd8LogYabKhhbGHG01Tb90uzzYkLs5RXW0MX9lY72IUJiOAIi8iIaR1vgr4wyZEWmZET+VEUpVER1aku8fvIxvWDZ1ZiDAvmP3bYaVfd9dRbX/0NNNhQw438qnAPa+gXyF/tD9E4tR08r8CBRptZm8CrNib+cKDrllmO6544F4W6G+0lmtVItxmAk1C8v71YlgfDJyQmJZdS24PhfzYErOkwK43S+78oLhYjmkbOhpBc6GV2qMqeXqR0bf6wkD+32KqQ1cQxi9pikJJLqdOD4b8aQlummXaP3Eei0U5wAjo7fJB006D20ukqO+4WMt1CJQvHKgmLsZJCKX2JFHDAm16MxcFuso1BxfR4172kJ8koYLfoGEVnvPDjnzodi3XuhF4nJVZjX6wuOq+24i6bjmyjICgyEHIp4/IIDJ+QmJRcSt3eq4zMUvG62piVaEQgeYWfT8K8aIq5j4D20iLUtRrLEmHpl8v2sq5/6nRZJKvOspQm7GXRpIsjimOmqvkgJCYll/L148G6lry81ryqVyVZp+SL7roYpB4unQrbNPV5MtruVkZhvkN4NSa7+QTd1c5VSIvnuXFU4tizXyIk14swVucq9Ldub8+nSuT8bNDhqe/UdtbibpHZ1TiOTsEplBg3xtloHvJKh+WzZ/n5JweZM27KQBiEExCRkFFQgXCCUyPIM7kUcOEZDu/iKE5CRkEFwglOjaCctdzCo8wKkUiR3ZKkST4/g2pgOc2H7s9UoMv2zQI4cd0u62gWh2aBFFQgnICIhIyCCjyNk9B3PwFwC484eyRP45G29KippfZ1d02drREUJyAiIaOgOhXhKU95zjxnf5/G401AtCUhn8wnZTzjli3Rp6isnqWnKghLzxM+k3Qa6ed3M80r+UN9bdTr9u8J0Fsp4cidvl9KICiGEyRFy0kRWktIESFhQFGqpAHDOLCSzM8gprnIrlS1Bcm4yamSoqo4rAmTZTsMJicSAISqrFWkJHrACAhqBvNdEIKkaILJYsuJRpBSJxFNgBCMoGRqAYRQsrUBwggpnSCtS0rYxviEbQIsxPlQpL1mfy37ucU8N0VDR1gZoRLzugkRVYUqDrxqkpCsFsuBjS3VZQxRGIVhuMXiMIIgSEs5oDCCIC0RRRCkJZIIgiCJ9hwExXCCpOiqicM0jIIwipM0C4RRmgPCOEkzOShJ4vT3rId3PermU9fY9ekc3uRxvsOiFXkDq7iUs0pCS40UW8WkuWYBTVj5t8UG6+meRpum/RXuKVGvOPgcL7i6RNjrCcrEwfDn4la4ZTQocAvNlrGuEF+kljWYchQRut83hTOGCK6OKZIAwwnZHugP1f2FDGbDpI/Zi5f/AzGr6opHqaVbnGGG564vOzCurBdjmbsHRpW3G8Y3vLqoCc+8pPs3nxbOCHiTIaHO98psSG/1PFxssoqPG6XOhfQfDECvA79gvqwTNe2fMb1JLTNc9AAS18Blyn9szmMbZ+V0Nz09ipqOxPA7cbVKZriayrddboryA3RoXDgBgxgXTm60co7il//pHIlwKSERAmYhpB1CQgLsEOEshEQIacvShrrJvAAHhGAExXBCUh0QFMOJYvC44DUgs6ZJP4aKWq6clVko+pPMp+z8Ef51GzhJbzZJ485RlTLa4TyWZyY97oqd0PudinoVGct2rYPj2noDNSe6UC4n5kAu6+w+UdTGBMk9+njNuDpQLpP7kn53Yjr005SuWNDLuzmPg7MK64E6TiuYrtG6Pq57tg37ethNzziWR3NuzmeiFnlXN1m/KL63EfrT0lKLA66WkddOq3BzZ9FaL/atXWVBULaIbG2EEJQgKeb3rE0SYtiJ3kT6feFa/n7s5X+pvtn+NJhGcMLnB/iJi7efjdbic54NBlGOuEBDyqVgSkcJg60GoJ1FCcLNgwuAhpUDi7hgozrXfYuvmjsl18NHVgQb1HoiaLsKgmqCxfDSLSsL9qSenM2yjBFoAeZuDpeRMtcHdlq8lyCzyAvCxcKdKhk7zw9tohRBrpXJlUdDw+d6eS7sZFNkh4sci37HAvE+9HI2hrM7YLIfTEPWNIMzYzwqY4aFOJeZCMUPXex+iGaUZm16OcnMjLM5GRr4DKxbzAAEOO4yW778qvs9qOPQ4Mfo2p03/zlKTotBZBAeQSIJ/Zgb+anDJM1qH+qxmMohzFisI+jQM7g+TqWN5qkLiy7sq8LQ2HdFqcrbVZ67/DZ5+vril9TbxcEvq7/fzq29mtTDd6qqTBoq2sEpM+q9zh3+wb+lLwMZykjGr0nuj0D4VFAhhRVRVDHFlZC5goGCCimsiKKKKa6EzBUcFFRIYUUUVUxxJWSu8EFBhRRWRFHFFFdC5k8DGPCH+GTwD+weB3jRaIzxW8yF+af+ilh53+Rn8IzUeAXvMYCXn8YYt4yggwMF9CZFPJGCEttygkMAB/zDU5zL/aCUECR+xACL6ErG7CQ//8CIQYkaSmYSgIBMRG4iRBJ5E0hlMUY2buaPY8kci5MiPRUX2SghKGigc6ClS/RNSp+MuH0WNMp7DdcqI5xFOfN9od0mi0ZDIYtGSyFdXZVSg4+KmChQ2As3rjDjd+upRw/zKClS3Isfqag3iVZcNJYOSpRTGe7pUl5HFYlGoEI1VVL1FXcaGdbRH+R2KZk7aUvs7HBV6FE0XaquunE7ciLCsbJq9iWLcnZQo0bd18xt0lU3ztNvkWiMGAQKNCd1hL9TX5co0YaqvifulHRNvq3PohbNfTV9KImKiMcbeUctCllRcuT+5hLOYwCOio+8oHeoXguKlCW89NHceTSqRckqBg2aqVG6b7jTJQ+BFi3avmUO0tV1/1HzkTdZbrnlFh26qduLO+64Q49+6n0wYJiGmGgoWTRuLk+xPEBBBTWnavSkPpK6jqq24qKMG6XmKZEV7j+oSwGprmNUBWMYX98xfXSYLDfV1nQJuZT7kTuNhkLEhGmafDBjxgwNHfRXo/PlQ5VakD4stWAc1nU2E8hIXeUfIsKij7v5VSQacwALlmnJN1qckkXtYa0hZsjKrSWGKRnrqoPlp0g0ygQGT9ygEidOrLDko8J9osaRPabGgKew5JvHRnPSd217dH1/jSPq7wlSeTFhxRrWW73GVdAlD4EN27T5YMce9iO894bK7nwOjQPHdEjSH8wp6UrPt5JFuXM8c+jDflEJgh2Kaqr36rmOE1TFRWM2cOLE2Z/c6ZLj5ikYh51s6qsJ7dROCCTInDI8k2x8Z3+YNXjBulOSJEkUkXL9Iwc2J0f7rjnOzubENO9Y8d+3Eier1eMKm6k5LcUJqiV25up1pmn7TBAxNWIKaU450bHAwART3mmyRYPvvGzvL49pU/1kkinvr9miwe8Ybzt/qWXHCJ5N1Jx1RXifVLNp9ozoxuSFhkvIdQwWNtjDY6+chV0v5zWt6TqOtiOwZatZzSo2P3MySll7KHVeynVohvkPjrVd1ZFL7uCauKeq9uRJ76qSsUWfcNvtKCZXnb83tJ7E3fbopo6t/zvD324EgB074YQTDgAABoNAIDAYjA2aa0Eje3b4t38MO1Ri3q64g0AgEAgEAiFhHHkf5s5sLrCbhW/wBAYTfrr8OzXEsA4aAV2veb9Bhw4CIWH7kLKyv7yPcAQUYEwcbzfG2YJvNPDBz+XvTFSc0LXGBuJzsArOT2xtg1tguP4WkkSYQtr7wJ2Srmnc1dCCGtSgBhFEEIEDBwp/6zZTkNPsg0+DF0yRwZQDxlk53ULMLUTEPjKnpKvKMRMROY6PPYxxtpAOiBTSnGlIoXSr0uVHSnvpWZOKw3WbP2ohySnqE3dKuqYx6qL9J9BQUFDQ0NAgCEJBQUEgEGhoaKBQU1WGLFmyqJwsedxo9NQh+hYnhEJdXQ/BNQ+OGVuCkkV5hsGE2VT6fHUcJyIeHjy88KaUvHfklihZBFhs2Pxiilm+AhsUN3/IBeJ8Vi7tOqwZtGh5xky7jsEWvL5aKNQStyBJoaA51dFJh6TxIyGhpKQkRVI3nvJof3mSTLMNWyVaQD6N4HDTjTOpp552xQN545WclvJcP4uOWV8LoUu3Ky0+m0NW3NpLWcY4n6vTt0Lx6RZ+SvHDP5iH5ybILD3vcJ1Nx1uZc85T3Pac8y3S/RuT0+xRNPjTUuzdEk/bbOAI7VPNdSjU/Lc0dCwYDj48Hs2TFv6PzXerK5AGf9lLZQOlRMPFbYZjFB1z+l4hmy0tLS0szLZ34my5l8AkOvjFMK+Fmb5mdmqxViOPwsIIglAoFIqTpUfOsxklGgo8wzGKjsse6rx3bvDHMfc1ORwREY69pTjM9pfBUMgGRy1sATA5tQZ5gEwkEgqSo2jOVjQULtO6vHAweYYmankACltBcjTPeKlO92K8GC8GhmE0Gg2HC7fGXyO87fw/PPHjHzyg1J+pyB95jz6YraVBql5xSrrixdgpy0qlUtKx5BAKhQghykEu97Ves2Msh/x14ksDMvjm8x0nJTHMvxtz4jgtLaX/73GXlcrrYTeGSFAr0K8/NiKPv5LJ/+9nedDqJF12d8cLM//X8+roRfcjbNOvJFH89KGc8ZSyyIquyzE9YVUkxeuzYZ4tH0Mf2oFSxuDjiwDWBbCdMkSyqGHZqRBg63NsWl9L97HLCBMzUUjmriU/oLu7ISJCD0ckKZN/6xWAjQNYFb0pOgpKcM7uXls/2UKZPRjs01DHSutTSszHTfoUTvsnrIb1lAewMgnTTMHSg8/h3Q8oDlimSlnQ+4ddyLV4pMJHYhZrGXCZDrCuUoPfsmP6DyIk57HShuR+2lqgIZMC0q2hBF8zVLzMqOUyTgRyluOSY9yngpP76ne2czTHqReMnCklj+EsZBxfqVKzKR/6e6GFVJXwVU4bpbuc+wxuqgLsSK2RnvHeUhzJWu5BGWNyjYVKDpcPlmlciVo3oDRRLVUxXzPaPY/6/VkAglbjQZGSdq51rGa9MOBEBCPHNBugbu5zwzv2C9iGjZkTLntfy4js7MrdlGuMY4Jm604Hg+innBF4f6oDqPMJRPa8GUbg+/PvABaQF/4H2NvYwUbOLW+4RE5Yey3xm7bf1cJbeTahn8Uj5wiZqx2O7OElX07/5MeZc2Y85o71NKNqofO6LnGRR9yCeSKmGdpXQ4FlGfMIH6EBgH1Pq50ucHkJoJ7Iiy88pNLmOC16+9Llj57Yg6WGa/aso/kB38chx32mM5PFy3ialYe0uk956gLU0tax2n8c7j33OOgXdrqL2jYWnL663gNYhxEeuLdT6w2vJOoMEo1ReKtHPRzsyaQVpUvqlhtcStvu4ZDTQ3h8PmDvAmpvhs0+Rl4ZR6e6zl5b+V1yHbWU/VeCftV2/jk/tOq01vobieHhTTiadrwbiLZ/5ad/rJRnp6ygQRsR5Rbm2qh+VpmXXivDKrVpzfSKRbLmvk587tlMhqenp2lrS4vM7mbx1d+wYMCqjTnmjNJwMc04kYr3LzIk3O4b8kOPwl9FPgvL8lEO620epqttDVrZH2UNZWoOtFWr7cn5tCpg22EcW2rDleOb9YIsJbXSyh3jMkzVF8+9ch+W18DBTmFhjuRAdqW4bNl/NaE7G7LIIsJv5cUVY93NyJHZm6sy7bb/roPl7XxF+4273rV44/IqQER+6o/NaDtLp5/0pIGP7fMo0hM9QPlluFFEGrQbJ9RhRf+jfNIV6G49N9INVuIPfuQTYd31Vw/+95zlq1lrxmzpt9iknL4r6U8p/Yv62g5w+J7XZCR+4w39BPyy/3xVZ2n6cYTMa+S2oGCRkQc+23/SRNhOUHkOfZr/UOqy/wxvGQL9Vh9tDHcwbvZ1Nz7H/bI3sqQd30f+9AJ94Zdyb3++2ZWt9FItj/E0j9oJLWyDXW2D6I/bqzHU/CqszOcsbwusrEvDNuzORhxkx93QfE16ell32nJWrgRskAD89Oc7jdKQwD8WhTjB+k0DwFcCfHH5s8ZNizQLsDBLhAW1aH5e6ProDlNEZjxjCA7cuBYnfFSORKa+EcJhHb0vh0LHv5G/+PP4H2ToJBtx+mlVnh1fCtixxu8Bwrzxh7i/84KXeJpneFnPp/uXVpsBu5lDbvPC1XzVpDJAfXTu219kof5MyhxyyLlJZabOf0lcjsyz49kbnruarZ5QXqZbqrMDmk7G9tsNee1faHbOjs241ncMz/NJeIRzuYp3NY8DJ6g0mz/6N4HxryKOVPUKJYqUNTtl2jySz3CfL5Nx4KGda5d9a1Yeuqt0KaDKwOKqtmlOLbOozmU5hpJuh3korfeonXlRL+uj72dr88UcHqzxRew6V501rBwio1U6Oyja0b53czbLhloo7YdX2TrSujUsRpn1WEUL1+r7GJ7lO37nRZ772NKuOFiVDW2TqPWfzY+w/+HCnuNxPZ/jR4xmwmbmBkfBAssJRVfcOQx9/69DhJrJJh/eCpAsLIKayeYUj6r3DnlshkT6mZf5ooVq9h7WUtBbafCZPwu0kMJLE67QRmiBPWMHcpeWrdVS2FAsxh15/b/DujzTrR0asNDzoJS1aGXE43FbI5beQpNyhJHzFOt51jbmqBLcOqlocEOop4nU3lMPnHQ8c3M6rDRruQF/76lDHEdEbPriE308SrYRUnt/Cgroto3WQ+YRUTzFKEnfH0vBR5AAFlI+qAUAcI+9KRDY2KH6uKXDbxa/+5SOVdUf1ZB/SkPutjFpIS9/mfZn02Sdp8b0GvZklbXTpZAMigVS8uhHl0J2VlM9sae4ZRxtiB946zw+1rFpbKlrWQ46eojQRPYpQcnO+wxIVWGJqRLeNlhdMA3Nlqj2Umc7Vpxm7wDvS4BBmvbBhXObYruna8Exn3UqVkYiPTfGny6JoU2pQEwuTmTN24GnK2hdrbRSUahMUm4dvKFVkJOPFps6UupDwxla93u5aa1Ow9ivwQd+EuA74x7b7aFcKp4VKy3ET3DwQXdd0PcuHvdNbaWs4im+6h+u/TcuGOsFvhe+Fb6WUd94auyfK/7PfbfGwFNmT62+tAuEnOEydxzGyZ9LM6/F0VhPa+foNt5n2ShW7+7vsLD8QVuBWf6Y3xvt22sv0mjLty5+wJf//nf+E+P+JY9dwE2tuGz3bEcNlpjZ/nUP4W9P/NtnnqfDLvPk8dupy441A60jn2uZsqZV9qGkf1Fo3yM4j4ee7RzZi61Yi921is/3qeLXy9/5Rum40n5bys3cnW173Dj+UPsnfgzVU55zsT+nvQTx5n/HqSc523TcQWX9lqZfaMqyLXZaven02I5FDtsoGlU9yh5bjzhosFjb4a7/lpHtP+AlmOk36s7fsi2Olscwdqd1mnI8IsNtFtxOaVzxTKKz2irNIC1Dk7lgXcVObMXmmpfpF2d+1Hiv34rlEg7TGf2Wf3Puurb2j71FX+fNWrKc+hXV8ndu63xaFRiBkA0lF3OTzpedVQ0vxsrxcd8dauoYyz4hjgvt/ANfXmffVdoz7PetNPO34fZ7tTdLWr74X7+vM8w/9X+8Ovc1jff8OSHb832WZkvn15nH/YERaij7vrdS/WyDDl9Z8WFqZjSV962xmxb3vOC/a6P4If9uAwsgR0GbPqIvK9uFdZXtJbIGWq/etlw1JNMqtuc3vdFrxtlxfDcddtrmo/AP/01rQs+s5nGeug+RP+k/wB+Wf5c7rRYFHWjR4DONNftGpH8FLVOzCntrkzJ/3/+vrnQ2yCVtxIdpzUnLb/kHh9k5nU4o73cpYpOHvZn+DQ==\",\"type\":\"application/font-woff2\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/fonts/Shantell_Sans-Tldrawish.woff2\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/translations/languages.json\":{\"text\":\"[\\n {\\n\\t\\t\\\"locale\\\": \\\"en\\\",\\n\\t\\t\\\"label\\\": \\\"English\\\"\\n\\t},\\n {\\n\\t\\t\\\"locale\\\": \\\"zh-cn\\\",\\n\\t\\t\\\"label\\\": \\\"中文\\\"\\n\\t}\\n]\",\"type\":\"application/json\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/translations/languages.json\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/translations/main.json\":{\"text\":\"{\\n\\t\\\"action.convert-to-bookmark\\\": \\\"Convert to Bookmark\\\",\\n\\t\\\"action.convert-to-embed\\\": \\\"Convert to Embed\\\",\\n\\t\\\"action.open-embed-link\\\": \\\"Open link\\\",\\n\\t\\\"action.align-bottom\\\": \\\"Align bottom\\\",\\n\\t\\\"action.align-center-horizontal\\\": \\\"Align horizontally\\\",\\n\\t\\\"action.align-center-vertical\\\": \\\"Align vertically\\\",\\n\\t\\\"action.align-center-horizontal.short\\\": \\\"Align H\\\",\\n\\t\\\"action.align-center-vertical.short\\\": \\\"Align V\\\",\\n\\t\\\"action.align-left\\\": \\\"Align left\\\",\\n\\t\\\"action.align-right\\\": \\\"Align right\\\",\\n\\t\\\"action.align-top\\\": \\\"Align top\\\",\\n\\t\\\"action.back-to-content\\\": \\\"Back to content\\\",\\n\\t\\\"action.bring-forward\\\": \\\"Bring forward\\\",\\n\\t\\\"action.bring-to-front\\\": \\\"Bring to front\\\",\\n\\t\\\"action.copy-as-json.short\\\": \\\"JSON\\\",\\n\\t\\\"action.copy-as-json\\\": \\\"Copy as JSON\\\",\\n\\t\\\"action.copy-as-png.short\\\": \\\"PNG\\\",\\n\\t\\\"action.copy-as-png\\\": \\\"Copy as PNG\\\",\\n\\t\\\"action.copy-as-svg.short\\\": \\\"SVG\\\",\\n\\t\\\"action.copy-as-svg\\\": \\\"Copy as SVG\\\",\\n\\t\\\"action.copy\\\": \\\"Copy\\\",\\n\\t\\\"action.cut\\\": \\\"Cut\\\",\\n\\t\\\"action.delete\\\": \\\"Delete\\\",\\n\\t\\\"action.unlock-all\\\": \\\"Unlock all\\\",\\n\\t\\\"action.distribute-horizontal\\\": \\\"Distribute horizontally\\\",\\n\\t\\\"action.distribute-vertical\\\": \\\"Distribute vertically\\\",\\n\\t\\\"action.distribute-horizontal.short\\\": \\\"Distribute H\\\",\\n\\t\\\"action.distribute-vertical.short\\\": \\\"Distribute V\\\",\\n\\t\\\"action.duplicate\\\": \\\"Duplicate\\\",\\n\\t\\\"action.edit-link\\\": \\\"Edit link\\\",\\n\\t\\\"action.exit-pen-mode\\\": \\\"Exit pen mode\\\",\\n\\t\\\"action.export-as-json.short\\\": \\\"JSON\\\",\\n\\t\\\"action.export-as-json\\\": \\\"Export as JSON\\\",\\n\\t\\\"action.export-as-png.short\\\": \\\"PNG\\\",\\n\\t\\\"action.export-as-png\\\": \\\"Export as PNG\\\",\\n\\t\\\"action.export-as-svg.short\\\": \\\"SVG\\\",\\n\\t\\\"action.export-as-svg\\\": \\\"Export as SVG\\\",\\n\\t\\\"action.export-all-as-json.short\\\": \\\"JSON\\\",\\n\\t\\\"action.export-all-as-json\\\": \\\"Export as JSON\\\",\\n\\t\\\"action.export-all-as-png.short\\\": \\\"PNG\\\",\\n\\t\\\"action.export-all-as-png\\\": \\\"Export as PNG\\\",\\n\\t\\\"action.export-all-as-svg.short\\\": \\\"SVG\\\",\\n\\t\\\"action.export-all-as-svg\\\": \\\"Export as SVG\\\",\\n\\t\\\"action.fit-frame-to-content\\\": \\\"Fit to content\\\",\\n\\t\\\"action.flip-horizontal\\\": \\\"Flip horizontally\\\",\\n\\t\\\"action.flip-vertical\\\": \\\"Flip vertically\\\",\\n\\t\\\"action.flip-horizontal.short\\\": \\\"Flip H\\\",\\n\\t\\\"action.flip-vertical.short\\\": \\\"Flip V\\\",\\n\\t\\\"action.fork-project\\\": \\\"Fork this project\\\",\\n\\t\\\"action.group\\\": \\\"Group\\\",\\n\\t\\\"action.insert-embed\\\": \\\"Insert embed\\\",\\n\\t\\\"action.insert-media\\\": \\\"Upload media\\\",\\n\\t\\\"action.leave-shared-project\\\": \\\"Leave shared project\\\",\\n\\t\\\"action.new-project\\\": \\\"New project\\\",\\n\\t\\\"action.new-shared-project\\\": \\\"New shared project\\\",\\n\\t\\\"action.open-cursor-chat\\\": \\\"Cursor chat\\\",\\n\\t\\\"action.open-file\\\": \\\"Open file\\\",\\n\\t\\\"action.pack\\\": \\\"Pack\\\",\\n\\t\\\"action.paste\\\": \\\"Paste\\\",\\n\\t\\\"action.print\\\": \\\"Print\\\",\\n\\t\\\"action.redo\\\": \\\"Redo\\\",\\n\\t\\\"action.remove-frame\\\": \\\"Remove frame\\\",\\n\\t\\\"action.rename\\\": \\\"Rename\\\",\\n\\t\\\"action.rotate-ccw\\\": \\\"Rotate counterclockwise\\\",\\n\\t\\\"action.rotate-cw\\\": \\\"Rotate clockwise\\\",\\n\\t\\\"action.save-copy\\\": \\\"Save a copy\\\",\\n\\t\\\"action.select-all\\\": \\\"Select all\\\",\\n\\t\\\"action.select-none\\\": \\\"Select none\\\",\\n\\t\\\"action.send-backward\\\": \\\"Send backward\\\",\\n\\t\\\"action.send-to-back\\\": \\\"Send to back\\\",\\n\\t\\\"action.share-project\\\": \\\"Share this project\\\",\\n\\t\\\"action.stack-horizontal\\\": \\\"Stack horizontally\\\",\\n\\t\\\"action.stack-vertical\\\": \\\"Stack vertically\\\",\\n\\t\\\"action.stack-horizontal.short\\\": \\\"Stack H\\\",\\n\\t\\\"action.stack-vertical.short\\\": \\\"Stack V\\\",\\n\\t\\\"action.stop-following\\\": \\\"Stop following\\\",\\n\\t\\\"action.stretch-horizontal\\\": \\\"Stretch horizontally\\\",\\n\\t\\\"action.stretch-vertical\\\": \\\"Stretch vertically\\\",\\n\\t\\\"action.stretch-horizontal.short\\\": \\\"Stretch H\\\",\\n\\t\\\"action.stretch-vertical.short\\\": \\\"Stretch V\\\",\\n\\t\\\"action.toggle-auto-size\\\": \\\"Toggle auto size\\\",\\n\\t\\\"action.toggle-dark-mode.menu\\\": \\\"Dark mode\\\",\\n\\t\\\"action.toggle-dark-mode\\\": \\\"Toggle dark mode\\\",\\n\\t\\\"action.toggle-wrap-mode.menu\\\": \\\"Select on wrap\\\",\\n\\t\\\"action.toggle-wrap-mode\\\": \\\"Toggle Select on wrap\\\",\\n\\t\\\"action.toggle-reduce-motion.menu\\\": \\\"Reduce motion\\\",\\n\\t\\\"action.toggle-reduce-motion\\\": \\\"Toggle reduce motion\\\",\\n\\t\\\"action.toggle-edge-scrolling.menu\\\": \\\"Edge scrolling\\\",\\n\\t\\\"action.toggle-edge-scrolling\\\": \\\"Toggle edge scrolling\\\",\\n\\t\\\"action.toggle-debug-mode.menu\\\": \\\"Debug mode\\\",\\n\\t\\\"action.toggle-debug-mode\\\": \\\"Toggle debug mode\\\",\\n\\t\\\"action.toggle-focus-mode.menu\\\": \\\"Focus mode\\\",\\n\\t\\\"action.toggle-focus-mode\\\": \\\"Toggle focus mode\\\",\\n\\t\\\"action.toggle-grid.menu\\\": \\\"Show grid\\\",\\n\\t\\\"action.toggle-grid\\\": \\\"Toggle grid\\\",\\n\\t\\\"action.toggle-lock\\\": \\\"Toggle locked\\\",\\n\\t\\\"action.toggle-snap-mode.menu\\\": \\\"Always snap\\\",\\n\\t\\\"action.toggle-snap-mode\\\": \\\"Toggle always snap\\\",\\n\\t\\\"action.toggle-tool-lock.menu\\\": \\\"Tool lock\\\",\\n\\t\\\"action.toggle-tool-lock\\\": \\\"Toggle tool lock\\\",\\n\\t\\\"action.toggle-transparent.context-menu\\\": \\\"Transparent\\\",\\n\\t\\\"action.toggle-transparent.menu\\\": \\\"Transparent\\\",\\n\\t\\\"action.toggle-transparent\\\": \\\"Toggle transparent background\\\",\\n\\t\\\"action.undo\\\": \\\"Undo\\\",\\n\\t\\\"action.ungroup\\\": \\\"Ungroup\\\",\\n\\t\\\"action.zoom-in\\\": \\\"Zoom in\\\",\\n\\t\\\"action.zoom-out\\\": \\\"Zoom out\\\",\\n\\t\\\"action.zoom-to-100\\\": \\\"Zoom to 100%\\\",\\n\\t\\\"action.zoom-to-fit\\\": \\\"Zoom to fit\\\",\\n\\t\\\"action.zoom-to-selection\\\": \\\"Zoom to selection\\\",\\n\\t\\\"assets.files.upload-failed\\\": \\\"Upload failed\\\",\\n\\t\\\"assets.url.failed\\\": \\\"Couldn't load URL preview\\\",\\n\\t\\\"color-style.white\\\": \\\"White\\\",\\n\\t\\\"color-style.black\\\": \\\"Black\\\",\\n\\t\\\"color-style.blue\\\": \\\"Blue\\\",\\n\\t\\\"color-style.green\\\": \\\"Green\\\",\\n\\t\\\"color-style.grey\\\": \\\"Grey\\\",\\n\\t\\\"color-style.light-blue\\\": \\\"Light blue\\\",\\n\\t\\\"color-style.light-green\\\": \\\"Light green\\\",\\n\\t\\\"color-style.light-red\\\": \\\"Light red\\\",\\n\\t\\\"color-style.light-violet\\\": \\\"Light violet\\\",\\n\\t\\\"color-style.orange\\\": \\\"Orange\\\",\\n\\t\\\"color-style.red\\\": \\\"Red\\\",\\n\\t\\\"color-style.violet\\\": \\\"Violet\\\",\\n\\t\\\"color-style.yellow\\\": \\\"Yellow\\\",\\n\\t\\\"fill-style.none\\\": \\\"None\\\",\\n\\t\\\"document.default-name\\\": \\\"Untitled\\\",\\n\\t\\\"fill-style.semi\\\": \\\"Semi\\\",\\n\\t\\\"fill-style.solid\\\": \\\"Solid\\\",\\n\\t\\\"fill-style.pattern\\\": \\\"Pattern\\\",\\n\\t\\\"dash-style.dashed\\\": \\\"Dashed\\\",\\n\\t\\\"dash-style.dotted\\\": \\\"Dotted\\\",\\n\\t\\\"dash-style.draw\\\": \\\"Draw\\\",\\n\\t\\\"dash-style.solid\\\": \\\"Solid\\\",\\n\\t\\\"size-style.s\\\": \\\"Small\\\",\\n\\t\\\"size-style.m\\\": \\\"Medium\\\",\\n\\t\\\"size-style.l\\\": \\\"Large\\\",\\n\\t\\\"size-style.xl\\\": \\\"Extra large\\\",\\n\\t\\\"opacity-style.0.1\\\": \\\"10%\\\",\\n\\t\\\"opacity-style.0.25\\\": \\\"25%\\\",\\n\\t\\\"opacity-style.0.5\\\": \\\"50%\\\",\\n\\t\\\"opacity-style.0.75\\\": \\\"75%\\\",\\n\\t\\\"opacity-style.1\\\": \\\"100%\\\",\\n\\t\\\"font-style.draw\\\": \\\"Draw\\\",\\n\\t\\\"font-style.sans\\\": \\\"Sans\\\",\\n\\t\\\"font-style.serif\\\": \\\"Serif\\\",\\n\\t\\\"font-style.mono\\\": \\\"Mono\\\",\\n\\t\\\"align-style.start\\\": \\\"Start\\\",\\n\\t\\\"align-style.middle\\\": \\\"Middle\\\",\\n\\t\\\"align-style.end\\\": \\\"End\\\",\\n\\t\\\"align-style.justify\\\": \\\"Justify\\\",\\n\\t\\\"verticalAlign-style.start\\\": \\\"Top\\\",\\n\\t\\\"verticalAlign-style.middle\\\": \\\"Middle\\\",\\n\\t\\\"verticalAlign-style.end\\\": \\\"Bottom\\\",\\n\\t\\\"geo-style.arrow-down\\\": \\\"Arrow down\\\",\\n\\t\\\"geo-style.arrow-left\\\": \\\"Arrow left\\\",\\n\\t\\\"geo-style.arrow-right\\\": \\\"Arrow right\\\",\\n\\t\\\"geo-style.arrow-up\\\": \\\"Arrow up\\\",\\n\\t\\\"geo-style.diamond\\\": \\\"Diamond\\\",\\n\\t\\\"geo-style.ellipse\\\": \\\"Ellipse\\\",\\n\\t\\\"geo-style.hexagon\\\": \\\"Hexagon\\\",\\n\\t\\\"geo-style.octagon\\\": \\\"Octagon\\\",\\n\\t\\\"geo-style.oval\\\": \\\"Oval\\\",\\n\\t\\\"geo-style.cloud\\\": \\\"Cloud\\\",\\n\\t\\\"geo-style.pentagon\\\": \\\"Pentagon\\\",\\n\\t\\\"geo-style.rectangle\\\": \\\"Rectangle\\\",\\n\\t\\\"geo-style.rhombus-2\\\": \\\"Rhombus 2\\\",\\n\\t\\\"geo-style.rhombus\\\": \\\"Rhombus\\\",\\n\\t\\\"geo-style.star\\\": \\\"Star\\\",\\n\\t\\\"geo-style.trapezoid\\\": \\\"Trapezoid\\\",\\n\\t\\\"geo-style.triangle\\\": \\\"Triangle\\\",\\n\\t\\\"geo-style.x-box\\\": \\\"X box\\\",\\n\\t\\\"geo-style.check-box\\\": \\\"Check box\\\",\\n\\t\\\"arrowheadStart-style.none\\\": \\\"None\\\",\\n\\t\\\"arrowheadStart-style.arrow\\\": \\\"Arrow\\\",\\n\\t\\\"arrowheadStart-style.bar\\\": \\\"Bar\\\",\\n\\t\\\"arrowheadStart-style.diamond\\\": \\\"Diamond\\\",\\n\\t\\\"arrowheadStart-style.dot\\\": \\\"Dot\\\",\\n\\t\\\"arrowheadStart-style.inverted\\\": \\\"Inverted\\\",\\n\\t\\\"arrowheadStart-style.pipe\\\": \\\"Pipe\\\",\\n\\t\\\"arrowheadStart-style.square\\\": \\\"Square\\\",\\n\\t\\\"arrowheadStart-style.triangle\\\": \\\"Triangle\\\",\\n\\t\\\"arrowheadEnd-style.none\\\": \\\"None\\\",\\n\\t\\\"arrowheadEnd-style.arrow\\\": \\\"Arrow\\\",\\n\\t\\\"arrowheadEnd-style.bar\\\": \\\"Bar\\\",\\n\\t\\\"arrowheadEnd-style.diamond\\\": \\\"Diamond\\\",\\n\\t\\\"arrowheadEnd-style.dot\\\": \\\"Dot\\\",\\n\\t\\\"arrowheadEnd-style.inverted\\\": \\\"Inverted\\\",\\n\\t\\\"arrowheadEnd-style.pipe\\\": \\\"Pipe\\\",\\n\\t\\\"arrowheadEnd-style.square\\\": \\\"Square\\\",\\n\\t\\\"arrowheadEnd-style.triangle\\\": \\\"Triangle\\\",\\n\\t\\\"spline-style.line\\\": \\\"Line\\\",\\n\\t\\\"spline-style.cubic\\\": \\\"Cubic\\\",\\n\\t\\\"tool.select\\\": \\\"Select\\\",\\n\\t\\\"tool.hand\\\": \\\"Hand\\\",\\n\\t\\\"tool.draw\\\": \\\"Draw\\\",\\n\\t\\\"tool.eraser\\\": \\\"Eraser\\\",\\n\\t\\\"tool.arrow-down\\\": \\\"Arrow down\\\",\\n\\t\\\"tool.arrow-left\\\": \\\"Arrow left\\\",\\n\\t\\\"tool.arrow-right\\\": \\\"Arrow right\\\",\\n\\t\\\"tool.arrow-up\\\": \\\"Arrow up\\\",\\n\\t\\\"tool.arrow\\\": \\\"Arrow\\\",\\n\\t\\\"tool.cloud\\\": \\\"Cloud\\\",\\n\\t\\\"tool.diamond\\\": \\\"Diamond\\\",\\n\\t\\\"tool.ellipse\\\": \\\"Ellipse\\\",\\n\\t\\\"tool.hexagon\\\": \\\"Hexagon\\\",\\n\\t\\\"tool.highlight\\\": \\\"Highlight\\\",\\n\\t\\\"tool.line\\\": \\\"Line\\\",\\n\\t\\\"tool.octagon\\\": \\\"Octagon\\\",\\n\\t\\\"tool.oval\\\": \\\"Oval\\\",\\n\\t\\\"tool.pentagon\\\": \\\"Pentagon\\\",\\n\\t\\\"tool.rectangle\\\": \\\"Rectangle\\\",\\n\\t\\\"tool.rhombus\\\": \\\"Rhombus\\\",\\n\\t\\\"tool.star\\\": \\\"Star\\\",\\n\\t\\\"tool.trapezoid\\\": \\\"Trapezoid\\\",\\n\\t\\\"tool.triangle\\\": \\\"Triangle\\\",\\n\\t\\\"tool.x-box\\\": \\\"X box\\\",\\n\\t\\\"tool.check-box\\\": \\\"Check box\\\",\\n\\t\\\"tool.asset\\\": \\\"Asset\\\",\\n\\t\\\"tool.frame\\\": \\\"Frame\\\",\\n\\t\\\"tool.note\\\": \\\"Note\\\",\\n\\t\\\"tool.laser\\\": \\\"Laser\\\",\\n\\t\\\"tool.embed\\\": \\\"Embed\\\",\\n\\t\\\"tool.text\\\": \\\"Text\\\",\\n\\t\\\"menu.title\\\": \\\"Menu\\\",\\n\\t\\\"menu.copy-as\\\": \\\"Copy as\\\",\\n\\t\\\"menu.edit\\\": \\\"Edit\\\",\\n\\t\\\"menu.export-as\\\": \\\"Export as\\\",\\n\\t\\\"menu.file\\\": \\\"File\\\",\\n\\t\\\"menu.language\\\": \\\"Language\\\",\\n\\t\\\"menu.preferences\\\": \\\"Preferences\\\",\\n\\t\\\"menu.view\\\": \\\"View\\\",\\n\\t\\\"context-menu.arrange\\\": \\\"Arrange\\\",\\n\\t\\\"context-menu.copy-as\\\": \\\"Copy as\\\",\\n\\t\\\"context-menu.export-as\\\": \\\"Export as\\\",\\n\\t\\\"context-menu.export-all-as\\\": \\\"Export\\\",\\n\\t\\\"context-menu.move-to-page\\\": \\\"Move to page\\\",\\n\\t\\\"context-menu.reorder\\\": \\\"Reorder\\\",\\n\\t\\\"page-menu.title\\\": \\\"Pages\\\",\\n\\t\\\"page-menu.create-new-page\\\": \\\"Create new page\\\",\\n\\t\\\"page-menu.max-page-count-reached\\\": \\\"Max pages reached\\\",\\n\\t\\\"page-menu.new-page-initial-name\\\": \\\"Page 1\\\",\\n\\t\\\"page-menu.edit-start\\\": \\\"Edit\\\",\\n\\t\\\"page-menu.edit-done\\\": \\\"Done\\\",\\n\\t\\\"page-menu.go-to-page\\\": \\\"Go to page\\\",\\n\\t\\\"page-menu.submenu.rename\\\": \\\"Rename\\\",\\n\\t\\\"page-menu.submenu.duplicate-page\\\": \\\"Duplicate\\\",\\n\\t\\\"page-menu.submenu.title\\\": \\\"Menu\\\",\\n\\t\\\"page-menu.submenu.move-down\\\": \\\"Move down\\\",\\n\\t\\\"page-menu.submenu.move-up\\\": \\\"Move up\\\",\\n\\t\\\"page-menu.submenu.delete\\\": \\\"Delete\\\",\\n\\t\\\"share-menu.title\\\": \\\"Share\\\",\\n\\t\\\"share-menu.save-note\\\": \\\"Download this project to your computer as a .tldr file.\\\",\\n\\t\\\"share-menu.fork-note\\\": \\\"Create a new shared project based on this snapshot.\\\",\\n\\t\\\"share-menu.share-project\\\": \\\"Share this project\\\",\\n\\t\\\"share-menu.default-project-name\\\": \\\"Shared Project\\\",\\n\\t\\\"share-menu.copy-link\\\": \\\"Copy share link\\\",\\n\\t\\\"share-menu.readonly-link\\\": \\\"Read-only\\\",\\n\\t\\\"share-menu.create-snapshot-link\\\": \\\"Copy snapshot link\\\",\\n\\t\\\"share-menu.snapshot-link-note\\\": \\\"Capture and share this project as a read-only snapshot link.\\\",\\n\\t\\\"share-menu.copy-readonly-link\\\": \\\"Copy read-only link\\\",\\n\\t\\\"share-menu.offline-note\\\": \\\"Create a new shared project based on your current project.\\\",\\n\\t\\\"share-menu.copy-link-note\\\": \\\"Anyone with the link will be able to view and edit this project.\\\",\\n\\t\\\"share-menu.copy-readonly-link-note\\\": \\\"Anyone with the link will be able to view (but not edit) this project.\\\",\\n\\t\\\"share-menu.project-too-large\\\": \\\"Sorry, this project can't be shared because it's too large. We're working on it!\\\",\\n\\t\\\"share-menu.upload-failed\\\": \\\"Sorry, we couldn't upload your project at the moment. Please try again or let us know if the problem persists.\\\",\\n\\t\\\"status.offline\\\": \\\"Offline\\\",\\n\\t\\\"status.online\\\": \\\"Online\\\",\\n\\t\\\"people-menu.title\\\": \\\"People\\\",\\n\\t\\\"people-menu.change-name\\\": \\\"Change name\\\",\\n\\t\\\"people-menu.change-color\\\": \\\"Change color\\\",\\n\\t\\\"people-menu.follow\\\": \\\"Following\\\",\\n\\t\\\"people-menu.following\\\": \\\"Following\\\",\\n\\t\\\"people-menu.leading\\\": \\\"Following You\\\",\\n\\t\\\"people-menu.user\\\": \\\"(You)\\\",\\n\\t\\\"people-menu.invite\\\": \\\"Invite others\\\",\\n\\t\\\"help-menu.title\\\": \\\"Help and resources\\\",\\n\\t\\\"help-menu.about\\\": \\\"About\\\",\\n\\t\\\"help-menu.discord\\\": \\\"Discord\\\",\\n\\t\\\"help-menu.github\\\": \\\"GitHub\\\",\\n\\t\\\"help-menu.keyboard-shortcuts\\\": \\\"Keyboard shortcuts\\\",\\n\\t\\\"help-menu.twitter\\\": \\\"Twitter\\\",\\n\\t\\\"actions-menu.title\\\": \\\"Actions\\\",\\n\\t\\\"edit-link-dialog.title\\\": \\\"Edit link\\\",\\n\\t\\\"edit-link-dialog.invalid-url\\\": \\\"A link must be a valid URL.\\\",\\n\\t\\\"edit-link-dialog.detail\\\": \\\"Links will open in a new tab.\\\",\\n\\t\\\"edit-link-dialog.url\\\": \\\"URL\\\",\\n\\t\\\"edit-link-dialog.clear\\\": \\\"Clear\\\",\\n\\t\\\"edit-link-dialog.save\\\": \\\"Continue\\\",\\n\\t\\\"edit-link-dialog.cancel\\\": \\\"Cancel\\\",\\n\\t\\\"embed-dialog.title\\\": \\\"Insert embed\\\",\\n\\t\\\"embed-dialog.back\\\": \\\"Back\\\",\\n\\t\\\"embed-dialog.create\\\": \\\"Create\\\",\\n\\t\\\"embed-dialog.cancel\\\": \\\"Cancel\\\",\\n\\t\\\"embed-dialog.url\\\": \\\"URL\\\",\\n\\t\\\"embed-dialog.instruction\\\": \\\"Paste in the site's URL to create the embed.\\\",\\n\\t\\\"embed-dialog.invalid-url\\\": \\\"We could not create an embed from that URL.\\\",\\n\\t\\\"edit-pages-dialog.move-down\\\": \\\"Move down\\\",\\n\\t\\\"edit-pages-dialog.move-up\\\": \\\"Move up\\\",\\n\\t\\\"shortcuts-dialog.title\\\": \\\"Keyboard shortcuts\\\",\\n\\t\\\"shortcuts-dialog.edit\\\": \\\"Edit\\\",\\n\\t\\\"shortcuts-dialog.file\\\": \\\"File\\\",\\n\\t\\\"shortcuts-dialog.preferences\\\": \\\"Preferences\\\",\\n\\t\\\"shortcuts-dialog.tools\\\": \\\"Tools\\\",\\n\\t\\\"shortcuts-dialog.transform\\\": \\\"Transform\\\",\\n\\t\\\"shortcuts-dialog.view\\\": \\\"View\\\",\\n\\t\\\"shortcuts-dialog.collaboration\\\": \\\"Collaboration\\\",\\n\\t\\\"home-project-dialog.title\\\": \\\"Home project\\\",\\n\\t\\\"home-project-dialog.description\\\": \\\"This is your local home project. It's just for you!\\\",\\n\\t\\\"rename-project-dialog.title\\\": \\\"Rename project\\\",\\n\\t\\\"rename-project-dialog.cancel\\\": \\\"Cancel\\\",\\n\\t\\\"rename-project-dialog.rename\\\": \\\"Rename\\\",\\n\\t\\\"home-project-dialog.ok\\\": \\\"Ok\\\",\\n\\t\\\"style-panel.title\\\": \\\"Styles\\\",\\n\\t\\\"style-panel.align\\\": \\\"Align\\\",\\n\\t\\\"style-panel.vertical-align\\\": \\\"Vertical align\\\",\\n\\t\\\"style-panel.position\\\": \\\"Position\\\",\\n\\t\\\"style-panel.arrowheads\\\": \\\"Arrows\\\",\\n\\t\\\"style-panel.arrowhead-start\\\": \\\"Start\\\",\\n\\t\\\"style-panel.arrowhead-end\\\": \\\"End\\\",\\n\\t\\\"style-panel.color\\\": \\\"Color\\\",\\n\\t\\\"style-panel.dash\\\": \\\"Dash\\\",\\n\\t\\\"style-panel.fill\\\": \\\"Fill\\\",\\n\\t\\\"style-panel.font\\\": \\\"Font\\\",\\n\\t\\\"style-panel.geo\\\": \\\"Shape\\\",\\n\\t\\\"style-panel.mixed\\\": \\\"Mixed\\\",\\n\\t\\\"style-panel.opacity\\\": \\\"Opacity\\\",\\n\\t\\\"style-panel.size\\\": \\\"Size\\\",\\n\\t\\\"style-panel.spline\\\": \\\"Spline\\\",\\n\\t\\\"tool-panel.drawing\\\": \\\"Drawing\\\",\\n\\t\\\"tool-panel.shapes\\\": \\\"Shapes\\\",\\n\\t\\\"tool-panel.more\\\": \\\"More\\\",\\n\\t\\\"debug-panel.more\\\": \\\"More\\\",\\n\\t\\\"navigation-zone.toggle-minimap\\\": \\\"Toggle minimap\\\",\\n\\t\\\"navigation-zone.zoom\\\": \\\"Zoom\\\",\\n\\t\\\"focus-mode.toggle-focus-mode\\\": \\\"Toggle focus mode\\\",\\n\\t\\\"toast.close\\\": \\\"Close\\\",\\n\\t\\\"file-system.file-open-error.title\\\": \\\"Could not open file\\\",\\n\\t\\\"file-system.file-open-error.not-a-tldraw-file\\\": \\\"The file you tried to open doesn't look like a tldraw file.\\\",\\n\\t\\\"file-system.file-open-error.file-format-version-too-new\\\": \\\"The file you tried to open is from a newer version of tldraw. Please reload the page and try again.\\\",\\n\\t\\\"file-system.file-open-error.generic-corrupted-file\\\": \\\"The file you tried to open is corrupted.\\\",\\n\\t\\\"file-system.confirm-open.title\\\": \\\"Overwrite current project?\\\",\\n\\t\\\"file-system.confirm-open.description\\\": \\\"Opening a file will replace your current project and any unsaved changes will be lost. Are you sure you want to continue?\\\",\\n\\t\\\"file-system.confirm-open.cancel\\\": \\\"Cancel\\\",\\n\\t\\\"file-system.confirm-open.open\\\": \\\"Open file\\\",\\n\\t\\\"file-system.confirm-open.dont-show-again\\\": \\\"Don't ask again\\\",\\n\\t\\\"file-system.confirm-clear.title\\\": \\\"Clear current project?\\\",\\n\\t\\\"file-system.confirm-clear.description\\\": \\\"Creating a new project will clear your current project and any unsaved changes will be lost. Are you sure you want to continue?\\\",\\n\\t\\\"file-system.confirm-clear.cancel\\\": \\\"Cancel\\\",\\n\\t\\\"file-system.confirm-clear.continue\\\": \\\"Continue\\\",\\n\\t\\\"file-system.confirm-clear.dont-show-again\\\": \\\"Don't ask again\\\",\\n\\t\\\"file-system.shared-document-file-open-error.title\\\": \\\"Could not open file\\\",\\n\\t\\\"file-system.shared-document-file-open-error.description\\\": \\\"Opening files from shared projects is not supported.\\\",\\n\\t\\\"sharing.confirm-leave.title\\\": \\\"Leave current project?\\\",\\n\\t\\\"sharing.confirm-leave.description\\\": \\\"Are you sure you want to leave this shared project? You can return to it by navigating to its URL.\\\",\\n\\t\\\"sharing.confirm-leave.cancel\\\": \\\"Cancel\\\",\\n\\t\\\"sharing.confirm-leave.leave\\\": \\\"Leave\\\",\\n\\t\\\"sharing.confirm-leave.dont-show-again\\\": \\\"Don't ask again\\\",\\n\\t\\\"toast.error.export-fail.title\\\": \\\"Failed export\\\",\\n\\t\\\"toast.error.export-fail.desc\\\": \\\"Failed to export image\\\",\\n\\t\\\"toast.error.copy-fail.title\\\": \\\"Failed copy\\\",\\n\\t\\\"toast.error.copy-fail.desc\\\": \\\"Failed to copy image\\\",\\n\\t\\\"context.pages.new-page\\\": \\\"New page\\\",\\n\\t\\\"vscode.file-open.desc\\\": \\\"We've updated this document to work with the current version of tldraw. If you'd like to keep the original version (which will work on old.tldraw.com), click below to create a backup.\\\",\\n\\t\\\"vscode.file-open.open\\\": \\\"Continue\\\",\\n\\t\\\"vscode.file-open.backup\\\": \\\"Backup\\\",\\n\\t\\\"vscode.file-open.backup-saved\\\": \\\"Backup saved\\\",\\n\\t\\\"vscode.file-open.backup-failed\\\": \\\"Backup failed: this is not a .tldr file.\\\",\\n\\t\\\"vscode.file-open.dont-show-again\\\": \\\"Don't ask again\\\",\\n\\t\\\"cursor-chat.type-to-chat\\\": \\\"Type to chat...\\\"\\n}\\n\",\"type\":\"application/json\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/translations/main.json\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/translations/en.json\":{\"text\":\"{}\\n\",\"type\":\"application/json\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/translations/en.json\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/translations/zh-cn.json\":{\"text\":\"{\\n\\t\\\"action.align-bottom\\\": \\\"底端对齐\\\",\\n\\t\\\"action.align-center-horizontal\\\": \\\"水平对齐\\\",\\n\\t\\\"action.align-center-horizontal.short\\\": \\\"水平对齐\\\",\\n\\t\\\"action.align-center-vertical\\\": \\\"垂直对齐\\\",\\n\\t\\\"action.align-center-vertical.short\\\": \\\"垂直对齐\\\",\\n\\t\\\"action.align-left\\\": \\\"左对齐\\\",\\n\\t\\\"action.align-right\\\": \\\"右对齐\\\",\\n\\t\\\"action.align-top\\\": \\\"顶端对齐\\\",\\n\\t\\\"action.back-to-content\\\": \\\"返回内容\\\",\\n\\t\\\"action.bring-forward\\\": \\\"上移一层\\\",\\n\\t\\\"action.bring-to-front\\\": \\\"置顶\\\",\\n\\t\\\"action.convert-to-bookmark\\\": \\\"转换为书签\\\",\\n\\t\\\"action.convert-to-embed\\\": \\\"转换为嵌入\\\",\\n\\t\\\"action.copy\\\": \\\"复制\\\",\\n\\t\\\"action.copy-as-json\\\": \\\"复制为 JSON\\\",\\n\\t\\\"action.copy-as-json.short\\\": \\\"JSON\\\",\\n\\t\\\"action.copy-as-png\\\": \\\"复制为 PNG\\\",\\n\\t\\\"action.copy-as-png.short\\\": \\\"PNG\\\",\\n\\t\\\"action.copy-as-svg\\\": \\\"复制为 SVG\\\",\\n\\t\\\"action.copy-as-svg.short\\\": \\\"SVG\\\",\\n\\t\\\"action.cut\\\": \\\"剪切\\\",\\n\\t\\\"action.delete\\\": \\\"删除\\\",\\n\\t\\\"action.distribute-horizontal\\\": \\\"横向分布\\\",\\n\\t\\\"action.distribute-horizontal.short\\\": \\\"横向分布\\\",\\n\\t\\\"action.distribute-vertical\\\": \\\"纵向分布\\\",\\n\\t\\\"action.distribute-vertical.short\\\": \\\"纵向分布\\\",\\n\\t\\\"action.duplicate\\\": \\\"复制\\\",\\n\\t\\\"action.edit-link\\\": \\\"编辑链接\\\",\\n\\t\\\"action.exit-pen-mode\\\": \\\"退出钢笔模式\\\",\\n\\t\\\"action.export-as-json\\\": \\\"导出为 JSON\\\",\\n\\t\\\"action.export-as-json.short\\\": \\\"JSON\\\",\\n\\t\\\"action.export-as-png\\\": \\\"导出为 PNG\\\",\\n\\t\\\"action.export-as-png.short\\\": \\\"PNG\\\",\\n\\t\\\"action.export-as-svg\\\": \\\"导出为 SVG\\\",\\n\\t\\\"action.export-as-svg.short\\\": \\\"SVG\\\",\\n\\t\\\"action.fit-frame-to-content\\\": \\\"适合于内容\\\",\\n\\t\\\"action.flip-horizontal\\\": \\\"水平翻转\\\",\\n\\t\\\"action.flip-horizontal.short\\\": \\\"水平翻转\\\",\\n\\t\\\"action.flip-vertical\\\": \\\"垂直翻转\\\",\\n\\t\\\"action.flip-vertical.short\\\": \\\"垂直翻转\\\",\\n\\t\\\"action.fork-project\\\": \\\"Fork 这个项目\\\",\\n\\t\\\"action.group\\\": \\\"分组\\\",\\n\\t\\\"action.insert-embed\\\": \\\"创建嵌入\\\",\\n\\t\\\"action.insert-media\\\": \\\"上传媒体文件\\\",\\n\\t\\\"action.leave-shared-project\\\": \\\"退出共享项目\\\",\\n\\t\\\"action.new-project\\\": \\\"新项目\\\",\\n\\t\\\"action.new-shared-project\\\": \\\"新建共享项目\\\",\\n\\t\\\"action.open-cursor-chat\\\": \\\"Cursor Chat\\\",\\n\\t\\\"action.open-embed-link\\\": \\\"打开链接\\\",\\n\\t\\\"action.open-file\\\": \\\"打开文件\\\",\\n\\t\\\"action.pack\\\": \\\"打包\\\",\\n\\t\\\"action.paste\\\": \\\"粘贴\\\",\\n\\t\\\"action.print\\\": \\\"打印\\\",\\n\\t\\\"action.redo\\\": \\\"重做\\\",\\n\\t\\\"action.remove-frame\\\": \\\"移除框架\\\",\\n\\t\\\"action.rotate-ccw\\\": \\\"逆时针旋转\\\",\\n\\t\\\"action.rotate-cw\\\": \\\"顺时针旋转\\\",\\n\\t\\\"action.save-copy\\\": \\\"保存副本\\\",\\n\\t\\\"action.select-all\\\": \\\"选中全部\\\",\\n\\t\\\"action.select-none\\\": \\\"取消选中\\\",\\n\\t\\\"action.send-backward\\\": \\\"下移一层\\\",\\n\\t\\\"action.send-to-back\\\": \\\"置底\\\",\\n\\t\\\"action.share-project\\\": \\\"共享此项目\\\",\\n\\t\\\"action.stack-horizontal\\\": \\\"横排\\\",\\n\\t\\\"action.stack-horizontal.short\\\": \\\"横排\\\",\\n\\t\\\"action.stack-vertical\\\": \\\"竖排\\\",\\n\\t\\\"action.stack-vertical.short\\\": \\\"竖排\\\",\\n\\t\\\"action.stop-following\\\": \\\"停止跟踪\\\",\\n\\t\\\"action.stretch-horizontal\\\": \\\"水平拉伸\\\",\\n\\t\\\"action.stretch-horizontal.short\\\": \\\"水平拉伸\\\",\\n\\t\\\"action.stretch-vertical\\\": \\\"垂直拉伸\\\",\\n\\t\\\"action.stretch-vertical.short\\\": \\\"垂直拉伸\\\",\\n\\t\\\"action.toggle-auto-size\\\": \\\"切换自动大小\\\",\\n\\t\\\"action.toggle-dark-mode\\\": \\\"切换暗黑模式\\\",\\n\\t\\\"action.toggle-dark-mode.menu\\\": \\\"暗黑模式\\\",\\n\\t\\\"action.toggle-debug-mode\\\": \\\"切换调试模式\\\",\\n\\t\\\"action.toggle-debug-mode.menu\\\": \\\"调试模式\\\",\\n\\t\\\"action.toggle-focus-mode\\\": \\\"切换专注模式\\\",\\n\\t\\\"action.toggle-focus-mode.menu\\\": \\\"专注模式\\\",\\n\\t\\\"action.toggle-grid\\\": \\\"切换网格\\\",\\n\\t\\\"action.toggle-grid.menu\\\": \\\"显示网格\\\",\\n\\t\\\"action.toggle-lock\\\": \\\"锁定/解锁\\\",\\n\\t\\\"action.toggle-reduce-motion\\\": \\\"切换降低灵敏度\\\",\\n\\t\\\"action.toggle-reduce-motion.menu\\\": \\\"降低灵敏度\\\",\\n\\t\\\"action.toggle-snap-mode\\\": \\\"切换始终吸附\\\",\\n\\t\\\"action.toggle-snap-mode.menu\\\": \\\"始终吸附\\\",\\n\\t\\\"action.toggle-tool-lock\\\": \\\"切换工具锁定\\\",\\n\\t\\\"action.toggle-tool-lock.menu\\\": \\\"工具锁定\\\",\\n\\t\\\"action.toggle-transparent\\\": \\\"切换透明背景\\\",\\n\\t\\\"action.toggle-transparent.context-menu\\\": \\\"透明\\\",\\n\\t\\\"action.toggle-transparent.menu\\\": \\\"透明\\\",\\n\\t\\\"action.undo\\\": \\\"撤销\\\",\\n\\t\\\"action.ungroup\\\": \\\"取消分组\\\",\\n\\t\\\"action.unlock-all\\\": \\\"全部解锁\\\",\\n\\t\\\"action.zoom-in\\\": \\\"放大\\\",\\n\\t\\\"action.zoom-out\\\": \\\"缩小\\\",\\n\\t\\\"action.zoom-to-100\\\": \\\"缩放至 100%\\\",\\n\\t\\\"action.zoom-to-fit\\\": \\\"自适应缩放\\\",\\n\\t\\\"action.zoom-to-selection\\\": \\\"缩放至显示选中内容\\\",\\n\\t\\\"actions-menu.title\\\": \\\"操作\\\",\\n\\t\\\"align-style.end\\\": \\\"结束\\\",\\n\\t\\\"align-style.justify\\\": \\\"两端对齐\\\",\\n\\t\\\"align-style.middle\\\": \\\"中间\\\",\\n\\t\\\"align-style.start\\\": \\\"开始\\\",\\n\\t\\\"arrowheadEnd-style.arrow\\\": \\\"箭头\\\",\\n\\t\\\"arrowheadEnd-style.bar\\\": \\\"条\\\",\\n\\t\\\"arrowheadEnd-style.diamond\\\": \\\"菱形\\\",\\n\\t\\\"arrowheadEnd-style.dot\\\": \\\"点\\\",\\n\\t\\\"arrowheadEnd-style.inverted\\\": \\\"反转\\\",\\n\\t\\\"arrowheadEnd-style.none\\\": \\\"无\\\",\\n\\t\\\"arrowheadEnd-style.pipe\\\": \\\"管道\\\",\\n\\t\\\"arrowheadEnd-style.square\\\": \\\"正方形\\\",\\n\\t\\\"arrowheadEnd-style.triangle\\\": \\\"三角形\\\",\\n\\t\\\"arrowheadStart-style.arrow\\\": \\\"箭头\\\",\\n\\t\\\"arrowheadStart-style.bar\\\": \\\"条\\\",\\n\\t\\\"arrowheadStart-style.diamond\\\": \\\"菱形\\\",\\n\\t\\\"arrowheadStart-style.dot\\\": \\\"点\\\",\\n\\t\\\"arrowheadStart-style.inverted\\\": \\\"反转\\\",\\n\\t\\\"arrowheadStart-style.none\\\": \\\"无\\\",\\n\\t\\\"arrowheadStart-style.pipe\\\": \\\"管道\\\",\\n\\t\\\"arrowheadStart-style.square\\\": \\\"正方形\\\",\\n\\t\\\"arrowheadStart-style.triangle\\\": \\\"三角形\\\",\\n\\t\\\"color-style.black\\\": \\\"黑色\\\",\\n\\t\\\"color-style.blue\\\": \\\"蓝色\\\",\\n\\t\\\"color-style.green\\\": \\\"绿色\\\",\\n\\t\\\"color-style.grey\\\": \\\"灰色\\\",\\n\\t\\\"color-style.light-blue\\\": \\\"浅蓝色\\\",\\n\\t\\\"color-style.light-green\\\": \\\"浅绿色\\\",\\n\\t\\\"color-style.light-red\\\": \\\"浅红色\\\",\\n\\t\\\"color-style.light-violet\\\": \\\"浅紫色\\\",\\n\\t\\\"color-style.orange\\\": \\\"橙色\\\",\\n\\t\\\"color-style.red\\\": \\\"红色\\\",\\n\\t\\\"color-style.violet\\\": \\\"紫色\\\",\\n\\t\\\"color-style.yellow\\\": \\\"黄色\\\",\\n\\t\\\"context-menu.arrange\\\": \\\"排列\\\",\\n\\t\\\"context-menu.copy-as\\\": \\\"复制为\\\",\\n\\t\\\"context-menu.export-as\\\": \\\"导出为\\\",\\n\\t\\\"context-menu.move-to-page\\\": \\\"移动到页面\\\",\\n\\t\\\"context-menu.reorder\\\": \\\"重新排序\\\",\\n\\t\\\"context.pages.new-page\\\": \\\"新页面\\\",\\n\\t\\\"cursor-chat.type-to-chat\\\": \\\"输入以开始聊天...\\\",\\n\\t\\\"dash-style.dashed\\\": \\\"虚线\\\",\\n\\t\\\"dash-style.dotted\\\": \\\"虚点\\\",\\n\\t\\\"dash-style.draw\\\": \\\"画笔\\\",\\n\\t\\\"dash-style.solid\\\": \\\"实心\\\",\\n\\t\\\"debug-panel.more\\\": \\\"更多\\\",\\n\\t\\\"edit-link-dialog.cancel\\\": \\\"取消\\\",\\n\\t\\\"edit-link-dialog.clear\\\": \\\"清除\\\",\\n\\t\\\"edit-link-dialog.detail\\\": \\\"链接将在新标签页中打开。\\\",\\n\\t\\\"edit-link-dialog.invalid-url\\\": \\\"链接必须是有效 URL。\\\",\\n\\t\\\"edit-link-dialog.save\\\": \\\"继续\\\",\\n\\t\\\"edit-link-dialog.title\\\": \\\"编辑链接\\\",\\n\\t\\\"edit-link-dialog.url\\\": \\\"URL\\\",\\n\\t\\\"edit-pages-dialog.move-down\\\": \\\"下移\\\",\\n\\t\\\"edit-pages-dialog.move-up\\\": \\\"上移\\\",\\n\\t\\\"embed-dialog.back\\\": \\\"返回\\\",\\n\\t\\\"embed-dialog.cancel\\\": \\\"取消\\\",\\n\\t\\\"embed-dialog.create\\\": \\\"创建\\\",\\n\\t\\\"embed-dialog.instruction\\\": \\\"粘贴网站 URL 创建嵌入。\\\",\\n\\t\\\"embed-dialog.invalid-url\\\": \\\"我们无法从该 URL 创建嵌入。\\\",\\n\\t\\\"embed-dialog.title\\\": \\\"创建嵌入\\\",\\n\\t\\\"embed-dialog.url\\\": \\\"URL\\\",\\n\\t\\\"file-system.confirm-clear.cancel\\\": \\\"取消\\\",\\n\\t\\\"file-system.confirm-clear.continue\\\": \\\"继续\\\",\\n\\t\\\"file-system.confirm-clear.description\\\": \\\"创建新项目将清除您当前的项目,并且所有未保存的更改都将丢失。确定要继续吗?\\\",\\n\\t\\\"file-system.confirm-clear.dont-show-again\\\": \\\"不再询问\\\",\\n\\t\\\"file-system.confirm-clear.title\\\": \\\"清空当前项目?\\\",\\n\\t\\\"file-system.confirm-open.cancel\\\": \\\"取消\\\",\\n\\t\\\"file-system.confirm-open.description\\\": \\\"打开文件将替换您的当前项目,任何未保存的更改将丢失。确定要继续吗?\\\",\\n\\t\\\"file-system.confirm-open.dont-show-again\\\": \\\"不再询问\\\",\\n\\t\\\"file-system.confirm-open.open\\\": \\\"打开文件\\\",\\n\\t\\\"file-system.confirm-open.title\\\": \\\"覆盖当前项目?\\\",\\n\\t\\\"file-system.file-open-error.file-format-version-too-new\\\": \\\"您试图打开的文件来自 tldraw 新版本。请重新加载页面,然后重试。\\\",\\n\\t\\\"file-system.file-open-error.generic-corrupted-file\\\": \\\"您试图打开的文件已损坏。\\\",\\n\\t\\\"file-system.file-open-error.not-a-tldraw-file\\\": \\\"您试图打开的文件看起来不像 tldraw 文件。\\\",\\n\\t\\\"file-system.file-open-error.title\\\": \\\"无法打开文件\\\",\\n\\t\\\"file-system.shared-document-file-open-error.description\\\": \\\"不支持从共享项目中打开文件。\\\",\\n\\t\\\"file-system.shared-document-file-open-error.title\\\": \\\"无法打开文件\\\",\\n\\t\\\"fill-style.none\\\": \\\"无\\\",\\n\\t\\\"fill-style.pattern\\\": \\\"图案\\\",\\n\\t\\\"fill-style.semi\\\": \\\"半填充\\\",\\n\\t\\\"fill-style.solid\\\": \\\"实心\\\",\\n\\t\\\"focus-mode.toggle-focus-mode\\\": \\\"切换专注模式\\\",\\n\\t\\\"font-style.draw\\\": \\\"画笔\\\",\\n\\t\\\"font-style.mono\\\": \\\"黑白\\\",\\n\\t\\\"font-style.sans\\\": \\\"无衬线\\\",\\n\\t\\\"font-style.serif\\\": \\\"衬线\\\",\\n\\t\\\"geo-style.arrow-down\\\": \\\"向下箭头\\\",\\n\\t\\\"geo-style.arrow-left\\\": \\\"向左箭头\\\",\\n\\t\\\"geo-style.arrow-right\\\": \\\"向右箭头\\\",\\n\\t\\\"geo-style.arrow-up\\\": \\\"向上箭头\\\",\\n\\t\\\"geo-style.check-box\\\": \\\"复选框\\\",\\n\\t\\\"geo-style.cloud\\\": \\\"云\\\",\\n\\t\\\"geo-style.diamond\\\": \\\"菱形\\\",\\n\\t\\\"geo-style.ellipse\\\": \\\"椭圆形\\\",\\n\\t\\\"geo-style.hexagon\\\": \\\"六边形\\\",\\n\\t\\\"geo-style.octagon\\\": \\\"八边形\\\",\\n\\t\\\"geo-style.oval\\\": \\\"卵形\\\",\\n\\t\\\"geo-style.pentagon\\\": \\\"五边形\\\",\\n\\t\\\"geo-style.rectangle\\\": \\\"矩形\\\",\\n\\t\\\"geo-style.rhombus\\\": \\\"菱形\\\",\\n\\t\\\"geo-style.rhombus-2\\\": \\\"菱形 2\\\",\\n\\t\\\"geo-style.star\\\": \\\"星形\\\",\\n\\t\\\"geo-style.trapezoid\\\": \\\"梯形\\\",\\n\\t\\\"geo-style.triangle\\\": \\\"三角形\\\",\\n\\t\\\"geo-style.x-box\\\": \\\"X 框\\\",\\n\\t\\\"help-menu.about\\\": \\\"关于\\\",\\n\\t\\\"help-menu.discord\\\": \\\"Discord\\\",\\n\\t\\\"help-menu.github\\\": \\\"GitHub\\\",\\n\\t\\\"help-menu.keyboard-shortcuts\\\": \\\"键盘快捷方式\\\",\\n\\t\\\"help-menu.title\\\": \\\"帮助和资源\\\",\\n\\t\\\"help-menu.twitter\\\": \\\"Twitter\\\",\\n\\t\\\"home-project-dialog.description\\\": \\\"这是您的主项目,它只为您而设!\\\",\\n\\t\\\"home-project-dialog.ok\\\": \\\"好的\\\",\\n\\t\\\"home-project-dialog.title\\\": \\\"主项目\\\",\\n\\t\\\"menu.copy-as\\\": \\\"复制为\\\",\\n\\t\\\"menu.edit\\\": \\\"编辑\\\",\\n\\t\\\"menu.export-as\\\": \\\"导出为\\\",\\n\\t\\\"menu.file\\\": \\\"文件\\\",\\n\\t\\\"menu.language\\\": \\\"语言\\\",\\n\\t\\\"menu.preferences\\\": \\\"偏好\\\",\\n\\t\\\"menu.title\\\": \\\"菜单\\\",\\n\\t\\\"menu.view\\\": \\\"视图\\\",\\n\\t\\\"navigation-zone.toggle-minimap\\\": \\\"切换小地图\\\",\\n\\t\\\"navigation-zone.zoom\\\": \\\"缩放\\\",\\n\\t\\\"opacity-style.0.1\\\": \\\"10%\\\",\\n\\t\\\"opacity-style.0.25\\\": \\\"25%\\\",\\n\\t\\\"opacity-style.0.5\\\": \\\"50%\\\",\\n\\t\\\"opacity-style.0.75\\\": \\\"75%\\\",\\n\\t\\\"opacity-style.1\\\": \\\"100%\\\",\\n\\t\\\"page-menu.create-new-page\\\": \\\"创建新页面\\\",\\n\\t\\\"page-menu.edit-done\\\": \\\"完成\\\",\\n\\t\\\"page-menu.edit-start\\\": \\\"编辑\\\",\\n\\t\\\"page-menu.go-to-page\\\": \\\"转到页面\\\",\\n\\t\\\"page-menu.max-page-count-reached\\\": \\\"达到最大页数\\\",\\n\\t\\\"page-menu.new-page-initial-name\\\": \\\"页面 1\\\",\\n\\t\\\"page-menu.submenu.delete\\\": \\\"删除\\\",\\n\\t\\\"page-menu.submenu.duplicate-page\\\": \\\"复制\\\",\\n\\t\\\"page-menu.submenu.move-down\\\": \\\"下移\\\",\\n\\t\\\"page-menu.submenu.move-up\\\": \\\"上移\\\",\\n\\t\\\"page-menu.submenu.rename\\\": \\\"重命名\\\",\\n\\t\\\"page-menu.submenu.title\\\": \\\"菜单\\\",\\n\\t\\\"page-menu.title\\\": \\\"页面\\\",\\n\\t\\\"people-menu.change-color\\\": \\\"更改颜色\\\",\\n\\t\\\"people-menu.change-name\\\": \\\"更改名称\\\",\\n\\t\\\"people-menu.follow\\\": \\\"跟踪\\\",\\n\\t\\\"people-menu.following\\\": \\\"正在跟随\\\",\\n\\t\\\"people-menu.invite\\\": \\\"邀请他人\\\",\\n\\t\\\"people-menu.leading\\\": \\\"跟随\\\",\\n\\t\\\"people-menu.title\\\": \\\"人员\\\",\\n\\t\\\"people-menu.user\\\": \\\"(您)\\\",\\n\\t\\\"rename-project-dialog.cancel\\\": \\\"取消\\\",\\n\\t\\\"rename-project-dialog.rename\\\": \\\"重命名\\\",\\n\\t\\\"rename-project-dialog.title\\\": \\\"项目重命名\\\",\\n\\t\\\"share-menu.copy-link\\\": \\\"复制链接\\\",\\n\\t\\\"share-menu.copy-link-note\\\": \\\"任何人使用此链接都能查看和编辑此项目。\\\",\\n\\t\\\"share-menu.copy-readonly-link\\\": \\\"复制只读链接\\\",\\n\\t\\\"share-menu.copy-readonly-link-note\\\": \\\"任何人使用此链接都能查看(但不能编辑)此项目。\\\",\\n\\t\\\"share-menu.create-snapshot-link\\\": \\\"创建快照链接\\\",\\n\\t\\\"share-menu.default-project-name\\\": \\\"共享项目\\\",\\n\\t\\\"share-menu.fork-note\\\": \\\"基于这个快照创建一个新的共享项目。\\\",\\n\\t\\\"share-menu.offline-note\\\": \\\"共享此项目将以新 URL 创建托管活动副本。您可以与不超过三十人共享此 URL,一起查看和编辑项目。\\\",\\n\\t\\\"share-menu.project-too-large\\\": \\\"抱歉,此项目太大,无法共享。我们正在努力解决!\\\",\\n\\t\\\"share-menu.readonly-link\\\": \\\"只读\\\",\\n\\t\\\"share-menu.save-note\\\": \\\"将这个项目以 .tldr 格式保存到您的电脑上。\\\",\\n\\t\\\"share-menu.share-project\\\": \\\"共享此项目\\\",\\n\\t\\\"share-menu.snapshot-link-note\\\": \\\"截取此项目并将其共享为一个只读的快照链接。\\\",\\n\\t\\\"share-menu.title\\\": \\\"共享\\\",\\n\\t\\\"share-menu.upload-failed\\\": \\\"抱歉,我们目前无法上传您的项目,请重试。如果问题仍然存在,请告诉我们。\\\",\\n\\t\\\"sharing.confirm-leave.cancel\\\": \\\"取消\\\",\\n\\t\\\"sharing.confirm-leave.description\\\": \\\"您确定要退出这个共享项目吗?您可以通过访问它的 URL 以返回。\\\",\\n\\t\\\"sharing.confirm-leave.dont-show-again\\\": \\\"不再询问\\\",\\n\\t\\\"sharing.confirm-leave.leave\\\": \\\"退出\\\",\\n\\t\\\"sharing.confirm-leave.title\\\": \\\"退出当前项目?\\\",\\n\\t\\\"shortcuts-dialog.collaboration\\\": \\\"协作\\\",\\n\\t\\\"shortcuts-dialog.edit\\\": \\\"编辑\\\",\\n\\t\\\"shortcuts-dialog.file\\\": \\\"文件\\\",\\n\\t\\\"shortcuts-dialog.preferences\\\": \\\"偏好\\\",\\n\\t\\\"shortcuts-dialog.title\\\": \\\"键盘快捷方式\\\",\\n\\t\\\"shortcuts-dialog.tools\\\": \\\"工具\\\",\\n\\t\\\"shortcuts-dialog.transform\\\": \\\"转换\\\",\\n\\t\\\"shortcuts-dialog.view\\\": \\\"视图\\\",\\n\\t\\\"size-style.l\\\": \\\"大\\\",\\n\\t\\\"size-style.m\\\": \\\"中\\\",\\n\\t\\\"size-style.s\\\": \\\"小\\\",\\n\\t\\\"size-style.xl\\\": \\\"加大\\\",\\n\\t\\\"spline-style.cubic\\\": \\\"立方形\\\",\\n\\t\\\"spline-style.line\\\": \\\"直线\\\",\\n\\t\\\"status.offline\\\": \\\"离线\\\",\\n\\t\\\"status.online\\\": \\\"在线\\\",\\n\\t\\\"style-panel.align\\\": \\\"对齐\\\",\\n\\t\\\"style-panel.arrowhead-end\\\": \\\"末端\\\",\\n\\t\\\"style-panel.arrowhead-start\\\": \\\"前端\\\",\\n\\t\\\"style-panel.arrowheads\\\": \\\"箭头\\\",\\n\\t\\\"style-panel.color\\\": \\\"颜色\\\",\\n\\t\\\"style-panel.dash\\\": \\\"划线\\\",\\n\\t\\\"style-panel.fill\\\": \\\"填充\\\",\\n\\t\\\"style-panel.font\\\": \\\"字体\\\",\\n\\t\\\"style-panel.geo\\\": \\\"形状\\\",\\n\\t\\\"style-panel.mixed\\\": \\\"混合\\\",\\n\\t\\\"style-panel.opacity\\\": \\\"不透明度\\\",\\n\\t\\\"style-panel.position\\\": \\\"位置\\\",\\n\\t\\\"style-panel.size\\\": \\\"大小\\\",\\n\\t\\\"style-panel.spline\\\": \\\"曲线\\\",\\n\\t\\\"style-panel.title\\\": \\\"样式\\\",\\n\\t\\\"style-panel.vertical-align\\\": \\\"垂直对齐\\\",\\n\\t\\\"toast.close\\\": \\\"关闭\\\",\\n\\t\\\"toast.error.copy-fail.desc\\\": \\\"无法复制图像\\\",\\n\\t\\\"toast.error.copy-fail.title\\\": \\\"复制失败\\\",\\n\\t\\\"toast.error.export-fail.desc\\\": \\\"无法导出图像\\\",\\n\\t\\\"toast.error.export-fail.title\\\": \\\"导出失败\\\",\\n\\t\\\"tool-panel.drawing\\\": \\\"绘图\\\",\\n\\t\\\"tool-panel.more\\\": \\\"更多\\\",\\n\\t\\\"tool-panel.shapes\\\": \\\"形状\\\",\\n\\t\\\"tool.arrow\\\": \\\"箭头\\\",\\n\\t\\\"tool.arrow-down\\\": \\\"向下箭头\\\",\\n\\t\\\"tool.arrow-left\\\": \\\"向左箭头\\\",\\n\\t\\\"tool.arrow-right\\\": \\\"向右箭头\\\",\\n\\t\\\"tool.arrow-up\\\": \\\"向上箭头\\\",\\n\\t\\\"tool.asset\\\": \\\"图片\\\",\\n\\t\\\"tool.check-box\\\": \\\"复选框\\\",\\n\\t\\\"tool.cloud\\\": \\\"云\\\",\\n\\t\\\"tool.diamond\\\": \\\"菱形\\\",\\n\\t\\\"tool.draw\\\": \\\"画笔\\\",\\n\\t\\\"tool.ellipse\\\": \\\"椭圆形\\\",\\n\\t\\\"tool.embed\\\": \\\"嵌入\\\",\\n\\t\\\"tool.eraser\\\": \\\"橡皮\\\",\\n\\t\\\"tool.frame\\\": \\\"框架\\\",\\n\\t\\\"tool.hand\\\": \\\"手形\\\",\\n\\t\\\"tool.hexagon\\\": \\\"六边形\\\",\\n\\t\\\"tool.highlight\\\": \\\"高亮\\\",\\n\\t\\\"tool.laser\\\": \\\"激光笔\\\",\\n\\t\\\"tool.line\\\": \\\"直线\\\",\\n\\t\\\"tool.note\\\": \\\"便笺\\\",\\n\\t\\\"tool.octagon\\\": \\\"八边形\\\",\\n\\t\\\"tool.oval\\\": \\\"卵形\\\",\\n\\t\\\"tool.pentagon\\\": \\\"五边形\\\",\\n\\t\\\"tool.rectangle\\\": \\\"矩形\\\",\\n\\t\\\"tool.rhombus\\\": \\\"菱形\\\",\\n\\t\\\"tool.select\\\": \\\"选择\\\",\\n\\t\\\"tool.star\\\": \\\"星形\\\",\\n\\t\\\"tool.text\\\": \\\"文本\\\",\\n\\t\\\"tool.trapezoid\\\": \\\"梯形\\\",\\n\\t\\\"tool.triangle\\\": \\\"三角形\\\",\\n\\t\\\"tool.x-box\\\": \\\"X 框\\\",\\n\\t\\\"vscode.file-open.backup\\\": \\\"备份\\\",\\n\\t\\\"vscode.file-open.backup-failed\\\": \\\"备份失败:这不是 .tldr 文件。\\\",\\n\\t\\\"vscode.file-open.backup-saved\\\": \\\"备份已保存\\\",\\n\\t\\\"vscode.file-open.desc\\\": \\\"该文件是用较早版本的tldraw创建的。您是否愿意将其更新为新版本?\\\",\\n\\t\\\"vscode.file-open.dont-show-again\\\": \\\"不再询问\\\",\\n\\t\\\"vscode.file-open.open\\\": \\\"继续\\\"\\n}\\n\",\"type\":\"application/json\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/translations/zh-cn.json\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-bottom-center.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-bottom-center.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrowhead-diamond.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrowhead-diamond.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/chevrons-ne.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/chevrons-ne.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/dots-horizontal.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/dots-horizontal.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-arrow-left.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-arrow-left.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/github.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/github.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/reset-zoom.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/reset-zoom.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/stack-horizontal.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/stack-horizontal.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-pencil.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-pencil.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-bottom-left.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-bottom-left.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrowhead-dot.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrowhead-dot.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/chevrons-sw.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/chevrons-sw.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/dots-vertical.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/dots-vertical.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-arrow-right.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-arrow-right.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/group.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/group.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/rotate-ccw.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/rotate-ccw.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/stack-vertical.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/stack-vertical.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-pointer.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-pointer.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-bottom-right.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-bottom-right.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrowhead-none.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrowhead-none.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/clipboard-copied.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/clipboard-copied.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/drag-handle-dots.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/drag-handle-dots.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-arrow-up.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-arrow-up.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/hidden.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/hidden.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/rotate-cw.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/rotate-cw.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/stretch-horizontal.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/stretch-horizontal.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-text.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-text.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-bottom.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-bottom.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrowhead-square.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrowhead-square.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/clipboard-copy.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/clipboard-copy.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/duplicate.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/duplicate.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-check-box.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-check-box.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/image.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/image.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/ruler.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/ruler.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/stretch-vertical.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/stretch-vertical.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/trash.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/trash.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-center-center.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-center-center.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrowhead-triangle-inverted.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrowhead-triangle-inverted.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/code.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/code.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/edit.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/edit.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-cloud.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-cloud.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/info-circle.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/info-circle.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/search.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/search.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/text-align-center.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/text-align-center.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/triangle-down.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/triangle-down.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-center-horizontal.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-center-horizontal.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrowhead-triangle.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrowhead-triangle.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/collab.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/collab.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/external-link.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/external-link.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-diamond.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-diamond.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/leading.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/leading.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/send-backward.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/send-backward.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/text-align-justify.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/text-align-justify.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/triangle-up.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/triangle-up.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-center-left.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-center-left.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/aspect-ratio.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/aspect-ratio.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/color.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/color.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/file.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/file.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-ellipse.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-ellipse.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/link.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/link.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/send-to-back.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/send-to-back.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/text-align-left.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/text-align-left.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/twitter.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/twitter.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-center-right.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-center-right.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/avatar.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/avatar.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/comment.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/comment.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/fill-none.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/fill-none.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-hexagon.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-hexagon.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/lock-small.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/lock-small.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/settings-horizontal.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/settings-horizontal.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/text-align-right.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/text-align-right.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/undo.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/undo.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-center-vertical.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-center-vertical.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/blob.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/blob.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/cross-2.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/cross-2.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/fill-pattern.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/fill-pattern.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-octagon.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-octagon.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/lock.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/lock.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/settings-vertical-1.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/settings-vertical-1.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-arrow.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-arrow.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/ungroup.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/ungroup.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-left.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-left.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/bring-forward.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/bring-forward.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/cross.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/cross.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/fill-semi.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/fill-semi.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-oval.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-oval.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/menu.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/menu.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/settings-vertical.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/settings-vertical.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-embed.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-embed.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/unlock-small.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/unlock-small.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-right.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-right.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/bring-to-front.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/bring-to-front.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/dash-dashed.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/dash-dashed.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/fill-solid.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/fill-solid.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-pentagon.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-pentagon.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/minus.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/minus.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/share-1.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/share-1.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-eraser.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-eraser.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/unlock.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/unlock.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-top-center.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-top-center.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/check.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/check.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/dash-dotted.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/dash-dotted.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/follow.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/follow.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-rectangle.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-rectangle.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/mixed.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/mixed.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/share-2.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/share-2.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-frame.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-frame.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/vertical-align-center.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/vertical-align-center.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-top-left.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-top-left.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/checkbox-checked.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/checkbox-checked.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/dash-draw.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/dash-draw.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/following.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/following.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-rhombus-2.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-rhombus-2.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/pack.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/pack.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/size-extra-large.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/size-extra-large.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-hand.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-hand.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/vertical-align-end.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/vertical-align-end.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-top-right.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-top-right.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/checkbox-empty.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/checkbox-empty.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/dash-solid.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/dash-solid.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/font-draw.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/font-draw.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-rhombus.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-rhombus.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/page.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/page.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/size-large.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/size-large.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-highlight.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-highlight.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/vertical-align-start.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/vertical-align-start.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-top.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/align-top.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/chevron-down.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/chevron-down.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/discord.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/discord.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/font-mono.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/font-mono.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-star.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-star.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/plus.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/plus.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/size-medium.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/size-medium.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-laser.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-laser.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/visible.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/visible.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrow-left.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrow-left.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/chevron-left.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/chevron-left.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/distribute-horizontal.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/distribute-horizontal.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/font-sans.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/font-sans.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-trapezoid.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-trapezoid.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/question-mark-circle.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/question-mark-circle.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/size-small.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/size-small.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-line.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-line.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/warning-triangle.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/warning-triangle.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrowhead-arrow.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrowhead-arrow.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/chevron-right.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/chevron-right.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/distribute-vertical.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/distribute-vertical.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/font-serif.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/font-serif.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-triangle.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-triangle.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/question-mark.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/question-mark.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/spline-cubic.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/spline-cubic.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-media.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-media.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/zoom-in.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/zoom-in.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrowhead-bar.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/arrowhead-bar.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/chevron-up.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/chevron-up.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/dot.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/dot.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-arrow-down.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-arrow-down.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-x-box.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/geo-x-box.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/redo.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/redo.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/spline-line.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/spline-line.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-note.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/tool-note.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/zoom-out.svg\":{\"text\":\"\",\"type\":\"image/svg+xml\",\"title\":\"$:/plugins/linonetwo/tw-whiteboard/assets/icons/icon/zoom-out.svg\"},\"$:/plugins/linonetwo/tw-whiteboard/tree\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/tree\",\"type\":\"text/vnd.tiddlywiki\",\"text\":\"<>\"},\"$:/plugins/linonetwo/tw-whiteboard/widget-loader.js\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/widget-loader.js\",\"text\":\"!function whiteboardWidgetIIFE(){if($tw.browser)try{var r=require(\\\"$:/plugins/linonetwo/tw-whiteboard/widget.js\\\")[\\\"whiteboard\\\"];exports.whiteboard=r,exports[\\\"edit-whiteboard\\\"]=r}catch(t){console.error(\\\"Error loading tw-whiteboard widget\\\",t)}}();\",\"type\":\"application/javascript\",\"module-type\":\"widget\"},\"$:/plugins/linonetwo/tw-whiteboard/widget.js\":{\"title\":\"$:/plugins/linonetwo/tw-whiteboard/widget.js\",\"type\":\"application/javascript\",\"module-type\":\"library\",\"hide-body\":\"yes\",\"Modern.TiddlyDev#Origin\":\"widget.ts\",\"text\":\"\\\"use strict\\\";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__defNormalProp=(e,t,r)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,__esm=(e,t)=>function(){return t=e?(0,e[__getOwnPropNames(e)[0]])(e=0):t},__commonJS=(e,t)=>function(){return t||(0,e[__getOwnPropNames(e)[0]])((t={exports:{}}).exports,t),t.exports},__export=(e,t)=>{for(var r in t)__defProp(e,r,{get:t[r],enumerable:!0})},__copyProps=(t,r,i,n)=>{if(r&&\\\"object\\\"==typeof r||\\\"function\\\"==typeof r)for(let e of __getOwnPropNames(r))__hasOwnProp.call(t,e)||e===i||__defProp(t,e,{get:()=>r[e],enumerable:!(n=__getOwnPropDesc(r,e))||n.enumerable});return t},__toESM=(e,t,r)=>(r=null!=e?__create(__getProtoOf(e)):{},__copyProps(!t&&e&&e.__esModule?r:__defProp(r,\\\"default\\\",{value:e,enumerable:!0}),e)),__publicField=(e,t,r)=>(__defNormalProp(e,\\\"symbol\\\"!=typeof t?t+\\\"\\\":t,r),r),init_esbuild_inject=__esm({\\\"node_modules/.pnpm/tiddlywiki-plugin-dev@0.2.0_postcss@8.4.38_ts-node@10.9.2_@types+node@20.12.12_typescript@5.4.5_/node_modules/tiddlywiki-plugin-dev/dist/js/esbuild-inject.js\\\"(){}}),require_lodash=__commonJS({\\\"node_modules/.pnpm/lodash.isequal@4.5.0/node_modules/lodash.isequal/index.js\\\"(e,t){init_esbuild_inject();var i=\\\"__lodash_hash_undefined__\\\",F=1,W=2,I=9007199254740991,R=\\\"[object Arguments]\\\",N=\\\"[object Array]\\\",j=\\\"[object AsyncFunction]\\\",Y=\\\"[object Boolean]\\\",X=\\\"[object Date]\\\",Z=\\\"[object Error]\\\",T=\\\"[object Function]\\\",E=\\\"[object GeneratorFunction]\\\",L=\\\"[object Map]\\\",J=\\\"[object Number]\\\",P=\\\"[object Null]\\\",V=\\\"[object Object]\\\",C=\\\"[object Promise]\\\",$=\\\"[object Proxy]\\\",Q=\\\"[object RegExp]\\\",U=\\\"[object Set]\\\",ee=\\\"[object String]\\\",te=\\\"[object Symbol]\\\",M=\\\"[object Undefined]\\\",n=\\\"[object WeakMap]\\\",re=\\\"[object ArrayBuffer]\\\",B=\\\"[object DataView]\\\",k=/^\\\\[object .+?Constructor\\\\]$/,A=/^(?:0|[1-9]\\\\d*)$/,r={},o=(r[\\\"[object Float32Array]\\\"]=r[\\\"[object Float64Array]\\\"]=r[\\\"[object Int8Array]\\\"]=r[\\\"[object Int16Array]\\\"]=r[\\\"[object Int32Array]\\\"]=r[\\\"[object Uint8Array]\\\"]=r[\\\"[object Uint8ClampedArray]\\\"]=r[\\\"[object Uint16Array]\\\"]=r[\\\"[object Uint32Array]\\\"]=!0,r[R]=r[N]=r[re]=r[Y]=r[B]=r[X]=r[Z]=r[T]=r[L]=r[J]=r[V]=r[Q]=r[U]=r[ee]=r[n]=!1,\\\"object\\\"==typeof global&&global&&global.Object===Object&&global),a=\\\"object\\\"==typeof self&&self&&self.Object===Object&&self,a=o||a||Function(\\\"return this\\\")(),s=\\\"object\\\"==typeof e&&e&&!e.nodeType&&e,l=s&&\\\"object\\\"==typeof t&&t&&!t.nodeType&&t,l=l&&l.exports===s,D=l&&o.process,s=function(){try{return D&&D.binding&&D.binding(\\\"util\\\")}catch(e){}}(),o=s&&s.isTypedArray;function ie(e){var r=-1,i=Array(e.size);return e.forEach(function(e,t){i[++r]=[t,e]}),i}function ne(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=e}),r}var O,oe,s=Array.prototype,c=Function.prototype,d=Object.prototype,u=a[\\\"__core-js_shared__\\\"],ae=c.toString,z=d.hasOwnProperty,se=(c=/[^.]+$/.exec(u&&u.keys&&u.keys.IE_PROTO||\\\"\\\"))?\\\"Symbol(src)_1.\\\"+c:\\\"\\\",le=d.toString,ce=RegExp(\\\"^\\\"+ae.call(z).replace(/[\\\\\\\\^$.*+?()[\\\\]{}|]/g,\\\"\\\\\\\\$&\\\").replace(/hasOwnProperty|(function).*?(?=\\\\\\\\\\\\()| for .+?(?=\\\\\\\\\\\\])/g,\\\"$1.*?\\\")+\\\"$\\\"),u=l?a.Buffer:void 0,c=a.Symbol,de=a.Uint8Array,ue=d.propertyIsEnumerable,pe=s.splice,p=c?c.toStringTag:void 0,he=Object.getOwnPropertySymbols,l=u?u.isBuffer:void 0,me=(O=Object.keys,oe=Object,function(e){return O(oe(e))}),s=S(a,\\\"DataView\\\"),h=S(a,\\\"Map\\\"),u=S(a,\\\"Promise\\\"),ge=S(a,\\\"Set\\\"),a=S(a,\\\"WeakMap\\\"),m=S(Object,\\\"create\\\"),_e=w(s),fe=w(h),be=w(u),ve=w(ge),xe=w(a),c=c?c.prototype:void 0,ye=c?c.valueOf:void 0;function g(e){var t=-1,r=null==e?0:e.length;for(this.clear();++tn;)!a(i,r=t[n++])||~l(o,r)||d(o,r);return o}}}),require_enum_bug_keys=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/enum-bug-keys.js\\\"(e,t){init_esbuild_inject(),t.exports=[\\\"constructor\\\",\\\"hasOwnProperty\\\",\\\"isPrototypeOf\\\",\\\"propertyIsEnumerable\\\",\\\"toLocaleString\\\",\\\"toString\\\",\\\"valueOf\\\"]}}),require_object_get_own_property_names=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/object-get-own-property-names.js\\\"(e){init_esbuild_inject();var t=require_object_keys_internal(),r=require_enum_bug_keys().concat(\\\"length\\\",\\\"prototype\\\");e.f=Object.getOwnPropertyNames||function(e){return t(e,r)}}}),require_object_get_own_property_symbols=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/object-get-own-property-symbols.js\\\"(e){init_esbuild_inject(),e.f=Object.getOwnPropertySymbols}}),require_own_keys=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/own-keys.js\\\"(e,t){init_esbuild_inject();var r=require_get_built_in(),i=require_function_uncurry_this(),n=require_object_get_own_property_names(),o=require_object_get_own_property_symbols(),a=require_an_object(),s=i([].concat);t.exports=r(\\\"Reflect\\\",\\\"ownKeys\\\")||function(e){var t=n.f(a(e)),r=o.f;return r?s(t,r(e)):t}}}),require_copy_constructor_properties=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/copy-constructor-properties.js\\\"(e,t){init_esbuild_inject();var l=require_has_own_property(),c=require_own_keys(),d=require_object_get_own_property_descriptor(),u=require_object_define_property();t.exports=function(e,t,r){for(var i=c(t),n=u.f,o=d.f,a=0;a\\\"+e+\\\"\\\"},g=function(e){e.write(m(\\\"\\\")),e.close();var t=e.parentWindow.Object;return e=null,t},_=function(){try{n=new ActiveXObject(\\\"htmlfile\\\")}catch(i){}_=\\\"undefined\\\"==typeof document||document.domain&&n?g(n):(e=l(\\\"iframe\\\"),t=\\\"java\\\"+u+\\\":\\\",e.style.display=\\\"none\\\",s.appendChild(e),e.src=String(t),(t=e.contentWindow.document).open(),t.write(m(\\\"document.F=Object\\\")),t.close(),t.F);for(var e,t,r=a.length;r--;)delete _[d][a[r]];return _()};r[p]=!0,t.exports=Object.create||function(e,t){var r;return null!==e?(h[d]=i(e),r=new h,h[d]=null,r[p]=e):r=_(),void 0===t?r:o.f(r,t)}}}),require_add_to_unscopables=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/add-to-unscopables.js\\\"(e,t){init_esbuild_inject();var r=require_well_known_symbol(),i=require_object_create(),n=require_object_define_property().f,o=r(\\\"unscopables\\\"),a=Array.prototype;void 0===a[o]&&n(a,o,{configurable:!0,value:i(null)}),t.exports=function(e){a[o][e]=!0}}}),require_es_array_at=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/modules/es.array.at.js\\\"(){init_esbuild_inject();var e=require_export(),n=require_to_object(),o=require_length_of_array_like(),a=require_to_integer_or_infinity(),t=require_add_to_unscopables();e({target:\\\"Array\\\",proto:!0},{at:function(e){var t=n(this),r=o(t),i=a(e),i=0<=i?i:r+i;return i<0||r<=i?void 0:t[i]}}),t(\\\"at\\\")}}),require_entry_unbind=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/entry-unbind.js\\\"(e,t){init_esbuild_inject();var r=require_global(),i=require_function_uncurry_this();t.exports=function(e,t){return i(r[e].prototype[t])}}}),require_at=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/es/array/at.js\\\"(e,t){init_esbuild_inject(),require_es_array_at();var r=require_entry_unbind();t.exports=r(\\\"Array\\\",\\\"at\\\")}}),require_at2=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/stable/array/at.js\\\"(e,t){init_esbuild_inject();var r=require_at();t.exports=r}}),require_is_array=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/is-array.js\\\"(e,t){init_esbuild_inject();var r=require_classof_raw();t.exports=Array.isArray||function(e){return\\\"Array\\\"===r(e)}}}),require_does_not_exceed_safe_integer=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/does-not-exceed-safe-integer.js\\\"(e,t){init_esbuild_inject();var r=TypeError;t.exports=function(e){if(9007199254740991b)\\\",\\\"g\\\");return\\\"b\\\"!==e.exec(\\\"b\\\").groups.a||\\\"bc\\\"!==\\\"b\\\".replace(e,\\\"$c\\\")})}}),require_regexp_exec=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/regexp-exec.js\\\"(e,t){init_esbuild_inject();var g=require_function_call(),r=require_function_uncurry_this(),_=require_to_string(),f=require_regexp_flags(),i=require_regexp_sticky_helpers(),n=require_shared(),b=require_object_create(),v=require_internal_state().get,o=require_regexp_unsupported_dot_all(),a=require_regexp_unsupported_ncg(),x=n(\\\"native-string-replace\\\",String.prototype.replace),y=RegExp.prototype.exec,S=y,w=r(\\\"\\\".charAt),I=r(\\\"\\\".indexOf),j=r(\\\"\\\".replace),T=r(\\\"\\\".slice),E=(n=/b*/g,g(y,r=/a/,\\\"a\\\"),g(y,n,\\\"a\\\"),0!==r.lastIndex||0!==n.lastIndex),P=i.BROKEN_CARET,C=void 0!==/()??/.exec(\\\"\\\")[1];(E||C||P||o||a)&&(S=function(e){var t,r,i,n,o,a,s=this,l=v(s),c=_(e),d=l.raw;if(d)return d.lastIndex=s.lastIndex,p=g(S,d,c),s.lastIndex=d.lastIndex,p;var u=l.groups,d=P&&s.sticky,p=g(f,s),l=s.source,h=0,m=c;if(d&&(p=j(p,\\\"y\\\",\\\"\\\"),-1===I(p,\\\"g\\\")&&(p+=\\\"g\\\"),m=T(c,s.lastIndex),0]*>)/g,_=/\\\\$([$&'`]|\\\\d{1,2})/g;t.exports=function(o,a,s,l,c,e){var d=s+o.length,u=l.length,t=_;return void 0!==c&&(c=i(c),t=g),n(e,t,function(e,t){var r;switch(h(t,0)){case\\\"$\\\":return\\\"$\\\";case\\\"&\\\":return o;case\\\"`\\\":return m(a,0,s);case\\\"'\\\":return m(a,d);case\\\"<\\\":r=c[m(t,1,-1)];break;default:var i,n=+t;if(0==n)return e;if(u\\\")})||!e||i)}}),require_is_regexp=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/is-regexp.js\\\"(e,t){init_esbuild_inject();var r=require_is_object(),i=require_classof_raw(),n=require_well_known_symbol()(\\\"match\\\");t.exports=function(e){var t;return r(e)&&(void 0!==(t=e[n])?!!t:\\\"RegExp\\\"===i(e))}}}),require_regexp_get_flags=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/internals/regexp-get-flags.js\\\"(e,t){init_esbuild_inject();var r=require_function_call(),i=require_has_own_property(),n=require_object_is_prototype_of(),o=require_regexp_flags(),a=RegExp.prototype;t.exports=function(e){var t=e.flags;return void 0!==t||\\\"flags\\\"in a||i(e,\\\"flags\\\")||!n(a,e)?t:r(o,e)}}}),require_es_string_replace_all=__commonJS({\\\"node_modules/.pnpm/core-js@3.32.2/node_modules/core-js/modules/es.string.replace-all.js\\\"(){init_esbuild_inject();var e=require_export(),m=require_function_call(),t=require_function_uncurry_this(),g=require_require_object_coercible(),_=require_is_callable(),f=require_is_null_or_undefined(),b=require_is_regexp(),v=require_to_string(),x=require_get_method(),y=require_regexp_get_flags(),S=require_get_substitution(),r=require_well_known_symbol(),w=require_is_pure(),I=r(\\\"replace\\\"),j=TypeError,T=t(\\\"\\\".indexOf),E=t(\\\"\\\".replace),P=t(\\\"\\\".slice),C=Math.max,$=function(e,t,r){return r>e.length?-1:\\\"\\\"===t?r:T(e,t,r)};e({target:\\\"String\\\",proto:!0},{replaceAll:function(e,t){var r,i,n,o,a,s,l,c,d=g(this),u=0,p=0,h=\\\"\\\";if(!f(e)){if((r=b(e))&&(i=v(g(y(e))),!~T(i,\\\"g\\\")))throw j(\\\"`.replaceAll` does not allow non-global regexes\\\");if(i=x(e,I))return m(i,e,d,t);if(w&&r)return E(v(d),e,t)}for(n=v(d),o=v(e),(a=_(t))||(t=v(t)),s=o.length,l=C(1,s),u=$(n,o,0);-1!==u;)c=a?v(t(o,u,n)):S(o,n,u,[],void 0,t),h+=P(n,p,u)+c,p=u+s,u=$(n,o,u+l);return p>>8,r[2*i+1]=o%256}return r},decompressFromUint8Array:function(e){if(null==e)return a.decompress(e);for(var t=new Array(e.length/2),r=0,i=t.length;r>=1}else{for(n=1,i=0;i>=1}0==--d&&(d=Math.pow(2,p),p++),delete l[c]}else for(n=s[c],i=0;i>=1;0==--d&&(d=Math.pow(2,p),p++),s[a]=u++,c=String(o)}if(\\\"\\\"!==c){if(Object.prototype.hasOwnProperty.call(l,c)){if(c.charCodeAt(0)<256){for(i=0;i>=1}else{for(n=1,i=0;i>=1}0==--d&&(d=Math.pow(2,p),p++),delete l[c]}else for(n=s[c],i=0;i>=1;0==--d&&(d=Math.pow(2,p),p++)}for(n=2,i=0;i>=1;for(;;){if(m<<=1,g==t-1){h.push(r(m));break}g++}return h.join(\\\"\\\")},decompress:function(t){return null==t?\\\"\\\":\\\"\\\"==t?null:a._decompress(t.length,32768,function(e){return t.charCodeAt(e)})},_decompress:function(e,t,r){for(var i,n,o,a,s,l,c=[],d=4,u=4,p=3,h=\\\"\\\",m=[],g={val:r(0),position:t,index:1},_=0;_<3;_+=1)c[_]=_;for(n=0,a=Math.pow(2,2),s=1;s!=a;)o=g.val&g.position,g.position>>=1,0==g.position&&(g.position=t,g.val=r(g.index++)),n|=(0>=1,0==g.position&&(g.position=t,g.val=r(g.index++)),n|=(0>=1,0==g.position&&(g.position=t,g.val=r(g.index++)),n|=(0>=1,0==g.position&&(g.position=t,g.val=r(g.index++)),n|=(0>=1,0==g.position&&(g.position=t,g.val=r(g.index++)),n|=(0>=1,0==g.position&&(g.position=t,g.val=r(g.index++)),n|=(0>\\\",e={array:t(\\\"array\\\"),bigint:t(\\\"bigint\\\"),bool:t(\\\"boolean\\\"),func:t(\\\"function\\\"),number:t(\\\"number\\\"),object:t(\\\"object\\\"),string:t(\\\"string\\\"),symbol:t(\\\"symbol\\\"),any:r(n),arrayOf:function(l){return r(function(e,t,r,i,n){if(\\\"function\\\"!=typeof l)return new h(\\\"Property `\\\"+n+\\\"` of component `\\\"+r+\\\"` has invalid PropType notation inside arrayOf.\\\");var o=e[t];if(!Array.isArray(o))return new h(\\\"Invalid \\\"+i+\\\" `\\\"+n+\\\"` of type `\\\"+m(o)+\\\"` supplied to `\\\"+r+\\\"`, expected an array.\\\");for(var a=0;a{if(r.children.remove(i)&&r.children.isEmpty&&isChild(r))for(let e=0,t=r.parents.length;e{if(r.children.add(i)&&isChild(r))for(let e=0,t=r.parents.length;eObject.freeze([])),ARRAY_SIZE_THRESHOLD=(init_esbuild_inject(),init_esbuild_inject(),8),ArraySet=class{constructor(){__publicField(this,\\\"arraySize\\\",0),__publicField(this,\\\"array\\\",Array(ARRAY_SIZE_THRESHOLD)),__publicField(this,\\\"set\\\",null)}get isEmpty(){if(this.array)return 0===this.arraySize;if(this.set)return 0===this.set.size;throw new Error(\\\"no set or array\\\")}add(e){if(this.array)return-1===this.array.indexOf(e)&&(this.arraySize({stack:null}));function startCapturingParents(e){inst.stack=new CaptureStackFrame(inst.stack,e),e.parentSet.clear()}function stopCapturingParents(){var t=inst.stack;if(inst.stack=t.below,t.offset{this._isActivelyListening&&this.execute()}),this.name=e,this.runEffect=t,this._scheduleEffect=null==r?void 0:r.scheduleEffect}get isActivelyListening(){return this._isActivelyListening}get scheduleCount(){return this._scheduleCount}maybeScheduleEffect(){this._isActivelyListening&&this.lastReactedEpoch!==getGlobalEpoch()&&(this.parents.length&&!haveParentsChanged(this)?this.lastReactedEpoch=getGlobalEpoch():this.scheduleEffect())}scheduleEffect(){this._scheduleCount++,this._scheduleEffect?this._scheduleEffect(this.maybeExecute):this.execute()}attach(){this._isActivelyListening=!0;for(let e=0,t=this.parents.length;e__EffectScheduler__);function react(e,t,r){const i=new EffectScheduler(e,t,r);return i.attach(),i.scheduleEffect(),()=>{i.detach()}}function reactor(e,t,r){const i=new EffectScheduler(e,t,r);return{scheduler:i,start:e=>{var t=null!=(t=null==e?void 0:e.force)&&t;i.attach(),t?i.scheduleEffect():i.maybeScheduleEffect()},stop:()=>{i.detach()}}}var Transaction=class{constructor(e){__publicField(this,\\\"initialAtomValues\\\",new Map),this.parent=e}get isRoot(){return null===this.parent}commit(){var e;this.isRoot?(e=this.initialAtomValues,this.initialAtomValues=new Map,flushChanges(e.keys())):this.initialAtomValues.forEach((e,t)=>{this.parent.initialAtomValues.has(t)||this.parent.initialAtomValues.set(t,e)})}abort(){inst2.globalEpoch++,this.initialAtomValues.forEach((e,t)=>{var r;t.set(e),null!=(r=t.historyBuffer)&&r.clear()}),this.commit()}},inst2=singleton(\\\"transactions\\\",()=>({globalEpoch:GLOBAL_START_EPOCH+1,globalIsReacting:!1,currentTransaction:null}));function getGlobalEpoch(){return inst2.globalEpoch}function flushChanges(e){if(inst2.globalIsReacting)throw new Error(\\\"cannot change atoms during reaction cycle\\\");try{inst2.globalIsReacting=!0;const t=new Set,r=e=>{e.lastTraversedEpoch!==inst2.globalEpoch&&(e.lastTraversedEpoch=inst2.globalEpoch,e instanceof EffectScheduler?t.add(e):e.children.visit(r))};for(const i of e)i.children.visit(r);for(const n of t)n.maybeScheduleEffect()}finally{inst2.globalIsReacting=!1}}function atomDidChange(e,t){inst2.currentTransaction?inst2.currentTransaction.initialAtomValues.has(e)||inst2.currentTransaction.initialAtomValues.set(e,t):flushChanges([e])}function advanceGlobalEpoch(){inst2.globalEpoch++}function transaction(t){var r=new Transaction(inst2.currentTransaction);inst2.currentTransaction=r;try{let e=!1;var i=t(()=>e=!0);return e?r.abort():r.commit(),i}catch(e){throw r.abort(),e}finally{inst2.currentTransaction=inst2.currentTransaction.parent}}function transact(e){return inst2.currentTransaction?e():transaction(e)}var __Atom__=class{constructor(e,t,r){var i;__publicField(this,\\\"isEqual\\\"),__publicField(this,\\\"computeDiff\\\"),__publicField(this,\\\"lastChangedEpoch\\\",getGlobalEpoch()),__publicField(this,\\\"children\\\",new ArraySet),__publicField(this,\\\"historyBuffer\\\"),this.name=e,this.current=t,this.isEqual=null!=(i=null==r?void 0:r.isEqual)?i:null,r&&(r.historyLength&&(this.historyBuffer=new HistoryBuffer(r.historyLength)),this.computeDiff=r.computeDiff)}__unsafe__getWithoutCapture(e){return this.current}get(){return maybeCaptureParent(this),this.current}set(e,t){if(null!=(r=null==(r=this.isEqual)?void 0:r.call(this,this.current,e))?r:equals(this.current,e))return this.current;advanceGlobalEpoch(),this.historyBuffer&&this.historyBuffer.pushEntry(this.lastChangedEpoch,getGlobalEpoch(),null!=(r=null!=t?t:null==(r=this.computeDiff)?void 0:r.call(this,this.current,e,this.lastChangedEpoch,getGlobalEpoch()))?r:RESET_VALUE),this.lastChangedEpoch=getGlobalEpoch();var r=this.current;return this.current=e,atomDidChange(this,r),e}update(e){return this.set(e(this.current))}getDiffSince(e){var t;return maybeCaptureParent(this),e>=this.lastChangedEpoch?EMPTY_ARRAY:null!=(t=null==(t=this.historyBuffer)?void 0:t.getChangesSince(e))?t:RESET_VALUE}},_Atom=singleton(\\\"Atom\\\",()=>__Atom__);function atom(e,t,r){return new _Atom(e,t,r)}init_esbuild_inject(),init_esbuild_inject();var didWarnComputedGetter=!1;function logComputedGetterWarning(){didWarnComputedGetter||(didWarnComputedGetter=!0,console.warn(\\\"Using `@computed` as a decorator for getters is deprecated and will be removed in the near future. Please refactor to use `@computed` as a decorator for methods.\\\\n\\\\n// Before\\\\n@computed\\\\nget foo() {\\\\n\\\\treturn 'foo'\\\\n}\\\\n\\\\n// After\\\\n@computed\\\\ngetFoo() {\\\\n\\\\treturn 'foo'\\\\n}\\\\n\\\"))}var UNINITIALIZED=Symbol[\\\"for\\\"](\\\"com.tldraw.state/UNINITIALIZED\\\"),isUninitialized=e=>e===UNINITIALIZED,WithDiff=singleton(\\\"WithDiff\\\",()=>class{constructor(e,t){this.value=e,this.diff=t}});function withDiff(e,t){return new WithDiff(e,t)}var __UNSAFE__Computed=class{constructor(e,t,r){var i;__publicField(this,\\\"lastChangedEpoch\\\",GLOBAL_START_EPOCH),__publicField(this,\\\"lastTraversedEpoch\\\",GLOBAL_START_EPOCH),__publicField(this,\\\"lastCheckedEpoch\\\",GLOBAL_START_EPOCH),__publicField(this,\\\"parentSet\\\",new ArraySet),__publicField(this,\\\"parents\\\",[]),__publicField(this,\\\"parentEpochs\\\",[]),__publicField(this,\\\"children\\\",new ArraySet),__publicField(this,\\\"historyBuffer\\\"),__publicField(this,\\\"state\\\",UNINITIALIZED),__publicField(this,\\\"error\\\",null),__publicField(this,\\\"computeDiff\\\"),__publicField(this,\\\"isEqual\\\"),this.name=e,this.derive=t,null!=r&&r.historyLength&&(this.historyBuffer=new HistoryBuffer(r.historyLength)),this.computeDiff=null==r?void 0:r.computeDiff,this.isEqual=null!=(i=null==r?void 0:r.isEqual)?i:equals}get isActivelyListening(){return!this.children.isEmpty}__unsafe__getWithoutCapture(e){var t,r;if(!(this.lastChangedEpoch===GLOBAL_START_EPOCH||this.lastCheckedEpoch!==getGlobalEpoch()&&haveParentsChanged(this))){if(this.lastCheckedEpoch=getGlobalEpoch(),this.error){if(e)return this.state;throw this.error.thrownValue}return this.state}try{startCapturingParents(this);var i,n=this.derive(this.state,this.lastCheckedEpoch),o=n instanceof WithDiff?n.value:n,a=this.state===UNINITIALIZED;return!a&&this.isEqual(o,this.state)||(this.historyBuffer&&!a&&(i=n instanceof WithDiff?n.diff:void 0,this.historyBuffer.pushEntry(this.lastChangedEpoch,getGlobalEpoch(),null!=(r=null!=i?i:null==(t=this.computeDiff)?void 0:t.call(this,this.state,o,this.lastCheckedEpoch,getGlobalEpoch()))?r:RESET_VALUE)),this.lastChangedEpoch=getGlobalEpoch(),this.state=o),this.error=null,this.lastCheckedEpoch=getGlobalEpoch(),this.state}catch(s){if(this.state!==UNINITIALIZED&&(this.state=UNINITIALIZED,this.lastChangedEpoch=getGlobalEpoch()),this.lastCheckedEpoch=getGlobalEpoch(),this.historyBuffer&&this.historyBuffer.clear(),this.error={thrownValue:s},e)return this.state;throw s}finally{stopCapturingParents()}}get(){try{return this.__unsafe__getWithoutCapture()}finally{maybeCaptureParent(this)}}getDiffSince(e){var t;return this.__unsafe__getWithoutCapture(!0),maybeCaptureParent(this),e>=this.lastChangedEpoch?EMPTY_ARRAY:null!=(t=null==(t=this.historyBuffer)?void 0:t.getChangesSince(e))?t:RESET_VALUE}},_Computed=singleton(\\\"Computed\\\",()=>__UNSAFE__Computed);function computedMethodAnnotation(t={},e,r,i){const n=i.value,o=Symbol[\\\"for\\\"](\\\"__@tldraw/state__computed__\\\"+r);return i.value=function(){let e=this[o];return e||(e=new _Computed(r,n.bind(this),t),Object.defineProperty(this,o,{enumerable:!1,configurable:!1,writable:!1,value:e})),e.get()},i.value[isComputedMethodKey]=!0,i}function computedAnnotation(e={},t,r,i){return(i.get?(logComputedGetterWarning(),computedGetterAnnotation):computedMethodAnnotation)(e,t,r,i)}function computedGetterAnnotation(t={},e,r,i){const n=i.get,o=Symbol[\\\"for\\\"](\\\"__@tldraw/state__computed__\\\"+r);return i.get=function(){let e=this[o];return e||(e=new _Computed(r,n.bind(this),t),Object.defineProperty(this,o,{enumerable:!1,configurable:!1,writable:!1,value:e})),e.get()},i}var isComputedMethodKey=\\\"@@__isComputedMethod__@@\\\";function computed(){if(1!==arguments.length)return\\\"string\\\"==typeof arguments[0]?new _Computed(arguments[0],arguments[1],arguments[2]):computedAnnotation(void 0,arguments[0],arguments[1],arguments[2]);{const i=arguments[0];return(e,t,r)=>computedAnnotation(i,e,t,r)}}init_esbuild_inject();var currentApiVersion=1,actualApiVersion=singleton(\\\"apiVersion\\\",()=>currentApiVersion);if(actualApiVersion!==currentApiVersion)throw new Error(\\\"You have multiple incompatible versions of @tldraw/state in your app. Please deduplicate the package.\\\");init_esbuild_inject(),init_esbuild_inject();var import_react2=require(\\\"react\\\"),import_react=(init_esbuild_inject(),__toESM(require(\\\"react\\\"),1));function useStateTracking(r,e){const i=import_react[\\\"default\\\"].useRef(e),[t,n,o]=(i.current=e,import_react[\\\"default\\\"].useMemo(()=>{let t=null;const e=new EffectScheduler(\\\"useStateTracking(\\\".concat(r,\\\")\\\"),()=>{var e;return null==(e=i.current)?void 0:e.call(i)},{scheduleEffect(){null!=t&&t()}});return[e,e=>(t=e,()=>{t=null}),()=>e.scheduleCount]},[r]));return import_react[\\\"default\\\"].useSyncExternalStore(n,o,o),import_react[\\\"default\\\"].useEffect(()=>(t.attach(),t.maybeScheduleEffect(),()=>{t.detach()}),[t]),t.execute()}var ProxyHandlers={apply(e,t,r){var i;return useStateTracking(null!=(i=null!=(i=e.displayName)?i:e.name)?i:\\\"tracked(???)\\\",()=>e.apply(t,r))}},ReactMemoSymbol=Symbol[\\\"for\\\"](\\\"react.memo\\\"),ReactForwardRefSymbol=Symbol[\\\"for\\\"](\\\"react.forward_ref\\\");function track(e){let t=null;var r=e.$$typeof;return r===ReactMemoSymbol&&(e=e.type,t=e.compare),r===ReactForwardRefSymbol?(0,import_react2.memo)((0,import_react2.forwardRef)(new Proxy(e.render,ProxyHandlers))):(0,import_react2.memo)(new Proxy(e,ProxyHandlers),t)}init_esbuild_inject();var import_react3=require(\\\"react\\\"),import_react4=(init_esbuild_inject(),require(\\\"react\\\"));function useComputed(){const e=arguments[0],t=arguments[1],r=3===arguments.length?void 0:arguments[2];return(0,import_react4.useMemo)(()=>computed(\\\"useComputed(\\\".concat(e,\\\")\\\"),t,r),3===arguments.length?arguments[2]:arguments[3])}init_esbuild_inject();var import_react5=require(\\\"react\\\");function useQuickReactor(t,r,e=EMPTY_ARRAY){(0,import_react5.useEffect)(()=>{const e=new EffectScheduler(t,r);return e.attach(),e.execute(),()=>{e.detach()}},e)}init_esbuild_inject();var import_react6=require(\\\"react\\\"),import_react7=(init_esbuild_inject(),require(\\\"react\\\"));function useValue(){const e=arguments;var t=3===e.length?e[2]:[e[0]];const r=3===e.length?e[0]:\\\"useValue(\\\".concat(e[0].name,\\\")\\\"),i=(0,import_react7.useRef)(!0),n=(i.current=!0,(0,import_react7.useMemo)(()=>1===e.length?e[0]:computed(r,()=>{if(i.current)return e[1]();try{return e[1]()}catch{return{}}}),t));try{var{subscribe:o,getSnapshot:a}=(0,import_react7.useMemo)(()=>({subscribe:e=>react(\\\"useValue(\\\".concat(r,\\\")\\\"),()=>{n.get(),e()}),getSnapshot:()=>n.get()}),[n]);return(0,import_react7.useSyncExternalStore)(o,a,a)}finally{i.current=!1}}init_esbuild_inject(),init_esbuild_inject();var IncrementalSetConstructor=class{constructor(e){__publicField(this,\\\"nextValue\\\"),__publicField(this,\\\"diff\\\"),this.previousValue=e}get(){var e=null!=(e=null==(e=null==(e=this.diff)?void 0:e.removed)?void 0:e.size)?e:0,t=null!=(t=null==(t=null==(t=this.diff)?void 0:t.added)?void 0:t.size)?t:0;if(0!==e||0!==t)return{value:this.nextValue,diff:this.diff}}_add(e,t){var r;null==this.nextValue&&(this.nextValue=new Set(this.previousValue)),this.nextValue.add(e),null==this.diff&&(this.diff={}),t?null!=(r=this.diff.removed)&&r[\\\"delete\\\"](e):(null==(r=this.diff).added&&(r.added=new Set),this.diff.added.add(e))}add(e){var t,r=this.previousValue.has(e);if(r)return(null==(t=null==(t=this.diff)?void 0:t.removed)?void 0:t.has(e))?this._add(e,r):void 0;(null==(t=this.nextValue)?void 0:t.has(e))||this._add(e,r)}_remove(e,t){var r;null==this.nextValue&&(this.nextValue=new Set(this.previousValue)),this.nextValue[\\\"delete\\\"](e),null==this.diff&&(this.diff={}),t?(null==(r=this.diff).removed&&(r.removed=new Set),this.diff.removed.add(e)):null!=(r=this.diff.added)&&r[\\\"delete\\\"](e)}remove(e){var t,r=this.previousValue.has(e);if(!r)return(null==(t=null==(t=this.diff)?void 0:t.added)?void 0:t.has(e))?this._remove(e,r):void 0;(null==(t=null==(t=this.diff)?void 0:t.removed)?void 0:t.has(e))||this._remove(e,r)}};function dedupe(e,t){var r=[];e:for(const i of e){for(const n of r)if(t?t(i,n):i===n)continue e;r.push(i)}return r}function compact(e){return e.filter(e=>null!=e)}function last(e){return e[e.length-1]}function minBy(e,t){let r,i=Infinity;for(const o of e){var n=t(o);ni=!1,r),n=t(...e)),n}}function omitFromStackTrace(r){const i=(...e)=>{try{return r(...e)}catch(t){throw t instanceof Error&&Error.captureStackTrace&&Error.captureStackTrace(t,i),t}};return i}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var Result={ok(e){return{ok:!0,value:e}},err(e){return{ok:!1,error:e}}};function exhaustiveSwitchError(e,t){var r=t&&e&&\\\"object\\\"==typeof e&&t in e?e[t]:e;throw new Error(\\\"Unknown switch case \\\".concat(r))}var assert=omitFromStackTrace((e,t)=>{if(!e)throw new Error(t||\\\"Assertion Error\\\")}),assertExists=omitFromStackTrace((e,t)=>{if(null==e)throw new Error(null!=t?t:\\\"value must be defined\\\");return e});function debounce(r,t){let i=void 0;var e=(...e)=>(i||((i={}).promise=new Promise((e,t)=>{i.resolve=e,i.reject=t})),clearTimeout(i.timeout),i.latestArgs=e,i.timeout=setTimeout(()=>{var e=i;i=void 0;try{e.resolve(r(...e.latestArgs))}catch(t){e.reject(t)}},t),i.promise);return e.cancel=()=>{i&&clearTimeout(i.timeout)},e}init_esbuild_inject(),init_esbuild_inject();var annotationsByError=new WeakMap;function annotateError(t,r){if(\\\"object\\\"==typeof t&&null!==t){let e=annotationsByError.get(t);e||(e={tags:{},extras:{}},annotationsByError.set(t,e)),r.tags&&(e.tags={...e.tags,...r.tags}),r.extras&&(e.extras={...e.extras,...r.extras})}}init_esbuild_inject();var FileHelpers=class{static async dataUrlToArrayBuffer(e){return fetch(e).then(function(e){return e.arrayBuffer()})}static async blobToDataUrl(i){return new Promise((e,t)=>{if(i){const r=new FileReader;r.onload=()=>e(r.result),r.onerror=e=>t(e),r.onabort=e=>t(e),r.readAsDataURL(i)}})}static async blobToText(i){return new Promise((e,t)=>{if(i){const r=new FileReader;r.onload=()=>e(r.result),r.onerror=e=>t(e),r.onabort=e=>t(e),r.readAsText(i)}})}};function getHashForString(e){let t=0;for(let r=0;r{let r=0===t?0:-1^~~t;for(let i=0;i>>8;return-1^r}),LEN_SIZE=4,CRC_SIZE=4,PngHelpers=class UM{static isPng(e,t){return 137===e.getUint8(t+0)&&80===e.getUint8(t+1)&&78===e.getUint8(t+2)&&71===e.getUint8(t+3)&&13===e.getUint8(t+4)&&10===e.getUint8(t+5)&&26===e.getUint8(t+6)&&10===e.getUint8(t+7)}static getChunkType(e,t){return[String.fromCharCode(e.getUint8(t)),String.fromCharCode(e.getUint8(t+1)),String.fromCharCode(e.getUint8(t+2)),String.fromCharCode(e.getUint8(t+3))].join(\\\"\\\")}static readChunks(e,t=0){var r={};if(!UM.isPng(e,t))throw new Error(\\\"Not a PNG\\\");for(t+=8;t<=e.buffer.byteLength;){var i=t,n=e.getInt32(t),o=(t+=4,UM.getChunkType(e,t));if(\\\"IDAT\\\"===o&&r[o]);else{if(\\\"IEND\\\"===o)break;r[o]={start:i,dataOffset:t+4,size:n}}t+=n+LEN_SIZE+CRC_SIZE}return r}static parsePhys(e,t){return{ppux:e.getUint32(t),ppuy:e.getUint32(t+4),unit:e.getUint8(t+4)}}static findChunk(e,t){return UM.readChunks(e)[t]}static setPhysChunk(e,t=1,r){let i=46,n=0;var o=UM.findChunk(e,\\\"pHYs\\\"),o=(o&&(i=o.start,n=o.size),UM.findChunk(e,\\\"IDAT\\\")),o=(o&&(i=o.start,n=0),new ArrayBuffer(21)),a=new DataView(o),s=(a.setUint32(0,9),a.setUint8(4,\\\"p\\\".charCodeAt(0)),a.setUint8(5,\\\"H\\\".charCodeAt(0)),a.setUint8(6,\\\"Y\\\".charCodeAt(0)),a.setUint8(7,\\\"s\\\".charCodeAt(0)),a.setInt32(8,2835.5*t),a.setInt32(12,2835.5*t),a.setInt8(16,1),new Uint8Array(o.slice(4,17))),s=(a.setInt32(17,crc(s)),e.buffer.slice(0,i)),a=e.buffer.slice(i+n);return new Blob([s,o,a],r)}},MediaHelpers=class vN{static loadVideo(i){return new Promise((e,t)=>{const r=document.createElement(\\\"video\\\");r.onloadeddata=()=>e(r),r.onerror=e=>{console.error(e),t(new Error(\\\"Could not load video\\\"))},r.crossOrigin=\\\"anonymous\\\",r.src=i})}static loadImage(i){return new Promise((e,t)=>{const r=new Image;r.onload=()=>e(r),r.onerror=e=>{console.error(e),t(new Error(\\\"Could not load image\\\"))},r.crossOrigin=\\\"anonymous\\\",r.src=i})}static async getVideoSize(e){return vN.usingObjectURL(e,async e=>{var t=await vN.loadVideo(e);return{w:t.videoWidth,h:t.videoHeight}})}static async getImageSize(e){var t=await vN.usingObjectURL(e,vN.loadImage);try{if(\\\"image/png\\\"===e.type){var r=new DataView(await e.arrayBuffer());if(PngHelpers.isPng(r,0)){var i=PngHelpers.findChunk(r,\\\"pHYs\\\");if(i){var n,o=PngHelpers.parsePhys(r,i.dataOffset);if(0===o.unit&&o.ppux===o.ppuy)return n=Math.max(o.ppux/2834.5,1),{w:Math.round(t.naturalWidth/n),h:Math.round(t.naturalHeight/n)}}}}}catch(a){console.error(a)}return{w:t.naturalWidth,h:t.naturalHeight}}static async usingObjectURL(e,t){var r=URL.createObjectURL(e);try{return await t(r)}finally{URL.revokeObjectURL(r)}}};function rng(e=\\\"\\\"){let t=0,r=0,i=0,n=0;function o(){var e=t^t<<11;return t=r,r=i,(n^=((i=n)>>>19^e^e>>>8)>>>0)/4294967296*2}for(let a=0;a= \\\"+r);if(\\\"0\\\"===t.slice(-1)||r&&\\\"0\\\"===r.slice(-1))throw new Error(\\\"trailing zero\\\");if(r){let e=0;for(;(t.charAt(e)||\\\"0\\\")===r.charAt(e);)e++;if(0e.length)throw new Error(\\\"invalid index: \\\"+e);return e.slice(0,t)}function validateOrder(e){if(e===SMALLEST_INTEGER)throw new Error(\\\"invalid index: \\\"+e);var t=getIntegerPart(e);if(\\\"0\\\"===e.slice(t.length).slice(-1))throw new Error(\\\"invalid index: \\\"+e)}function generateKeyBetween(e,t){if(void 0!==e&&validateOrder(e),void 0!==t&&validateOrder(t),void 0!==e&&void 0!==t&&t<=e)throw new Error(e+\\\" >= \\\"+t);if(void 0===e&&void 0===t)return INTEGER_ZERO;if(void 0===e){if(void 0===t)throw Error(\\\"b is undefined\\\");var r=getIntegerPart(t),i=t.slice(r.length);return r===SMALLEST_INTEGER?r+midpoint(\\\"\\\",i):rt.index?1:0}function sortById(e,t){return e.id>t.id?1:-1}function getFromLocalStorage(e){try{return localStorage.getItem(e)}catch{return null}}function setInLocalStorage(e,t){try{localStorage.setItem(e,t)}catch{}}function clearLocalStorage(){try{localStorage.clear()}catch{}}function getFromSessionStorage(e){try{return sessionStorage.getItem(e)}catch{return null}}function setInSessionStorage(e,t){try{sessionStorage.setItem(e,t)}catch{}}function deleteFromSessionStorage(e){try{sessionStorage.removeItem(e)}catch{}}function clearSessionStorage(){try{sessionStorage.clear()}catch{}}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var frame,isTest=()=>\\\"undefined\\\"!=typeof process&&!1,fpsQueue=[],targetFps=60,targetTimePerFrame=Math.ceil(1e3/targetFps),time=0,last2=0,flush=()=>{for(const e of fpsQueue.splice(0,fpsQueue.length))e()};function tick(){if(!frame){const e=Date.now(),t=e-last2;frame=time+t{frame=void 0,tick()}):requestAnimationFrame(()=>{frame=void 0,last2=e,time=Math.min(time+t-targetTimePerFrame,10*targetTimePerFrame),flush()})}}var started=!1;function throttleToNextFrame(t){return isTest()?(t(),()=>{}):(fpsQueue.includes(t)||(fpsQueue.push(t),started||(started=!0,last2=Date.now()-targetTimePerFrame-1),tick()),()=>{var e=fpsQueue.indexOf(t);-1e&&JSON.parse(JSON.stringify(e)),!1]}init_esbuild_inject();var _structuredClone=getStructuredClone(),structuredClone=_structuredClone[0],isNativeStructuredClone=_structuredClone[1],STRUCTURED_CLONE_OBJECT_PROTOTYPE=Object.getPrototypeOf(structuredClone({})),nanoid=(init_esbuild_inject(),init_esbuild_inject(),(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((e,t)=>e+=(t&=63)<36?t.toString(36):t<62?(t-26).toString(36).toUpperCase():62(null==e?void 0:e.typeName)===this.typeName),this.typeName=e,this.createDefaultProperties=t.createDefaultProperties,this.validator=null!=(r=t.validator)?r:{validate:e=>e},this.scope=null!=(r=t.scope)?r:\\\"document\\\"}create(e){var t,r,i={...this.createDefaultProperties(),id:this.createId()};for([t,r]of Object.entries(e))void 0!==r&&(i[t]=r);return i.typeName=this.typeName,i}clone(e){return{...structuredClone(e),id:this.createId()}}createId(e){return this.typeName+\\\":\\\"+(null!=e?e:nanoid())}createCustomId(e){return this.typeName+\\\":\\\"+e}parseId(e){if(this.isId(e))return e.slice(this.typeName.length+1);throw new Error('ID \\\"'.concat(e,'\\\" is not a valid ID for type \\\"').concat(this.typeName,'\\\"'))}isId(e){if(!e)return!1;for(let t=0;t({}),validator:t.validator,scope:t.scope})}init_esbuild_inject(),init_esbuild_inject();var Cache=class{constructor(){__publicField(this,\\\"items\\\",new WeakMap)}get(e,t){return this.items.has(e)||this.items.set(e,t(e)),this.items.get(e)}},import_lodash=(init_esbuild_inject(),__toESM(require_lodash(),1));function intersectSets(e){if(0===e.length)return new Set;var t=e[0],r=e.slice(1),i=new Set;for(const n of t)r.every(e=>e.has(n))&&i.add(n);return i}function diffSets(e,t){var r={};for(const i of t)e.has(i)||(null==r.added&&(r.added=new Set),r.added.add(i));for(const n of e)t.has(n)||(null==r.removed&&(r.removed=new Set),r.removed.add(n));return r.added||r.removed?r:void 0}function objectMatchesQuery(e,t){for(var[r,i]of Object.entries(e)){r=t[r];if(\\\"eq\\\"in i&&r!==i.eq)return!1;if(\\\"neq\\\"in i&&r===i.neq)return!1;if(\\\"gt\\\"in i&&(\\\"number\\\"!=typeof r||r<=i.gt))return!1}return!0}function executeQuery(e,t,r){var i,n,o,a,s,l,c=Object.fromEntries(Object.keys(r).map(e=>[e,new Set]));for([i,n]of Object.entries(r))if(\\\"eq\\\"in n){var d=e.index(t,i).get().get(n.eq);if(d)for(const u of d)c[i].add(u)}else if(\\\"neq\\\"in n){for([o,a]of e.index(t,i).get())if(o!==n.neq)for(const p of a)c[i].add(p)}else if(\\\"gt\\\"in n)for([s,l]of e.index(t,i).get())if(s>n.gt)for(const h of l)c[i].add(h);return intersectSets(Object.values(c))}init_esbuild_inject(),init_esbuild_inject();var StoreQueries=class{constructor(e,t){__publicField(this,\\\"indexCache\\\",new Map),__publicField(this,\\\"historyCache\\\",new Map),this.atoms=e,this.history=t}filterHistory(h){var e;return this.historyCache.has(h)?this.historyCache.get(h):(e=computed(\\\"filterHistory:\\\"+h,(e,t)=>{if(isUninitialized(e))return this.history.get();var r=this.history.getDiffSince(t);if(r===RESET_VALUE)return this.history.get();var i,n={added:{},removed:{},updated:{}};let o=0,a=0,s=0;for(const d of r){for(const u of objectMapValues(d.added))u.typeName===h&&(n.removed[u.id]?(i=n.removed[u.id],delete n.removed[u.id],a--,i!==u&&(n.updated[u.id]=[i,u],s++)):(n.added[u.id]=u,o++));for(var[l,c]of objectMapValues(d.updated))c.typeName===h&&(n.added[c.id]?n.added[c.id]=c:n.updated[c.id]?n.updated[c.id]=[n.updated[c.id][0],c]:(n.updated[c.id]=[l,c],s++));for(const p of objectMapValues(d.removed))p.typeName===h&&(n.added[p.id]?(delete n.added[p.id],o--):(n.updated[p.id]?(n.removed[p.id]=n.updated[p.id][0],delete n.updated[p.id],s--):n.removed[p.id]=p,a++))}return o||a||s?withDiff(this.history.get(),n):e},{historyLength:100}),this.historyCache.set(h,e),e)}index(e,t){var r,i=e+\\\":\\\"+t;return this.indexCache.has(i)?this.indexCache.get(i):(r=this.__uncached_createIndex(e,t),this.indexCache.set(i,r),r)}__uncached_createIndex(f,b){const v=this.filterHistory(f),x=()=>{v.get();var e=new Map;for(const i of objectMapValues(this.atoms.get())){var t,r=i.get();r.typeName===f&&(t=r[b],e.has(t)||e.set(t,new Set),e.get(t).add(r.id))}return e};return computed(\\\"index:\\\"+f+\\\":\\\"+b,(n,e)=>{if(isUninitialized(n))return x();var t=v.getDiffSince(e);if(t===RESET_VALUE)return x();const o=new Map;var r,i,a,s=(e,t)=>{var r;let i=o.get(e);(i=i||new IncrementalSetConstructor(null!=(r=n.get(e))?r:new Set)).add(t),o.set(e,i)},l=(e,t)=>{var r;let i=o.get(e);(i=i||new IncrementalSetConstructor(null!=(r=n.get(e))?r:new Set)).remove(t),o.set(e,i)};for(const m of t){for(const g of objectMapValues(m.added))g.typeName===f&&s(g[b],g.id);for(var[c,d]of objectMapValues(m.updated))d.typeName===f&&(c=c[b])!==(r=d[b])&&(l(c,d.id),s(r,d.id));for(const _ of objectMapValues(m.removed))_.typeName===f&&l(_[b],_.id)}let u=void 0,p=void 0;for([i,a]of o){var h=a.get();h&&(u=u||new Map(n),p=p||new Map,0===h.value.size?u[\\\"delete\\\"](i):u.set(i,h.value),p.set(i,h.diff))}return u&&p?withDiff(u,p):n},{historyLength:100})}record(e,t=()=>({}),r=\\\"record:\\\"+e+(t?\\\":\\\"+t.toString():\\\"\\\")){const i=this.ids(e,t,r);return computed(r,()=>{var e;for(const t of i.get())return null==(e=this.atoms.get()[t])?void 0:e.get()})}records(e,t=()=>({}),r=\\\"records:\\\"+e+(t?\\\":\\\"+t.toString():\\\"\\\")){const i=this.ids(e,t,\\\"ids:\\\"+r);return computed(r,()=>[...i.get()].map(e=>{var t=this.atoms.get()[e];if(t)return t.get();throw new Error(\\\"no atom found for record id: \\\"+e)}))}ids(d,t=()=>({}),e=\\\"ids:\\\"+d+(t?\\\":\\\"+t.toString():\\\"\\\")){const u=this.filterHistory(d),p=()=>{u.get();var e=t();return 0===Object.keys(e).length?new Set(objectMapValues(this.atoms.get()).flatMap(e=>{var t=e.get();return t.typeName===d?t.id:[]})):executeQuery(this,d,e)},h=e=>{var t=p(),r=diffSets(e,t);return r?withDiff(t,r):e},m=computed(\\\"ids_query:\\\"+e,t,{isEqual:import_lodash[\\\"default\\\"]});return computed(\\\"query:\\\"+e,(e,t)=>{var r=m.get();if(isUninitialized(e))return p();if(ti[e].get())}};function devFreeze(e){var t=Object.getPrototypeOf(e);if(t&&!Array.isArray(e)&&t!==Object.prototype&&null!==t&&t!==STRUCTURED_CLONE_OBJECT_PROTOTYPE)throw console.error(\\\"cannot include non-js data in a record\\\",e),new Error(\\\"cannot include non-js data in a record\\\");for(const i of Object.getOwnPropertyNames(e)){var r=e[i];r&&\\\"object\\\"==typeof r&&devFreeze(r)}return Object.freeze(e)}init_esbuild_inject();var Store=class{constructor(e){__publicField(this,\\\"id\\\",nanoid()),__publicField(this,\\\"atoms\\\",atom(\\\"store_atoms\\\",{})),__publicField(this,\\\"history\\\",atom(\\\"history\\\",0,{historyLength:1e3})),__publicField(this,\\\"query\\\",new StoreQueries(this.atoms,this.history)),__publicField(this,\\\"listeners\\\",new Set),__publicField(this,\\\"historyAccumulator\\\",new HistoryAccumulator),__publicField(this,\\\"historyReactor\\\"),__publicField(this,\\\"schema\\\"),__publicField(this,\\\"props\\\"),__publicField(this,\\\"scopedTypes\\\"),__publicField(this,\\\"onBeforeCreate\\\"),__publicField(this,\\\"onAfterCreate\\\"),__publicField(this,\\\"onBeforeChange\\\"),__publicField(this,\\\"onAfterChange\\\"),__publicField(this,\\\"onBeforeDelete\\\"),__publicField(this,\\\"onAfterDelete\\\"),__publicField(this,\\\"_runCallbacks\\\",!0),__publicField(this,\\\"put\\\",(g,_)=>{transact(()=>{var e={},t={},r=this.atoms.__unsafe__getWithoutCapture();let i=null,n,o=!1;var a=this.onBeforeCreate&&this._runCallbacks?this.onBeforeCreate:null,s=this.onBeforeChange&&this._runCallbacks?this.onBeforeChange:null;const l=this.isMergingRemoteChanges?\\\"remote\\\":\\\"user\\\";for(let u=0,p=g.length;u{h(e,l)}),m&&Object.values(e).forEach(([e,t])=>{m(e,t,l)})}})}),__publicField(this,\\\"remove\\\",a=>{transact(()=>{const i=[];var r,n=this.isMergingRemoteChanges?\\\"remote\\\":\\\"user\\\";if(this.onBeforeDelete&&this._runCallbacks)for(const t of a){var e=this.atoms.__unsafe__getWithoutCapture()[t];e&&!1===this.onBeforeDelete(e.get(),n)&&i.push(t)}let o=void 0;if((this.atoms.update(e=>{let t=void 0;for(const r of a)i.includes(r)||r in e&&(t=t||{...e},o=o||{},delete t[r],o[r]=e[r].get());return null!=t?t:e}),o)&&(this.updateHistory({added:{},updated:{},removed:o}),this.onAfterDelete&&this._runCallbacks))for(let e=0,t=a.length;e{var t;return null==(t=this.atoms.get()[e])?void 0:t.get()}),__publicField(this,\\\"unsafeGetWithoutCapture\\\",e=>{var t;return null==(t=this.atoms.get()[e])?void 0:t.__unsafe__getWithoutCapture()}),__publicField(this,\\\"serialize\\\",(e=\\\"document\\\")=>{var t,r,i={};for([t,r]of objectMapEntries(this.atoms.get())){var n=r.get();\\\"all\\\"!==e&&!this.scopedTypes[e].has(n.typeName)||(i[t]=n)}return i}),__publicField(this,\\\"allRecords\\\",()=>objectMapValues(this.atoms.get()).map(e=>e.get())),__publicField(this,\\\"clear\\\",()=>{this.remove(objectMapKeys(this.atoms.get()))}),__publicField(this,\\\"update\\\",(e,t)=>{var r=this.atoms.get()[e];r?this.put([t(r.__unsafe__getWithoutCapture())]):console.error(\\\"Record \\\".concat(e,\\\" not found. This is probably an error\\\"))}),__publicField(this,\\\"has\\\",e=>!!this.atoms.get()[e]),__publicField(this,\\\"listen\\\",(e,t)=>{var r;this._flushHistory();const i={onHistory:e,filters:{source:null!=(r=null==t?void 0:t.source)?r:\\\"all\\\",scope:null!=(r=null==t?void 0:t.scope)?r:\\\"all\\\"}};return this.listeners.add(i),this.historyReactor.scheduler.isActivelyListening||this.historyReactor.start(),()=>{this.listeners[\\\"delete\\\"](i),0===this.listeners.size&&this.historyReactor.stop()}}),__publicField(this,\\\"isMergingRemoteChanges\\\",!1),__publicField(this,\\\"mergeRemoteChanges\\\",e=>{if(this.isMergingRemoteChanges)return e();try{this.isMergingRemoteChanges=!0,transact(e)}finally{this.isMergingRemoteChanges=!1}}),__publicField(this,\\\"createComputedCache\\\",(i,n,o)=>{const e=new Cache;return{get:t=>{const r=this.atoms.get()[t];if(r)return e.get(r,()=>{const e=o?computed(r.name+\\\":equals\\\",()=>r.get(),{isEqual:o}):r;return computed(i+\\\":\\\"+t,()=>n(e.get()))}).get()}}}),__publicField(this,\\\"createSelectedComputedCache\\\",(i,n,o)=>{const a=new Cache;return{get:e=>{const t=this.atoms.get()[e];if(t){const r=computed(i+\\\":\\\"+e+\\\":selector\\\",()=>n(t.get()));return a.get(t,()=>computed(i+\\\":\\\"+e,()=>o(r.get()))).get()}}}}),__publicField(this,\\\"getRecordType\\\",e=>{var t=this.schema.types[e.typeName];if(t)return t;throw new Error(\\\"Record type \\\".concat(e.typeName,\\\" not found\\\"))}),__publicField(this,\\\"_integrityChecker\\\"),__publicField(this,\\\"_isPossiblyCorrupted\\\",!1);var{initialData:t,schema:r}=e;this.schema=r,this.props=e.props,t&&this.atoms.set(objectMapFromEntries(objectMapEntries(t).map(([e,t])=>[e,atom(\\\"atom:\\\"+e,devFreeze(this.schema.validateRecord(this,t,\\\"initialize\\\",null)))]))),this.historyReactor=reactor(\\\"Store.historyReactor\\\",()=>{this.history.get(),this._flushHistory()},{scheduleEffect:e=>throttleToNextFrame(e)}),this.scopedTypes={document:new Set(objectMapValues(this.schema.types).filter(e=>\\\"document\\\"===e.scope).map(e=>e.typeName)),session:new Set(objectMapValues(this.schema.types).filter(e=>\\\"session\\\"===e.scope).map(e=>e.typeName)),presence:new Set(objectMapValues(this.schema.types).filter(e=>\\\"presence\\\"===e.scope).map(e=>e.typeName))}}_flushHistory(){var i,n;if(this.historyAccumulator.hasChanges())for({changes:i,source:n}of this.historyAccumulator.flush()){let e=null,t=null,r=null;for(var{onHistory:o,filters:a}of this.listeners)\\\"all\\\"!==a.source&&a.source!==n||(\\\"all\\\"!==a.scope?\\\"document\\\"===a.scope?(null!=t?t:t=this.filterChangesByScope(i,\\\"document\\\"),t&&o({changes:t,source:n})):\\\"session\\\"===a.scope?(null!=e?e:e=this.filterChangesByScope(i,\\\"session\\\"),e&&o({changes:e,source:n})):(null!=r?r:r=this.filterChangesByScope(i,\\\"presence\\\"),r&&o({changes:r,source:n})):o({changes:i,source:n}))}}filterChangesByScope(e,r){var t={added:filterEntries(e.added,(e,t)=>this.scopedTypes[r].has(t.typeName)),updated:filterEntries(e.updated,(e,t)=>this.scopedTypes[r].has(t[1].typeName)),removed:filterEntries(e.removed,(e,t)=>this.scopedTypes[r].has(t.typeName))};return 0===Object.keys(t.added).length&&0===Object.keys(t.updated).length&&0===Object.keys(t.removed).length?null:t}updateHistory(e){this.historyAccumulator.add({changes:e,source:this.isMergingRemoteChanges?\\\"remote\\\":\\\"user\\\"}),0===this.listeners.size&&this.historyAccumulator.clear(),this.history.set(this.history.get()+1,e)}validate(t){this.allRecords().forEach(e=>this.schema.validateRecord(this,e,t,null))}getSnapshot(e=\\\"document\\\"){return{store:this.serialize(e),schema:this.schema.serialize()}}migrateSnapshot(e){var t=this.schema.migrateStoreSnapshot(e);if(\\\"error\\\"===t.type)throw new Error(\\\"Failed to migrate snapshot: \\\".concat(t.reason));return{store:t.value,schema:this.schema.serialize()}}loadSnapshot(e){const t=this.schema.migrateStoreSnapshot(e);if(\\\"error\\\"===t.type)throw new Error(\\\"Failed to migrate snapshot: \\\".concat(t.reason));var r=this._runCallbacks;try{this._runCallbacks=!1,transact(()=>{this.clear(),this.put(Object.values(t.value)),this.ensureStoreIsUsable()})}finally{this._runCallbacks=r}}extractingChanges(e){const t=[];var r=this.historyAccumulator.intercepting(e=>t.push(e.changes));try{return transact(e),squashRecordDiffs(t)}finally{r()}}applyDiff(r,e=!0){var t=this._runCallbacks;try{this._runCallbacks=e,transact(()=>{var e=objectMapValues(r.added).concat(objectMapValues(r.updated).map(([,e])=>e)),t=objectMapKeys(r.removed);e.length&&this.put(e),t.length&&this.remove(t)})}finally{this._runCallbacks=t}}ensureStoreIsUsable(){var e;null==this._integrityChecker&&(this._integrityChecker=this.schema.createIntegrityChecker(this)),null!=(e=this._integrityChecker)&&e.call(this)}markAsPossiblyCorrupted(){this._isPossiblyCorrupted=!0}isPossiblyCorrupted(){return this._isPossiblyCorrupted}};function squashRecordDiffs(e){var t,r={added:{},removed:{},updated:{}};for(const d of e){for(var[i,n]of objectMapEntries(d.added))r.removed[i]?(t=r.removed[i],delete r.removed[i],t!==n&&(r.updated[i]=[t,n])):r.added[i]=n;for(var[o,[a,s]]of objectMapEntries(d.updated))r.added[o]?(r.added[o]=s,delete r.updated[o]):r.updated[o]?r.updated[o]=[r.updated[o][0],s]:r.updated[o]=d.updated[o],delete r.removed[o];for(var[l,c]of objectMapEntries(d.removed))r.added[l]?delete r.added[l]:r.updated[l]?(r.removed[l]=r.updated[l][0],delete r.updated[l]):r.removed[l]=c}return r}function squashHistoryEntries(e){if(0===e.length)return[];var t,r=[];let i=[e[0]];for(let n=1,o=e.length;n({source:e[0].source,changes:squashRecordDiffs(e.map(e=>e.changes))})))}var HistoryAccumulator=class{constructor(){__publicField(this,\\\"_history\\\",[]),__publicField(this,\\\"_interceptors\\\",new Set)}intercepting(e){return this._interceptors.add(e),()=>{this._interceptors[\\\"delete\\\"](e)}}add(e){this._history.push(e);for(const t of this._interceptors)t(e)}flush(){var e=squashHistoryEntries(this._history);return this._history=[],e}clear(){this._history=[]}hasChanges(){return 0[e,\\\"\\\".concat(r,\\\"/\\\").concat(t)]))}function createRecordMigrationSequence(i){var e;return createMigrationSequence({sequenceId:i.sequenceId,retroactive:null==(e=i.retroactive)||e,sequence:i.sequence.map(r=>\\\"id\\\"in r?{...r,scope:\\\"record\\\",filter:e=>{var t;return e.typeName===i.recordType&&(null==(t=null==(t=r.filter)?void 0:t.call(r,e))||t)&&(null==(t=null==(t=i.filter)?void 0:t.call(i,e))||t)}}:r)})}function sortMigrations(e){const o=new Map(e.map(e=>[e.id,e])),a=new Set,s=[];for(const t of o.values())!function l(e){assert(!a.has(e.id),\\\"Circular dependency in migrations: \\\".concat(e.id)),a.add(e.id);var{version:t,sequenceId:r}=parseMigrationId(e.id),r=o.get(\\\"\\\".concat(r,\\\"/\\\").concat(t-1));if(r&&l(r),e.dependsOn)for(const n of e.dependsOn){var i=o.get(n);i&&l(i)}o[\\\"delete\\\"](e.id),s.push(e)}(t);return s}function parseMigrationId(e){var[t,r]=e.split(\\\"/\\\");return{sequenceId:t,version:parseInt(r)}}function validateMigrationId(e,t){t&&assert(e.startsWith(t+\\\"/\\\"),\\\"Every migration in sequence '\\\".concat(t,\\\"' must have an id starting with '\\\").concat(t,\\\"/'. Got invalid id: '\\\").concat(e,\\\"'\\\")),assert(e.match(/^(.*?)\\\\/(0|[1-9]\\\\d*)$/),\\\"Invalid migration id: '\\\".concat(e,\\\"'\\\"))}function validateMigrations(r){if(assert(!r.sequenceId.includes(\\\"/\\\"),\\\"sequenceId cannot contain a '/', got \\\".concat(r.sequenceId)),assert(r.sequenceId.length,\\\"sequenceId must be a non-empty string\\\"),0!==r.sequence.length){validateMigrationId(r.sequence[0].id,r.sequenceId);let e=parseMigrationId(r.sequence[0].id).version;assert(1===e,\\\"Expected the first migrationId to be '\\\".concat(r.sequenceId,\\\"/1' but got '\\\").concat(r.sequence[0].id,\\\"'\\\"));for(let t=1;t(e.IncompatibleSubtype=\\\"incompatible-subtype\\\",e.UnknownType=\\\"unknown-type\\\",e.TargetVersionTooNew=\\\"target-version-too-new\\\",e.TargetVersionTooOld=\\\"target-version-too-old\\\",e.MigrationError=\\\"migration-error\\\",e.UnrecognizedSubtype=\\\"unrecognized-subtype\\\",e))(MigrationFailureReason||{});function upgradeSchema(e){if(2e.sequence);this.sortedMigrations=sortMigrations(n);for(const s of this.sortedMigrations)if(null!=(i=s.dependsOn)&&i.length)for(const l of s.dependsOn){var o=n.find(e=>e.id===l);assert(o,\\\"Migration '\\\".concat(s.id,\\\"' depends on missing migration '\\\").concat(l,\\\"'\\\"))}}static create(e,t){return new WW(e,null!=t?t:{})}validateRecord(e,t,r,i){try{var n=getOwnProperty(this.types,t.typeName);if(n)return n.validate(t,null!=i?i:void 0);throw new Error(\\\"Missing definition for record type \\\".concat(t.typeName))}catch(o){if(this.options.onValidationFailure)return this.options.onValidationFailure({store:e,record:t,phase:r,recordBefore:i,error:o});throw o}}getMigrationsSince(e){var t=upgradeSchema(e);if(!t.ok)return t;var r=t.value,i=new Set(Object.keys(r.sequences).filter(e=>this.migrations[e]));for(const a in this.migrations)void 0===r.sequences[a]&&this.migrations[a].retroactive&&i.add(a);if(0===i.size)return Result.ok([]);const n=new Set;for(const s of i){var o=r.sequences[s];if(\\\"number\\\"!=typeof o&&this.migrations[s].retroactive||0===o)for(const l of this.migrations[s].sequence)n.add(l.id);else{const c=\\\"\\\".concat(s,\\\"/\\\").concat(o);o=this.migrations[s].sequence.findIndex(e=>e.id===c);if(-1===o)return Result.err(\\\"Incompatible schema?\\\");for(const d of this.migrations[s].sequence.slice(o+1))n.add(d.id)}}return Result.ok(this.sortedMigrations.filter(({id:e})=>n.has(e)))}migratePersistedRecord(e,t,r=\\\"up\\\"){var i,n=this.getMigrationsSince(t);if(!n.ok)return console.error(\\\"Error migrating record\\\",n.error),{type:\\\"error\\\",reason:MigrationFailureReason.MigrationError};let o=n.value;if(0!==o.length){if(o.some(e=>\\\"store\\\"===e.scope))return{type:\\\"error\\\",reason:\\\"down\\\"===r?MigrationFailureReason.TargetVersionTooOld:MigrationFailureReason.TargetVersionTooNew};if(\\\"down\\\"===r){if(!o.every(e=>e.down))return{type:\\\"error\\\",reason:MigrationFailureReason.TargetVersionTooOld};o=o.slice().reverse()}e=structuredClone(e);try{for(const s of o){if(\\\"store\\\"===s.scope)throw new Error;(!s.filter||s.filter(e))&&(i=s[r](e))&&(e=structuredClone(i))}}catch(a){return console.error(\\\"Error migrating record\\\",a),{type:\\\"error\\\",reason:MigrationFailureReason.MigrationError}}}return{type:\\\"success\\\",value:e}}migrateStoreSnapshot(e){let t=e[\\\"store\\\"];var r=this.getMigrationsSince(e.schema);if(!r.ok)return console.error(\\\"Error migrating store\\\",r.error),{type:\\\"error\\\",reason:MigrationFailureReason.MigrationError};var i,n,r=r.value;if(0!==r.length){t=structuredClone(t);try{for(const l of r)if(\\\"record\\\"===l.scope)for(var[o,a]of Object.entries(t))(!l.filter||l.filter(a))&&(n=l.up(a))&&(t[o]=structuredClone(n));else\\\"store\\\"===l.scope?(i=l.up(t))&&(t=structuredClone(i)):exhaustiveSwitchError(l)}catch(s){return console.error(\\\"Error migrating store\\\",s),{type:\\\"error\\\",reason:MigrationFailureReason.MigrationError}}}return{type:\\\"success\\\",value:t}}createIntegrityChecker(e){var t,r;return null!=(r=null==(t=(r=this.options).createIntegrityChecker)?void 0:t.call(r,e))?r:void 0}serialize(){return{schemaVersion:2,sequences:Object.fromEntries(Object.values(this.migrations).map(({sequenceId:e,sequence:t})=>[e,t.length?parseMigrationId(t.at(-1).id).version:0]))}}serializeEarliestVersion(){return{schemaVersion:2,sequences:Object.fromEntries(Object.values(this.migrations).map(({sequenceId:e})=>[e,0]))}}},validation_exports=(init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),{});function formatPath(e){if(!e.length)return null;let t=\\\"\\\";for(const r of e)\\\"number\\\"!=typeof r&&r.startsWith(\\\"(\\\")?t.endsWith(\\\")\\\")?t=\\\"\\\".concat(t.slice(0,-1),\\\", \\\").concat(r.slice(1)):t+=r:t+=\\\".\\\".concat(r);return(t=t.replace(/id = [^,]+, /,\\\"\\\").replace(/id = [^)]+/,\\\"\\\")).startsWith(\\\".\\\")?t.slice(1):t}__export(validation_exports,{ArrayOfValidator:()=>ArrayOfValidator,DictValidator:()=>DictValidator,ObjectValidator:()=>ObjectValidator,UnionValidator:()=>UnionValidator,ValidationError:()=>ValidationError,Validator:()=>Validator,any:()=>any,array:()=>array,arrayOf:()=>arrayOf,bigint:()=>bigint,\\\"boolean\\\":()=>boolean,dict:()=>dict,indexKey:()=>indexKey,integer:()=>integer,jsonDict:()=>jsonDict,jsonValue:()=>jsonValue,linkUrl:()=>linkUrl,literal:()=>literal,literalEnum:()=>literalEnum,model:()=>model,nonZeroInteger:()=>nonZeroInteger,nonZeroNumber:()=>nonZeroNumber,nullable:()=>nullable,number:()=>number,numberUnion:()=>numberUnion,object:()=>object,optional:()=>optional,positiveInteger:()=>positiveInteger,positiveNumber:()=>positiveNumber,setEnum:()=>setEnum,srcUrl:()=>srcUrl,string:()=>string,union:()=>union,unknown:()=>unknown,unknownObject:()=>unknownObject}),init_esbuild_inject();var ValidationError=class extends Error{constructor(e,t=[]){var r=formatPath(t),i=e.split(\\\"\\\\n\\\").map((e,t)=>0===t?e:\\\" \\\".concat(e)).join(\\\"\\\\n\\\");super(t?\\\"At \\\".concat(r,\\\": \\\").concat(i):i),__publicField(this,\\\"name\\\",\\\"ValidationError\\\"),this.rawMessage=e,this.path=t}};function prefixError(e,t){try{return t()}catch(r){if(r instanceof ValidationError)throw new ValidationError(r.rawMessage,[e,...r.path]);throw new ValidationError(r.toString(),[e])}}function typeToString(e){if(null===e)return\\\"null\\\";if(Array.isArray(e))return\\\"an array\\\";var t=typeof e;switch(t){case\\\"bigint\\\":case\\\"boolean\\\":case\\\"function\\\":case\\\"number\\\":case\\\"string\\\":case\\\"symbol\\\":return\\\"a \\\".concat(t);case\\\"object\\\":return\\\"an \\\".concat(t);case\\\"undefined\\\":return\\\"undefined\\\";default:exhaustiveSwitchError(t)}}var Validator=class sY{constructor(e,t){this.validationFn=e,this.validateUsingKnownGoodVersionFn=t}validate(e){var t=this.validationFn(e);if(Object.is(e,t))return t;throw new ValidationError(\\\"Validator functions must return the same value they were passed\\\")}validateUsingKnownGoodVersion(e,t){return Object.is(e,t)?e:this.validateUsingKnownGoodVersionFn?this.validateUsingKnownGoodVersionFn(e,t):this.validate(t)}isValid(e){try{return this.validate(e),!0}catch{return!1}}nullable(){return nullable(this)}optional(){return optional(this)}refine(i){return new sY(e=>i(this.validate(e)),(e,t)=>{var r=this.validateUsingKnownGoodVersion(e,t);return Object.is(e,r)?e:i(r)})}check(t,r){return\\\"string\\\"==typeof t?this.refine(e=>(prefixError(\\\"(check \\\".concat(t,\\\")\\\"),()=>r(e)),e)):this.refine(e=>(t(e),e))}},ArrayOfValidator=class extends Validator{constructor(s){super(e=>{const t=array.validate(e);for(let r=0;rs.validate(t[r]));return t},(e,t)=>{if(!s.validateUsingKnownGoodVersion)return this.validate(t);var r,i=array.validate(t);let n=e.length!==i.length;for(let o=0;o=e.length?(n=!0,prefixError(o,()=>s.validate(a))):Object.is(e[o],a)||(r=prefixError(o,()=>s.validateUsingKnownGoodVersion(e[o],a)),Object.is(r,e[o]))||(n=!0)}return n?t:e}),this.itemValidator=s}nonEmpty(){return this.check(e=>{if(0===e.length)throw new ValidationError(\\\"Expected a non-empty array\\\")})}lengthGreaterThan1(){return this.check(e=>{if(e.length<=1)throw new ValidationError(\\\"Expected an array with length greater than 1\\\")})}},ObjectValidator=class WY extends Validator{constructor(d,u=!1){super(e=>{if(\\\"object\\\"!=typeof e||null===e)throw new ValidationError(\\\"Expected object, got \\\".concat(typeToString(e)));for(const[t,r]of Object.entries(d))prefixError(t,()=>{r.validate(getOwnProperty(e,t))});if(!u)for(const i of Object.keys(e))if(!hasOwnProperty(d,i))throw new ValidationError(\\\"Unexpected property\\\",[i]);return e},(e,t)=>{if(\\\"object\\\"!=typeof t||null===t)throw new ValidationError(\\\"Expected object, got \\\".concat(typeToString(t)));let r=!1;for(const[n,o]of Object.entries(d)){const a=getOwnProperty(e,n),s=getOwnProperty(t,n);var i;Object.is(a,s)||(i=prefixError(n,()=>{var e=o;return e.validateUsingKnownGoodVersion?e.validateUsingKnownGoodVersion(a,s):e.validate(s)}),Object.is(i,a))||(r=!0)}if(!u)for(const l of Object.keys(t))if(!hasOwnProperty(d,l))throw new ValidationError(\\\"Unexpected property\\\",[l]);for(const c of Object.keys(e))if(!hasOwnProperty(t,c)){r=!0;break}return r?t:e}),this.config=d,this.shouldAllowUnknownProperties=u}allowUnknownProperties(){return new WY(this.config,!0)}extend(e){return new WY({...this.config,...e})}},UnionValidator=class nZ extends Validator{constructor(n,e,t,r){super(e=>{this.expectObject(e);const{matchingSchema:t,variant:r}=this.getMatchingSchemaAndVariant(e);return void 0===t?this.unknownValueValidation(e,r):prefixError(\\\"(\\\".concat(n,\\\" = \\\").concat(r,\\\")\\\"),()=>t.validate(e))},(e,t)=>{this.expectObject(t),this.expectObject(e);const{matchingSchema:r,variant:i}=this.getMatchingSchemaAndVariant(t);return void 0===r?this.unknownValueValidation(t,i):getOwnProperty(e,n)!==getOwnProperty(t,n)?prefixError(\\\"(\\\".concat(n,\\\" = \\\").concat(i,\\\")\\\"),()=>r.validate(t)):prefixError(\\\"(\\\".concat(n,\\\" = \\\").concat(i,\\\")\\\"),()=>r.validateUsingKnownGoodVersion?r.validateUsingKnownGoodVersion(e,t):r.validate(t))}),this.key=n,this.config=e,this.unknownValueValidation=t,this.useNumberKeys=r}expectObject(e){if(\\\"object\\\"!=typeof e||null===e)throw new ValidationError(\\\"Expected an object, got \\\".concat(typeToString(e)),[])}getMatchingSchemaAndVariant(e){var t=getOwnProperty(e,this.key);if(!this.useNumberKeys&&\\\"string\\\"!=typeof t)throw new ValidationError('Expected a string for key \\\"'.concat(this.key,'\\\", got ').concat(typeToString(t)));if(this.useNumberKeys&&!Number.isFinite(Number(t)))throw new ValidationError('Expected a number for key \\\"'.concat(this.key,'\\\", got \\\"').concat(t,'\\\"'));return{matchingSchema:hasOwnProperty(this.config,t)?this.config[t]:void 0,variant:t}}validateUnknownVariants(e){return new nZ(this.key,this.config,e,this.useNumberKeys)}},DictValidator=class extends Validator{constructor(c,d){super(e=>{if(\\\"object\\\"!=typeof e||null===e)throw new ValidationError(\\\"Expected object, got \\\".concat(typeToString(e)));for(const[t,r]of Object.entries(e))prefixError(t,()=>{c.validate(t),d.validate(r)});return e},(e,t)=>{if(\\\"object\\\"!=typeof t||null===t)throw new ValidationError(\\\"Expected object, got \\\".concat(typeToString(t)));let r=!1;for(const[n,o]of Object.entries(t))if(hasOwnProperty(e,n)){const a=getOwnProperty(e,n),s=o;var i;Object.is(a,s)||(i=prefixError(n,()=>d.validateUsingKnownGoodVersion?d.validateUsingKnownGoodVersion(a,s):d.validate(s)),Object.is(i,a))||(r=!0)}else r=!0,prefixError(n,()=>{c.validate(n),d.validate(o)});for(const l of Object.keys(e))if(!hasOwnProperty(t,l)){r=!0;break}return r?t:e}),this.keyValidator=c,this.valueValidator=d}};function typeofValidator(t){return new Validator(e=>{if(typeof e!==t)throw new ValidationError(\\\"Expected \\\".concat(t,\\\", got \\\").concat(typeToString(e)));return e})}var unknown=new Validator(e=>e),any=new Validator(e=>e),string=typeofValidator(\\\"string\\\"),number=typeofValidator(\\\"number\\\").check(e=>{if(Number.isNaN(e))throw new ValidationError(\\\"Expected a number, got NaN\\\");if(!Number.isFinite(e))throw new ValidationError(\\\"Expected a finite number, got \\\".concat(e))}),positiveNumber=number.check(e=>{if(e<0)throw new ValidationError(\\\"Expected a positive number, got \\\".concat(e))}),nonZeroNumber=number.check(e=>{if(e<=0)throw new ValidationError(\\\"Expected a non-zero positive number, got \\\".concat(e))}),integer=number.check(e=>{if(!Number.isInteger(e))throw new ValidationError(\\\"Expected an integer, got \\\".concat(e))}),positiveInteger=integer.check(e=>{if(e<0)throw new ValidationError(\\\"Expected a positive integer, got \\\".concat(e))}),nonZeroInteger=integer.check(e=>{if(e<=0)throw new ValidationError(\\\"Expected a non-zero positive integer, got \\\".concat(e))}),boolean=typeofValidator(\\\"boolean\\\"),bigint=typeofValidator(\\\"bigint\\\");function literal(t){return new Validator(e=>{if(e!==t)throw new ValidationError(\\\"Expected \\\".concat(t,\\\", got \\\").concat(JSON.stringify(e)));return t})}var array=new Validator(e=>{if(Array.isArray(e))return e;throw new ValidationError(\\\"Expected an array, got \\\".concat(typeToString(e)))});function arrayOf(e){return new ArrayOfValidator(e)}var unknownObject=new Validator(e=>{if(\\\"object\\\"!=typeof e||null===e)throw new ValidationError(\\\"Expected object, got \\\".concat(typeToString(e)));return e});function object(e){return new ObjectValidator(e)}function isPlainObject(e){return\\\"object\\\"==typeof e&&null!==e&&(Object.getPrototypeOf(e)===Object.prototype||null===Object.getPrototypeOf(e)||Object.getPrototypeOf(e)===STRUCTURED_CLONE_OBJECT_PROTOTYPE)}function isValidJson(e){return null===e||\\\"number\\\"==typeof e||\\\"string\\\"==typeof e||\\\"boolean\\\"==typeof e||(Array.isArray(e)?e.every(isValidJson):!!isPlainObject(e)&&Object.values(e).every(isValidJson))}var jsonValue=new Validator(e=>{if(isValidJson(e))return e;throw new ValidationError(\\\"Expected json serializable value, got \\\".concat(typeof e))},(r,i)=>{if(Array.isArray(r)&&Array.isArray(i)){let e=r.length!==i.length;for(let t=0;t=r.length?(e=!0,jsonValue.validate(i[t])):(n=r[t],o=i[t],Object.is(n,o)||(o=jsonValue.validateUsingKnownGoodVersion(n,o),Object.is(o,n))||(e=!0))}return e?i:r}if(isPlainObject(r)&&isPlainObject(i)){let e=!1;for(const s of Object.keys(i)){var t,a;hasOwnProperty(r,s)?(t=r[s],a=i[s],Object.is(t,a)||(a=jsonValue.validateUsingKnownGoodVersion(t,a),Object.is(a,t))||(e=!0)):(e=!0,jsonValue.validate(i[s]))}for(const l of Object.keys(r))if(!hasOwnProperty(i,l)){e=!0;break}return e?i:r}return jsonValue.validate(i)});function jsonDict(){return dict(string,jsonValue)}function dict(e,t){return new DictValidator(e,t)}function union(r,i){return new UnionValidator(r,i,(e,t)=>{throw new ValidationError(\\\"Expected one of \\\".concat(Object.keys(i).map(e=>JSON.stringify(e)).join(\\\" or \\\"),\\\", got \\\").concat(JSON.stringify(t)),[r])},!1)}function numberUnion(r,i){return new UnionValidator(r,i,(e,t)=>{throw new ValidationError(\\\"Expected one of \\\".concat(Object.keys(i).map(e=>JSON.stringify(e)).join(\\\" or \\\"),\\\", got \\\").concat(JSON.stringify(t)),[r])},!0)}function model(r,i){return new Validator(e=>prefixError(r,()=>i.validate(e)),(e,t)=>prefixError(r,()=>i.validateUsingKnownGoodVersion?i.validateUsingKnownGoodVersion(e,t):i.validate(t)))}function setEnum(r){return new Validator(e=>{var t;if(r.has(e))return e;throw t=Array.from(r,e=>JSON.stringify(e)).join(\\\" or \\\"),new ValidationError(\\\"Expected \\\".concat(t,\\\", got \\\").concat(e))})}function optional(r){return new Validator(e=>{if(void 0!==e)return r.validate(e)},(e,t)=>{if((void 0!==e||void 0!==t)&&void 0!==t)return r.validateUsingKnownGoodVersion&&void 0!==e?r.validateUsingKnownGoodVersion(e,t):r.validate(t)})}function nullable(r){return new Validator(e=>null===e?null:r.validate(e),(e,t)=>null===t?null:r.validateUsingKnownGoodVersion&&null!==e?r.validateUsingKnownGoodVersion(e,t):r.validate(t))}function literalEnum(...e){return setEnum(new Set(e))}function parseUrl(e){try{return new URL(e)}catch(t){if(e.startsWith(\\\"/\\\")||e.startsWith(\\\"./\\\"))try{return new URL(e,\\\"http://example.com\\\")}catch(r){}throw new ValidationError(\\\"Expected a valid url, got \\\".concat(JSON.stringify(e)))}}var validLinkProtocols=new Set([\\\"http:\\\",\\\"https:\\\",\\\"mailto:\\\"]),linkUrl=string.check(e=>{if(\\\"\\\"!==e){var t=parseUrl(e);if(!validLinkProtocols.has(t.protocol.toLowerCase()))throw new ValidationError(\\\"Expected a valid url, got \\\".concat(JSON.stringify(e),\\\" (invalid protocol)\\\"))}}),validSrcProtocols=new Set([\\\"http:\\\",\\\"https:\\\",\\\"data:\\\"]),srcUrl=string.check(e=>{if(\\\"\\\"!==e){var t=parseUrl(e);if(!validSrcProtocols.has(t.protocol.toLowerCase()))throw new ValidationError(\\\"Expected a valid url, got \\\".concat(JSON.stringify(e),\\\" (invalid protocol)\\\"))}}),indexKey=string.refine(e=>{try{return validateIndexKey(e),e}catch{throw new ValidationError(\\\"Expected an index key, got \\\".concat(JSON.stringify(e)))}});function idValidator(t){return validation_exports.string.refine(e=>{if(e.startsWith(\\\"\\\".concat(t,\\\":\\\")))return e;throw new Error(\\\"\\\".concat(t,' ID must start with \\\"').concat(t,':\\\"'))})}init_esbuild_inject();var assetIdValidator=idValidator(\\\"asset\\\");function createAssetValidator(e,t){return validation_exports.object({id:assetIdValidator,typeName:validation_exports.literal(\\\"asset\\\"),type:validation_exports.literal(e),props:t,meta:validation_exports.jsonValue})}init_esbuild_inject(),init_esbuild_inject();var cameraValidator=validation_exports.model(\\\"camera\\\",validation_exports.object({typeName:validation_exports.literal(\\\"camera\\\"),id:idValidator(\\\"camera\\\"),x:validation_exports.number,y:validation_exports.number,z:validation_exports.number,meta:validation_exports.jsonValue})),cameraVersions=createMigrationIds(\\\"com.tldraw.camera\\\",{AddMeta:1}),cameraMigrations=createRecordMigrationSequence({sequenceId:\\\"com.tldraw.camera\\\",recordType:\\\"camera\\\",sequence:[{id:cameraVersions.AddMeta,up:e=>{e.meta={}}}]}),CameraRecordType=createRecordType(\\\"camera\\\",{validator:cameraValidator,scope:\\\"session\\\"}).withDefaultProperties(()=>({x:0,y:0,z:1,meta:{}})),vecModelValidator=(init_esbuild_inject(),init_esbuild_inject(),validation_exports.object({x:validation_exports.number,y:validation_exports.number,z:validation_exports.number.optional()})),boxModelValidator=validation_exports.object({x:validation_exports.number,y:validation_exports.number,w:validation_exports.number,h:validation_exports.number}),TL_CURSOR_TYPES=(init_esbuild_inject(),new Set([\\\"none\\\",\\\"default\\\",\\\"pointer\\\",\\\"cross\\\",\\\"grab\\\",\\\"rotate\\\",\\\"grabbing\\\",\\\"resize-edge\\\",\\\"resize-corner\\\",\\\"text\\\",\\\"move\\\",\\\"ew-resize\\\",\\\"ns-resize\\\",\\\"nesw-resize\\\",\\\"nwse-resize\\\",\\\"nesw-rotate\\\",\\\"nwse-rotate\\\",\\\"swne-rotate\\\",\\\"senw-rotate\\\",\\\"zoom-in\\\",\\\"zoom-out\\\"])),cursorTypeValidator=validation_exports.setEnum(TL_CURSOR_TYPES),cursorValidator=validation_exports.object({type:cursorTypeValidator,rotation:validation_exports.number}),opacityValidator=(init_esbuild_inject(),validation_exports.number.check(e=>{if(e<0||1{e.meta={}}}]}),PageRecordType=createRecordType(\\\"page\\\",{validator:pageValidator,scope:\\\"document\\\"}).withDefaultProperties(()=>({meta:{}}));function isPageId(e){return PageRecordType.isId(e)}var instanceIdValidator=idValidator(\\\"instance\\\");function createInstanceRecordType(e){var t,r,i={};for([t,r]of e)i[t]=validation_exports.optional(r);return createRecordType(\\\"instance\\\",{validator:validation_exports.model(\\\"instance\\\",validation_exports.object({typeName:validation_exports.literal(\\\"instance\\\"),id:idValidator(\\\"instance\\\"),currentPageId:pageIdValidator,followingUserId:validation_exports.string.nullable(),brush:boxModelValidator.nullable(),opacityForNextShape:opacityValidator,stylesForNextShape:validation_exports.object(i),cursor:cursorValidator,scribbles:validation_exports.arrayOf(scribbleValidator),isFocusMode:validation_exports[\\\"boolean\\\"],isDebugMode:validation_exports[\\\"boolean\\\"],isToolLocked:validation_exports[\\\"boolean\\\"],exportBackground:validation_exports[\\\"boolean\\\"],screenBounds:boxModelValidator,insets:validation_exports.arrayOf(validation_exports[\\\"boolean\\\"]),zoomBrush:boxModelValidator.nullable(),isPenMode:validation_exports[\\\"boolean\\\"],isGridMode:validation_exports[\\\"boolean\\\"],chatMessage:validation_exports.string,isChatting:validation_exports[\\\"boolean\\\"],highlightedUserIds:validation_exports.arrayOf(validation_exports.string),canMoveCamera:validation_exports[\\\"boolean\\\"],isFocused:validation_exports[\\\"boolean\\\"],devicePixelRatio:validation_exports.number,isCoarsePointer:validation_exports[\\\"boolean\\\"],isHoveringCanvas:validation_exports[\\\"boolean\\\"].nullable(),openMenus:validation_exports.arrayOf(validation_exports.string),isChangingStyle:validation_exports[\\\"boolean\\\"],isReadonly:validation_exports[\\\"boolean\\\"],meta:validation_exports.jsonValue,duplicateProps:validation_exports.object({shapeIds:validation_exports.arrayOf(idValidator(\\\"shape\\\")),offset:validation_exports.object({x:validation_exports.number,y:validation_exports.number})}).nullable()})),scope:\\\"session\\\"}).withDefaultProperties(()=>({followingUserId:null,opacityForNextShape:1,stylesForNextShape:{},brush:null,scribbles:[],cursor:{type:\\\"default\\\",rotation:0},isFocusMode:!1,exportBackground:!1,isDebugMode:!0,isToolLocked:!1,screenBounds:{x:0,y:0,w:1080,h:720},insets:[!1,!1,!1,!1],zoomBrush:null,isGridMode:!1,isPenMode:!1,chatMessage:\\\"\\\",isChatting:!1,highlightedUserIds:[],canMoveCamera:!0,isFocused:!1,devicePixelRatio:\\\"undefined\\\"==typeof window?1:window.devicePixelRatio,isCoarsePointer:!1,isHoveringCanvas:null,openMenus:[],isChangingStyle:!1,isReadonly:!1,meta:{},duplicateProps:null}))}var instanceVersions=createMigrationIds(\\\"com.tldraw.instance\\\",{AddTransparentExportBgs:1,RemoveDialog:2,AddToolLockMode:3,RemoveExtraPropsForNextShape:4,AddLabelColor:5,AddFollowingUserId:6,RemoveAlignJustify:7,AddZoom:8,AddVerticalAlign:9,AddScribbleDelay:10,RemoveUserId:11,AddIsPenModeAndIsGridMode:12,HoistOpacity:13,AddChat:14,AddHighlightedUserIds:15,ReplacePropsForNextShapeWithStylesForNextShape:16,AddMeta:17,RemoveCursorColor:18,AddLonelyProperties:19,ReadOnlyReadonly:20,AddHoveringCanvas:21,AddScribbles:22,AddInset:23,AddDuplicateProps:24}),instanceMigrations=createRecordMigrationSequence({sequenceId:\\\"com.tldraw.instance\\\",recordType:\\\"instance\\\",sequence:[{id:instanceVersions.AddTransparentExportBgs,up:e=>({...e,exportBackground:!0})},{id:instanceVersions.RemoveDialog,up:({dialog:e,...t})=>t},{id:instanceVersions.AddToolLockMode,up:e=>({...e,isToolLocked:!1})},{id:instanceVersions.RemoveExtraPropsForNextShape,up:({propsForNextShape:e,...t})=>({...t,propsForNextShape:Object.fromEntries(Object.entries(e).filter(([e])=>[\\\"color\\\",\\\"labelColor\\\",\\\"dash\\\",\\\"fill\\\",\\\"size\\\",\\\"font\\\",\\\"align\\\",\\\"verticalAlign\\\",\\\"icon\\\",\\\"geo\\\",\\\"arrowheadStart\\\",\\\"arrowheadEnd\\\",\\\"spline\\\"].includes(e)))})},{id:instanceVersions.AddLabelColor,up:({propsForNextShape:e,...t})=>({...t,propsForNextShape:{...e,labelColor:\\\"black\\\"}})},{id:instanceVersions.AddFollowingUserId,up:e=>({...e,followingUserId:null})},{id:instanceVersions.RemoveAlignJustify,up:e=>{let t=e.propsForNextShape.align;return\\\"justify\\\"===t&&(t=\\\"start\\\"),{...e,propsForNextShape:{...e.propsForNextShape,align:t}}}},{id:instanceVersions.AddZoom,up:e=>({...e,zoomBrush:null})},{id:instanceVersions.AddVerticalAlign,up:e=>({...e,propsForNextShape:{...e.propsForNextShape,verticalAlign:\\\"middle\\\"}})},{id:instanceVersions.AddScribbleDelay,up:e=>null!==e.scribble?{...e,scribble:{...e.scribble,delay:0}}:{...e}},{id:instanceVersions.RemoveUserId,up:({userId:e,...t})=>t},{id:instanceVersions.AddIsPenModeAndIsGridMode,up:e=>({...e,isPenMode:!1,isGridMode:!1})},{id:instanceVersions.HoistOpacity,up:({propsForNextShape:{opacity:e,...t},...r})=>({...r,opacityForNextShape:Number(null!=e?e:\\\"1\\\"),propsForNextShape:t})},{id:instanceVersions.AddChat,up:e=>({...e,chatMessage:\\\"\\\",isChatting:!1})},{id:instanceVersions.AddHighlightedUserIds,up:e=>({...e,highlightedUserIds:[]})},{id:instanceVersions.ReplacePropsForNextShapeWithStylesForNextShape,up:({propsForNextShape:e,...t})=>({...t,stylesForNextShape:{}})},{id:instanceVersions.AddMeta,up:e=>({...e,meta:{}})},{id:instanceVersions.RemoveCursorColor,up:e=>{const{color:t,...r}=e.cursor;return{...e,cursor:r}}},{id:instanceVersions.AddLonelyProperties,up:e=>({...e,canMoveCamera:!0,isFocused:!1,devicePixelRatio:1,isCoarsePointer:!1,openMenus:[],isChangingStyle:!1,isReadOnly:!1})},{id:instanceVersions.ReadOnlyReadonly,up:({isReadOnly:e,...t})=>({...t,isReadonly:e})},{id:instanceVersions.AddHoveringCanvas,up:e=>({...e,isHoveringCanvas:null})},{id:instanceVersions.AddScribbles,up:({scribble:e,...t})=>({...t,scribbles:[]})},{id:instanceVersions.AddInset,up:e=>({...e,insets:[!1,!1,!1,!1]}),down:({insets:e,...t})=>({...t})},{id:instanceVersions.AddDuplicateProps,up:e=>({...e,duplicateProps:null}),down:({duplicateProps:e,...t})=>({...t})}]}),TLINSTANCE_ID=\\\"instance:instance\\\",parentIdValidator=(init_esbuild_inject(),init_esbuild_inject(),validation_exports.string.refine(e=>{if(e.startsWith(\\\"page:\\\")||e.startsWith(\\\"shape:\\\"))return e;throw new Error('Parent ID must start with \\\"page:\\\" or \\\"shape:\\\"')})),shapeIdValidator=idValidator(\\\"shape\\\");function createShapeValidator(e,t,r){return validation_exports.object({id:shapeIdValidator,typeName:validation_exports.literal(\\\"shape\\\"),x:validation_exports.number,y:validation_exports.number,rotation:validation_exports.number,index:validation_exports.indexKey,parentId:parentIdValidator,type:validation_exports.literal(e),isLocked:validation_exports[\\\"boolean\\\"],opacity:opacityValidator,props:t?validation_exports.object(t):validation_exports.jsonValue,meta:r?validation_exports.object(r):validation_exports.jsonValue})}var instancePageStateValidator=validation_exports.model(\\\"instance_page_state\\\",validation_exports.object({typeName:validation_exports.literal(\\\"instance_page_state\\\"),id:idValidator(\\\"instance_page_state\\\"),pageId:pageIdValidator,selectedShapeIds:validation_exports.arrayOf(shapeIdValidator),hintingShapeIds:validation_exports.arrayOf(shapeIdValidator),erasingShapeIds:validation_exports.arrayOf(shapeIdValidator),hoveredShapeId:shapeIdValidator.nullable(),editingShapeId:shapeIdValidator.nullable(),croppingShapeId:shapeIdValidator.nullable(),focusedGroupId:shapeIdValidator.nullable(),meta:validation_exports.jsonValue})),instancePageStateVersions=createMigrationIds(\\\"com.tldraw.instance_page_state\\\",{AddCroppingId:1,RemoveInstanceIdAndCameraId:2,AddMeta:3,RenameProperties:4,RenamePropertiesAgain:5}),instancePageStateMigrations=createRecordMigrationSequence({sequenceId:\\\"com.tldraw.instance_page_state\\\",recordType:\\\"instance_page_state\\\",sequence:[{id:instancePageStateVersions.AddCroppingId,up(e){e.croppingShapeId=null}},{id:instancePageStateVersions.RemoveInstanceIdAndCameraId,up(e){delete e.instanceId,delete e.cameraId}},{id:instancePageStateVersions.AddMeta,up:e=>{e.meta={}}},{id:instancePageStateVersions.RenameProperties,up:e=>{},down:e=>{}},{id:instancePageStateVersions.RenamePropertiesAgain,up:e=>{var t;e.selectedShapeIds=e.selectedIds,delete e.selectedIds,e.hintingShapeIds=e.hintingIds,delete e.hintingIds,e.erasingShapeIds=e.erasingIds,delete e.erasingIds,e.hoveredShapeId=e.hoveredId,delete e.hoveredId,e.editingShapeId=e.editingId,delete e.editingId,e.croppingShapeId=null!=(t=null!=(t=e.croppingShapeId)?t:e.croppingId)?t:null,delete e.croppingId,e.focusedGroupId=e.focusLayerId,delete e.focusLayerId},down:e=>{e.selectedIds=e.selectedShapeIds,delete e.selectedShapeIds,e.hintingIds=e.hintingShapeIds,delete e.hintingShapeIds,e.erasingIds=e.erasingShapeIds,delete e.erasingShapeIds,e.hoveredId=e.hoveredShapeId,delete e.hoveredShapeId,e.editingId=e.editingShapeId,delete e.editingShapeId,e.croppingId=e.croppingShapeId,delete e.croppingShapeId,e.focusLayerId=e.focusedGroupId,delete e.focusedGroupId}}]}),InstancePageStateRecordType=createRecordType(\\\"instance_page_state\\\",{validator:instancePageStateValidator,scope:\\\"session\\\"}).withDefaultProperties(()=>({editingShapeId:null,croppingShapeId:null,selectedShapeIds:[],hoveredShapeId:null,erasingShapeIds:[],hintingShapeIds:[],focusedGroupId:null,meta:{}})),pointerValidator=(init_esbuild_inject(),validation_exports.model(\\\"pointer\\\",validation_exports.object({typeName:validation_exports.literal(\\\"pointer\\\"),id:idValidator(\\\"pointer\\\"),x:validation_exports.number,y:validation_exports.number,lastActivityTimestamp:validation_exports.number,meta:validation_exports.jsonValue}))),pointerVersions=createMigrationIds(\\\"com.tldraw.pointer\\\",{AddMeta:1}),pointerMigrations=createRecordMigrationSequence({sequenceId:\\\"com.tldraw.pointer\\\",recordType:\\\"pointer\\\",sequence:[{id:pointerVersions.AddMeta,up:e=>{e.meta={}}}]}),PointerRecordType=createRecordType(\\\"pointer\\\",{validator:pointerValidator,scope:\\\"session\\\"}).withDefaultProperties(()=>({x:0,y:0,lastActivityTimestamp:0,meta:{}})),TLPOINTER_ID=PointerRecordType.createId(\\\"pointer\\\"),instancePresenceValidator=(init_esbuild_inject(),validation_exports.model(\\\"instance_presence\\\",validation_exports.object({typeName:validation_exports.literal(\\\"instance_presence\\\"),id:idValidator(\\\"instance_presence\\\"),userId:validation_exports.string,userName:validation_exports.string,lastActivityTimestamp:validation_exports.number,followingUserId:validation_exports.string.nullable(),cursor:validation_exports.object({x:validation_exports.number,y:validation_exports.number,type:cursorTypeValidator,rotation:validation_exports.number}),color:validation_exports.string,camera:validation_exports.object({x:validation_exports.number,y:validation_exports.number,z:validation_exports.number}),screenBounds:boxModelValidator,selectedShapeIds:validation_exports.arrayOf(idValidator(\\\"shape\\\")),currentPageId:idValidator(\\\"page\\\"),brush:boxModelValidator.nullable(),scribbles:validation_exports.arrayOf(scribbleValidator),chatMessage:validation_exports.string,meta:validation_exports.jsonValue}))),instancePresenceVersions=createMigrationIds(\\\"com.tldraw.instance_presence\\\",{AddScribbleDelay:1,RemoveInstanceId:2,AddChatMessage:3,AddMeta:4,RenameSelectedShapeIds:5}),instancePresenceMigrations=createRecordMigrationSequence({sequenceId:\\\"com.tldraw.instance_presence\\\",recordType:\\\"instance_presence\\\",sequence:[{id:instancePresenceVersions.AddScribbleDelay,up:e=>{null!==e.scribble&&(e.scribble.delay=0)}},{id:instancePresenceVersions.RemoveInstanceId,up:e=>{delete e.instanceId}},{id:instancePresenceVersions.AddChatMessage,up:e=>{e.chatMessage=\\\"\\\"}},{id:instancePresenceVersions.AddMeta,up:e=>{e.meta={}}},{id:instancePresenceVersions.RenameSelectedShapeIds,up:e=>{}}]}),InstancePresenceRecordType=createRecordType(\\\"instance_presence\\\",{validator:instancePresenceValidator,scope:\\\"presence\\\"}).withDefaultProperties(()=>({lastActivityTimestamp:0,followingUserId:null,color:\\\"#FF0000\\\",camera:{x:0,y:0,z:1},cursor:{x:0,y:0,type:\\\"default\\\",rotation:0},screenBounds:{x:0,y:0,w:1,h:1},selectedShapeIds:[],brush:null,scribbles:[],chatMessage:\\\"\\\",meta:{}})),documentValidator=(init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),validation_exports.model(\\\"document\\\",validation_exports.object({typeName:validation_exports.literal(\\\"document\\\"),id:validation_exports.literal(\\\"document:document\\\"),gridSize:validation_exports.number,name:validation_exports.string,meta:validation_exports.jsonValue}))),documentVersions=createMigrationIds(\\\"com.tldraw.document\\\",{AddName:1,AddMeta:2}),documentMigrations=createRecordMigrationSequence({sequenceId:\\\"com.tldraw.document\\\",recordType:\\\"document\\\",sequence:[{id:documentVersions.AddName,up:e=>{e.name=\\\"\\\"},down:e=>{delete e.name}},{id:documentVersions.AddMeta,up:e=>{e.meta={}}}]}),DocumentRecordType=createRecordType(\\\"document\\\",{validator:documentValidator,scope:\\\"document\\\"}).withDefaultProperties(()=>({gridSize:10,name:\\\"\\\",meta:{}})),TLDOCUMENT_ID=DocumentRecordType.createId(\\\"document\\\");function sortByIndex2(e,t){return e.indext.index?1:0}function redactRecordForErrorReporting(e){\\\"asset\\\"===e.typeName&&(\\\"src\\\"in e&&(e.src=\\\"\\\"),\\\"src\\\"in e.props)&&(e.props.src=\\\"\\\")}var onValidationFailure=({error:e,phase:t,record:r,recordBefore:i})=>{throw annotateError(e,{tags:{origin:\\\"store.validateRecord\\\",storePhase:t,isExistingValidationIssue:\\\"initialize\\\"===t},extras:{recordBefore:i?redactRecordForErrorReporting(structuredClone(i)):void 0,recordAfter:redactRecordForErrorReporting(structuredClone(r))}}),e};function getDefaultPages(){return[PageRecordType.create({id:\\\"page:page\\\",name:\\\"Page 1\\\",index:\\\"a1\\\",meta:{}})]}function createIntegrityChecker(s){const l=s.query.ids(\\\"page\\\"),c=()=>{if(!s.has(TLDOCUMENT_ID))return s.put([DocumentRecordType.create({id:TLDOCUMENT_ID,name:s.props.defaultName})]),c();if(!s.has(TLPOINTER_ID))return s.put([PointerRecordType.create({id:TLPOINTER_ID})]),c();const e=l.get();if(0===e.size)return s.put(getDefaultPages()),c();var t=()=>[...e].map(e=>s.get(e)).sort(sortByIndex2)[0].id,r=s.get(TLINSTANCE_ID);if(!r)return s.put([s.schema.types.instance.create({id:TLINSTANCE_ID,currentPageId:t(),exportBackground:!0})]),c();if(!e.has(r.currentPageId))return s.put([{...r,currentPageId:t()}]),c();var i=new Set,n=new Set;for(const a of e){var o=InstancePageStateRecordType.createId(a),o=(s.has(o)||i.add(o),CameraRecordType.createId(a));s.has(o)||n.add(o)}0InstancePageStateRecordType.create({id:e,pageId:InstancePageStateRecordType.parseId(e)}))),0CameraRecordType.create({id:e})))};return c}init_esbuild_inject();var bookmarkAssetValidator=createAssetValidator(\\\"bookmark\\\",validation_exports.object({title:validation_exports.string,description:validation_exports.string,image:validation_exports.string,src:validation_exports.srcUrl.nullable()})),Versions=createMigrationIds(\\\"com.tldraw.asset.bookmark\\\",{MakeUrlsValid:1}),bookmarkAssetMigrations=createRecordMigrationSequence({sequenceId:\\\"com.tldraw.asset.bookmark\\\",recordType:\\\"asset\\\",filter:e=>\\\"bookmark\\\"===e.type,sequence:[{id:Versions.MakeUrlsValid,up:e=>{validation_exports.srcUrl.isValid(e.props.src)||(e.props.src=\\\"\\\")},down:e=>{}}]}),imageAssetValidator=(init_esbuild_inject(),createAssetValidator(\\\"image\\\",validation_exports.object({w:validation_exports.number,h:validation_exports.number,name:validation_exports.string,isAnimated:validation_exports[\\\"boolean\\\"],mimeType:validation_exports.string.nullable(),src:validation_exports.srcUrl.nullable()}))),Versions2=createMigrationIds(\\\"com.tldraw.asset.image\\\",{AddIsAnimated:1,RenameWidthHeight:2,MakeUrlsValid:3}),imageAssetMigrations=createRecordMigrationSequence({sequenceId:\\\"com.tldraw.asset.image\\\",recordType:\\\"asset\\\",filter:e=>\\\"image\\\"===e.type,sequence:[{id:Versions2.AddIsAnimated,up:e=>{e.props.isAnimated=!1},down:e=>{delete e.props.isAnimated}},{id:Versions2.RenameWidthHeight,up:e=>{e.props.w=e.props.width,e.props.h=e.props.height,delete e.props.width,delete e.props.height},down:e=>{e.props.width=e.props.w,e.props.height=e.props.h,delete e.props.w,delete e.props.h}},{id:Versions2.MakeUrlsValid,up:e=>{validation_exports.srcUrl.isValid(e.props.src)||(e.props.src=\\\"\\\")},down:e=>{}}]}),videoAssetValidator=(init_esbuild_inject(),createAssetValidator(\\\"video\\\",validation_exports.object({w:validation_exports.number,h:validation_exports.number,name:validation_exports.string,isAnimated:validation_exports[\\\"boolean\\\"],mimeType:validation_exports.string.nullable(),src:validation_exports.srcUrl.nullable()}))),Versions3=createMigrationIds(\\\"com.tldraw.asset.video\\\",{AddIsAnimated:1,RenameWidthHeight:2,MakeUrlsValid:3}),videoAssetMigrations=createRecordMigrationSequence({sequenceId:\\\"com.tldraw.asset.video\\\",recordType:\\\"asset\\\",filter:e=>\\\"video\\\"===e.type,sequence:[{id:Versions3.AddIsAnimated,up:e=>{e.props.isAnimated=!1},down:e=>{delete e.props.isAnimated}},{id:Versions3.RenameWidthHeight,up:e=>{e.props.w=e.props.width,e.props.h=e.props.height,delete e.props.width,delete e.props.height},down:e=>{e.props.width=e.props.w,e.props.height=e.props.h,delete e.props.w,delete e.props.h}},{id:Versions3.MakeUrlsValid,up:e=>{validation_exports.srcUrl.isValid(e.props.src)||(e.props.src=\\\"\\\")},down:e=>{}}]}),assetValidator=(init_esbuild_inject(),validation_exports.model(\\\"asset\\\",validation_exports.union(\\\"type\\\",{image:imageAssetValidator,video:videoAssetValidator,bookmark:bookmarkAssetValidator}))),assetVersions=createMigrationIds(\\\"com.tldraw.asset\\\",{AddMeta:1}),assetMigrations=createRecordMigrationSequence({sequenceId:\\\"com.tldraw.asset\\\",recordType:\\\"asset\\\",sequence:[{id:assetVersions.AddMeta,up:e=>{e.meta={}}}]}),AssetRecordType=createRecordType(\\\"asset\\\",{validator:assetValidator,scope:\\\"document\\\"}).withDefaultProperties(()=>({meta:{}})),StyleProp=(init_esbuild_inject(),init_esbuild_inject(),class o0a{constructor(e,t,r){this.id=e,this.defaultValue=t,this.type=r}static define(e,t){var{defaultValue:r,type:i=validation_exports.any}=t;return new o0a(e,r,i)}static defineEnum(e,t){var{defaultValue:r,values:i}=t;return new EnumStyleProp(e,r,i)}validate(e){return this.type.validate(e)}validateUsingKnownGoodVersion(e,t){return this.type.validateUsingKnownGoodVersion?this.type.validateUsingKnownGoodVersion(e,t):this.validate(t)}}),EnumStyleProp=class extends StyleProp{constructor(e,t,r){super(e,t,validation_exports.literalEnum(...r)),this.values=r}},rootShapeVersions=createMigrationIds(\\\"com.tldraw.shape\\\",{AddIsLocked:1,HoistOpacity:2,AddMeta:3,AddWhite:4}),rootShapeMigrations=createRecordMigrationSequence({sequenceId:\\\"com.tldraw.shape\\\",recordType:\\\"shape\\\",sequence:[{id:rootShapeVersions.AddIsLocked,up:e=>{e.isLocked=!1},down:e=>{delete e.isLocked}},{id:rootShapeVersions.HoistOpacity,up:e=>{var t;e.opacity=Number(null!=(t=e.props.opacity)?t:\\\"1\\\"),delete e.props.opacity},down:e=>{var t=e.opacity;delete e.opacity,e.props.opacity=t<.175?\\\"0.1\\\":t<.375?\\\"0.25\\\":t<.625?\\\"0.5\\\":t<.875?\\\"0.75\\\":\\\"1\\\"}},{id:rootShapeVersions.AddMeta,up:e=>{e.meta={}}},{id:rootShapeVersions.AddWhite,up:e=>{},down:e=>{\\\"white\\\"===e.props.color&&(e.props.color=\\\"black\\\")}}]});function isShape(e){return!!e&&\\\"shape\\\"===e.typeName}function isShapeId(e){return!!e&&e.startsWith(\\\"shape:\\\")}function createShapeId(e){return\\\"shape:\\\".concat(null!=e?e:nanoid())}function getShapePropKeysByStyle(e){var t,r,i=new Map;for([t,r]of Object.entries(e))if(r instanceof StyleProp){if(i.has(r))throw new Error(\\\"Duplicate style prop \\\".concat(r.id,\\\". Each style prop can only be used once within a shape.\\\"));i.set(r,t)}return i}var RETIRED_DOWN_MIGRATION=\\\"retired\\\";function createShapePropsMigrationSequence(e){return e}function createShapePropsMigrationIds(r,e){return mapObjectMapValues(e,(e,t)=>\\\"com.tldraw.shape.\\\".concat(r,\\\"/\\\").concat(t))}function processShapeMigrations(e){var t=[];for(const[i,{migrations:n}]of Object.entries(e)){const o=\\\"com.tldraw.shape.\\\".concat(i);n?\\\"sequenceId\\\"in n?(assert(o===n.sequenceId,\\\"sequenceId mismatch for \\\".concat(i,\\\" shape migrations. Expected '\\\").concat(o,\\\"', got '\\\").concat(n.sequenceId,\\\"'\\\")),t.push(n)):\\\"sequence\\\"in n?t.push(createMigrationSequence({sequenceId:o,retroactive:!1,sequence:n.sequence.map(r=>\\\"id\\\"in r?{id:r.id,scope:\\\"record\\\",filter:e=>\\\"shape\\\"===e.typeName&&e.type===i,dependsOn:r.dependsOn,up:e=>{var t=r.up(e.props);t&&(e.props=t)},down:\\\"function\\\"==typeof r.down?e=>{var t=r.down(e.props);t&&(e.props=t)}:void 0}:r)})):t.push(createMigrationSequence({sequenceId:o,retroactive:!1,sequence:Object.keys(n.migrators).map(e=>Number(e)).sort((e,t)=>e-t).map(r=>({id:\\\"\\\".concat(o,\\\"/\\\").concat(r),scope:\\\"record\\\",filter:e=>\\\"shape\\\"===e.typeName&&e.type===i,up:e=>{var t=n.migrators[r].up(e);if(t)return t},down:e=>{var t=n.migrators[r].down(e);if(t)return t}}))})):t.push(createMigrationSequence({sequenceId:o,retroactive:!1,sequence:[]}))}return t}function createShapeRecordType(e){return createRecordType(\\\"shape\\\",{scope:\\\"document\\\",validator:validation_exports.model(\\\"shape\\\",validation_exports.union(\\\"type\\\",mapObjectMapValues(e,(e,{props:t,meta:r})=>createShapeValidator(e,t,r))))}).withDefaultProperties(()=>({x:0,y:0,rotation:0,isLocked:!1,opacity:1,meta:{}}))}init_esbuild_inject(),init_esbuild_inject();var colors=[\\\"black\\\",\\\"grey\\\",\\\"light-violet\\\",\\\"violet\\\",\\\"blue\\\",\\\"light-blue\\\",\\\"yellow\\\",\\\"orange\\\",\\\"green\\\",\\\"light-green\\\",\\\"light-red\\\",\\\"red\\\",\\\"white\\\"],DefaultColorThemePalette={lightMode:{id:\\\"light\\\",text:\\\"#000000\\\",background:\\\"rgb(249, 250, 251)\\\",solid:\\\"#fcfffe\\\",black:{solid:\\\"#1d1d1d\\\",note:{fill:\\\"#FCE19C\\\",text:\\\"#000000\\\"},semi:\\\"#e8e8e8\\\",pattern:\\\"#494949\\\",highlight:{srgb:\\\"#fddd00\\\",p3:\\\"color(display-p3 0.972 0.8705 0.05)\\\"}},blue:{solid:\\\"#4465e9\\\",note:{fill:\\\"#8AA3FF\\\",text:\\\"#000000\\\"},semi:\\\"#dce1f8\\\",pattern:\\\"#6681ee\\\",highlight:{srgb:\\\"#10acff\\\",p3:\\\"color(display-p3 0.308 0.6632 0.9996)\\\"}},green:{solid:\\\"#099268\\\",note:{fill:\\\"#6FC896\\\",text:\\\"#000000\\\"},semi:\\\"#d3e9e3\\\",pattern:\\\"#39a785\\\",highlight:{srgb:\\\"#00ffc8\\\",p3:\\\"color(display-p3 0.2536 0.984 0.7981)\\\"}},grey:{solid:\\\"#9fa8b2\\\",note:{fill:\\\"#C0CAD3\\\",text:\\\"#000000\\\"},semi:\\\"#eceef0\\\",pattern:\\\"#bcc3c9\\\",highlight:{srgb:\\\"#cbe7f1\\\",p3:\\\"color(display-p3 0.8163 0.9023 0.9416)\\\"}},\\\"light-blue\\\":{solid:\\\"#4ba1f1\\\",note:{fill:\\\"#9BC4FD\\\",text:\\\"#000000\\\"},semi:\\\"#ddedfa\\\",pattern:\\\"#6fbbf8\\\",highlight:{srgb:\\\"#00f4ff\\\",p3:\\\"color(display-p3 0.1512 0.9414 0.9996)\\\"}},\\\"light-green\\\":{solid:\\\"#4cb05e\\\",note:{fill:\\\"#98D08A\\\",text:\\\"#000000\\\"},semi:\\\"#dbf0e0\\\",pattern:\\\"#65cb78\\\",highlight:{srgb:\\\"#65f641\\\",p3:\\\"color(display-p3 0.563 0.9495 0.3857)\\\"}},\\\"light-red\\\":{solid:\\\"#f87777\\\",note:{fill:\\\"#F7A5A1\\\",text:\\\"#000000\\\"},semi:\\\"#f4dadb\\\",pattern:\\\"#fe9e9e\\\",highlight:{srgb:\\\"#ff7fa3\\\",p3:\\\"color(display-p3 0.9988 0.5301 0.6397)\\\"}},\\\"light-violet\\\":{solid:\\\"#e085f4\\\",note:{fill:\\\"#DFB0F9\\\",text:\\\"#000000\\\"},semi:\\\"#f5eafa\\\",pattern:\\\"#e9acf8\\\",highlight:{srgb:\\\"#ff88ff\\\",p3:\\\"color(display-p3 0.9676 0.5652 0.9999)\\\"}},orange:{solid:\\\"#e16919\\\",note:{fill:\\\"#FAA475\\\",text:\\\"#000000\\\"},semi:\\\"#f8e2d4\\\",pattern:\\\"#f78438\\\",highlight:{srgb:\\\"#ffa500\\\",p3:\\\"color(display-p3 0.9988 0.6905 0.266)\\\"}},red:{solid:\\\"#e03131\\\",note:{fill:\\\"#FC8282\\\",text:\\\"#000000\\\"},semi:\\\"#f4dadb\\\",pattern:\\\"#e55959\\\",highlight:{srgb:\\\"#ff636e\\\",p3:\\\"color(display-p3 0.9992 0.4376 0.45)\\\"}},violet:{solid:\\\"#ae3ec9\\\",note:{fill:\\\"#DB91FD\\\",text:\\\"#000000\\\"},semi:\\\"#ecdcf2\\\",pattern:\\\"#bd63d3\\\",highlight:{srgb:\\\"#c77cff\\\",p3:\\\"color(display-p3 0.7469 0.5089 0.9995)\\\"}},yellow:{solid:\\\"#f1ac4b\\\",note:{fill:\\\"#FED49A\\\",text:\\\"#000000\\\"},semi:\\\"#f9f0e6\\\",pattern:\\\"#fecb92\\\",highlight:{srgb:\\\"#fddd00\\\",p3:\\\"color(display-p3 0.972 0.8705 0.05)\\\"}},white:{solid:\\\"#FFFFFF\\\",semi:\\\"#f5f5f5\\\",pattern:\\\"#f9f9f9\\\",note:{fill:\\\"#FFFFFF\\\",text:\\\"#000000\\\"},highlight:{srgb:\\\"#ffffff\\\",p3:\\\"color(display-p3 1 1 1)\\\"}}},darkMode:{id:\\\"dark\\\",text:\\\"hsl(210, 17%, 98%)\\\",background:\\\"hsl(240, 5%, 6.5%)\\\",solid:\\\"#010403\\\",black:{solid:\\\"#f2f2f2\\\",note:{fill:\\\"#2c2c2c\\\",text:\\\"#f2f2f2\\\"},semi:\\\"#2c3036\\\",pattern:\\\"#989898\\\",highlight:{srgb:\\\"#d2b700\\\",p3:\\\"color(display-p3 0.8078 0.7225 0.0312)\\\"}},blue:{solid:\\\"#4f72fc\\\",note:{fill:\\\"#2A3F98\\\",text:\\\"#f2f2f2\\\"},semi:\\\"#262d40\\\",pattern:\\\"#3a4b9e\\\",highlight:{srgb:\\\"#0079d2\\\",p3:\\\"color(display-p3 0.0032 0.4655 0.7991)\\\"}},green:{solid:\\\"#099268\\\",note:{fill:\\\"#014429\\\",text:\\\"#f2f2f2\\\"},semi:\\\"#253231\\\",pattern:\\\"#366a53\\\",highlight:{srgb:\\\"#009774\\\",p3:\\\"color(display-p3 0.0085 0.582 0.4604)\\\"}},grey:{solid:\\\"#9398b0\\\",note:{fill:\\\"#56595F\\\",text:\\\"#f2f2f2\\\"},semi:\\\"#33373c\\\",pattern:\\\"#7c8187\\\",highlight:{srgb:\\\"#9cb4cb\\\",p3:\\\"color(display-p3 0.6299 0.7012 0.7856)\\\"}},\\\"light-blue\\\":{solid:\\\"#4dabf7\\\",note:{fill:\\\"#1F5495\\\",text:\\\"#f2f2f2\\\"},semi:\\\"#2a3642\\\",pattern:\\\"#4d7aa9\\\",highlight:{srgb:\\\"#00bdc8\\\",p3:\\\"color(display-p3 0.0023 0.7259 0.7735)\\\"}},\\\"light-green\\\":{solid:\\\"#40c057\\\",note:{fill:\\\"#21581D\\\",text:\\\"#f2f2f2\\\"},semi:\\\"#2a3830\\\",pattern:\\\"#4e874e\\\",highlight:{srgb:\\\"#00a000\\\",p3:\\\"color(display-p3 0.2711 0.6172 0.0195)\\\"}},\\\"light-red\\\":{solid:\\\"#ff8787\\\",note:{fill:\\\"#923632\\\",text:\\\"#f2f2f2\\\"},semi:\\\"#3b3235\\\",pattern:\\\"#a56767\\\",highlight:{srgb:\\\"#db005b\\\",p3:\\\"color(display-p3 0.7849 0.0585 0.3589)\\\"}},\\\"light-violet\\\":{solid:\\\"#e599f7\\\",note:{fill:\\\"#762F8E\\\",text:\\\"#f2f2f2\\\"},semi:\\\"#383442\\\",pattern:\\\"#9770a9\\\",highlight:{srgb:\\\"#c400c7\\\",p3:\\\"color(display-p3 0.7024 0.0403 0.753)\\\"}},orange:{solid:\\\"#f76707\\\",note:{fill:\\\"#843906\\\",text:\\\"#f2f2f2\\\"},semi:\\\"#3a2e2a\\\",pattern:\\\"#9f552d\\\",highlight:{srgb:\\\"#d07a00\\\",p3:\\\"color(display-p3 0.7699 0.4937 0.0085)\\\"}},red:{solid:\\\"#e03131\\\",note:{fill:\\\"#89231A\\\",text:\\\"#f2f2f2\\\"},semi:\\\"#36292b\\\",pattern:\\\"#8f3734\\\",highlight:{srgb:\\\"#de002c\\\",p3:\\\"color(display-p3 0.7978 0.0509 0.2035)\\\"}},violet:{solid:\\\"#ae3ec9\\\",note:{fill:\\\"#681683\\\",text:\\\"#f2f2f2\\\"},semi:\\\"#31293c\\\",pattern:\\\"#763a8b\\\",highlight:{srgb:\\\"#9e00ee\\\",p3:\\\"color(display-p3 0.5651 0.0079 0.8986)\\\"}},yellow:{solid:\\\"#ffc034\\\",note:{fill:\\\"#98571B\\\",text:\\\"#f2f2f2\\\"},semi:\\\"#3c3934\\\",pattern:\\\"#fecb92\\\",highlight:{srgb:\\\"#d2b700\\\",p3:\\\"color(display-p3 0.8078 0.7225 0.0312)\\\"}},white:{solid:\\\"#f3f3f3\\\",semi:\\\"#f5f5f5\\\",pattern:\\\"#f9f9f9\\\",note:{fill:\\\"#eaeaea\\\",text:\\\"#1d1d1d\\\"},highlight:{srgb:\\\"#ffffff\\\",p3:\\\"color(display-p3 1 1 1)\\\"}}}};function getDefaultColorTheme(e){return e.isDarkMode?DefaultColorThemePalette.darkMode:DefaultColorThemePalette.lightMode}var DefaultColorStyle=StyleProp.defineEnum(\\\"tldraw:color\\\",{defaultValue:\\\"black\\\",values:colors}),DefaultLabelColorStyle=StyleProp.defineEnum(\\\"tldraw:labelColor\\\",{defaultValue:\\\"black\\\",values:colors}),DefaultDashStyle=(init_esbuild_inject(),StyleProp.defineEnum(\\\"tldraw:dash\\\",{defaultValue:\\\"draw\\\",values:[\\\"draw\\\",\\\"solid\\\",\\\"dashed\\\",\\\"dotted\\\"]})),DefaultFillStyle=(init_esbuild_inject(),StyleProp.defineEnum(\\\"tldraw:fill\\\",{defaultValue:\\\"none\\\",values:[\\\"none\\\",\\\"semi\\\",\\\"solid\\\",\\\"pattern\\\"]})),DefaultFontStyle=(init_esbuild_inject(),StyleProp.defineEnum(\\\"tldraw:font\\\",{defaultValue:\\\"draw\\\",values:[\\\"draw\\\",\\\"sans\\\",\\\"serif\\\",\\\"mono\\\"]})),DefaultFontFamilies={draw:\\\"'tldraw_draw', sans-serif\\\",sans:\\\"'tldraw_sans', sans-serif\\\",serif:\\\"'tldraw_serif', serif\\\",mono:\\\"'tldraw_mono', monospace\\\"},DefaultSizeStyle=(init_esbuild_inject(),StyleProp.defineEnum(\\\"tldraw:size\\\",{defaultValue:\\\"m\\\",values:[\\\"s\\\",\\\"m\\\",\\\"l\\\",\\\"xl\\\"]})),arrowheadTypes=[\\\"arrow\\\",\\\"triangle\\\",\\\"square\\\",\\\"dot\\\",\\\"pipe\\\",\\\"diamond\\\",\\\"inverted\\\",\\\"bar\\\",\\\"none\\\"],ArrowShapeArrowheadStartStyle=StyleProp.defineEnum(\\\"tldraw:arrowheadStart\\\",{defaultValue:\\\"none\\\",values:arrowheadTypes}),ArrowShapeArrowheadEndStyle=StyleProp.defineEnum(\\\"tldraw:arrowheadEnd\\\",{defaultValue:\\\"arrow\\\",values:arrowheadTypes}),ArrowShapeTerminal=validation_exports.union(\\\"type\\\",{binding:validation_exports.object({type:validation_exports.literal(\\\"binding\\\"),boundShapeId:shapeIdValidator,normalizedAnchor:vecModelValidator,isExact:validation_exports[\\\"boolean\\\"],isPrecise:validation_exports[\\\"boolean\\\"]}),point:validation_exports.object({type:validation_exports.literal(\\\"point\\\"),x:validation_exports.number,y:validation_exports.number})}),arrowShapeProps={labelColor:DefaultLabelColorStyle,color:DefaultColorStyle,fill:DefaultFillStyle,dash:DefaultDashStyle,size:DefaultSizeStyle,arrowheadStart:ArrowShapeArrowheadStartStyle,arrowheadEnd:ArrowShapeArrowheadEndStyle,font:DefaultFontStyle,start:ArrowShapeTerminal,end:ArrowShapeTerminal,bend:validation_exports.number,text:validation_exports.string,labelPosition:validation_exports.number},arrowShapeVersions=createShapePropsMigrationIds(\\\"arrow\\\",{AddLabelColor:1,AddIsPrecise:2,AddLabelPosition:3}),arrowShapeMigrations=createShapePropsMigrationSequence({sequence:[{id:arrowShapeVersions.AddLabelColor,up:e=>{e.labelColor=\\\"black\\\"},down:RETIRED_DOWN_MIGRATION},{id:arrowShapeVersions.AddIsPrecise,up:({start:e,end:t})=>{\\\"binding\\\"===e.type&&(e.isPrecise=!(.5===e.normalizedAnchor.x&&.5===e.normalizedAnchor.y)),\\\"binding\\\"===t.type&&(t.isPrecise=!(.5===t.normalizedAnchor.x&&.5===t.normalizedAnchor.y))},down:({start:e,end:t})=>{\\\"binding\\\"===e.type&&(e.isPrecise||(e.normalizedAnchor={x:.5,y:.5}),delete e.isPrecise),\\\"binding\\\"===t.type&&(t.isPrecise||(t.normalizedAnchor={x:.5,y:.5}),delete t.isPrecise)}},{id:arrowShapeVersions.AddLabelPosition,up:e=>{e.labelPosition=.5},down:e=>{delete e.labelPosition}}]}),bookmarkShapeProps=(init_esbuild_inject(),{w:validation_exports.nonZeroNumber,h:validation_exports.nonZeroNumber,assetId:assetIdValidator.nullable(),url:validation_exports.linkUrl}),Versions4=createShapePropsMigrationIds(\\\"bookmark\\\",{NullAssetId:1,MakeUrlsValid:2}),bookmarkShapeMigrations=createShapePropsMigrationSequence({sequence:[{id:Versions4.NullAssetId,up:e=>{void 0===e.assetId&&(e.assetId=null)},down:RETIRED_DOWN_MIGRATION},{id:Versions4.MakeUrlsValid,up:e=>{validation_exports.linkUrl.isValid(e.url)||(e.url=\\\"\\\")},down:e=>{}}]}),DrawShapeSegment=(init_esbuild_inject(),validation_exports.object({type:validation_exports.literalEnum(\\\"free\\\",\\\"straight\\\"),points:validation_exports.arrayOf(vecModelValidator)})),drawShapeProps={color:DefaultColorStyle,fill:DefaultFillStyle,dash:DefaultDashStyle,size:DefaultSizeStyle,segments:validation_exports.arrayOf(DrawShapeSegment),isComplete:validation_exports[\\\"boolean\\\"],isClosed:validation_exports[\\\"boolean\\\"],isPen:validation_exports[\\\"boolean\\\"]},Versions5=createShapePropsMigrationIds(\\\"draw\\\",{AddInPen:1}),drawShapeMigrations=createShapePropsMigrationSequence({sequence:[{id:Versions5.AddInPen,up:t=>{var r=t.segments[0][\\\"points\\\"];if(0===r.length)t.isPen=!1;else{let e=!(0===r[0].z||.5===r[0].z);r[1]&&(e=e&&!(0===r[1].z||.5===r[1].z)),t.isPen=e}},down:RETIRED_DOWN_MIGRATION}]}),TLDRAW_APP_RE=(init_esbuild_inject(),/(^\\\\/r\\\\/[^/]+\\\\/?$)/),safeParseUrl=e=>{try{return new URL(e)}catch(t){}},EMBED_DEFINITIONS=[{type:\\\"tldraw\\\",title:\\\"tldraw\\\",hostnames:[\\\"beta.tldraw.com\\\",\\\"tldraw.com\\\",\\\"localhost:3000\\\"],minWidth:300,minHeight:300,width:720,height:500,doesResize:!0,overridePermissions:{\\\"allow-top-navigation\\\":!0},toEmbedUrl:e=>{var t=safeParseUrl(e);if(t&&t.pathname.match(TLDRAW_APP_RE))return e},fromEmbedUrl:e=>{var t=safeParseUrl(e);if(t&&t.pathname.match(TLDRAW_APP_RE))return e}},{type:\\\"figma\\\",title:\\\"Figma\\\",hostnames:[\\\"figma.com\\\"],width:720,height:500,doesResize:!0,toEmbedUrl:e=>{if(e.match(/https:\\\\/\\\\/([\\\\w\\\\.-]+\\\\.)?figma.com\\\\/(file|proto)\\\\/([0-9a-zA-Z]{22,128})(?:\\\\/.*)?$/)&&!e.includes(\\\"figma.com/embed\\\"))return\\\"https://www.figma.com/embed?embed_host=share&url=\\\".concat(e)},fromEmbedUrl:e=>{var t=safeParseUrl(e);if(t&&t.pathname.match(/^\\\\/embed\\\\/?$/)){t=t.searchParams.get(\\\"url\\\");if(t)return t}}},{type:\\\"google_maps\\\",title:\\\"Google Maps\\\",hostnames:[\\\"google.*\\\"],width:720,height:500,doesResize:!0,toEmbedUrl:t=>{if(t.includes(\\\"/maps/\\\")){var r,i,n,o=t.match(/@(.*),(.*),(.*)z/);let e;return e=o?(([,o,r,i]=o),n=new URL(t).host.replace(\\\"www.\\\",\\\"\\\"),\\\"https://\\\".concat(n,\\\"/maps/embed/v1/view?key=\\\").concat(process.env.NEXT_PUBLIC_GC_API_KEY,\\\"¢er=\\\").concat(o,\\\",\\\").concat(r,\\\"&zoom=\\\").concat(i)):\\\"\\\"}},fromEmbedUrl:e=>{var t,r,i=safeParseUrl(e);return i&&i.pathname.match(/^\\\\/maps\\\\/embed\\\\/v1\\\\/view\\\\/?$/)&&i.searchParams.has(\\\"center\\\")&&i.searchParams.get(\\\"zoom\\\")?(t=i.searchParams.get(\\\"zoom\\\"),([i,r]=i.searchParams.get(\\\"center\\\").split(\\\",\\\")),\\\"https://www.google.com/maps/@\\\".concat(i,\\\",\\\").concat(r,\\\",\\\").concat(t,\\\"z\\\")):void 0}},{type:\\\"val_town\\\",title:\\\"Val Town\\\",hostnames:[\\\"val.town\\\"],minWidth:260,minHeight:100,width:720,height:500,doesResize:!0,toEmbedUrl:e=>{var t=safeParseUrl(e),t=t&&t.pathname.match(/\\\\/v\\\\/([^/]+)\\\\/?/);if(t)return\\\"https://www.val.town/embed/\\\".concat(t[1])},fromEmbedUrl:e=>{var t=safeParseUrl(e),t=t&&t.pathname.match(/\\\\/embed\\\\/([^/]+)\\\\/?/);if(t)return\\\"https://www.val.town/v/\\\".concat(t[1])}},{type:\\\"codesandbox\\\",title:\\\"CodeSandbox\\\",hostnames:[\\\"codesandbox.io\\\"],minWidth:300,minHeight:300,width:720,height:500,doesResize:!0,toEmbedUrl:e=>{var t=safeParseUrl(e),t=t&&t.pathname.match(/\\\\/s\\\\/([^/]+)\\\\/?/);if(t)return\\\"https://codesandbox.io/embed/\\\".concat(t[1])},fromEmbedUrl:e=>{var t=safeParseUrl(e),t=t&&t.pathname.match(/\\\\/embed\\\\/([^/]+)\\\\/?/);if(t)return\\\"https://codesandbox.io/s/\\\".concat(t[1])}},{type:\\\"codepen\\\",title:\\\"Codepen\\\",hostnames:[\\\"codepen.io\\\"],minWidth:300,minHeight:300,width:520,height:400,doesResize:!0,toEmbedUrl:e=>{var t,r,i=e.match(/https:\\\\/\\\\/codepen.io\\\\/([^/]+)\\\\/pen\\\\/([^/]+)/);if(i)return([t,i,r]=i),\\\"https://codepen.io/\\\".concat(i,\\\"/embed/\\\").concat(r)},fromEmbedUrl:e=>{var t,r,i=e.match(/https:\\\\/\\\\/codepen.io\\\\/([^/]+)\\\\/embed\\\\/([^/]+)/);if(i)return([t,i,r]=i),\\\"https://codepen.io/\\\".concat(i,\\\"/pen/\\\").concat(r)}},{type:\\\"scratch\\\",title:\\\"Scratch\\\",hostnames:[\\\"scratch.mit.edu\\\"],width:520,height:400,doesResize:!1,toEmbedUrl:e=>{var t,r=e.match(/https?:\\\\/\\\\/scratch.mit.edu\\\\/projects\\\\/([^/]+)/);if(r)return([t,r]=r),\\\"https://scratch.mit.edu/projects/embed/\\\".concat(r)},fromEmbedUrl:e=>{var t,r=e.match(/https:\\\\/\\\\/scratch.mit.edu\\\\/projects\\\\/embed\\\\/([^/]+)/);if(r)return([t,r]=r),\\\"https://scratch.mit.edu/projects/\\\".concat(r)}},{type:\\\"youtube\\\",title:\\\"YouTube\\\",hostnames:[\\\"*.youtube.com\\\",\\\"youtube.com\\\",\\\"youtu.be\\\"],width:800,height:450,doesResize:!0,overridePermissions:{\\\"allow-presentation\\\":!0},isAspectRatioLocked:!0,toEmbedUrl:e=>{var t,r,i=safeParseUrl(e);if(i)return\\\"youtu.be\\\"===(t=i.hostname.replace(/^www./,\\\"\\\"))?(r=i.pathname.split(\\\"/\\\").filter(Boolean)[0],\\\"https://www.youtube.com/embed/\\\".concat(r)):\\\"youtube.com\\\"!==t&&\\\"m.youtube.com\\\"!==t||!i.pathname.match(/^\\\\/watch/)?void 0:(r=i.searchParams.get(\\\"v\\\"),\\\"https://www.youtube.com/embed/\\\".concat(r))},fromEmbedUrl:e=>{var t=safeParseUrl(e);if(t&&\\\"youtube.com\\\"===t.hostname.replace(/^www./,\\\"\\\")){t=t.pathname.match(/^\\\\/embed\\\\/([^/]+)\\\\/?/);if(t)return\\\"https://www.youtube.com/watch?v=\\\".concat(t[1])}}},{type:\\\"google_calendar\\\",title:\\\"Google Calendar\\\",hostnames:[\\\"calendar.google.*\\\"],width:720,height:500,minWidth:460,minHeight:360,doesResize:!0,instructionLink:\\\"https://support.google.com/calendar/answer/41207?hl=en\\\",toEmbedUrl:e=>{var t=safeParseUrl(e),r=null==t?void 0:t.searchParams.get(\\\"cid\\\");if(null!=t&&t.pathname.match(/\\\\/calendar\\\\/u\\\\/0/)&&r){t.pathname=\\\"/calendar/embed\\\";for(const i of Array.from(t.searchParams.keys()))t.searchParams[\\\"delete\\\"](i);return t.searchParams.set(\\\"src\\\",r),t.href}},fromEmbedUrl:e=>{var t=safeParseUrl(e),r=null==t?void 0:t.searchParams.get(\\\"src\\\");if(null!=t&&t.pathname.match(/\\\\/calendar\\\\/embed/)&&r){t.pathname=\\\"/calendar/u/0\\\";for(const i of Array.from(t.searchParams.keys()))t.searchParams[\\\"delete\\\"](i);return t.searchParams.set(\\\"cid\\\",r),t.href}}},{type:\\\"google_slides\\\",title:\\\"Google Slides\\\",hostnames:[\\\"docs.google.*\\\"],width:720,height:500,minWidth:460,minHeight:360,doesResize:!0,toEmbedUrl:e=>{var t=safeParseUrl(e);if(null!=t&&t.pathname.match(/^\\\\/presentation/)&&null!=t&&t.pathname.match(/\\\\/pub\\\\/?$/)){t.pathname=t.pathname.replace(/\\\\/pub$/,\\\"/embed\\\");for(const r of Array.from(t.searchParams.keys()))t.searchParams[\\\"delete\\\"](r);return t.href}},fromEmbedUrl:e=>{var t=safeParseUrl(e);if(null!=t&&t.pathname.match(/^\\\\/presentation/)&&null!=t&&t.pathname.match(/\\\\/embed\\\\/?$/)){t.pathname=t.pathname.replace(/\\\\/embed$/,\\\"/pub\\\");for(const r of Array.from(t.searchParams.keys()))t.searchParams[\\\"delete\\\"](r);return t.href}}},{type:\\\"github_gist\\\",title:\\\"GitHub Gist\\\",hostnames:[\\\"gist.github.com\\\"],width:720,height:500,doesResize:!0,toEmbedUrl:e=>{var t=safeParseUrl(e);return t&&t.pathname.match(/\\\\/([^/]+)\\\\/([^/]+)/)&&e.split(\\\"/\\\").pop()?e:void 0},fromEmbedUrl:e=>{var t=safeParseUrl(e);return t&&t.pathname.match(/\\\\/([^/]+)\\\\/([^/]+)/)&&e.split(\\\"/\\\").pop()?e:void 0}},{type:\\\"replit\\\",title:\\\"Replit\\\",hostnames:[\\\"replit.com\\\"],width:720,height:500,doesResize:!0,toEmbedUrl:e=>{var t=safeParseUrl(e);if(t&&t.pathname.match(/\\\\/@([^/]+)\\\\/([^/]+)/))return\\\"\\\".concat(e,\\\"?embed=true\\\")},fromEmbedUrl:e=>{var t=safeParseUrl(e);if(t&&t.pathname.match(/\\\\/@([^/]+)\\\\/([^/]+)/)&&t.searchParams.has(\\\"embed\\\"))return t.searchParams[\\\"delete\\\"](\\\"embed\\\"),t.href}},{type:\\\"felt\\\",title:\\\"Felt\\\",hostnames:[\\\"felt.com\\\"],width:720,height:500,doesResize:!0,toEmbedUrl:e=>{var t=safeParseUrl(e);if(t&&t.pathname.match(/^\\\\/map\\\\//))return t.origin+\\\"/embed\\\"+t.pathname},fromEmbedUrl:e=>{var t=safeParseUrl(e);if(t&&t.pathname.match(/^\\\\/embed\\\\/map\\\\//))return t.pathname=t.pathname.replace(/^\\\\/embed/,\\\"\\\"),t.href}},{type:\\\"spotify\\\",title:\\\"Spotify\\\",hostnames:[\\\"open.spotify.com\\\"],width:720,height:500,minHeight:500,overrideOutlineRadius:12,doesResize:!0,toEmbedUrl:e=>{var t=safeParseUrl(e);if(t&&t.pathname.match(/^\\\\/(artist|album)\\\\//))return t.origin+\\\"/embed\\\"+t.pathname},fromEmbedUrl:e=>{var t=safeParseUrl(e);if(t&&t.pathname.match(/^\\\\/embed\\\\/(artist|album)\\\\//))return t.origin+t.pathname.replace(/^\\\\/embed/,\\\"\\\")}},{type:\\\"vimeo\\\",title:\\\"Vimeo\\\",hostnames:[\\\"vimeo.com\\\",\\\"player.vimeo.com\\\"],width:640,height:360,doesResize:!0,isAspectRatioLocked:!0,toEmbedUrl:e=>{var t=safeParseUrl(e);if(t&&\\\"vimeo.com\\\"===t.hostname&&t.pathname.match(/^\\\\/[0-9]+/))return\\\"https://player.vimeo.com/video/\\\"+t.pathname.split(\\\"/\\\")[1]+\\\"?title=0&byline=0\\\"},fromEmbedUrl:e=>{var t=safeParseUrl(e);if(t&&\\\"player.vimeo.com\\\"===t.hostname){t=t.pathname.match(/^\\\\/video\\\\/([^/]+)\\\\/?$/);if(t)return\\\"https://vimeo.com/\\\"+t[1]}}},{type:\\\"excalidraw\\\",title:\\\"Excalidraw\\\",hostnames:[\\\"excalidraw.com\\\"],width:720,height:500,doesResize:!0,isAspectRatioLocked:!0,toEmbedUrl:e=>{var t=safeParseUrl(e);if(t&&t.hash.match(/#room=/))return e},fromEmbedUrl:e=>{var t=safeParseUrl(e);if(t&&t.hash.match(/#room=/))return e}},{type:\\\"observable\\\",title:\\\"Observable\\\",hostnames:[\\\"observablehq.com\\\"],width:720,height:500,doesResize:!0,isAspectRatioLocked:!1,backgroundColor:\\\"#fff\\\",toEmbedUrl:e=>{var t,r=safeParseUrl(e);return r&&r.pathname.match(/^\\\\/@([^/]+)\\\\/([^/]+)\\\\/?$/)?\\\"\\\".concat(r.origin,\\\"/embed\\\").concat(r.pathname,\\\"?cell=*\\\"):r&&r.pathname.match(/^\\\\/d\\\\/([^/]+)\\\\/?$/)?(t=r.pathname.replace(/^\\\\/d/,\\\"\\\"),\\\"\\\".concat(r.origin,\\\"/embed\\\").concat(t,\\\"?cell=*\\\")):void 0},fromEmbedUrl:e=>{var t=safeParseUrl(e);return t&&t.pathname.match(/^\\\\/embed\\\\/@([^/]+)\\\\/([^/]+)\\\\/?$/)?\\\"\\\".concat(t.origin).concat(t.pathname.replace(\\\"/embed\\\",\\\"\\\"),\\\"#cell-*\\\"):t&&t.pathname.match(/^\\\\/embed\\\\/([^/]+)\\\\/?$/)?\\\"\\\".concat(t.origin).concat(t.pathname.replace(\\\"/embed\\\",\\\"/d\\\"),\\\"#cell-*\\\"):void 0}}],embedShapePermissionDefaults={\\\"allow-downloads-without-user-activation\\\":!1,\\\"allow-downloads\\\":!1,\\\"allow-modals\\\":!1,\\\"allow-orientation-lock\\\":!1,\\\"allow-pointer-lock\\\":!1,\\\"allow-popups\\\":!0,\\\"allow-popups-to-escape-sandbox\\\":!1,\\\"allow-presentation\\\":!1,\\\"allow-storage-access-by-user-activation\\\":!1,\\\"allow-top-navigation\\\":!1,\\\"allow-top-navigation-by-user-activation\\\":!1,\\\"allow-scripts\\\":!0,\\\"allow-same-origin\\\":!0,\\\"allow-forms\\\":!0},embedShapeProps={w:validation_exports.nonZeroNumber,h:validation_exports.nonZeroNumber,url:validation_exports.string},Versions6=createShapePropsMigrationIds(\\\"embed\\\",{GenOriginalUrlInEmbed:1,RemoveDoesResize:2,RemoveTmpOldUrl:3,RemovePermissionOverrides:4}),embedShapeMigrations=createShapePropsMigrationSequence({sequence:[{id:Versions6.GenOriginalUrlInEmbed,up:t=>{try{var r=t.url,i=new URL(r).host.replace(\\\"www.\\\",\\\"\\\");let e;for(const o of EMBED_DEFINITIONS)if(o.hostnames.includes(i))try{e=o.fromEmbedUrl(r)}catch(n){console.warn(n)}t.tmpOldUrl=t.url,t.url=null!=e?e:\\\"\\\"}catch(e){t.url=\\\"\\\",t.tmpOldUrl=t.url}},down:RETIRED_DOWN_MIGRATION},{id:Versions6.RemoveDoesResize,up:e=>{delete e.doesResize},down:RETIRED_DOWN_MIGRATION},{id:Versions6.RemoveTmpOldUrl,up:e=>{delete e.tmpOldUrl},down:RETIRED_DOWN_MIGRATION},{id:Versions6.RemovePermissionOverrides,up:e=>{delete e.overridePermissions},down:RETIRED_DOWN_MIGRATION}]}),frameShapeProps=(init_esbuild_inject(),{w:validation_exports.nonZeroNumber,h:validation_exports.nonZeroNumber,name:validation_exports.string}),frameShapeMigrations=createShapePropsMigrationSequence({sequence:[]}),DefaultHorizontalAlignStyle=(init_esbuild_inject(),init_esbuild_inject(),StyleProp.defineEnum(\\\"tldraw:horizontalAlign\\\",{defaultValue:\\\"middle\\\",values:[\\\"start\\\",\\\"middle\\\",\\\"end\\\",\\\"start-legacy\\\",\\\"end-legacy\\\",\\\"middle-legacy\\\"]})),DefaultVerticalAlignStyle=(init_esbuild_inject(),StyleProp.defineEnum(\\\"tldraw:verticalAlign\\\",{defaultValue:\\\"middle\\\",values:[\\\"start\\\",\\\"middle\\\",\\\"end\\\"]})),GeoShapeGeoStyle=StyleProp.defineEnum(\\\"tldraw:geo\\\",{defaultValue:\\\"rectangle\\\",values:[\\\"cloud\\\",\\\"rectangle\\\",\\\"ellipse\\\",\\\"triangle\\\",\\\"diamond\\\",\\\"pentagon\\\",\\\"hexagon\\\",\\\"octagon\\\",\\\"star\\\",\\\"rhombus\\\",\\\"rhombus-2\\\",\\\"oval\\\",\\\"trapezoid\\\",\\\"arrow-right\\\",\\\"arrow-left\\\",\\\"arrow-up\\\",\\\"arrow-down\\\",\\\"x-box\\\",\\\"check-box\\\"]}),geoShapeProps={geo:GeoShapeGeoStyle,labelColor:DefaultLabelColorStyle,color:DefaultColorStyle,fill:DefaultFillStyle,dash:DefaultDashStyle,size:DefaultSizeStyle,font:DefaultFontStyle,align:DefaultHorizontalAlignStyle,verticalAlign:DefaultVerticalAlignStyle,url:validation_exports.linkUrl,w:validation_exports.nonZeroNumber,h:validation_exports.nonZeroNumber,growY:validation_exports.positiveNumber,text:validation_exports.string},geoShapeVersions=createShapePropsMigrationIds(\\\"geo\\\",{AddUrlProp:1,AddLabelColor:2,RemoveJustify:3,AddCheckBox:4,AddVerticalAlign:5,MigrateLegacyAlign:6,AddCloud:7,MakeUrlsValid:8}),geoShapeMigrations=createShapePropsMigrationSequence({sequence:[{id:geoShapeVersions.AddUrlProp,up:e=>{e.url=\\\"\\\"},down:RETIRED_DOWN_MIGRATION},{id:geoShapeVersions.AddLabelColor,up:e=>{e.labelColor=\\\"black\\\"},down:RETIRED_DOWN_MIGRATION},{id:geoShapeVersions.RemoveJustify,up:e=>{\\\"justify\\\"===e.align&&(e.align=\\\"start\\\")},down:RETIRED_DOWN_MIGRATION},{id:geoShapeVersions.AddCheckBox,up:e=>{},down:RETIRED_DOWN_MIGRATION},{id:geoShapeVersions.AddVerticalAlign,up:e=>{e.verticalAlign=\\\"middle\\\"},down:RETIRED_DOWN_MIGRATION},{id:geoShapeVersions.MigrateLegacyAlign,up:e=>{let t;switch(e.align){case\\\"start\\\":t=\\\"start-legacy\\\";break;case\\\"end\\\":t=\\\"end-legacy\\\";break;default:t=\\\"middle-legacy\\\"}e.align=t},down:RETIRED_DOWN_MIGRATION},{id:geoShapeVersions.AddCloud,up:e=>{},down:RETIRED_DOWN_MIGRATION},{id:geoShapeVersions.MakeUrlsValid,up:e=>{validation_exports.linkUrl.isValid(e.url)||(e.url=\\\"\\\")},down:e=>{}}]}),groupShapeProps=(init_esbuild_inject(),{}),groupShapeMigrations=createShapePropsMigrationSequence({sequence:[]}),highlightShapeProps=(init_esbuild_inject(),{color:DefaultColorStyle,size:DefaultSizeStyle,segments:validation_exports.arrayOf(DrawShapeSegment),isComplete:validation_exports[\\\"boolean\\\"],isPen:validation_exports[\\\"boolean\\\"]}),highlightShapeMigrations=createShapePropsMigrationSequence({sequence:[]}),ImageShapeCrop=(init_esbuild_inject(),validation_exports.object({topLeft:vecModelValidator,bottomRight:vecModelValidator})),imageShapeProps={w:validation_exports.nonZeroNumber,h:validation_exports.nonZeroNumber,playing:validation_exports[\\\"boolean\\\"],url:validation_exports.linkUrl,assetId:assetIdValidator.nullable(),crop:ImageShapeCrop.nullable()},Versions7=createShapePropsMigrationIds(\\\"image\\\",{AddUrlProp:1,AddCropProp:2,MakeUrlsValid:3}),imageShapeMigrations=createShapePropsMigrationSequence({sequence:[{id:Versions7.AddUrlProp,up:e=>{e.url=\\\"\\\"},down:RETIRED_DOWN_MIGRATION},{id:Versions7.AddCropProp,up:e=>{e.crop=null},down:e=>{delete e.crop}},{id:Versions7.MakeUrlsValid,up:e=>{validation_exports.linkUrl.isValid(e.url)||(e.url=\\\"\\\")},down:e=>{}}]}),LineShapeSplineStyle=(init_esbuild_inject(),StyleProp.defineEnum(\\\"tldraw:spline\\\",{defaultValue:\\\"line\\\",values:[\\\"cubic\\\",\\\"line\\\"]})),lineShapePointValidator=validation_exports.object({id:validation_exports.string,index:validation_exports.indexKey,x:validation_exports.number,y:validation_exports.number}),lineShapeProps={color:DefaultColorStyle,dash:DefaultDashStyle,size:DefaultSizeStyle,spline:LineShapeSplineStyle,points:validation_exports.dict(validation_exports.string,lineShapePointValidator)},lineShapeVersions=createShapePropsMigrationIds(\\\"line\\\",{AddSnapHandles:1,RemoveExtraHandleProps:2,HandlesToPoints:3,PointIndexIds:4}),lineShapeMigrations=createShapePropsMigrationSequence({sequence:[{id:lineShapeVersions.AddSnapHandles,up:e=>{for(const t of Object.values(e.handles))t.canSnap=!0},down:RETIRED_DOWN_MIGRATION},{id:lineShapeVersions.RemoveExtraHandleProps,up:e=>{e.handles=objectMapFromEntries(Object.values(e.handles).map(e=>[e.index,{x:e.x,y:e.y}]))},down:e=>{const i=Object.entries(e.handles).map(([e,t])=>({index:e,...t})).sort(sortByIndex);e.handles=Object.fromEntries(i.map((e,t)=>{var r=0===t?\\\"start\\\":t===i.length-1?\\\"end\\\":\\\"handle:\\\".concat(e.index);return[r,{id:r,type:\\\"vertex\\\",canBind:!1,canSnap:!0,index:e.index,x:e.x,y:e.y}]}))}},{id:lineShapeVersions.HandlesToPoints,up:e=>{var t=Object.entries(e.handles).map(([e,{x:t,y:r}])=>({x:t,y:r,index:e})).sort(sortByIndex);e.points=t.map(({x:e,y:t})=>({x:e,y:t})),delete e.handles},down:e=>{const r=getIndices(e.points.length);e.handles=Object.fromEntries(e.points.map((e,t)=>{return[r[t],{x:e.x,y:e.y}]})),delete e.points}},{id:lineShapeVersions.PointIndexIds,up:e=>{const i=getIndices(e.points.length);e.points=Object.fromEntries(e.points.map((e,t)=>{var r=i[t];return[r,{id:r,index:r,x:e.x,y:e.y}]}))},down:e=>{var t=Object.values(e.points).sort(sortByIndex);e.points=t.map(({x:e,y:t})=>({x:e,y:t}))}}]}),noteShapeProps=(init_esbuild_inject(),{color:DefaultColorStyle,size:DefaultSizeStyle,font:DefaultFontStyle,fontSizeAdjustment:validation_exports.positiveNumber,align:DefaultHorizontalAlignStyle,verticalAlign:DefaultVerticalAlignStyle,growY:validation_exports.positiveNumber,url:validation_exports.linkUrl,text:validation_exports.string}),Versions8=createShapePropsMigrationIds(\\\"note\\\",{AddUrlProp:1,RemoveJustify:2,MigrateLegacyAlign:3,AddVerticalAlign:4,MakeUrlsValid:5,AddFontSizeAdjustment:6}),noteShapeMigrations=createShapePropsMigrationSequence({sequence:[{id:Versions8.AddUrlProp,up:e=>{e.url=\\\"\\\"},down:RETIRED_DOWN_MIGRATION},{id:Versions8.RemoveJustify,up:e=>{\\\"justify\\\"===e.align&&(e.align=\\\"start\\\")},down:RETIRED_DOWN_MIGRATION},{id:Versions8.MigrateLegacyAlign,up:e=>{switch(e.align){case\\\"start\\\":return void(e.align=\\\"start-legacy\\\");case\\\"end\\\":return void(e.align=\\\"end-legacy\\\");default:return void(e.align=\\\"middle-legacy\\\")}},down:RETIRED_DOWN_MIGRATION},{id:Versions8.AddVerticalAlign,up:e=>{e.verticalAlign=\\\"middle\\\"},down:RETIRED_DOWN_MIGRATION},{id:Versions8.MakeUrlsValid,up:e=>{validation_exports.linkUrl.isValid(e.url)||(e.url=\\\"\\\")},down:e=>{}},{id:Versions8.AddFontSizeAdjustment,up:e=>{e.fontSizeAdjustment=0},down:e=>{delete e.fontSizeAdjustment}}]}),textShapeProps=(init_esbuild_inject(),{color:DefaultColorStyle,size:DefaultSizeStyle,font:DefaultFontStyle,align:DefaultHorizontalAlignStyle,w:validation_exports.nonZeroNumber,text:validation_exports.string,scale:validation_exports.nonZeroNumber,autoSize:validation_exports[\\\"boolean\\\"]}),Versions9=createShapePropsMigrationIds(\\\"text\\\",{RemoveJustify:1}),textShapeMigrations=createShapePropsMigrationSequence({sequence:[{id:Versions9.RemoveJustify,up:e=>{\\\"justify\\\"===e.align&&(e.align=\\\"start\\\")},down:RETIRED_DOWN_MIGRATION}]}),videoShapeProps=(init_esbuild_inject(),{w:validation_exports.nonZeroNumber,h:validation_exports.nonZeroNumber,time:validation_exports.number,playing:validation_exports[\\\"boolean\\\"],url:validation_exports.linkUrl,assetId:assetIdValidator.nullable()}),Versions10=createShapePropsMigrationIds(\\\"video\\\",{AddUrlProp:1,MakeUrlsValid:2}),videoShapeMigrations=createShapePropsMigrationSequence({sequence:[{id:Versions10.AddUrlProp,up:e=>{e.url=\\\"\\\"},down:RETIRED_DOWN_MIGRATION},{id:Versions10.MakeUrlsValid,up:e=>{validation_exports.linkUrl.isValid(e.url)||(e.url=\\\"\\\")},down:e=>{}}]}),Versions11=(init_esbuild_inject(),createMigrationIds(\\\"com.tldraw.store\\\",{RemoveCodeAndIconShapeTypes:1,AddInstancePresenceType:2,RemoveTLUserAndPresenceAndAddPointer:3,RemoveUserDocument:4})),storeMigrations=createMigrationSequence({sequenceId:\\\"com.tldraw.store\\\",retroactive:!1,sequence:[{id:Versions11.RemoveCodeAndIconShapeTypes,scope:\\\"store\\\",up:e=>{for(var[t,r]of objectMapEntries(e))\\\"shape\\\"!==r.typeName||\\\"icon\\\"!==r.type&&\\\"code\\\"!==r.type||delete e[t]}},{id:Versions11.AddInstancePresenceType,scope:\\\"store\\\",up(e){}},{id:Versions11.RemoveTLUserAndPresenceAndAddPointer,scope:\\\"store\\\",up:e=>{for(var[t,r]of objectMapEntries(e))r.typeName.match(/^(user|user_presence)$/)&&delete e[t]}},{id:Versions11.RemoveUserDocument,scope:\\\"store\\\",up:e=>{for(var[t,r]of objectMapEntries(e))r.typeName.match(\\\"user_document\\\")&&delete e[t]}}]}),defaultShapeSchemas={arrow:{migrations:arrowShapeMigrations,props:arrowShapeProps},bookmark:{migrations:bookmarkShapeMigrations,props:bookmarkShapeProps},draw:{migrations:drawShapeMigrations,props:drawShapeProps},embed:{migrations:embedShapeMigrations,props:embedShapeProps},frame:{migrations:frameShapeMigrations,props:frameShapeProps},geo:{migrations:geoShapeMigrations,props:geoShapeProps},group:{migrations:groupShapeMigrations,props:groupShapeProps},highlight:{migrations:highlightShapeMigrations,props:highlightShapeProps},image:{migrations:imageShapeMigrations,props:imageShapeProps},line:{migrations:lineShapeMigrations,props:lineShapeProps},note:{migrations:noteShapeMigrations,props:noteShapeProps},text:{migrations:textShapeMigrations,props:textShapeProps},video:{migrations:videoShapeMigrations,props:videoShapeProps}};function createTLSchema({shapes:e=defaultShapeSchemas,migrations:t}={}){var r,i=new Map;for(const a of objectMapValues(e))for(const s of getShapePropKeysByStyle(null!=(r=a.props)?r:{}).keys()){if(i.has(s.id)&&i.get(s.id)!==s)throw new Error(\\\"Multiple StyleProp instances with the same id: \\\".concat(s.id));i.set(s.id,s)}var n=createShapeRecordType(e),o=createInstanceRecordType(i);return StoreSchema.create({asset:AssetRecordType,camera:CameraRecordType,document:DocumentRecordType,instance:o,instance_page_state:InstancePageStateRecordType,page:PageRecordType,instance_presence:InstancePresenceRecordType,pointer:PointerRecordType,shape:n},{migrations:[storeMigrations,assetMigrations,cameraMigrations,documentMigrations,instanceMigrations,instancePageStateMigrations,pageMigrations,instancePresenceMigrations,pointerMigrations,rootShapeMigrations,bookmarkAssetMigrations,imageAssetMigrations,videoAssetMigrations,...processShapeMigrations(e),...null!=t?t:[]],onValidationFailure:onValidationFailure,createIntegrityChecker:createIntegrityChecker})}init_esbuild_inject(),init_esbuild_inject();var LANGUAGES=[{locale:\\\"ca\\\",label:\\\"Català\\\"},{locale:\\\"cs\\\",label:\\\"Čeština\\\"},{locale:\\\"da\\\",label:\\\"Danish\\\"},{locale:\\\"de\\\",label:\\\"Deutsch\\\"},{locale:\\\"en\\\",label:\\\"English\\\"},{locale:\\\"es\\\",label:\\\"Español\\\"},{locale:\\\"fr\\\",label:\\\"Français\\\"},{locale:\\\"gl\\\",label:\\\"Galego\\\"},{locale:\\\"hr\\\",label:\\\"Hrvatski\\\"},{locale:\\\"it\\\",label:\\\"Italiano\\\"},{locale:\\\"hu\\\",label:\\\"Magyar\\\"},{locale:\\\"no\\\",label:\\\"Norwegian\\\"},{locale:\\\"pl\\\",label:\\\"Polski\\\"},{locale:\\\"pt-br\\\",label:\\\"Português - Brasil\\\"},{locale:\\\"pt-pt\\\",label:\\\"Português - Europeu\\\"},{locale:\\\"ro\\\",label:\\\"Română\\\"},{locale:\\\"ru\\\",label:\\\"Russian\\\"},{locale:\\\"sl\\\",label:\\\"Slovenščina\\\"},{locale:\\\"fi\\\",label:\\\"Suomi\\\"},{locale:\\\"sv\\\",label:\\\"Svenska\\\"},{locale:\\\"vi\\\",label:\\\"Tiếng Việt\\\"},{locale:\\\"tr\\\",label:\\\"Türkçe\\\"},{locale:\\\"uk\\\",label:\\\"Ukrainian\\\"},{locale:\\\"he\\\",label:\\\"עברית\\\"},{locale:\\\"ar\\\",label:\\\"عربي\\\"},{locale:\\\"fa\\\",label:\\\"فارسی\\\"},{locale:\\\"ku\\\",label:\\\"کوردی\\\"},{locale:\\\"ne\\\",label:\\\"नेपाली\\\"},{locale:\\\"hi-in\\\",label:\\\"हिन्दी\\\"},{locale:\\\"te\\\",label:\\\"తెలుగు\\\"},{locale:\\\"th\\\",label:\\\"ภาษาไทย\\\"},{locale:\\\"my\\\",label:\\\"မြန်မာစာ\\\"},{locale:\\\"ko-kr\\\",label:\\\"한국어\\\"},{locale:\\\"ja\\\",label:\\\"日本語\\\"},{locale:\\\"zh-cn\\\",label:\\\"简体中文\\\"},{locale:\\\"zh-tw\\\",label:\\\"繁體中文 (台灣)\\\"}];function getDefaultTranslationLocale(){var e;return _getDefaultTranslationLocale(\\\"undefined\\\"!=typeof window&&null!=(e=window.navigator.languages)?e:[\\\"en\\\"])}function _getDefaultTranslationLocale(e){for(const r of e){var t=getSupportedLocale(r);if(t)return t}return\\\"en\\\"}var DEFAULT_LOCALE_REGIONS={zh:\\\"zh-cn\\\",pt:\\\"pt-br\\\",ko:\\\"ko-kr\\\",hi:\\\"hi-in\\\"};function getSupportedLocale(t){var e=LANGUAGES.find(e=>e.locale===t.toLowerCase());if(e)return e.locale;const[r,i]=t.split(/[-_]/).map(e=>e.toLowerCase());if(i){e=LANGUAGES.find(e=>e.locale===r);if(e)return e.locale}return r in DEFAULT_LOCALE_REGIONS?DEFAULT_LOCALE_REGIONS[r]:null}init_esbuild_inject();var import_jsx_runtime29=require(\\\"react/jsx-runtime\\\"),import_react38=__toESM(require(\\\"react\\\"),1),import_classnames11=__toESM(require_classnames(),1),import_jsx_runtime=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),React2=__toESM(require(\\\"react\\\"),1),initialState={error:null},ErrorBoundary=class extends React2.Component{constructor(){super(...arguments),__publicField(this,\\\"state\\\",initialState)}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e){var t,r;null!=(r=(t=this.props).onError)&&r.call(t,e)}render(){var e,t=this.state[\\\"error\\\"];return null!==t?(e=this.props[\\\"fallback\\\"],(0,import_jsx_runtime.jsx)(e,{error:t})):this.props.children}};function OptionalErrorBoundary({children:e,fallback:t,...r}){return null===t?(0,import_jsx_runtime.jsx)(import_jsx_runtime.Fragment,{children:e}):(0,import_jsx_runtime.jsx)(ErrorBoundary,{fallback:t,...r,children:e})}init_esbuild_inject();var import_jsx_runtime23=require(\\\"react/jsx-runtime\\\"),import_classnames9=__toESM(require_classnames(),1),import_react29=require(\\\"react\\\"),import_react8=(init_esbuild_inject(),__toESM(require(\\\"react\\\"),1)),EditorContext=import_react8[\\\"default\\\"].createContext({});function useEditor(){return import_react8[\\\"default\\\"].useContext(EditorContext)}init_esbuild_inject();var import_jsx_runtime22=require(\\\"react/jsx-runtime\\\"),import_react28=require(\\\"react\\\"),import_jsx_runtime2=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\"));function DefaultBackground(){return(0,import_jsx_runtime2.jsx)(\\\"div\\\",{className:\\\"tl-background\\\"})}init_esbuild_inject();var import_jsx_runtime3=require(\\\"react/jsx-runtime\\\"),import_react10=require(\\\"react\\\"),import_react9=(init_esbuild_inject(),require(\\\"react\\\"));function useTransform(e,r,i,n,o,a){(0,import_react9.useLayoutEffect)(()=>{var t=e.current;if(t&&void 0!==r){let e=\\\"translate(\\\".concat(r,\\\"px, \\\").concat(i,\\\"px)\\\");void 0!==n&&(e+=\\\" scale(\\\".concat(n,\\\")\\\")),void 0!==o&&(e+=\\\" rotate(\\\".concat(o,\\\"rad)\\\")),a&&(e+=\\\" translate(\\\".concat(a.x,\\\"px, \\\").concat(a.y,\\\"px)\\\")),t.style.transform=e}})}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var EASINGS={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>e*(2-e),easeInOutQuad:e=>e<.5?2*e*e:(4-2*e)*e-1,easeInCubic:e=>e*e*e,easeOutCubic:e=>--e*e*e+1,easeInOutCubic:e=>e<.5?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1,easeInQuart:e=>e*e*e*e,easeOutQuart:e=>1- --e*e*e*e,easeInOutQuart:e=>e<.5?8*e*e*e*e:1-8*--e*e*e*e,easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>1+--e*e*e*e*e,easeInOutQuint:e=>e<.5?16*e*e*e*e*e:1+16*--e*e*e*e*e,easeInSine:e=>1-Math.cos(e*Math.PI/2),easeOutSine:e=>Math.sin(e*Math.PI/2),easeInOutSine:e=>-(Math.cos(Math.PI*e)-1)/2,easeInExpo:e=>e<=0?0:Math.pow(2,10*e-10),easeOutExpo:e=>1<=e?1:1-Math.pow(2,-10*e),easeInOutExpo:e=>e<=0?0:1<=e?1:e<.5?Math.pow(2,20*e-10)/2:(2-Math.pow(2,-20*e+10))/2},Vec=class r3a{constructor(e=0,t=0,r=1){this.x=e,this.y=t,this.z=r}get pressure(){return this.z}set(e=this.x,t=this.y,r=this.z){return this.x=e,this.y=t,this.z=r,this}setTo({x:e=0,y:t=0,z:r=1}){return this.x=e,this.y=t,this.z=r,this}rot(e){var t,r,i,n;return 0!==e&&(({x:t,y:r}=this),i=Math.sin(e),n=Math.cos(e),this.x=t*n-r*i,this.y=t*i+r*n),this}rotWith(e,t){var r,i,n,o;return 0!==t&&(r=this.x-e.x,i=this.y-e.y,n=Math.sin(t),o=Math.cos(t),this.x=e.x+(r*o-i*n),this.y=e.y+(r*n+i*o)),this}clone(){var{x:e,y:t,z:r}=this;return new r3a(e,t,r)}sub(e){return this.x-=e.x,this.y-=e.y,this}subXY(e,t){return this.x-=e,this.y-=t,this}subScalar(e){return this.x-=e,this.y-=e,this}add(e){return this.x+=e.x,this.y+=e.y,this}addXY(e,t){return this.x+=e,this.y+=t,this}addScalar(e){return this.x+=e,this.y+=e,this}clamp(e,t){return this.x=Math.max(this.x,e),this.y=Math.max(this.y,e),void 0!==t&&(this.x=Math.min(this.x,t),this.y=Math.min(this.y,t)),this}div(e){return this.x/=e,this.y/=e,this}divV(e){return this.x/=e.x,this.y/=e.y,this}mul(e){return this.x*=e,this.y*=e,this}mulV(e){return this.x*=e.x,this.y*=e.y,this}abs(){return this.x=Math.abs(this.x),this.y=Math.abs(this.y),this}nudge(e,t){var r=r3a.Tan(e,this);return this.add(r.mul(t))}neg(){return this.x*=-1,this.y*=-1,this}cross(e){return this.x=this.y*e.z-this.z*e.y,this.y=this.z*e.x-this.x*e.z,this}dpr(e){return r3a.Dpr(this,e)}cpr(e){return r3a.Cpr(this,e)}len2(){return r3a.Len2(this)}len(){return r3a.Len(this)}pry(e){return r3a.Pry(this,e)}per(){var{x:e,y:t}=this;return this.x=t,this.y=-e,this}uni(){return r3a.Uni(this)}tan(e){return r3a.Tan(this,e)}dist(e){return r3a.Dist(this,e)}distanceToLineSegment(e,t){return r3a.DistanceToLineSegment(e,t,this)}slope(e){return r3a.Slope(this,e)}snapToGrid(e){return this.x=Math.round(this.x/e)*e,this.y=Math.round(this.y/e)*e,this}angle(e){return r3a.Angle(this,e)}toAngle(){return r3a.ToAngle(this)}lrp(e,t){return this.x=this.x+(e.x-this.x)*t,this.y=this.y+(e.y-this.y)*t,this}equals(e){return r3a.Equals(this,e)}equalsXY(e,t){return r3a.EqualsXY(this,e,t)}norm(){var e=this.len();return this.x=0===e?0:this.x/e,this.y=0===e?0:this.y/e,this}toFixed(){return r3a.ToFixed(this)}toString(){return r3a.ToString(r3a.ToFixed(this))}toJson(){return r3a.ToJson(this)}toArray(){return r3a.ToArray(this)}static Add(e,t){return new r3a(e.x+t.x,e.y+t.y)}static AddXY(e,t,r){return new r3a(e.x+t,e.y+r)}static Sub(e,t){return new r3a(e.x-t.x,e.y-t.y)}static SubXY(e,t,r){return new r3a(e.x-t,e.y-r)}static AddScalar(e,t){return new r3a(e.x+t,e.y+t)}static SubScalar(e,t){return new r3a(e.x-t,e.y-t)}static Div(e,t){return new r3a(e.x/t,e.y/t)}static Mul(e,t){return new r3a(e.x*t,e.y*t)}static DivV(e,t){return new r3a(e.x/t.x,e.y/t.y)}static MulV(e,t){return new r3a(e.x*t.x,e.y*t.y)}static Neg(e){return new r3a(-e.x,-e.y)}static Per(e){return new r3a(e.y,-e.x)}static Abs(e){return new r3a(Math.abs(e.x),Math.abs(e.y))}static Dist(e,t){return((e.y-t.y)**2+(e.x-t.x)**2)**.5}static DistMin(e,t,r){return(e.x-t.x)*(e.x-t.x)+(e.y-t.y)*(e.y-t.y)Math.max(e.x,t.x))return r3a.Cast(e.x>t.x?e:t);if(n.yMath.max(e.y,t.y))return r3a.Cast(e.y>t.y?e:t)}return n}static DistanceToLineThroughPoint(e,t,r){return r3a.Dist(r,r3a.NearestPointOnLineThroughPoint(e,t,r))}static DistanceToLineSegment(e,t,r,i=!0){return r3a.Dist(r,r3a.NearestPointOnLineSegment(e,t,r,i))}static Snap(e,t=1){return new r3a(Math.round(e.x/t)*t,Math.round(e.y/t)*t)}static Cast(e){return e instanceof r3a?e:r3a.From(e)}static Slope(e,t){return e.x===t.y?NaN:(e.y-t.y)/(e.x-t.x)}static IsNaN(e){return isNaN(e.x)||isNaN(e.y)}static Angle(e,t){return Math.atan2(t.y-e.y,t.x-e.x)}static Lrp(e,t,r){return r3a.Sub(t,e).mul(r).add(e)}static Med(e,t){return new r3a((e.x+t.x)/2,(e.y+t.y)/2)}static Equals(e,t){return Math.abs(e.x-t.x)<1e-4&&Math.abs(e.y-t.y)<1e-4}static EqualsXY(e,t,r){return e.x===t&&e.y===r}static Clockwise(e,t,r){return(r.x-e.x)*(t.y-e.y)-(t.x-e.x)*(r.y-e.y)<0}static Rescale(e,t){var r=r3a.Len(e);return new r3a(t*e.x/r,t*e.y/r)}static ScaleWithOrigin(e,t,r){return r3a.Sub(e,r).mul(t).add(r)}static ToFixed(e,t=2){return new r3a(+e.x.toFixed(t),+e.y.toFixed(t),+e.z.toFixed(t))}static Nudge(e,t,r){return r3a.Add(e,r3a.Tan(t,e).mul(r))}static ToString(e){return\\\"\\\".concat(e.x,\\\", \\\").concat(e.y)}static ToAngle(e){let t=Math.atan2(e.y,e.x);return t<0&&(t+=2*Math.PI),t}static FromAngle(e,t=1){return new r3a(Math.cos(e)*t,Math.sin(e)*t)}static ToArray(e){return[e.x,e.y,e.z]}static ToJson(e){var{x:t,y:r,z:i}=e;return{x:t,y:r,z:i}}static Average(e){var t=e.length,r=new r3a(0,0);if(0===t)return r;for(let i=0;ie<.5?2*e*e:(4-2*e)*e-1;function precise(e){return\\\"\\\".concat(toDomPrecision(e.x),\\\",\\\").concat(toDomPrecision(e.y),\\\" \\\")}function average(e,t){return\\\"\\\".concat(toDomPrecision((e.x+t.x)/2),\\\",\\\").concat(toDomPrecision((e.y+t.y)/2),\\\" \\\")}var PI=Math.PI,HALF_PI=PI/2,PI2=2*PI,SIN=Math.sin;function clamp(e,t,r){return Math.max(t,void 0!==r?Math.min(e,r):e)}function toPrecision(e,t=1e10){return e?Math.round(e*t)/t:0}function approximately(e,t,r=1e-6){return Math.abs(e-t)<=r}function perimeterOfEllipse(e,t){var r=Math.pow(e-t,2)/Math.pow(e+t,2);return PI*(e+t)*(1+3*r/(10+Math.sqrt(4-3*r)))}function canonicalizeRotation(e){return(e%=PI2)<0?e+=PI2:0===e&&(e=0),e}function clockwiseAngleDist(e,t){return e=canonicalizeRotation(e),(t=canonicalizeRotation(t))PI&&(i-=PI2),i}function areAnglesCompatible(e,t){return e===t||approximately(e%(Math.PI/2)-t%(Math.PI/2),0)}function degreesToRadians(e){return e*PI/180}function radiansToDegrees(e){return 180*e/PI}function getPointOnCircle(e,t,r){return new Vec(e.x,e.y).add(Vec.FromAngle(r,t))}function getPolygonVertices(t,r,e){var i=t/2,n=r/2,o=[];let a=Infinity,s=-Infinity,l=Infinity,c=-Infinity;for(let g=0;gs&&(s=u),d>c&&(c=d),o.push(new Vec(u,d))}var p=s-a,h=c-l;if(0!=t-p||0!=r-h)for(let e=0;ee.y&&0Math.abs(e)PI?(n=shortAngleDist(t,i),o=shortAngleDist(i,r),Math.abs(n){var n=(0,import_react10.useRef)(null),o=(useTransform(n,e.x,e.y),toDomPrecision(Math.max(1,e.w))),a=toDomPrecision(Math.max(1,e.h));return(0,import_jsx_runtime3.jsx)(\\\"svg\\\",{className:\\\"tl-overlays__item\\\",ref:n,children:t?(0,import_jsx_runtime3.jsxs)(\\\"g\\\",{className:\\\"tl-brush\\\",opacity:r,children:[(0,import_jsx_runtime3.jsx)(\\\"rect\\\",{width:o,height:a,fill:t,opacity:.75}),(0,import_jsx_runtime3.jsx)(\\\"rect\\\",{width:o,height:a,fill:\\\"none\\\",stroke:t,opacity:.1})]}):(0,import_jsx_runtime3.jsx)(\\\"rect\\\",{className:\\\"tl-brush tl-brush__default \\\".concat(i),width:o,height:a})})},import_jsx_runtime8=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_classnames=__toESM(require_classnames(),1),import_react22=require(\\\"react\\\"),MAX_SHAPES_PER_PAGE=(init_esbuild_inject(),2e3),MAX_PAGES=40,ANIMATION_MEDIUM_MS=320,ZOOMS=[.1,.25,.5,1,2,4,8],MIN_ZOOM=.1,MAX_ZOOM=8,FOLLOW_CHASE_PROPORTION=.5,FOLLOW_CHASE_PAN_SNAP=.1,FOLLOW_CHASE_PAN_UNSNAP=.2,FOLLOW_CHASE_ZOOM_SNAP=.005,FOLLOW_CHASE_ZOOM_UNSNAP=.05,DOUBLE_CLICK_DURATION=450,MULTI_CLICK_DURATION=200,COARSE_DRAG_DISTANCE=36,DRAG_DISTANCE=16,SVG_PADDING=32,HASH_PATTERN_ZOOM_NAMES={};for(let Vga=1;Vga<=Math.ceil(MAX_ZOOM);Vga++)HASH_PATTERN_ZOOM_NAMES[Vga+\\\"_dark\\\"]=\\\"hash_pattern_zoom_\\\".concat(Vga,\\\"_dark\\\"),HASH_PATTERN_ZOOM_NAMES[Vga+\\\"_light\\\"]=\\\"hash_pattern_zoom_\\\".concat(Vga,\\\"_light\\\");var DEFAULT_ANIMATION_OPTIONS={duration:0,easing:EASINGS.easeInOutCubic},CAMERA_SLIDE_FRICTION=.09,GRID_STEPS=[{min:-1,mid:.15,step:64},{min:.05,mid:.375,step:16},{min:.15,mid:1,step:4},{min:.7,mid:2.5,step:1}],COLLABORATOR_INACTIVE_TIMEOUT=6e4,COLLABORATOR_IDLE_TIMEOUT=3e3,COLLABORATOR_CHECK_INTERVAL=1200,INTERNAL_POINTER_IDS={CAMERA_MOVE:-10},CAMERA_MOVING_TIMEOUT=64,HIT_TEST_MARGIN=8,EDGE_SCROLL_SPEED=20,EDGE_SCROLL_DISTANCE=8,COARSE_POINTER_WIDTH=12,COARSE_HANDLE_RADIUS=20,HANDLE_RADIUS=12,SIDES=[\\\"top\\\",\\\"right\\\",\\\"bottom\\\",\\\"left\\\"],LONG_PRESS_DURATION=500,TEXT_SHADOW_LOD=.35,import_react11=(init_esbuild_inject(),require(\\\"react\\\")),featureFlags=(init_esbuild_inject(),init_esbuild_inject(),{}),pointerCaptureTrackingObject=createDebugValue(\\\"pointerCaptureTrackingObject\\\",{defaults:{all:new Map},shouldStoreForSession:!1}),debugFlags={logPreventDefaults:createDebugValue(\\\"logPreventDefaults\\\",{defaults:{all:!1}}),logPointerCaptures:createDebugValue(\\\"logPointerCaptures\\\",{defaults:{all:!1}}),logElementRemoves:createDebugValue(\\\"logElementRemoves\\\",{defaults:{all:!1}}),debugSvg:createDebugValue(\\\"debugSvg\\\",{defaults:{all:!1}}),showFps:createDebugValue(\\\"showFps\\\",{defaults:{all:!1}}),throwToBlob:createDebugValue(\\\"throwToBlob\\\",{defaults:{all:!1}}),reconnectOnPing:createDebugValue(\\\"reconnectOnPing\\\",{defaults:{all:!1}}),debugCursors:createDebugValue(\\\"debugCursors\\\",{defaults:{all:!1}}),forceSrgb:createDebugValue(\\\"forceSrgbColors\\\",{defaults:{all:!1}}),debugGeometry:createDebugValue(\\\"debugGeometry\\\",{defaults:{all:!1}}),hideShapes:createDebugValue(\\\"hideShapes\\\",{defaults:{all:!1}}),editOnType:createDebugValue(\\\"editOnType\\\",{defaults:{all:!1}})};if(\\\"undefined\\\"!=typeof Element){const Wga=Element.prototype.removeChild;react(\\\"element removal logging\\\",()=>{debugFlags.logElementRemoves.get()?Element.prototype.removeChild=function(e){return console.warn(\\\"[tldraw] removing child:\\\",e),Wga.call(this,e)}:Element.prototype.removeChild=Wga})}function createDebugValue(e,{defaults:t,shouldStoreForSession:r=!0}){return createDebugValueBase({name:e,defaults:t,shouldStoreForSession:r})}function createDebugValueBase(t){const r=getDefaultValue(t);var e=t.shouldStoreForSession?getStoredInitialValue(t.name):null;const i=atom(\\\"debug:\\\".concat(t.name),null!=e?e:r);return\\\"undefined\\\"!=typeof window&&(t.shouldStoreForSession&&react(\\\"debug:\\\".concat(t.name),()=>{var e=i.get();e===r?deleteFromSessionStorage(\\\"tldraw_debug:\\\".concat(t.name)):setInSessionStorage(\\\"tldraw_debug:\\\".concat(t.name),JSON.stringify(e))}),Object.defineProperty(window,\\\"tldraw\\\".concat(t.name.replace(/^[a-z]/,e=>e.toUpperCase())),{get(){return i.get()},set(e){i.set(e)},configurable:!0})),Object.assign(i,t)}function getStoredInitialValue(e){var t;try{return JSON.parse(null!=(t=getFromSessionStorage(\\\"tldraw_debug:\\\".concat(e)))?t:\\\"null\\\")}catch(r){return null}}function readEnv(e){try{return e()}catch{return null}}function getDefaultValue(e){var t,r;switch(null!=(t=null!=(t=null!=(t=readEnv(()=>process.env.TLDRAW_ENV))?t:readEnv(()=>process.env.VERCEL_PUBLIC_TLDRAW_ENV))?t:readEnv(()=>process.env.NEXT_PUBLIC_TLDRAW_ENV))?t:\\\"production\\\"){case\\\"production\\\":return null!=(r=e.defaults.production)?r:e.defaults.all;case\\\"preview\\\":case\\\"staging\\\":return null!=(r=e.defaults.staging)?r:e.defaults.all;default:return null!=(r=e.defaults.development)?r:e.defaults.all}}function loopToHtmlElement(e){if(e instanceof HTMLElement)return e;if(e.parentElement)return loopToHtmlElement(e.parentElement);throw Error(\\\"Could not find a parent element of an HTML type!\\\")}function preventDefault(e){e.preventDefault(),debugFlags.logPreventDefaults.get()&&console.warn(\\\"preventDefault called on event:\\\",e)}function setPointerCapture(e,t){var r;e.setPointerCapture(t.pointerId),debugFlags.logPointerCaptures.get()&&((r=pointerCaptureTrackingObject.get()).set(e,(null!=(r=r.get(e))?r:0)+1),console.warn(\\\"setPointerCapture called on element:\\\",e,t))}function releasePointerCapture(e,t){var r;e.hasPointerCapture(t.pointerId)&&(e.releasePointerCapture(t.pointerId),debugFlags.logPointerCaptures.get())&&(1===(r=pointerCaptureTrackingObject.get()).get(e)?r[\\\"delete\\\"](e):r.has(e)?r.set(e,r.get(e)-1):console.warn(\\\"Release without capture\\\"),console.warn(\\\"releasePointerCapture called on element:\\\",e,t))}var stopEventPropagation=e=>e.stopPropagation(),setStyleProperty=(e,t,r)=>{e&&e.style.setProperty(t,r)};function getPointerInfo(e){return e.isKilled=!0,{point:{x:e.clientX,y:e.clientY,z:e.pressure},shiftKey:e.shiftKey,altKey:e.altKey,ctrlKey:e.metaKey||e.ctrlKey,pointerId:e.pointerId,button:e.button,isPen:\\\"pen\\\"===e.pointerType}}function useCanvasEvents(){const i=useEditor();return(0,import_react11.useMemo)(function(){let t,r;return{onPointerDown:function(e){e.isKilled||(2===e.button?i.dispatch({type:\\\"pointer\\\",target:\\\"canvas\\\",name:\\\"right_click\\\",...getPointerInfo(e)}):0!==e.button&&1!==e.button&&5!==e.button||(setPointerCapture(e.currentTarget,e),i.dispatch({type:\\\"pointer\\\",target:\\\"canvas\\\",name:\\\"pointer_down\\\",...getPointerInfo(e)}),0{if(!r.environment.isFirefox||r.environment.isAndroid||r.environment.isIos){if(window.matchMedia){const e=window.matchMedia(\\\"(pointer: coarse)\\\"),t=()=>{r.updateInstanceState({isCoarsePointer:!!e.matches})};if(t(),e)return e.addEventListener(\\\"change\\\",t),()=>e.removeEventListener(\\\"change\\\",t)}}else r.updateInstanceState({isCoarsePointer:!1})},[r])}init_esbuild_inject();var import_jsx_runtime4=require(\\\"react/jsx-runtime\\\"),import_react13=require(\\\"react\\\"),ContainerContext=(0,import_react13.createContext)(null);function ContainerProvider({container:e,children:t}){return(0,import_jsx_runtime4.jsx)(ContainerContext.Provider,{value:e,children:t})}function useContainer(){return assertExists((0,import_react13.useContext)(ContainerContext),\\\"useContainer used outside of \\\")}init_esbuild_inject();var import_react14=require(\\\"react\\\");function useDocumentEvents(){const o=useEditor(),n=useContainer(),a=useValue(\\\"isFocused\\\",()=>o.getInstanceState().isFocused,[o]);(0,import_react14.useEffect)(()=>{let i=null;const n=()=>{null!=i&&i();var e=\\\"(resolution: \\\".concat(window.devicePixelRatio,\\\"dppx)\\\");const t=matchMedia(e),r=e=>{\\\"change\\\"===e.type&&n()};t.addEventListener?t.addEventListener(\\\"change\\\",n):t.addListener&&t.addListener(r),i=()=>{t.removeEventListener?t.removeEventListener(\\\"change\\\",n):t.removeListener&&t.removeListener(r)},o.updateInstanceState({devicePixelRatio:window.devicePixelRatio})};return n(),()=>{null!=i&&i()}},[o]),(0,import_react14.useEffect)(()=>{if(a){const t=e=>{if(!e.altKey||!o.isIn(\\\"zoom\\\")&&o.getPath().endsWith(\\\".idle\\\")||isFocusingInput()||preventDefault(e),!e.isKilled){switch(e.isKilled=!0,e.key){case\\\"=\\\":case\\\"-\\\":case\\\"0\\\":if(e.metaKey||e.ctrlKey)return void preventDefault(e);break;case\\\"Tab\\\":if(isFocusingInput()||o.getIsMenuOpen())return;break;case\\\",\\\":return;case\\\"Escape\\\":return(o.getEditingShape()||0{var t;e.isKilled||(e.isKilled=!0,isFocusingInput())||o.getIsMenuOpen()||\\\",\\\"!==e.key&&(t={type:\\\"keyboard\\\",name:\\\"key_up\\\",key:e.key,code:e.code,shiftKey:e.shiftKey,altKey:e.altKey,ctrlKey:e.metaKey||e.ctrlKey},o.dispatch(t))},i=e=>{n.contains(e.target)&&(e.ctrlKey||e.metaKey)&&preventDefault(e)};return n.addEventListener(\\\"touchstart\\\",e,{passive:!1}),n.addEventListener(\\\"wheel\\\",i,{passive:!1}),document.addEventListener(\\\"gesturestart\\\",preventDefault),document.addEventListener(\\\"gesturechange\\\",preventDefault),document.addEventListener(\\\"gestureend\\\",preventDefault),n.addEventListener(\\\"keydown\\\",t),n.addEventListener(\\\"keyup\\\",r),()=>{n.removeEventListener(\\\"touchstart\\\",e),n.removeEventListener(\\\"wheel\\\",i),document.removeEventListener(\\\"gesturestart\\\",preventDefault),document.removeEventListener(\\\"gesturechange\\\",preventDefault),document.removeEventListener(\\\"gestureend\\\",preventDefault),n.removeEventListener(\\\"keydown\\\",t),n.removeEventListener(\\\"keyup\\\",r)};function e(e){var t,r;n.contains(e.target)&&((t=e.touches[0].pageX)-(r=e.touches[0].radiusX||0)<10||t+r>o.getViewportScreenBounds().width-10)&&(\\\"BUTTON\\\"===(null==(t=e.target)?void 0:t.tagName)&&null!=(r=e.target)&&r.click(),preventDefault(e))}}},[o,n,a])}var INPUTS=[\\\"input\\\",\\\"select\\\",\\\"button\\\",\\\"textarea\\\"];function isFocusingInput(){var e=document[\\\"activeElement\\\"];return!(!e||!(e.getAttribute(\\\"contenteditable\\\")||-1{const e=r.current;if(e){const t=e=>{var t;e instanceof PointerEvent&&\\\"pen\\\"===e.pointerType&&(e.isKilled=!0,t=e[\\\"target\\\"],IGNORED_TAGS.includes(null==(t=t.tagName)?void 0:t.toLocaleLowerCase())||i.isIn(\\\"select.editing_shape\\\")||preventDefault(e))};return e.addEventListener(\\\"touchstart\\\",t),e.addEventListener(\\\"touchend\\\",t),()=>{e.removeEventListener(\\\"touchstart\\\",t),e.removeEventListener(\\\"touchend\\\",t)}}},[i,r])}function clamp2(e,t,r){return Math.max(t,Math.min(e,r))}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var V={toVector(e,t){return void 0===e&&(e=t),Array.isArray(e)?e:[e,e]},add(e,t){return[e[0]+t[0],e[1]+t[1]]},sub(e,t){return[e[0]-t[0],e[1]-t[1]]},addTo(e,t){e[0]+=t[0],e[1]+=t[1]},subTo(e,t){e[0]-=t[0],e[1]-=t[1]}};function rubberband(e,t,r){return 0===t||Math.abs(t)===Infinity?Math.pow(e,5*r):e*t*r/(t+r*e)}function rubberbandIfOutOfBounds(e,t,r,i=.15){return 0===i?clamp2(e,t,r):e{var t,r;return e.target===i.currentTarget||(null==(t=i.currentTarget)||null==(r=t.contains)?void 0:r.call(t,e.target))})}function distanceAngle(e,t){try{var r=t.clientX-e.clientX,i=t.clientY-e.clientY,n=(t.clientX+e.clientX)/2,o=(t.clientY+e.clientY)/2,a=Math.hypot(r,i);return{angle:-180*Math.atan2(r,i)/Math.PI,distance:a,origin:[n,o]}}catch(s){}return null}function touchIds(e){return getCurrentTargetTouchList(e).map(e=>e.identifier)}function touchDistanceAngle(e,t){var[r,i]=Array.from(e.touches).filter(e=>t.includes(e.identifier));return distanceAngle(r,i)}var LINE_HEIGHT=40,PAGE_HEIGHT=800;function wheelValues(e){let{deltaX:t,deltaY:r,deltaMode:i}=e;return 1===i?(t*=LINE_HEIGHT,r*=LINE_HEIGHT):2===i&&(t*=PAGE_HEIGHT,r*=PAGE_HEIGHT),[t,r]}function getEventDetails(e){var t,r,i,n,o={};return\\\"buttons\\\"in e&&(o.buttons=e.buttons),\\\"shiftKey\\\"in e&&(({shiftKey:t,altKey:r,metaKey:i,ctrlKey:n}=e),Object.assign(o,{shiftKey:t,altKey:r,metaKey:i,ctrlKey:n})),o}function call(e,...t){return\\\"function\\\"==typeof e?e(...t):e}function noop2(){}function chain(...r){return 0===r.length?noop2:1===r.length?r[0]:function(){let e;for(const t of r)e=t.apply(this,arguments)||e;return e}}function assignDefault(e,t){return Object.assign({},t,e||{})}var BEFORE_LAST_KINEMATICS_DELAY=32,Engine=class{constructor(e,t,r){this.ctrl=e,this.args=t,this.key=r,this.state||(this.state={},this.computeValues([0,0]),this.computeInitial(),this.init&&this.init(),this.reset())}get state(){return this.ctrl.state[this.key]}set state(e){this.ctrl.state[this.key]=e}get shared(){return this.ctrl.state.shared}get eventStore(){return this.ctrl.gestureEventStores[this.key]}get timeoutStore(){return this.ctrl.gestureTimeoutStores[this.key]}get config(){return this.ctrl.config[this.key]}get sharedConfig(){return this.ctrl.config.shared}get handler(){return this.ctrl.handlers[this.key]}reset(){var{state:e,shared:t,ingKey:r,args:i}=this;t[r]=e._active=e.active=e._blocked=e._force=!1,e._step=[!1,!1],e.intentional=!1,e._movement=[0,0],e._distance=[0,0],e._direction=[0,0],e._delta=[0,0],e._bounds=[[-Infinity,Infinity],[-Infinity,Infinity]],e.args=i,e.axis=void 0,e.memo=void 0,e.elapsedTime=e.timeDelta=0,e.direction=[0,0],e.distance=[0,0],e.overflow=[0,0],e._movementBound=[!1,!1],e.velocity=[0,0],e.movement=[0,0],e.delta=[0,0],e.timeStamp=0}start(e){var t=this.state,r=this.config;t._active||(this.reset(),this.computeInitial(),t._active=!0,t.target=e.target,t.currentTarget=e.currentTarget,t.lastOffset=r.from?call(r.from,t):t.offset,t.offset=t.lastOffset,t.startTime=t.timeStamp=e.timeStamp)}computeValues(e){var t=this.state;t._values=e,t.values=this.config.transform(e)}computeInitial(){var e=this.state;e._initial=e._values,e.initial=e.values}compute(e){var{state:t,config:r,shared:i}=this;t.args=this.args;let n=0;e&&(t.event=e,r.preventDefault&&e.cancelable&&t.event.preventDefault(),t.type=e.type,i.touches=this.ctrl.pointerIds.size||this.ctrl.touchIds.size,i.locked=!!document.pointerLockElement,Object.assign(i,getEventDetails(e)),i.down=i.pressed=i.buttons%2==1||0=l&&u[0]),!1===d[1]&&(d[1]=Math.abs(s)>=c&&u[1])):(!1===d[0]&&(d[0]=Math.abs(a)>=l&&Math.sign(a)*l),!1===d[1]&&(d[1]=Math.abs(s)>=c&&Math.sign(s)*c)),t.intentional=!1!==d[0]||!1!==d[1],t.intentional&&(l=[0,0],r.hasCustomTransform?(([c,u]=u),l[0]=!1!==d[0]?c-d[0]:0,l[1]=!1!==d[1]?u-d[1]:0):(l[0]=!1!==d[0]?a-d[0]:0,l[1]=!1!==d[1]?s-d[1]:0),this.restrictToAxis&&!t._blocked&&this.restrictToAxis(l),c=t.offset,([a,s]=((u=t._active&&!t._blocked||t.active)&&(t.first=t._active&&!t.active,t.last=!t._active&&t.active,t.active=i[this.ingKey]=t._active,e)&&(t.first&&(\\\"bounds\\\"in r&&(t._bounds=call(r.bounds,t)),this.setup)&&this.setup(),t.movement=l,this.computeOffset()),t.offset)),([[d,i],[l,o]]=t._bounds),t.overflow=[aBEFORE_LAST_KINEMATICS_DELAY)&&(t.delta=V.sub(t.offset,c),i=t.delta.map(Math.abs),V.addTo(t.distance,i),t.direction=t.delta.map(Math.sign),t._direction=t._delta.map(Math.sign),!t.first)&&0e,DEFAULT_RUBBERBAND=.15,commonConfigResolver={enabled(e=!0){return e},eventOptions(e,t,r){return _objectSpread2(_objectSpread2({},r.shared.eventOptions),e)},preventDefault(e=!1){return e},triggerAllEvents(e=!1){return e},rubberband(e=0){switch(e){case!0:return[DEFAULT_RUBBERBAND,DEFAULT_RUBBERBAND];case!1:return[0,0];default:return V.toVector(e)}},from(e){return\\\"function\\\"==typeof e?e:null!=e?V.toVector(e):void 0},transform(e,t,r){var i=e||r.shared.transform;this.hasCustomTransform=!!i;{const n=i||identity;return e=>{var t=n(e);return isFinite(t[0])&&isFinite(t[1])||console.warn(\\\"[@use-gesture]: config.transform() must produce a valid result, but it was: [\\\".concat(t[0],\\\",\\\").concat([1],\\\"]\\\")),t}}},threshold(e){return V.toVector(e,0)}},DEFAULT_AXIS_THRESHOLD=(Object.assign(commonConfigResolver,{domTarget(e){if(void 0!==e)throw Error(\\\"[@use-gesture]: `domTarget` option has been renamed to `target`.\\\");return NaN},lockDirection(e){if(void 0!==e)throw Error(\\\"[@use-gesture]: `lockDirection` option has been merged with `axis`. Use it as in `{ axis: 'lock' }`\\\");return NaN},initial(e){if(void 0!==e)throw Error(\\\"[@use-gesture]: `initial` option has been renamed to `from`.\\\");return NaN}}),0),coordinatesConfigResolver=_objectSpread2(_objectSpread2({},commonConfigResolver),{},{axis(e,t,{axis:r}){if(this.lockDirection=\\\"lock\\\"===r,!this.lockDirection)return r},axisThreshold(e=DEFAULT_AXIS_THRESHOLD){return e},bounds(t={}){var e,r,i,n;return\\\"function\\\"==typeof t?e=>coordinatesConfigResolver.bounds(t(e)):\\\"current\\\"in t?()=>t.current:\\\"function\\\"==typeof HTMLElement&&t instanceof HTMLElement?t:(({left:e=-Infinity,right:r=Infinity,top:i=-Infinity,bottom:n=Infinity}=t),[[e,r],[i,n]])}}),isBrowser=\\\"undefined\\\"!=typeof window&&window.document&&window.document.createElement;function supportsTouchEvents(){return isBrowser&&\\\"ontouchstart\\\"in window}function isTouchScreen(){return supportsTouchEvents()||isBrowser&&1{e.canceled=!0,e._active=!1,this.compute(),this.emit()},0)}touchStart(e){this.ctrl.setEventIds(e);var t=this.state;const r=this.ctrl.touchIds;t._active&&t._touchIds.every(e=>r.has(e))||r.size<2||(this.start(e),t._touchIds=Array.from(r).slice(0,2),(t=touchDistanceAngle(e,t._touchIds))&&this.pinchStart(e,t))}pointerStart(e){if(null==e.buttons||e.buttons%2==1){this.ctrl.setEventIds(e),e.target.setPointerCapture(e.pointerId);var t=this.state,r=t._pointerEvents;const i=this.ctrl.pointerIds;t._active&&Array.from(r.keys()).every(e=>i.has(e))||(r.size<2&&r.set(e.pointerId,e),t._pointerEvents.size<2)||(this.start(e),(t=distanceAngle(...Array.from(r.values())))&&this.pinchStart(e,t))}}pinchStart(e,t){this.state.origin=t.origin,this.computeValues([t.distance,t.angle]),this.computeInitial(),this.compute(e),this.emit()}touchMove(e){var t;this.state._active&&(t=touchDistanceAngle(e,this.state._touchIds))&&this.pinchMove(e,t)}pointerMove(e){var t=this.state._pointerEvents;t.has(e.pointerId)&&t.set(e.pointerId,e),this.state._active&&(t=distanceAngle(...Array.from(t.values())))&&this.pinchMove(e,t)}pinchMove(e,t){var r=this.state,i=r._values[1],i=t.angle-i;let n=0;270!this.ctrl.touchIds.has(e))&&(this.state._active=!1,this.compute(e),this.emit())}pointerEnd(e){var t=this.state;this.ctrl.setEventIds(e);try{e.target.releasePointerCapture(e.pointerId)}catch(r){}t._pointerEvents.has(e.pointerId)&&t._pointerEvents[\\\"delete\\\"](e.pointerId),t._active&&t._pointerEvents.size<2&&(t._active=!1,this.compute(e),this.emit())}gestureStart(e){e.cancelable&&e.preventDefault();var t=this.state;t._active||(this.start(e),this.computeValues([e.scale,e.rotation]),t.origin=[e.clientX,e.clientY],this.compute(e),this.emit())}gestureMove(e){var t,r;e.cancelable&&e.preventDefault(),this.state._active&&(t=this.state,this.computeValues([e.scale,e.rotation]),t.origin=[e.clientX,e.clientY],r=t._movement,t._movement=[e.scale-1,e.rotation],t._delta=V.sub(t._movement,r),this.compute(e),this.emit())}gestureEnd(e){this.state._active&&(this.state._active=!1,this.compute(e),this.emit())}wheel(t){var e=this.config.modifierKey;e&&(Array.isArray(e)?!e.find(e=>t[e]):!t[e])||(this.state._active?this.wheelChange(t):this.wheelStart(t),this.timeoutStore.add(\\\"wheelEnd\\\",this.wheelEnd.bind(this)))}wheelStart(e){this.start(e),this.wheelChange(e)}wheelChange(e){\\\"uv\\\"in e||(e.cancelable&&e.preventDefault(),e.defaultPrevented)||console.warn(\\\"[@use-gesture]: To properly support zoom on trackpads, try using the `target` option.\\\\n\\\\nThis message will only appear in development mode.\\\");var t=this.state;t._delta=[-wheelValues(e)[1]/PINCH_WHEEL_RATIO*t.offset[0],0],V.addTo(t._movement,t._delta),clampStateInternalMovementToBounds(t),this.state.origin=[e.clientX,e.clientY],this.compute(e),this.emit()}wheelEnd(){this.state._active&&(this.state._active=!1,this.compute(),this.emit())}bind(e){var t=this.config.device;t&&(e(t,\\\"start\\\",this[t+\\\"Start\\\"].bind(this)),e(t,\\\"change\\\",this[t+\\\"Move\\\"].bind(this)),e(t,\\\"end\\\",this[t+\\\"End\\\"].bind(this)),e(t,\\\"cancel\\\",this[t+\\\"End\\\"].bind(this)),e(\\\"lostPointerCapture\\\",\\\"\\\",this[t+\\\"End\\\"].bind(this))),this.config.pinchOnWheel&&e(\\\"wheel\\\",\\\"\\\",this.wheel.bind(this),{passive:!1})}},pinchConfigResolver=_objectSpread2(_objectSpread2({},commonConfigResolver),{},{device(e,t,{shared:r,pointer:{touch:i=!1}={}}){return r.target&&!SUPPORT.touch&&SUPPORT.gesture?\\\"gesture\\\":SUPPORT.touch&&i?\\\"touch\\\":SUPPORT.touchscreen?SUPPORT.pointer?\\\"pointer\\\":SUPPORT.touch?\\\"touch\\\":void 0:void 0},bounds(e,t,{scaleBounds:r={},angleBounds:i={}}){const n=e=>{var t=assignDefault(call(r,e),{min:-Infinity,max:Infinity});return[t.min,t.max]},o=e=>{var t=assignDefault(call(i,e),{min:-Infinity,max:Infinity});return[t.min,t.max]};return\\\"function\\\"!=typeof r&&\\\"function\\\"!=typeof i?[n(),o()]:e=>[n(e),o(e)]},threshold(e,t,r){return this.lockDirection=\\\"lock\\\"===r.axis,V.toVector(e,this.lockDirection?[.1,3]:0)},modifierKey(e){return void 0===e?\\\"ctrlKey\\\":e},pinchOnWheel(e=!0){return e}}),moveConfigResolver=_objectSpread2(_objectSpread2({},coordinatesConfigResolver),{},{mouseOnly:(e=!0)=>e}),WheelEngine=class extends CoordinatesEngine{constructor(...e){super(...e),_defineProperty(this,\\\"ingKey\\\",\\\"wheeling\\\")}wheel(e){this.state._active||this.start(e),this.wheelChange(e),this.timeoutStore.add(\\\"wheelEnd\\\",this.wheelEnd.bind(this))}wheelChange(e){var t=this.state;t._delta=wheelValues(e),V.addTo(t._movement,t._delta),clampStateInternalMovementToBounds(t),this.compute(e),this.emit()}wheelEnd(){this.state._active&&(this.state._active=!1,this.compute(),this.emit())}bind(e){e(\\\"wheel\\\",\\\"\\\",this.wheel.bind(this))}},wheelConfigResolver=coordinatesConfigResolver,hoverConfigResolver=_objectSpread2(_objectSpread2({},coordinatesConfigResolver),{},{mouseOnly:(e=!0)=>e}),EngineMap=new Map,ConfigResolverMap=new Map;function registerAction(e){EngineMap.set(e.key,e.engine),ConfigResolverMap.set(e.key,e.resolver)}var pinchAction={key:\\\"pinch\\\",engine:PinchEngine,resolver:pinchConfigResolver},wheelAction={key:\\\"wheel\\\",engine:WheelEngine,resolver:wheelConfigResolver},import_react16=__toESM(require(\\\"react\\\"));function _objectWithoutPropertiesLoose(e,t){if(null==e)return{};for(var r,i={},n=Object.keys(e),o=0;o\\\"current\\\"in e?e.current:e},enabled(e=!0){return e},window(e=SUPPORT.isBrowser?window:void 0){return e},eventOptions({passive:e=!0,capture:t=!1}={}){return{passive:e,capture:t}},transform(e){return e}},_excluded=[\\\"target\\\",\\\"eventOptions\\\",\\\"window\\\",\\\"enabled\\\",\\\"transform\\\"];function resolveWith(e={},t){var r,i,n={};for([r,i]of Object.entries(t))switch(typeof i){case\\\"function\\\":var o=i.call(n,e[r],r,e);Number.isNaN(o)||(n[r]=o);break;case\\\"object\\\":n[r]=resolveWith(e[r],i);break;case\\\"boolean\\\":i&&(n[r]=e[r])}return n}function parse(e,t,r={}){var{target:i,eventOptions:n,window:o,enabled:a,transform:s}=e,l=_objectWithoutProperties(e,_excluded);if(r.shared=resolveWith({target:i,eventOptions:n,window:o,enabled:a,transform:s},sharedConfigResolver),t){i=ConfigResolverMap.get(t);r[t]=resolveWith(_objectSpread2({shared:r.shared},l),i)}else for(const d in l){var c=ConfigResolverMap.get(d);if(c)r[d]=resolveWith(_objectSpread2({shared:r.shared},l[d]),c);else if(![\\\"drag\\\",\\\"pinch\\\",\\\"scroll\\\",\\\"wheel\\\",\\\"move\\\",\\\"hover\\\"].includes(d)){if(\\\"domTarget\\\"===d)throw Error(\\\"[@use-gesture]: `domTarget` option has been renamed to `target`.\\\");console.warn(\\\"[@use-gesture]: Unknown config key `\\\".concat(d,\\\"` was used. Please read the documentation for further information.\\\"))}}return r}var EventStore=class{constructor(e,t){_defineProperty(this,\\\"_listeners\\\",new Set),this._ctrl=e,this._gestureKey=t}add(e,t,r,i,n){const o=this._listeners,a=toDomEventType(t,r);const s=_objectSpread2(_objectSpread2({},this._gestureKey?this._ctrl.config[this._gestureKey].eventOptions:{}),n),l=(e.addEventListener(a,i,s),()=>{e.removeEventListener(a,i,s),o[\\\"delete\\\"](l)});return o.add(l),l}clean(){this._listeners.forEach(e=>e()),this._listeners.clear()}},TimeoutStore=class{constructor(){_defineProperty(this,\\\"_timeouts\\\",new Map)}add(e,t,r=140,...i){this.remove(e),this._timeouts.set(e,window.setTimeout(t,r,...i))}remove(e){var t=this._timeouts.get(e);t&&window.clearTimeout(t)}clean(){this._timeouts.forEach(e=>{window.clearTimeout(e)}),this._timeouts.clear()}},Controller=class{constructor(e){_defineProperty(this,\\\"gestures\\\",new Set),_defineProperty(this,\\\"_targetEventStore\\\",new EventStore(this)),_defineProperty(this,\\\"gestureEventStores\\\",{}),_defineProperty(this,\\\"gestureTimeoutStores\\\",{}),_defineProperty(this,\\\"handlers\\\",{}),_defineProperty(this,\\\"config\\\",{}),_defineProperty(this,\\\"pointerIds\\\",new Set),_defineProperty(this,\\\"touchIds\\\",new Set),_defineProperty(this,\\\"state\\\",{shared:{shiftKey:!1,metaKey:!1,ctrlKey:!1,altKey:!1}}),resolveGestures(this,e)}setEventIds(e){return isTouch(e)?(this.touchIds=new Set(touchIds(e)),this.touchIds):\\\"pointerId\\\"in e?(\\\"pointerup\\\"===e.type||\\\"pointercancel\\\"===e.type?this.pointerIds[\\\"delete\\\"](e.pointerId):\\\"pointerdown\\\"===e.type&&this.pointerIds.add(e.pointerId),this.pointerIds):void 0}applyHandlers(e,t){this.handlers=e,this.nativeHandlers=t}applyConfig(e,t){this.config=parse(e,t,this.config)}clean(){this._targetEventStore.clean();for(const e of this.gestures)this.gestureEventStores[e].clean(),this.gestureTimeoutStores[e].clean()}effect(){return this.config.shared.target&&this.bind(),()=>this._targetEventStore.clean()}bind(...t){var e=this.config.shared,r={};let i;if(!e.target||(i=e.target())){if(e.enabled){for(const d of this.gestures){var n=this.config[d],o=bindToProps(r,n.eventOptions,!!i);n.enabled&&new(EngineMap.get(d))(this,t,d).bind(o)}var a=bindToProps(r,e.eventOptions,!!i);for(const u in this.nativeHandlers)a(u,\\\"\\\",e=>this.nativeHandlers[u](_objectSpread2(_objectSpread2({},this.state.shared),{},{event:e,args:t})),void 0,!0)}for(const p in r)r[p]=chain(...r[p]);if(!i)return r;for(const h in r){var{device:s,capture:l,passive:c}=parseProp(h);this._targetEventStore.add(i,s,\\\"\\\",r[h],{capture:l,passive:c})}}}};function setupGesture(e,t){e.gestures.add(t),e.gestureEventStores[t]=new EventStore(e,t),e.gestureTimeoutStores[t]=new TimeoutStore}function resolveGestures(e,t){t.drag&&setupGesture(e,\\\"drag\\\"),t.wheel&&setupGesture(e,\\\"wheel\\\"),t.scroll&&setupGesture(e,\\\"scroll\\\"),t.move&&setupGesture(e,\\\"move\\\"),t.pinch&&setupGesture(e,\\\"pinch\\\"),t.hover&&setupGesture(e,\\\"hover\\\")}var bindToProps=(l,c,d)=>(e,t,r,i={},n=!1)=>{var o=null!=(o=i.capture)?o:c.capture,a=null!=(a=i.passive)?a:c.passive;let s=n?e:toHandlerProp(e,t,o);d&&a&&(s+=\\\"Passive\\\"),l[s]=l[s]||[],l[s].push(r)},RE_NOT_NATIVE=/^on(Drag|Wheel|Scroll|Move|Pinch|Hover)/;function sortHandlers(e){var t,r={},i={},n=new Set;for(t in e)RE_NOT_NATIVE.test(t)?(n.add(RegExp.lastMatch),i[t]=e[t]):r[t]=e[t];return[i,r,n]}function registerGesture(e,r,i,t,n,o){if(e.has(i))if(EngineMap.has(t)){const a=i+\\\"Start\\\",s=i+\\\"End\\\";n[t]=e=>{let t=void 0;return e.first&&a in r&&r[a](e),i in r&&(t=r[i](e)),e.last&&s in r&&r[s](e),t},o[t]=o[t]||{}}else console.warn(\\\"[@use-gesture]: You've created a custom handler that that uses the `\\\".concat(t,\\\"` gesture but isn't properly configured.\\\\n\\\\nPlease add `\\\").concat(t,\\\"Action` when creating your handler.\\\"))}function parseMergedHandlers(e,t){var[r,i,n]=sortHandlers(e),o={};return registerGesture(n,r,\\\"onDrag\\\",\\\"drag\\\",o,t),registerGesture(n,r,\\\"onWheel\\\",\\\"wheel\\\",o,t),registerGesture(n,r,\\\"onScroll\\\",\\\"scroll\\\",o,t),registerGesture(n,r,\\\"onPinch\\\",\\\"pinch\\\",o,t),registerGesture(n,r,\\\"onMove\\\",\\\"move\\\",o,t),registerGesture(n,r,\\\"onHover\\\",\\\"hover\\\",o,t),{handlers:o,config:t,nativeHandlers:i}}function useRecognizers(e,t={},r,i){const n=import_react16[\\\"default\\\"].useMemo(()=>new Controller(e),[]);if(n.applyHandlers(e,i),n.applyConfig(t,r),import_react16[\\\"default\\\"].useEffect(n.effect.bind(n)),import_react16[\\\"default\\\"].useEffect(()=>n.clean.bind(n),[]),void 0===t.target)return n.bind.bind(n)}function createUseGesture(e){return e.forEach(registerAction),function(e,t){var{handlers:r,nativeHandlers:i,config:n}=parseMergedHandlers(e,t||{});return useRecognizers(r,n,void 0,i)}}init_esbuild_inject(),init_esbuild_inject();var React5=__toESM(require(\\\"react\\\"),1),MAX_ZOOM_STEP=(init_esbuild_inject(),10),IS_DARWIN=/Mac|iPod|iPhone|iPad/.test(\\\"undefined\\\"==typeof window?\\\"node\\\":window.navigator.platform);function normalizeWheel(t){let{deltaY:r,deltaX:e}=t,i=0;if(t.ctrlKey||t.altKey||t.metaKey){var n=Math.sign(t.deltaY),o=Math.abs(t.deltaY);let e=r;MAX_ZOOM_STEP{if(void 0!==lastWheelTime&&(120{let l=\\\"not sure\\\";let o=1,c=1,d=1,u=0;const a=new Vec,p=new Vec;const h=e=>{if(\\\"zooming\\\"!==(l=e?\\\"zooming\\\":l)){var t=Math.abs(u-o),r=Vec.Dist(a,p);switch(l){case\\\"not sure\\\":24{if(g.getInstanceState().isFocused&&(l=\\\"not sure\\\",!isWheelEndEvent(Date.now()))){var t=g.getEditingShapeId();if(t){var r=g.getShape(t);if(r)if(g.getShapeUtil(r).canScroll(r)){r=g.getShapePageBounds(t);if(null!=r&&r.containsPoint(g.inputs.currentPagePoint))return}}preventDefault(e),stopEventPropagation(e);t=normalizeWheel(e);0===t.x&&0===t.y||(r={type:\\\"wheel\\\",name:\\\"wheel\\\",delta:t,point:new Vec(e.clientX,e.clientY),shiftKey:e.shiftKey,altKey:e.altKey,ctrlKey:e.metaKey||e.ctrlKey},g.dispatch(r))}},onPinchStart:e=>{var t=m.current,{event:r,origin:i,da:n}=(l=\\\"not sure\\\",e);r instanceof WheelEvent||(r.target===t||null!=t&&t.contains(r.target))&&(p.x=i[0],p.y=i[1],a.x=i[0],a.y=i[1],o=n[0],c=g.getZoomLevel(),g.dispatch({type:\\\"pinch\\\",name:\\\"pinch_start\\\",point:{x:i[0],y:i[1],z:g.getZoomLevel()},delta:{x:0,y:0},shiftKey:r.shiftKey,altKey:r.altKey,ctrlKey:r.metaKey||r.ctrlKey}))},onPinchEnd:e=>{var t=m.current;const{event:r,origin:i,offset:n}=e;if(!(r instanceof WheelEvent)&&(r.target===t||null!=t&&t.contains(r.target))){const o=n[0];l=\\\"not sure\\\",requestAnimationFrame(()=>{g.dispatch({type:\\\"pinch\\\",name:\\\"pinch_end\\\",point:{x:i[0],y:i[1],z:o},delta:{x:i[0],y:i[1]},shiftKey:r.shiftKey,altKey:r.altKey,ctrlKey:r.metaKey||r.ctrlKey})})}},onPinch:e=>{var t=m.current,{event:r,origin:i,offset:n,da:o}=e;if(!(r instanceof WheelEvent)&&(r.target===t||null!=t&&t.contains(r.target))){var t=\\\"gesturechange\\\"===e.type||\\\"gestureend\\\"===e.type,a=(u=o[0],i[0]-p.x),s=i[1]-p.y;switch(p.x=i[0],p.y=i[1],h(t),l){case\\\"zooming\\\":d=n[0],g.dispatch({type:\\\"pinch\\\",name:\\\"pinch\\\",point:{x:i[0],y:i[1],z:d},delta:{x:a,y:s},shiftKey:r.shiftKey,altKey:r.altKey,ctrlKey:r.metaKey||r.ctrlKey});break;case\\\"panning\\\":g.dispatch({type:\\\"pinch\\\",name:\\\"pinch\\\",point:{x:i[0],y:i[1],z:c},delta:{x:a,y:s},shiftKey:r.shiftKey,altKey:r.altKey,ctrlKey:r.metaKey||r.ctrlKey})}}}}},[g,m]);useGesture(e,{target:m,eventOptions:{passive:!1},pinch:{from:()=>[g.getZoomLevel(),0],scaleBounds:()=>({from:g.getZoomLevel(),max:8,min:.05})}})}init_esbuild_inject();var React6=__toESM(require(\\\"react\\\"),1);function getHandle(e,t,r){var i=e.getShape(t);return{shape:i,handle:e.getShapeHandles(i).find(e=>e.id===r)}}function useHandleEvents(o,a){const s=useEditor();return React6.useMemo(()=>{let i,n;return{onPointerDown:e=>{var t,r;e.isKilled||(({shape:t,handle:r}=(setPointerCapture(loopToHtmlElement(e.currentTarget),e),getHandle(s,o,a))),r&&s.dispatch({type:\\\"pointer\\\",target:\\\"handle\\\",handle:r,shape:t,name:\\\"pointer_down\\\",...getPointerInfo(e)}))},onPointerMove:e=>{var t,r;e.isKilled||e.clientX===i&&e.clientY===n||(i=e.clientX,n=e.clientY,({shape:t,handle:r}=getHandle(s,o,a)),r&&s.dispatch({type:\\\"pointer\\\",target:\\\"handle\\\",handle:r,shape:t,name:\\\"pointer_move\\\",...getPointerInfo(e)}))},onPointerUp:e=>{var t,r;e.isKilled||(({shape:t,handle:r}=(releasePointerCapture(loopToHtmlElement(e.currentTarget),e),getHandle(s,o,a))),r&&s.dispatch({type:\\\"pointer\\\",target:\\\"handle\\\",handle:r,shape:t,name:\\\"pointer_up\\\",...getPointerInfo(e)}))}}},[s,o,a])}init_esbuild_inject();var import_lodash2=__toESM(require_lodash2(),1),import_react18=require(\\\"react\\\"),_Box=(init_esbuild_inject(),class _Box{constructor(e=0,t=0,r=0,i=0){__publicField(this,\\\"x\\\",0),__publicField(this,\\\"y\\\",0),__publicField(this,\\\"w\\\",0),__publicField(this,\\\"h\\\",0),this.x=e,this.y=t,this.w=r,this.h=i}get point(){return new Vec(this.x,this.y)}set point(e){this.x=e.x,this.y=e.y}get minX(){return this.x}set minX(e){this.x=e}get midX(){return this.x+this.w/2}get maxX(){return this.x+this.w}get minY(){return this.y}set minY(e){this.y=e}get midY(){return this.y+this.h/2}get maxY(){return this.y+this.h}get width(){return this.w}set width(e){this.w=e}get height(){return this.h}set height(e){this.h=e}get aspectRatio(){return this.width/this.height}get center(){return new Vec(this.midX,this.midY)}set center(e){this.minX=e.x-this.width/2,this.minY=e.y-this.height/2}get corners(){return[new Vec(this.minX,this.minY),new Vec(this.maxX,this.minY),new Vec(this.maxX,this.maxY),new Vec(this.minX,this.maxY)]}get cornersAndCenter(){return[new Vec(this.minX,this.minY),new Vec(this.maxX,this.minY),new Vec(this.maxX,this.maxY),new Vec(this.minX,this.maxY),this.center]}get sides(){var e=this[\\\"corners\\\"];return[[e[0],e[1]],[e[1],e[2]],[e[2],e[3]],[e[3],e[0]]]}get size(){return new Vec(this.w,this.h)}toFixed(){return this.x=toPrecision(this.x),this.y=toPrecision(this.y),this.w=toPrecision(this.w),this.h=toPrecision(this.h),this}setTo(e){return this.x=e.x,this.y=e.y,this.w=e.w,this.h=e.h,this}set(e=0,t=0,r=0,i=0){return this.x=e,this.y=t,this.w=r,this.h=i,this}expand(e){var t=Math.min(this.minX,e.minX),r=Math.min(this.minY,e.minY),i=Math.max(this.maxX,e.maxX),n=Math.max(this.maxY,e.maxY);return this.x=t,this.y=r,this.w=i-t,this.h=n-r,this}expandBy(e){return this.x-=e,this.y-=e,this.w+=2*e,this.h+=2*e,this}scale(e){return this.x/=e,this.y/=e,this.w/=e,this.h/=e,this}clone(){var{x:e,y:t,w:r,h:i}=this;return new _Box(e,t,r,i)}translate(e){return this.x+=e.x,this.y+=e.y,this}snapToGrid(e){var t=Math.round(this.minX/e)*e,r=Math.round(this.minY/e)*e,i=Math.round(this.maxX/e)*e,n=Math.round(this.maxY/e)*e;this.minX=t,this.minY=r,this.width=Math.max(1,i-t),this.height=Math.max(1,n-r)}collides(e){return _Box.Collides(this,e)}contains(e){return _Box.Contains(this,e)}includes(e){return _Box.Includes(this,e)}containsPoint(e,t=0){return _Box.ContainsPoint(this,e,t)}getHandlePoint(e){switch(e){case\\\"top_left\\\":return new Vec(this.minX,this.minY);case\\\"top_right\\\":return new Vec(this.maxX,this.minY);case\\\"bottom_left\\\":return new Vec(this.minX,this.maxY);case\\\"bottom_right\\\":return new Vec(this.maxX,this.maxY);case\\\"top\\\":return new Vec(this.midX,this.minY);case\\\"right\\\":return new Vec(this.maxX,this.midY);case\\\"bottom\\\":return new Vec(this.midX,this.maxY);case\\\"left\\\":return new Vec(this.minX,this.midY)}}toJson(){return{x:this.minX,y:this.minY,w:this.w,h:this.h}}resize(e,t,r){var{minX:i,minY:n,maxX:o,maxY:a}=this;let{minX:s,minY:l,maxX:c,maxY:d}=this;switch(e){case\\\"left\\\":case\\\"top_left\\\":case\\\"bottom_left\\\":s+=t;break;case\\\"right\\\":case\\\"top_right\\\":case\\\"bottom_right\\\":c+=t}switch(e){case\\\"top\\\":case\\\"top_left\\\":case\\\"top_right\\\":l+=r;break;case\\\"bottom\\\":case\\\"bottom_left\\\":case\\\"bottom_right\\\":d+=r}o=(c-s)/(o-i),i=(d-l)/(a-n);o<0&&(a=c,c=s,s=a),i<0&&(n=d,d=l,l=n),this.minX=s,this.minY=l,this.width=Math.abs(c-s),this.height=Math.abs(d-l)}union(e){var t=Math.min(this.minX,e.x),r=Math.min(this.minY,e.y),i=Math.max(this.maxX,e.w+e.x),n=Math.max(this.maxY,e.h+e.y);return this.x=t,this.y=r,this.width=i-t,this.height=n-r,this}static From(e){return new _Box(e.x,e.y,e.w,e.h)}static FromCenter(e,t){return new _Box(e.x-t.x/2,e.y-t.y/2,t.x,t.y)}static FromPoints(e){if(0===e.length)return new _Box;let t=Infinity,r=Infinity,i=-Infinity,n=-Infinity;var o;for(let a=0,s=e.length;a!(e.maxXt.maxX||e.maxYt.maxY)),__publicField(_Box,\\\"Contains\\\",(e,t)=>e.minXt.maxY&&e.maxX>t.maxX),__publicField(_Box,\\\"Includes\\\",(e,t)=>_Box.Collides(e,t)||_Box.Contains(e,t)),__publicField(_Box,\\\"ContainsPoint\\\",(e,t,r=0)=>!(t.xe.maxX+r||t.y>e.maxY+r)),__publicField(_Box,\\\"Common\\\",e=>{let t=Infinity,r=Infinity,i=-Infinity,n=-Infinity;for(let a=0;a{var r=e[\\\"corners\\\"];return[[r[0],r[1]],[r[1],r[2]],[r[2],r[3]],[r[3],r[0]]]}),_Box);function flipSelectionHandleY(e){switch(e){case\\\"top\\\":return\\\"bottom\\\";case\\\"bottom\\\":return\\\"top\\\";case\\\"top_left\\\":return\\\"bottom_left\\\";case\\\"top_right\\\":return\\\"bottom_right\\\";case\\\"bottom_left\\\":return\\\"top_left\\\";case\\\"bottom_right\\\":return\\\"top_right\\\";default:return e}}function flipSelectionHandleX(e){switch(e){case\\\"left\\\":return\\\"right\\\";case\\\"right\\\":return\\\"left\\\";case\\\"top_left\\\":return\\\"top_right\\\";case\\\"top_right\\\":return\\\"top_left\\\";case\\\"bottom_left\\\":return\\\"bottom_right\\\";case\\\"bottom_right\\\":return\\\"bottom_left\\\";default:return e}}function isSelectionCorner(e){return\\\"top_left\\\"===e||\\\"top_right\\\"===e||\\\"bottom_right\\\"===e||\\\"bottom_left\\\"===e}function useScreenBounds(s){const l=useEditor();(0,import_react18.useLayoutEffect)(()=>{let t=new Box;function e(){var e=s.current;if(!e)return null;e=e.getBoundingClientRect(),e=new Box(e.left||e.x,e.top||e.y,Math.max(e.width,1),Math.max(e.height,1));t.equals(e)||(l.updateViewportScreenBounds(e),t=e)}e();const r=(0,import_lodash2[\\\"default\\\"])(e,200,{trailing:!0}),i=setInterval(r,1e3),n=(window.addEventListener(\\\"resize\\\",r),new ResizeObserver(e=>{e[0].contentRect&&r()}));var o=s.current;let a=null;return o&&(n.observe(o),(a=getNearestScrollableContainer(o)).addEventListener(\\\"scroll\\\",r)),()=>{clearInterval(i),window.removeEventListener(\\\"resize\\\",r),n.disconnect(),null!=a&&a.removeEventListener(\\\"scroll\\\",r)}},[l,s])}var getNearestScrollableContainer=e=>{let t=e.parentElement;for(;t;){if(t===document.body)return document;var r=window.getComputedStyle(t)[\\\"overflowY\\\"];if(t.scrollHeight>t.clientHeight&&(\\\"auto\\\"===r||\\\"scroll\\\"===r||\\\"overlay\\\"===r))return t;t=t.parentElement}return document},_Mat=(init_esbuild_inject(),class _Mat{constructor(e,t,r,i,n,o){__publicField(this,\\\"a\\\",1),__publicField(this,\\\"b\\\",0),__publicField(this,\\\"c\\\",0),__publicField(this,\\\"d\\\",1),__publicField(this,\\\"e\\\",0),__publicField(this,\\\"f\\\",0),this.a=e,this.b=t,this.c=r,this.d=i,this.e=n,this.f=o}equals(e){return this===e||this.a===e.a&&this.b===e.b&&this.c===e.c&&this.d===e.d&&this.e===e.e&&this.f===e.f}identity(){return this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0,this}multiply(e){var t=e,{a:r,b:i,c:n,d:o,e:a,f:s}=this;return this.a=r*t.a+n*t.b,this.c=r*t.c+n*t.d,this.e=r*t.e+n*t.f+a,this.b=i*t.a+o*t.b,this.d=i*t.c+o*t.d,this.f=i*t.e+o*t.f+s,this}rotate(e,t,r){return 0===e?this:void 0===t?this.multiply(_Mat.Rotate(e)):this.translate(t,r).multiply(_Mat.Rotate(e)).translate(-t,-r)}translate(e,t){return this.multiply(_Mat.Translate(e,t))}scale(e,t){return this.multiply(_Mat.Scale(e,t))}invert(){var{a:e,b:t,c:r,d:i,e:n,f:o}=this,a=e*i-t*r;return this.a=i/a,this.b=t/-a,this.c=r/-a,this.d=e/a,this.e=(i*n-r*o)/-a,this.f=(t*n-e*o)/a,this}applyToPoint(e){return _Mat.applyToPoint(this,e)}applyToPoints(e){return _Mat.applyToPoints(this,e)}rotation(){return _Mat.Rotation(this)}point(){return _Mat.Point(this)}decomposed(){return _Mat.Decompose(this)}toCssString(){return _Mat.toCssString(this)}setTo(e){return Object.assign(this,e),this}decompose(){return _Mat.Decompose(this)}clone(){return new _Mat(this.a,this.b,this.c,this.d,this.e,this.f)}static Identity(){return new _Mat(1,0,0,1,0,0)}static Translate(e,t){return new _Mat(1,0,0,1,e,t)}static Rotate(e,t,r){var i,n;return 0===e?_Mat.Identity():(i=Math.cos(e),n=Math.sin(e),n=new _Mat(i,n,-n,i,0,0),void 0===t?n:_Mat.Compose(_Mat.Translate(t,r),n,_Mat.Translate(-t,-r)))}static Multiply(e,t){return{a:e.a*t.a+e.c*t.b,c:e.a*t.c+e.c*t.d,e:e.a*t.e+e.c*t.f+e.e,b:e.b*t.a+e.d*t.b,d:e.b*t.c+e.d*t.d,f:e.b*t.e+e.d*t.f+e.f}}static Inverse(e){var t=e.a*e.d-e.b*e.c;return{a:e.d/t,b:e.b/-t,c:e.c/-t,d:e.a/t,e:(e.d*e.e-e.c*e.f)/-t,f:(e.b*e.e-e.a*e.f)/t}}static Absolute(e){var t=e.a*e.d-e.b*e.c;return{a:e.d/t,b:e.b/-t,c:e.c/-t,d:e.a/t,e:(e.d*e.e-e.c*e.f)/t,f:(e.b*e.e-e.a*e.f)/-t}}static Compose(...e){var t=_Mat.Identity();for(let r=0,i=e.length;rnew Vec(t.a*e.x+t.c*e.y+t.e,t.b*e.x+t.d*e.y+t.f,e.z))}static applyToBounds(e,t){return new Box(e.e+t.minX,e.f+t.minY,t.width,t.height)}static From(e){return new _Mat(e.a,e.b,e.c,e.d,e.e,e.f)}static Cast(e){return e instanceof _Mat?e:_Mat.From(e)}}),Mat=(__publicField(_Mat,\\\"Scale\\\",(e,t,r,i)=>{var n=new _Mat(e,0,0,t,0,0);return void 0===r?n:_Mat.Compose(_Mat.Translate(r,i),n,_Mat.Translate(-r,-i))}),_Mat);function gcd(e,t){return 0===t?e:gcd(t,e%t)}function nearestMultiple(e){var t,r=e.toString().split(\\\".\\\")[1];return r?(t=Math.pow(10,r.length))/gcd(parseInt(r,10),t):1}init_esbuild_inject(),init_esbuild_inject();var import_jsx_runtime5=require(\\\"react/jsx-runtime\\\"),import_react19=require(\\\"react\\\"),Geometry2d=(init_esbuild_inject(),init_esbuild_inject(),class{constructor(e){var t;__publicField(this,\\\"isFilled\\\",!1),__publicField(this,\\\"isClosed\\\",!0),__publicField(this,\\\"isLabel\\\",!1),__publicField(this,\\\"debugColor\\\"),__publicField(this,\\\"ignore\\\"),__publicField(this,\\\"_vertices\\\"),__publicField(this,\\\"_bounds\\\"),__publicField(this,\\\"_area\\\"),this.isFilled=e.isFilled,this.isClosed=e.isClosed,this.isLabel=null!=(t=e.isLabel)&&t,this.debugColor=e.debugColor,this.ignore=e.ignore}hitTestPoint(e,t=0,r=!1){return!(!this.isClosed||!this.isFilled&&!r||!pointInPolygon(e,this.vertices))||Vec.Dist2(e,this.nearestPoint(e))<=t*t}distanceToPoint(e,t=!1){return e.dist(this.nearestPoint(e))*(this.isClosed&&(this.isFilled||t)&&pointInPolygon(e,this.vertices)?-1:1)}distanceToLineSegment(e,t){if(e.equals(t))return this.distanceToPoint(e);var r,i,n=this[\\\"vertices\\\"];let o,a=Infinity;for(let s=0;sr.maxX+t||e.y>r.maxY+t)}get vertices(){return this._vertices||(this._vertices=this.getVertices()),this._vertices}getBounds(){return Box.FromPoints(this.vertices)}get bounds(){return this._bounds||(this._bounds=this.getBounds()),this._bounds}get center(){return this.bounds.center}get area(){return this._area||(this._area=this.getArea()),this._area}getArea(){if(!this.isClosed)return 0;var e=this[\\\"vertices\\\"];let t=0;for(let n=0,o=e.length;n!e.isLabel).flatMap(e=>e.vertices)}nearestPoint(e){let t=Infinity,r;var i,n,o=this[\\\"children\\\"];if(0===o.length)throw Error(\\\"no children\\\");for(const a of o)i=a.nearestPoint(e),(n=Vec.Dist2(i,e))e.distanceToPoint(r,i||0!e.isLabel).find(e=>e.hitTestPoint(t,r,i))}hitTestLineSegment(t,r,i){return!!this.children.filter(e=>!e.isLabel).find(e=>e.hitTestLineSegment(t,r,i))}getArea(){return this.children[0].area}toSimpleSvgPath(){let e=\\\"\\\";for(const s of this.children)e+=s.toSimpleSvgPath();var t=Box.FromPoints(this.vertices).corners;for(let l=0,c=t.length;l{if(t){const e=()=>r(e=>e+1);return i.on(\\\"tick\\\",e),()=>{i.off(\\\"tick\\\",e)}}},[i,t])}var GeometryDebuggingView=track(function GeometryDebuggingView2({showStroke:l=!0,showVertices:c=!0,showClosestPointOnOutline:d=!0}){const u=useEditor(),p=(useTick(d),u.getZoomLevel());var e=u.getRenderingShapes();const{currentPagePoint:h}=u[\\\"inputs\\\"];return(0,import_jsx_runtime5.jsx)(\\\"svg\\\",{style:{position:\\\"absolute\\\",pointerEvents:\\\"none\\\",zIndex:999999999,top:0,left:0,overflow:\\\"visible\\\"},children:e.map(e=>{var t=u.getShape(e.id);if(\\\"group\\\"===t.type)return null;var r=u.getShapeGeometry(t),i=u.getShapePageTransform(t),t=u.getPointInShapeSpace(t,h),n=r.nearestPoint(t),o=r.distanceToPoint(t,!0),a=Math.abs(o)*p,o=o<0;const s=r[\\\"vertices\\\"];return(0,import_jsx_runtime5.jsxs)(\\\"g\\\",{transform:i.toCssString(),strokeLinecap:\\\"round\\\",strokeLinejoin:\\\"round\\\",children:[l&&(0,import_jsx_runtime5.jsx)(GeometryStroke,{geometry:r}),c&&s.map((e,t)=>(0,import_jsx_runtime5.jsx)(\\\"circle\\\",{cx:e.x,cy:e.y,r:\\\"2\\\",fill:\\\"hsl(\\\".concat(modulate(t,[0,s.length-1],[120,200]),\\\", 100%, 50%)\\\"),stroke:\\\"black\\\",strokeWidth:\\\"1\\\"},\\\"v\\\".concat(t))),d&&a<150&&(0,import_jsx_runtime5.jsx)(\\\"line\\\",{x1:n.x,y1:n.y,x2:t.x,y2:t.y,opacity:1-a/150,stroke:o?\\\"goldenrod\\\":\\\"dodgerblue\\\",strokeWidth:\\\"2\\\"})]},e.id+\\\"_outline\\\")})})});function GeometryStroke({geometry:e}){var t;return e instanceof Group2d?(0,import_jsx_runtime5.jsx)(import_jsx_runtime5.Fragment,{children:[...e.children,...e.ignoredChildren].map((e,t)=>(0,import_jsx_runtime5.jsx)(GeometryStroke,{geometry:e},t))}):(0,import_jsx_runtime5.jsx)(\\\"path\\\",{stroke:null!=(t=e.debugColor)?t:\\\"red\\\",strokeWidth:\\\"2\\\",fill:\\\"none\\\",opacity:\\\"1\\\",d:e.toSimpleSvgPath()})}init_esbuild_inject();var import_jsx_runtime6=require(\\\"react/jsx-runtime\\\"),import_react20=require(\\\"react\\\"),import_lodash3=(init_esbuild_inject(),init_esbuild_inject(),__toESM(require_lodash3(),1));function uniq(e){return(0,import_lodash3[\\\"default\\\"])(e)}function usePeerIds(){const e=useEditor();return useValue(useComputed(\\\"userIds\\\",()=>uniq(e.getCollaborators().map(e=>e.userId)).sort(),{isEqual:(e,t)=>{var r;return e.join(\\\",\\\")===(null==(r=t.join)?void 0:r.call(t,\\\",\\\"))}},[e]))}function usePresence(t){const e=useEditor();var r=useValue(\\\"latestPresence:\\\".concat(t),()=>e.getCollaborators().find(e=>e.userId===t),[e]);return null!=r?r:null}init_esbuild_inject();var LiveCollaborators=track(function Collaborators(){var e=usePeerIds();return(0,import_jsx_runtime6.jsx)(import_jsx_runtime6.Fragment,{children:e.map(e=>(0,import_jsx_runtime6.jsx)(CollaboratorGuard,{collaboratorId:e},e))})}),CollaboratorGuard=track(function CollaboratorGuard2({collaboratorId:e}){var t=useEditor(),r=usePresence(e),i=useCollaboratorState(r);if(!r||r.currentPageId!==t.getCurrentPageId())return null;switch(i){case\\\"inactive\\\":var{followingUserId:n,highlightedUserIds:o}=t.getInstanceState();if(n===r.userId||o.includes(r.userId))break;return null;case\\\"idle\\\":n=t.getInstanceState()[\\\"highlightedUserIds\\\"];if(r.followingUserId!==t.user.getId()||r.chatMessage||n.includes(r.userId))break;return null}return(0,import_jsx_runtime6.jsx)(Collaborator,{latestPresence:r})}),Collaborator=track(function Collaborator2({latestPresence:e}){var t=useEditor();const{CollaboratorBrush:r,CollaboratorScribble:i,CollaboratorCursor:n,CollaboratorHint:o,CollaboratorShapeIndicator:a}=useEditorComponents(),s=t.getZoomLevel();t=t.getViewportPageBounds();const{userId:l,chatMessage:c,brush:d,scribbles:u,selectedShapeIds:p,userName:h,cursor:m,color:g}=e;var _=!(m.xt.maxX-12/s||m.y>t.maxY-16/s);return(0,import_jsx_runtime6.jsxs)(import_jsx_runtime6.Fragment,{children:[d&&r?(0,import_jsx_runtime6.jsx)(r,{className:\\\"tl-collaborator__brush\\\",brush:d,color:g,opacity:.1},l+\\\"_brush\\\"):null,_&&n?(0,import_jsx_runtime6.jsx)(n,{className:\\\"tl-collaborator__cursor\\\",point:m,color:g,zoom:s,name:\\\"New User\\\"!==h?h:null,chatMessage:c},l+\\\"_cursor\\\"):o?(0,import_jsx_runtime6.jsx)(o,{className:\\\"tl-collaborator__cursor-hint\\\",point:m,color:g,zoom:s,viewport:t},l+\\\"_cursor_hint\\\"):null,i&&u.length?(0,import_jsx_runtime6.jsx)(import_jsx_runtime6.Fragment,{children:u.map(e=>(0,import_jsx_runtime6.jsx)(i,{className:\\\"tl-collaborator__scribble\\\",scribble:e,color:g,zoom:s,opacity:\\\"laser\\\"===e.color?.5:.1},l+\\\"_scribble_\\\"+e.id))}):null,a&&p.map(e=>(0,import_jsx_runtime6.jsx)(a,{className:\\\"tl-collaborator__shape-indicator\\\",shapeId:e,color:g,opacity:.5},l+\\\"_\\\"+e))]})});function getStateFromElapsedTime(e){return COLLABORATOR_INACTIVE_TIMEOUTgetStateFromElapsedTime(Date.now()-r.current));return(0,import_react20.useEffect)(()=>{const e=setInterval(()=>{n(getStateFromElapsedTime(Date.now()-r.current))},COLLABORATOR_CHECK_INTERVAL);return()=>clearInterval(e)},[]),e&&(r.current=e.lastActivityTimestamp),i}init_esbuild_inject();var import_jsx_runtime7=require(\\\"react/jsx-runtime\\\"),import_react21=require(\\\"react\\\"),Shape=(0,import_react21.memo)(function Shape2({id:n,shape:e,util:t,index:r,backgroundIndex:i,opacity:o,dprMultiple:a}){const s=useEditor();var l=useEditorComponents()[\\\"ShapeErrorFallback\\\"];const c=(0,import_react21.useRef)(null),d=(0,import_react21.useRef)(null),u=(0,import_react21.useRef)({transform:\\\"\\\",clipPath:\\\"none\\\",width:0,height:0,x:0,y:0,isCulled:!1});useQuickReactor(\\\"set shape stuff\\\",()=>{var e,t,r,i=s.getShape(n);i&&(e=u.current,(r=null!=(r=s.getShapeClipPath(n))?r:\\\"none\\\")!==e.clipPath&&(setStyleProperty(c.current,\\\"clip-path\\\",r),setStyleProperty(d.current,\\\"clip-path\\\",r),e.clipPath=r),r=s.getShapePageTransform(n),r=Mat.toCssString(r),i=s.getShapeGeometry(i).bounds,r!==e.transform&&(setStyleProperty(c.current,\\\"transform\\\",r),setStyleProperty(d.current,\\\"transform\\\",r),e.transform=r),r=i.w%a,t=i.h%a,r=0==r?i.w:i.w+(a-r),i=0==t?i.h:i.h+(a-t),r===e.width&&i===e.height||(setStyleProperty(c.current,\\\"width\\\",Math.max(r,a)+\\\"px\\\"),setStyleProperty(c.current,\\\"height\\\",Math.max(i,a)+\\\"px\\\"),setStyleProperty(d.current,\\\"width\\\",Math.max(r,a)+\\\"px\\\"),setStyleProperty(d.current,\\\"height\\\",Math.max(i,a)+\\\"px\\\"),e.width=r,e.height=i))},[s]),useQuickReactor(\\\"set opacity and z-index\\\",()=>{var e=c.current,t=d.current;setStyleProperty(e,\\\"opacity\\\",o),setStyleProperty(t,\\\"opacity\\\",o),setStyleProperty(e,\\\"z-index\\\",r),setStyleProperty(t,\\\"z-index\\\",i)},[o,r,i]),useQuickReactor(\\\"set display\\\",()=>{var e;s.getShape(n)&&(e=s.getCulledShapes().has(n))!==u.current.isCulled&&(setStyleProperty(c.current,\\\"display\\\",e?\\\"none\\\":\\\"block\\\"),setStyleProperty(d.current,\\\"display\\\",e?\\\"none\\\":\\\"block\\\"),u.current.isCulled=e)},[s]);var p,h=(0,import_react21.useCallback)(e=>s.annotateError(e,{origin:\\\"shape\\\",willCrashApp:!1}),[s]);return e?(p=\\\"fill\\\"in e.props&&\\\"none\\\"!==e.props.fill,(0,import_jsx_runtime7.jsxs)(import_jsx_runtime7.Fragment,{children:[t.backgroundComponent&&(0,import_jsx_runtime7.jsx)(\\\"div\\\",{ref:d,className:\\\"tl-shape tl-shape-background\\\",\\\"data-shape-type\\\":e.type,draggable:!1,children:(0,import_jsx_runtime7.jsx)(OptionalErrorBoundary,{fallback:l,onError:h,children:(0,import_jsx_runtime7.jsx)(InnerShapeBackground,{shape:e,util:t})})}),(0,import_jsx_runtime7.jsx)(\\\"div\\\",{ref:c,className:\\\"tl-shape\\\",\\\"data-shape-type\\\":e.type,\\\"data-shape-is-filled\\\":p,draggable:!1,children:(0,import_jsx_runtime7.jsx)(OptionalErrorBoundary,{fallback:l,onError:h,children:(0,import_jsx_runtime7.jsx)(InnerShape,{shape:e,util:t})})})]})):null}),InnerShape=(0,import_react21.memo)(function InnerShape2({shape:e,util:t}){return useStateTracking(\\\"InnerShape:\\\"+e.type,()=>t.component(e))},(e,t)=>e.shape.props===t.shape.props&&e.shape.meta===t.shape.meta),InnerShapeBackground=(0,import_react21.memo)(function InnerShapeBackground2({shape:t,util:r}){return useStateTracking(\\\"InnerShape:\\\"+t.type,()=>{var e;return null==(e=r.backgroundComponent)?void 0:e.call(r,t)})},(e,t)=>e.shape.props===t.shape.props&&e.shape.meta===t.shape.meta);function DefaultCanvas({className:e}){const n=useEditor();var{Background:t,SvgDefs:r}=useEditorComponents(),i=(0,import_react22.useRef)(null);const o=(0,import_react22.useRef)(null),a=(0,import_react22.useRef)(null),s=useContainer(),l=(useScreenBounds(i),useDocumentEvents(),useCoarsePointer(),useGestureEvents(i),useFixSafariDoubleTapZoomPencilEvents(i),(0,import_react22.useRef)({lodDisableTextOutline:!1,allowTextOutline:!0}));useQuickReactor(\\\"position layers\\\",function(){var{x:e,y:t,z:r}=n.getCamera(),i=(l.current.allowTextOutline&&n.environment.isSafari&&(s.style.setProperty(\\\"--tl-text-outline\\\",\\\"none\\\"),l.current.allowTextOutline=!1),l.current.allowTextOutline&&r{var e,t,r=new Map;for(const i of objectMapValues(n.shapeUtils)){if(!i)return;for({key:e,component:t}of i.getCanvasSvgDefs())r.has(e)||r.set(e,(0,import_jsx_runtime8.jsx)(t,{},e))}return[...r.values()]},[n]),u=useValue(\\\"debug_shapes\\\",()=>debugFlags.hideShapes.get(),[debugFlags]),p=useValue(\\\"debug_svg\\\",()=>debugFlags.debugSvg.get(),[debugFlags]),h=useValue(\\\"debug_geometry\\\",()=>debugFlags.debugGeometry.get(),[debugFlags]),m=useValue(\\\"isEditingAnything\\\",()=>null!==n.getEditingShapeId(),[n]),g=useValue(\\\"isSelectingAnything\\\",()=>!!n.getSelectedShapeIds().length,[n]);return(0,import_jsx_runtime8.jsxs)(\\\"div\\\",{ref:i,draggable:!1,\\\"data-iseditinganything\\\":m,\\\"data-isselectinganything\\\":g,className:(0,import_classnames[\\\"default\\\"])(\\\"tl-canvas\\\",e),\\\"data-testid\\\":\\\"canvas\\\",...c,children:[(0,import_jsx_runtime8.jsx)(\\\"svg\\\",{className:\\\"tl-svg-context\\\",children:(0,import_jsx_runtime8.jsxs)(\\\"defs\\\",{children:[d,(0,import_jsx_runtime8.jsx)(CursorDef,{}),(0,import_jsx_runtime8.jsx)(CollaboratorHintDef,{}),r&&(0,import_jsx_runtime8.jsx)(r,{})]})}),t&&(0,import_jsx_runtime8.jsx)(\\\"div\\\",{className:\\\"tl-background__wrapper\\\",children:(0,import_jsx_runtime8.jsx)(t,{})}),(0,import_jsx_runtime8.jsx)(GridWrapper,{}),(0,import_jsx_runtime8.jsxs)(\\\"div\\\",{ref:o,className:\\\"tl-html-layer tl-shapes\\\",draggable:!1,children:[(0,import_jsx_runtime8.jsx)(OnTheCanvasWrapper,{}),(0,import_jsx_runtime8.jsx)(SelectionBackgroundWrapper,{}),u?null:p?(0,import_jsx_runtime8.jsx)(ShapesWithSVGs,{}):(0,import_jsx_runtime8.jsx)(ShapesToDisplay,{})]}),(0,import_jsx_runtime8.jsxs)(\\\"div\\\",{className:\\\"tl-overlays\\\",children:[(0,import_jsx_runtime8.jsxs)(\\\"div\\\",{ref:a,className:\\\"tl-html-layer\\\",children:[h?(0,import_jsx_runtime8.jsx)(GeometryDebuggingView,{}):null,(0,import_jsx_runtime8.jsx)(HandlesWrapper,{}),(0,import_jsx_runtime8.jsx)(BrushWrapper,{}),(0,import_jsx_runtime8.jsx)(ScribbleWrapper,{}),(0,import_jsx_runtime8.jsx)(ZoomBrushWrapper,{}),(0,import_jsx_runtime8.jsx)(ShapeIndicators,{}),(0,import_jsx_runtime8.jsx)(HintedShapeIndicator,{}),(0,import_jsx_runtime8.jsx)(SnapIndicatorWrapper,{}),(0,import_jsx_runtime8.jsx)(SelectionForegroundWrapper,{}),(0,import_jsx_runtime8.jsx)(LiveCollaborators,{})]}),(0,import_jsx_runtime8.jsx)(InFrontOfTheCanvasWrapper,{})]}),(0,import_jsx_runtime8.jsx)(MovingCameraHitTestBlocker,{})]})}function GridWrapper(){const e=useEditor();var t=useValue(\\\"gridSize\\\",()=>e.getDocumentSettings().gridSize,[e]),{x:r,y:i,z:n}=useValue(\\\"camera\\\",()=>e.getCamera(),[e]),o=useValue(\\\"isGridMode\\\",()=>e.getInstanceState().isGridMode,[e]),a=useEditorComponents()[\\\"Grid\\\"];return a&&o?(0,import_jsx_runtime8.jsx)(a,{x:r,y:i,z:n,size:t}):null}function ScribbleWrapper(){const e=useEditor();var t=useValue(\\\"scribbles\\\",()=>e.getInstanceState().scribbles,[e]);const r=useValue(\\\"zoomLevel\\\",()=>e.getZoomLevel(),[e]),i=useEditorComponents()[\\\"Scribble\\\"];return i&&t.length?(0,import_jsx_runtime8.jsx)(import_jsx_runtime8.Fragment,{children:t.map(e=>(0,import_jsx_runtime8.jsx)(i,{className:\\\"tl-user-scribble\\\",scribble:e,zoom:r},e.id))}):null}function BrushWrapper(){const e=useEditor();var t=useValue(\\\"brush\\\",()=>e.getInstanceState().brush,[e]),r=useEditorComponents()[\\\"Brush\\\"];return r&&t?(0,import_jsx_runtime8.jsx)(r,{className:\\\"tl-user-brush\\\",brush:t}):null}function ZoomBrushWrapper(){const e=useEditor();var t=useValue(\\\"zoomBrush\\\",()=>e.getInstanceState().zoomBrush,[e]),r=useEditorComponents()[\\\"ZoomBrush\\\"];return r&&t?(0,import_jsx_runtime8.jsx)(r,{className:\\\"tl-user-brush tl-zoom-brush\\\",brush:t}):null}function SnapIndicatorWrapper(){const e=useEditor();var t=useValue(\\\"snapLines\\\",()=>e.snaps.getIndicators(),[e]);const r=useValue(\\\"zoomLevel\\\",()=>e.getZoomLevel(),[e]),i=useEditorComponents()[\\\"SnapIndicator\\\"];return i&&0(0,import_jsx_runtime8.jsx)(i,{className:\\\"tl-user-snapline\\\",line:e,zoom:r},e.id))}):null}function HandlesWrapper(){const r=useEditor();var e=useValue(\\\"handles shapeIdWithHandles\\\",()=>{var{isReadonly:e,isChangingStyle:t}=r.getInstanceState();return!(e||t||!(e=r.getOnlySelectedShape())||!r.getShapeHandles(e))&&e.id},[r]);return e?(0,import_jsx_runtime8.jsx)(HandlesWrapperInner,{shapeId:e}):null}function HandlesWrapperInner({shapeId:t}){const i=useEditor();var e=useEditorComponents()[\\\"Handles\\\"];const n=useValue(\\\"zoomLevel\\\",()=>i.getZoomLevel(),[i]),o=useValue(\\\"coarse pointer\\\",()=>i.getInstanceState().isCoarsePointer,[i]);var r=useValue(\\\"handles transform\\\",()=>i.getShapePageTransform(t),[i,t]),a=useValue(\\\"handles\\\",()=>{const e=i.getShapeHandles(t);if(!e)return null;const r=(o?COARSE_HANDLE_RADIUS:HANDLE_RADIUS)/n*2;return e.filter(t=>\\\"virtual\\\"!==t.type||!e.some(e=>e!==t&&\\\"vertex\\\"===e.type&&Vec.Dist(t,e)\\\"vertex\\\"===e.type?1:-1)},[i,n,o,t]);return e&&a&&r?(0,import_jsx_runtime8.jsx)(e,{children:(0,import_jsx_runtime8.jsx)(\\\"g\\\",{transform:Mat.toCssString(r),children:a.map(e=>(0,import_jsx_runtime8.jsx)(HandleWrapper,{shapeId:t,handle:e,zoom:n,isCoarse:o},e.id))})}):null}function HandleWrapper({shapeId:e,handle:t,zoom:r,isCoarse:i}){var n=useHandleEvents(e,t.id),o=useEditorComponents()[\\\"Handle\\\"];return o?(0,import_jsx_runtime8.jsx)(\\\"g\\\",{\\\"aria-label\\\":\\\"handle\\\",transform:\\\"translate(\\\".concat(t.x,\\\", \\\").concat(t.y,\\\")\\\"),...n,children:(0,import_jsx_runtime8.jsx)(o,{shapeId:e,handle:t,zoom:r,isCoarse:i})}):null}function ShapesWithSVGs(){const e=useEditor();var t=useValue(\\\"rendering shapes\\\",()=>e.getRenderingShapes(),[e]);const r=useValue(\\\"dpr multiple\\\",()=>nearestMultiple(Math.floor(100*e.getInstanceState().devicePixelRatio)/100),[e]);return(0,import_jsx_runtime8.jsx)(import_jsx_runtime8.Fragment,{children:t.map(e=>(0,import_jsx_runtime8.jsxs)(import_react22.Fragment,{children:[(0,import_jsx_runtime8.jsx)(Shape,{...e,dprMultiple:r}),(0,import_jsx_runtime8.jsx)(DebugSvgCopy,{id:e.id})]},e.id+\\\"_fragment\\\"))})}function ReflowIfNeeded(){const t=useEditor(),r=(0,import_react22.useRef)(new Set);return useQuickReactor(\\\"reflow for culled shapes\\\",()=>{var e=t.getCulledShapes();r.current.size===e.size&&[...e].every(e=>r.current.has(e))||(r.current=e,0!==(e=document.getElementsByClassName(\\\"tl-canvas\\\")).length&&e[0].offsetHeight)},[t]),null}function ShapesToDisplay(){const e=useEditor();var t=useValue(\\\"rendering shapes\\\",()=>e.getRenderingShapes(),[e]);const r=useValue(\\\"dpr multiple\\\",()=>nearestMultiple(Math.floor(100*e.getInstanceState().devicePixelRatio)/100),[e]);return(0,import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment,{children:[t.map(e=>(0,import_jsx_runtime8.jsx)(Shape,{...e,dprMultiple:r},e.id+\\\"_shape\\\")),e.environment.isSafari&&(0,import_jsx_runtime8.jsx)(ReflowIfNeeded,{})]})}function ShapeIndicators(){const o=useEditor();var e=useValue(\\\"rendering shapes\\\",()=>o.getRenderingShapes(),[o]);const a=(0,import_react22.useRef)(new Set),t=useValue(\\\"should display selected ids\\\",()=>{var e,t=a.current,r=new Set;if(o.isInAny(\\\"select.idle\\\",\\\"select.brushing\\\",\\\"select.scribble_brushing\\\",\\\"select.editing_shape\\\",\\\"select.pointing_shape\\\",\\\"select.pointing_selection\\\",\\\"select.pointing_handle\\\")&&!o.getInstanceState().isChangingStyle){for(const i of o.getSelectedShapeIds())r.add(i);o.isInAny(\\\"select.idle\\\",\\\"select.editing_shape\\\")&&(e=o.getInstanceState()).isHoveringCanvas&&!e.isCoarsePointer&&(e=o.getHoveredShapeId())&&r.add(e)}if(t.size!==r.size)return a.current=r;for(const n of r)if(!t.has(n))return a.current=r;return t},[o]),r=useEditorComponents()[\\\"ShapeIndicator\\\"];return r?(0,import_jsx_runtime8.jsx)(import_jsx_runtime8.Fragment,{children:e.map(({id:e})=>(0,import_jsx_runtime8.jsx)(r,{shapeId:e,hidden:!t.has(e)},e+\\\"_indicator\\\"))}):null}function HintedShapeIndicator(){const e=useEditor(),t=useEditorComponents()[\\\"ShapeIndicator\\\"];var r=useValue(\\\"hinting shape ids\\\",()=>dedupe(e.getHintingShapeIds()),[e]);return r.length&&t?(0,import_jsx_runtime8.jsx)(import_jsx_runtime8.Fragment,{children:r.map(e=>(0,import_jsx_runtime8.jsx)(t,{className:\\\"tl-user-indicator__hint\\\",shapeId:e},e+\\\"_hinting\\\"))}):null}function CursorDef(){return(0,import_jsx_runtime8.jsxs)(\\\"g\\\",{id:\\\"cursor\\\",children:[(0,import_jsx_runtime8.jsxs)(\\\"g\\\",{fill:\\\"rgba(0,0,0,.2)\\\",transform:\\\"translate(-11,-11)\\\",children:[(0,import_jsx_runtime8.jsx)(\\\"path\\\",{d:\\\"m12 24.4219v-16.015l11.591 11.619h-6.781l-.411.124z\\\"}),(0,import_jsx_runtime8.jsx)(\\\"path\\\",{d:\\\"m21.0845 25.0962-3.605 1.535-4.682-11.089 3.686-1.553z\\\"})]}),(0,import_jsx_runtime8.jsxs)(\\\"g\\\",{fill:\\\"white\\\",transform:\\\"translate(-12,-12)\\\",children:[(0,import_jsx_runtime8.jsx)(\\\"path\\\",{d:\\\"m12 24.4219v-16.015l11.591 11.619h-6.781l-.411.124z\\\"}),(0,import_jsx_runtime8.jsx)(\\\"path\\\",{d:\\\"m21.0845 25.0962-3.605 1.535-4.682-11.089 3.686-1.553z\\\"})]}),(0,import_jsx_runtime8.jsxs)(\\\"g\\\",{fill:\\\"currentColor\\\",transform:\\\"translate(-12,-12)\\\",children:[(0,import_jsx_runtime8.jsx)(\\\"path\\\",{d:\\\"m19.751 24.4155-1.844.774-3.1-7.374 1.841-.775z\\\"}),(0,import_jsx_runtime8.jsx)(\\\"path\\\",{d:\\\"m13 10.814v11.188l2.969-2.866.428-.139h4.768z\\\"})]})]})}function CollaboratorHintDef(){return(0,import_jsx_runtime8.jsx)(\\\"path\\\",{id:\\\"cursor_hint\\\",fill:\\\"currentColor\\\",d:\\\"M -2,-5 2,0 -2,5 Z\\\"})}function DebugSvgCopy({id:n}){const o=useEditor(),[e,a]=(0,import_react22.useState)(null),t=useValue(\\\"is in root\\\",()=>{var e=o.getShape(n);return(null==e?void 0:e.parentId)===o.getCurrentPageId()},[o,n]);return(0,import_react22.useEffect)(()=>{if(t){let i=null;const e=react(\\\"shape to svg\\\",async()=>{var e=Math.random(),t=(i=e,o.isShapeOfType(n,\\\"frame\\\")),t=t?0:10;let r=o.getShapePageBounds(n);r&&(r=r.clone().expandBy(t),t=await o.getSvgString([n],{padding:t,background:o.getInstanceState().exportBackground}),i===e)&&t&&(e=\\\"data:image/svg+xml;utf8,\\\".concat(encodeURIComponent(t.svg)),a({src:e,bounds:r}))});return()=>{i=null,e()}}},[o,n,t]),t&&e?(0,import_jsx_runtime8.jsx)(\\\"img\\\",{src:e.src,width:e.bounds.width,height:e.bounds.height,style:{position:\\\"absolute\\\",top:0,left:0,transform:\\\"translate(\\\".concat(e.bounds.x,\\\"px, \\\").concat(e.bounds.maxY+12,\\\"px)\\\"),outline:\\\"1px solid black\\\",maxWidth:\\\"none\\\"}}):null}function SelectionForegroundWrapper(){const e=useEditor();var t=useValue(\\\"selection rotation\\\",()=>e.getSelectionRotation(),[e]),r=useValue(\\\"selection bounds\\\",()=>e.getSelectionRotatedPageBounds(),[e]),i=useEditorComponents()[\\\"SelectionForeground\\\"];return r&&i?(0,import_jsx_runtime8.jsx)(i,{bounds:r,rotation:t}):null}function SelectionBackgroundWrapper(){const e=useEditor();var t=useValue(\\\"selection rotation\\\",()=>e.getSelectionRotation(),[e]),r=useValue(\\\"selection bounds\\\",()=>e.getSelectionRotatedPageBounds(),[e]),i=useEditorComponents()[\\\"SelectionBackground\\\"];return r&&i?(0,import_jsx_runtime8.jsx)(i,{bounds:r,rotation:t}):null}function OnTheCanvasWrapper(){var e=useEditorComponents()[\\\"OnTheCanvas\\\"];return e?(0,import_jsx_runtime8.jsx)(e,{}):null}function InFrontOfTheCanvasWrapper(){var e=useEditorComponents()[\\\"InFrontOfTheCanvas\\\"];return e?(0,import_jsx_runtime8.jsx)(e,{}):null}function MovingCameraHitTestBlocker(){const e=useEditor();var t=useValue(\\\"camera state\\\",()=>e.getCameraState(),[e]);return(0,import_jsx_runtime8.jsx)(\\\"div\\\",{className:(0,import_classnames[\\\"default\\\"])(\\\"tl-hit-test-blocker\\\",{\\\"tl-hit-test-blocker__hidden\\\":\\\"idle\\\"===t})})}init_esbuild_inject();var import_jsx_runtime9=require(\\\"react/jsx-runtime\\\"),import_classnames2=__toESM(require_classnames(),1),import_react23=require(\\\"react\\\");function DefaultCollaboratorHint({className:e,zoom:t,point:r,color:i,viewport:n,opacity:o=1}){var a=(0,import_react23.useRef)(null);return useTransform(a,clamp(r.x,n.minX+5/t,n.maxX-5/t),clamp(r.y,n.minY+5/t,n.maxY-5/t),1/t,Vec.Angle(n.center,r)),(0,import_jsx_runtime9.jsxs)(\\\"svg\\\",{ref:a,className:(0,import_classnames2[\\\"default\\\"])(\\\"tl-overlays__item\\\",e),children:[(0,import_jsx_runtime9.jsx)(\\\"use\\\",{href:\\\"#cursor_hint\\\",color:i,strokeWidth:3,stroke:\\\"var(--color-background)\\\"}),(0,import_jsx_runtime9.jsx)(\\\"use\\\",{href:\\\"#cursor_hint\\\",color:i,opacity:o})]})}init_esbuild_inject();var import_jsx_runtime10=require(\\\"react/jsx-runtime\\\"),import_classnames3=__toESM(require_classnames(),1),import_react24=require(\\\"react\\\"),DefaultCursor=(0,import_react24.memo)(function DefaultCursor2({className:e,zoom:t,point:r,color:i,name:n,chatMessage:o}){var a=(0,import_react24.useRef)(null);return useTransform(a,null==r?void 0:r.x,null==r?void 0:r.y,1/t),r?(0,import_jsx_runtime10.jsxs)(\\\"div\\\",{ref:a,className:(0,import_classnames3[\\\"default\\\"])(\\\"tl-overlays__item\\\",e),children:[(0,import_jsx_runtime10.jsx)(\\\"svg\\\",{className:\\\"tl-cursor\\\",children:(0,import_jsx_runtime10.jsx)(\\\"use\\\",{href:\\\"#cursor\\\",color:i})}),o?(0,import_jsx_runtime10.jsxs)(import_jsx_runtime10.Fragment,{children:[n&&(0,import_jsx_runtime10.jsx)(\\\"div\\\",{className:\\\"tl-nametag-title\\\",style:{color:i},children:n}),(0,import_jsx_runtime10.jsx)(\\\"div\\\",{className:\\\"tl-nametag-chat\\\",style:{backgroundColor:i},children:o})]}):n&&(0,import_jsx_runtime10.jsx)(\\\"div\\\",{className:\\\"tl-nametag\\\",style:{backgroundColor:i},children:n})]}):null}),import_jsx_runtime11=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\"));function DefaultGrid({x:l,y:c,z:d,size:u}){return(0,import_jsx_runtime11.jsxs)(\\\"svg\\\",{className:\\\"tl-grid\\\",version:\\\"1.1\\\",xmlns:\\\"http://www.w3.org/2000/svg\\\",children:[(0,import_jsx_runtime11.jsx)(\\\"defs\\\",{children:GRID_STEPS.map(({min:e,mid:t,step:r},i)=>{var n=r*u*d,o=.5+l*d,a=.5+c*d,o=0(0,import_jsx_runtime11.jsx)(\\\"rect\\\",{width:\\\"100%\\\",height:\\\"100%\\\",fill:\\\"url(#grid-\\\".concat(e,\\\")\\\")},\\\"grid-rect-\\\".concat(t)))]})}init_esbuild_inject();var import_jsx_runtime12=require(\\\"react/jsx-runtime\\\"),import_classnames4=__toESM(require_classnames(),1);function DefaultHandle({handle:e,isCoarse:t,className:r,zoom:i}){var n,o,a=(t?COARSE_HANDLE_RADIUS:HANDLE_RADIUS)/i;return\\\"clone\\\"===e.type?(o=3/Math.max(i,.35),o=\\\"M0,\\\".concat(-o,\\\" A\\\").concat(o,\\\",\\\").concat(o,\\\" 0 0,1 0,\\\").concat(o),n=SIDES.indexOf(e.id),(0,import_jsx_runtime12.jsxs)(\\\"g\\\",{className:(0,import_classnames4[\\\"default\\\"])(\\\"tl-handle tl-handle__\\\".concat(e.type),r),children:[(0,import_jsx_runtime12.jsx)(\\\"circle\\\",{className:\\\"tl-handle__bg\\\",r:a}),(0,import_jsx_runtime12.jsx)(\\\"path\\\",{className:\\\"tl-handle__fg\\\",d:o,transform:\\\"rotate(\\\".concat(90*n-90,\\\")\\\")})]})):(o=(\\\"create\\\"===e.type&&t?3:4)/Math.max(i,.35),(0,import_jsx_runtime12.jsxs)(\\\"g\\\",{className:(0,import_classnames4[\\\"default\\\"])(\\\"tl-handle tl-handle__\\\".concat(e.type),r),children:[(0,import_jsx_runtime12.jsx)(\\\"circle\\\",{className:\\\"tl-handle__bg\\\",r:a}),(0,import_jsx_runtime12.jsx)(\\\"circle\\\",{className:\\\"tl-handle__fg\\\",r:o})]}))}init_esbuild_inject();var import_jsx_runtime13=require(\\\"react/jsx-runtime\\\"),DefaultHandles=({children:e})=>(0,import_jsx_runtime13.jsx)(\\\"svg\\\",{className:\\\"tl-user-handles tl-overlays__item\\\",children:e}),import_jsx_runtime14=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_classnames5=__toESM(require_classnames(),1);function getSvgPathFromPoints(e,t=!0){var r=e.length;if(r<2)return\\\"\\\";let i=e[0],n=e[1];if(2===r)return\\\"M\\\".concat(precise(i),\\\"L\\\").concat(precise(n));let o=\\\"\\\";for(let a=2,s=r-1;a{var e=r.current;e&&(e.style.width=toDomPrecision(Math.max(1,t.width))+\\\"px\\\",e.style.height=toDomPrecision(Math.max(1,t.height))+\\\"px\\\")},[t.width,t.height]),(0,import_jsx_runtime15.jsx)(\\\"div\\\",{ref:r,className:\\\"tl-selection__bg\\\",draggable:!1})}init_esbuild_inject();var import_jsx_runtime16=require(\\\"react/jsx-runtime\\\"),import_classnames6=__toESM(require_classnames(),1),import_react25=require(\\\"react\\\");function DefaultSelectionForeground({bounds:e,rotation:t}){const r=useEditor();var i=(0,import_react25.useRef)(null),n=useValue(\\\"only selected shape\\\",()=>r.getOnlySelectedShape(),[r]),n=n?r.getShapeUtil(n).expandSelectionOutlinePx(n):0;return useTransform(i,null==e?void 0:e.x,null==e?void 0:e.y,1,t,{x:-n,y:-n}),e=e.clone().expandBy(n).zeroFix(),(0,import_jsx_runtime16.jsx)(\\\"svg\\\",{ref:i,className:\\\"tl-overlays__item tl-selection__fg\\\",\\\"data-testid\\\":\\\"selection-foreground\\\",children:(0,import_jsx_runtime16.jsx)(\\\"rect\\\",{className:(0,import_classnames6[\\\"default\\\"])(\\\"tl-selection__fg__outline\\\"),width:toDomPrecision(e.width),height:toDomPrecision(e.height)})})}init_esbuild_inject();var import_jsx_runtime17=require(\\\"react/jsx-runtime\\\"),DefaultShapeErrorFallback=()=>(0,import_jsx_runtime17.jsx)(\\\"div\\\",{className:\\\"tl-shape-error-boundary\\\"}),import_jsx_runtime18=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_classnames7=__toESM(require_classnames(),1),import_react26=require(\\\"react\\\"),EvenInnererIndicator=({shape:e,util:t})=>useStateTracking(\\\"Indicator: \\\"+e.type,()=>t.indicator(e)),InnerIndicator=({editor:t,id:e})=>{var r=useValue(\\\"shape for indicator\\\",()=>t.store.get(e),[t,e]),i=useEditorComponents()[\\\"ShapeIndicatorErrorFallback\\\"];return!r||r.isLocked?null:(0,import_jsx_runtime18.jsx)(OptionalErrorBoundary,{fallback:i,onError:e=>t.annotateError(e,{origin:\\\"react.shapeIndicator\\\",willCrashApp:!1}),children:(0,import_jsx_runtime18.jsx)(EvenInnererIndicator,{shape:r,util:t.getShapeUtil(r)},r.id)})},DefaultShapeIndicator=(0,import_react26.memo)(function DefaultShapeIndicator2({shapeId:r,className:e,color:t,hidden:i,opacity:n}){const o=useEditor(),a=(0,import_react26.useRef)(null);return useQuickReactor(\\\"indicator transform\\\",()=>{var e,t=a.current;t&&(e=o.getShapePageTransform(r))&&t.style.setProperty(\\\"transform\\\",e.toCssString())},[o,r]),(0,import_react26.useLayoutEffect)(()=>{var e=a.current;e&&e.style.setProperty(\\\"display\\\",i?\\\"none\\\":\\\"block\\\")},[i]),(0,import_jsx_runtime18.jsx)(\\\"svg\\\",{ref:a,className:(0,import_classnames7[\\\"default\\\"])(\\\"tl-overlays__item\\\",e),children:(0,import_jsx_runtime18.jsx)(\\\"g\\\",{className:\\\"tl-shape-indicator\\\",stroke:null!=t?t:\\\"var(--color-selected)\\\",opacity:n,children:(0,import_jsx_runtime18.jsx)(InnerIndicator,{editor:o,id:r})})})}),import_jsx_runtime19=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),DefaultShapeIndicatorErrorFallback=()=>(0,import_jsx_runtime19.jsx)(\\\"circle\\\",{cx:4,cy:4,r:8,strokeWidth:\\\"1\\\",stroke:\\\"red\\\"}),import_jsx_runtime20=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_classnames8=__toESM(require_classnames(),1),React8=__toESM(require(\\\"react\\\"),1);function PointsSnapIndicator({points:e,zoom:t}){const r=2.5/t,i=e.reduce((e,t)=>Math.min(e,t.x),Infinity);var n=e.reduce((e,t)=>Math.max(e,t.x),-Infinity);const o=e.reduce((e,t)=>Math.min(e,t.y),Infinity);var a=e.reduce((e,t)=>Math.max(e,t.y),-Infinity),s=e.some(e=>e.x===i&&e.y===o);let l,c,d,u;return u=s?(l=i,c=o,d=n,a):(l=i,c=a,d=n,o),(0,import_jsx_runtime20.jsxs)(\\\"g\\\",{className:\\\"tl-snap-indicator\\\",stroke:\\\"lime\\\",children:[(0,import_jsx_runtime20.jsx)(\\\"line\\\",{x1:l,y1:c,x2:d,y2:u}),e.map((e,t)=>(0,import_jsx_runtime20.jsx)(\\\"g\\\",{transform:\\\"translate(\\\".concat(e.x,\\\",\\\").concat(e.y,\\\")\\\"),children:(0,import_jsx_runtime20.jsx)(\\\"path\\\",{className:\\\"tl-snap-point\\\",d:\\\"M \\\".concat(-r,\\\",\\\").concat(-r,\\\" L \\\").concat(r,\\\",\\\").concat(r,\\\" M \\\").concat(-r,\\\",\\\").concat(r,\\\" L \\\").concat(r,\\\",\\\").concat(-r)})},t))]})}function GapsSnapIndicator({gaps:e,direction:t,zoom:r}){const i=3.5/r;let n=[-Infinity,Infinity];var o=null;const a=\\\"horizontal\\\"===t;for(const l of e)(o=(o=rangeIntersection(n[0],n[1],a?l.startEdge[0].y:l.startEdge[0].x,a?l.startEdge[1].y:l.startEdge[1].x))&&rangeIntersection((n=o)[0],n[1],a?l.endEdge[0].y:l.endEdge[0].x,a?l.endEdge[1].y:l.endEdge[1].x))&&(n=o);if(null===n)return null;const s=(n[0]+n[1])/2;return(0,import_jsx_runtime20.jsx)(\\\"g\\\",{className:\\\"tl-snap-indicator\\\",stroke:\\\"cyan\\\",children:e.map(({startEdge:e,endEdge:t},r)=>(0,import_jsx_runtime20.jsx)(React8.Fragment,{children:a?(0,import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment,{children:[(0,import_jsx_runtime20.jsx)(\\\"line\\\",{x1:e[0].x,y1:s-2*i,x2:e[1].x,y2:s+2*i}),(0,import_jsx_runtime20.jsx)(\\\"line\\\",{x1:t[0].x,y1:s-2*i,x2:t[1].x,y2:s+2*i}),(0,import_jsx_runtime20.jsx)(\\\"line\\\",{x1:e[0].x,y1:s,x2:t[0].x,y2:s}),(0,import_jsx_runtime20.jsx)(\\\"line\\\",{x1:(e[0].x+t[0].x)/2,y1:s-i,x2:(e[0].x+t[0].x)/2,y2:s+i})]}):(0,import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment,{children:[(0,import_jsx_runtime20.jsx)(\\\"line\\\",{x1:s-2*i,y1:e[0].y,x2:s+2*i,y2:e[1].y}),(0,import_jsx_runtime20.jsx)(\\\"line\\\",{x1:s-2*i,y1:t[0].y,x2:s+2*i,y2:t[1].y}),(0,import_jsx_runtime20.jsx)(\\\"line\\\",{x1:s,y1:e[0].y,x2:s,y2:t[0].y}),(0,import_jsx_runtime20.jsx)(\\\"line\\\",{x1:s-i,y1:(e[0].y+t[0].y)/2,x2:s+i,y2:(e[0].y+t[0].y)/2})]})},r))})}function DefaultSnapIndicator({className:e,line:t,zoom:r}){return(0,import_jsx_runtime20.jsx)(\\\"svg\\\",{className:(0,import_classnames8[\\\"default\\\"])(\\\"tl-overlays__item\\\",e),children:\\\"points\\\"===t.type?(0,import_jsx_runtime20.jsx)(PointsSnapIndicator,{...t,zoom:r}):\\\"gaps\\\"===t.type?(0,import_jsx_runtime20.jsx)(GapsSnapIndicator,{...t,zoom:r}):null})}init_esbuild_inject();var import_jsx_runtime21=require(\\\"react/jsx-runtime\\\");function DefaultSpinner(){return(0,import_jsx_runtime21.jsx)(\\\"svg\\\",{width:16,height:16,viewBox:\\\"0 0 16 16\\\",children:(0,import_jsx_runtime21.jsxs)(\\\"g\\\",{strokeWidth:2,fill:\\\"none\\\",fillRule:\\\"evenodd\\\",children:[(0,import_jsx_runtime21.jsx)(\\\"circle\\\",{strokeOpacity:.25,cx:8,cy:8,r:7,stroke:\\\"var(--color-text-1)\\\"}),(0,import_jsx_runtime21.jsx)(\\\"path\\\",{strokeLinecap:\\\"round\\\",d:\\\"M15 8c0-4.5-4.5-7-7-7\\\",stroke:\\\"var(--color-text-1)\\\",children:(0,import_jsx_runtime21.jsx)(\\\"animateTransform\\\",{attributeName:\\\"transform\\\",type:\\\"rotate\\\",from:\\\"0 8 8\\\",to:\\\"360 8 8\\\",dur:\\\"1s\\\",repeatCount:\\\"indefinite\\\"})})]})})}init_esbuild_inject();var DefaultSvgDefs=()=>null,import_react27=(init_esbuild_inject(),require(\\\"react\\\"));function useIdentity(e,t){var r=(0,import_react27.useRef)(e);return t(e,r.current)?r.current:r.current=e}function useShallowArrayIdentity(e){return useIdentity(e,areArraysShallowEqual)}function useShallowObjectIdentity(e){return useIdentity(e,areObjectsShallowEqual)}var EditorComponentsContext=(0,import_react28.createContext)({});function EditorComponentsProvider({overrides:e={},children:t}){const r=useShallowObjectIdentity(e);return(0,import_jsx_runtime22.jsx)(EditorComponentsContext.Provider,{value:(0,import_react28.useMemo)(()=>({Background:DefaultBackground,SvgDefs:DefaultSvgDefs,Brush:DefaultBrush,ZoomBrush:DefaultBrush,ScreenshotBrush:DefaultBrush,CollaboratorBrush:DefaultBrush,Cursor:DefaultCursor,CollaboratorCursor:DefaultCursor,CollaboratorHint:DefaultCollaboratorHint,CollaboratorShapeIndicator:DefaultShapeIndicator,Grid:DefaultGrid,Scribble:DefaultScribble,SnapIndicator:DefaultSnapIndicator,Handles:DefaultHandles,Handle:DefaultHandle,CollaboratorScribble:DefaultScribble,ErrorFallback:DefaultErrorFallback,ShapeErrorFallback:DefaultShapeErrorFallback,ShapeIndicatorErrorFallback:DefaultShapeIndicatorErrorFallback,Spinner:DefaultSpinner,SelectionBackground:DefaultSelectionBackground,SelectionForeground:DefaultSelectionForeground,ShapeIndicator:DefaultShapeIndicator,OnTheCanvas:null,InFrontOfTheCanvas:null,Canvas:DefaultCanvas,...r}),[r]),children:t})}function useEditorComponents(){return(0,import_react28.useContext)(EditorComponentsContext)}init_esbuild_inject(),init_esbuild_inject();var runtime={openWindow:(e,t)=>window.open(e,t,\\\"noopener noreferrer\\\"),refreshPage:()=>window.location.reload(),hardReset:async()=>{var e;return null==(e=window.__tldraw__hardReset)?void 0:e.call(window)}};function hardResetEditor(){runtime.hardReset()}function refreshPage(){runtime.refreshPage()}init_esbuild_inject();var BASE_ERROR_URL=\\\"https://github.com/tldraw/tldraw/issues/new\\\";function noop3(){}var DefaultErrorFallback=({error:e,editor:t})=>{const i=(0,import_react29.useRef)(null),[r,n]=(0,import_react29.useState)(!0),[o,a]=(0,import_react29.useState)(!1),[s,l]=(0,import_react29.useState)(!1);var c=useEditorComponents()[\\\"Canvas\\\"];const d=e instanceof Error?e.message:String(e),u=e instanceof Error?e.stack:null,p=useValue(\\\"isDarkMode\\\",()=>{try{if(t)return t.user.getIsDarkMode()}catch{}return null},[t]),[h,m]=(0,import_react29.useState)(null);(0,import_react29.useLayoutEffect)(()=>{var e;null!==p&&m(p);let t=null==(e=i.current)?void 0:e.parentElement,r=!1;for(;t;){if(t.classList.contains(\\\"tl-theme__dark\\\")||t.classList.contains(\\\"tl-theme__light\\\")){r=!0;break}t=t.parentElement}r?m(null):m(window.matchMedia(\\\"(prefers-color-scheme: dark)\\\").matches)},[p]),(0,import_react29.useEffect)(()=>{if(o){const e=setTimeout(()=>{a(!1)},2e3);return()=>clearTimeout(e)}},[o]);var g=new URL(BASE_ERROR_URL);return g.searchParams.set(\\\"title\\\",d),g.searchParams.set(\\\"labels\\\",\\\"bug\\\"),g.searchParams.set(\\\"body\\\",\\\"Hey, I ran into an error while using tldraw:\\\\n\\\\n```js\\\\n\\\".concat(null!=u?u:d,\\\"\\\\n```\\\\n\\\\nMy browser: \\\").concat(navigator.userAgent)),(0,import_jsx_runtime23.jsxs)(\\\"div\\\",{ref:i,className:(0,import_classnames9[\\\"default\\\"])(\\\"tl-container tl-error-boundary\\\",null===h?\\\"\\\":h?\\\"tl-theme__dark\\\":\\\"tl-theme__light\\\"),children:[(0,import_jsx_runtime23.jsx)(\\\"div\\\",{className:\\\"tl-error-boundary__overlay\\\"}),t&&(0,import_jsx_runtime23.jsx)(ErrorBoundary,{onError:noop3,fallback:()=>null,children:(0,import_jsx_runtime23.jsx)(EditorContext.Provider,{value:t,children:(0,import_jsx_runtime23.jsx)(\\\"div\\\",{className:\\\"tl-overlay tl-error-boundary__canvas\\\",children:c?(0,import_jsx_runtime23.jsx)(c,{}):null})})}),(0,import_jsx_runtime23.jsx)(\\\"div\\\",{className:(0,import_classnames9[\\\"default\\\"])(\\\"tl-modal\\\",\\\"tl-error-boundary__content\\\",{\\\"tl-error-boundary__content__expanded\\\":r&&!s}),children:s?(0,import_jsx_runtime23.jsxs)(import_jsx_runtime23.Fragment,{children:[(0,import_jsx_runtime23.jsx)(\\\"h2\\\",{children:\\\"Are you sure?\\\"}),(0,import_jsx_runtime23.jsx)(\\\"p\\\",{children:\\\"Resetting your data will delete your drawing and cannot be undone.\\\"}),(0,import_jsx_runtime23.jsxs)(\\\"div\\\",{className:\\\"tl-error-boundary__content__actions\\\",children:[(0,import_jsx_runtime23.jsx)(\\\"button\\\",{onClick:()=>l(!1),children:\\\"Cancel\\\"}),(0,import_jsx_runtime23.jsx)(\\\"button\\\",{className:\\\"tl-error-boundary__reset\\\",onClick:async()=>{hardResetEditor()},children:\\\"Reset data\\\"})]})]}):(0,import_jsx_runtime23.jsxs)(import_jsx_runtime23.Fragment,{children:[(0,import_jsx_runtime23.jsx)(\\\"h2\\\",{children:\\\"Something's gone wrong.\\\"}),(0,import_jsx_runtime23.jsxs)(\\\"p\\\",{children:[\\\"Sorry, we encountered an error. Please refresh the page to continue. If you keep seeing this error, you can \\\",(0,import_jsx_runtime23.jsx)(\\\"a\\\",{href:g.toString(),children:\\\"create a GitHub issue\\\"}),\\\" or\\\",\\\" \\\",(0,import_jsx_runtime23.jsx)(\\\"a\\\",{href:\\\"https://discord.gg/Cq6cPsTfNy\\\",children:\\\"ask for help on Discord\\\"}),\\\".\\\"]}),r&&(0,import_jsx_runtime23.jsxs)(import_jsx_runtime23.Fragment,{children:[\\\"Message:\\\",(0,import_jsx_runtime23.jsx)(\\\"h4\\\",{children:(0,import_jsx_runtime23.jsx)(\\\"code\\\",{children:d})}),\\\"Stack trace:\\\",(0,import_jsx_runtime23.jsxs)(\\\"div\\\",{className:\\\"tl-error-boundary__content__error\\\",children:[(0,import_jsx_runtime23.jsx)(\\\"pre\\\",{children:(0,import_jsx_runtime23.jsx)(\\\"code\\\",{children:null!=u?u:d})}),(0,import_jsx_runtime23.jsx)(\\\"button\\\",{onClick:()=>{var e=document.createElement(\\\"textarea\\\");e.value=null!=u?u:d,document.body.appendChild(e),e.select(),document.execCommand(\\\"copy\\\"),e.remove(),a(!0)},children:o?\\\"Copied!\\\":\\\"Copy\\\"})]})]}),(0,import_jsx_runtime23.jsxs)(\\\"div\\\",{className:\\\"tl-error-boundary__content__actions\\\",children:[(0,import_jsx_runtime23.jsx)(\\\"button\\\",{onClick:()=>n(!r),children:r?\\\"Hide details\\\":\\\"Show details\\\"}),(0,import_jsx_runtime23.jsxs)(\\\"div\\\",{className:\\\"tl-error-boundary__content__actions__group\\\",children:[(0,import_jsx_runtime23.jsx)(\\\"button\\\",{className:\\\"tl-error-boundary__reset\\\",onClick:()=>l(!0),children:\\\"Reset data\\\"}),(0,import_jsx_runtime23.jsx)(\\\"button\\\",{className:\\\"tl-error-boundary__refresh\\\",onClick:()=>{refreshPage()},children:\\\"Refresh Page\\\"})]})]})]})})]})};function uniqueId(){return nanoid()}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var USER_DATA_KEY=\\\"TLDRAW_USER_DATA_v3\\\",userTypeValidator=validation_exports.object({id:validation_exports.string,name:validation_exports.string.nullable().optional(),locale:validation_exports.string.nullable().optional(),color:validation_exports.string.nullable().optional(),isDarkMode:validation_exports[\\\"boolean\\\"].nullable().optional(),animationSpeed:validation_exports.number.nullable().optional(),edgeScrollSpeed:validation_exports.number.nullable().optional(),isSnapMode:validation_exports[\\\"boolean\\\"].nullable().optional(),isWrapMode:validation_exports[\\\"boolean\\\"].nullable().optional()}),Versions12={AddAnimationSpeed:1,AddIsSnapMode:2,MakeFieldsNullable:3,AddEdgeScrollSpeed:4,AddExcalidrawSelectMode:5},CURRENT_VERSION=Math.max(...Object.values(Versions12));function migrateSnapshot(e){e.version{var t=e.data;(null==t?void 0:t.type)===broadcastEventKey&&(null==t?void 0:t.origin)!==getBroadcastOrigin()&&globalUserPreferences.set(migrateUserPreferences(t.data))}),null);function getBroadcastOrigin(){return _broadcastOrigin=null===_broadcastOrigin?uniqueId():_broadcastOrigin}var broadcastEventKey=\\\"tldraw-user-preferences-change\\\";function broadcastUserPreferencesChange(){null!=channel&&channel.postMessage({type:broadcastEventKey,origin:getBroadcastOrigin(),data:{user:getUserPreferences(),version:CURRENT_VERSION}})}function getUserPreferences(){let e=globalUserPreferences.get();return e||(e=loadUserPreferences(),globalUserPreferences.set(e)),e}function createTLUser(e={}){var t;return{derivePresenceState:null!=(t=e.derivePresenceState)?t:()=>computed(\\\"presence\\\",()=>null),userPreferences:null!=(t=e.userPreferences)?t:computed(\\\"userPreferences\\\",()=>getUserPreferences()),setUserPreferences:null!=(t=e.setUserPreferences)?t:setUserPreferences}}init_esbuild_inject();var import_eventemitter3=__toESM(require_eventemitter3(),1),import_react_dom=require(\\\"react-dom\\\"),import_client=require(\\\"react-dom/client\\\"),import_jsx_runtime26=(init_esbuild_inject(),init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_jsx_runtime24=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_classnames10=__toESM(require_classnames(),1);function SVGContainer({children:e,className:t=\\\"\\\",...r}){return(0,import_jsx_runtime24.jsx)(\\\"svg\\\",{...r,className:(0,import_classnames10[\\\"default\\\"])(\\\"tl-svg-container\\\",t),children:e})}function intersectLineSegmentLineSegment(e,t,r,i){var n=e.x-r.x,o=e.y-r.y,a=i.x-r.x,s=i.y-r.y,l=t.x-e.x,c=t.y-e.y,d=a*o-s*n,o=l*o-c*n,n=s*l-a*c;if(0!=d&&0!=o&&0!=n){s=d/n,a=o/n;if(0<=s&&s<=1&&0<=a&&a<=1)return Vec.AddXY(e,s*l,s*c)}return null}function intersectLineSegmentCircle(e,t,r,i){var n,o=(t.x-e.x)*(t.x-e.x)+(t.y-e.y)*(t.y-e.y),a=2*((t.x-e.x)*(e.x-r.x)+(t.y-e.y)*(e.y-r.y)),s=a*a-4*o*(r.x*r.x+r.y*r.y+e.x*e.x+e.y*e.y-2*(r.x*e.x+r.y*e.y)-i*i);return s<0||0==s||(n=(-a-(s=Math.sqrt(s)))/(2*o),((a=(-a+s)/(2*o))<0||1(t.y-e.y)*(r.x-e.x)}function linesIntersect(e,t,r,i){return ccw(e,r,i)!==ccw(t,r,i)&&ccw(e,t,r)!==ccw(e,t,i)}function intersectPolygonPolygon(r,i){var e,t,n=new Map;let o,a,s,l;for(let u=0,p=r.length;uVec.Angle(r,e)-Vec.Angle(r,t))}function polygonsIntersect(r,i){var n,o;for(let a=0,s=r.length;aMath.max(r.x,i.x)?r.x>i.x?r:i:(n=r.y+n.y*o)Math.max(r.y,i.y)?r.y>i.y?r:i:new Vec(t,n))}hitTestLineSegment(e,t,r=0){return linesIntersect(e,t,this.start,this.end)||this.distanceToLineSegment(e,t)<=r}},Polyline2d=class extends Geometry2d{constructor(e){super({isClosed:!1,isFilled:!1,...e}),__publicField(this,\\\"points\\\"),__publicField(this,\\\"_segments\\\"),__publicField(this,\\\"_length\\\");var t=e[\\\"points\\\"];this.points=t}get segments(){if(!this._segments){this._segments=[];var r=this[\\\"vertices\\\"];for(let e=0,t=r.length-1;ee+t.length,0)),this._length}getVertices(){return this.points}nearestPoint(e){var t,r,i=this[\\\"segments\\\"];let n=this.points[0],o=Infinity;for(let a=0;a!0),__publicField(this,\\\"canScroll\\\",()=>!1),__publicField(this,\\\"canBind\\\",(e,t)=>!0),__publicField(this,\\\"canEdit\\\",()=>!1),__publicField(this,\\\"canResize\\\",()=>!0),__publicField(this,\\\"canEditInReadOnly\\\",()=>!1),__publicField(this,\\\"canCrop\\\",()=>!1),__publicField(this,\\\"hideResizeHandles\\\",()=>!1),__publicField(this,\\\"hideRotateHandle\\\",()=>!1),__publicField(this,\\\"hideSelectionBoundsBg\\\",()=>!1),__publicField(this,\\\"hideSelectionBoundsFg\\\",()=>!1),__publicField(this,\\\"isAspectRatioLocked\\\",()=>!1),__publicField(this,\\\"onBeforeCreate\\\"),__publicField(this,\\\"onBeforeUpdate\\\"),__publicField(this,\\\"onDragShapesOver\\\"),__publicField(this,\\\"onDragShapesOut\\\"),__publicField(this,\\\"onDropShapesOver\\\"),__publicField(this,\\\"onResizeStart\\\"),__publicField(this,\\\"onResize\\\"),__publicField(this,\\\"onResizeEnd\\\"),__publicField(this,\\\"onTranslateStart\\\"),__publicField(this,\\\"onTranslate\\\"),__publicField(this,\\\"onTranslateEnd\\\"),__publicField(this,\\\"onHandleDrag\\\"),__publicField(this,\\\"onRotateStart\\\"),__publicField(this,\\\"onRotate\\\"),__publicField(this,\\\"onRotateEnd\\\"),__publicField(this,\\\"onBindingChange\\\"),__publicField(this,\\\"onChildrenChange\\\"),__publicField(this,\\\"onDoubleClickHandle\\\"),__publicField(this,\\\"onDoubleClickEdge\\\"),__publicField(this,\\\"onDoubleClick\\\"),__publicField(this,\\\"onClick\\\"),__publicField(this,\\\"onEditEnd\\\"),this.editor=e}providesBackgroundForChildren(e){return!1}canReceiveNewChildrenOfType(e,t){return!1}canDropShapes(e,t){return!1}expandSelectionOutlinePx(e){return 0}getCanvasSvgDefs(){return[]}getBoundsSnapGeometry(e){return{}}getHandleSnapGeometry(e){return{}}}),import_jsx_runtime25=(__publicField(ShapeUtil,\\\"props\\\"),__publicField(ShapeUtil,\\\"migrations\\\"),__publicField(ShapeUtil,\\\"type\\\"),init_esbuild_inject(),require(\\\"react/jsx-runtime\\\"));function getPerfectDashProps(e,t,r={}){var{closed:i=!1,snap:n=1,start:o=\\\"outset\\\",end:a=\\\"outset\\\",lengthRatio:s=2,style:l=\\\"dashed\\\"}=r;let c=0,d=0,u=1,p=0,h=0;switch(l){case\\\"dashed\\\":u=1,c=Math.min(t*s,e/4);break;case\\\"dotted\\\":u=100,c=t/u;break;default:return{strokeDasharray:\\\"none\\\",strokeDashoffset:\\\"none\\\"}}return i||(\\\"outset\\\"===o?(e+=c/2,h+=c/2):\\\"skip\\\"===o&&(e-=c,h-=c),\\\"outset\\\"===a?e+=c/2:\\\"skip\\\"===a&&(e-=c)),d=Math.floor(e/c/(2*u)),d-=d%n,p=d<3&&\\\"dashed\\\"===l?e/t<5?(c=e,d=1,0):c=.333*e:(d=Math.max(d,3),c=e/d/(2*u),i?(h=c/2,(e-d*c)/d):(e-d*c)/Math.max(1,d-1)),{strokeDasharray:[c,p].join(\\\" \\\"),strokeDashoffset:h.toString()}}function DashedOutlineBox({bounds:e,className:t}){const r=useEditor(),n=useValue(\\\"zoom level\\\",()=>r.getZoomLevel(),[r]);return(0,import_jsx_runtime25.jsx)(\\\"g\\\",{className:t,pointerEvents:\\\"none\\\",strokeLinecap:\\\"round\\\",strokeLinejoin:\\\"round\\\",children:e.sides.map((e,t)=>{var{strokeDasharray:r,strokeDashoffset:i}=getPerfectDashProps(e[0].dist(e[1]),1/n,{style:\\\"dashed\\\",lengthRatio:4});return(0,import_jsx_runtime25.jsx)(\\\"line\\\",{x1:e[0].x,y1:e[0].y,x2:e[1].x,y2:e[1].y,strokeDasharray:r,strokeDashoffset:i},t)})})}init_esbuild_inject();var GroupShapeUtil=class extends ShapeUtil{constructor(){super(...arguments),__publicField(this,\\\"hideSelectionBoundsFg\\\",()=>!0),__publicField(this,\\\"canBind\\\",()=>!1),__publicField(this,\\\"onChildrenChange\\\",e=>{var t=this.editor.getSortedChildIdsForParent(e.id);0===t.length?(this.editor.getCurrentPageState().focusedGroupId===e.id&&this.editor.popFocusedGroupId(),this.editor.deleteShapes([e.id])):1===t.length&&(this.editor.getCurrentPageState().focusedGroupId===e.id&&this.editor.popFocusedGroupId(),this.editor.reparentShapes(t,e.parentId),this.editor.deleteShapes([e.id]))})}getDefaultProps(){return{}}getGeometry(e){var t=this.editor.getSortedChildIdsForParent(e.id);return 0===t.length?new Rectangle2d({width:1,height:1,isFilled:!1}):new Group2d({children:t.map(e=>{var t=this.editor.getShape(e),r=this.editor.getShapeGeometry(e),t=this.editor.getShapeLocalTransform(t).applyToPoints(r.vertices);return r.isClosed?new Polygon2d({points:t,isFilled:!0}):new Polyline2d({points:t})})})}component(t){var e=this.editor.getErasingShapeIds().includes(t.id),r=this.editor.getCurrentPageState()[\\\"hintingShapeIds\\\"],r=0e!==t.id&&this.editor.isShapeOfType(this.editor.getShape(e),\\\"group\\\")),i=this.editor.getCurrentPageState().focusedGroupId!==t.id;return e||!i&&!r?(e=this.editor.getShapeGeometry(t).bounds,(0,import_jsx_runtime26.jsx)(SVGContainer,{id:t.id,children:(0,import_jsx_runtime26.jsx)(DashedOutlineBox,{className:\\\"tl-group\\\",bounds:e})})):null}indicator(e){var t=this.editor.getShapeGeometry(e).bounds;return(0,import_jsx_runtime26.jsx)(DashedOutlineBox,{className:\\\"\\\",bounds:t})}},coreShapes=(__publicField(GroupShapeUtil,\\\"type\\\",\\\"group\\\"),__publicField(GroupShapeUtil,\\\"props\\\",groupShapeProps),__publicField(GroupShapeUtil,\\\"migrations\\\",groupShapeMigrations),[GroupShapeUtil]),coreShapeTypes=new Set(coreShapes.map(e=>e.type));function checkShapesAndAddCore(e){var t=[...coreShapes],r=new Set;for(const i of e){if(coreShapeTypes.has(i.type))throw new Error('Shape type \\\"'.concat(i.type,'\\\" is a core shapes type and cannot be overridden'));if(r.has(i.type))throw new Error('Shape type \\\"'.concat(i.type,'\\\" is defined more than once'));t.push(i),r.add(i.type)}return t}function sharedStyleEquals(e,t){if(!t)return!1;switch(e.type){case\\\"mixed\\\":return\\\"mixed\\\"===t.type;case\\\"shared\\\":return\\\"shared\\\"===t.type&&e.value===t.value;default:throw exhaustiveSwitchError(e)}}init_esbuild_inject();var ReadonlySharedStyleMap=class{constructor(e){__publicField(this,\\\"map\\\"),this.map=new Map(e)}get(e){return this.map.get(e)}getAsKnownValue(e){var t=this.get(e);if(t&&\\\"mixed\\\"!==t.type)return t.value}get size(){return this.map.size}equals(e){if(this.size!==e.size)return!1;var t,r,i,n,o=new Set;for([t,r]of this){if(!sharedStyleEquals(r,e.get(t)))return!1;o.add(t)}for([i,n]of e)if(!o.has(i)&&!sharedStyleEquals(n,this.get(i)))return!1;return!0}keys(){return this.map.keys()}values(){return this.map.values()}entries(){return this.map.entries()}[Symbol.iterator](){return this.map[Symbol.iterator]()}},SharedStyleMap=class extends ReadonlySharedStyleMap{set(e,t){this.map.set(e,t)}applyValue(e,t){var r=this.get(e);if(r)switch(r.type){case\\\"mixed\\\":return;case\\\"shared\\\":return void(r.value!==t&&this.set(e,{type:\\\"mixed\\\"}));default:exhaustiveSwitchError(r,\\\"type\\\")}else this.set(e,{type:\\\"shared\\\",value:t})}},WeakMapCache=(init_esbuild_inject(),class{constructor(){__publicField(this,\\\"items\\\",new WeakMap)}get(e,t){return this.items.has(e)||this.items.set(e,t(e)),this.items.get(e)}access(e){return this.items.get(e)}set(e,t){this.items.set(e,t)}has(e){return this.items.has(e)}invalidate(e){this.items[\\\"delete\\\"](e)}bust(){this.items=new WeakMap}});function dataUrlToFile(e,t,r){return fetch(e).then(function(e){return e.arrayBuffer()}).then(function(e){return new File([e],t,{type:r})})}function getIncrementedName(e,t){var r;let i=e;for(var n=new Set(t);n.has(i);)i=null!=(r=/^.*(\\\\d+)$/.exec(i))&&r[1]?i.replace(/(\\\\d+)(?=\\\\D?)$/,e=>(+e+1).toString()):\\\"\\\".concat(i,\\\" 1\\\");return i}function getReorderingShapesChanges(t,e,r){if(0===r.length)return[];var i=new Map;for(const a of compact(r.map(e=>t.getShape(e)))){var n=a[\\\"parentId\\\"];i.has(n)||i.set(n,{children:compact(t.getSortedChildIdsForParent(n).map(e=>t.getShape(e))),moving:new Set}),i.get(n).moving.add(a)}const o=[];switch(e){case\\\"toBack\\\":i.forEach(({moving:e,children:t})=>reorderToBack(e,t,o));break;case\\\"toFront\\\":i.forEach(({moving:e,children:t})=>reorderToFront(e,t,o));break;case\\\"forward\\\":i.forEach(({moving:e,children:t})=>reorderForward(e,t,o));break;case\\\"backward\\\":i.forEach(({moving:e,children:t})=>reorderBackward(e,t,o))}return o}function reorderToBack(i,n,o){var a=n.length;if(i.size!==a){let e,t;for(let r=0;r({...e,index:l[t]})))}}}function reorderToFront(i,n,o){var a=n.length;if(i.size!==a){let e,t;for(let r=a-1;-1({...e,index:l[t]})))}}}function reorderForward(r,i,n){var o,a=i.length;if(r.size!==a){let e={name:\\\"skipping\\\"};for(let t=0;tn.push({...i[l+t],index:e})),e={name:\\\"skipping\\\"}}}}}}function reorderBackward(t,i,n){var o,a=i.length;if(t.size!==a){let e={name:\\\"skipping\\\"};for(let r=a-1;-1{n.push({...i[r+t+1],index:e})}),e={name:\\\"skipping\\\"})}}}}function getRotationSnapshot({editor:t}){var e=t.getSelectedShapes(),r=t.getSelectionRotation(),i=t.getSelectionRotatedPageBounds(),n=t[\\\"inputs\\\"][\\\"originPagePoint\\\"];return i?{selectionPageCenter:i=i.center.clone().rotWith(i.point,r),initialCursorAngle:i.angle(n),initialSelectionRotation:r,shapeSnapshots:e.map(e=>({shape:structuredClone(e),initialPagePoint:t.getShapePageTransform(e.id).point()}))}:null}function applyRotationToSnapshotShapes({delta:n,editor:o,snapshot:e,stage:a}){const{selectionPageCenter:s,shapeSnapshots:t}=e,l=(o.updateShapes(t.map(({shape:e,initialPagePoint:t})=>{var r=isShapeId(e.parentId)?o.getShapePageTransform(e.parentId):Mat.Identity(),i=Vec.RotWith(t,s,n),r=Mat.applyToPoint(Mat.Inverse(r),i),i=canonicalizeRotation(e.rotation+n);return{id:e.id,type:e.type,x:r.x,y:r.y,rotation:i}})),[]);t.forEach(({shape:e})=>{var t,r,i=o.getShape(e.id);i&&(r=o.getShapeUtil(e),\\\"start\\\"!==a&&\\\"one-off\\\"!==a||(t=null==(t=r.onRotateStart)?void 0:t.call(r,e))&&l.push(t),(t=null==(t=r.onRotate)?void 0:t.call(r,e,i))&&l.push(t),\\\"end\\\"!==a&&\\\"one-off\\\"!==a||(r=null==(t=r.onRotateEnd)?void 0:t.call(r,e,i))&&l.push(r))}),0{var e=x[\\\"store\\\"];const y=e.query.filterHistory(\\\"shape\\\"),o=e.query.records(\\\"shape\\\",()=>({type:{eq:\\\"arrow\\\"}}));function S(){var e={};for(const n of o.get()){var t,{start:r,end:i}=n.props;\\\"binding\\\"===r.type&&((t=e[r.boundShapeId])?t.push({arrowId:n.id,handleId:\\\"start\\\"}):e[r.boundShapeId]=[{arrowId:n.id,handleId:\\\"start\\\"}]),\\\"binding\\\"===i.type&&((t=e[i.boundShapeId])?t.push({arrowId:n.id,handleId:\\\"end\\\"}):e[i.boundShapeId]=[{arrowId:n.id,handleId:\\\"end\\\"}])}return e}return computed(\\\"arrowBindingsIndex\\\",(e,t)=>{if(isUninitialized(e))return S();const r=e;var i,n,o,a,s=y.getDiffSince(t);if(s===RESET_VALUE)return S();let l=void 0;function c(e){(l=l||{...r})[e]?l[e]===r[e]&&(l[e]=[...l[e]]):l[e]=[]}function d(e,t,r){c(e),l[e]=l[e].filter(e=>e.arrowId!==t||e.handleId!==r),0===l[e].length&&delete l[e]}function u(e,t,r){c(e),l[e].push({arrowId:t,handleId:r})}for(const _ of s){for(const f of Object.values(_.added))x.isShapeOfType(f,\\\"arrow\\\")&&(({start:i,end:n}=f.props),\\\"binding\\\"===i.type&&u(i.boundShapeId,f.id,\\\"start\\\"),\\\"binding\\\"===n.type)&&u(n.boundShapeId,f.id,\\\"end\\\");for(var[p,h]of Object.values(_.updated))if(x.isShapeOfType(p,\\\"arrow\\\")&&x.isShapeOfType(h,\\\"arrow\\\"))for(const b of[\\\"start\\\",\\\"end\\\"]){var m=p.props[b],g=h.props[b];\\\"binding\\\"===m.type&&\\\"point\\\"===g.type?d(m.boundShapeId,p.id,b):\\\"point\\\"===m.type&&\\\"binding\\\"===g.type?u(g.boundShapeId,h.id,b):\\\"binding\\\"===m.type&&\\\"binding\\\"===g.type&&m.boundShapeId!==g.boundShapeId&&(d(m.boundShapeId,p.id,b),u(g.boundShapeId,h.id,b))}for(const v of Object.values(_.removed))x.isShapeOfType(v,\\\"arrow\\\")&&(({start:o,end:a}=v.props),\\\"binding\\\"===o.type&&d(o.boundShapeId,v.id,\\\"start\\\"),\\\"binding\\\"===a.type)&&d(a.boundShapeId,v.id,\\\"end\\\")}return null!=l?l:r})};function isShapeNotVisible(e,t,r){var i=e.getShapeMaskedPageBounds(t);return void 0===i||!r.includes(i)}init_esbuild_inject();var notVisibleShapes=i=>{const n=Number.isFinite(i.renderingBoundsMargin);function o(t){var e=t.getCurrentPageShapeIds();const r=t.getViewportPageBounds(),i=new Set;return e.forEach(e=>{isShapeNotVisible(t,e,r)&&i.add(e)}),i}return computed(\\\"getCulledShapes\\\",e=>{if(!n)return new Set;if(isUninitialized(e))return o(i);var t=o(i);if(e.size!==t.size)return t;for(const r of e)if(!t.has(r))return t;return e})},parentsToChildren=(init_esbuild_inject(),g=>{const i=g.query.ids(\\\"shape\\\"),_=g.query.filterHistory(\\\"shape\\\");function f(){const t={};var e=i.get();const r=Array(e.size);return e.forEach(e=>r.push(g.get(e))),r.sort(sortByIndex),r.forEach(e=>{t[e.parentId]||(t[e.parentId]=[]),t[e.parentId].push(e.id)}),t}return computed(\\\"parentsToChildrenWithIndexes\\\",(t,e)=>{if(isUninitialized(t))return f();var r=_.getDiffSince(e);if(r===RESET_VALUE)return f();if(0===r.length)return t;let i=null;var n,o=e=>{(i=i||{...t})[e]?i[e]===t[e]&&(i[e]=[...i[e]]):i[e]=[]},a=new Set;for(let d=0,u=r.length;dg.get(e)));c.sort(sortByIndex),m.splice(0,m.length,...c.map(e=>e.id))}return null!=i?i:t})}),isShapeInPage=(init_esbuild_inject(),(e,t,r)=>{for(;!isPageId(r.parentId);){var i=e.get(r.parentId);if(!i)return!1;r=i}return r.parentId===t}),deriveShapeIdsInCurrentPage=(d,u)=>{const e=d.query.ids(\\\"shape\\\");let p=null;function h(){const t=u();return p=t,new Set([...e.get()].filter(e=>isShapeInPage(d,t,d.get(e))))}return computed(\\\"_shapeIdsInCurrentPage\\\",(e,t)=>{if(isUninitialized(e))return h();var r=u();if(r!==p)return h();var i=d.history.getDiffSince(t);if(i===RESET_VALUE)return h();var n=new IncrementalSetConstructor(e);for(const s of i){for(const l of Object.values(s.added))isShape(l)&&isShapeInPage(d,r,l)&&n.add(l.id);for(var[o,a]of Object.values(s.updated))isShape(a)&&(isShapeInPage(d,r,a)?n.add(a.id):n.remove(a.id));for(const c of Object.keys(s.removed))isShapeId(c)&&n.remove(c)}i=n.get();return i?withDiff(i.value,i.diff):e})},import_jsx_runtime28=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_react31=require(\\\"react\\\"),import_jsx_runtime27=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_react30=require(\\\"react\\\"),Context=(0,import_react30.createContext)(null);function SvgExportContextProvider({context:e,editor:t,children:r}){return(0,import_jsx_runtime27.jsx)(EditorContext.Provider,{value:t,children:(0,import_jsx_runtime27.jsx)(Context.Provider,{value:e,children:r})})}function useSvgExportContext(){var e=(0,import_react30.useContext)(Context);return e?{isDarkMode:e.isDarkMode}:null}async function getSvgJsx(d,e,t={}){var r,i=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);if(0!==i.length){if(!window.document)throw Error(\\\"No document\\\");var{scale:n=1,background:o=!1,padding:a=SVG_PADDING,preserveAspectRatio:s=!1}=t,l=null!=(l=t.darkMode)?l:d.user.getIsDarkMode();const m=getDefaultColorTheme({isDarkMode:l}),g=d.getShapeAndDescendantIds(i);var c=d.getUnorderedRenderingShapes(!1).filter(({id:e})=>g.has(e));let e=null;if(t.bounds)e=t.bounds;else for(var{id:u}of c){u=d.getShapeMaskedPageBounds(u);u&&(e?e.union(u):e=u.clone())}if(e){const _=1===i.length&&d.isShapeOfType(d.getShape(i[0]),\\\"frame\\\")?i[0]:null;_||e.expandBy(a);i=e.width*n,a=e.height*n;try{null!=(r=(p=document.body).focus)&&r.call(p)}catch(h){}const f=[],b=new Map,v={isDarkMode:l,addExportDef:t=>{var e;b.has(t.key)||(e=(async()=>{var e=await t.getElement();e&&f.push((0,import_jsx_runtime28.jsx)(import_react31.Fragment,{children:e},f.length))})(),b.set(t.key,e))}};var n=(await Promise.all(c.map(async({id:e,opacity:t,index:r,backgroundIndex:i})=>{if(e===_)return[];var n=d.getShape(e);if(d.isShapeOfType(n,\\\"group\\\"))return[];var o=d.getShapeUtil(n);let a=await(null==(c=o.toSvg)?void 0:c.call(o,n,v)),s=await(null==(c=o.toBackgroundSvg)?void 0:c.call(o,n,v)),l=(a||s||(o=d.getShapePageBounds(n),a=(0,import_jsx_runtime28.jsx)(\\\"rect\\\",{width:o.w,height:o.h,fill:m.solid,stroke:m.grey.pattern,strokeWidth:1})),d.getShapePageTransform(n).toCssString());\\\"scale\\\"in n.props&&1!==n.props.scale&&(l=\\\"\\\".concat(l,\\\" scale(\\\").concat(n.props.scale,\\\", \\\").concat(n.props.scale,\\\")\\\")),a=a&&(0,import_jsx_runtime28.jsx)(\\\"g\\\",{transform:l,opacity:t,children:a},n.id),s=s&&(0,import_jsx_runtime28.jsx)(\\\"g\\\",{transform:l,opacity:t,children:s},\\\"bg_\\\".concat(n.id));var c=d.getShapeMask(n.id),c=(c&&(o=\\\"mask_\\\".concat(n.id.replace(\\\":\\\",\\\"_\\\")),f.push((0,import_jsx_runtime28.jsx)(\\\"clipPath\\\",{id:o,children:(0,import_jsx_runtime28.jsx)(\\\"path\\\",{d:\\\"M\\\".concat(c.map(({x:e,y:t})=>\\\"\\\".concat(e,\\\",\\\").concat(t)).join(\\\"L\\\"),\\\"Z\\\")})},f.length)),a=a&&(0,import_jsx_runtime28.jsx)(\\\"g\\\",{clipPath:\\\"url(#\\\".concat(o,\\\")\\\"),children:a},n.id),s=s&&(0,import_jsx_runtime28.jsx)(\\\"g\\\",{clipPath:\\\"url(#\\\".concat(o,\\\")\\\"),children:s},\\\"bg_\\\".concat(n.id))),[]);return a&&c.push({zIndex:r,element:a}),s&&c.push({zIndex:i,element:s}),c}))).flat(),p=(await Promise.all(b.values()),(0,import_jsx_runtime28.jsx)(SvgExportContextProvider,{editor:d,context:v,children:(0,import_jsx_runtime28.jsxs)(\\\"svg\\\",{preserveAspectRatio:s||void 0,direction:\\\"ltr\\\",width:i,height:a,viewBox:\\\"\\\".concat(e.minX,\\\" \\\").concat(e.minY,\\\" \\\").concat(e.width,\\\" \\\").concat(e.height),strokeLinecap:\\\"round\\\",strokeLinejoin:\\\"round\\\",style:{backgroundColor:o?_?m.solid:m.background:\\\"transparent\\\"},children:[(0,import_jsx_runtime28.jsx)(\\\"defs\\\",{children:f}),n.sort((e,t)=>e.zIndex-t.zIndex).map(({element:e})=>e)]})}));return{jsx:p,width:i,height:a}}}}init_esbuild_inject();var MAX_CLICK_DISTANCE=40,ClickManager=class{constructor(e){__publicField(this,\\\"_clickId\\\",\\\"\\\"),__publicField(this,\\\"_clickTimeout\\\"),__publicField(this,\\\"_clickScreenPoint\\\"),__publicField(this,\\\"_previousScreenPoint\\\"),__publicField(this,\\\"_getClickTimeout\\\",(e,t=uniqueId())=>{this._clickId=t,clearTimeout(this._clickTimeout),this._clickTimeout=setTimeout(()=>{if(this._clickState===e&&this._clickId===t){switch(this._clickState){case\\\"pendingTriple\\\":this.editor.dispatch({...this.lastPointerInfo,type:\\\"click\\\",name:\\\"double_click\\\",phase:\\\"settle\\\"});break;case\\\"pendingQuadruple\\\":this.editor.dispatch({...this.lastPointerInfo,type:\\\"click\\\",name:\\\"triple_click\\\",phase:\\\"settle\\\"});break;case\\\"pendingOverflow\\\":this.editor.dispatch({...this.lastPointerInfo,type:\\\"click\\\",name:\\\"quadruple_click\\\",phase:\\\"settle\\\"})}this._clickState=\\\"idle\\\"}},\\\"idle\\\"===e||\\\"pendingDouble\\\"===e?DOUBLE_CLICK_DURATION:MULTI_CLICK_DURATION)}),__publicField(this,\\\"_clickState\\\",\\\"idle\\\"),__publicField(this,\\\"lastPointerInfo\\\",{}),__publicField(this,\\\"transformPointerDownEvent\\\",e=>{if(!this._clickState)return e;switch(this._clickScreenPoint=Vec.From(e.point),this._previousScreenPoint&&this._previousScreenPoint.dist(this._clickScreenPoint)>MAX_CLICK_DISTANCE&&(this._clickState=\\\"idle\\\"),this._previousScreenPoint=this._clickScreenPoint,this.lastPointerInfo=e,this._clickState){case\\\"idle\\\":return this._clickState=\\\"pendingDouble\\\",this._clickTimeout=this._getClickTimeout(this._clickState),e;case\\\"pendingDouble\\\":return this._clickState=\\\"pendingTriple\\\",this._clickTimeout=this._getClickTimeout(this._clickState),{...e,type:\\\"click\\\",name:\\\"double_click\\\",phase:\\\"down\\\"};case\\\"pendingTriple\\\":return this._clickState=\\\"pendingQuadruple\\\",this._clickTimeout=this._getClickTimeout(this._clickState),{...e,type:\\\"click\\\",name:\\\"triple_click\\\",phase:\\\"down\\\"};case\\\"pendingQuadruple\\\":return this._clickState=\\\"pendingOverflow\\\",this._clickTimeout=this._getClickTimeout(this._clickState),{...e,type:\\\"click\\\",name:\\\"quadruple_click\\\",phase:\\\"down\\\"};case\\\"pendingOverflow\\\":return this._clickState=\\\"overflow\\\",this._clickTimeout=this._getClickTimeout(this._clickState),e;default:return this._clickTimeout=this._getClickTimeout(this._clickState),e}}),__publicField(this,\\\"transformPointerUpEvent\\\",e=>{if(!this._clickState)return e;switch(this._clickScreenPoint=Vec.From(e.point),this._clickState){case\\\"pendingTriple\\\":return{...this.lastPointerInfo,type:\\\"click\\\",name:\\\"double_click\\\",phase:\\\"up\\\"};case\\\"pendingQuadruple\\\":return{...this.lastPointerInfo,type:\\\"click\\\",name:\\\"triple_click\\\",phase:\\\"up\\\"};case\\\"pendingOverflow\\\":return{...this.lastPointerInfo,type:\\\"click\\\",name:\\\"quadruple_click\\\",phase:\\\"up\\\"};default:return e}}),__publicField(this,\\\"cancelDoubleClickTimeout\\\",()=>{this._clickTimeout=clearTimeout(this._clickTimeout),this._clickState=\\\"idle\\\"}),__publicField(this,\\\"handleMove\\\",()=>{\\\"idle\\\"!==this._clickState&&this._clickScreenPoint&&Vec.Dist2(this._clickScreenPoint,this.editor.inputs.currentScreenPoint)>(this.editor.getInstanceState().isCoarsePointer?COARSE_DRAG_DISTANCE:DRAG_DISTANCE)&&this.cancelDoubleClickTimeout()}),this.editor=e}get clickState(){return this._clickState}},EnvironmentManager=(init_esbuild_inject(),class{constructor(e){__publicField(this,\\\"isSafari\\\"),__publicField(this,\\\"isIos\\\"),__publicField(this,\\\"isChromeForIos\\\"),__publicField(this,\\\"isFirefox\\\"),__publicField(this,\\\"isAndroid\\\"),this.editor=e,\\\"undefined\\\"!=typeof window&&\\\"navigator\\\"in window?(this.isSafari=/^((?!chrome|android).)*safari/i.test(navigator.userAgent),this.isIos=!!navigator.userAgent.match(/iPad/i)||!!navigator.userAgent.match(/iPhone/i),this.isChromeForIos=/crios.*safari/i.test(navigator.userAgent),this.isFirefox=/firefox/i.test(navigator.userAgent),this.isAndroid=/android/i.test(navigator.userAgent)):(this.isSafari=!1,this.isIos=!1,this.isChromeForIos=!1,this.isFirefox=!1,this.isAndroid=!1)}});function stack(t){if(t){let e=EMPTY_STACK_ITEM;for(;t.length;)e=e.push(t.pop());return e}return EMPTY_STACK_ITEM}init_esbuild_inject(),init_esbuild_inject();var EmptyStackItem=class{constructor(){__publicField(this,\\\"length\\\",0),__publicField(this,\\\"head\\\",null),__publicField(this,\\\"tail\\\",this)}push(e){return new StackItem(e,this)}toArray(){return EMPTY_ARRAY}[Symbol.iterator](){return{next(){return{value:void 0,done:!0}}}}},EMPTY_STACK_ITEM=new EmptyStackItem,StackItem=class OLa{constructor(e,t){__publicField(this,\\\"length\\\"),this.head=e,this.tail=t,this.length=t.length+1}push(e){return new OLa(e,this)}toArray(){return Array.from(this)}[Symbol.iterator](){let t=this;return{next(){var e;return t.length?(e=t.head,t=t.tail,{value:e,done:!1}):{value:void 0,done:!0}}}}},HistoryManager=class{constructor(e,t){__publicField(this,\\\"_undos\\\",atom(\\\"HistoryManager.undos\\\",stack())),__publicField(this,\\\"_redos\\\",atom(\\\"HistoryManager.redos\\\",stack())),__publicField(this,\\\"_batchDepth\\\",0),__publicField(this,\\\"onBatchComplete\\\",()=>{}),__publicField(this,\\\"_commands\\\",{}),__publicField(this,\\\"createCommand\\\",(s,l,c)=>{if(this._commands[s])throw new Error(\\\"Duplicate command: \\\".concat(s));this._commands[s]=c;const d=(...e)=>{if(this._batchDepth){var t=l(...e);if(t){const{data:r,ephemeral:i,squashing:n,preservesRedoStack:o}=t;if(this.ignoringUpdates((e,t)=>(c[\\\"do\\\"](r),{undos:e,redos:t})),!i){const a=this._undos.get().head;n&&a&&\\\"command\\\"===a.type&&a.name===s&&a.preservesRedoStack===o?this._undos.update(e=>e.tail.push({...a,data:devFreeze(c.squash(a.data,r))})):this._undos.update(e=>e.push({type:\\\"command\\\",name:s,data:devFreeze(r),preservesRedoStack:o})),t.preservesRedoStack||this._redos.set(stack()),this.ctx.emit(\\\"change-history\\\",{reason:\\\"push\\\"})}}}else this.batch(()=>d(...e));return this.ctx};return d}),__publicField(this,\\\"batch\\\",t=>{try{this._batchDepth++,1===this._batchDepth?transact(()=>{var e=this._undos.get().head;t(),e!==this._undos.get().head&&this.onBatchComplete()}):t()}catch(e){throw this.annotateError(e),e}finally{this._batchDepth--}return this}),__publicField(this,\\\"ignoringUpdates\\\",e=>{let t=this._undos.get(),r=this._redos.get();this._undos.set(stack()),this._redos.set(stack());try{({undos:t,redos:r}=transact(()=>e(t,r)))}finally{this._undos.set(t),this._redos.set(r)}}),__publicField(this,\\\"_undo\\\",({pushToRedoStack:n,toMark:o=void 0})=>(this.ignoringUpdates((e,t)=>{if(0!==e.length){for(;\\\"STOP\\\"===(null==(r=e.head)?void 0:r.type);){var r=e.head;if(e=e.tail,n&&(t=t.push(r)),r.id===o)return this.ctx.emit(\\\"change-history\\\",n?{reason:\\\"undo\\\"}:{reason:\\\"bail\\\",markId:o}),{undos:e,redos:t}}if(0!==e.length)for(;e.head;){var i=e.head;if(e=e.tail,n&&(t=t.push(i)),\\\"STOP\\\"===i.type){if(i.onUndo&&(!o||i.id===o))return this.ctx.emit(\\\"change-history\\\",n?{reason:\\\"undo\\\"}:{reason:\\\"bail\\\",markId:o}),{undos:e,redos:t}}else this._commands[i.name].undo(i.data)}this.ctx.emit(\\\"change-history\\\",n?{reason:\\\"undo\\\"}:{reason:\\\"bail\\\",markId:o})}return{undos:e,redos:t}}),this)),__publicField(this,\\\"undo\\\",()=>(this._undo({pushToRedoStack:!0}),this)),__publicField(this,\\\"redo\\\",()=>(this.ignoringUpdates((e,t)=>{var r;if(0!==t.length){for(;\\\"STOP\\\"===(null==(r=t.head)?void 0:r.type);)e=e.push(t.head),t=t.tail;if(0!==t.length)for(;t.head;){var i=t.head;if(e=e.push(t.head),t=t.tail,\\\"STOP\\\"===i.type){if(i.onRedo)break}else{var n=this._commands[i.name];n.redo?n.redo(i.data):n[\\\"do\\\"](i.data)}}this.ctx.emit(\\\"change-history\\\",{reason:\\\"redo\\\"})}return{undos:e,redos:t}}),this)),__publicField(this,\\\"bail\\\",()=>(this._undo({pushToRedoStack:!1}),this)),__publicField(this,\\\"bailToMark\\\",e=>(this._undo({pushToRedoStack:!1,toMark:e}),this)),__publicField(this,\\\"mark\\\",(t=uniqueId(),r=!0,i=!0)=>{var e=this._undos.get().head;return e&&\\\"STOP\\\"===e.type&&e.id===t&&e.onUndo===r&&e.onRedo===i?e.id:(this._undos.update(e=>e.push({type:\\\"STOP\\\",id:t,onUndo:r,onRedo:i})),this.ctx.emit(\\\"mark-history\\\",{id:t}),t)}),this.ctx=e,this.annotateError=t}getNumUndos(){return this._undos.get().length}getNumRedos(){return this._redos.get().length}clear(){this._undos.set(stack()),this._redos.set(stack())}},ScribbleManager=(init_esbuild_inject(),class{constructor(e){__publicField(this,\\\"scribbleItems\\\",new Map),__publicField(this,\\\"state\\\",\\\"paused\\\"),__publicField(this,\\\"addScribble\\\",(e,t=uniqueId())=>{var r={id:t,scribble:{id:t,size:20,color:\\\"accent\\\",opacity:.8,delay:0,points:[],shrink:.1,taper:!0,...e,state:\\\"starting\\\"},timeoutMs:0,delayRemaining:null!=(r=e.delay)?r:0,prev:null,next:null};return this.scribbleItems.set(t,r),r}),__publicField(this,\\\"stop\\\",e=>{var t=this.scribbleItems.get(e);if(t)return t.delayRemaining=Math.min(t.delayRemaining,200),t.scribble.state=\\\"stopping\\\",t;throw Error(\\\"Scribble with id \\\".concat(e,\\\" not found\\\"))}),__publicField(this,\\\"addPoint\\\",(e,t,r)=>{var i,n,o=this.scribbleItems.get(e);if(o)return i=o[\\\"prev\\\"],n={x:t,y:r,z:.5},(!i||1<=Vec.Dist(i,n))&&(o.next=n),o;throw Error(\\\"Scribble with id \\\".concat(e,\\\" not found\\\"))}),__publicField(this,\\\"tick\\\",l=>{0!==this.scribbleItems.size&&this.editor.batch(()=>{this.scribbleItems.forEach(e=>{var t,r;if(\\\"starting\\\"===e.scribble.state)({next:t,prev:r}=e),t&&t!==r&&(e.prev=t,e.scribble.points.push(t)),8({...e,points:[...e.points]})).slice(-5)})})}),this.editor=e}reset(){this.editor.updateInstanceState({scribbles:[]}),this.scribbleItems.clear()}}),SideEffectManager=(init_esbuild_inject(),class{constructor(e){__publicField(this,\\\"_beforeCreateHandlers\\\",{}),__publicField(this,\\\"_afterCreateHandlers\\\",{}),__publicField(this,\\\"_beforeChangeHandlers\\\",{}),__publicField(this,\\\"_afterChangeHandlers\\\",{}),__publicField(this,\\\"_beforeDeleteHandlers\\\",{}),__publicField(this,\\\"_afterDeleteHandlers\\\",{}),__publicField(this,\\\"_batchCompleteHandlers\\\",[]),(this.editor=e).store.onBeforeCreate=(t,r)=>{var i=this._beforeCreateHandlers[t.typeName];if(i){let e=t;for(const n of i)e=n(e,r);return e}return t},e.store.onAfterCreate=(e,t)=>{var r=this._afterCreateHandlers[e.typeName];if(r)for(const i of r)i(e,t)},e.store.onBeforeChange=(t,r,i)=>{var n=this._beforeChangeHandlers[r.typeName];if(n){let e=r;for(const o of n)e=o(t,e,i);return e}return r};let o=0;e.store.onAfterChange=(e,t,r)=>{if(1e3<++o)console.error(\\\"[CleanupManager.onAfterChange] Maximum update depth exceeded, bailing out.\\\");else{var i=this._afterChangeHandlers[t.typeName];if(i)for(const n of i)n(e,t,r)}o--},e.store.onBeforeDelete=(e,t)=>{var r=this._beforeDeleteHandlers[e.typeName];if(r)for(const i of r)if(!1===i(e,t))return!1},e.store.onAfterDelete=(e,t)=>{var r=this._afterDeleteHandlers[e.typeName];if(r)for(const i of r)i(e,t)},e.history.onBatchComplete=()=>{this._batchCompleteHandlers.forEach(e=>e())}}registerBeforeCreateHandler(e,t){return this._beforeCreateHandlers[e]||(this._beforeCreateHandlers[e]=[]),this._beforeCreateHandlers[e].push(t),()=>remove(this._beforeCreateHandlers[e],t)}registerAfterCreateHandler(e,t){return this._afterCreateHandlers[e]||(this._afterCreateHandlers[e]=[]),this._afterCreateHandlers[e].push(t),()=>remove(this._afterCreateHandlers[e],t)}registerBeforeChangeHandler(e,t){return this._beforeChangeHandlers[e]||(this._beforeChangeHandlers[e]=[]),this._beforeChangeHandlers[e].push(t),()=>remove(this._beforeChangeHandlers[e],t)}registerAfterChangeHandler(e,t){return this._afterChangeHandlers[e]||(this._afterChangeHandlers[e]=[]),this._afterChangeHandlers[e].push(t),()=>remove(this._afterChangeHandlers[e],t)}registerBeforeDeleteHandler(e,t){return this._beforeDeleteHandlers[e]||(this._beforeDeleteHandlers[e]=[]),this._beforeDeleteHandlers[e].push(t),()=>remove(this._beforeDeleteHandlers[e],t)}registerAfterDeleteHandler(e,t){return this._afterDeleteHandlers[e]||(this._afterDeleteHandlers[e]=[]),this._afterDeleteHandlers[e].push(t),()=>remove(this._afterDeleteHandlers[e],t)}registerBatchCompleteHandler(e){return this._batchCompleteHandlers.push(e),()=>remove(this._batchCompleteHandlers,e)}});function remove(e,t){var r=e.indexOf(t);0<=r&&e.splice(r,1)}init_esbuild_inject(),init_esbuild_inject();var __defProp2=Object.defineProperty,__getOwnPropDesc2=Object.getOwnPropertyDescriptor,__decorateClass=(e,t,r,i)=>{for(var n,o=1{return Math.round(1e8*e)/1e8};function findAdjacentGaps(r,t,i,n,o){const a=r.filter(e=>(\\\"forward\\\"===n?e.startNode.id===t:e.endNode.id===t)&&round(e.length)===round(i)&&rangeIntersection(e.breadthIntersection[0],e.breadthIntersection[1],o[0],o[1]));if(0===a.length)return[];const s=new Set;return a.forEach(e=>{var t=(\\\"forward\\\"===n?e.endNode:e.startNode).id;s.has(t)||(s.add(t),t=findAdjacentGaps(r,t,i,n,rangeIntersection(e.breadthIntersection[0],e.breadthIntersection[1],o[0],o[1])),a.push(...t))}),a}function dedupeGapSnaps(t){t.sort((e,t)=>t.gaps.length-e.gaps.length);for(let i=t.length-1;0n.gaps.some(e=>round(t.startEdge[0].x)===round(e.startEdge[0].x)&&round(t.startEdge[0].y)===round(e.startEdge[0].y)&&round(t.startEdge[1].x)===round(e.startEdge[1].x)&&round(t.startEdge[1].y)===round(e.startEdge[1].y))&&n.gaps.some(e=>round(t.endEdge[0].x)===round(e.endEdge[0].x)&&round(t.endEdge[0].y)===round(e.endEdge[0].y)&&round(t.endEdge[1].x)===round(e.endEdge[1].x)&&round(t.endEdge[1].y)===round(e.endEdge[1].y)))){t.splice(i,1);break}}}}var BoundsSnaps=class{constructor(e){__publicField(this,\\\"editor\\\"),this.manager=e,this.editor=e.editor}getSnapPointsCache(){const t=this[\\\"editor\\\"];return t.store.createComputedCache(\\\"snapPoints\\\",n=>{const o=t.getShapePageTransform(n.id);if(o){var e=null!=(e=t.getShapeUtil(n).getBoundsSnapGeometry(n).points)?e:t.getShapeGeometry(n).bounds.cornersAndCenter;if(o&&e)return e.map((e,t)=>{var{x:r,y:i}=Mat.applyToPoint(o,e);return{x:r,y:i,id:\\\"\\\".concat(n.id,\\\":\\\").concat(t)}})}})}getSnapPoints(e){var t;return null!=(t=this.getSnapPointsCache().get(e))?t:[]}getSnappablePoints(){var e=this.getSnapPointsCache(),t=[];for(const i of this.manager.getSnappableShapes()){var r=e.get(i);r&&t.push(...r)}return t}getSnappableGapNodes(){return Array.from(this.manager.getSnappableShapes(),e=>({id:e,pageBounds:assertExists(this.editor.getShapePageBounds(e))}))}getVisibleGaps(){var t=[],r=[];let i,n;var o=this.getSnappableGapNodes().sort((e,t)=>e.pageBounds.minX-t.pageBounds.minX);for(let s=0;se.pageBounds.minY-t.pageBounds.minY);for(let l=0;l({id:\\\"selection:\\\"+r,x:e+i.x,y:t+i.y})),l=[],c=[],n=new Vec(n,n);this.collectPointSnaps({minOffset:n,nearestSnapsX:l,nearestSnapsY:c,otherNodeSnapPoints:o,selectionSnapPoints:s}),this.collectGapSnaps({selectionPageBounds:a,nearestSnapsX:l,nearestSnapsY:c,minOffset:n});const d=new Vec(\\\"x\\\"!==e&&null!=(u=null==(u=l[0])?void 0:u.nudge)?u:0,\\\"y\\\"!==e&&null!=(u=null==(u=c[0])?void 0:u.nudge)?u:0);n.x=0,n.y=0,l.length=0,c.length=0,s.forEach(e=>{e.x+=d.x,e.y+=d.y}),a.translate(d),this.collectPointSnaps({minOffset:n,nearestSnapsX:l,nearestSnapsY:c,otherNodeSnapPoints:o,selectionSnapPoints:s}),this.collectGapSnaps({selectionPageBounds:a,nearestSnapsX:l,nearestSnapsY:c,minOffset:n});var u=this.getPointSnapLines({nearestSnapsX:l,nearestSnapsY:c}),o=this.getGapSnapLines({selectionPageBounds:a,nearestSnapsX:l,nearestSnapsY:c});return this.manager.setIndicators([...o,...u]),{nudge:d}}snapResizeShapes({initialSelectionPageBounds:e,dragDelta:t,handle:r,isAspectRatioLocked:i,isResizingFromCenter:n}){var o=this.manager.getSnapThreshold(),{box:a,scaleX:s,scaleY:l}=Box.Resize(e,r,n?2*t.x:t.x,n?2*t.y:t.y,i);let c=r;s<0&&(c=flipSelectionHandleX(c)),l<0&&(c=flipSelectionHandleY(c)),n&&(a.center=e.center);var s=\\\"top\\\"===c||\\\"bottom\\\"===c,l=\\\"left\\\"===c||\\\"right\\\"===c,a=getResizeSnapPointsForHandle(c,a),d=this.getSnappablePoints(),u=[],p=[],o=new Vec(o,o),l=(this.collectPointSnaps({minOffset:o,nearestSnapsX:u,nearestSnapsY:p,otherNodeSnapPoints:d,selectionSnapPoints:a}),new Vec(!s&&null!=(s=null==(a=u[0])?void 0:a.nudge)?s:0,!l&&null!=(s=null==(a=p[0])?void 0:a.nudge)?s:0)),a=(i&&isSelectionCorner(c)&&0!==l.len()&&(a=u.length&&p.length?Math.abs(l.x)e.width&&round(Math.abs(n))<=round(t.x)&&(round(Math.abs(n))\\\"gap_center\\\"===e))&&rangeIntersection(p.breadthIntersection[0],p.breadthIntersection[1],o.gap.breadthIntersection[0],o.gap.breadthIntersection[1]),o&&o.gap.length>p.length&&a?r[r.indexOf(o)]=n:o&&a||r.push(n)),o=p.startNode.pageBounds.minX-p.length-e.maxX,round(Math.abs(o))<=round(t.x)&&(round(Math.abs(o))e.height&&round(Math.abs(s))<=round(t.y)?(round(Math.abs(s))\\\"gap_center\\\"===e))&&rangesOverlap(l.gap.breadthIntersection[0],l.gap.breadthIntersection[1],h.breadthIntersection[0],h.breadthIntersection[1]),l&&l.gap.length>h.length&&c?i[i.indexOf(l)]=s:l&&c||i.push(s)):(l=h.startNode.pageBounds.minY-h.length-e.maxY,round(Math.abs(l))<=round(t.y)&&(round(Math.abs(l))({id:uniqueId(),type:\\\"points\\\",points:dedupe(e.map(e=>Vec.From(e.otherPoint)).concat(e.map(e=>Vec.From(e.thisPoint))),(e,t)=>e.equals(t))}))}getGapSnapLines({selectionPageBounds:e,nearestSnapsX:t,nearestSnapsY:r}){var{vertical:i,horizontal:n}=this.getVisibleGaps(),o={top:e.sides[0],right:e.sides[1],bottom:[e.corners[3],e.corners[2]],left:[e.corners[0],e.corners[3]]},a=[];if(0e.clone().addXY(-m.pageBounds.width,0))},{startEdge:h,endEdge:f},...findAdjacentGaps(n,g.id,_,\\\"forward\\\",s)]:[...findAdjacentGaps(n,m.id,_,\\\"backward\\\",s),{startEdge:h,endEdge:f},{startEdge:f.map(e=>e.clone().addXY(u.gap.endNode.pageBounds.width,0)),endEdge:o.left}]})}}if(0e.clone().addXY(0,-y.pageBounds.height))},{startEdge:x,endEdge:I},...findAdjacentGaps(i,S.id,w,\\\"forward\\\",c)]:[...findAdjacentGaps(i,y.id,w,\\\"backward\\\",c),{startEdge:x,endEdge:I},{startEdge:I.map(e=>e.clone().addXY(0,S.pageBounds.height)),endEdge:o.top}]})}}return dedupeGapSnaps(a),a}};function getResizeSnapPointsForHandle(e,t){var{minX:r,maxX:i,minY:n,maxY:o}=t,a=[];switch(e){case\\\"top\\\":case\\\"left\\\":case\\\"top_left\\\":case\\\"any\\\":a.push({id:\\\"top_left\\\",handle:\\\"top_left\\\",x:r,y:n})}switch(e){case\\\"top\\\":case\\\"right\\\":case\\\"top_right\\\":case\\\"any\\\":a.push({id:\\\"top_right\\\",handle:\\\"top_right\\\",x:i,y:n})}switch(e){case\\\"bottom\\\":case\\\"right\\\":case\\\"bottom_right\\\":case\\\"any\\\":a.push({id:\\\"bottom_right\\\",handle:\\\"bottom_right\\\",x:i,y:o})}switch(e){case\\\"bottom\\\":case\\\"left\\\":case\\\"bottom_left\\\":case\\\"any\\\":a.push({id:\\\"bottom_left\\\",handle:\\\"bottom_left\\\",x:r,y:o})}return a}__decorateClass([computed],BoundsSnaps.prototype,\\\"getSnapPointsCache\\\",1),__decorateClass([computed],BoundsSnaps.prototype,\\\"getSnappablePoints\\\",1),__decorateClass([computed],BoundsSnaps.prototype,\\\"getSnappableGapNodes\\\",1),__decorateClass([computed],BoundsSnaps.prototype,\\\"getVisibleGaps\\\",1),init_esbuild_inject();var __defProp3=Object.defineProperty,__getOwnPropDesc3=Object.getOwnPropertyDescriptor,__decorateClass2=(e,t,r,i)=>{for(var n,o=1null,defaultGetSelfSnapPoints=()=>[],HandleSnaps=class{constructor(e){__publicField(this,\\\"editor\\\"),this.manager=e,this.editor=e.editor}getSnapGeometryCache(){const i=this[\\\"editor\\\"];return i.store.createComputedCache(\\\"handle snap geometry\\\",e=>{var t,r=i.getShapeUtil(e).getHandleSnapGeometry(e);return{outline:void 0===r.outline?i.getShapeGeometry(e):r.outline,points:null!=(t=r.points)?t:[],getSelfSnapOutline:null!=(t=r.getSelfSnapOutline)?t:defaultGetSelfSnapOutline,getSelfSnapPoints:null!=(t=r.getSelfSnapPoints)?t:defaultGetSelfSnapPoints}})}*iterateSnapPointsInPageSpace(e,t){var r=null==(r=this.getSnapGeometryCache().get(e))?void 0:r.getSelfSnapPoints(t);if(r&&r.length){var i=assertExists(this.editor.getShapePageTransform(e));for(const a of r)yield i.applyToPoint(a)}for(const s of this.manager.getSnappableShapes())if(s!==e){var n=null==(n=this.getSnapGeometryCache().get(s))?void 0:n.points;if(n&&n.length){var o=assertExists(this.editor.getShapePageTransform(s));for(const l of n)yield o.applyToPoint(l)}}}*iterateSnapOutlines(e,t){var r,i=null==(i=this.getSnapGeometryCache().get(e))?void 0:i.getSelfSnapOutline(t);i&&(yield{shapeId:e,outline:i});for(const n of this.manager.getSnappableShapes())n!==e&&(r=null==(r=this.getSnapGeometryCache().get(n))?void 0:r.outline)&&(yield{shapeId:n,outline:r})}getHandleSnapPosition({currentShapeId:e,handle:t,handleInPageSpace:r}){var i,n,o=this.manager.getSnapThreshold();let a=o,s=null;for(const p of this.iterateSnapPointsInPageSpace(e,t))Vec.DistMin(r,p,a)&&(a=Vec.Dist(r,p),s=p);if(s)return s;let l=o,c=null;for({shapeId:i,outline:n}of this.iterateSnapOutlines(e,t)){var d=assertExists(this.editor.getShapePageTransform(i)),u=this.editor.getPointInShapeSpace(i,r),u=n.nearestPoint(u),u=d.applyToPoint(u);Vec.DistMin(r,u,l)&&(l=Vec.Dist(r,u),c=u)}return c||null}snapHandle({currentShapeId:e,handle:t}){var r=assertExists(this.editor.getShapePageTransform(e)).applyToPoint(t),i=this.getHandleSnapPosition({currentShapeId:e,handle:t,handleInPageSpace:r});return i?(this.manager.setIndicators([{id:uniqueId(),type:\\\"points\\\",points:[i]}]),{nudge:Vec.Sub(i,r)}):null}},__defProp4=(__decorateClass2([computed],HandleSnaps.prototype,\\\"getSnapGeometryCache\\\",1),Object.defineProperty),__getOwnPropDesc4=Object.getOwnPropertyDescriptor,__decorateClass3=(e,t,r,i)=>{for(var n,o=1{isShapeId(e)&&(i=o.getShape(e))&&o.isShapeOfType(i,\\\"frame\\\")&&l.add(e);var t,r,i=o.getSortedChildIdsForParent(e);for(const n of i)s.includes(n)||(t=o.getShape(n))&&o.getShapeUtil(t).canSnap(t)&&(r=o.getShapePageBounds(n))&&a.includes(r)&&(o.isShapeOfType(t,\\\"group\\\")?c(n):l.add(n))};return c(null!=(e=this.getCurrentCommonAncestor())?e:o.getCurrentPageId()),l}getCurrentCommonAncestor(){return this.editor.findCommonAncestor(this.editor.getSelectedShapes())}},fixNewLines=(__decorateClass3([computed],SnapManager.prototype,\\\"getSnapThreshold\\\",1),__decorateClass3([computed],SnapManager.prototype,\\\"getSnappableShapes\\\",1),__decorateClass3([computed],SnapManager.prototype,\\\"getCurrentCommonAncestor\\\",1),init_esbuild_inject(),/\\\\r?\\\\n|\\\\r/g);function normalizeTextForDom(e){return e.replace(fixNewLines,\\\"\\\\n\\\").split(\\\"\\\\n\\\").map(e=>e||\\\" \\\").join(\\\"\\\\n\\\")}var textAlignmentsForLtr={start:\\\"left\\\",\\\"start-legacy\\\":\\\"left\\\",middle:\\\"center\\\",\\\"middle-legacy\\\":\\\"center\\\",end:\\\"right\\\",\\\"end-legacy\\\":\\\"right\\\"},spaceCharacterRegex=/\\\\s/,TextManager=class{constructor(e){__publicField(this,\\\"baseElm\\\"),__publicField(this,\\\"measureText\\\",(e,t)=>{var r=null==(r=this.baseElm)?void 0:r.cloneNode(),i=(this.baseElm.insertAdjacentElement(\\\"afterend\\\",r),r.setAttribute(\\\"dir\\\",\\\"ltr\\\"),r.style.setProperty(\\\"font-family\\\",t.fontFamily),r.style.setProperty(\\\"font-style\\\",t.fontStyle),r.style.setProperty(\\\"font-weight\\\",t.fontWeight),r.style.setProperty(\\\"font-size\\\",t.fontSize+\\\"px\\\"),r.style.setProperty(\\\"line-height\\\",t.lineHeight*t.fontSize+\\\"px\\\"),r.style.setProperty(\\\"max-width\\\",null===t.maxWidth?null:t.maxWidth+\\\"px\\\"),r.style.setProperty(\\\"min-width\\\",null===t.minWidth?null:t.minWidth+\\\"px\\\"),r.style.setProperty(\\\"padding\\\",t.padding),r.style.setProperty(\\\"overflow-wrap\\\",t.disableOverflowWrapBreaking?\\\"normal\\\":\\\"break-word\\\"),r.textContent=normalizeTextForDom(e),r.scrollWidth),n=r.getBoundingClientRect();return r.remove(),{x:0,y:0,w:n.width,h:n.height,scrollWidth:i}}),this.editor=e;var t=this.editor.getContainer(),r=(null!=(r=t.querySelector(\\\"#tldraw_text_measure\\\"))&&r.remove(),document.createElement(\\\"div\\\"));r.id=\\\"tldraw_text_measure\\\",r.classList.add(\\\"tl-text\\\"),r.classList.add(\\\"tl-text-measure\\\"),r.tabIndex=-1,t.appendChild(r),this.baseElm=r}measureElementTextNodeSpans(e,{shouldTruncateToFirstLine:t=!1}={}){var r,i=[],n=e.getBoundingClientRect(),o=-n.left,a=-n.top,s=new Range,l=e.childNodes[0];let c=0,d=null,u=null,p=0,h=!1;for(const v of e.childNodes)if(v.nodeType===Node.TEXT_NODE)for(const x of null!=(r=v.textContent)?r:\\\"\\\"){s.setStart(l,c),s.setEnd(l,c+x.length);var m=s.getClientRects(),m=m[m.length-1],g=m.top+a,_=m.left+o,f=m.right+o,b=spaceCharacterRegex.test(x);if(b===u&&g===p&&d)d.box.w=f-d.box.x,d.text+=x;else{if(d){if(t&&g!==p){h=!0;break}i.push(d)}d={box:{x:_,y:g,w:m.width,h:m.height},text:x}}u=b,p=g,c+=x.length}return d&&i.push(d),{spans:i,didTruncate:h}}measureTextSpans(e,t){var r,i,n,o,a;return\\\"\\\"===e?[]:(r=null==(r=this.baseElm)?void 0:r.cloneNode(),this.baseElm.insertAdjacentElement(\\\"afterend\\\",r),o=Math.ceil(t.width-2*t.padding),r.style.setProperty(\\\"width\\\",\\\"\\\".concat(o,\\\"px\\\")),r.style.setProperty(\\\"height\\\",\\\"min-content\\\"),r.style.setProperty(\\\"dir\\\",\\\"ltr\\\"),r.style.setProperty(\\\"font-size\\\",\\\"\\\".concat(t.fontSize,\\\"px\\\")),r.style.setProperty(\\\"font-family\\\",t.fontFamily),r.style.setProperty(\\\"font-weight\\\",t.fontWeight),r.style.setProperty(\\\"line-height\\\",\\\"\\\".concat(t.lineHeight*t.fontSize,\\\"px\\\")),r.style.setProperty(\\\"text-align\\\",textAlignmentsForLtr[t.textAlign]),(i=\\\"truncate-ellipsis\\\"===t.overflow||\\\"truncate-clip\\\"===t.overflow)&&(r.style.setProperty(\\\"overflow-wrap\\\",\\\"anywhere\\\"),r.style.setProperty(\\\"word-break\\\",\\\"break-all\\\")),a=normalizeTextForDom(e),({spans:i,didTruncate:n}=(r.textContent=a,this.measureElementTextNodeSpans(r,{shouldTruncateToFirstLine:i}))),\\\"truncate-ellipsis\\\"===t.overflow&&n?(r.textContent=\\\"…\\\",n=Math.ceil(this.measureElementTextNodeSpans(r).spans[0].box.w),r.style.setProperty(\\\"width\\\",\\\"\\\".concat(o-n,\\\"px\\\")),r.textContent=a,a=(o=this.measureElementTextNodeSpans(r,{shouldTruncateToFirstLine:!0}).spans)[o.length-1],o.push({text:\\\"…\\\",box:{x:Math.min(a.box.x+a.box.w,t.width-t.padding-n),y:a.box.y,w:n,h:a.box.h}}),o):(r.remove(),i))}},throttleToNextFrame2=(init_esbuild_inject(),throttleToNextFrame),TickManager=class{constructor(e){__publicField(this,\\\"cancelRaf\\\"),__publicField(this,\\\"isPaused\\\",!0),__publicField(this,\\\"now\\\",0),__publicField(this,\\\"start\\\",()=>{var e;this.isPaused=!1,null!=(e=this.cancelRaf)&&e.call(this),this.cancelRaf=throttleToNextFrame2(this.tick),this.now=Date.now()}),__publicField(this,\\\"tick\\\",()=>{var e,t;this.isPaused||(t=(e=Date.now())-this.now,this.now=e,this.updatePointerVelocity(t),this.editor.emit(\\\"frame\\\",t),this.editor.emit(\\\"tick\\\",t),this.cancelRaf=throttleToNextFrame2(this.tick))}),__publicField(this,\\\"dispose\\\",()=>{var e;this.isPaused=!0,null!=(e=this.cancelRaf)&&e.call(this)}),__publicField(this,\\\"prevPoint\\\",new Vec),__publicField(this,\\\"updatePointerVelocity\\\",e=>{var{prevPoint:t,editor:{inputs:{currentScreenPoint:r,pointerVelocity:i}}}=this;0===e||(t=Vec.Sub(r,t),this.prevPoint=r.clone(),t=(r=t.len())?t.div(r):new Vec(0,0),r=i.clone().lrp(t.mul(r/e),.5),Math.abs(r.x)<.01&&(r.x=0),Math.abs(r.y)<.01&&(r.y=0),i.equals(r))||(this.editor.inputs.pointerVelocity=r)}),this.editor=e,this.editor.disposables.add(this.dispose),this.start()}},__defProp5=(init_esbuild_inject(),Object.defineProperty),__getOwnPropDesc5=Object.getOwnPropertyDescriptor,__decorateClass4=(e,t,r,i)=>{for(var n,o=1{this.user.setUserPreferences({...this.user.userPreferences.get(),...e})}),this.user=e,this.inferDarkMode=t}getUserPreferences(){return{id:this.getId(),name:this.getName(),locale:this.getLocale(),color:this.getColor(),animationSpeed:this.getAnimationSpeed(),isSnapMode:this.getIsSnapMode(),isDarkMode:this.getIsDarkMode(),isWrapMode:this.getIsWrapMode()}}getIsDarkMode(){var e;return null!=(e=this.user.userPreferences.get().isDarkMode)?e:!!this.inferDarkMode&&userPrefersDarkUI()}getEdgeScrollSpeed(){var e;return null!=(e=this.user.userPreferences.get().edgeScrollSpeed)?e:defaultUserPreferences.edgeScrollSpeed}getAnimationSpeed(){var e;return null!=(e=this.user.userPreferences.get().animationSpeed)?e:defaultUserPreferences.animationSpeed}getId(){return this.user.userPreferences.get().id}getName(){var e;return null!=(e=this.user.userPreferences.get().name)?e:defaultUserPreferences.name}getLocale(){var e;return null!=(e=this.user.userPreferences.get().locale)?e:defaultUserPreferences.locale}getColor(){var e;return null!=(e=this.user.userPreferences.get().color)?e:defaultUserPreferences.color}getIsSnapMode(){var e;return null!=(e=this.user.userPreferences.get().isSnapMode)?e:defaultUserPreferences.isSnapMode}getIsWrapMode(){var e;return null!=(e=this.user.userPreferences.get().isWrapMode)?e:defaultUserPreferences.isWrapMode}};function getIsArrowStraight(e){return Math.abs(e.props.bend)<8}function getBoundShapeInfoForTerminal(e,t){var r,i,n,o;if(\\\"point\\\"!==t.type)return r=e.getShape(t.boundShapeId),i=e.getShapePageTransform(r),o=((n=e.getShapeGeometry(r))instanceof Group2d?n.children[0]:n).vertices,{shape:r,transform:i,isClosed:n.isClosed,isExact:t.isExact,didIntersect:!1,outline:o}}function getArrowTerminalInArrowSpace(e,t,r,i){var n,o,a;return\\\"point\\\"===r.type?Vec.From(r):(n=e.getShape(r.boundShapeId))?(({point:o,size:a}=e.getShapeGeometry(n).bounds),o=Vec.Add(o,Vec.MulV(r.isPrecise||i?r.normalizedAnchor:{x:.5,y:.5},a)),a=Mat.applyToPoint(e.getShapePageTransform(n),o),Mat.applyToPoint(Mat.Inverse(t),a)):new Vec(0,0)}function getArrowTerminalsInArrowSpace(e,t){var r=e.getShapePageTransform(t);let i,n;\\\"binding\\\"===t.props.start.type&&\\\"binding\\\"===t.props.end.type&&(i=t.props.start.boundShapeId,n=t.props.end.boundShapeId);var o=getBoundShapeRelationships(e,i,n);return{start:getArrowTerminalInArrowSpace(e,r,t.props.start,\\\"double-bound\\\"===o||\\\"start-contains-end\\\"===o),end:getArrowTerminalInArrowSpace(e,r,t.props.end,\\\"double-bound\\\"===o||\\\"end-contains-start\\\"===o)}}__decorateClass4([computed],UserPreferencesManager.prototype,\\\"getUserPreferences\\\",1),__decorateClass4([computed],UserPreferencesManager.prototype,\\\"getIsDarkMode\\\",1),__decorateClass4([computed],UserPreferencesManager.prototype,\\\"getEdgeScrollSpeed\\\",1),__decorateClass4([computed],UserPreferencesManager.prototype,\\\"getAnimationSpeed\\\",1),__decorateClass4([computed],UserPreferencesManager.prototype,\\\"getId\\\",1),__decorateClass4([computed],UserPreferencesManager.prototype,\\\"getName\\\",1),__decorateClass4([computed],UserPreferencesManager.prototype,\\\"getLocale\\\",1),__decorateClass4([computed],UserPreferencesManager.prototype,\\\"getColor\\\",1),__decorateClass4([computed],UserPreferencesManager.prototype,\\\"getIsSnapMode\\\",1),__decorateClass4([computed],UserPreferencesManager.prototype,\\\"getIsWrapMode\\\",1),init_esbuild_inject(),init_esbuild_inject();var MIN_ARROW_LENGTH=10,BOUND_ARROW_OFFSET=10,WAY_TOO_BIG_ARROW_BEND_FACTOR=10,STROKE_SIZES={s:2,m:3.5,l:5,xl:10};function getBoundShapeRelationships(e,t,r){if(t&&r){if(t===r)return\\\"double-bound\\\";var i=e.getShapePageBounds(t),n=e.getShapePageBounds(r);if(i&&n){if(i.contains(n))return\\\"start-contains-end\\\";if(n.contains(i))return\\\"end-contains-start\\\"}}return\\\"safe\\\"}function getStraightArrowInfo(e,t){var{start:r,end:i,arrowheadStart:n,arrowheadEnd:o}=t.props,a=getArrowTerminalsInArrowSpace(e,t),s=a.start.clone(),l=a.end.clone(),c=Vec.Med(s,l);if(Vec.Equals(s,l))return{isStraight:!0,start:{handle:s,point:s,arrowhead:t.props.arrowheadStart},end:{handle:l,point:l,arrowhead:t.props.arrowheadEnd},middle:c,isValid:!1,length:0};var d=Vec.Sub(l,s).uni(),r=getBoundShapeInfoForTerminal(e,r),i=getBoundShapeInfoForTerminal(e,i),u=e.getShapePageTransform(t);updateArrowheadPointWithBoundShape(l,a.start,u,i),updateArrowheadPointWithBoundShape(s,a.end,u,r);let p=0,h=0;let m=MIN_ARROW_LENGTH;var u=r&&i&&r.shape===i.shape,g=r&&i?getBoundShapeRelationships(e,r.shape.id,i.shape.id):\\\"safe\\\",_=(\\\"safe\\\"!==g||!r||!i||u||r.isExact||i.isExact||(i.didIntersect&&!r.didIntersect?r.isClosed&&s.setTo(l.clone().add(d.clone().mul(MIN_ARROW_LENGTH))):i.didIntersect||i.isClosed&&l.setTo(s.clone().sub(d.clone().mul(MIN_ARROW_LENGTH)))),Vec.Sub(l,s)),_=Vec.Len(_)?_.uni():Vec.From(_),d=!Vec.Equals(_,d),u=(u||(\\\"start-contains-end\\\"!==g&&r&&\\\"none\\\"!==n&&!r.isExact&&(u=STROKE_SIZES[t.props.size]/2+(\\\"size\\\"in r.shape.props?STROKE_SIZES[r.shape.props.size]/2:0),p=BOUND_ARROW_OFFSET+u,m+=u),\\\"end-contains-start\\\"!==g&&i&&\\\"none\\\"!==o&&!i.isExact&&(n=STROKE_SIZES[t.props.size]/2+(\\\"size\\\"in i.shape.props?STROKE_SIZES[i.shape.props.size]/2:0),h=BOUND_ARROW_OFFSET+n,m+=n)),s.clone().add(_.clone().mul(p*(d?-1:1)))),g=l.clone().sub(_.clone().mul(h*(d?-1:1))),o=(Vec.DistMin(u,g,m)&&(0!==p&&0!==h?(p*=-1.5,h*=-1.5):0!==p?p*=-1:0!==h&&(h*=-1)),s.add(_.clone().mul(p*(d?-1:1))),l.sub(_.clone().mul(h*(d?-1:1))),d?(r&&i&&l.setTo(Vec.Add(s,_.clone().mul(-MIN_ARROW_LENGTH))),c.setTo(Vec.Med(a.start,a.end))):c.setTo(Vec.Med(s,l)),Vec.Dist(s,l));return{isStraight:!0,start:{handle:a.start,point:s,arrowhead:t.props.arrowheadStart},end:{handle:a.end,point:l,arrowhead:t.props.arrowheadEnd},middle:c,isValid:0Vec.Dist2(e,l)-Vec.Dist2(t,l))[0])?s:a?void 0:o:e)&&(s=Mat.applyToPoint(n.transform,e),a=Mat.applyToPoint(Mat.Inverse(i),s),t.setTo(a),n.didIntersect=!0)}}function getCurvedArrowInfo(r,i,e=0){var{arrowheadEnd:n,arrowheadStart:o}=i.props,a=i.props.bend+e;if(Math.abs(a)>Math.abs(i.props.bend*WAY_TOO_BIG_ARROW_BEND_FACTOR))return getStraightArrowInfo(r,i);var t=getArrowTerminalsInArrowSpace(r,i),s=Vec.Med(t.start,t.end),l=Vec.Sub(t.end,t.start),l=Vec.Len(l)?l.uni():Vec.From(l),s=Vec.Add(s,l.per().mul(-a)),l=getBoundShapeInfoForTerminal(r,i.props.start),a=getBoundShapeInfoForTerminal(r,i.props.end),c=t.start.clone(),d=t.end.clone(),s=s.clone();if(Vec.Equals(c,d))return{isStraight:!0,start:{handle:c,point:c,arrowhead:i.props.arrowheadStart},end:{handle:d,point:d,arrowhead:i.props.arrowheadEnd},middle:s,isValid:!1,length:0};var u=i.props.bend<0;const p=u?clockwiseAngleDist:counterClockwiseAngleDist;var h=getArcInfo(c,d,s),m=Vec.Angle(h.center,c),g=Vec.Angle(h.center,d),g=p(m,g);if(0===h.length||0===h.size||!isSafeFloat(h.length)||!isSafeFloat(h.size))return getStraightArrowInfo(r,i);var _=c.clone(),f=d.clone(),b=s.clone(),v=r.getShapePageTransform(i);let x=0,y=0,S=MIN_ARROW_LENGTH;if(l&&!l.isExact){var w=Mat.applyToPoint(v,_),I=Mat.applyToPoint(v,h.center),j=Mat.applyToPoint(v,f),T=Mat.Inverse(l.transform),w=Mat.applyToPoint(T,w);const E=Mat.applyToPoint(T,I);var I=Mat.applyToPoint(T,j),T=l[\\\"isClosed\\\"];let e,t=(T?intersectCirclePolygon:intersectCirclePolyline)(E,h.radius,l.outline);if(t){const P=E.angle(w);var j=E.angle(I);const C=p(P,j),$=(t=t.filter(e=>p(P,E.angle(e))<=C),.25*C);t.sort(T?(e,t)=>Math.abs(p(P,E.angle(e))-$)p(P,E.angle(e))p(k,M.angle(e))<=A)).sort(I?(e,t)=>Math.abs(p(k,M.angle(e))-D)p(k,M.angle(e))p(m,j))&&(n=Math.min(.9,MIN_ARROW_LENGTH/I)*(u?1:-1),o=Vec.FromAngle(T+w*n),f.setTo(h.center).add(o.mul(h.radius)))),placeCenterHandle(h.center,h.radius,_,f,b,g,u),_.equals(f)&&(_.setTo(b.clone().addXY(1,1)),f.setTo(b.clone().subXY(1,1))),c.setTo(_),d.setTo(f),s.setTo(b),getArcInfo(c,d,s));return{isStraight:!1,start:{point:c,handle:t.start,arrowhead:i.props.arrowheadStart},end:{point:d,handle:t.end,arrowhead:i.props.arrowheadEnd},middle:s,handleArc:h,bodyArc:v,isValid:0!==v.length&&isFinite(v.center.x)&&isFinite(v.center.y)}}function getArcInfo(e,t,r){var i=-2*(e.x*(t.y-r.y)-e.y*(t.x-r.x)+t.x*r.y-r.x*t.y),i={x:((e.x*e.x+e.y*e.y)*(r.y-t.y)+(t.x*t.x+t.y*t.y)*(e.y-r.y)+(r.x*r.x+r.y*r.y)*(t.y-e.y))/i,y:((e.x*e.x+e.y*e.y)*(t.x-r.x)+(t.x*t.x+t.y*t.y)*(r.x-e.x)+(r.x*r.x+r.y*r.y)*(e.x-t.x))/i},n=Vec.Dist(i,e),o=+Vec.Clockwise(e,r,t),a=((e.y-t.y)**2+(e.x-t.x)**2)**.5,s=((t.y-r.y)**2+(t.x-r.x)**2)**.5,l=((r.y-e.y)**2+(r.x-e.x)**2)**.5,a=2*Math.acos((s*s+l*l-a*a)/(2*s*l)),s=(PI2-a)*(o?1:-1);return{center:i,radius:n,size:s,length:s*n,largeArcFlag:+(ao&&(n.rotWith(e,PI),s=i.clone(),i.setTo(r),r.setTo(s))}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var EVENT_NAME_MAP={wheel:\\\"onWheel\\\",pointer_down:\\\"onPointerDown\\\",pointer_move:\\\"onPointerMove\\\",long_press:\\\"onLongPress\\\",pointer_up:\\\"onPointerUp\\\",right_click:\\\"onRightClick\\\",middle_click:\\\"onMiddleClick\\\",key_down:\\\"onKeyDown\\\",key_up:\\\"onKeyUp\\\",key_repeat:\\\"onKeyRepeat\\\",cancel:\\\"onCancel\\\",complete:\\\"onComplete\\\",interrupt:\\\"onInterrupt\\\",double_click:\\\"onDoubleClick\\\",triple_click:\\\"onTripleClick\\\",quadruple_click:\\\"onQuadrupleClick\\\",tick:\\\"onTick\\\"},StateNode=class{constructor(e,t){__publicField(this,\\\"id\\\"),__publicField(this,\\\"type\\\"),__publicField(this,\\\"shapeType\\\"),__publicField(this,\\\"initial\\\"),__publicField(this,\\\"children\\\"),__publicField(this,\\\"parent\\\"),__publicField(this,\\\"_path\\\"),__publicField(this,\\\"_current\\\"),__publicField(this,\\\"_isActive\\\"),__publicField(this,\\\"transition\\\",(e,t={})=>{var r=e.split(\\\".\\\");let i=this;for(let s=0;s{var t=EVENT_NAME_MAP[e.name],r=this._current.__unsafe__getWithoutCapture();null!=(t=this[t])&&t.call(this,e),this._isActive.__unsafe__getWithoutCapture()&&r&&r===this._current.__unsafe__getWithoutCapture()&&r.handleEvent(e)}),__publicField(this,\\\"enter\\\",(e,t)=>{var r;this._isActive.set(!0),null!=(r=this.onEnter)&&r.call(this,e,t),this.children&&this.initial&&this.getIsActive()&&(r=this.children[this.initial],this._current.set(r),r.enter(e,t))}),__publicField(this,\\\"exit\\\",(e,t)=>{var r;this._isActive.set(!1),null!=(r=this.onExit)&&r.call(this,e,t),this.getIsActive()||null!=(r=this.getCurrent())&&r.exit(e,t)}),__publicField(this,\\\"_currentToolIdMask\\\",atom(\\\"curent tool id mask\\\",void 0)),__publicField(this,\\\"onWheel\\\"),__publicField(this,\\\"onPointerDown\\\"),__publicField(this,\\\"onPointerMove\\\"),__publicField(this,\\\"onLongPress\\\"),__publicField(this,\\\"onPointerUp\\\"),__publicField(this,\\\"onDoubleClick\\\"),__publicField(this,\\\"onTripleClick\\\"),__publicField(this,\\\"onQuadrupleClick\\\"),__publicField(this,\\\"onRightClick\\\"),__publicField(this,\\\"onMiddleClick\\\"),__publicField(this,\\\"onKeyDown\\\"),__publicField(this,\\\"onKeyUp\\\"),__publicField(this,\\\"onKeyRepeat\\\"),__publicField(this,\\\"onCancel\\\"),__publicField(this,\\\"onComplete\\\"),__publicField(this,\\\"onInterrupt\\\"),__publicField(this,\\\"onTick\\\"),__publicField(this,\\\"onEnter\\\"),__publicField(this,\\\"onExit\\\"),this.editor=e;var{id:r,children:i,initial:n}=this.constructor;this.id=r,this._isActive=atom(\\\"toolIsActive\\\"+this.id,!1),this._current=atom(\\\"toolState\\\"+this.id,void 0),this._path=computed(\\\"toolPath\\\"+this.id,()=>{var e=this.getCurrent();return this.id+(e?\\\".\\\".concat(e.getPath()):\\\"\\\")}),this.parent=null!=t?t:{},this.parent?i&&n?(this.type=\\\"branch\\\",this.initial=n,this.children=Object.fromEntries(i().map(e=>[e.id,new e(this.editor,this)])),this._current.set(this.children[this.initial])):this.type=\\\"leaf\\\":(this.type=\\\"root\\\",i&&n&&(this.initial=n,this.children=Object.fromEntries(i().map(e=>[e.id,new e(this.editor,this)])),this._current.set(this.children[this.initial])))}getPath(){return this._path.get()}getCurrent(){return this._current.get()}getIsActive(){return this._isActive.get()}getCurrentToolIdMask(){return this._currentToolIdMask.get()}setCurrentToolIdMask(e){this._currentToolIdMask.set(e)}},RootState=(__publicField(StateNode,\\\"id\\\"),__publicField(StateNode,\\\"initial\\\"),__publicField(StateNode,\\\"children\\\"),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"onKeyDown\\\",e=>{var t,r;\\\"KeyZ\\\"!==e.code||e.shiftKey||e.ctrlKey||(r=this.getCurrent())&&\\\"idle\\\"===(null==(t=r.getCurrent())?void 0:t.id)&&this.children.zoom&&this.editor.setCurrentTool(\\\"zoom\\\",{...e,onInteractionEnd:r.id})})}}),__defProp6=(__publicField(RootState,\\\"id\\\",\\\"root\\\"),__publicField(RootState,\\\"initial\\\",\\\"\\\"),__publicField(RootState,\\\"children\\\",()=>[]),Object.defineProperty),__getOwnPropDesc6=Object.getOwnPropertyDescriptor,__decorateClass5=(e,t,r,i)=>{for(var n,o=1{this.annotateError(e,{origin:\\\"history.batch\\\",willCrashApp:!0}),this.crash(e)})),__publicField(this,\\\"_crashingError\\\",null),__publicField(this,\\\"_updateInstanceState\\\",this.history.createCommand(\\\"updateInstanceState\\\",(e,t)=>{var r=this.store.get(this.getInstanceState().id);return{data:{prev:r,next:{...r,...e}},ephemeral:!1,squashing:!1,...t}},{\\\"do\\\":({next:e})=>{this.store.put([e])},undo:({prev:e})=>{this.store.put([e])},squash({prev:e},{next:t}){return{prev:e,next:t}}})),__publicField(this,\\\"_isChangingStyleTimeout\\\",-1),__publicField(this,\\\"setCursor\\\",e=>(this.updateInstanceState({cursor:{...this.getInstanceState().cursor,...e}},{ephemeral:!0}),this)),__publicField(this,\\\"_setInstancePageState\\\",this.history.createCommand(\\\"setInstancePageState\\\",(e,t)=>{var r;return{data:{prev:this.store.get(null!=(r=e.id)?r:this.getCurrentPageState().id),partial:e},...t}},{\\\"do\\\":({prev:e,partial:t})=>{this.store.update(e.id,e=>({...e,...t}))},undo:({prev:e})=>{this.store.update(e.id,()=>e)}})),__publicField(this,\\\"_setSelectedShapes\\\",this.history.createCommand(\\\"setSelectedShapes\\\",(e,t)=>{var r=this.getCurrentPageState()[\\\"selectedShapeIds\\\"];const i=new Set(r);return e.length===i.size&&e.every(e=>i.has(e))?null:{data:{selectedShapeIds:e,prevSelectedShapeIds:r},preservesRedoStack:!0,...t}},{\\\"do\\\":({selectedShapeIds:e})=>{this.store.put([{...this.getCurrentPageState(),selectedShapeIds:e}])},undo:({prevSelectedShapeIds:e})=>{this.store.put([{...this.getCurrentPageState(),selectedShapeIds:e}])},squash({prevSelectedShapeIds:e},{selectedShapeIds:t}){return{selectedShapeIds:t,prevSelectedShapeIds:e}}})),__publicField(this,\\\"_setFocusedGroupId\\\",this.history.createCommand(\\\"setFocusedGroupId\\\",e=>{var t=this.getCurrentPageState().focusedGroupId;if(t!==e)return{data:{prev:t,next:e},preservesRedoStack:!0,squashing:!0}},{\\\"do\\\":({next:t})=>{this.store.update(this.getCurrentPageState().id,e=>({...e,focusedGroupId:t}))},undo:({prev:t})=>{this.store.update(this.getCurrentPageState().id,e=>({...e,focusedGroupId:t}))},squash({prev:e},{next:t}){return{prev:e,next:t}}})),__publicField(this,\\\"_viewportAnimation\\\",null),__publicField(this,\\\"_willSetInitialBounds\\\",!0),__publicField(this,\\\"_wasInset\\\",!1),__publicField(this,\\\"_cameraState\\\",atom(\\\"camera state\\\",\\\"idle\\\")),__publicField(this,\\\"_cameraStateTimeoutRemaining\\\",0),__publicField(this,\\\"_lastUpdateRenderingBoundsTimestamp\\\",Date.now()),__publicField(this,\\\"_decayCameraStateTimeout\\\",e=>{this._cameraStateTimeoutRemaining-=e,this._cameraStateTimeoutRemaining<=0&&(this.off(\\\"tick\\\",this._decayCameraStateTimeout),this._cameraState.set(\\\"idle\\\"),this.updateRenderingBounds())}),__publicField(this,\\\"_tickCameraState\\\",()=>{this._cameraStateTimeoutRemaining=CAMERA_MOVING_TIMEOUT;var e=Date.now();\\\"idle\\\"===this._cameraState.__unsafe__getWithoutCapture()&&(this._lastUpdateRenderingBoundsTimestamp=e,this._cameraState.set(\\\"moving\\\"),this.on(\\\"tick\\\",this._decayCameraStateTimeout))}),__publicField(this,\\\"_renderingBounds\\\",atom(\\\"rendering viewport\\\",new Box)),__publicField(this,\\\"renderingBoundsMargin\\\",100),__publicField(this,\\\"_currentPageShapeIds\\\"),__publicField(this,\\\"_setCurrentPageId\\\",this.history.createCommand(\\\"setCurrentPage\\\",(e,t)=>{if(this.store.has(e))return this.stopFollowingUser(),{data:{toId:e,fromId:this.getCurrentPageId()},squashing:!0,preservesRedoStack:!0,...t};console.error(\\\"Tried to set the current page id to a page that doesn't exist.\\\")},{\\\"do\\\":({toId:t})=>{var e;this.store.has(t)&&(this.getPageStates().find(e=>e.pageId===t)||(e=CameraRecordType.create({id:CameraRecordType.createId(t)}),this.store.put([e,InstancePageStateRecordType.create({id:InstancePageStateRecordType.createId(t),pageId:t})])),this.store.put([{...this.getInstanceState(),currentPageId:t}]),this.updateRenderingBounds())},undo:({fromId:e})=>{this.store.has(e)&&(this.store.put([{...this.getInstanceState(),currentPageId:e}]),this.updateRenderingBounds())},squash:({fromId:e},{toId:t})=>({toId:t,fromId:e})})),__publicField(this,\\\"_updatePage\\\",this.history.createCommand(\\\"updatePage\\\",(e,t)=>{var r;return!this.getInstanceState().isReadonly&&(r=this.getPage(e.id))?{data:{prev:r,partial:e},...t}:null},{\\\"do\\\":({partial:t})=>{this.store.update(t.id,e=>({...e,...t}))},undo:({prev:e,partial:t})=>{this.store.update(t.id,()=>e)},squash(e,t){return{prev:{...e.prev,...t.prev},partial:t.partial}}})),__publicField(this,\\\"_createPage\\\",this.history.createCommand(\\\"createPage\\\",e=>{if(this.getInstanceState().isReadonly)return null;if(this.getPages().length>=MAX_PAGES)return null;var t=this.getPages(),r=getIncrementedName(null!=(r=e.name)?r:\\\"Page 1\\\",t.map(e=>e.name));let i=e.index;i&&!t.some(e=>e.index===i)||(i=getIndexAbove(t[t.length-1].index));t=PageRecordType.create({meta:{},...e,name:r,index:i}),r=CameraRecordType.create({id:CameraRecordType.createId(t.id)});return{data:{newPage:t,newTabPageState:InstancePageStateRecordType.create({id:InstancePageStateRecordType.createId(t.id),pageId:t.id}),newCamera:r}}},{\\\"do\\\":({newPage:e,newTabPageState:t,newCamera:r})=>{this.store.put([e,r,t])},undo:({newPage:e,newTabPageState:t,newCamera:r})=>{1!==this.getPages().length&&this.store.remove([t.id,e.id,r.id])}})),__publicField(this,\\\"_deletePage\\\",this.history.createCommand(\\\"delete_page\\\",t=>{var e,r,i,n,o;return!this.getInstanceState().isReadonly&&1!==(e=this.getPages()).length&&(r=this.getPage(t),i=this.getPageStates().filter(e=>e.pageId===t),r)?(t===this.getCurrentPageId()&&(n=e.findIndex(e=>e.id===t),o=null!=(o=e[n-1])?o:e[n+1],this.setCurrentPage(o.id)),{data:{id:t,deletedPage:r,deletedPageStates:i}}):null},{\\\"do\\\":({deletedPage:t,deletedPageStates:e})=>{var r,i,n=this.getPages();1!==n.length&&(t.id===this.getCurrentPageId()&&(r=n.findIndex(e=>e.id===t.id),i=null!=(i=n[r-1])?i:n[r+1],this.setCurrentPage(i.id)),this.store.remove(e.map(e=>e.id)),this.store.remove([t.id]),this.updateRenderingBounds())},undo:({deletedPage:e,deletedPageStates:t})=>{this.store.put([e]),this.store.put(t),this.updateRenderingBounds()}})),__publicField(this,\\\"_createAssets\\\",this.history.createCommand(\\\"createAssets\\\",e=>this.getInstanceState().isReadonly||e.length<=0?null:{data:{assets:e}},{\\\"do\\\":({assets:e})=>{this.store.put(e)},undo:({assets:e})=>{this.store.remove(e.map(e=>e.id))}})),__publicField(this,\\\"_updateAssets\\\",this.history.createCommand(\\\"updateAssets\\\",e=>{if(!this.getInstanceState().isReadonly&&!(e.length<=0))return{data:{snapshots:{},assets:e}}},{\\\"do\\\":({assets:e,snapshots:r})=>{this.store.put(e.map(e=>{var t=this.store.get(e.id);return{...r[e.id]=t,...e}}))},undo:({snapshots:e})=>{this.store.put(Object.values(e))}})),__publicField(this,\\\"_deleteAssets\\\",this.history.createCommand(\\\"deleteAssets\\\",e=>{var t;if(!this.getInstanceState().isReadonly&&!(e.length<=0))return t=compact(e.map(e=>this.store.get(e))),{data:{ids:e,prev:t}}},{\\\"do\\\":({ids:e})=>{this.store.remove(e)},undo:({prev:e})=>{this.store.put(e)}})),__publicField(this,\\\"_parentIdsToChildIds\\\"),__publicField(this,\\\"_childIdsCache\\\",new WeakMapCache),__publicField(this,\\\"_createShapes\\\",this.history.createCommand(\\\"createShapes\\\",e=>{var t;return this.getInstanceState().isReadonly||e.length<=0?null:(t=this.getCurrentPageShapeIds(),e.length+t.size>MAX_SHAPES_PER_PAGE?void alertMaxShapes(this):0===e.length?null:{data:{currentPageId:this.getCurrentPageId(),partials:e.map(e=>e.id?e:{...e,id:createShapeId()})}})},{\\\"do\\\":({partials:e})=>{var r;const a=this.getFocusedGroupId(),s=this.getCurrentPageShapesSorted();e=e.map(r=>{var i;if(!r.parentId||!this.store.has(r.parentId)&&!e.some(e=>e.id===r.parentId)){let e=this.getFocusedGroupId();for(let t=s.length-1;0<=t;t--){var n=s[t];if(this.getShapeUtil(n).canReceiveNewChildrenOfType(n,r.type)&&this.isPointInShape(n,{x:null!=(i=r.x)?i:0,y:null!=(i=r.y)?i:0},{margin:0,hitInside:!0})){e=n.id;break}}var o=r.parentId;(e=e===r.id?a:e)!==o&&isShapeId((r={...r}).parentId=e)&&(o=this.getPointInShapeSpace(this.getShape(e),{x:null!=(o=r.x)?o:0,y:null!=(o=r.y)?o:0}),r.x=o.x,r.y=o.y,r.rotation=-this.getShapePageTransform(e).rotation()+(null!=(o=r.rotation)?o:0))}return r});var i=new Map,n=[];for(const p of e){var o,l=this.getShapeUtil(p);let e=p.index;e||(o=null!=(o=p.parentId)?o:a,i.has(o)||i.set(o,this.getHighestIndexForParent(o)),e=i.get(o),i.set(o,getIndexAbove(e)));var c,d,u=l.getDefaultProps();for([c,d]of this.styleProps[p.type])u[d]=this.getStyleForNextShape(c);let t=this.store.schema.types.shape.create({...p,index:e,opacity:null!=(o=p.opacity)?o:this.getInstanceState().opacityForNextShape,parentId:null!=(l=p.parentId)?l:a,props:\\\"props\\\"in p?{...u,...p.props}:u});if(void 0===t.index)throw Error(\\\"no index!\\\");l=null==(r=(l=this.getShapeUtil(t)).onBeforeCreate)?void 0:r.call(l,t);l&&(t=l),n.push(t)}n.forEach(e=>{e.meta={...this.getInitialMetaForShape(e),...e.meta}}),this.store.put(n)},undo:({partials:e})=>{this.store.remove(e.map(e=>e.id))}})),__publicField(this,\\\"animatingShapes\\\",new Map),__publicField(this,\\\"_updateShapes\\\",this.history.createCommand(\\\"updateShapes\\\",(e,t)=>{if(this.getInstanceState().isReadonly)return null;var r,i={},n={};for(let a=0,s=e.length;a{this.store.put(objectMapValues(e).map(e=>{var t,r=this.store.get(e.id);if(r){var i=null==(t=(i=this.getShapeUtil(e)).onBeforeUpdate)?void 0:t.call(i,r,e);if(i)return i}return e}))},undo:({snapshots:e})=>{this.store.put(Object.values(e))},squash(e,t){return{snapshots:{...t.snapshots,...e.snapshots},updates:{...e.updates,...t.updates}}}})),__publicField(this,\\\"_deleteShapes\\\",this.history.createCommand(\\\"delete_shapes\\\",e=>{if(this.getInstanceState().isReadonly)return null;if(0===e.length)return null;var t=[...this.getCurrentPageState().selectedShapeIds];const r=new Set(e);for(const s of e)this.visitDescendants(s,e=>{r.add(e)});var i=[...r];const n=this._getArrowBindingsIndex().get();var o=compact(i.flatMap(e=>{var t=this.getShape(e),r=n[e];return r&&0this.getShape(e)).concat(t):t})),a=t.filter(e=>!r.has(e));return{data:{deletedIds:i,snapshots:o,prevSelectedShapeIds:t,postSelectedShapeIds:a}}},{\\\"do\\\":({deletedIds:e,postSelectedShapeIds:t})=>{this.store.remove(e),this.store.update(this.getCurrentPageState().id,e=>({...e,selectedShapeIds:t}))},undo:({snapshots:e,prevSelectedShapeIds:t})=>{this.store.put(e),this.store.update(this.getCurrentPageState().id,e=>({...e,selectedShapeIds:t}))}})),__publicField(this,\\\"externalAssetContentHandlers\\\",{file:null,url:null}),__publicField(this,\\\"externalContentHandlers\\\",{text:null,files:null,embed:null,\\\"svg-text\\\":null,url:null}),__publicField(this,\\\"inputs\\\",{originPagePoint:new Vec,originScreenPoint:new Vec,previousPagePoint:new Vec,previousScreenPoint:new Vec,currentPagePoint:new Vec,currentScreenPoint:new Vec,keys:new Set,buttons:new Set,isPen:!1,shiftKey:!1,ctrlKey:!1,altKey:!1,isDragging:!1,isPointing:!1,isPinching:!1,isEditing:!1,isPanning:!1,pointerVelocity:new Vec}),__publicField(this,\\\"_clickManager\\\",new ClickManager(this)),__publicField(this,\\\"_prevCursor\\\",\\\"default\\\"),__publicField(this,\\\"_shiftKeyTimeout\\\",-1),__publicField(this,\\\"_setShiftKeyTimeout\\\",()=>{this.inputs.shiftKey=!1,this.dispatch({type:\\\"keyboard\\\",name:\\\"key_up\\\",key:\\\"Shift\\\",shiftKey:this.inputs.shiftKey,ctrlKey:this.inputs.ctrlKey,altKey:this.inputs.altKey,code:\\\"ShiftLeft\\\"})}),__publicField(this,\\\"_altKeyTimeout\\\",-1),__publicField(this,\\\"_setAltKeyTimeout\\\",()=>{this.inputs.altKey=!1,this.dispatch({type:\\\"keyboard\\\",name:\\\"key_up\\\",key:\\\"Alt\\\",shiftKey:this.inputs.shiftKey,ctrlKey:this.inputs.ctrlKey,altKey:this.inputs.altKey,code:\\\"AltLeft\\\"})}),__publicField(this,\\\"_ctrlKeyTimeout\\\",-1),__publicField(this,\\\"_setCtrlKeyTimeout\\\",()=>{this.inputs.ctrlKey=!1,this.dispatch({type:\\\"keyboard\\\",name:\\\"key_up\\\",key:\\\"Ctrl\\\",shiftKey:this.inputs.shiftKey,ctrlKey:this.inputs.ctrlKey,altKey:this.inputs.altKey,code:\\\"ControlLeft\\\"})}),__publicField(this,\\\"_restoreToolId\\\",\\\"select\\\"),__publicField(this,\\\"_pinchStart\\\",1),__publicField(this,\\\"_didPinch\\\",!1),__publicField(this,\\\"_selectedShapeIdsAtPointerDown\\\",[]),__publicField(this,\\\"_longPressTimeout\\\",-1),__publicField(this,\\\"capturedPointerId\\\",null),__publicField(this,\\\"dispatch\\\",e=>(this._pendingEventsForNextTick.push(e),\\\"pointer\\\"===e.type&&\\\"pointer_move\\\"===e.name||\\\"wheel\\\"===e.type||\\\"pinch\\\"===e.type||this._flushEventsForTick(0),this)),__publicField(this,\\\"_pendingEventsForNextTick\\\",[]),__publicField(this,\\\"_flushEventForTick\\\",e=>{if(this.getCrashingError())return this;var t=this[\\\"inputs\\\"],r=e[\\\"type\\\"];if(\\\"misc\\\"!==e.type){e.shiftKey?(clearInterval(this._shiftKeyTimeout),this._shiftKeyTimeout=-1,t.shiftKey=!0):!e.shiftKey&&t.shiftKey&&-1===this._shiftKeyTimeout&&(this._shiftKeyTimeout=setTimeout(this._setShiftKeyTimeout,150)),e.altKey?(clearInterval(this._altKeyTimeout),this._altKeyTimeout=-1,t.altKey=!0):!e.altKey&&t.altKey&&-1===this._altKeyTimeout&&(this._altKeyTimeout=setTimeout(this._setAltKeyTimeout,150)),e.ctrlKey?(clearInterval(this._ctrlKeyTimeout),this._ctrlKeyTimeout=-1,t.ctrlKey=!0):!e.ctrlKey&&t.ctrlKey&&-1===this._ctrlKeyTimeout&&(this._ctrlKeyTimeout=setTimeout(this._setCtrlKeyTimeout,150));var i,n,o,a,s,l,c,d,u,p,h,{originPagePoint:m,originScreenPoint:g,currentPagePoint:_,currentScreenPoint:f}=t;switch(t.isPointing||(t.isDragging=!1),r){case\\\"pinch\\\":if(!this.getInstanceState().canMoveCamera)return;switch(clearTimeout(this._longPressTimeout),this._updateInputsFromEvent(e),e.name){case\\\"pinch_start\\\":return t.isPinching?void 0:void(t.isEditing||(this._pinchStart=this.getCamera().z,this._selectedShapeIdsAtPointerDown.length||(this._selectedShapeIdsAtPointerDown=this.getSelectedShapeIds()),this._didPinch=!0,t.isPinching=!0,this.interrupt()));case\\\"pinch\\\":return t.isPinching?(({point:{z:d=1},delta:{x:i,y:n}}=e),o=this.store.unsafeGetWithoutCapture(TLINSTANCE_ID)[\\\"screenBounds\\\"],({x:o,y:a}=Vec.SubXY(e.point,o.x,o.y)),({x:s,y:l,z:c}=this.getCamera()),d=Math.min(MAX_ZOOM,Math.max(MIN_ZOOM,d)),this.stopCameraAnimation(),this.getInstanceState().followingUserId&&this.stopFollowingUser(),void this._setCamera({x:s+i/c-o/c+o/d,y:l+n/c-a/c+a/d,z:d},!0)):void 0;case\\\"pinch_end\\\":{if(!t.isPinching)return this;t.isPinching=!1;const j=this[\\\"_selectedShapeIdsAtPointerDown\\\"];return this.setSelectedShapes(this._selectedShapeIdsAtPointerDown,{squashing:!0}),this._selectedShapeIdsAtPointerDown=[],void(this._didPinch&&(this._didPinch=!1,this.once(\\\"tick\\\",()=>{this._didPinch||this.setSelectedShapes(j,{squashing:!0})})))}}case\\\"wheel\\\":if(!this.getInstanceState().canMoveCamera)return;if(this._updateInputsFromEvent(e),!this.getIsMenuOpen()){if(this.stopCameraAnimation(),this.getInstanceState().followingUserId&&this.stopFollowingUser(),t.ctrlKey)return({x:v,y:u}=this.inputs.currentScreenPoint),({x:b,y:x,z:p}=this.getCamera()),h=Math.min(MAX_ZOOM,Math.max(MIN_ZOOM,p+(null!=(h=e.delta.z)?h:0)*p)),void this._setCamera({x:b+(v/h-v)-(v/p-v),y:x+(u/h-u)-(u/p-u),z:h},!0);var{x:b,y:v,z:x}=this.getCamera();this._setCamera({x:b+e.delta.x/x,y:v+e.delta.y/x,z:x},!0),!t.isDragging&&t.isPointing&&Vec.Dist2(m,_)>(this.getInstanceState().isCoarsePointer?COARSE_DRAG_DISTANCE:DRAG_DISTANCE)/this.getZoomLevel()&&(clearTimeout(this._longPressTimeout),t.isDragging=!0)}break;case\\\"pointer\\\":if(t.isPinching)return;this._updateInputsFromEvent(e);var y,S,w=e[\\\"isPen\\\"];switch(e.name){case\\\"pointer_down\\\":if(this.clearOpenMenus(),this._longPressTimeout=setTimeout(()=>{this.dispatch({...e,name:\\\"long_press\\\"})},LONG_PRESS_DURATION),this._selectedShapeIdsAtPointerDown=this.getSelectedShapeIds(),0===e.button&&(this.capturedPointerId=e.pointerId),t.buttons.add(e.button),t.isPointing=!0,t.isDragging=!1,this.getInstanceState().isPenMode){if(!w)return}else w&&this.updateInstanceState({isPenMode:!0});if(5===e.button?(this._restoreToolId=this.getCurrentToolId(),this.complete(),this.setCurrentTool(\\\"eraser\\\")):1===e.button&&(this.inputs.isPanning||(this._prevCursor=this.getInstanceState().cursor.type),this.inputs.isPanning=!0),this.inputs.isPanning)return this.stopCameraAnimation(),this.setCursor({type:\\\"grabbing\\\",rotation:0}),this;g.setTo(f),m.setTo(_);break;case\\\"pointer_move\\\":if(!w&&this.getInstanceState().isPenMode)return;if(this.inputs.isPanning&&this.inputs.isPointing)return clearTimeout(this._longPressTimeout),({currentScreenPoint:y,previousScreenPoint:S}=this.inputs),void this.pan(Vec.Sub(y,S));!t.isDragging&&t.isPointing&&Vec.Dist2(m,_)>(this.getInstanceState().isCoarsePointer?COARSE_DRAG_DISTANCE:DRAG_DISTANCE)/this.getZoomLevel()&&(clearTimeout(this._longPressTimeout),t.isDragging=!0);break;case\\\"pointer_up\\\":if(t.buttons[\\\"delete\\\"](e.button),t.isPointing=!1,t.isDragging=!1,this.getIsMenuOpen())return;if(!w&&this.getInstanceState().isPenMode)return;this.capturedPointerId===e.pointerId&&(this.capturedPointerId=null,e.button=0),t.isPanning?1===e.button?this.inputs.keys.has(\\\" \\\")?(this.slideCamera({speed:Math.min(2,this.inputs.pointerVelocity.len()),direction:this.inputs.pointerVelocity,friction:CAMERA_SLIDE_FRICTION}),this.setCursor({type:\\\"grab\\\",rotation:0})):(t.isPanning=!1,this.slideCamera({speed:Math.min(2,this.inputs.pointerVelocity.len()),direction:this.inputs.pointerVelocity,friction:CAMERA_SLIDE_FRICTION}),this.setCursor({type:this._prevCursor,rotation:0})):0===e.button&&(this.slideCamera({speed:Math.min(2,this.inputs.pointerVelocity.len()),direction:this.inputs.pointerVelocity,friction:CAMERA_SLIDE_FRICTION}),this.setCursor({type:\\\"grab\\\",rotation:0})):5===e.button&&(this.complete(),this.setCurrentTool(this._restoreToolId))}break;case\\\"keyboard\\\":switch(\\\"ShiftRight\\\"===e.key&&(e.key=\\\"ShiftLeft\\\"),\\\"AltRight\\\"===e.key&&(e.key=\\\"AltLeft\\\"),\\\"ControlRight\\\"===e.code&&(e.code=\\\"ControlLeft\\\"),e.name){case\\\"key_down\\\":t.keys.add(e.code),e.ctrlKey||\\\"Space\\\"!==e.code||(this.inputs.isPanning||(this._prevCursor=this.getInstanceState().cursor.type),this.inputs.isPanning=!0,this.setCursor({type:this.inputs.isPointing?\\\"grabbing\\\":\\\"grab\\\",rotation:0}));break;case\\\"key_up\\\":t.keys[\\\"delete\\\"](e.code),\\\"Space\\\"!==e.code||this.inputs.buttons.has(1)||(this.inputs.isPanning=!1,this.setCursor({type:this._prevCursor,rotation:0}))}}if(\\\"pointer\\\"===e.type&&(1===e.button?e.name=\\\"middle_click\\\":2===e.button&&(e.name=\\\"right_click\\\"),e.isPen===this.getInstanceState().isPenMode))switch(e.name){case\\\"pointer_down\\\":var I=this._clickManager.transformPointerDownEvent(e);if(e.name!==I.name)return this.root.handleEvent(e),this.emit(\\\"event\\\",e),this.root.handleEvent(I),void this.emit(\\\"event\\\",I);break;case\\\"pointer_up\\\":clearTimeout(this._longPressTimeout);I=this._clickManager.transformPointerUpEvent(e);if(e.name!==I.name)return this.root.handleEvent(e),this.emit(\\\"event\\\",e),this.root.handleEvent(I),void this.emit(\\\"event\\\",I);break;case\\\"pointer_move\\\":this._clickManager.handleMove()}return this.root.handleEvent(e),this.emit(\\\"event\\\",e),this}\\\"cancel\\\"!==e.name&&\\\"complete\\\"!==e.name||(this.inputs.isDragging=!1,this.inputs.isPanning&&(this.inputs.isPanning=!1,this.updateInstanceState({cursor:{type:this._prevCursor,rotation:0}}))),this.root.handleEvent(e)}),this.store=e,this.snaps=new SnapManager(this),this.user=new UserPreferencesManager(null!=t?t:createTLUser(),null!=a&&a),this.getContainer=null!=n?n:()=>document.body,this.textMeasure=new TextManager(this),this._tickManager=new TickManager(this);class s extends RootState{}__publicField(s,\\\"initial\\\",null!=o?o:\\\"\\\"),this.root=new s(this),this.root.children={};var l=checkShapesAndAddCore(r),c={},d={},u=new Map;for(const b of l){var p=new b(this),p=(c[b.type]=p,getShapePropKeysByStyle(null!=(p=b.props)?p:{}));for(const v of(d[b.type]=p).keys())if(u.has(v.id)){if(u.get(v.id)!==v)throw Error('Multiple style props with id \\\"'.concat(v.id,'\\\" in use. Style prop IDs must be unique.'))}else u.set(v.id,v)}this.shapeUtils=c,this.styleProps=d;for(const x of[...i]){if(hasOwnProperty(this.root.children,x.id))throw Error(\\\"Can't override tool with id \\\\\\\"\\\".concat(x.id,'\\\"'));this.root.children[x.id]=new x(this,this.root)}this.environment=new EnvironmentManager(this),this.scribbles=new ScribbleManager(this);const h=new Set,m=i=>{var n=this.getShape(i);if(n){var{start:o,end:a}=n.props,o=\\\"binding\\\"===o.type?this.getShape(o.boundShapeId):void 0,a=\\\"binding\\\"===a.type?this.getShape(a.boundShapeId):void 0,s=this.getAncestorPageId(n);if(s){let e;if(o&&a)e=null!=(l=this.findCommonAncestor([o,a]))?l:s;else{if(!o&&!a)return;var l=null==(l=o||a)?void 0:l.parentId;e=l&&l===n.parentId?n.parentId:s}e&&e!==n.parentId&&this.reparentShapes([i],e);l=this.getShape(i);if(!l)throw Error(\\\"no reparented arrow\\\");s=this.getShapeNearestSibling(l,o),n=this.getShapeNearestSibling(l,a);let t;if(s&&n)t=s.index>n.index?s:n;else if(s&&!n)t=s;else{if(!n||s)return;t=n}let r;o=this.getSortedChildIdsForParent(t.parentId).map(e=>this.getShape(e)).filter(e=>e.index>t.index);if(o.length){a=o.find(e=>\\\"arrow\\\"!==e.type);if(l.index>t.index&&(!a||l.index{var{x:r,y:i}=getArrowTerminalsInArrowSpace(this,e)[t];this.store.put([{...e,props:{...e.props,[t]:{type:\\\"point\\\",x:r,y:i}}}])},_=e=>{for(const i of[\\\"start\\\",\\\"end\\\"]){var t,r=e.props[i];\\\"binding\\\"!==r.type||(r=this.getShape(r.boundShapeId),t=this.getAncestorPageId(e)===this.getAncestorPageId(r),r&&t)||g(e,i)}m(e.id)},f=(e,t)=>{let r=null;var i=e.selectedShapeIds.filter(e=>!t.has(e)),i=(i.length!==e.selectedShapeIds.length&&((r=r||{...e}).selectedShapeIds=i),e.erasingShapeIds.filter(e=>!t.has(e))),i=(i.length!==e.erasingShapeIds.length&&((r=r||{...e}).erasingShapeIds=i),e.hoveredShapeId&&t.has(e.hoveredShapeId)&&((r=r||{...e}).hoveredShapeId=null),e.editingShapeId&&t.has(e.editingShapeId)&&((r=r||{...e}).editingShapeId=null),e.hintingShapeIds.filter(e=>!t.has(e)));return i.length!==e.hintingShapeIds.length&&((r=r||{...e}).hintingShapeIds=i),e.focusedGroupId&&t.has(e.focusedGroupId)&&((r=r||{...e}).focusedGroupId=null),r};if(this.sideEffects=new SideEffectManager(this),this.sideEffects.registerBatchCompleteHandler(()=>{var e;for(const i of h){h[\\\"delete\\\"](i);var t,r=this.getShape(i);r&&null!=(t=null==(e=(t=this.getShapeUtil(r)).onChildrenChange)?void 0:e.call(t,r))&&t.length&&this.updateShapes(t,{squashing:!0})}this.emit(\\\"update\\\")}),this.sideEffects.registerBeforeDeleteHandler(\\\"shape\\\",e=>{e.parentId&&isShapeId(e.parentId)&&h.add(e.parentId);var t=this._getArrowBindingsIndex().get()[e.id];if(null!=t&&t.length)for(var{arrowId:r,handleId:i}of t){r=this.getShape(r);r&&g(r,i)}const n=new Set([e.id]);t=compact(this.getPageStates().map(e=>f(e,n)));t.length&&this.store.put(t)}),this.sideEffects.registerBeforeDeleteHandler(\\\"page\\\",t=>{var e,r;this.getInstanceState().currentPageId===t.id&&(e=null==(e=this.getPages().find(e=>e.id!==t.id))?void 0:e.id)&&(this.store.put([{...this.getInstanceState(),currentPageId:e}]),e=CameraRecordType.createId(t.id),r=InstancePageStateRecordType.createId(t.id),this.store.remove([e,r]))}),this.sideEffects.registerAfterChangeHandler(\\\"shape\\\",(e,t)=>{var r,i;if(this.isShapeOfType(t,\\\"arrow\\\")&&_(t),e.parentId!==t.parentId&&((r=e=>{var t=this._getArrowBindingsIndex().get()[e];if(null!=t&&t.length)for(const r of t)m(r.arrowId)})(t.id),this.visitDescendants(t.id,r)),e.parentId!==t.parentId&&isPageId(t.parentId)){const n=new Set([e.id]);this.visitDescendants(e.id,e=>{n.add(e)});for(const o of this.getPageStates())o.pageId!==t.parentId&&(i=f(o,n))&&this.store.put([i])}e.parentId&&isShapeId(e.parentId)&&h.add(e.parentId),t.parentId!==e.parentId&&isShapeId(t.parentId)&&h.add(t.parentId)}),this.sideEffects.registerAfterChangeHandler(\\\"instance_page_state\\\",(e,n)=>{if((null==e?void 0:e.selectedShapeIds)!==(null==n?void 0:n.selectedShapeIds)){var t,r=n.selectedShapeIds.filter(e=>{var t,r;let i=null==(t=this.getShape(e))?void 0:t.parentId;for(;isShapeId(i);){if(n.selectedShapeIds.includes(i))return!1;i=null==(r=this.getShape(i))?void 0:r.parentId}return!0});let e=null;0this.getShape(e))),e=>this.isShapeOfType(e,\\\"group\\\")))&&(e=t):null!=n&&n.focusedGroupId&&(e=n.focusedGroupId),r.length===n.selectedShapeIds.length&&e===n.focusedGroupId||this.store.put([{...n,selectedShapeIds:r,focusedGroupId:null!=e?e:null}])}}),this.sideEffects.registerAfterCreateHandler(\\\"shape\\\",e=>{this.isShapeOfType(e,\\\"arrow\\\")&&_(e)}),this.sideEffects.registerAfterCreateHandler(\\\"page\\\",e=>{var t=CameraRecordType.createId(e.id),r=InstancePageStateRecordType.createId(e.id);this.store.has(t)||this.store.put([CameraRecordType.create({id:t})]),this.store.has(r)||this.store.put([InstancePageStateRecordType.create({id:r,pageId:e.id})])}),this._currentPageShapeIds=deriveShapeIdsInCurrentPage(this.store,()=>this.getCurrentPageId()),this._parentIdsToChildIds=parentsToChildren(this.store),this.disposables.add(this.store.listen(e=>{this.emit(\\\"change\\\",e)})),this.store.ensureStoreIsUsable(),this._setInstancePageState({editingShapeId:null,hoveredShapeId:null,erasingShapeIds:[]},{ephemeral:!0}),o&&void 0===this.root.children[o])throw Error('No state found for initialState \\\"'.concat(o,'\\\".'));this.root.enter(void 0,\\\"initial\\\"),this.getInstanceState().followingUserId&&this.stopFollowingUser(),this.updateRenderingBounds(),this.on(\\\"tick\\\",this._flushEventsForTick),requestAnimationFrame(()=>{this._tickManager.start()})}dispose(){this.disposables.forEach(e=>e()),this.disposables.clear()}getShapeUtil(e){var t=\\\"string\\\"==typeof e?e:e.type,r=getOwnProperty(this.shapeUtils,t);return assert(r,'No shape util found for type \\\"'.concat(t,'\\\"')),r}undo(){return this._flushEventsForTick(0),this.history.undo(),this}getCanUndo(){return 0(getIsArrowStraight(e)?getStraightArrowInfo:getCurvedArrowInfo)(this,e))}getArrowInfo(e){var t=\\\"string\\\"==typeof e?e:e.id;return this.getArrowInfoCache().get(t)}annotateError(e,{origin:t,willCrashApp:r,tags:i,extras:n}){var o=this.createErrorAnnotations(t,r);return annotateError(e,{tags:{...o.tags,...i},extras:{...o.extras,...n}}),r&&this.store.markAsPossiblyCorrupted(),this}createErrorAnnotations(e,t){try{var r=this.getEditingShapeId();return{tags:{origin:e,willCrashApp:t},extras:{activeStateNode:this.root.getPath(),selectedShapes:this.getSelectedShapes(),editingShape:r?this.getShape(r):void 0,inputs:this.inputs}}}catch{return{tags:{origin:e,willCrashApp:t},extras:{}}}}getCrashingError(){return this._crashingError}crash(e){return this._crashingError=e,this.store.markAsPossiblyCorrupted(),this.emit(\\\"crash\\\",{error:e}),this}getPath(){return this.root.getPath().split(\\\"root.\\\")[1]}isIn(e){var t=e.split(\\\".\\\").reverse();let r=this.root;for(;0this.isIn(e))}setCurrentTool(e,t={}){return this.root.transition(e,t),this}getCurrentTool(){return this.root.getCurrent()}getCurrentToolId(){var e,t=this.getCurrentTool();return t?null!=(e=t.getCurrentToolIdMask())?e:t.id:\\\"\\\"}getStateDescendant(e){var t,r=e.split(\\\".\\\").reverse();let i=this.root;for(;0{this.updateInstanceState({isChangingStyle:!1},{ephemeral:!0})},2e3)),this}getOpenMenus(){return this.getInstanceState().openMenus}addOpenMenu(e){var t=new Set(this.getOpenMenus());return t.has(e)||(t.add(e),this.updateInstanceState({openMenus:[...t]})),this}deleteOpenMenu(e){var t=new Set(this.getOpenMenus());return t.has(e)&&(t[\\\"delete\\\"](e),this.updateInstanceState({openMenus:[...t]})),this}clearOpenMenus(){return this.getOpenMenus().length&&this.updateInstanceState({openMenus:[]}),this}getIsMenuOpen(){return 0this.store.get(e)))}setSelectedShapes(e,t){var r=e.map(e=>\\\"string\\\"==typeof e?e:e.id);return this._setSelectedShapes(r,t),this}select(...e){var t=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);return this.setSelectedShapes(t),this}deselect(...e){const t=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);var r=this.getSelectedShapeIds();return 0!t.includes(e))),this}selectAll(){var e=this.getSortedChildIdsForParent(this.getCurrentPageId());return e.length<=0||this.setSelectedShapes(this._getUnlockedShapeIds(e)),this}selectNone(){return 0this.getShapePageBounds(e))))}getSelectionRotation(){var e=this.getSelectedShapeIds();let t=!1,r=0;for(let n=0,o=e.length;n{var t=this.getShapePageTransform(e);return t?t.applyToPoints(this.getShapeGeometry(e).bounds.corners):[]}).map(e=>e.rot(-r)))).point=t.point.rot(r),t)}}getSelectionRotatedScreenBounds(){var e,t,r,i=this.getSelectionRotatedPageBounds();if(i)return({x:e,y:t}=this.pageToScreen(i.point)),r=this.getZoomLevel(),new Box(e,t,i.width*r,i.height*r)}getFocusedGroupId(){var e;return null!=(e=this.getCurrentPageState().focusedGroupId)?e:this.getCurrentPageId()}getFocusedGroup(){var e=this.getFocusedGroupId();return e?this.getShape(e):void 0}setFocusedGroup(e){var t=\\\"string\\\"==typeof e?e:null!=(t=null==e?void 0:e.id)?t:null;if(null!==t){var r=this.getShape(t);if(!r)throw Error(\\\"Editor.setFocusedGroup: Shape with id \\\".concat(t,\\\" does not exist\\\"));if(!this.isShapeOfType(r,\\\"group\\\"))throw Error(\\\"Editor.setFocusedGroup: Cannot set focused group to shape of type \\\".concat(r.type))}return t!==this.getFocusedGroupId()&&this._setFocusedGroupId(t),this}popFocusedGroupId(){var e,t=this.getFocusedGroup();return t?(e=this.findShapeAncestor(t,e=>this.isShapeOfType(e,\\\"group\\\")),this.setFocusedGroup(null!=(e=null==e?void 0:e.id)?e:null),this.select(t.id)):(this.setFocusedGroup(null),this.selectNone()),this}getEditingShapeId(){return this.getCurrentPageState().editingShapeId}getEditingShape(){var e=this.getEditingShapeId();return e?this.getShape(e):void 0}setEditingShape(e){var t=\\\"string\\\"==typeof e?e:null!=(t=null==e?void 0:e.id)?t:null;if(t!==this.getEditingShapeId()){if(t){var r=this.getShape(t);if(r&&this.getShapeUtil(r).canEdit(r))return this._setInstancePageState({editingShapeId:t}),this}this._setInstancePageState({editingShapeId:null})}return this}getHoveredShapeId(){return this.getCurrentPageState().hoveredShapeId}getHoveredShape(){var e=this.getHoveredShapeId();return e?this.getShape(e):void 0}setHoveredShape(e){var t=\\\"string\\\"==typeof e?e:null!=(t=null==e?void 0:e.id)?t:null;return t!==this.getHoveredShapeId()&&this.updateCurrentPageState({hoveredShapeId:t},{ephemeral:!0}),this}getHintingShapeIds(){return this.getCurrentPageState().hintingShapeIds}getHintingShape(){return compact(this.getHintingShapeIds().map(e=>this.getShape(e)))}setHintingShapes(e){var t=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);return this.updateCurrentPageState({hintingShapeIds:dedupe(t)},{ephemeral:!0}),this}getErasingShapeIds(){return this.getCurrentPageState().erasingShapeIds}getErasingShapes(){return compact(this.getErasingShapeIds().map(e=>this.getShape(e)))}setErasingShapes(e){var t=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id),r=(t.sort(),this.getErasingShapeIds());if(t.length===r.length){for(let e=0;e{var e={...a,...n},{currentScreenPoint:t,currentPagePoint:r}=(this.store.put([e]),this.inputs),i=this.store.unsafeGetWithoutCapture(TLINSTANCE_ID)[\\\"screenBounds\\\"];t.x/e.z-e.x===r.x&&t.y/e.z-e.y===r.y||(r={type:\\\"pointer\\\",target:\\\"canvas\\\",name:\\\"pointer_move\\\",point:Vec.AddXY(t,i.x,i.y),pointerId:INTERNAL_POINTER_IDS.CAMERA_MOVE,ctrlKey:this.inputs.ctrlKey,altKey:this.inputs.altKey,shiftKey:this.inputs.shiftKey,button:0,isPen:null!=(e=this.getInstanceState().isPenMode)&&e},o?this._flushEventForTick(r):this.dispatch(r)),this._tickCameraState()}),this}setCamera(e,t){var r,i,n=Number.isFinite(e.x)?e.x:0,o=Number.isFinite(e.y)?e.y:0,a=Number.isFinite(e.z)?e.z:this.getZoomLevel();return this.stopCameraAnimation(),this.getInstanceState().followingUserId&&this.stopFollowingUser(),t?(({width:r,height:i}=this.getViewportScreenBounds()),this._animateToViewport(new Box(-n,-o,r/a,i/a),t)):(this._setCamera({x:n,y:o,z:a}),this)}centerOnPoint(e,t){var r,i;return this.getInstanceState().canMoveCamera&&(({width:r,height:i}=this.getViewportPageBounds()),this.setCamera({x:-(e.x-r/2),y:-(e.y-i/2),z:this.getCamera().z},t)),this}zoomToContent(e={duration:220}){var t=null!=(t=this.getSelectionPageBounds())?t:this.getCurrentPageBounds();return t&&this.zoomToBounds(t,{targetZoom:Math.min(1,this.getZoomLevel()),...e}),this}zoomToFit(e){var t;return!this.getInstanceState().canMoveCamera||(t=[...this.getCurrentPageShapeIds()]).length<=0||(t=Box.Common(compact(t.map(e=>this.getShapePageBounds(e)))),this.zoomToBounds(t,e)),this}resetZoom(e=this.getViewportScreenCenter(),t){var r,i,n,o,a;return this.getInstanceState().canMoveCamera&&(({x:r,y:i,z:n}=this.getCamera()),({x:o,y:a}=e),this.setCamera({x:r+(+o-o)-(o/n-o),y:i+(+a-a)-(a/n-a),z:1},t)),this}zoomIn(r=this.getViewportScreenCenter(),i){if(this.getInstanceState().canMoveCamera){var{x:n,y:o,z:a}=this.getCamera();let e=MAX_ZOOM;for(let t=1;tthis.getShapePageBounds(e)))),n=this.getViewportPageBounds();if(n.hi.minY&&(t=n.minY-i.minY),n.maxXi.minX&&(e=n.minX-i.minX);n=this.getCamera();this.setCamera({x:n.x+e,y:n.y+t,z:n.z},r)}}return this}zoomToBounds(t,r){if(this.getInstanceState().canMoveCamera){var i=this.getViewportScreenBounds(),n=null!=(n=null==r?void 0:r.inset)?n:Math.min(256,.28*i.width);let e=clamp(Math.min((i.width-n)/t.width,(i.height-n)/t.height),MIN_ZOOM,MAX_ZOOM);void 0!==(null==r?void 0:r.targetZoom)&&(e=Math.min(r.targetZoom,e)),this.setCamera({x:-t.minX+(i.width-t.width*e)/2/e,y:-t.minY+(i.height-t.height*e)/2/e,z:e},r)}return this}pan(e,t){var r,i,n;return this.getInstanceState().canMoveCamera&&(({x:r,y:i,z:n}=this.getCamera()),this.setCamera({x:r+e.x/n,y:i+e.y/n,z:n},t),this._flushEventsForTick(0)),this}stopCameraAnimation(){return this.emit(\\\"stop-camera-animation\\\"),this}_animateViewport(e){if(this._viewportAnimation){const a=()=>{this.removeListener(\\\"tick\\\",this._animateViewport),this.removeListener(\\\"stop-camera-animation\\\",a),this._viewportAnimation=null};this.once(\\\"stop-camera-animation\\\",a),this._viewportAnimation.elapsed+=e;var{elapsed:t,easing:r,duration:i,start:n,end:o}=this._viewportAnimation;i{this.removeListener(\\\"tick\\\",r),this.removeListener(\\\"stop-camera-animation\\\",c)},r=(this.once(\\\"stop-camera-animation\\\",c),e=>{var{x:t,y:r,z:i}=this.getCamera(),n=Vec.Mul(a,l*e/i);(l*=1-o)e.userId===r);return t&&this.batch(()=>{null!==this.getInstanceState().followingUserId&&this.stopFollowingUser();var e=t.currentPageId===this.getCurrentPageId(),e=(e||this.setCurrentPage(t.currentPageId),e?{duration:500}:void 0),e=(this.centerOnPoint(t.cursor,e),this.getInstanceState())[\\\"highlightedUserIds\\\"];this.updateInstanceState({highlightedUserIds:[...e,r]}),setTimeout(()=>{var e=[...this.getInstanceState().highlightedUserIds],t=e.indexOf(r);t<0||(e.splice(t,1),this.updateInstanceState({highlightedUserIds:e}))},COLLABORATOR_IDLE_TIMEOUT)}),this}animateToShape(e,t=DEFAULT_ANIMATION_OPTIONS){var r,i,n,o,a,s;return this.getInstanceState().canMoveCamera&&(i=(r=this.getViewportScreenBounds().clone().expandBy(-32)).width/r.height,n=this.getShapePageBounds(e))?(o=n.width/n.height,a=n.clone(),s=n.width/r.width,a.width+=(r.minX+r.maxX)*s,a.height+=(r.minY+r.maxY)*s,a.x-=r.minX*s,a.y-=r.minY*s,i({userId:{neq:this.user.getId()}}))}getCollaborators(){const e=this._getCollaboratorsQuery().get();return e.length?[...new Set(e.map(e=>e.userId))].sort().map(t=>{return e.filter(e=>e.userId===t).sort((e,t)=>t.lastActivityTimestamp-e.lastActivityTimestamp)[0]}):EMPTY_ARRAY}getCollaboratorsOnCurrentPage(){const t=this.getCurrentPageId();return this.getCollaborators().filter(e=>e.currentPageId===t)}startFollowingUser(l){const c=this._getCollaboratorsQuery().get().filter(e=>e.userId===l),d=this.user.getId();if(d||console.warn(\\\"You should set the userId for the current instance before following a user\\\"),c.some(e=>e.followingUserId===d))return this;transact(()=>{this.stopFollowingUser(),this.updateInstanceState({followingUserId:l},{ephemeral:!0})});const e=()=>{this.removeListener(\\\"frame\\\",t),this.removeListener(\\\"stop-following\\\",e)};let u=!1;const t=()=>{var e,t,r,i,n,o,a,s=[...c].sort((e,t)=>e.lastActivityTimestamp-t.lastActivityTimestamp).pop();s?(a=(e=s.currentPageId===this.getCurrentPageId())?FOLLOW_CHASE_PROPORTION:1,e?(({center:e,width:t,height:r}=this.getViewportPageBounds()),o=(i=Box.From(s.screenBounds)).width/s.camera.z,i=i.height/s.camera.z,n=new Vec(o/2-s.camera.x,i/2-s.camera.y),i=r+(i-r)*a,o=s.followingUserId===d?r/i:Math.min(t/(t+(o-t)*a),r/i),t=clamp(this.getCamera().z*o,MIN_ZOOM,MAX_ZOOM),r=this.getViewportScreenBounds().w/t,i=this.getViewportScreenBounds().h/t,o=n.sub(e),n=Vec.Add(e,Vec.Mul(o,a)),o=Vec.Sub(n,e).len(),a=Math.abs(t-this.getCamera().z),o{var n=this.getShape(e);if(n){r*=n.opacity;let t=!1;var o=this.getShapeUtil(n),a=(l&&(t=!i&&p.includes(e))&&(r*=.32),c.push({id:e,shape:n,util:o,index:d,backgroundIndex:u,opacity:r}),d+=1,u+=1,this.getSortedChildIdsForParent(e));if(a.length){let e=null;o.providesBackgroundForChildren(n)&&(e=u,u=d,d+=MAX_SHAPES_PER_PAGE);for(const s of a)h(s,r,i||t);null!==e&&(u=e)}}};for(const e of l?[this.getCurrentPage()]:this.getPages())for(const t of this.getSortedChildIdsForParent(e.id))h(t,1,!1);return c}getRenderingShapes(){return this.getUnorderedRenderingShapes(!0).sort(sortById)}getRenderingBounds(){return this._renderingBounds.get()}updateRenderingBounds(){var e=this.getViewportPageBounds();return e.equals(this._renderingBounds.__unsafe__getWithoutCapture())||this._renderingBounds.set(e.clone()),this}_getAllPagesQuery(){return this.store.query.records(\\\"page\\\")}getPages(){return this._getAllPagesQuery().get().sort(sortByIndex)}getCurrentPage(){return this.getPage(this.getCurrentPageId())}getCurrentPageId(){return this.getInstanceState().currentPageId}getPage(e){return this.store.get(\\\"string\\\"==typeof e?e:e.id)}getCurrentPageShapeIds(){return this._currentPageShapeIds.get()}getCurrentPageShapeIdsSorted(){return Array.from(this.getCurrentPageShapeIds()).sort()}getPageShapeIds(e){var t=\\\"string\\\"==typeof e?e:e.id,t=this.store.query.exec(\\\"shape\\\",{parentId:{eq:t}});return this.getShapeAndDescendantIds(t.map(e=>e.id))}setCurrentPage(e,t){var r=\\\"string\\\"==typeof e?e:e.id;return this._setCurrentPageId(r,t),this}updatePage(e,t){return this._updatePage(e,t),this}createPage(e){return this._createPage(e),this}deletePage(e){var t=\\\"string\\\"==typeof e?e:e.id;return this._deletePage(t),this}duplicatePage(e,t=PageRecordType.createId()){if(!(this.getPages().length>=MAX_PAGES)){var r=\\\"string\\\"==typeof e?e:e.id;const i=this.getPage(r);if(i){const n={...this.getCamera()},o=this.getContentFromCurrentPage(this.getSortedChildIdsForParent(i.id));this.batch(()=>{var e=this.getPages(),e=getIndexBetween(i.index,null==(e=e[e.indexOf(i)+1])?void 0:e.index);if(this.createPage({name:i.name+\\\" Copy\\\",id:t,index:e}),this.setCurrentPage(t),this.setCamera(n),o)return this.putContentOntoCurrentPage(o)})}}return this}renamePage(e,t,r){var i=\\\"string\\\"==typeof e?e:e.id;return this.getInstanceState().isReadonly||this.updatePage({id:i,name:t},r),this}_getAllAssetsQuery(){return this.store.query.records(\\\"asset\\\")}getAssets(){return this._getAllAssetsQuery().get()}createAssets(e){return this._createAssets(e),this}updateAssets(e){return this._updateAssets(e),this}deleteAssets(e){var t=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);return this._deleteAssets(t),this}getAsset(e){return this.store.get(\\\"string\\\"==typeof e?e:e.id)}_getShapeGeometryCache(){return this.store.createComputedCache(\\\"bounds\\\",e=>this.getShapeUtil(e).getGeometry(e),(e,t)=>e.props===t.props)}getShapeGeometry(e){return this._getShapeGeometryCache().get(\\\"string\\\"==typeof e?e:e.id)}_getShapeHandlesCache(){return this.store.createComputedCache(\\\"handles\\\",e=>{var t,r;return null==(r=(t=this.getShapeUtil(e)).getHandles)?void 0:r.call(t,e)})}getShapeHandles(e){return this._getShapeHandlesCache().get(\\\"string\\\"==typeof e?e:e.id)}getShapeLocalTransform(e){var t=\\\"string\\\"==typeof e?e:e.id,t=this.getShape(t);if(t)return Mat.Identity().translate(t.x,t.y).rotate(t.rotation);throw Error(\\\"Editor.getTransform: shape not found\\\")}_getShapePageTransformCache(){return this.store.createComputedCache(\\\"pageTransformCache\\\",e=>{var t;return isPageId(e.parentId)?this.getShapeLocalTransform(e):(t=null!=(t=this._getShapePageTransformCache().get(e.parentId))?t:Mat.Identity(),Mat.Compose(t,this.getShapeLocalTransform(e)))})}getShapeParentTransform(e){var t=\\\"string\\\"==typeof e?e:e.id,t=this.getShape(t);return t&&!isPageId(t.parentId)&&null!=(t=this._getShapePageTransformCache().get(t.parentId))?t:Mat.Identity()}getShapePageTransform(e){var t=\\\"string\\\"==typeof e?e:e.id;return null!=(t=this._getShapePageTransformCache().get(t))?t:Mat.Identity()}_getShapePageBoundsCache(){return this.store.createComputedCache(\\\"pageBoundsCache\\\",e=>{var t=this._getShapePageTransformCache().get(e.id);return t?Box.FromPoints(Mat.applyToPoints(t,this.getShapeGeometry(e).vertices)):new Box})}getShapePageBounds(e){return this._getShapePageBoundsCache().get(\\\"string\\\"==typeof e?e:e.id)}_getShapeClipPathCache(){return this.store.createComputedCache(\\\"clipPathCache\\\",e=>{var t,r=this._getShapeMaskCache().get(e.id);if(r)return 0===r.length?\\\"polygon(0px 0px, 0px 0px, 0px 0px)\\\":(t=this._getShapePageTransformCache().get(e.id))?(t=Mat.applyToPoints(Mat.Inverse(t),r),\\\"polygon(\\\".concat(t.map(e=>\\\"\\\".concat(e.x,\\\"px \\\").concat(e.y,\\\"px\\\")).join(\\\",\\\"),\\\")\\\")):void 0})}getShapeClipPath(e){return this._getShapeClipPathCache().get(\\\"string\\\"==typeof e?e:e.id)}_getShapeMaskCache(){return this.store.createComputedCache(\\\"pageMaskCache\\\",e=>{if(!isPageId(e.parentId)){var t=this.getShapeAncestors(e.id).filter(e=>this.isShapeOfType(e,\\\"frame\\\"));if(0!==t.length)return t.map(e=>this._getShapePageTransformCache().get(e.id).applyToPoints(this.getShapeGeometry(e).vertices)).reduce((e,t)=>{var r;if(t&&e)return(r=intersectPolygonPolygon(e,t))?r.map(Vec.Cast):[]})}})}getShapeMask(e){return this._getShapeMaskCache().get(\\\"string\\\"==typeof e?e:e.id)}getShapeMaskedPageBounds(e){return\\\"string\\\"!=typeof e&&(e=e.id),this._getShapeMaskedPageBoundsCache().get(e)}_getShapeMaskedPageBoundsCache(){return this.store.createComputedCache(\\\"shapeMaskedPageBoundsCache\\\",e=>{var t,r=this._getShapePageBoundsCache().get(e.id);if(r){const i=this._getShapeMaskCache().get(e.id);return i?0===i.length?void 0:(t=r[\\\"corners\\\"],t.every((e,t)=>e&&Vec.Equals(e,i[t]))?r.clone():(t=intersectPolygonPolygon(i,t))?Box.FromPoints(t):void 0):r}})}getShapeAncestors(e,t=[]){var r=\\\"string\\\"==typeof e?e:e.id,r=this.getShape(r);return r?isPageId(r=r.parentId)?(t.reverse(),t):(r=this.store.get(r))?(t.push(r),this.getShapeAncestors(r,t)):t:t}findShapeAncestor(e,t){var r=\\\"string\\\"==typeof e?e:e.id,r=this.getShape(r);if(r){r=r.parentId;if(!isPageId(r)){r=this.getShape(r);if(r)return t(r)?r:this.findShapeAncestor(r,t)}}}hasAncestor(e,t){var r=\\\"string\\\"==typeof e?e:null==e?void 0:e.id,r=r&&this.getShape(r);return!!r&&(r.parentId===t||this.hasAncestor(this.getShapeParent(r),t))}findCommonAncestor(e,r){if(0!==e.length){var i,n=compact((\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id)).map(e=>this.getShape(e)));if(1===n.length)return isPageId(i=n[0].parentId)?void 0:r?null==(o=this.findShapeAncestor(n[0],r))?void 0:o.id:i;var[o,...a]=n;let t=this.getShapeParent(o);for(;t;){if(r&&!r(t));else if(a.every(e=>this.hasAncestor(e,t.id)))return t.id;t=this.getShapeParent(t)}}}isShapeOrAncestorLocked(e){var t=\\\"string\\\"==typeof e?this.getShape(e):e;return void 0!==t&&(!!t.isLocked||this.isShapeOrAncestorLocked(this.getShapeParent(t)))}_notVisibleShapes(){return notVisibleShapes(this)}getCulledShapes(){var e=this._notVisibleShapes().get(),t=this.getSelectedShapeIds(),r=this.getEditingShapeId();const i=new Set(e);return r&&i[\\\"delete\\\"](r),t.forEach(e=>{i[\\\"delete\\\"](e)}),i}getCurrentPageBounds(){let r;return this.getCurrentPageShapeIdsSorted().forEach(e=>{var t=this.getShapeMaskedPageBounds(e);t&&(r=r?r.expand(t):t.clone())}),r}getSelectedShapeAtPoint(t){const r=this.getSelectedShapeIds();return this.getCurrentPageShapesSorted().filter(e=>\\\"group\\\"!==e.type&&r.includes(e.id)).reverse().find(e=>this.isPointInShape(e,t,{hitInside:!0,margin:0}))}getShapeAtPoint(r,e={}){var i=this.getZoomLevel(),n=this.getViewportPageBounds();const{filter:o,margin:a=0,hitLabels:s=!1,hitInside:l=!1,hitFrameInside:t=!1}=e;let c=Infinity,d=null,u=Infinity,p=null;var h=(e.renderingOnly?this.getCurrentPageRenderingShapesSorted():this.getCurrentPageShapesSorted()).filter(e=>{var t;return!(this.isShapeOfType(e,\\\"group\\\")||(t=this.getShapeMask(e))&&!pointInPolygon(r,t))&&(!o||o(e))});for(let x=h.length-1;0<=x;x--){var m,g=h[x],_=this.getShapeGeometry(g),f=_ instanceof Group2d,b=this.getPointInShapeSpace(g,r);if((this.isShapeOfType(g,\\\"arrow\\\")||this.isShapeOfType(g,\\\"geo\\\")&&\\\"none\\\"===g.props.fill)&&g.props.text.trim())for(const y of _.children)if(y.isLabel&&y.isPointInBounds(b))return g;if(this.isShapeOfType(g,\\\"frame\\\")){var v=_.distanceToPoint(b,l);if(Math.abs(v)<=a)return p||g;if(_.hitTestPoint(b,0,!0))return p||d||(t?g:void 0)}else{let t;if(f){let e=Infinity;for(const S of _.children)S.isLabel&&!s||(m=S.distanceToPoint(b,l))this.isPointInShape(e,t,r))}isPointInShape(e,t,r={}){var{hitInside:i=!1,margin:n=0}=r,o=\\\"string\\\"==typeof e?e:e.id,a=this.getShapeMask(o);return!(a&&!pointInPolygon(t,a))&&this.getShapeGeometry(o).hitTestPoint(this.getPointInShapeSpace(e,t),n,i)}getPointInShapeSpace(e,t){var r=\\\"string\\\"==typeof e?e:e.id;return this._getShapePageTransformCache().get(r).clone().invert().applyToPoint(t)}getPointInParentSpace(e,t){var r=\\\"string\\\"==typeof e?e:e.id,r=this.getShape(r);return r?!isPageId(r.parentId)&&(r=this.getShapePageTransform(r.parentId))?r.clone().invert().applyToPoint(t):Vec.From(t):new Vec(0,0)}getCurrentPageShapes(){return Array.from(this.getCurrentPageShapeIds(),e=>this.store.get(e))}getCurrentPageShapesSorted(){var e=[],t=this.getSortedChildIdsForParent(this.getCurrentPageId());for(let r=0,i=t.length;r!t.has(e))}isShapeOfType(e,t){var r=\\\"string\\\"==typeof e?this.getShape(e):e;return!!r&&r.type===t}getShape(e){var t=\\\"string\\\"==typeof e?e:e.id;if(isShapeId(t))return this.store.get(t)}getShapeParent(e){var t=\\\"string\\\"==typeof e?e:null==e?void 0:e.id;if(t){t=this.getShape(t);if(void 0!==t&&isShapeId(t.parentId))return this.store.get(t.parentId)}}getShapeNearestSibling(t,e){if(e)return e.parentId===t.parentId?e:this.findShapeAncestor(e,e=>e.parentId===t.parentId)}isShapeInPage(e,t=this.getCurrentPageId()){var r=\\\"string\\\"==typeof e?e:e.id,r=this.getShape(r);if(!r)return!1;let i=!1;if(r.parentId===t)i=!0;else{let e=this.getShape(r.parentId);for(;e;){if(e.parentId===t){i=!0;break}e=this.getShape(e.parentId)}}return i}getAncestorPageId(e){var t=\\\"string\\\"==typeof e?e:null==e?void 0:e.id,t=t&&this.getShape(t);if(t)return isPageId(t.parentId)?t.parentId:this.getAncestorPageId(this.getShape(t.parentId))}reparentShapes(e,r,i){var n=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);if(0!==n.length){var o=[],a=isPageId(r)?Mat.Identity():this.getShapePageTransform(r),s=a.rotation();let e=[];var l,c=compact(this.getSortedChildIdsForParent(r).map(e=>this.getShape(e))),d=(e=i?(l=c.find(e=>e.index===i))?(l=c[c.indexOf(l)+1])?getIndicesBetween(i,l.index,n.length):getIndicesAbove(i,n.length):(l=c.sort(sortByIndex).find(e=>e.index>i))?getIndicesBetween(i,l.index,n.length):getIndicesAbove(i,n.length):(l=c.length&&c[c.length-1])?getIndicesAbove(l.index,n.length):getIndices(n.length),a.clone().invert()),u=compact(n.map(e=>this.getShape(e))),c=u.filter(e=>e.isLocked);c.length&&this.updateShapes(c.map(({id:e,type:t})=>({id:e,type:t,isLocked:!1})));for(let t=0;tr):EMPTY_ARRAY}visitDescendants(e,t){var r=\\\"string\\\"==typeof e?e:e.id;for(const i of this.getSortedChildIdsForParent(r))!1!==t(i)&&this.visitDescendants(i,t);return this}getShapeAndDescendantIds(e){for(var t=new Set,r=[...e];0e.id===o.id||this.hasAncestor(o,e.id))){var i=this.getShapeMaskedPageBounds(o.id);if(i&&i.containsPoint(e)&&this.getShapeGeometry(o).hitTestPoint(this.getPointInShapeSpace(o,e),0,!0))return o}}}getOutermostSelectableShape(e,t){var r,i=\\\"string\\\"==typeof e?e:e.id,i=this.getShape(i);let n=i,o=i;for(var a=this.getFocusedGroup();o;){if(!this.isShapeOfType(o,\\\"group\\\")||(null==a?void 0:a.id)===o.id||this.hasAncestor(a,o.id)||null!=(r=null==t?void 0:t(o))&&!r){if((null==a?void 0:a.id)===o.id)break}else n=o;o=this.getShapeParent(o)}return n}rotateShapesBy(e,t){var r;return(\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id)).length<=0||(r=getRotationSnapshot({editor:this}))&&applyRotationToSnapshotShapes({delta:t,snapshot:r,editor:this,stage:\\\"one-off\\\"}),this}getChangesToTranslateShape(e,t){var r,i=e,n=this.getShapeUtil(e),i=applyPartialToShape(i,null!=(r=null==(r=n.onTranslateStart)?void 0:r.call(n,i))?r:void 0);return i=applyPartialToShape(i,{id:e.id,type:e.type,x:t.x,y:t.y}),i=applyPartialToShape(i,null!=(r=null==(r=n.onTranslate)?void 0:r.call(n,e,i))?r:void 0),applyPartialToShape(i,null!=(n=null==(r=n.onTranslateEnd)?void 0:r.call(n,e,i))?n:void 0)}nudgeShapes(e,t,r){var i=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);if(!(i.length<=0)){var n=[];for(const l of i){var o=this.getShape(l),a=Vec.From(t),s=this.getShapeParentTransform(o);s&&a.rot(-s.rotation()),n.push(this.getChangesToTranslateShape(o,a.add(o)))}this.updateShapes(n,{squashing:!0,...r})}return this}duplicateShapes(e,d){var t=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);if(!(t.length<=0)){const u=new Set(t);var r=[];const n=[...t];for(;0n.push(e))}r.reverse();const p=new Map(r.map(e=>[e,createShapeId()])),o=compact(r.map(e=>{var r=this.getShape(e);if(!r)return null;var t=p.get(e);let i=0,n=0;d&&u.has(e)&&(o=this.getShapeParentTransform(r),o=new Vec(d.x,d.y).rot(-o.rotation()),i=o.x,n=o.y);var o=null!=(o=r.parentId)?o:this.getCurrentPageId(),o=this.getSortedChildIdsForParent(o),a=o.indexOf(r.id),a=o[a+1],o=a?this.getShape(a):null,a=o?getIndexBetween(r.index,o.index):getIndexAbove(r.index);let s=structuredClone(r);if(this.isShapeOfType(r,\\\"arrow\\\")&&this.isShapeOfType(s,\\\"arrow\\\")){o=this.getArrowInfo(r);let e=void 0,t=void 0;\\\"binding\\\"!==r.props.start.type||(e=p.get(r.props.start.boundShapeId))||(null!=o&&o.isValid?(({x:c,y:l}=o.start.point),s.props.start={type:\\\"point\\\",x:c,y:l}):(c=getArrowTerminalsInArrowSpace(this,r)[\\\"start\\\"],s.props.start={type:\\\"point\\\",x:c.x,y:c.y})),\\\"binding\\\"!==r.props.end.type||(t=p.get(r.props.end.boundShapeId))||(null!=o&&o.isValid?(({x:l,y:c}=o.end.point),s.props.end={type:\\\"point\\\",x:l,y:c}):(l=getArrowTerminalsInArrowSpace(this,r)[\\\"end\\\"],s.props.start={type:\\\"point\\\",x:l.x,y:l.y}));var l,c=(getIsArrowStraight(s)?getStraightArrowInfo:getCurvedArrowInfo)(this,s);null!=o&&o.isValid&&null!=c&&c.isValid&&!getIsArrowStraight(r)&&(l=Vec.Med(o.start.handle,o.end.handle),o=Vec.Dist(o.middle,l),c=Vec.Dist(c.middle,l),s.props.bend<0?s.props.bend+=c-o:s.props.bend-=c-o),\\\"binding\\\"===s.props.start.type&&e&&(s.props.start.boundShapeId=e),\\\"binding\\\"===s.props.end.type&&t&&(s.props.end.boundShapeId=t)}return s={...s,id:t,x:r.x+i,y:r.y+n,index:a}}));o.forEach(e=>{isShapeId(e.parentId)&&p.has(e.parentId)&&(e.parentId=p.get(e.parentId))}),this.history.batch(()=>{var e=o.length+this.getCurrentPageShapeIds().size>MAX_SHAPES_PER_PAGE,e=(e&&alertMaxShapes(this),e?o.slice(0,MAX_SHAPES_PER_PAGE-this.getCurrentPageShapeIds().size):o),t=e.map(e=>e.id);this.createShapes(e),this.setSelectedShapes(t),void 0!==d&&(e=this.getSelectionPageBounds(),t=this.getViewportPageBounds(),e)&&!t.contains(e)&&this.centerOnPoint(e.center,{duration:ANIMATION_MEDIUM_MS})})}return this}moveShapesToPage(e,t){const r=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);if(0!==r.length&&!this.getInstanceState().isReadonly){var i=this.getCurrentPageId();if(t!==i&&this.store.has(t)){const n=this.getContentFromCurrentPage(r);if(n)if(this.getPageShapeIds(t).size+n.shapes.length>MAX_SHAPES_PER_PAGE)alertMaxShapes(this,t);else{const o=this.getCamera().z;this.history.batch(()=>{this.deleteShapes(r),this.setCurrentPage(t),this.setFocusedGroup(null),this.selectNone(),this.putContentOntoCurrentPage(n,{select:!0,preserveIds:!0,preservePosition:!0}),this.setCamera({...this.getCamera(),z:o}),this.centerOnPoint(this.getSelectionRotatedPageBounds().center)})}}}return this}toggleLock(e){var r=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);if(!this.getInstanceState().isReadonly&&0!==r.length){let e=!0,t=!0;const n=[];for(const o of r){var i=this.getShape(o);i&&(n.push(i),i.isLocked?t=!1:e=!1)}this.batch(()=>{t?(this.updateShapes(n.map(e=>({id:e.id,type:e.type,isLocked:!0}))),this.setSelectedShapes([])):e?this.updateShapes(n.map(e=>({id:e.id,type:e.type,isLocked:!1}))):this.updateShapes(n.map(e=>({id:e.id,type:e.type,isLocked:!0})))})}return this}sendToBack(e){var t=getReorderingShapesChanges(this,\\\"toBack\\\",\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id));return t&&this.updateShapes(t),this}sendBackward(e){var t=getReorderingShapesChanges(this,\\\"backward\\\",\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id));return t&&this.updateShapes(t),this}bringForward(e){var t=getReorderingShapesChanges(this,\\\"forward\\\",\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id));return t&&this.updateShapes(t),this}bringToFront(e){var t=getReorderingShapesChanges(this,\\\"toFront\\\",\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id));return t&&this.updateShapes(t),this}flipShapes(e,n){var t=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);if(!this.getInstanceState().isReadonly){let i=compact(t.map(e=>this.getShape(e)));if(i.length){i=compact(i.map(e=>this.isShapeOfType(e,\\\"group\\\")?this.getSortedChildIdsForParent(e.id).map(e=>this.getShape(e)):e).flat());const o=Box.Common(compact(i.map(e=>this.getShapePageBounds(e)))).center;this.batch(()=>{for(const r of i){var e=this.getShapeGeometry(r).bounds,t=this.getShapePageTransform(r.id);t&&this.resizeShape(r.id,{x:\\\"horizontal\\\"===n?-1:1,y:\\\"vertical\\\"===n?-1:1},{initialBounds:e,initialPageTransform:t,initialShape:r,mode:\\\"scale_shape\\\",scaleOrigin:o,scaleAxisRotation:0})}})}}return this}stackShapes(e,t,n){var r=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);if(!this.getInstanceState().isReadonly){var c=compact(r.map(e=>this.getShape(e)).filter(e=>!!e&&(!this.isShapeOfType(e,\\\"arrow\\\")||\\\"binding\\\"!==e.props.start.type&&\\\"binding\\\"!==e.props.end.type))),d=c.length;if(!(0===n&&d<3||d<2)){const m=Object.fromEntries(c.map(e=>[e.id,this.getShapePageBounds(e)]));let o,r,i,a;a=\\\"horizontal\\\"===t?(o=\\\"x\\\",r=\\\"minX\\\",i=\\\"maxX\\\",\\\"width\\\"):(o=\\\"y\\\",r=\\\"minY\\\",i=\\\"maxY\\\",\\\"height\\\");let s;if(0===n){var u=[];c.sort((e,t)=>m[e.id][r]-m[t.id][r]);for(let e=0;ee.gap===_);h?h.count++:u.push({gap:_,count:1})}let t=0;u.forEach(e=>{e.count>t&&(t=e.count,s=e.gap)}),1===t&&(s=Math.max(0,u.reduce((e,t)=>e+t.gap*t.count,0)/(d-1)))}else s=n;const g=[];let l=m[c[0].id][i];c.forEach((e,t)=>{var r,i,n;0!==t&&((n={x:0,y:0})[o]=l+s-m[e.id][o],i=(i=this.getShapeParent(e))?Vec.Rot(n,-this.getShapePageTransform(i).decompose().rotation):n,n=null==(r=(n=this.getShapeUtil(e)).onTranslateStart)?void 0:r.call(n,e),g.push(n?{...n,[o]:e[o]+i[o]}:{id:e.id,type:e.type,[o]:e[o]+i[o]}),l+=m[e.id][a]+s)}),this.updateShapes(g)}}return this}packShapes(e,l){var c,d=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);if(!(this.getInstanceState().isReadonly||d.length<2)){var u=compact(d.map(e=>this.getShape(e)).filter(e=>!!e&&(!this.isShapeOfType(e,\\\"arrow\\\")||\\\"binding\\\"!==e.props.start.type&&\\\"binding\\\"!==e.props.end.type)));const y={};var p={};let t,r,e=0;for(let o=0;oy[t.id].height-y[e.id].height),Math.max(Math.ceil(Math.sqrt(e/.95)),g)),_=[new Box(d.x,d.y,g,Infinity)];let i=0,n=0;for(let a=0;ah.width||r.height>h.height)){r.x=h.x,r.y=h.y,n=Math.max(n,r.maxY),i=Math.max(i,r.maxX),r.width===h.width&&r.height===h.height?(m=_.pop(),e<_.length&&(_[e]=m)):r.height===h.height?(h.x+=r.width+l,h.width-=r.width+l):(r.width!==h.width&&_.push(new Box(h.x+(r.width+l),h.y,h.width-(r.width+l),r.height)),h.y+=r.height+l,h.height-=r.height+l);break}}var g=Box.Common(Object.values(p)),f=Vec.Sub(d.center,g.center),b=[];for(let s=0;se.id);if(!(this.getInstanceState().isReadonly||t.length<2)){t=compact(t.map(e=>this.getShape(e)));const o=Object.fromEntries(t.map(e=>[e.id,this.getShapePageBounds(e)])),a=Box.Common(compact(Object.values(o))),s=[];t.forEach(e=>{var t=o[e.id];if(t){var r={x:0,y:0};switch(n){case\\\"top\\\":r.y=a.minY-t.minY;break;case\\\"center-vertical\\\":r.y=a.midY-t.minY-t.height/2;break;case\\\"bottom\\\":r.y=a.maxY-t.minY-t.height;break;case\\\"left\\\":r.x=a.minX-t.minX;break;case\\\"center-horizontal\\\":r.x=a.midX-t.minX-t.width/2;break;case\\\"right\\\":r.x=a.maxX-t.minX-t.width}var i=this.getShapeParent(e),i=i?Vec.Rot(r,-this.getShapePageTransform(i).decompose().rotation):r;s.push(this.getChangesToTranslateShape(e,Vec.Add(e,i)))}}),this.updateShapes(s)}return this}distributeShapes(e,t){var s=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);if(!(this.getInstanceState().isReadonly||s.length<3)){var l=s.length,s=compact(s.map(e=>this.getShape(e)));const d=Object.fromEntries(s.map(e=>[e.id,this.getShapePageBounds(e)]));let n,r,i,o,a;a=\\\"horizontal\\\"===t?(n=\\\"x\\\",r=\\\"minX\\\",i=\\\"maxX\\\",o=\\\"midX\\\",\\\"width\\\"):(n=\\\"y\\\",r=\\\"minY\\\",i=\\\"maxY\\\",o=\\\"midY\\\",\\\"height\\\");const u=[],p=s.sort((e,t)=>d[e.id][r]-d[t.id][r])[0],h=s.sort((e,t)=>d[t.id][i]-d[e.id][i])[0];var c=d[p.id][o];const m=(d[h.id][o]-c)/(l-1),g=c+m;s.filter(e=>e!==p&&e!==h).sort((e,t)=>d[e.id][o]-d[t.id][o]).forEach((e,t)=>{var r={x:0,y:0},i=(r[n]=g+m*t-d[e.id][a]/2-d[e.id][n],this.getShapeParent(e)),i=i?Vec.Rot(r,-this.getShapePageTransform(i).rotation()):r;u.push(this.getChangesToTranslateShape(e,Vec.Add(e,i)))}),this.updateShapes(u)}return this}stretchShapes(e,t){var r=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);if(!(this.getInstanceState().isReadonly||r.length<2)){const o=compact(r.map(e=>this.getShape(e))),a=Object.fromEntries(r.map(e=>[e,this.getShapeGeometry(e).bounds])),s=Object.fromEntries(r.map(e=>[e,this.getShapePageBounds(e)])),l=Box.Common(compact(Object.values(s)));switch(t){case\\\"vertical\\\":this.batch(()=>{for(const n of o){var e,t,r,i;this.getShapePageTransform(n).rotation()%PI2||(e=a[n.id],t=s[n.id],r=new Vec(0,l.minY-t.minY),({x:i,y:r}=((i=this.getShapeParentTransform(n))&&r.rot(-i.rotation()),Vec.Add(r,n))),this.updateShapes([{id:n.id,type:n.type,x:i,y:r}],{squashing:!0}),i=new Vec(1,l.height/t.height),this.resizeShape(n.id,i,{initialBounds:e,scaleOrigin:new Vec(t.center.x,l.minY),scaleAxisRotation:0}))}});break;case\\\"horizontal\\\":this.batch(()=>{for(const n of o){var e,t,r=a[n.id],i=s[n.id];this.getShapePageTransform(n).rotation()%PI2||(e=new Vec(l.minX-i.minX,0),({x:t,y:e}=((t=this.getShapeParentTransform(n))&&e.rot(-t.rotation()),Vec.Add(e,n))),this.updateShapes([{id:n.id,type:n.type,x:t,y:e}],{squashing:!0}),t=new Vec(l.width/i.width,1),this.resizeShape(n.id,t,{initialBounds:r,scaleOrigin:new Vec(l.minX,i.center.y),scaleAxisRotation:0}))}})}}return this}resizeShape(e,t,r={}){var i=\\\"string\\\"==typeof e?e:e.id;if(!this.getInstanceState().isReadonly){Number.isFinite(t.x)||(t=new Vec(1,t.y)),Number.isFinite(t.y)||(t=new Vec(t.x,1));var n=null!=(n=r.initialShape)?n:this.getShape(i);if(n){var o=null!=(o=r.scaleOrigin)?o:null==(o=this.getShapePageBounds(i))?void 0:o.center;if(o){var a=r.initialPageTransform?Mat.Cast(r.initialPageTransform):this.getShapePageTransform(i);if(a){var s=a.rotation();if(null!=s){var l=null!=(l=r.scaleAxisRotation)?l:s,c=null!=(c=r.initialBounds)?c:this.getShapeGeometry(i).bounds;if(c){if(!areAnglesCompatible(s,l))return this._resizeUnalignedShape(i,t,{...r,initialBounds:c,scaleOrigin:o,scaleAxisRotation:l,initialPageTransform:a,initialShape:n});var d,u,p,h=this.getShapeUtil(n);h.isAspectRatioLocked(n)&&(t=Math.abs(t.x)>Math.abs(t.y)?new Vec(t.x,Math.sign(t.y)*Math.abs(t.x)):new Vec(Math.sign(t.x)*Math.abs(t.y),t.y)),h.onResize&&h.canResize(n)?(d=this._scalePagePoint(Mat.applyToPoint(a,new Vec(0,0)),o,t,l),d=this.getPointInParentSpace(n.id,d),p=new Vec(t.x,t.y),s=approximately((s-l)%Math.PI,0),p.x=s?t.x:t.y,p.y=s?t.y:t.x,s=Mat.applyToPoint(a,new Vec),({x:s,y:u}=this.getPointInParentSpace(n.id,s)),this.updateShapes([{id:i,type:n.type,x:d.x,y:d.y,...h.onResize({...n,x:s,y:u},{newPoint:d,handle:null!=(s=r.dragHandle)?s:\\\"bottom_right\\\",mode:null!=(u=r.mode)?u:\\\"scale_shape\\\",scaleX:p.x,scaleY:p.y,initialBounds:c,initialShape:n})}],{squashing:!0})):(d=Mat.applyToPoint(a,c.center),s=this._scalePagePoint(d,o,t,l),u=this.getPointInParentSpace(n.id,d),p=this.getPointInParentSpace(n.id,s),h=Vec.Sub(p,u),this.updateShapes([{id:i,type:n.type,x:n.x+h.x,y:n.y+h.y}],{squashing:!0}))}}}}}}return this}_scalePagePoint(e,t,r,i){var n=Vec.RotWith(e,t,-i).sub(t),n=Vec.MulV(n,r);return Vec.Add(n,t).rotWith(t,i)}_resizeUnalignedShape(e,t,r){var i=r.initialShape[\\\"type\\\"],n=new Vec(t.x,t.y),n=(Math.abs(t.x)>Math.abs(t.y)?n.x=Math.sign(t.x)*Math.abs(t.y):n.y=Math.sign(t.y)*Math.abs(t.x),this.resizeShape(e,n,{initialShape:r.initialShape,initialBounds:r.initialBounds}),Math.sign(t.x)*Math.sign(t.y)<0&&(n=Mat.Decompose(r.initialPageTransform)[\\\"rotation\\\"],this.updateShapes([{id:e,type:i,rotation:n-=2*n}],{squashing:!0})),Mat.applyToPoint(r.initialPageTransform,r.initialBounds.center)),n=this._scalePagePoint(n,r.scaleOrigin,t,r.scaleAxisRotation),o=this.getShapePageBounds(e),a=this.getShapePageTransform(e),o=o.center,a=a.point();return o&&a&&(n=Vec.Sub(n,o),o=Vec.Add(a,n),({x:a,y:n}=this.getPointInParentSpace(e,o)),this.updateShapes([{id:e,type:i,x:a,y:n}],{squashing:!0})),this}getInitialMetaForShape(e){return{}}createShape(e){return this._createShapes([e]),this}createShapes(e){if(Array.isArray(e))return this._createShapes(e),this;throw Error(\\\"Editor.createShapes: must provide an array of shapes or shape partials\\\")}animateShape(e,t){return this.animateShapes([e],t)}animateShapes(o,e={}){const{duration:a=500,easing:s=EASINGS.linear}=e,l=uniqueId();let c=a,d;const u=[];var t;for(let n=0,m=o.length;n{if((c-=e)<0){const n=this[\\\"animatingShapes\\\"];var t=o.filter(e=>e&&n.get(e.id)===l);t.length&&this.updateShapes(t,{squashing:!1}),void this.removeListener(\\\"tick\\\",h)}else{d=s(1-c/a);var r=this[\\\"animatingShapes\\\"],i=[];for(let e=0,t=u.length;e(e[t]=r+(i-r)*d,e),{})});this._updateShapes(i,{squashing:!0})}};return this.addListener(\\\"tick\\\",h),this}groupShapes(e,t=createShapeId()){if(!Array.isArray(e))throw Error(\\\"Editor.groupShapes: must provide an array of shapes or shape ids\\\");if(!this.getInstanceState().isReadonly){var r=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);if(!(r.length<=1)){var r=compact(this._getUnlockedShapeIds(r).map(e=>this.getShape(e)));const n=r.sort(sortByIndex).map(e=>e.id),{x:o,y:a}=Box.Common(compact(r.map(e=>this.getShapePageBounds(e)))).point,s=null!=(i=this.findCommonAncestor(r))?i:this.getCurrentPageId();if(\\\"select\\\"===this.getCurrentToolId()){this.isIn(\\\"select.idle\\\")||this.cancel();var i=r.filter(e=>e.parentId===s).sort(sortByIndex);const l=null==(r=i[i.length-1])?void 0:r.index;this.batch(()=>{this.createShapes([{id:t,type:\\\"group\\\",parentId:s,index:l,x:o,y:a,opacity:1,props:{}}]),this.reparentShapes(n,t),this.select(t)})}}}return this}ungroupShapes(e){var t=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);if(!this.getInstanceState().isReadonly&&0!==t.length&&\\\"select\\\"===this.getCurrentToolId()){this.isIn(\\\"select.idle\\\")||this.cancel();const o=new Set;t=compact(t.map(e=>this.getShape(e)));const a=[];t.forEach(e=>{this.isShapeOfType(e,\\\"group\\\")?a.push(e):o.add(e.id)}),0!==a.length&&this.batch(()=>{for(let n=0,e=a.length;ne.id)),this.select(...o)})}return this}updateShape(e,t){return this.updateShapes([e],t),this}updateShapes(e,t){var r=Array(e.length);for(let o=0,a=e.length;o{var t;return!(null!=(t=this.getShape(e))&&t.isLocked)})}deleteShapes(e){if(Array.isArray(e))return this._deleteShapes(this._getUnlockedShapeIds(\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id))),this;throw Error(\\\"Editor.deleteShapes: must provide an array of shapes or shapeIds\\\")}deleteShape(e){return this.deleteShapes([\\\"string\\\"==typeof e?e:e.id]),this}_extractSharedStyles(e,r){if(this.isShapeOfType(e,\\\"group\\\")){var i=this._parentIdsToChildIds.get()[e.id];if(i)for(let e=0,t=i.length;e{var t=this.getShape(e);if(t)if(this.isShapeOfType(t,\\\"group\\\"))for(const r of this.getSortedChildIdsForParent(t.id))n(r);else i.push(t)};for(const t of this.getSelectedShapeIds())n(t);let e=null;for(const r of i)if(null===e)e=r.opacity;else if(e!==r.opacity)return{type:\\\"mixed\\\"};if(null!==e)return{type:\\\"shared\\\",value:e}}return{type:\\\"shared\\\",value:this.getInstanceState().opacityForNextShape}}setOpacityForNextShapes(e,t){return this.updateInstanceState({opacityForNextShape:e},t),this}setOpacityForSelectedShapes(t,e){var r=this.getSelectedShapes();if(0{if(this.isShapeOfType(e,\\\"group\\\"))for(const t of this.getSortedChildIdsForParent(e))n(this.getShape(t));else i.push(e)};for(const o of r)n(o);this.updateShapes(i.map(e=>({id:e.id,type:e.type,opacity:t})),e)}return this}setStyleForNextShapes(e,t,r){var i=this.getInstanceState().stylesForNextShape;return this.updateInstanceState({stylesForNextShape:{...i,[e.id]:t}},r),this}setStyleForSelectedShapes(n,o,e){var t=this.getSelectedShapes();if(0{if(this.isShapeOfType(e,\\\"group\\\"))for(const i of this.getSortedChildIdsForParent(e.id))s(this.getShape(i));else{var t=this.getShapeUtil(e),r=this.styleProps[e.type].get(n);r&&(r={id:e.id,type:e.type,props:{[r]:o}},a.push({util:t,originalShape:e,updatePartial:r}))}};for(const r of t)s(r);this.updateShapes(a.map(({updatePartial:e})=>e),e)}return this}registerExternalAssetHandler(e,t){return this.externalAssetContentHandlers[e]=t,this}async getAssetForExternalContent(e){var t,r;return null==(r=(t=this.externalAssetContentHandlers)[e.type])?void 0:r.call(t,e)}registerExternalContentHandler(e,t){return this.externalContentHandlers[e]=t,this}async putExternalContent(e){var t,r;return null==(r=(t=this.externalContentHandlers)[e.type])?void 0:r.call(t,e)}getContentFromCurrentPage(e){var t=\\\"string\\\"==typeof e[0]?e:e.map(e=>e.id);if(t&&0!==t.length){const s={};let a=dedupe(t.map(e=>this.getShape(e)).sort(sortByIndex).flatMap(e=>{const t=[e];return this.visitDescendants(e.id,e=>{t.push(this.getShape(e))}),t}));a=a.map(e=>{if(s[e.id]=this.getShapePageTransform(e.id),e=structuredClone(e),this.isShapeOfType(e,\\\"arrow\\\")){const n=\\\"binding\\\"===e.props.start.type?e.props.start.boundShapeId:void 0,o=\\\"binding\\\"===e.props.end.type?e.props.end.boundShapeId:void 0;var t,r=this.getArrowInfo(e),i=(\\\"binding\\\"!==e.props.start.type||a.some(e=>e.id===n)||(null!=r&&r.isValid?(({x:i,y:t}=r.start.point),e.props.start={type:\\\"point\\\",x:i,y:t}):(i=getArrowTerminalsInArrowSpace(this,e)[\\\"start\\\"],e.props.start={type:\\\"point\\\",x:i.x,y:i.y})),\\\"binding\\\"!==e.props.end.type||a.some(e=>e.id===o)||(null!=r&&r.isValid?(({x:t,y:i}=r.end.point),e.props.end={type:\\\"point\\\",x:t,y:i}):(t=getArrowTerminalsInArrowSpace(this,e)[\\\"end\\\"],e.props.end={type:\\\"point\\\",x:t.x,y:t.y})),(getIsArrowStraight(e)?getStraightArrowInfo:getCurvedArrowInfo)(this,e));null!=r&&r.isValid&&null!=i&&i.isValid&&!getIsArrowStraight(e)&&(t=Vec.Med(r.start.handle,r.end.handle),r=Vec.Dist(r.middle,t),i=Vec.Dist(i.middle,t),e.props.bend<0?e.props.bend+=i-r:e.props.bend-=i-r)}return e});const i=[],r=(a.forEach(t=>{var e,r;void 0===a.find(e=>e.id===t.parentId)&&(e=(r=this.getShapePageTransform(t.id)).point(),r=r.rotation(),t.x=e.x,t.y=e.y,t.rotation=r,t.parentId=this.getCurrentPageId(),i.push(t.id))}),new Set);return a.forEach(e=>{\\\"assetId\\\"in e.props&&null!==e.props.assetId&&r.add(e.props.assetId)}),{shapes:a,rootShapeIds:i,schema:this.store.schema.serialize(),assets:compact(Array.from(r).map(e=>this.getAsset(e)))}}}putContentOntoCurrentPage(e,t={}){var r;if(this.getInstanceState().isReadonly)return this;if(!e.schema)throw Error(\\\"Could not put content:\\\\ncontent is missing a schema.\\\");const{select:n=!1,preserveIds:i=!1,preservePosition:o=!1}=t;let{point:a=void 0}=t;const s=this.getCurrentPageId(),l=e[\\\"rootShapeIds\\\"];var c,d=[],u=[],p={store:{...Object.fromEntries(e.assets.map(e=>[e.id,e])),...Object.fromEntries(e.shapes.map(e=>[e.id,e]))},schema:e.schema},p=this.store.schema.migrateStoreSnapshot(p);if(\\\"error\\\"===p.type)throw Error(\\\"Could not put content: could not migrate content\\\");for(const j of Object.values(p.value))switch(j.typeName){case\\\"asset\\\":d.push(j);break;case\\\"shape\\\":u.push(j)}const h=new Map(u.map(e=>[e.id,createShapeId()]));let m=this.getCurrentPageId(),g=Infinity,_=[];for(const T of this.getSelectedShapes()){if(0===g)break;var f=this.isShapeOfType(T,\\\"frame\\\"),b=this.getShapeAncestors(T),v=(f&&b.push(T),f?b.length+1:b.length);if(ve.id===l[0]),this.isShapeOfType(p,\\\"frame\\\"))&&this.isShapeOfType(c,\\\"frame\\\")&&c.props.w===(null==p?void 0:p.props.w)&&c.props.h===(null==p?void 0:p.props.h)&&(x=!0):m=s),(x=x||h.has(m))&&(m=this.getShape(m).parentId),this.getHighestIndexForParent(m));const S=[],w=u.map(e=>{let t;var r;return i?(t=structuredClone(e),h.set(e.id,e.id)):(r=h.get(e.id),t=structuredClone({...e,id:r})),l.includes(e.id)&&(t.parentId=s,S.push(t)),h.has(t.parentId)?t.parentId=h.get(e.parentId):(l.push(t.id),y=getIndexAbove(t.index=y)),this.isShapeOfType(t,\\\"arrow\\\")&&(\\\"binding\\\"===t.props.start.type&&(r=h.get(t.props.start.boundShapeId),t.props.start=r?{...t.props.start,boundShapeId:r}:{type:\\\"point\\\",x:0,y:0}),\\\"binding\\\"===t.props.end.type)&&(r=h.get(t.props.end.boundShapeId),t.props.end=r?{...t.props.end,boundShapeId:r}:{type:\\\"point\\\",x:0,y:0}),t});if(w.length+this.getCurrentPageShapeIds().size>MAX_SHAPES_PER_PAGE)alertMaxShapes(this);else{const E=[];var I=[];for(const P of d)this.store.has(P.id)||(\\\"image\\\"!==P.type&&\\\"video\\\"!==P.type||null==(r=P.props.src)||!r.startsWith(\\\"data:image\\\")||(I.push(structuredClone(P)),P.props.src=null),E.push(P));Promise.allSettled(I.map(async e=>{var t=await dataUrlToFile(e.props.src,e.props.name,null!=(t=e.props.mimeType)?t:\\\"image/png\\\"),t=await this.getAssetForExternalContent({type:\\\"file\\\",file:t});t?this.updateAssets([{...t,id:e.id}]):this.deleteAssets([e.id])})),this.batch(()=>{0e.id)),m!==s&&this.reparentShapes(S.map(e=>e.id),m);var e=w.map(e=>this.getShape(e.id)),t=Box.Common(e.map(e=>this.getShapePageBounds(e)));if(void 0===a&&(a=isPageId(m)?(e=this.getViewportPageBounds(),(o||e.includes(Box.From(t))?t:e).center):(e=this.getShape(m),Mat.applyToPoint(this.getShapePageTransform(e),this.getShapeGeometry(e).bounds.center))),1===S.length){const r=S[0];if(this.isShapeOfType(r,\\\"frame\\\"))for(;this.getShapesAtPoint(a).some(e=>this.isShapeOfType(e,\\\"frame\\\")&&e.props.w===r.props.w&&e.props.h===r.props.h);)a.x+=t.w+16}e=Box.Common(compact(S.map(({id:e})=>this.getShapePageBounds(e)))).center;const i=Vec.Sub(a,e);this.updateShapes(S.map(({id:e})=>{var t=this.getShape(e),r=this.getShapeParentTransform(e).decompose().rotation,r=Vec.Rot(i,-r);return{id:t.id,type:t.type,x:t.x+r.x,y:t.y+r.y}}))})}return this}async getSvgElement(e,t={}){const r=await getSvgJsx(this,e,t);if(r){var i=document.createDocumentFragment();const n=(0,import_client.createRoot)(i);(0,import_react_dom.flushSync)(()=>{n.render(r.jsx)});i=i.firstElementChild;return assert(i instanceof SVGSVGElement,\\\"Expected an SVG element\\\"),n.unmount(),{svg:i,width:r.width,height:r.height}}}async getSvgString(e,t={}){var r=await this.getSvgElement(e,t);if(r)return{svg:(new XMLSerializer).serializeToString(r.svg),width:r.width,height:r.height}}async getSvg(e,t={}){var r=await this.getSvgElement(e,t);if(r)return r.svg}_updateInputsFromEvent(e){var{pointerVelocity:t,previousScreenPoint:r,previousPagePoint:i,currentScreenPoint:n,currentPagePoint:o}=this.inputs,a=this.store.unsafeGetWithoutCapture(TLINSTANCE_ID)[\\\"screenBounds\\\"],{x:s,y:l,z:c}=this.store.unsafeGetWithoutCapture(this.getCameraId()),d=e.point.x-a.x,a=e.point.y-a.y,u=null!=(u=e.point.z)?u:.5,r=(r.setTo(n),i.setTo(o),n.set(d,a),d/c-s),i=a/c-l;isFinite(r)&&isFinite(i)&&o.set(r,i,u),this.inputs.isPen=\\\"pointer\\\"===e.type&&e.isPen,\\\"pointer_down\\\"!==e.name&&!this.inputs.isPinching||t.set(0,0),this.store.put([{id:TLPOINTER_ID,typeName:\\\"pointer\\\",x:o.x,y:o.y,lastActivityTimestamp:\\\"pointer\\\"===e.type&&e.pointerId===INTERNAL_POINTER_IDS.CAMERA_MOVE&&null!=(d=null==(n=this.store.unsafeGetWithoutCapture(TLPOINTER_ID))?void 0:n.lastActivityTimestamp)?d:this._tickManager.now,meta:{}}])}cancel(){return this.dispatch({type:\\\"misc\\\",name:\\\"cancel\\\"}),this}interrupt(){return this.dispatch({type:\\\"misc\\\",name:\\\"interrupt\\\"}),this}complete(){return this.dispatch({type:\\\"misc\\\",name:\\\"complete\\\"}),this}cancelDoubleClick(){this._clickManager.cancelDoubleClickTimeout()}_flushEventsForTick(r){this.batch(()=>{if(0{var e;return null!=(e=null==r?void 0:r.isDarkMode)?e:t.user.getIsDarkMode()},[r,t])}__decorateClass5([computed],Editor.prototype,\\\"getCanUndo\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getCanRedo\\\",1),__decorateClass5([computed],Editor.prototype,\\\"_getArrowBindingsIndex\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getArrowInfoCache\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getPath\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getCurrentTool\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getCurrentToolId\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getDocumentSettings\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getInstanceState\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getOpenMenus\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getIsMenuOpen\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getPageStates\\\",1),__decorateClass5([computed],Editor.prototype,\\\"_getPageStatesQuery\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getCurrentPageState\\\",1),__decorateClass5([computed],Editor.prototype,\\\"_getCurrentPageStateId\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getSelectedShapeIds\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getSelectedShapes\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getOnlySelectedShapeId\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getOnlySelectedShape\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getSelectionPageBounds\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getSelectionRotation\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getSelectionRotatedPageBounds\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getSelectionRotatedScreenBounds\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getFocusedGroupId\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getFocusedGroup\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getEditingShapeId\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getEditingShape\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getHoveredShapeId\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getHoveredShape\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getHintingShapeIds\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getHintingShape\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getErasingShapeIds\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getErasingShapes\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getCameraId\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getCamera\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getZoomLevel\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getViewportScreenBounds\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getViewportScreenCenter\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getViewportPageBounds\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getViewportPageCenter\\\",1),__decorateClass5([computed],Editor.prototype,\\\"_getCollaboratorsQuery\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getCollaborators\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getCollaboratorsOnCurrentPage\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getRenderingShapes\\\",1),__decorateClass5([computed],Editor.prototype,\\\"_getAllPagesQuery\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getPages\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getCurrentPageId\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getCurrentPageShapeIdsSorted\\\",1),__decorateClass5([computed],Editor.prototype,\\\"_getAllAssetsQuery\\\",1),__decorateClass5([computed],Editor.prototype,\\\"_getShapeGeometryCache\\\",1),__decorateClass5([computed],Editor.prototype,\\\"_getShapeHandlesCache\\\",1),__decorateClass5([computed],Editor.prototype,\\\"_getShapePageTransformCache\\\",1),__decorateClass5([computed],Editor.prototype,\\\"_getShapePageBoundsCache\\\",1),__decorateClass5([computed],Editor.prototype,\\\"_getShapeClipPathCache\\\",1),__decorateClass5([computed],Editor.prototype,\\\"_getShapeMaskCache\\\",1),__decorateClass5([computed],Editor.prototype,\\\"_getShapeMaskedPageBoundsCache\\\",1),__decorateClass5([computed],Editor.prototype,\\\"_notVisibleShapes\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getCulledShapes\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getCurrentPageBounds\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getCurrentPageShapes\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getCurrentPageShapesSorted\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getCurrentPageRenderingShapesSorted\\\",1),__decorateClass5([computed],Editor.prototype,\\\"_getSelectionSharedStyles\\\",1),__decorateClass5([computed({isEqual:(e,t)=>e.equals(t)})],Editor.prototype,\\\"getSharedStyles\\\",1),__decorateClass5([computed],Editor.prototype,\\\"getSharedOpacity\\\",1),init_esbuild_inject(),init_esbuild_inject();var CORNER_SVG=\\\"\\\",EDGE_SVG=\\\"\\\",ROTATE_CORNER_SVG='';function getCursorCss(e,t,r,i,n,o=16,a=16){var s=PI/180*(-r-t),l=Math.sin(s),s=Math.cos(s),c=+s-+l,l=+l+ +s;return\\\"url(\\\\\\\"data:image/svg+xml,\\\")+e.replaceAll('\\\"',\\\"'\\\")+'\\\") '.concat(o,\\\" \\\").concat(a,\\\", pointer\\\")}var STATIC_CURSORS=[\\\"default\\\",\\\"pointer\\\",\\\"cross\\\",\\\"move\\\",\\\"grab\\\",\\\"grabbing\\\",\\\"text\\\",\\\"zoom-in\\\",\\\"zoom-out\\\"],CURSORS={none:()=>\\\"none\\\",\\\"ew-resize\\\":(e,t,r)=>getCursorCss(EDGE_SVG,e,0,t,r),\\\"ns-resize\\\":(e,t,r)=>getCursorCss(EDGE_SVG,e,90,t,r),\\\"nesw-resize\\\":(e,t,r)=>getCursorCss(CORNER_SVG,e,0,t,r),\\\"nwse-resize\\\":(e,t,r)=>getCursorCss(CORNER_SVG,e,90,t,r),\\\"nwse-rotate\\\":(e,t,r)=>getCursorCss(ROTATE_CORNER_SVG,e,0,t,r),\\\"nesw-rotate\\\":(e,t,r)=>getCursorCss(ROTATE_CORNER_SVG,e,90,t,r),\\\"senw-rotate\\\":(e,t,r)=>getCursorCss(ROTATE_CORNER_SVG,e,180,t,r),\\\"swne-rotate\\\":(e,t,r)=>getCursorCss(ROTATE_CORNER_SVG,e,270,t,r)};function getCursor(e,t=0,r=\\\"black\\\"){return CURSORS[e](radiansToDegrees(t),!1,r)}function useCursor(){const r=useEditor(),i=useContainer(),n=useIsDarkMode();useQuickReactor(\\\"useCursor\\\",()=>{var{type:e,rotation:t}=r.getInstanceState().cursor;STATIC_CURSORS.includes(e)?i.style.setProperty(\\\"--tl-cursor\\\",\\\"var(--tl-cursor-\\\".concat(e,\\\")\\\")):i.style.setProperty(\\\"--tl-cursor\\\",getCursor(e,t,n?\\\"white\\\":\\\"black\\\"))},[r,i,n])}init_esbuild_inject();var import_react32=__toESM(require(\\\"react\\\"),1);function useDarkMode(){var e=useEditor();const t=useContainer(),r=useIsDarkMode(),i=useValue(debugFlags.forceSrgb);import_react32[\\\"default\\\"].useEffect(()=>{r?(t.setAttribute(\\\"data-color-mode\\\",\\\"dark\\\"),t.classList.remove(\\\"tl-theme__light\\\"),t.classList.add(\\\"tl-theme__dark\\\")):(t.setAttribute(\\\"data-color-mode\\\",\\\"light\\\"),t.classList.remove(\\\"tl-theme__dark\\\"),t.classList.add(\\\"tl-theme__light\\\")),i?t.classList.add(\\\"tl-theme__force-sRGB\\\"):t.classList.remove(\\\"tl-theme__force-sRGB\\\")},[e,t,i,r])}init_esbuild_inject();var import_react33=require(\\\"react\\\");function useEvent(e){const r=(0,import_react33.useRef)();return(0,import_react33.useLayoutEffect)(()=>{r.current=e}),(0,import_react33.useDebugValue)(e),(0,import_react33.useCallback)((...e)=>{var t=r.current;return assert(t,\\\"fn does not exist\\\"),t(...e)},[])}init_esbuild_inject();var import_react34=require(\\\"react\\\");function useFocusEvents(e){const t=useEditor();var r=useContainer();(0,import_react34.useLayoutEffect)(()=>{e?(t.getInstanceState().isFocused||t.updateInstanceState({isFocused:!0}),t.getContainer().focus()):t.getInstanceState().isFocused&&t.updateInstanceState({isFocused:!1})},[t,r,e])}init_esbuild_inject();var import_react35=require(\\\"react\\\");function useForceUpdate(){const[,e]=(0,import_react35.useState)(0);(0,import_react35.useEffect)(()=>e(e=>e+1),[])}init_esbuild_inject();var _a,_b,import_react37=require(\\\"react\\\"),tabIdKey=(init_esbuild_inject(),init_esbuild_inject(),\\\"TLDRAW_TAB_ID_v2\\\"),window2=globalThis.window;function iOS(){return!!window2&&([\\\"iPad Simulator\\\",\\\"iPhone Simulator\\\",\\\"iPod Simulator\\\",\\\"iPad\\\",\\\"iPhone\\\",\\\"iPod\\\"].includes(window2.navigator.platform)||window2.navigator.userAgent.includes(\\\"Mac\\\")&&\\\"ontouchend\\\"in document)}var TAB_ID=window2?null!=(_b=null!=(_a=window2[tabIdKey])?_a:getFromSessionStorage(tabIdKey))?_b:\\\"TLDRAW_INSTANCE_STATE_V1_\\\"+uniqueId():\\\"\\\",Versions13=(window2&&(window2[tabIdKey]=TAB_ID,iOS()?setInSessionStorage(tabIdKey,TAB_ID):deleteFromSessionStorage(tabIdKey)),null!=window2&&window2.addEventListener(\\\"beforeunload\\\",()=>{setInSessionStorage(tabIdKey,TAB_ID)}),{Initial:0}),CURRENT_SESSION_STATE_SNAPSHOT_VERSION=Math.max(...Object.values(Versions13));function migrate(e){e.version,Versions13.Initial,e.version=CURRENT_SESSION_STATE_SNAPSHOT_VERSION}var sessionStateSnapshotValidator=validation_exports.object({version:validation_exports.number,currentPageId:pageIdValidator,isFocusMode:validation_exports[\\\"boolean\\\"],exportBackground:validation_exports[\\\"boolean\\\"],isDebugMode:validation_exports[\\\"boolean\\\"],isToolLocked:validation_exports[\\\"boolean\\\"],isGridMode:validation_exports[\\\"boolean\\\"],pageStates:validation_exports.arrayOf(validation_exports.object({pageId:pageIdValidator,camera:validation_exports.object({x:validation_exports.number,y:validation_exports.number,z:validation_exports.number}),selectedShapeIds:validation_exports.arrayOf(shapeIdValidator),focusedGroupId:shapeIdValidator.nullable()}))});function migrateAndValidateSessionStateSnapshot(e){if(!e||\\\"object\\\"!=typeof e)return console.warn(\\\"Invalid instance state\\\"),null;if(!(\\\"version\\\"in e)||\\\"number\\\"!=typeof e.version)return console.warn(\\\"No version in instance state\\\"),null;e.version!==CURRENT_SESSION_STATE_SNAPSHOT_VERSION&&migrate(e=structuredClone(e));try{return sessionStateSnapshotValidator.validate(e)}catch(t){return console.warn(t),null}}function createSessionStateSnapshotSignal(n){const r=n.query.ids(\\\"page\\\");return computed(\\\"sessionStateSnapshot\\\",()=>{var e,t=n.get(TLINSTANCE_ID);return t?(e=[...r.get()],{version:CURRENT_SESSION_STATE_SNAPSHOT_VERSION,currentPageId:t.currentPageId,exportBackground:t.exportBackground,isFocusMode:t.isFocusMode,isDebugMode:t.isDebugMode,isToolLocked:t.isToolLocked,isGridMode:t.isGridMode,pageStates:e.map(e=>{var t,r=n.get(InstancePageStateRecordType.createId(e)),i=n.get(CameraRecordType.createId(e));return{pageId:e,camera:{x:null!=(t=null==i?void 0:i.x)?t:0,y:null!=(t=null==i?void 0:i.y)?t:0,z:null!=(t=null==i?void 0:i.z)?t:1},selectedShapeIds:null!=(i=null==r?void 0:r.selectedShapeIds)?i:[],focusedGroupId:null!=(t=null==r?void 0:r.focusedGroupId)?t:null}})}):null})}function loadSessionStateSnapshotIntoStore(e,t){var r=migrateAndValidateSessionStateSnapshot(t);if(r){const o={added:{},updated:{},removed:{...objectMapFromEntries(e.allRecords().filter(e=>\\\"instance_page_state\\\"===e.typeName||\\\"camera\\\"===e.typeName).map(e=>[e.id,e]))}},a=(e.has(TLINSTANCE_ID)&&(o.removed[TLINSTANCE_ID]=e.get(TLINSTANCE_ID)),{removed:{},updated:{},added:{[TLINSTANCE_ID]:e.schema.types.instance.create({id:TLINSTANCE_ID,currentPageId:r.currentPageId,isDebugMode:r.isDebugMode,isFocusMode:r.isFocusMode,isToolLocked:r.isToolLocked,isGridMode:r.isGridMode,exportBackground:r.exportBackground})}});for(const s of r.pageStates){var i=CameraRecordType.createId(s.pageId),n=InstancePageStateRecordType.createId(s.pageId);a.added[i]=CameraRecordType.create({id:CameraRecordType.createId(s.pageId),x:s.camera.x,y:s.camera.y,z:s.camera.z}),a.added[n]=InstancePageStateRecordType.create({id:InstancePageStateRecordType.createId(s.pageId),pageId:s.pageId,selectedShapeIds:s.selectedShapeIds,focusedGroupId:s.focusedGroupId})}transact(()=>{e.applyDiff(squashRecordDiffs([o,a])),e.ensureStoreIsUsable()})}}function extractSessionStateFromLegacySnapshot(r){var e,t=[];for(const a of Object.values(r))null!=(e=a.typeName)&&e.match(/^(instance.*|pointer|camera)$/)&&t.push(a);const i=t.filter(e=>\\\"instance\\\"===e.typeName&&e.id!==TLINSTANCE_ID)[0];if(!i)return null;var n={version:CURRENT_SESSION_STATE_SNAPSHOT_VERSION,currentPageId:i.currentPageId,exportBackground:!!i.exportBackground,isFocusMode:!!i.isFocusMode,isDebugMode:!!i.isDebugMode,isToolLocked:!!i.isToolLocked,isGridMode:!1,pageStates:t.filter(e=>\\\"instance_page_state\\\"===e.typeName&&e.instanceId===i.id).map(e=>{var t=null!=(t=r[e.cameraId])?t:{x:0,y:0,z:1};return{pageId:e.pageId,camera:{x:t.x,y:t.y,z:t.z},selectedShapeIds:e.selectedShapeIds,focusedGroupId:e.focusedGroupId}})};try{return sessionStateSnapshotValidator.validate(n),n}catch(o){return null}}function showCantWriteToIndexDbAlert(){window.alert(\\\"Oops! We could not save changes to your browser's storage. We now need to reload the page and try again.\\\\n\\\\nKeep seeing this message?\\\\n• If you're using tldraw in a private or \\\\\\\"incognito\\\\\\\" window, try loading tldraw in a regular window or in a different browser.\\\\n• If your hard disk is full, try clearing up some space and then reload the page.\\\")}function showCantReadFromIndexDbAlert(){window.alert(\\\"Oops! We could not access your browser's storage—and the app won't work correctly without that. We now need to reload the page and try again.\\\\n\\\\nKeep seeing this message?\\\\n• If you're using tldraw in a private or \\\\\\\"incognito\\\\\\\" window, try loading tldraw in a regular window or in a different browser.\\\")}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var idbProxyableTypes,cursorAdvanceMethods,instanceOfAny=(t,e)=>e.some(e=>t instanceof e);function getIdbProxyableTypes(){return idbProxyableTypes=idbProxyableTypes||[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]}function getCursorAdvanceMethods(){return cursorAdvanceMethods=cursorAdvanceMethods||[IDBCursor.prototype.advance,IDBCursor.prototype[\\\"continue\\\"],IDBCursor.prototype.continuePrimaryKey]}var cursorRequestMap=new WeakMap,transactionDoneMap=new WeakMap,transactionStoreNamesMap=new WeakMap,transformCache=new WeakMap,reverseTransformCache=new WeakMap;function promisifyRequest(o){var e=new Promise((e,t)=>{const r=()=>{o.removeEventListener(\\\"success\\\",i),o.removeEventListener(\\\"error\\\",n)},i=()=>{e(wrap(o.result)),r()},n=()=>{t(o.error),r()};o.addEventListener(\\\"success\\\",i),o.addEventListener(\\\"error\\\",n)});return e.then(e=>{e instanceof IDBCursor&&cursorRequestMap.set(e,o)})[\\\"catch\\\"](()=>{}),reverseTransformCache.set(e,o),e}function cacheDonePromiseForTransaction(o){var e;transactionDoneMap.has(o)||(e=new Promise((e,t)=>{const r=()=>{o.removeEventListener(\\\"complete\\\",i),o.removeEventListener(\\\"error\\\",n),o.removeEventListener(\\\"abort\\\",n)},i=()=>{e(),r()},n=()=>{t(o.error||new DOMException(\\\"AbortError\\\",\\\"AbortError\\\")),r()};o.addEventListener(\\\"complete\\\",i),o.addEventListener(\\\"error\\\",n),o.addEventListener(\\\"abort\\\",n)}),transactionDoneMap.set(o,e))}var idbProxyTraps={get(e,t,r){if(e instanceof IDBTransaction){if(\\\"done\\\"===t)return transactionDoneMap.get(e);if(\\\"objectStoreNames\\\"===t)return e.objectStoreNames||transactionStoreNamesMap.get(e);if(\\\"store\\\"===t)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return wrap(e[t])},set(e,t,r){return e[t]=r,!0},has(e,t){return e instanceof IDBTransaction&&(\\\"done\\\"===t||\\\"store\\\"===t)||t in e}};function replaceTraps(e){idbProxyTraps=e(idbProxyTraps)}function wrapFunction(i){return i!==IDBDatabase.prototype.transaction||\\\"objectStoreNames\\\"in IDBTransaction.prototype?getCursorAdvanceMethods().includes(i)?function(...e){return i.apply(unwrap(this),e),wrap(cursorRequestMap.get(this))}:function(...e){return wrap(i.apply(unwrap(this),e))}:function(e,...t){var r=i.call(unwrap(this),e,...t);return transactionStoreNamesMap.set(r,e.sort?e.sort():[e]),wrap(r)}}function transformCachableValue(e){return\\\"function\\\"==typeof e?wrapFunction(e):(e instanceof IDBTransaction&&cacheDonePromiseForTransaction(e),instanceOfAny(e,getIdbProxyableTypes())?new Proxy(e,idbProxyTraps):e)}function wrap(e){var t;return e instanceof IDBRequest?promisifyRequest(e):transformCache.has(e)?transformCache.get(e):((t=transformCachableValue(e))!==e&&(transformCache.set(e,t),reverseTransformCache.set(t,e)),t)}var unwrap=e=>reverseTransformCache.get(e);function openDB(e,t,{blocked:r,upgrade:i,blocking:n,terminated:o}={}){const a=indexedDB.open(e,t);var s=wrap(a);return i&&a.addEventListener(\\\"upgradeneeded\\\",e=>{i(wrap(a.result),e.oldVersion,e.newVersion,wrap(a.transaction),e)}),r&&a.addEventListener(\\\"blocked\\\",e=>r(e.oldVersion,e.newVersion,e)),s.then(e=>{o&&e.addEventListener(\\\"close\\\",()=>o()),n&&e.addEventListener(\\\"versionchange\\\",e=>n(e.oldVersion,e.newVersion,e))})[\\\"catch\\\"](()=>{}),s}function deleteDB(e,{blocked:t}={}){var r=indexedDB.deleteDatabase(e);return t&&r.addEventListener(\\\"blocked\\\",e=>t(e.oldVersion,e)),wrap(r).then(()=>{})}var readMethods=[\\\"get\\\",\\\"getKey\\\",\\\"getAll\\\",\\\"getAllKeys\\\",\\\"count\\\"],writeMethods=[\\\"put\\\",\\\"add\\\",\\\"delete\\\",\\\"clear\\\"],cachedMethods=new Map;function getMethod(e,t){if(e instanceof IDBDatabase&&!(t in e)&&\\\"string\\\"==typeof t){if(cachedMethods.get(t))return cachedMethods.get(t);const n=t.replace(/FromIndex$/,\\\"\\\"),o=t!==n,a=writeMethods.includes(n);var r;return n in(o?IDBIndex:IDBObjectStore).prototype&&(a||readMethods.includes(n))?(cachedMethods.set(t,r=async function(e,...t){var r=this.transaction(e,a?\\\"readwrite\\\":\\\"readonly\\\");let i=r.store;return o&&(i=i.index(t.shift())),(await Promise.all([i[n](...t),a&&r.done]))[0]}),r):void 0}}replaceTraps(i=>({...i,get:(e,t,r)=>getMethod(e,t)||i.get(e,t,r),has:(e,t)=>!!getMethod(e,t)||i.has(e,t)}));var STORE_PREFIX=\\\"TLDRAW_DOCUMENT_v2\\\",dbNameIndexKey=\\\"TLDRAW_DB_NAME_INDEX_v2\\\",Table={Records:\\\"records\\\",Schema:\\\"schema\\\",SessionState:\\\"session_state\\\"};async function withDb(e,t){addDbName(e);var r=await openDB(e,3,{upgrade(e){e.objectStoreNames.contains(Table.Records)||e.createObjectStore(Table.Records),e.objectStoreNames.contains(Table.Schema)||e.createObjectStore(Table.Schema),e.objectStoreNames.contains(Table.SessionState)||e.createObjectStore(Table.SessionState)}});try{return await t(r)}finally{r.close()}}async function loadDataFromStore({persistenceKey:e,sessionId:s,didCancel:l}){var t=STORE_PREFIX+e;if(getAllIndexDbNames().includes(t))return await pruneSessionState({persistenceKey:e,didCancel:l}),withDb(t,async t=>{if(null==l||!l()){var r=t.transaction([Table.Records,Table.Schema,Table.SessionState],\\\"readonly\\\"),i=r.objectStore(Table.Records),n=r.objectStore(Table.Schema),o=r.objectStore(Table.SessionState);let e=s?null==(a=await o.get(s))?void 0:a.snapshot:null;e||(a=await o.getAll(),e=null==(o=a.sort((e,t)=>e.updatedAt-t.updatedAt).pop())?void 0:o.snapshot);var a={records:await i.getAll(),schema:await n.get(Table.Schema),sessionStateSnapshot:e};if(null==l||!l())return await r.done,a;r.abort()}})}async function storeChangesInIndexedDb({persistenceKey:e,schema:d,changes:u,sessionId:p,sessionStateSnapshot:h,didCancel:m}){await withDb(STORE_PREFIX+e,async e=>{var t,r,i,n,o=e.transaction([Table.Records,Table.Schema,Table.SessionState],\\\"readwrite\\\"),a=o.objectStore(Table.Records),s=o.objectStore(Table.Schema),l=o.objectStore(Table.SessionState);for([t,r]of Object.entries(u.added))await a.put(r,t);for([i,n]of Object.values(u.updated))await a.put(n,n.id);for(const c of Object.keys(u.removed))await a[\\\"delete\\\"](c);if(s.put(d.serialize(),Table.Schema),h&&p?l.put({snapshot:h,updatedAt:Date.now(),id:p},p):(h||p)&&console.error(\\\"sessionStateSnapshot and instanceId must be provided together\\\"),null!=m&&m())return o.abort();await o.done})}async function storeSnapshotInIndexedDb({persistenceKey:e,schema:s,snapshot:l,sessionId:c,sessionStateSnapshot:d,didCancel:u}){await withDb(STORE_PREFIX+e,async e=>{var t,r,i=e.transaction([Table.Records,Table.Schema,Table.SessionState],\\\"readwrite\\\"),n=i.objectStore(Table.Records),o=i.objectStore(Table.Schema),a=i.objectStore(Table.SessionState);await n.clear();for([t,r]of Object.entries(l))await n.put(r,t);if(o.put(s.serialize(),Table.Schema),d&&c?a.put({snapshot:d,updatedAt:Date.now(),id:c},c):(d||c)&&console.error(\\\"sessionStateSnapshot and instanceId must be provided together\\\"),null!=u&&u())return i.abort();await i.done})}async function pruneSessionState({persistenceKey:e,didCancel:o}){await withDb(STORE_PREFIX+e,async e=>{var t,r=e.transaction([Table.SessionState],\\\"readwrite\\\"),i=r.objectStore(Table.SessionState),n=(await i.getAll()).sort((e,t)=>e.updatedAt-t.updatedAt);if(!(n.length<10)){for({id:t}of n.slice(0,n.length-10))await i[\\\"delete\\\"](t);if(null!=o&&o())return r.abort()}await r.done})}function getAllIndexDbNames(){var e=null!=(e=JSON.parse(getFromLocalStorage(dbNameIndexKey)||\\\"[]\\\"))?e:[];return Array.isArray(e)?e:[]}function addDbName(e){var t=new Set(getAllIndexDbNames());t.add(e),setInLocalStorage(dbNameIndexKey,JSON.stringify([...t]))}var PERSIST_THROTTLE_MS=350,PERSIST_RETRY_THROTTLE_MS=1e4,UPDATE_INSTANCE_STATE=Symbol(\\\"UPDATE_INSTANCE_STATE\\\"),msg=e=>e,BroadcastChannelMock=class{constructor(e){__publicField(this,\\\"onmessage\\\")}postMessage(e){}close(){}},BC=\\\"undefined\\\"==typeof BroadcastChannel?BroadcastChannelMock:BroadcastChannel,TLLocalSyncClient=class{constructor(e,{persistenceKey:t,sessionId:r=TAB_ID,onLoad:i,onLoadError:n},o=new BC(\\\"tldraw-tab-sync-\\\".concat(t))){__publicField(this,\\\"disposables\\\",new Set),__publicField(this,\\\"diffQueue\\\",[]),__publicField(this,\\\"didDispose\\\",!1),__publicField(this,\\\"shouldDoFullDBWrite\\\",!0),__publicField(this,\\\"isReloading\\\",!1),__publicField(this,\\\"persistenceKey\\\"),__publicField(this,\\\"sessionId\\\"),__publicField(this,\\\"serializedSchema\\\"),__publicField(this,\\\"isDebugging\\\",!1),__publicField(this,\\\"documentTypes\\\"),__publicField(this,\\\"$sessionStateSnapshot\\\"),__publicField(this,\\\"initTime\\\",Date.now()),__publicField(this,\\\"isPersisting\\\",!1),__publicField(this,\\\"didLastWriteError\\\",!1),__publicField(this,\\\"scheduledPersistTimeout\\\",null),this.store=e,this.channel=o,\\\"undefined\\\"!=typeof window&&(window.tlsync=this),this.persistenceKey=t,this.sessionId=r,this.serializedSchema=this.store.schema.serialize(),this.$sessionStateSnapshot=createSessionStateSnapshotSignal(this.store),this.disposables.add(e.listen(({changes:e})=>{this.diffQueue.push(e),this.channel.postMessage(msg({type:\\\"diff\\\",storeId:this.store.id,changes:e,schema:this.serializedSchema})),this.schedulePersist()},{source:\\\"user\\\",scope:\\\"document\\\"})),this.disposables.add(e.listen(()=>{this.diffQueue.push(UPDATE_INSTANCE_STATE),this.schedulePersist()},{scope:\\\"session\\\"})),this.connect(i,n),this.documentTypes=new Set(Object.values(this.store.schema.types).filter(e=>\\\"document\\\"===e.scope).map(e=>e.typeName))}debug(...e){this.isDebugging&&console.debug(...e)}async connect(e,o){var t,r;this.debug(\\\"connecting\\\");let i;try{i=await loadDataFromStore({persistenceKey:this.persistenceKey,sessionId:this.sessionId,didCancel:()=>this.didDispose})}catch(s){return o(s),showCantReadFromIndexDbAlert(),void(\\\"undefined\\\"!=typeof window&&window.location.reload())}if(this.debug(\\\"loaded data from store\\\",i,\\\"didDispose\\\",this.didDispose),!this.didDispose)try{if(i){var n=Object.fromEntries(i.records.map(e=>[e.id,e])),a=null!=(t=i.sessionStateSnapshot)?t:extractSessionStateFromLegacySnapshot(n);const c=this.store.schema.migrateStoreSnapshot({store:n,schema:null!=(r=i.schema)?r:this.store.schema.serializeEarliestVersion()});if(\\\"error\\\"===c.type)return console.error(\\\"failed to migrate store\\\",c),void o(new Error(\\\"Failed to migrate store: \\\".concat(c.reason)));this.store.mergeRemoteChanges(()=>{this.store.put(Object.values(c.value).filter(e=>this.documentTypes.has(e.typeName)),\\\"initialize\\\")}),a&&loadSessionStateSnapshotIntoStore(this.store,a)}this.channel.onmessage=({data:e})=>{var t,r;this.debug(\\\"got message\\\",e);const i=e;var n=this.store.schema.getMigrationsSince(i.schema);if(!n.ok)return Date.now()-this.initTime<5e3?void o(new Error(\\\"Schema mismatch, please close other tabs and reload the page\\\")):(this.debug(\\\"reloading\\\"),this.isReloading=!0,void(null!=(r=null==(t=null==window?void 0:window.location)?void 0:t.reload)&&r.call(t)));0{this.store.mergeRemoteChanges(()=>{this.store.applyDiff(i.changes),this.store.ensureStoreIsUsable()})}))},this.channel.postMessage({type:\\\"announce\\\",schema:this.serializedSchema}),this.disposables.add(()=>{this.channel.close()}),e(this)}catch(l){this.debug(\\\"error loading data from store\\\",l),this.didDispose||o(l)}}close(){this.debug(\\\"closing\\\"),this.didDispose=!0,this.disposables.forEach(e=>e())}schedulePersist(){this.debug(\\\"schedulePersist\\\",this.scheduledPersistTimeout),this.scheduledPersistTimeout||(this.scheduledPersistTimeout=setTimeout(()=>{this.scheduledPersistTimeout=null,this.persistIfNeeded()},this.didLastWriteError?PERSIST_RETRY_THROTTLE_MS:PERSIST_THROTTLE_MS))}persistIfNeeded(){this.debug(\\\"persistIfNeeded\\\",{isPersisting:this.isPersisting,isReloading:this.isReloading,shouldDoFullDBWrite:this.shouldDoFullDBWrite,diffQueueLength:this.diffQueue.length,storeIsPossiblyCorrupt:this.store.isPossiblyCorrupted()}),this.scheduledPersistTimeout&&(clearTimeout(this.scheduledPersistTimeout),this.scheduledPersistTimeout=null),this.isPersisting||this.isReloading||this.store.isPossiblyCorrupted()||(this.shouldDoFullDBWrite||0this.didDispose,sessionId:this.sessionId,sessionStateSnapshot:this.$sessionStateSnapshot.get()})):(e=squashRecordDiffs(t.filter(e=>e!==UPDATE_INSTANCE_STATE)),await storeChangesInIndexedDb({persistenceKey:this.persistenceKey,changes:e,schema:this.store.schema,didCancel:()=>this.didDispose,sessionId:this.sessionId,sessionStateSnapshot:this.$sessionStateSnapshot.get()})),this.didLastWriteError=!1}catch(r){this.shouldDoFullDBWrite=!0,this.didLastWriteError=!0,console.error(\\\"failed to store changes in indexed db\\\",r),showCantWriteToIndexDbAlert(),\\\"undefined\\\"!=typeof window&&window.location.reload()}this.isPersisting=!1,this.debug(\\\"doPersist end\\\"),this.schedulePersist()}},import_react36=(init_esbuild_inject(),require(\\\"react\\\"));function createTLStore({initialData:e,defaultName:t=\\\"\\\",...r}){var i=\\\"schema\\\"in r&&r.schema?r.schema:createTLSchema({shapes:currentPageShapesToShapeMap(checkShapesAndAddCore(\\\"shapeUtils\\\"in r&&r.shapeUtils?r.shapeUtils:[])),migrations:\\\"migrations\\\"in r?r.migrations:[]});return new Store({schema:i,initialData:e,props:{defaultName:t}})}function currentPageShapesToShapeMap(e){return Object.fromEntries(e.map(e=>[e.type,{props:e.props,migrations:e.migrations}]))}function createStore(e){var t=createTLStore(e);return e.snapshot&&t.loadSnapshot(e.snapshot),{store:t,opts:e}}function useTLStore(e){var[t,r]=(0,import_react36.useState)(()=>createStore(e));return areObjectsShallowEqual(t.opts,e)||r(t=createStore(e)),t.store}function useLocalStore({persistenceKey:i,sessionId:n,...e}){var t;const[r,o]=(0,import_react37.useState)(null),a=useTLStore(e);return(0,import_react37.useEffect)(()=>{const r=uniqueId();if(i){o({id:r,storeWithStatus:{status:\\\"loading\\\"}});const t=t=>{o(e=>(null==e?void 0:e.id)===r?{id:r,storeWithStatus:t}:e)},e=new TLLocalSyncClient(a,{sessionId:n,persistenceKey:i,onLoad(){t({store:a,status:\\\"synced-local\\\"})},onLoadError(e){t({status:\\\"error\\\",error:e})}});return()=>{o(e=>(null==e?void 0:e.id)===r?null:e),e.close()}}o({id:r,storeWithStatus:{status:\\\"not-synced\\\",store:a}})},[i,a,n]),null!=(t=null==r?void 0:r.storeWithStatus)?t:{status:\\\"loading\\\"}}init_esbuild_inject(),init_esbuild_inject();var React10=__toESM(require(\\\"react\\\"),1),isMobileSafari=!1;if(\\\"undefined\\\"!=typeof window){const jv0=window.navigator.userAgent,kv0=!!jv0.match(/iPad/i)||!!jv0.match(/iPhone/i),lv0=!!jv0.match(/WebKit/i);isMobileSafari=kv0&&lv0&&!jv0.match(/CriOS/i)}function useSafariFocusOutFix(){const t=useEditor();React10.useEffect(()=>{if(isMobileSafari)return document.addEventListener(\\\"focusout\\\",e),()=>document.removeEventListener(\\\"focusout\\\",e);function e(e){(e.target instanceof HTMLInputElement&&\\\"text\\\"===e.target.type||e.target instanceof HTMLTextAreaElement)&&t.complete()}},[t])}init_esbuild_inject();var React11=__toESM(require(\\\"react\\\"),1);function useZoomCss(){const i=useEditor(),n=useContainer();React11.useEffect(()=>{const e=e=>n.style.setProperty(\\\"--tl-zoom\\\",e.toString()),t=debounce(e,100),r=new EffectScheduler(\\\"useZoomCss\\\",()=>{(i.getCurrentPageShapeIds().size<300?e:t)(i.getZoomLevel())});return r.attach(),r.execute(),()=>{r.detach()}},[i,n])}var EMPTY_SHAPE_UTILS_ARRAY=[],EMPTY_TOOLS_ARRAY=[],TldrawEditor=(0,import_react38.memo)(function TldrawEditor2({store:e,components:t,className:r,user:i,...n}){var[o,a]=import_react38[\\\"default\\\"].useState(null),s=(0,import_react38.useMemo)(()=>null!=i?i:createTLUser(),[i]),l=void 0===(null==t?void 0:t.ErrorFallback)?DefaultErrorFallback:null==t?void 0:t.ErrorFallback,c={...n,shapeUtils:null!=(c=n.shapeUtils)?c:EMPTY_SHAPE_UTILS_ARRAY,tools:null!=(c=n.tools)?c:EMPTY_TOOLS_ARRAY,components:t};return(0,import_jsx_runtime29.jsx)(\\\"div\\\",{ref:a,draggable:!1,className:(0,import_classnames11[\\\"default\\\"])(\\\"tl-container tl-theme__light\\\",r),onPointerDown:stopEventPropagation,tabIndex:-1,children:(0,import_jsx_runtime29.jsx)(OptionalErrorBoundary,{fallback:l,onError:e=>annotateError(e,{tags:{origin:\\\"react.tldraw-before-app\\\"}}),children:o&&(0,import_jsx_runtime29.jsx)(ContainerProvider,{container:o,children:(0,import_jsx_runtime29.jsx)(EditorComponentsProvider,{overrides:t,children:e?e instanceof Store?(0,import_jsx_runtime29.jsx)(TldrawEditorWithReadyStore,{...c,store:e,user:s}):(0,import_jsx_runtime29.jsx)(TldrawEditorWithLoadingStore,{...c,store:e,user:s}):(0,import_jsx_runtime29.jsx)(TldrawEditorWithOwnStore,{...c,store:e,user:s})})})})})});function TldrawEditorWithOwnStore(e){var{defaultName:t,snapshot:r,initialData:i,shapeUtils:n,persistenceKey:o,sessionId:a,user:s}=e,n=useLocalStore({shapeUtils:n,initialData:i,persistenceKey:o,sessionId:a,defaultName:t,snapshot:r});return(0,import_jsx_runtime29.jsx)(TldrawEditorWithLoadingStore,{...e,store:n,user:s})}var TldrawEditorWithLoadingStore=(0,import_react38.memo)(function TldrawEditorBeforeLoading({store:e,user:t,...r}){const i=useContainer();(0,import_react38.useLayoutEffect)(()=>{t.userPreferences.get().isDarkMode&&(i.classList.remove(\\\"tl-theme__light\\\"),i.classList.add(\\\"tl-theme__dark\\\"))},[i,t]);var n=useEditorComponents()[\\\"LoadingScreen\\\"];switch(e.status){case\\\"error\\\":throw e.error;case\\\"loading\\\":return n?(0,import_jsx_runtime29.jsx)(n,{}):null}return(0,import_jsx_runtime29.jsx)(TldrawEditorWithReadyStore,{...r,store:e.store,user:t})});function TldrawEditorWithReadyStore({onMount:e,children:t,store:r,tools:i,shapeUtils:n,user:o,initialState:a,autoFocus:s=!0,inferDarkMode:l}){var c=useEditorComponents()[\\\"ErrorFallback\\\"];const d=useContainer(),[u,p]=(0,import_react38.useState)(null);(0,import_react38.useLayoutEffect)(()=>{const e=new Editor({store:r,shapeUtils:n,tools:i,getContainer:()=>d,user:o,initialState:a,inferDarkMode:l});return p(e),()=>{e.dispose()}},[d,n,i,r,o,a,l]);var h=(0,import_react38.useSyncExternalStore)((0,import_react38.useCallback)(e=>u?(u.on(\\\"crash\\\",e),()=>u.off(\\\"crash\\\",e)):()=>{},[u]),()=>{var e;return null!=(e=null==u?void 0:u.getCrashingError())?e:null}),m=useEditorComponents()[\\\"Canvas\\\"];return u?(0,import_jsx_runtime29.jsx)(OptionalErrorBoundary,{fallback:c,onError:e=>u.annotateError(e,{origin:\\\"react.tldraw\\\",willCrashApp:!0}),children:h?(0,import_jsx_runtime29.jsx)(Crash,{crashingError:h}):(0,import_jsx_runtime29.jsx)(EditorContext.Provider,{value:u,children:(0,import_jsx_runtime29.jsx)(Layout,{autoFocus:s,onMount:e,children:null!=t?t:m?(0,import_jsx_runtime29.jsx)(m,{}):null})})}):null}function Layout({children:e,onMount:t,autoFocus:r}){return useZoomCss(),useCursor(),useDarkMode(),useSafariFocusOutFix(),useForceUpdate(),useFocusEvents(r),useOnMount(t),(0,import_jsx_runtime29.jsx)(import_jsx_runtime29.Fragment,{children:e})}function Crash({crashingError:e}){throw e}function LoadingScreen({children:e}){return(0,import_jsx_runtime29.jsx)(\\\"div\\\",{className:\\\"tl-loading\\\",children:e})}function ErrorScreen({children:e}){return(0,import_jsx_runtime29.jsx)(\\\"div\\\",{className:\\\"tl-loading\\\",children:e})}function useOnMount(r){const e=useEditor(),t=useEvent(e=>{var t=null==r?void 0:r(e);return e.emit(\\\"mount\\\"),window.tldrawReady=!0,t});import_react38[\\\"default\\\"].useLayoutEffect(()=>!e||null==t?void 0:t(e),[e,t])}init_esbuild_inject();var import_jsx_runtime30=require(\\\"react/jsx-runtime\\\"),import_classnames12=__toESM(require_classnames(),1);function HTMLContainer({children:e,className:t=\\\"\\\",...r}){return(0,import_jsx_runtime30.jsx)(\\\"div\\\",{...r,className:(0,import_classnames12[\\\"default\\\"])(\\\"tl-html-container\\\",t),children:e})}function resizeBox(e,t,r={}){var{newPoint:i,handle:n,scaleX:o,scaleY:a}=t,{minWidth:s=1,maxWidth:l=Infinity,minHeight:c=1,maxHeight:d=Infinity}=r;let u=e.props.w*o,p=e.props.h*a;var h=new Vec(0,0);if(0resizeBox(e,t))}getGeometry(e){return new Rectangle2d({width:e.props.w,height:e.props.h,isFilled:!0})}getHandleSnapGeometry(e){return{points:this.getGeometry(e).bounds.cornersAndCenter}}},Idle=(init_esbuild_inject(),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"onPointerDown\\\",e=>{this.parent.transition(\\\"pointing\\\",e)}),__publicField(this,\\\"onEnter\\\",()=>{this.editor.setCursor({type:\\\"cross\\\",rotation:0})}),__publicField(this,\\\"onCancel\\\",()=>{this.editor.setCurrentTool(\\\"select\\\")})}}),Pointing=(__publicField(Idle,\\\"id\\\",\\\"idle\\\"),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"markId\\\",\\\"\\\"),__publicField(this,\\\"wasFocusedOnEnter\\\",!1),__publicField(this,\\\"onEnter\\\",()=>{this.wasFocusedOnEnter=!this.editor.getIsMenuOpen()}),__publicField(this,\\\"onPointerMove\\\",e=>{var t,r,i;this.editor.inputs.isDragging&&(t=this.editor.inputs[\\\"originPagePoint\\\"],r=this.parent.shapeType,i=createShapeId(),this.markId=\\\"creating:\\\".concat(i),this.editor.mark(this.markId),this.editor.createShapes([{id:i,type:r,x:t.x,y:t.y,props:{w:1,h:1}}]).select(i),this.editor.setCurrentTool(\\\"select.resizing\\\",{...e,target:\\\"selection\\\",handle:\\\"bottom_right\\\",isCreating:!0,creationCursorOffset:{x:1,y:1},onInteractionEnd:this.parent.id,onCreate:this.parent.onCreate}))}),__publicField(this,\\\"onPointerUp\\\",()=>{this.complete()}),__publicField(this,\\\"onCancel\\\",()=>{this.cancel()}),__publicField(this,\\\"onComplete\\\",()=>{this.complete()}),__publicField(this,\\\"onInterrupt\\\",()=>{this.cancel()})}complete(){var e,t,r,i,n=this.editor.inputs[\\\"originPagePoint\\\"];this.wasFocusedOnEnter&&(this.editor.mark(this.markId),e=this.parent.shapeType,t=createShapeId(),this.editor.mark(this.markId),this.editor.createShapes([{id:t,type:e,x:n.x,y:n.y}]),n=this.editor.getShape(t),({w:r,h:i}=this.editor.getShapeUtil(n).getDefaultProps()),r=new Vec(r/2,i/2),(i=this.editor.getShapeParentTransform(n))&&r.rot(-i.rotation()),this.editor.updateShapes([{id:t,type:e,x:n.x-r.x,y:n.y-r.y}]),this.editor.setSelectedShapes([t]),this.editor.getInstanceState().isToolLocked?this.parent.transition(\\\"idle\\\"):this.editor.setCurrentTool(\\\"select.idle\\\"))}cancel(){this.parent.transition(\\\"idle\\\")}}),BaseBoxShapeTool=(__publicField(Pointing,\\\"id\\\",\\\"pointing\\\"),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"onCreate\\\")}});function useIsEditing(e){const t=useEditor();return useValue(\\\"isEditing\\\",()=>t.getEditingShapeId()===e,[t,e])}__publicField(BaseBoxShapeTool,\\\"id\\\",\\\"box\\\"),__publicField(BaseBoxShapeTool,\\\"initial\\\",\\\"idle\\\"),__publicField(BaseBoxShapeTool,\\\"children\\\",()=>[Idle,Pointing]),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var import_react39=require(\\\"react\\\");function useSafeId(){return(0,import_react39.useId)().replace(/:/g,\\\"_\\\")}init_esbuild_inject();var import_react40=require(\\\"react\\\");function useSelectionEvents(i){const n=useEditor();return(0,import_react40.useMemo)(function(){let t,r;return{onPointerDown:e=>{if(!e.isKilled)if(2===e.button)n.dispatch({type:\\\"pointer\\\",target:\\\"selection\\\",handle:i,name:\\\"right_click\\\",...getPointerInfo(e)});else if(0===e.button){const r=loopToHtmlElement(e.currentTarget);setPointerCapture(r,e),r.addEventListener(\\\"pointerup\\\",function t(){r.removeEventListener(\\\"pointerup\\\",t),releasePointerCapture(r,e)}),n.dispatch({name:\\\"pointer_down\\\",type:\\\"pointer\\\",target:\\\"selection\\\",handle:i,...getPointerInfo(e)}),stopEventPropagation(e)}},onPointerMove:function(e){e.isKilled||0!==e.button||e.clientX===t&&e.clientY===r||(t=e.clientX,r=e.clientY,n.dispatch({name:\\\"pointer_move\\\",type:\\\"pointer\\\",target:\\\"selection\\\",handle:i,...getPointerInfo(e)}))},onPointerUp:e=>{e.isKilled||0===e.button&&n.dispatch({name:\\\"pointer_up\\\",type:\\\"pointer\\\",target:\\\"selection\\\",handle:i,...getPointerInfo(e)})}}},[n,i])}init_esbuild_inject(),init_esbuild_inject();var SPACING=20,MIN_COUNT=8;function getVerticesCountForLength(e,t=SPACING){return Math.max(MIN_COUNT,Math.ceil(e/t))}var Arc2d=class extends Geometry2d{constructor(e){super({...e,isFilled:!1,isClosed:!1}),__publicField(this,\\\"_center\\\"),__publicField(this,\\\"radius\\\"),__publicField(this,\\\"start\\\"),__publicField(this,\\\"end\\\"),__publicField(this,\\\"measure\\\"),__publicField(this,\\\"length\\\"),__publicField(this,\\\"angleStart\\\"),__publicField(this,\\\"angleEnd\\\");var{center:t,radius:r,sweepFlag:i,largeArcFlag:n,start:o,end:a}=e;if(o.equals(a))throw Error(\\\"Arc must have different start and end points.\\\");this.angleStart=Vec.Angle(t,o),this.angleEnd=Vec.Angle(t,a),this.measure=getArcMeasure(this.angleStart,this.angleEnd,i,n),this.length=this.measure*r,this.start=o,this.end=a,this._center=t,this.radius=r}nearestPoint(e){var{_center:t,measure:r,radius:i,angleEnd:n,angleStart:o,start:a,end:s}=this,r=getPointInArcT(r,o,n,t.angle(e));if(r<=0)return a;if(1<=r)return s;var l,o=t.clone().add(e.clone().sub(t).uni().mul(i));let c,d=Infinity;for(const u of[a,s,o])(l=Vec.Dist2(e,u)){var t=getPointInArcT(n,o,a,r.angle(e));return 0<=t&&t<=1})}getVertices(){var{_center:e,measure:t,length:r,radius:i,angleStart:n}=this,o=[];for(let s=0,l=getVerticesCountForLength(Math.abs(r));se+t.length,0)),this._length}getVertices(){var e=this.segments.reduce((e,t)=>e.concat(t.vertices),[]);return e.push(this.points[this.points.length-1]),e}nearestPoint(e){let t,r=Infinity;var i,n;for(const o of this.segments)n=o.nearestPoint(e),(i=Vec.Dist2(n,e))e.hitTestLineSegment(t,r))}},Ellipse2d=(init_esbuild_inject(),class extends Geometry2d{constructor(e){super({...e,isClosed:!0}),__publicField(this,\\\"w\\\"),__publicField(this,\\\"h\\\"),__publicField(this,\\\"_edges\\\");var{width:t,height:r}=this.config=e;this.w=t,this.h=r}get edges(){if(!this._edges){var r=this[\\\"vertices\\\"];this._edges=[];for(let e=0,t=r.length;ee.hitTestLineSegment(t,r))}getBounds(){return new Box(0,0,this.w,this.h)}}),STADIUM_VERTICES_LENGTH=(init_esbuild_inject(),init_esbuild_inject(),18),Stadium2d=class extends Ellipse2d{constructor(e){super({...e}),this.config=e}getVertices(){var r=Math.max(1,this.w),i=Math.max(1,this.h),n=r/2,o=i/2,a=Array(STADIUM_VERTICES_LENGTH);let s,l;if(rdeleteDB(e))),clearLocalStorage(),e&&window.location.reload()}function openWindow(e,t=\\\"_blank\\\"){runtime.openWindow(e,t)}init_esbuild_inject(),init_esbuild_inject(),\\\"undefined\\\"!=typeof window&&(window.hardReset=hardReset,window.__tldraw__hardReset=hardReset),init_esbuild_inject();var import_at=__toESM(require_at2(),1),import_flat_map=__toESM(require_flat_map2(),1),import_flat=__toESM(require_flat2(),1),import_at2=__toESM(require_at4(),1),import_replace_all=__toESM(require_replace_all2(),1);function shapesWithUnboundArrows(t){return t.getSelectedShapeIds().map(e=>t.getShape(e)).filter(e=>!!e&&!(t.isShapeOfType(e,\\\"arrow\\\")&&\\\"binding\\\"===e.props.start.type||t.isShapeOfType(e,\\\"arrow\\\")&&\\\"binding\\\"===e.props.end.type))}var useThreeStackableItems=()=>{const e=useEditor();return useValue(\\\"threeStackableItems\\\",()=>2{const n=useEditor();return useValue(\\\"allow group\\\",()=>{var e=n.getSelectedShapes();if(e.length<2)return!1;for(const t of e)if(n.isShapeOfType(t,\\\"arrow\\\")){const{start:r,end:i}=t.props;if(\\\"binding\\\"===r.type&&!e.some(e=>e.id===r.boundShapeId))return!1;if(\\\"binding\\\"===i.type&&!e.some(e=>e.id===i.boundShapeId))return!1}return!0},[n])},useAllowUngroup=()=>{const r=useEditor();return useValue(\\\"allowUngroup\\\",()=>r.getSelectedShapeIds().some(e=>{var t;return\\\"group\\\"===(null==(t=r.getShape(e))?void 0:t.type)}),[r])},showMenuPaste=\\\"undefined\\\"!=typeof window&&\\\"navigator\\\"in window&&Boolean(navigator.clipboard)&&Boolean(navigator.clipboard.read);function useAnySelectedShapesCount(t,r){const i=useEditor();return useValue(\\\"selectedShapes\\\",()=>{var e=i.getSelectedShapes().length;return void 0===t?void 0===r?e:e<=r:void 0===r?t<=e:t<=e&&e<=r},[i,t,r])}function useUnlockedSelectedShapesCount(t,r){const i=useEditor();return useValue(\\\"selectedShapes\\\",()=>{var e=i.getSelectedShapes().filter(e=>!i.isShapeOrAncestorLocked(e)).length;return void 0===t?void 0===r?e:e<=r:void 0===r?t<=e:t<=e&&e<=r},[i])}function useShowAutoSizeToggle(){const t=useEditor();return useValue(\\\"showAutoSizeToggle\\\",()=>{var e=t.getSelectedShapes();return 1===e.length&&t.isShapeOfType(e[0],\\\"text\\\")&&!1===e[0].props.autoSize},[t])}function useHasLinkShapeSelected(){const t=useEditor();return useValue(\\\"hasLinkShapeSelected\\\",()=>{var e=t.getOnlySelectedShape();return!(!(e&&\\\"embed\\\"!==e.type&&\\\"url\\\"in e.props)||e.isLocked)},[t])}function useOnlyFlippableShape(){const t=useEditor();return useValue(\\\"onlyFlippableShape\\\",()=>{var e=t.getOnlySelectedShape();return e&&(t.isShapeOfType(e,\\\"group\\\")||t.isShapeOfType(e,\\\"arrow\\\")||t.isShapeOfType(e,\\\"line\\\")||t.isShapeOfType(e,\\\"draw\\\"))},[t])}function useCanRedo(){const e=useEditor();return useValue(\\\"useCanRedo\\\",()=>e.getCanRedo(),[e])}function useCanUndo(){const e=useEditor();return useValue(\\\"useCanUndo\\\",()=>e.getCanUndo(),[e])}init_esbuild_inject();var import_jsx_runtime143=require(\\\"react/jsx-runtime\\\"),import_react134=require(\\\"react\\\"),import_jsx_runtime31=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\"));function TldrawHandles({children:e}){const t=useEditor();return useValue(\\\"shouldDisplayHandles\\\",()=>{var e;return!!t.isInAny(\\\"select.idle\\\",\\\"select.pointing_handle\\\",\\\"select.pointing_shape\\\")||!!t.isInAny(\\\"select.editing_shape\\\")&&(e=t.getOnlySelectedShape())&&t.isShapeOfType(e,\\\"note\\\")},[t])?(0,import_jsx_runtime31.jsx)(\\\"svg\\\",{className:\\\"tl-user-handles tl-overlays__item\\\",children:e}):null}init_esbuild_inject();var import_jsx_runtime32=require(\\\"react/jsx-runtime\\\"),import_classnames13=__toESM(require_classnames(),1),PI3=(init_esbuild_inject(),init_esbuild_inject(),Math)[\\\"PI\\\"],FIXED_PI=PI3+1e-4;function getStrokeOutlineTracks(e,t={}){var{size:r=16,smoothing:i=.5}=t;if(0===e.length||r<=0)return{left:[],right:[]};var n=e[0],o=e[e.length-1],a=o.runningLength,s=Math.pow(r*i,2),l=[],c=[];let d=e[0].vector,u=e[0].point,p=u,h=u,m=p,g=!1;for(let j=0;j_.radius){var v=d.clone().mul(_.radius),w=d.clone().cpr(x);m=w<0?(h=Vec.Add(f,v),Vec.Sub(f,v)):(h=Vec.Sub(f,v),Vec.Add(f,v)),l.push(h),c.push(m)}else{var w=d.clone().mul(_.radius).per(),I=Vec.Sub(_.input,w);for(let e=0;e<1;e+=1/13)h=Vec.RotWith(I,_.input,FIXED_PI*e),l.push(h),m=Vec.RotWith(I,_.input,FIXED_PI+FIXED_PI*-e),c.push(m)}u=h,p=m,S&&(g=!0)}else g=!1,_===n||_===o?(v=Vec.Per(b).mul(_.radius),l.push(Vec.Sub(f,v)),c.push(Vec.Add(f,v))):(S=Vec.Lrp(x,b,y).per().mul(_.radius),h=Vec.Sub(f,S),(j<=1||Vec.Dist2(u,h)>s)&&(l.push(h),u=h),m=Vec.Add(f,S),(j<=1||Vec.Dist2(p,m)>s)&&(c.push(m),p=m),d=b)}return{left:l,right:c}}function getStrokeOutlinePoints(e,t={}){var{size:r=16,start:i={},end:n={},last:o=!1}=t,{cap:a=!0}=i,{cap:s=!0}=n;if(0===e.length||r<=0)return[];var l=e[0],c=e[e.length-1],d=c.runningLength,i=!1===i.taper?0:!0===i.taper?Math.max(r,d):i.taper,r=!1===n.taper?0:!0===n.taper?Math.max(r,d):n.taper,{left:d,right:u}=getStrokeOutlineTracks(e,t),p=l.point,h=1=MIN_START_PRESSURE);)a.shift(),e=a[0]}if(!n){let e=a[a.length-1];for(;e&&!(e.z>=MIN_END_PRESSURE);)a.pop(),e=a[a.length-1]}if(0===a.length)return[{point:Vec.From(e[0]),input:Vec.From(e[0]),pressure:n?.5:.15,vector:new Vec(1,1),distance:0,runningLength:0,radius:1}];let l=a[1];for(;l&&!(Vec.Dist2(l,a[0])>(i/3)**2);)a[0].z=Math.max(a[0].z,l.z),a.splice(1,1),l=a[1];var c=a.pop();for(l=a[a.length-1];l&&!(Vec.Dist2(l,c)>(i/3)**2);)a.pop(),l=a[a.length-1],s++;a.push(c);var d=t.last||!t.simulatePressure||1e.pressure));g.forEach(e=>e.pressure=x)}return g}init_esbuild_inject();var min=Math[\\\"min\\\"],RATE_OF_PRESSURE_CHANGE=.275;function setStrokePointRadii(n,e){const{size:o=16,thinning:a=.5,simulatePressure:s=!0,easing:l=e=>e,start:t={},end:r={}}=e;var{easing:i=EASINGS.easeOutQuad}=t,{easing:c=EASINGS.easeOutCubic}=r,d=n[n.length-1].runningLength;let u,p=n[0].pressure,h;if(!s&&dMath.max(e,t.pressure),.5);n.forEach(e=>{e.pressure=S,e.radius=o*l(.5-a*(.5-e.pressure))})}else{{let e;for(let t=0,r=n.length;t5*o);t++){var m,g=min(1,h.distance/o);e=s?(m=min(1,1-g),min(1,p+(m-p)*(g*RATE_OF_PRESSURE_CHANGE))):min(1,p+.5*(h.pressure-p)),p+=.5*(e-p)}for(let i=0;i{const r=useEditor();return useValue(\\\"should display\\\",()=>r.isInAny(\\\"select.idle\\\",\\\"select.brushing\\\",\\\"select.scribble_brushing\\\",\\\"select.pointing_shape\\\",\\\"select.pointing_selection\\\",\\\"text.resizing\\\"),[r])?(0,import_jsx_runtime33.jsx)(DefaultSelectionBackground,{bounds:e,rotation:t}):null},import_jsx_runtime35=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_classnames15=__toESM(require_classnames(),1),import_react41=require(\\\"react\\\");function useReadonly(){const e=useEditor();return useValue(\\\"isReadonlyMode\\\",()=>e.getInstanceState().isReadonly,[e])}init_esbuild_inject(),init_esbuild_inject();var import_jsx_runtime34=require(\\\"react/jsx-runtime\\\"),import_classnames14=__toESM(require_classnames(),1);function TldrawCropHandles({size:e,width:t,height:r,hideAlternateHandles:i}){var n=toDomPrecision(e/3),o=n/2;return(0,import_jsx_runtime34.jsxs)(\\\"svg\\\",{className:\\\"tl-overlays__item\\\",children:[(0,import_jsx_runtime34.jsx)(\\\"polyline\\\",{className:\\\"tl-corner-crop-handle\\\",points:\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\".concat(toDomPrecision(0-o),\\\",\\\").concat(toDomPrecision(e),\\\" \\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\").concat(toDomPrecision(0-o),\\\",\\\").concat(toDomPrecision(0-o),\\\" \\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\").concat(toDomPrecision(e),\\\",\\\").concat(toDomPrecision(0-o)),strokeWidth:n,\\\"data-testid\\\":\\\"selection.crop.top_left\\\",\\\"aria-label\\\":\\\"top_left handle\\\"}),(0,import_jsx_runtime34.jsx)(\\\"line\\\",{className:(0,import_classnames14[\\\"default\\\"])(\\\"tl-corner-crop-edge-handle\\\",{\\\"tl-hidden\\\":i}),x1:toDomPrecision(t/2-e),y1:toDomPrecision(0-o),x2:toDomPrecision(t/2+e),y2:toDomPrecision(0-o),strokeWidth:n,\\\"data-testid\\\":\\\"selection.crop.top\\\",\\\"aria-label\\\":\\\"top handle\\\"}),(0,import_jsx_runtime34.jsx)(\\\"polyline\\\",{className:(0,import_classnames14[\\\"default\\\"])(\\\"tl-corner-crop-handle\\\",{\\\"tl-hidden\\\":i}),points:\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\".concat(toDomPrecision(t-e),\\\",\\\").concat(toDomPrecision(0-o),\\\" \\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\").concat(toDomPrecision(t+o),\\\",\\\").concat(toDomPrecision(0-o),\\\" \\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\").concat(toDomPrecision(t+o),\\\",\\\").concat(toDomPrecision(e)),strokeWidth:n,\\\"data-testid\\\":\\\"selection.crop.top_right\\\",\\\"aria-label\\\":\\\"top_right handle\\\"}),(0,import_jsx_runtime34.jsx)(\\\"line\\\",{className:(0,import_classnames14[\\\"default\\\"])(\\\"tl-corner-crop-edge-handle\\\",{\\\"tl-hidden\\\":i}),x1:toDomPrecision(t+o),y1:toDomPrecision(r/2-e),x2:toDomPrecision(t+o),y2:toDomPrecision(r/2+e),strokeWidth:n,\\\"data-testid\\\":\\\"selection.crop.right\\\",\\\"aria-label\\\":\\\"right handle\\\"}),(0,import_jsx_runtime34.jsx)(\\\"polyline\\\",{className:\\\"tl-corner-crop-handle\\\",points:\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\".concat(toDomPrecision(t+o),\\\",\\\").concat(toDomPrecision(r-e),\\\" \\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\").concat(toDomPrecision(t+o),\\\",\\\").concat(toDomPrecision(r+o),\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\").concat(toDomPrecision(t-e),\\\",\\\").concat(toDomPrecision(r+o)),strokeWidth:n,\\\"data-testid\\\":\\\"selection.crop.bottom_right\\\",\\\"aria-label\\\":\\\"bottom_right handle\\\"}),(0,import_jsx_runtime34.jsx)(\\\"line\\\",{className:(0,import_classnames14[\\\"default\\\"])(\\\"tl-corner-crop-edge-handle\\\",{\\\"tl-hidden\\\":i}),x1:toDomPrecision(t/2-e),y1:toDomPrecision(r+o),x2:toDomPrecision(t/2+e),y2:toDomPrecision(r+o),strokeWidth:n,\\\"data-testid\\\":\\\"selection.crop.bottom\\\",\\\"aria-label\\\":\\\"bottom handle\\\"}),(0,import_jsx_runtime34.jsx)(\\\"polyline\\\",{className:(0,import_classnames14[\\\"default\\\"])(\\\"tl-corner-crop-handle\\\",{\\\"tl-hidden\\\":i}),points:\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\".concat(toDomPrecision(0+e),\\\",\\\").concat(toDomPrecision(r+o),\\\" \\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\").concat(toDomPrecision(0-o),\\\",\\\").concat(toDomPrecision(r+o),\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\").concat(toDomPrecision(0-o),\\\",\\\").concat(toDomPrecision(r-e)),strokeWidth:n,\\\"data-testid\\\":\\\"selection.crop.bottom_left\\\",\\\"aria-label\\\":\\\"bottom_left handle\\\"}),(0,import_jsx_runtime34.jsx)(\\\"line\\\",{className:(0,import_classnames14[\\\"default\\\"])(\\\"tl-corner-crop-edge-handle\\\",{\\\"tl-hidden\\\":i}),x1:toDomPrecision(0-o),y1:toDomPrecision(r/2-e),x2:toDomPrecision(0-o),y2:toDomPrecision(r/2+e),strokeWidth:n,\\\"data-testid\\\":\\\"selection.crop.left\\\",\\\"aria-label\\\":\\\"left handle\\\"})]})}var TldrawSelectionForeground=track(function TldrawSelectionForeground2({bounds:e,rotation:t}){var r=useEditor(),i=(0,import_react41.useRef)(null),n=useReadonly(),o=useSelectionEvents(\\\"top\\\"),a=useSelectionEvents(\\\"right\\\"),s=useSelectionEvents(\\\"bottom\\\"),l=useSelectionEvents(\\\"left\\\"),c=useSelectionEvents(\\\"top_left\\\"),F=useSelectionEvents(\\\"top_right\\\"),R=useSelectionEvents(\\\"bottom_right\\\"),N=useSelectionEvents(\\\"bottom_left\\\"),d=!r.getIsMenuOpen()&&\\\"default\\\"===r.getInstanceState().cursor.type,u=r.getInstanceState().isCoarsePointer,p=r.getOnlySelectedShape(),h=p&&r.isShapeOrAncestorLocked(p),m=p?r.getShapeUtil(p).expandSelectionOutlinePx(p):0;if(useTransform(i,null==e?void 0:e.x,null==e?void 0:e.y,1,r.getSelectionRotation(),{x:-m,y:-m}),!e)return null;e=e.clone().expandBy(m).zeroFix();var m=r.getZoomLevel(),g=r.getInstanceState().isChangingStyle,_=e.width,f=e.height,b=8/m,v=_<2*b,x=f<2*b,y=_<4*b,S=f<4*b,w=_<5*b,I=f<5*b,j=u?1.75:1,T=6/m*j,E=.75*j*(y?T/2:T),j=.75*j*(S?T/2:T),P=!(p&&r.getShapeUtil(p).hideSelectionBoundsFg(p)||g);let C=P&&r.isInAny(\\\"select.idle\\\",\\\"select.brushing\\\",\\\"select.scribble_brushing\\\",\\\"select.pointing_canvas\\\",\\\"select.pointing_selection\\\",\\\"select.pointing_shape\\\",\\\"select.crop.idle\\\",\\\"select.crop.pointing_crop\\\",\\\"select.pointing_resize_handle\\\",\\\"select.pointing_crop_handle\\\")||P&&r.isIn(\\\"select.resizing\\\")&&p&&r.isShapeOfType(p,\\\"text\\\");p&&C&&r.environment.isFirefox&&r.isShapeOfType(p,\\\"embed\\\")&&(C=!1);var P=r.isInAny(\\\"select.pointing_crop_handle\\\",\\\"select.crop.idle\\\",\\\"select.crop.pointing_crop\\\")&&!g&&!n,g=r.isInAny(\\\"select.idle\\\",\\\"select.pointing_selection\\\",\\\"select.pointing_shape\\\",\\\"select.crop.idle\\\")&&!g&&!n,n=!u&&!(v||x)&&(g||P)&&(!p||!r.getShapeUtil(p).hideRotateHandle(p))&&!h,$=u&&(!y||!S)&&(g||P)&&(!p||!r.getShapeUtil(p).hideRotateHandle(p))&&!h,h=g&&(!p||r.getShapeUtil(p).canResize(p)&&!r.getShapeUtil(p).hideResizeHandles(p))&&!P&&!h,M=v||x,v=v&&x,x=w||I,w=h||P,I=!n,n=!g||!$,$=!g||!w,k=!g||!w||M,A=!g||!w||M,w=!g||!w||v&&!P;let D=!0,O=!0;P?(D=x,O=x):h&&(D=M||v||u,M=u&&p&&\\\"text\\\"===p.type,O=D&&!M);v=Math.min(24/m,f-3*j),M=g&&u&&p&&r.isShapeOfType(p,\\\"text\\\")&&4<=v*m;return(0,import_jsx_runtime35.jsx)(\\\"svg\\\",{className:\\\"tl-overlays__item tl-selection__fg\\\",\\\"data-testid\\\":\\\"selection-foreground\\\",children:(0,import_jsx_runtime35.jsxs)(\\\"g\\\",{ref:i,children:[C&&(0,import_jsx_runtime35.jsx)(\\\"rect\\\",{className:\\\"tl-selection__fg__outline\\\",width:toDomPrecision(_),height:toDomPrecision(f)}),(0,import_jsx_runtime35.jsx)(RotateCornerHandle,{\\\"data-testid\\\":\\\"selection.rotate.top-left\\\",cx:0,cy:0,targetSize:T,corner:\\\"top_left_rotate\\\",cursor:d?getCursor(\\\"nwse-rotate\\\",t):void 0,isHidden:I}),(0,import_jsx_runtime35.jsx)(RotateCornerHandle,{\\\"data-testid\\\":\\\"selection.rotate.top-right\\\",cx:_+3*T,cy:0,targetSize:T,corner:\\\"top_right_rotate\\\",cursor:d?getCursor(\\\"nesw-rotate\\\",t):void 0,isHidden:I}),(0,import_jsx_runtime35.jsx)(RotateCornerHandle,{\\\"data-testid\\\":\\\"selection.rotate.bottom-left\\\",cx:0,cy:f+3*T,targetSize:T,corner:\\\"bottom_left_rotate\\\",cursor:d?getCursor(\\\"swne-rotate\\\",t):void 0,isHidden:I}),(0,import_jsx_runtime35.jsx)(RotateCornerHandle,{\\\"data-testid\\\":\\\"selection.rotate.bottom-right\\\",cx:_+3*T,cy:f+3*T,targetSize:T,corner:\\\"bottom_right_rotate\\\",cursor:d?getCursor(\\\"senw-rotate\\\",t):void 0,isHidden:I}),(0,import_jsx_runtime35.jsx)(MobileRotateHandle,{\\\"data-testid\\\":\\\"selection.rotate.mobile\\\",cx:y?1.5*-T:_/2,cy:y?f/2:1.5*-T,size:b,isHidden:n}),(0,import_jsx_runtime35.jsx)(\\\"rect\\\",{className:(0,import_classnames15[\\\"default\\\"])(\\\"tl-transparent\\\",{\\\"tl-hidden\\\":D}),\\\"data-testid\\\":\\\"selection.resize.top\\\",\\\"aria-label\\\":\\\"top target\\\",pointerEvents:\\\"all\\\",x:0,y:toDomPrecision(0-(S?2*j:j)),width:toDomPrecision(_),height:toDomPrecision(Math.max(1,2*j)),style:d?{cursor:getCursor(\\\"ns-resize\\\",t)}:void 0,...o}),(0,import_jsx_runtime35.jsx)(\\\"rect\\\",{className:(0,import_classnames15[\\\"default\\\"])(\\\"tl-transparent\\\",{\\\"tl-hidden\\\":O}),\\\"data-testid\\\":\\\"selection.resize.right\\\",\\\"aria-label\\\":\\\"right target\\\",pointerEvents:\\\"all\\\",x:toDomPrecision(_-(y?0:E)),y:0,height:toDomPrecision(f),width:toDomPrecision(Math.max(1,2*E)),style:d?{cursor:getCursor(\\\"ew-resize\\\",t)}:void 0,...a}),(0,import_jsx_runtime35.jsx)(\\\"rect\\\",{className:(0,import_classnames15[\\\"default\\\"])(\\\"tl-transparent\\\",{\\\"tl-hidden\\\":D}),\\\"data-testid\\\":\\\"selection.resize.bottom\\\",\\\"aria-label\\\":\\\"bottom target\\\",pointerEvents:\\\"all\\\",x:0,y:toDomPrecision(f-(S?0:j)),width:toDomPrecision(_),height:toDomPrecision(Math.max(1,2*j)),style:d?{cursor:getCursor(\\\"ns-resize\\\",t)}:void 0,...s}),(0,import_jsx_runtime35.jsx)(\\\"rect\\\",{className:(0,import_classnames15[\\\"default\\\"])(\\\"tl-transparent\\\",{\\\"tl-hidden\\\":O}),\\\"data-testid\\\":\\\"selection.resize.left\\\",\\\"aria-label\\\":\\\"left target\\\",pointerEvents:\\\"all\\\",x:toDomPrecision(0-(y?2*E:E)),y:0,height:toDomPrecision(f),width:toDomPrecision(Math.max(1,2*E)),style:d?{cursor:getCursor(\\\"ew-resize\\\",t)}:void 0,...l}),(0,import_jsx_runtime35.jsx)(\\\"rect\\\",{className:(0,import_classnames15[\\\"default\\\"])(\\\"tl-transparent\\\",{\\\"tl-hidden\\\":$}),\\\"data-testid\\\":\\\"selection.target.top-left\\\",\\\"aria-label\\\":\\\"top-left target\\\",pointerEvents:\\\"all\\\",x:toDomPrecision(0-(y?2*E:1.5*E)),y:toDomPrecision(0-(S?2*j:1.5*j)),width:toDomPrecision(3*E),height:toDomPrecision(3*j),style:d?{cursor:getCursor(\\\"nwse-resize\\\",t)}:void 0,...c}),(0,import_jsx_runtime35.jsx)(\\\"rect\\\",{className:(0,import_classnames15[\\\"default\\\"])(\\\"tl-transparent\\\",{\\\"tl-hidden\\\":k}),\\\"data-testid\\\":\\\"selection.target.top-right\\\",\\\"aria-label\\\":\\\"top-right target\\\",pointerEvents:\\\"all\\\",x:toDomPrecision(_-(y?0:1.5*E)),y:toDomPrecision(0-(S?2*j:1.5*j)),width:toDomPrecision(3*E),height:toDomPrecision(3*j),style:d?{cursor:getCursor(\\\"nesw-resize\\\",t)}:void 0,...F}),(0,import_jsx_runtime35.jsx)(\\\"rect\\\",{className:(0,import_classnames15[\\\"default\\\"])(\\\"tl-transparent\\\",{\\\"tl-hidden\\\":w}),\\\"data-testid\\\":\\\"selection.target.bottom-right\\\",\\\"aria-label\\\":\\\"bottom-right target\\\",pointerEvents:\\\"all\\\",x:toDomPrecision(_-(y?E:1.5*E)),y:toDomPrecision(f-(S?j:1.5*j)),width:toDomPrecision(3*E),height:toDomPrecision(3*j),style:d?{cursor:getCursor(\\\"nwse-resize\\\",t)}:void 0,...R}),(0,import_jsx_runtime35.jsx)(\\\"rect\\\",{className:(0,import_classnames15[\\\"default\\\"])(\\\"tl-transparent\\\",{\\\"tl-hidden\\\":A}),\\\"data-testid\\\":\\\"selection.target.bottom-left\\\",\\\"aria-label\\\":\\\"bottom-left target\\\",pointerEvents:\\\"all\\\",x:toDomPrecision(0-(y?3*E:1.5*E)),y:toDomPrecision(f-(S?0:1.5*j)),width:toDomPrecision(3*E),height:toDomPrecision(3*j),style:d?{cursor:getCursor(\\\"nesw-resize\\\",t)}:void 0,...N}),h&&(0,import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment,{children:[(0,import_jsx_runtime35.jsx)(\\\"rect\\\",{\\\"data-testid\\\":\\\"selection.resize.top-left\\\",className:(0,import_classnames15[\\\"default\\\"])(\\\"tl-corner-handle\\\",{\\\"tl-hidden\\\":$}),\\\"aria-label\\\":\\\"top_left handle\\\",x:toDomPrecision(0-b/2),y:toDomPrecision(0-b/2),width:toDomPrecision(b),height:toDomPrecision(b)}),(0,import_jsx_runtime35.jsx)(\\\"rect\\\",{\\\"data-testid\\\":\\\"selection.resize.top-right\\\",className:(0,import_classnames15[\\\"default\\\"])(\\\"tl-corner-handle\\\",{\\\"tl-hidden\\\":k}),\\\"aria-label\\\":\\\"top_right handle\\\",x:toDomPrecision(_-b/2),y:toDomPrecision(0-b/2),width:toDomPrecision(b),height:toDomPrecision(b)}),(0,import_jsx_runtime35.jsx)(\\\"rect\\\",{\\\"data-testid\\\":\\\"selection.resize.bottom-right\\\",className:(0,import_classnames15[\\\"default\\\"])(\\\"tl-corner-handle\\\",{\\\"tl-hidden\\\":w}),\\\"aria-label\\\":\\\"bottom_right handle\\\",x:toDomPrecision(_-b/2),y:toDomPrecision(f-b/2),width:toDomPrecision(b),height:toDomPrecision(b)}),(0,import_jsx_runtime35.jsx)(\\\"rect\\\",{\\\"data-testid\\\":\\\"selection.resize.bottom-left\\\",className:(0,import_classnames15[\\\"default\\\"])(\\\"tl-corner-handle\\\",{\\\"tl-hidden\\\":A}),\\\"aria-label\\\":\\\"bottom_left handle\\\",x:toDomPrecision(0-b/2),y:toDomPrecision(f-b/2),width:toDomPrecision(b),height:toDomPrecision(b)})]}),M&&(0,import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment,{children:[(0,import_jsx_runtime35.jsx)(\\\"rect\\\",{\\\"data-testid\\\":\\\"selection.text-resize.left.handle\\\",className:\\\"tl-text-handle\\\",\\\"aria-label\\\":\\\"bottom_left handle\\\",x:toDomPrecision(0-b/4),y:toDomPrecision(f/2-v/2),rx:b/4,width:toDomPrecision(b/2),height:toDomPrecision(v)}),(0,import_jsx_runtime35.jsx)(\\\"rect\\\",{\\\"data-testid\\\":\\\"selection.text-resize.right.handle\\\",className:\\\"tl-text-handle\\\",\\\"aria-label\\\":\\\"bottom_left handle\\\",rx:b/4,x:toDomPrecision(_-b/4),y:toDomPrecision(f/2-v/2),width:toDomPrecision(b/2),height:toDomPrecision(v)})]}),P&&(0,import_jsx_runtime35.jsx)(TldrawCropHandles,{size:b,width:_,height:f,hideAlternateHandles:x})]})})}),RotateCornerHandle=function RotateCornerHandle2({cx:e,cy:t,targetSize:r,corner:i,cursor:n,isHidden:o,\\\"data-testid\\\":a}){var s=useSelectionEvents(i);return(0,import_jsx_runtime35.jsx)(\\\"rect\\\",{className:(0,import_classnames15[\\\"default\\\"])(\\\"tl-transparent\\\",\\\"tl-rotate-corner\\\",{\\\"tl-hidden\\\":o}),\\\"data-testid\\\":a,\\\"aria-label\\\":\\\"\\\".concat(i,\\\" target\\\"),pointerEvents:\\\"all\\\",x:toDomPrecision(e-3*r),y:toDomPrecision(t-3*r),width:toDomPrecision(Math.max(1,3*r)),height:toDomPrecision(Math.max(1,3*r)),cursor:n,...s})},SQUARE_ROOT_PI=Math.sqrt(Math.PI),MobileRotateHandle=function RotateHandle({cx:e,cy:t,size:r,isHidden:i,\\\"data-testid\\\":n}){var o=useSelectionEvents(\\\"mobile_rotate\\\");const a=useEditor();var s=useValue(\\\"zoom level\\\",()=>a.getZoomLevel(),[a]),s=Math.max(1/s*14,20/Math.max(1,s));return(0,import_jsx_runtime35.jsxs)(\\\"g\\\",{children:[(0,import_jsx_runtime35.jsx)(\\\"circle\\\",{\\\"data-testid\\\":n,pointerEvents:\\\"all\\\",className:(0,import_classnames15[\\\"default\\\"])(\\\"tl-transparent\\\",\\\"tl-mobile-rotate__bg\\\",{\\\"tl-hidden\\\":i}),cx:e,cy:t,r:s,...o}),(0,import_jsx_runtime35.jsx)(\\\"circle\\\",{className:(0,import_classnames15[\\\"default\\\"])(\\\"tl-mobile-rotate__fg\\\",{\\\"tl-hidden\\\":i}),cx:e,cy:t,r:r/SQUARE_ROOT_PI})]})},TEXT_PROPS=(init_esbuild_inject(),init_esbuild_inject(),{lineHeight:1.35,fontWeight:\\\"normal\\\",fontVariant:\\\"normal\\\",fontStyle:\\\"normal\\\",padding:\\\"0px\\\"}),STROKE_SIZES2={s:2,m:3.5,l:5,xl:10},FONT_SIZES={s:18,m:24,l:36,xl:44},LABEL_FONT_SIZES={s:18,m:22,l:26,xl:32},ARROW_LABEL_FONT_SIZES={s:18,m:20,l:24,xl:28},FONT_FAMILIES={draw:\\\"var(--tl-font-draw)\\\",sans:\\\"var(--tl-font-sans)\\\",serif:\\\"var(--tl-font-serif)\\\",mono:\\\"var(--tl-font-mono)\\\"},LABEL_TO_ARROW_PADDING=20,ARROW_LABEL_PADDING=4.25,LABEL_PADDING=16;function _iterableToArrayLimit(e,t){var r=null==e?null:\\\"undefined\\\"!=typeof Symbol&&e[Symbol.iterator]||e[\\\"@@iterator\\\"];if(null!=r){var i,n,o,a,s=[],l=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(i=o.call(r)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(d){c=!0,n=d}finally{try{if(!l&&null!=r[\\\"return\\\"]&&(a=r[\\\"return\\\"](),Object(a)!==a))return}finally{if(c)throw n}}return s}}function ownKeys2(t,e){var r,i=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),i.push.apply(i,r)),i}function _objectSpread22(t){for(var e=1;ee.length)&&(t=e.length);for(var r=0,i=new Array(t);r{c.toBlob(e=>{e?t(e):r(new Error(\\\"Could not resize image\\\"))},o,a)})}async function isGifAnimated(e){return isAnimated(await e.arrayBuffer())}function escapeStringRegexp(e){if(\\\"string\\\"!=typeof e)throw new TypeError(\\\"Expected a string\\\");return e.replace(/[|\\\\\\\\{}()[\\\\]^$+*?.]/g,\\\"\\\\\\\\$&\\\").replace(/-/g,\\\"\\\\\\\\x2d\\\")}function matchEmbedUrl(e){var t=new URL(e).host.replace(\\\"www.\\\",\\\"\\\");for(const i of EMBED_DEFINITIONS)if(checkHostnames(i.hostnames,t)){var r=i.fromEmbedUrl(e);if(r)return{definition:i,url:r,embedUrl:e}}}init_esbuild_inject(),init_esbuild_inject();var globlikeRegExp=e=>e.split(\\\"*\\\").map(e=>escapeStringRegexp(e)).join(\\\".+\\\"),checkHostnames=(e,r)=>!!e.find(e=>{var t=new RegExp(globlikeRegExp(e));return r.match(t)});function matchUrl(e){var t=new URL(e).host.replace(\\\"www.\\\",\\\"\\\");for(const i of EMBED_DEFINITIONS)if(checkHostnames(i.hostnames,t)){var r=i.toEmbedUrl(e);if(r)return{definition:i,embedUrl:r,url:e}}}function getEmbedInfoUnsafely(e){var t;return null!=(t=matchUrl(e))?t:matchEmbedUrl(e)}function getEmbedInfo(e){try{return getEmbedInfoUnsafely(e)}catch(t){console.error(t)}}init_esbuild_inject(),init_esbuild_inject();var INDENT=\\\" \\\",_TextHelpers=class _TextHelpers{static insertTextFirefox(e,t){e.setRangeText(t,e.selectionStart||0,e.selectionEnd||0,\\\"end\\\"),e.dispatchEvent(new InputEvent(\\\"input\\\",{data:t,inputType:\\\"insertText\\\",isComposing:!1}))}static insert(e,t){var r=e.ownerDocument,i=r.activeElement;i!==e&&e.focus(),r.execCommand(\\\"insertText\\\",!1,t)||_TextHelpers.insertTextFirefox(e,t),i===r.body?e.blur():i instanceof HTMLElement&&i!==e&&i.focus()}static set(e,t){e.select(),_TextHelpers.insert(e,t)}static getSelection(e){var{selectionStart:t,selectionEnd:r}=e;return e.value.slice(t||void 0,r||void 0)}static wrapSelection(e,t,r){var{selectionStart:i,selectionEnd:n}=e,o=_TextHelpers.getSelection(e);_TextHelpers.insert(e,t+o+(null!=r?r:t)),e.selectionStart=(i||0)+t.length,e.selectionEnd=(n||0)+t.length}static replace(n,e,o){let a=0;n.value.replace(e,(...e)=>{var t=a+e[e.length-2],r=e[0].length,i=(n.selectionStart=t,n.selectionEnd=t+r,\\\"string\\\"==typeof o?o:o(...e));return _TextHelpers.insert(n,i),n.selectionStart=t,a+=i.length-r,i})}static findLineEnd(e,t){var r=e.lastIndexOf(\\\"\\\\n\\\",t-1)+1;return\\\"\\\\t\\\"!==e.charAt(r)?t:r+1}static indent(e){var t,{selectionStart:r,selectionEnd:i,value:n}=e,o=n.slice(r,i),o=null==(o=/\\\\n/g.exec(o))?void 0:o.length;o&&0e||\\\" \\\").join(\\\"\\\\n\\\")}},TextHelpers=(__publicField(_TextHelpers,\\\"fixNewLines\\\",/\\\\r?\\\\n|\\\\r/g),_TextHelpers);function getCaretIndex(t){if(\\\"undefined\\\"!=typeof window.getSelection){var r,i=window.getSelection();if(i){let e=0;return 0!==i.rangeCount&&((r=(i=i.getRangeAt(0)).cloneRange()).selectNodeContents(t),r.setEnd(i.endContainer,i.endOffset),e=r.toString().length),e}}}var rtlRegex=/[\\\\u0590-\\\\u05FF\\\\u0600-\\\\u06FF\\\\u0750-\\\\u077F\\\\u08A0-\\\\u08FF\\\\uFB50-\\\\uFDFF\\\\uFE70-\\\\uFEFF]/;function isRightToLeftLanguage(e){return rtlRegex.test(e)}function replaceTabsWithSpaces(e){return e.replace(/\\\\t/g,INDENT)}function stripCommonMinimumIndentation(e){for(var t,r=e.split(\\\"\\\\n\\\");r[0]&&0===r[0].trim().length;)r.shift();let i=Infinity;for(const n of r)0e.slice(i)).join(\\\"\\\\n\\\")}function stripTrailingWhitespace(e){return e.replace(/[ \\\\t]+$/gm,\\\"\\\").replace(/\\\\n+$/,\\\"\\\")}function cleanupText(e){return stripTrailingWhitespace(stripCommonMinimumIndentation(replaceTabsWithSpaces(e)))}var truncateStringWithEllipsis=(e,t)=>e.length<=t?e:e.substring(0,t-3)+\\\"...\\\";function registerDefaultExternalContentHandlers(d,{maxImageDimension:l,maxAssetSize:c,acceptedImageMimeTypes:u,acceptedVideoMimeTypes:p},{toasts:h,msg:m}){d.registerExternalAssetHandler(\\\"file\\\",async({file:e})=>{var t=e.name;let r=e;var i=u.includes(r.type),n=p.includes(r.type);assert(i||n,\\\"File type not allowed: \\\".concat(r.type)),assert(r.size<=c,\\\"File size too big: \\\".concat((r.size/1024).toFixed(),\\\"kb > \\\").concat((c/1024).toFixed(),\\\"kb\\\")),\\\"video/quicktime\\\"===r.type&&(r=new Blob([r],{type:\\\"video/mp4\\\"}));let o=i?await MediaHelpers.getImageSize(r):await MediaHelpers.getVideoSize(r);var n=\\\"image/gif\\\"===r.type?await isGifAnimated(r):n,a=await getHashForBuffer(await r.arrayBuffer()),s=(isFinite(l)&&(s=containBoxSize(o,{w:l,h:l}),o===s||\\\"image/jpeg\\\"!==r.type&&\\\"image/png\\\"!==r.type||(o=s)),\\\"image/jpeg\\\"!==r.type&&\\\"image/png\\\"!==r.type||(r=await downsizeImage(r,o.w,o.h,{type:r.type,quality:.92})),AssetRecordType.createId(a));return AssetRecordType.create({id:s,type:i?\\\"image\\\":\\\"video\\\",typeName:\\\"asset\\\",props:{name:t,src:await FileHelpers.blobToDataUrl(r),w:o.w,h:o.h,mimeType:r.type,isAnimated:n}})}),d.registerExternalAssetHandler(\\\"url\\\",async({url:e})=>{var t,r,i,n,o,a;let s;try{var l=await(await fetch(e,{method:\\\"GET\\\",mode:\\\"no-cors\\\"})).text(),c=(new DOMParser).parseFromString(l,\\\"text/html\\\");s={image:null!=(r=null==(t=c.head.querySelector('meta[property=\\\"og:image\\\"]'))?void 0:t.getAttribute(\\\"content\\\"))?r:\\\"\\\",title:null!=(n=null==(i=c.head.querySelector('meta[property=\\\"og:title\\\"]'))?void 0:i.getAttribute(\\\"content\\\"))?n:truncateStringWithEllipsis(e,32),description:null!=(a=null==(o=c.head.querySelector('meta[property=\\\"og:description\\\"]'))?void 0:o.getAttribute(\\\"content\\\"))?a:\\\"\\\"}}catch(d){console.error(d),h.addToast({title:m(\\\"assets.url.failed\\\"),severity:\\\"error\\\"}),s={image:\\\"\\\",title:truncateStringWithEllipsis(e,32),description:\\\"\\\"}}return{id:AssetRecordType.createId(getHashForString(e)),typeName:\\\"asset\\\",type:\\\"bookmark\\\",props:{src:e,description:s.description,image:s.image,title:s.title},meta:{}}}),d.registerExternalContentHandler(\\\"svg-text\\\",async({point:e,text:t})=>{var r=null!=e?e:d.inputs.shiftKey?d.inputs.currentPagePoint:d.getViewportPageCenter(),i=(new DOMParser).parseFromString(t,\\\"image/svg+xml\\\").querySelector(\\\"svg\\\");if(!i)throw new Error(\\\"No element present\\\");var n=parseFloat(i.getAttribute(\\\"width\\\")||\\\"0\\\"),o=parseFloat(i.getAttribute(\\\"height\\\")||\\\"0\\\"),o=(n&&o||(document.body.appendChild(i),n=i.getBoundingClientRect(),document.body.removeChild(i),n.width,n.height),await d.getAssetForExternalContent({type:\\\"file\\\",file:new File([t],\\\"asset.svg\\\",{type:\\\"image/svg+xml\\\"})}));if(!o)throw Error(\\\"Could not create an asset\\\");createShapesForAssets(d,[o],r)}),d.registerExternalContentHandler(\\\"embed\\\",({point:e,url:t,embed:r})=>{var i=null!=e?e:d.inputs.shiftKey?d.inputs.currentPagePoint:d.getViewportPageCenter(),{width:n,height:o}=r,a=createShapeId(),i={id:a,type:\\\"embed\\\",x:i.x-(n||450)/2,y:i.y-(o||450)/2,props:{w:n,h:o,url:t}};d.createShapes([i]).select(a)}),d.registerExternalContentHandler(\\\"files\\\",async({point:e,files:t})=>{var r=null!=e?e:d.inputs.shiftKey?d.inputs.currentPagePoint:d.getViewportPageCenter(),r=new Vec(r.x,r.y);const n=[];await Promise.all(t.map(async(e,t)=>{if(e.size>c)return console.warn(\\\"File size too big: \\\".concat((e.size/1024).toFixed(),\\\"kb > \\\").concat((c/1024).toFixed(),\\\"kb\\\")),null;if(!e.type)throw new Error(\\\"No mime type\\\");if(!u.concat(p).includes(e.type))return console.warn(\\\"\\\".concat(e.name,\\\" not loaded - Extension not allowed.\\\")),null;try{var r=await d.getAssetForExternalContent({type:\\\"file\\\",file:e});if(!r)throw Error(\\\"Could not create an asset\\\");n[t]=r}catch(i){return h.addToast({title:m(\\\"assets.files.upload-failed\\\"),severity:\\\"error\\\"}),console.error(i),null}})),createShapesForAssets(d,compact(n),r)}),d.registerExternalContentHandler(\\\"text\\\",async({point:e,text:t})=>{var n=null!=e?e:d.inputs.shiftKey?d.inputs.currentPagePoint:d.getViewportPageCenter(),o=d.getShapeUtil(\\\"text\\\").getDefaultProps(),a=cleanupText(t),s=d.getOnlySelectedShape();if(s&&\\\"text\\\"in s.props)d.updateShapes([{id:s.id,type:s.type,props:{text:a}}]);else{let e,t,r,i=\\\"middle\\\";var s=1s?(o=d.textMeasure.measureText(a,{...TEXT_PROPS,fontFamily:FONT_FAMILIES[o.font],fontSize:FONT_SIZES[o.size],maxWidth:s}),e=o.w,t=o.h,r=!1,i=l?\\\"end\\\":\\\"start\\\"):(e=c.w,t=c.h,r=!0),n.y-t/2{var r=getEmbedInfo(t);if(r)return d.putExternalContent({type:\\\"embed\\\",url:r.url,point:e,embed:r.definition});var r=null!=e?e:d.inputs.shiftKey?d.inputs.currentPagePoint:d.getViewportPageCenter(),i=AssetRecordType.createId(getHashForString(t));const n=createEmptyBookmarkShape(d,t,r);let o=d.getAsset(i),a=!1;if(!o){a=!0;try{var s=await d.getAssetForExternalContent({type:\\\"url\\\",url:t});if(!s)throw Error(\\\"Could not create an asset\\\");o=s}catch(l){return void h.addToast({title:m(\\\"assets.url.failed\\\"),severity:\\\"error\\\"})}}d.batch(()=>{a&&d.createAssets([o]),d.updateShapes([{id:n.id,type:n.type,props:{assetId:o.id}}])})})}async function createShapesForAssets(t,r,i){if(!r.length)return[];var e=Vec.From(i);const n=[];for(const o of r)switch(o.type){case\\\"bookmark\\\":n.push({id:createShapeId(),type:\\\"bookmark\\\",x:e.x-150,y:e.y-160,opacity:1,props:{assetId:o.id,url:o.props.src}}),e.x+=300;break;case\\\"image\\\":n.push({id:createShapeId(),type:\\\"image\\\",x:e.x-o.props.w/2,y:e.y-o.props.h/2,opacity:1,props:{assetId:o.id,w:o.props.w,h:o.props.h}}),e.x+=o.props.w;break;case\\\"video\\\":n.push({id:createShapeId(),type:\\\"video\\\",x:e.x-o.props.w/2,y:e.y-o.props.h/2,opacity:1,props:{assetId:o.id,w:o.props.w,h:o.props.h}}),e.x+=o.props.w}return t.batch(()=>{var e=r.filter(e=>!t.getAsset(e.id));e.length&&t.createAssets(e),t.createShapes(n).select(...n.map(e=>e.id)),centerSelectionAroundPoint(t,i)}),n.map(e=>e.id)}function centerSelectionAroundPoint(r,e){var t=r.getViewportPageBounds();let i=r.getSelectionPageBounds();if(i){const n=i.center.sub(e);r.updateShapes(r.getSelectedShapes().map(e=>{var t=r.getShapeParentTransform(e).decompose().rotation,t=Vec.Rot(n,-t);return{id:e.id,type:e.type,x:e.x-t.x,y:e.y-t.y}}))}(i=r.getSelectionPageBounds())&&!t.contains(i)&&r.zoomToSelection()}function createEmptyBookmarkShape(e,t,r){const i={id:createShapeId(),type:\\\"bookmark\\\",x:r.x-150,y:r.y-160,opacity:1,props:{assetId:null,url:t}};return e.batch(()=>{e.createShapes([i]).select(i.id),centerSelectionAroundPoint(e,r)}),e.getShape(i.id)}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var Idle2=class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"onPointerDown\\\",e=>{this.parent.transition(\\\"pointing\\\",e)}),__publicField(this,\\\"onEnter\\\",()=>{this.editor.setCursor({type:\\\"cross\\\",rotation:0})}),__publicField(this,\\\"onCancel\\\",()=>{this.editor.setCurrentTool(\\\"select\\\")}),__publicField(this,\\\"onKeyUp\\\",e=>{var t;if(\\\"Enter\\\"===e.key){if(this.editor.getInstanceState().isReadonly)return null;var r=this.editor.getOnlySelectedShape();r&&this.editor.getShapeUtil(r).canEdit(r)&&(this.editor.setCurrentTool(\\\"select\\\"),this.editor.setEditingShape(r.id),null!=(t=this.editor.root.getCurrent()))&&t.transition(\\\"editing_shape\\\",{...e,target:\\\"shape\\\",shape:r})}})}},Pointing2=(__publicField(Idle2,\\\"id\\\",\\\"idle\\\"),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"shape\\\"),__publicField(this,\\\"markId\\\",\\\"\\\"),__publicField(this,\\\"onEnter\\\",()=>{this.didTimeout=!1;var e=this.editor.getShapeAtPoint(this.editor.inputs.currentPagePoint,{filter:e=>!e.isLocked&&this.editor.getShapeUtil(e).canBind(e),margin:0,hitInside:!0,renderingOnly:!0});e?this.editor.setHintingShapes([e.id]):this.createArrowShape(),this.startPreciseTimeout()}),__publicField(this,\\\"onExit\\\",()=>{this.shape=void 0,this.editor.setHintingShapes([]),this.clearPreciseTimeout()}),__publicField(this,\\\"onPointerMove\\\",()=>{if(this.editor.inputs.isDragging){if(this.shape||this.createArrowShape(),!this.shape)throw Error(\\\"expected shape\\\");this.updateArrowShapeEndHandle(),this.editor.setCurrentTool(\\\"select.dragging_handle\\\",{shape:this.shape,handle:this.editor.getShapeHandles(this.shape).find(e=>\\\"end\\\"===e.id),isCreating:!0,onInteractionEnd:\\\"arrow\\\"})}}),__publicField(this,\\\"onPointerUp\\\",()=>{this.cancel()}),__publicField(this,\\\"onCancel\\\",()=>{this.cancel()}),__publicField(this,\\\"onComplete\\\",()=>{this.cancel()}),__publicField(this,\\\"onInterrupt\\\",()=>{this.cancel()}),__publicField(this,\\\"preciseTimeout\\\",-1),__publicField(this,\\\"didTimeout\\\",!1)}cancel(){this.shape&&this.editor.bailToMark(this.markId),this.editor.setHintingShapes([]),this.parent.transition(\\\"idle\\\")}createArrowShape(){var e,t=this.editor.inputs[\\\"originPagePoint\\\"],r=createShapeId(),t=(this.markId=\\\"creating:\\\".concat(r),this.editor.mark(this.markId),this.editor.createShapes([{id:r,type:\\\"arrow\\\",x:t.x,y:t.y}]),this.editor.getShape(r));if(!t)throw Error(\\\"expected shape\\\");var i=this.editor.getShapeHandles(t);if(!i)throw Error(\\\"expected handles for arrow\\\");var n=this.editor.getShapeUtil(\\\"arrow\\\"),o=this.shape,i=i.find(e=>\\\"start\\\"===e.id),n=null==(e=n.onHandleDrag)?void 0:e.call(n,t,{handle:{...i,x:0,y:0},isPrecise:!0,initial:o});n&&(\\\"binding\\\"===(null==(i=null==(t=n.props)?void 0:t.start)?void 0:i.type)&&this.editor.setHintingShapes([i.boundShapeId]),this.editor.updateShapes([n],{squashing:!0})),this.shape=this.editor.getShape(r),this.editor.select(r)}updateArrowShapeEndHandle(){var e=this.shape;if(!e)throw Error(\\\"expected shape\\\");var t=this.editor.getShapeHandles(e);if(!t)throw Error(\\\"expected handles for arrow\\\");var r={...e,props:{...e.props,end:{...e.props.end,x:0,y:0}}},i=this.editor.getShapeUtil(\\\"arrow\\\"),n=this.shape,o=this.editor.getPointInShapeSpace(e,this.editor.inputs.currentPagePoint),a=t.find(e=>\\\"end\\\"===e.id),i=null==(s=i.onHandleDrag)?void 0:s.call(i,r,{handle:{...a,x:o.x,y:o.y},isPrecise:!1,initial:n}),n=(i&&(\\\"binding\\\"===(null==(o=null==(a=i.props)?void 0:a.end)?void 0:o.type)&&this.editor.setHintingShapes([o.boundShapeId]),this.editor.updateShapes([i],{squashing:!0})),this.editor.getShapeUtil(\\\"arrow\\\")),s=this.shape,a=t.find(e=>\\\"start\\\"===e.id),i=null==(o=n.onHandleDrag)?void 0:o.call(n,r,{handle:{...a,x:0,y:0},isPrecise:this.didTimeout,initial:s});i&&this.editor.updateShapes([i],{squashing:!0}),this.shape=this.editor.getShape(e.id)}startPreciseTimeout(){this.preciseTimeout=window.setTimeout(()=>{this.getIsActive()&&(this.didTimeout=!0)},320)}clearPreciseTimeout(){clearTimeout(this.preciseTimeout)}}),ArrowShapeTool=(__publicField(Pointing2,\\\"id\\\",\\\"pointing\\\"),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"shapeType\\\",\\\"arrow\\\")}}),Drawing=(__publicField(ArrowShapeTool,\\\"id\\\",\\\"arrow\\\"),__publicField(ArrowShapeTool,\\\"initial\\\",\\\"idle\\\"),__publicField(ArrowShapeTool,\\\"children\\\",()=>[Idle2,Pointing2]),init_esbuild_inject(),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"info\\\",{}),__publicField(this,\\\"initialShape\\\"),__publicField(this,\\\"shapeType\\\",\\\"highlight\\\"===this.parent.id?\\\"highlight\\\":\\\"draw\\\"),__publicField(this,\\\"util\\\",this.editor.getShapeUtil(this.shapeType)),__publicField(this,\\\"isPen\\\",!1),__publicField(this,\\\"segmentMode\\\",\\\"free\\\"),__publicField(this,\\\"didJustShiftClickToExtendPreviousShapeLine\\\",!1),__publicField(this,\\\"pagePointWhereCurrentSegmentChanged\\\",{}),__publicField(this,\\\"pagePointWhereNextSegmentChanged\\\",null),__publicField(this,\\\"lastRecordedPoint\\\",{}),__publicField(this,\\\"mergeNextPoint\\\",!1),__publicField(this,\\\"currentLineLength\\\",0),__publicField(this,\\\"canDraw\\\",!1),__publicField(this,\\\"markId\\\",null),__publicField(this,\\\"onEnter\\\",e=>{this.markId=null,this.info=e,this.canDraw=!this.editor.getIsMenuOpen(),this.lastRecordedPoint=this.editor.inputs.currentPagePoint.clone(),this.canDraw&&this.startShape()}),__publicField(this,\\\"onPointerMove\\\",()=>{var e=this.editor[\\\"inputs\\\"];if(this.isPen!==e.isPen){if(this.markId)return this.editor.bailToMark(this.markId),void this.startShape()}else!this.canDraw&&e.isDragging&&(this.startShape(),this.canDraw=!0);this.canDraw&&(e.isPen?Vec.Dist(e.currentPagePoint,this.lastRecordedPoint)>=1/this.editor.getZoomLevel()?(this.lastRecordedPoint=e.currentPagePoint.clone(),this.mergeNextPoint=!1):this.mergeNextPoint=!0:this.mergeNextPoint=!1,this.updateDrawingShape())}),__publicField(this,\\\"onKeyDown\\\",e=>{if(\\\"Shift\\\"===e.key)switch(this.segmentMode){case\\\"free\\\":this.segmentMode=\\\"starting_straight\\\",this.pagePointWhereNextSegmentChanged=this.editor.inputs.currentPagePoint.clone();break;case\\\"starting_free\\\":this.segmentMode=\\\"starting_straight\\\"}this.updateDrawingShape()}),__publicField(this,\\\"onKeyUp\\\",e=>{if(\\\"Shift\\\"===e.key)switch(this.editor.snaps.clearIndicators(),this.segmentMode){case\\\"straight\\\":this.segmentMode=\\\"starting_free\\\",this.pagePointWhereNextSegmentChanged=this.editor.inputs.currentPagePoint.clone();break;case\\\"starting_straight\\\":this.pagePointWhereNextSegmentChanged=null,this.segmentMode=\\\"free\\\"}this.updateDrawingShape()}),__publicField(this,\\\"onExit\\\",()=>{this.editor.snaps.clearIndicators(),this.pagePointWhereCurrentSegmentChanged=this.editor.inputs.currentPagePoint.clone()}),__publicField(this,\\\"onPointerUp\\\",()=>{this.complete()}),__publicField(this,\\\"onCancel\\\",()=>{this.cancel()}),__publicField(this,\\\"onComplete\\\",()=>{this.complete()}),__publicField(this,\\\"onInterrupt\\\",()=>{this.editor.inputs.isDragging||(this.markId&&this.editor.bailToMark(this.markId),this.cancel())})}canClose(){return\\\"highlight\\\"!==this.shapeType}getIsClosed(e,t){var r,i,n;return!!this.canClose()&&(r=STROKE_SIZES2[t],(i=e[0].points[0])!==(n=(n=e[e.length-1]).points[n.points.length-1]))&&this.currentLineLength>4*r&&Vec.DistMin(i,n,2*r)}startShape(){var{originPagePoint:e,isPen:t}=this.editor[\\\"inputs\\\"],t=(this.markId=\\\"draw start \\\"+uniqueId(),this.editor.mark(this.markId),this.isPen=t,this.isPen?1.25*this.info.point.z:.5);if(this.segmentMode=this.editor.inputs.shiftKey?\\\"straight\\\":\\\"free\\\",this.didJustShiftClickToExtendPreviousShapeLine=!1,this.lastRecordedPoint=e.clone(),this.initialShape){var r=this.editor.getShape(this.initialShape.id);if(r&&\\\"straight\\\"===this.segmentMode){this.didJustShiftClickToExtendPreviousShapeLine=!0;var i=last(r.props.segments);if(!i)throw Error(\\\"Expected a previous segment!\\\");var n,o,i=last(i.points);if(i)return({x:n,y:a}=this.editor.getPointInShapeSpace(r,e).toFixed()),o=this.isPen?1.25*this.info.point.z:.5,n={type:this.segmentMode,points:[{x:i.x,y:i.y,z:+o.toFixed(2)},{x:n,y:a,z:+o.toFixed(2)}]},a=Mat.applyToPoint(this.editor.getShapePageTransform(r.id),i),this.pagePointWhereCurrentSegmentChanged=a,this.pagePointWhereNextSegmentChanged=null,o=[...r.props.segments,n],this.currentLineLength<4*STROKE_SIZES2[r.props.size]&&(this.currentLineLength=this.getLineLength(o)),i={id:r.id,type:this.shapeType,props:{segments:o}},this.canClose()&&(i.props.isClosed=this.getIsClosed(o,r.props.size)),void this.editor.updateShapes([i]);throw Error(\\\"Expected a previous point!\\\")}}this.pagePointWhereCurrentSegmentChanged=e.clone();var a=createShapeId();this.editor.createShapes([{id:a,type:this.shapeType,x:e.x,y:e.y,props:{isPen:this.isPen,segments:[{type:this.segmentMode,points:[{x:0,y:0,z:+t.toFixed(2)}]}]}}]),this.currentLineLength=0,this.initialShape=this.editor.getShape(a)}updateDrawingShape(){var e=this[\\\"initialShape\\\"],t=this.editor[\\\"inputs\\\"];if(e){var{id:r,props:{size:i}}=e,s=this.editor.getShape(r);if(s){var l=s.props[\\\"segments\\\"],{x:e,y:n,z:o}=this.editor.getPointInShapeSpace(s,t.currentPagePoint).toFixed(),a={x:e,y:n,z:this.isPen?+(1.25*o).toFixed(2):.5};switch(this.segmentMode){case\\\"starting_straight\\\":var c=this[\\\"pagePointWhereNextSegmentChanged\\\"];if(null===c)throw Error(\\\"We should have a point where the segment changed\\\");if(Vec.Dist2(c,t.currentPagePoint)>DRAG_DISTANCE){this.pagePointWhereCurrentSegmentChanged=this.pagePointWhereNextSegmentChanged.clone(),this.pagePointWhereNextSegmentChanged=null,this.segmentMode=\\\"straight\\\";c=last(l);if(!c)throw Error(\\\"Expected a previous segment!\\\");var d=last(c.points);if(!d)throw Error(\\\"Expected a previous last point!\\\");let e;var u=this.editor.getPointInShapeSpace(s,this.pagePointWhereCurrentSegmentChanged).toFixed().toJson(),c=(\\\"straight\\\"===c.type?(this.currentLineLength+=Vec.Dist(d,u),e={type:\\\"straight\\\",points:[{...d},u]},c=this.editor.getShapePageTransform(s),this.pagePointWhereCurrentSegmentChanged=Mat.applyToPoint(c,d)):e={type:\\\"straight\\\",points:[u,a]},{id:r,type:this.shapeType,props:{segments:[...l,e]}});this.canClose()&&(c.props.isClosed=this.getIsClosed(l,i)),this.editor.updateShapes([c],{squashing:!0})}break;case\\\"starting_free\\\":d=this[\\\"pagePointWhereNextSegmentChanged\\\"];if(null===d)throw Error(\\\"We should have a point where the segment changed\\\");if(Vec.Dist2(d,t.currentPagePoint)>DRAG_DISTANCE){this.pagePointWhereCurrentSegmentChanged=this.pagePointWhereNextSegmentChanged.clone(),this.pagePointWhereNextSegmentChanged=null,this.segmentMode=\\\"free\\\";u=l.slice(),c=last(u[u.length-1].points);if(!c)throw Error(\\\"No previous point!\\\");d={type:\\\"free\\\",points:[...Vec.PointsBetween(c,a,6).map(e=>e.toFixed().toJson())]},c=[...u,d],u=(this.currentLineLength<4*STROKE_SIZES2[s.props.size]&&(this.currentLineLength=this.getLineLength(c)),{id:r,type:this.shapeType,props:{segments:c}});this.canClose()&&(u.props.isClosed=this.getIsClosed(c,i)),this.editor.updateShapes([u],{squashing:!0})}break;case\\\"straight\\\":{var d=l.slice(),c=d[d.length-1],u=this[\\\"pagePointWhereCurrentSegmentChanged\\\"],{ctrlKey:p,currentPagePoint:h}=this.editor.inputs;if(!u)throw Error(\\\"We should have a point where the segment changed\\\");let e,t=!1,n=(this.didJustShiftClickToExtendPreviousShapeLine?this.editor.inputs.isDragging&&(t=!p,this.didJustShiftClickToExtendPreviousShapeLine=!1):t=!p,this.editor.getPointInShapeSpace(s,h).toFixed().toJson()),o=!1,a=void 0;var p=this.editor.user.getIsSnapMode()?!p:p;if(p&&2{this.parent.transition(\\\"drawing\\\",e)}),__publicField(this,\\\"onEnter\\\",()=>{this.editor.setCursor({type:\\\"cross\\\",rotation:0})}),__publicField(this,\\\"onCancel\\\",()=>{this.editor.setCurrentTool(\\\"select\\\")})}}),DrawShapeTool=(__publicField(Idle3,\\\"id\\\",\\\"idle\\\"),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"shapeType\\\",\\\"draw\\\"),__publicField(this,\\\"onExit\\\",()=>{this.children.drawing.initialShape=void 0})}}),FrameShapeTool=(__publicField(DrawShapeTool,\\\"id\\\",\\\"draw\\\"),__publicField(DrawShapeTool,\\\"initial\\\",\\\"idle\\\"),__publicField(DrawShapeTool,\\\"children\\\",()=>[Idle3,Drawing]),init_esbuild_inject(),class extends BaseBoxShapeTool{constructor(){super(...arguments),__publicField(this,\\\"shapeType\\\",\\\"frame\\\"),__publicField(this,\\\"onCreate\\\",i=>{if(i){const n=this.editor.getShapePageBounds(i),o=[],a=this.editor.getShapeAncestors(i).map(e=>e.id);this.editor.getSortedChildIdsForParent(i.parentId).map(e=>{var t,r=this.editor.getShape(e);r&&r.id!==i.id&&!r.isLocked&&(t=this.editor.getShapePageBounds(r))&&n.contains(t)&&canEnclose(r,a,i)&&o.push(r.id)}),this.editor.reparentShapes(o,i.id),this.editor.getInstanceState().isToolLocked?this.editor.setCurrentTool(\\\"frame\\\"):this.editor.setCurrentTool(\\\"select.idle\\\")}})}});function canEnclose(e,t,r){return!t.includes(e.id)&&e.parentId===r.parentId}__publicField(FrameShapeTool,\\\"id\\\",\\\"frame\\\"),__publicField(FrameShapeTool,\\\"initial\\\",\\\"idle\\\"),init_esbuild_inject(),init_esbuild_inject();var Idle4=class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"onPointerDown\\\",e=>{this.parent.transition(\\\"pointing\\\",e)}),__publicField(this,\\\"onEnter\\\",()=>{this.editor.setCursor({type:\\\"cross\\\",rotation:0})}),__publicField(this,\\\"onKeyUp\\\",e=>{var t;if(\\\"Enter\\\"===e.key){if(this.editor.getInstanceState().isReadonly)return null;var r=this.editor.getOnlySelectedShape();r&&this.editor.getShapeUtil(r).canEdit(r)&&(this.editor.setCurrentTool(\\\"select\\\"),this.editor.setEditingShape(r.id),null!=(t=this.editor.root.getCurrent()))&&t.transition(\\\"editing_shape\\\",{...e,target:\\\"shape\\\",shape:r})}}),__publicField(this,\\\"onCancel\\\",()=>{this.editor.setCurrentTool(\\\"select\\\")})}},Pointing3=(__publicField(Idle4,\\\"id\\\",\\\"idle\\\"),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"markId\\\",\\\"\\\"),__publicField(this,\\\"onPointerUp\\\",()=>{this.complete()}),__publicField(this,\\\"onPointerMove\\\",e=>{var t,r;this.editor.inputs.isDragging&&(t=this.editor.inputs[\\\"originPagePoint\\\"],r=createShapeId(),this.markId=\\\"creating:\\\".concat(r),this.editor.mark(this.markId),this.editor.createShapes([{id:r,type:\\\"geo\\\",x:t.x,y:t.y,props:{w:1,h:1,geo:this.editor.getStyleForNextShape(GeoShapeGeoStyle)}}]).select(r).setCurrentTool(\\\"select.resizing\\\",{...e,target:\\\"selection\\\",handle:\\\"bottom_right\\\",isCreating:!0,creationCursorOffset:{x:1,y:1},onInteractionEnd:\\\"geo\\\"}))}),__publicField(this,\\\"onCancel\\\",()=>{this.cancel()}),__publicField(this,\\\"onComplete\\\",()=>{this.complete()}),__publicField(this,\\\"onInterrupt\\\",()=>{this.cancel()})}complete(){var e,t,r,i=this.editor.inputs[\\\"originPagePoint\\\"],n=createShapeId(),i=(this.markId=\\\"creating:\\\".concat(n),this.editor.mark(this.markId),this.editor.createShapes([{id:n,type:\\\"geo\\\",x:i.x,y:i.y,props:{geo:this.editor.getStyleForNextShape(GeoShapeGeoStyle),w:1,h:1}}]),this.editor.getShape(n));i&&(t=(e=\\\"star\\\"===i.props.geo?new Box(0,0,200,190):\\\"cloud\\\"===i.props.geo?new Box(0,0,300,180):new Box(0,0,200,200)).center,(r=this.editor.getShapeParentTransform(i))&&t.rot(-r.rotation()),this.editor.select(n),this.editor.updateShapes([{id:i.id,type:\\\"geo\\\",x:i.x-t.x,y:i.y-t.y,props:{geo:this.editor.getStyleForNextShape(GeoShapeGeoStyle),w:e.width,h:e.height}}]),this.editor.getInstanceState().isToolLocked?this.parent.transition(\\\"idle\\\"):this.editor.setCurrentTool(\\\"select\\\",{}))}cancel(){this.parent.transition(\\\"idle\\\")}}),GeoShapeTool=(__publicField(Pointing3,\\\"id\\\",\\\"pointing\\\"),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"shapeType\\\",\\\"geo\\\")}}),HighlightShapeTool=(__publicField(GeoShapeTool,\\\"id\\\",\\\"geo\\\"),__publicField(GeoShapeTool,\\\"initial\\\",\\\"idle\\\"),__publicField(GeoShapeTool,\\\"children\\\",()=>[Idle4,Pointing3]),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"shapeType\\\",\\\"highlight\\\"),__publicField(this,\\\"onExit\\\",()=>{this.children.drawing.initialShape=void 0})}}),Idle5=(__publicField(HighlightShapeTool,\\\"id\\\",\\\"highlight\\\"),__publicField(HighlightShapeTool,\\\"initial\\\",\\\"idle\\\"),__publicField(HighlightShapeTool,\\\"children\\\",()=>[Idle3,Drawing]),init_esbuild_inject(),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"shapeId\\\",\\\"\\\"),__publicField(this,\\\"onEnter\\\",e=>{this.shapeId=e.shapeId,this.editor.setCursor({type:\\\"cross\\\",rotation:0})}),__publicField(this,\\\"onPointerDown\\\",()=>{this.parent.transition(\\\"pointing\\\",{shapeId:this.shapeId})}),__publicField(this,\\\"onCancel\\\",()=>{this.editor.setCurrentTool(\\\"select\\\")})}}),MINIMUM_DISTANCE_BETWEEN_SHIFT_CLICKED_HANDLES=(__publicField(Idle5,\\\"id\\\",\\\"idle\\\"),init_esbuild_inject(),2),Pointing4=class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"shape\\\",{}),__publicField(this,\\\"markId\\\"),__publicField(this,\\\"onEnter\\\",e=>{var t,r,i=this.editor[\\\"inputs\\\"],n=i[\\\"currentPagePoint\\\"],o=(this.markId=void 0,e.shapeId&&this.editor.getShape(e.shapeId));o&&i.shiftKey?(this.markId=\\\"creating:\\\".concat(o.id),this.editor.mark(this.markId),this.shape=o,(i=this.editor.getShapeHandles(this.shape))&&(i=(o=i.filter(e=>\\\"vertex\\\"===e.type).sort(sortByIndex))[o.length-1],o=o[o.length-2],t=Mat.applyToPoint(this.editor.getShapeParentTransform(this.shape),new Vec(this.shape.x,this.shape.y)),t=Vec.Sub(n,t).addXY(.1,.1),r=structuredClone(this.shape.props.points),Vec.DistMin(i,o,MINIMUM_DISTANCE_BETWEEN_SHIFT_CLICKED_HANDLES)||Vec.DistMin(t,i,MINIMUM_DISTANCE_BETWEEN_SHIFT_CLICKED_HANDLES)?r[i.id]={id:i.id,index:i.index,x:t.x,y:t.y}:r[o=getIndexAbove(i.index)]={id:o,index:o,x:t.x,y:t.y},this.editor.updateShapes([{id:this.shape.id,type:this.shape.type,props:{points:r}}]))):(i=createShapeId(),this.markId=\\\"creating:\\\".concat(i),this.editor.mark(this.markId),this.editor.createShapes([{id:i,type:\\\"line\\\",x:n.x,y:n.y}]),this.editor.select(i),this.shape=this.editor.getShape(i))}),__publicField(this,\\\"onPointerMove\\\",()=>{if(this.shape&&this.editor.inputs.isDragging){var e=this.editor.getShapeHandles(this.shape);if(!e)throw this.markId&&this.editor.bailToMark(this.markId),Error(\\\"No handles found\\\");e=last(e);this.editor.setCurrentTool(\\\"select.dragging_handle\\\",{shape:this.shape,isCreating:!0,handle:{...e,x:e.x-.1,y:e.y-.1},onInteractionEnd:\\\"line\\\"})}}),__publicField(this,\\\"onPointerUp\\\",()=>{this.complete()}),__publicField(this,\\\"onCancel\\\",()=>{this.cancel()}),__publicField(this,\\\"onComplete\\\",()=>{this.complete()}),__publicField(this,\\\"onInterrupt\\\",()=>{this.parent.transition(\\\"idle\\\"),this.markId&&this.editor.bailToMark(this.markId),this.editor.snaps.clearIndicators()})}complete(){this.parent.transition(\\\"idle\\\",{shapeId:this.shape.id}),this.editor.snaps.clearIndicators()}cancel(){this.markId&&this.editor.bailToMark(this.markId),this.parent.transition(\\\"idle\\\",{shapeId:this.shape.id}),this.editor.snaps.clearIndicators()}},LineShapeTool=(__publicField(Pointing4,\\\"id\\\",\\\"pointing\\\"),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"shapeType\\\",\\\"line\\\")}}),Idle6=(__publicField(LineShapeTool,\\\"id\\\",\\\"line\\\"),__publicField(LineShapeTool,\\\"initial\\\",\\\"idle\\\"),__publicField(LineShapeTool,\\\"children\\\",()=>[Idle5,Pointing4]),init_esbuild_inject(),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"onPointerDown\\\",e=>{this.parent.transition(\\\"pointing\\\",e)}),__publicField(this,\\\"onEnter\\\",()=>{this.editor.setCursor({type:\\\"cross\\\",rotation:0})}),__publicField(this,\\\"onCancel\\\",()=>{this.editor.setCurrentTool(\\\"select\\\")})}});function kickoutOccludedShapes(t,e){var r,i=new Set;for(const u of e){var n=t.getShape(u);n&&(t.getShapeUtil(n).onDragShapesOut&&i.add(n),n=t.getShape(n.parentId))&&t.getShapeUtil(n).onDragShapesOut&&i.add(n)}var o,a,s=new Map;for(const p of i){var l=getOccludedChildren(t,p);l.length&&s.set(p,l)}for([o,a]of s){var c=t.getShapeUtil(o),d=compact(a.map(e=>t.getShape(e)));null!=(r=c.onDragShapesOut)&&r.call(c,o,d)}}function getOccludedChildren(e,t){var r=e.getSortedChildIdsForParent(t.id);if(0===r.length)return[];var i=e.getShapePageBounds(t);if(!i)return[];let n,o,a;var s=[];for(const d of r){var l=e.getShapePageBounds(d);if(l)if(i.includes(l)){null!=n?n:n=e.getShapeGeometry(t),null!=o?o:o=e.getShapePageTransform(t),null!=a?a:a=o.applyToPoints(n.vertices);const u=e.getShapePageTransform(d).clone().invert().applyToPoints(a);var{vertices:l,isClosed:c}=e.getShapeGeometry(d);if(!l.some(e=>pointInPolygon(e,u))){if(c){if(polygonsIntersect(u,l))continue}else if(polygonIntersectsPolyline(u,l))continue;s.push(d)}}else s.push(d)}return s}function startEditingShapeWithLabel(e,t,r=!1){e.select(t),e.setEditingShape(t),e.setCurrentTool(\\\"select.editing_shape\\\",{target:\\\"shape\\\",shape:t}),r&&e.emit(\\\"select-all-text\\\",{shapeId:t.id}),zoomToShapeIfOffscreen(e)}__publicField(Idle6,\\\"id\\\",\\\"idle\\\"),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var ZOOM_TO_SHAPE_PADDING=16;function zoomToShapeIfOffscreen(e){var t=e.getSelectionPageBounds(),r=e.getViewportPageBounds();t&&!r.contains(t)&&(t=t.clone().expandBy(ZOOM_TO_SHAPE_PADDING/e.getZoomLevel()).expand(r),t=r.clone().translate({x:2*(t.center.x-r.center.x),y:2*(t.center.y-r.center.y)}),e.zoomToBounds(t,{duration:ANIMATION_MEDIUM_MS,inset:0}))}var ADJACENT_NOTE_MARGIN=20,CLONE_HANDLE_MARGIN=0,NOTE_SIZE=200,NOTE_CENTER_OFFSET={x:NOTE_SIZE/2,y:NOTE_SIZE/2},NOTE_PIT_RADIUS=10,DEFAULT_PITS={a1:new Vec(.5*NOTE_SIZE,-.5*NOTE_SIZE-ADJACENT_NOTE_MARGIN),a2:new Vec(1.5*NOTE_SIZE+ADJACENT_NOTE_MARGIN,.5*NOTE_SIZE),a3:new Vec(.5*NOTE_SIZE,1.5*NOTE_SIZE+ADJACENT_NOTE_MARGIN),a4:new Vec(-.5*NOTE_SIZE-ADJACENT_NOTE_MARGIN,.5*NOTE_SIZE)};function getNoteAdjacentPositions(n,o,a,s){return Object.fromEntries(Object.entries(DEFAULT_PITS).map(([e,t],r)=>{var i=t.clone();return 0===r&&s?i.y-=s:2===r&&a&&(i.y+=a),[e,i.rot(o).add(n)]}))}function getAvailableNoteAdjacentPositions(t,e,r){var i,n=new Set(t.getSelectedShapeIds()),o=(NOTE_SIZE+ADJACENT_NOTE_MARGIN+r)**2,a=new Map,s=[];for(const p of t.getCurrentPageShapes())t.isShapeOfType(p,\\\"note\\\")&&!n.has(p.id)&&e===(i=t.getShapePageTransform(p.id)).rotation()&&(a.set(p,t.getShapePageBounds(p).center),s.push(...Object.values(getNoteAdjacentPositions(i.point(),e,p.props.growY,r))));var l,c,d,u=s.length;for([c,d]of a)for(let e=0;eo||t.isPointInShape(c,l)&&(s[e]=void 0);return compact(s)}function getNoteShapeForAdjacentPosition(e,t,r,i,n=!1){let o;var a,s,l=e.getCurrentPageShapesSorted(),c=NOTE_SIZE+ADJACENT_NOTE_MARGIN**2;for(let p=l.length-1;0<=p;p--){var d=l[p];if(\\\"note\\\"===d.type&&d.id!==t.id){var u=e.getShapePageBounds(d);if(u&&Vec.Dist2(u.center,r){var e,t,r=this[\\\"editor\\\"];this.wasFocusedOnEnter=!r.getIsMenuOpen(),this.wasFocusedOnEnter&&(e=createShapeId(),this.markId=\\\"creating:\\\".concat(e),r.mark(this.markId),r=this.editor.inputs.originPagePoint.clone(),(t=getNotePitOffset(this.editor,r))&&r.sub(t),this.shape=createSticky(this.editor,e,r))}),__publicField(this,\\\"onPointerMove\\\",e=>{var t,r,i;this.editor.inputs.isDragging&&(this.wasFocusedOnEnter||(t=createShapeId(),r=this.editor.inputs.originPagePoint.clone(),(i=getNotePitOffset(this.editor,r))&&r.sub(i),this.shape=createSticky(this.editor,t,r)),this.editor.setCurrentTool(\\\"select.translating\\\",{...e,target:\\\"shape\\\",shape:this.shape,onInteractionEnd:\\\"note\\\",isCreating:!0,onCreate:()=>{this.editor.setEditingShape(this.shape.id),this.editor.setCurrentTool(\\\"select.editing_shape\\\")}}))}),__publicField(this,\\\"onPointerUp\\\",()=>{this.complete()}),__publicField(this,\\\"onInterrupt\\\",()=>{this.cancel()}),__publicField(this,\\\"onComplete\\\",()=>{this.complete()}),__publicField(this,\\\"onCancel\\\",()=>{this.cancel()})}complete(){this.wasFocusedOnEnter&&(this.editor.getInstanceState().isToolLocked?this.parent.transition(\\\"idle\\\"):(this.editor.setEditingShape(this.shape.id),this.editor.setCurrentTool(\\\"select.editing_shape\\\",{...this.info,target:\\\"shape\\\",shape:this.shape})))}cancel(){this.editor.bailToMark(this.markId),this.parent.transition(\\\"idle\\\",this.info)}};function getNotePitOffset(e,t){let r=NOTE_PIT_RADIUS/e.getZoomLevel(),i;for(const a of getAvailableNoteAdjacentPositions(e,0,0)){var n=Vec.Sub(t,a),o=n.len();o[Idle6,Pointing5]),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var updateHoveredId=throttle(_updateHoveredId,32),Idle7=class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"onPointerMove\\\",e=>{switch(e.target){case\\\"shape\\\":case\\\"canvas\\\":updateHoveredId(this.editor)}}),__publicField(this,\\\"onPointerDown\\\",e=>{this.parent.transition(\\\"pointing\\\",e)}),__publicField(this,\\\"onEnter\\\",()=>{this.editor.setCursor({type:\\\"cross\\\",rotation:0})}),__publicField(this,\\\"onKeyDown\\\",e=>{var t;if(\\\"Enter\\\"===e.key){if(this.editor.getInstanceState().isReadonly)return null;var r=this.editor.getOnlySelectedShape();r&&this.editor.getShapeUtil(r).canEdit(r)&&(this.editor.setCurrentTool(\\\"select\\\"),this.editor.setEditingShape(r.id),null!=(t=this.editor.root.getCurrent()))&&t.transition(\\\"editing_shape\\\",{...e,target:\\\"shape\\\",shape:r})}}),__publicField(this,\\\"onCancel\\\",()=>{this.editor.setCurrentTool(\\\"select\\\")})}},Pointing6=(__publicField(Idle7,\\\"id\\\",\\\"idle\\\"),init_esbuild_inject(),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"shape\\\"),__publicField(this,\\\"markId\\\",\\\"\\\"),__publicField(this,\\\"onExit\\\",()=>{this.editor.setHintingShapes([])}),__publicField(this,\\\"onPointerMove\\\",e=>{if(this.editor.inputs.isDragging){var{originPagePoint:t}=this.editor[\\\"inputs\\\"],r=createShapeId();if(this.markId=\\\"creating:\\\".concat(r),this.editor.mark(this.markId),this.editor.createShapes([{id:r,type:\\\"text\\\",x:t.x,y:t.y,props:{text:\\\"\\\",autoSize:!1,w:20}}]),this.editor.select(r),this.shape=this.editor.getShape(r),this.shape){const i=this[\\\"shape\\\"];this.editor.setCurrentTool(\\\"select.resizing\\\",{...e,target:\\\"selection\\\",handle:\\\"right\\\",isCreating:!0,creationCursorOffset:{x:1,y:1},onInteractionEnd:\\\"text\\\",onCreate:()=>{this.editor.setEditingShape(i.id),this.editor.setCurrentTool(\\\"select.editing_shape\\\")}})}}}),__publicField(this,\\\"onPointerUp\\\",()=>{this.complete()}),__publicField(this,\\\"onComplete\\\",()=>{this.cancel()}),__publicField(this,\\\"onCancel\\\",()=>{this.cancel()}),__publicField(this,\\\"onInterrupt\\\",()=>{this.cancel()})}complete(){this.editor.mark(\\\"creating text shape\\\");var e=createShapeId(),{x:t,y:r}=this.editor.inputs.currentPagePoint;this.editor.createShapes([{id:e,type:\\\"text\\\",x:t,y:r,props:{text:\\\"\\\",autoSize:!0}}]).select(e),this.editor.setEditingShape(e),this.editor.setCurrentTool(\\\"select\\\"),null!=(t=this.editor.root.getCurrent())&&t.transition(\\\"editing_shape\\\")}cancel(){this.parent.transition(\\\"idle\\\"),this.editor.bailToMark(this.markId)}}),TextShapeTool=(__publicField(Pointing6,\\\"id\\\",\\\"pointing\\\"),class extends StateNode{constructor(){super(...arguments),__publicField(this,\\\"shapeType\\\",\\\"text\\\")}}),defaultShapeTools=(__publicField(TextShapeTool,\\\"id\\\",\\\"text\\\"),__publicField(TextShapeTool,\\\"initial\\\",\\\"idle\\\"),__publicField(TextShapeTool,\\\"children\\\",()=>[Idle7,Pointing6]),[TextShapeTool,DrawShapeTool,GeoShapeTool,NoteShapeTool,LineShapeTool,FrameShapeTool,ArrowShapeTool,HighlightShapeTool]),import_jsx_runtime43=(init_esbuild_inject(),init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_react47=__toESM(require(\\\"react\\\"),1),import_jsx_runtime36=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_react42=__toESM(require(\\\"react\\\"),1);function useDefaultColorTheme(){return getDefaultColorTheme({isDarkMode:useIsDarkMode()})}var ShapeFill=import_react42[\\\"default\\\"].memo(function ShapeFill2({theme:e,d:t,color:r,fill:i}){switch(i){case\\\"none\\\":return null;case\\\"solid\\\":return(0,import_jsx_runtime36.jsx)(\\\"path\\\",{fill:e[r].semi,d:t});case\\\"semi\\\":return(0,import_jsx_runtime36.jsx)(\\\"path\\\",{fill:e.solid,d:t});case\\\"pattern\\\":return(0,import_jsx_runtime36.jsx)(PatternFill,{theme:e,color:r,fill:i,d:t})}}),PatternFill=function PatternFill2({d:e,color:t,theme:r}){const i=useEditor();var n=useSvgExportContext(),o=useValue(\\\"zoomLevel\\\",()=>i.getZoomLevel(),[i]),o=Math.ceil(o),a=i.getZoomLevel()<=.18;return(0,import_jsx_runtime36.jsxs)(import_jsx_runtime36.Fragment,{children:[(0,import_jsx_runtime36.jsx)(\\\"path\\\",{fill:r[t].pattern,d:e}),(0,import_jsx_runtime36.jsx)(\\\"path\\\",{fill:n?\\\"url(#\\\".concat(HASH_PATTERN_ZOOM_NAMES[\\\"1_\\\".concat(r.id)],\\\")\\\"):a?r[t].semi:\\\"url(#\\\".concat(HASH_PATTERN_ZOOM_NAMES[\\\"\\\".concat(o,\\\"_\\\").concat(r.id)],\\\")\\\"),d:e})]})},import_jsx_runtime38=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_jsx_runtime37=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\"));function correctSpacesToNbsp(e){return e.replace(/\\\\s/g,\\\" \\\")}function createTextJsxFromSpans(e,t,r){var i,{padding:n=0}=r;if(0===t.length)return null;var o,a=Box.From(t[0].box);for({box:o}of t)a.union(o);var s=n+(null!=(i=r.offsetX)?i:0),l=(null!=(i=r.offsetY)?i:0)+r.fontSize/2+(\\\"start\\\"===r.verticalTextAlign?n:\\\"end\\\"===r.verticalTextAlign?r.height-n-a.height:(Math.ceil(r.height)-a.height)/2);let c=null;var d,u,p=[];for({text:d,box:u}of t)null!==c&&u.y>c&&p.push((0,import_jsx_runtime37.jsx)(\\\"tspan\\\",{alignmentBaseline:\\\"mathematical\\\",x:s,y:u.y+l,children:\\\"\\\\n\\\"},p.length)),p.push((0,import_jsx_runtime37.jsx)(\\\"tspan\\\",{alignmentBaseline:\\\"mathematical\\\",x:u.x+s,y:u.y+l,children:correctSpacesToNbsp(d)},p.length)),c=u.y;return(0,import_jsx_runtime37.jsx)(\\\"text\\\",{fontSize:r.fontSize,fontFamily:r.fontFamily,fontStyle:r.fontFamily,fontWeight:r.fontWeight,dominantBaseline:\\\"mathematical\\\",alignmentBaseline:\\\"mathematical\\\",stroke:r.stroke,strokeWidth:r.strokeWidth,fill:r.fill,children:p})}function getLegacyOffsetX(e,t,r,i){if((\\\"start-legacy\\\"===e||\\\"end-legacy\\\"===e)&&0!==r.length){var n,o=Box.From(r[0].box);for({box:n}of r)o.union(n);return\\\"start-legacy\\\"===e?(i-2*t-o.width)/2:\\\"end-legacy\\\"===e?-(i-2*t-o.width)/2:void 0}}function isLegacyAlign(e){return\\\"start-legacy\\\"===e||\\\"middle-legacy\\\"===e||\\\"end-legacy\\\"===e}function SvgTextLabel({fontSize:e,font:t,align:r,verticalAlign:i,text:n,labelColor:o,bounds:a,padding:s=16,stroke:l=!0}){var c=useEditor(),d=useDefaultColorTheme(),u={fontSize:e,fontFamily:DefaultFontFamilies[t],textAlign:r,verticalTextAlign:i,width:Math.ceil(a.width),height:Math.ceil(a.height),padding:s,lineHeight:TEXT_PROPS.lineHeight,fontStyle:\\\"normal\\\",fontWeight:\\\"normal\\\",overflow:\\\"wrap\\\",offsetX:0,offsetY:0,fill:o,stroke:void 0,strokeWidth:void 0},p=c.textMeasure.measureTextSpans(n,u),h=getLegacyOffsetX(r,s,p,a.width),h=(h&&(u.offsetX=h),u.offsetX+=a.x,u.offsetY+=a.y,createTextJsxFromSpans(c,p,u));let m=null;return l&&(u.fill=d.background,u.stroke=d.background,u.strokeWidth=2,m=createTextJsxFromSpans(c,p,u)),(0,import_jsx_runtime38.jsxs)(import_jsx_runtime38.Fragment,{children:[m,h]})}init_esbuild_inject(),init_esbuild_inject();var import_jsx_runtime39=require(\\\"react/jsx-runtime\\\"),import_react43=require(\\\"react\\\");function getFontDefForExport(i){return{key:\\\"\\\".concat(DefaultFontStyle.id,\\\":\\\").concat(i),getElement:async()=>{var e,t,r=findFont(i);return r&&(t=r.$$_url,r=r.$$_fontface,t)&&r?(e=await(await fetch(t)).blob(),e=await FileHelpers.blobToDataUrl(e),t=r.replace(t,e),(0,import_jsx_runtime39.jsx)(\\\"style\\\",{children:t})):null}}}function findFont(e){var t=DefaultFontFamilies[e];for(const r of document.fonts)if(t.includes(r.family))return r;return null}function getFillDefForExport(e){return{key:\\\"\\\".concat(DefaultFontStyle.id,\\\":\\\").concat(e),getElement:async()=>\\\"pattern\\\"!==e?null:(0,import_jsx_runtime39.jsx)(HashPatternForExport,{})}}function HashPatternForExport(){var e=useDefaultColorTheme(),t=8/12;return(0,import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment,{children:[(0,import_jsx_runtime39.jsxs)(\\\"mask\\\",{id:\\\"hash_pattern_mask\\\",children:[(0,import_jsx_runtime39.jsx)(\\\"rect\\\",{x:\\\"0\\\",y:\\\"0\\\",width:\\\"8\\\",height:\\\"8\\\",fill:\\\"white\\\"}),(0,import_jsx_runtime39.jsxs)(\\\"g\\\",{strokeLinecap:\\\"round\\\",stroke:\\\"black\\\",children:[(0,import_jsx_runtime39.jsx)(\\\"line\\\",{x1:t,y1:2,x2:2,y2:t}),(0,import_jsx_runtime39.jsx)(\\\"line\\\",{x1:5*t,y1:7*t,x2:7*t,y2:5*t}),(0,import_jsx_runtime39.jsx)(\\\"line\\\",{x1:6,y1:11*t,x2:11*t,y2:6})]})]}),(0,import_jsx_runtime39.jsx)(\\\"pattern\\\",{id:HASH_PATTERN_ZOOM_NAMES[\\\"1_\\\".concat(e.id)],width:\\\"8\\\",height:\\\"8\\\",patternUnits:\\\"userSpaceOnUse\\\",children:(0,import_jsx_runtime39.jsx)(\\\"rect\\\",{x:\\\"0\\\",y:\\\"0\\\",width:\\\"8\\\",height:\\\"8\\\",fill:e.solid,mask:\\\"url(#hash_pattern_mask)\\\"})})]})}function getFillDefForCanvas(){return{key:\\\"\\\".concat(DefaultFontStyle.id,\\\":pattern\\\"),component:PatternFillDefForCanvas}}var TILE_PATTERN_SIZE=8,generateImage=(a,s,l)=>new Promise((t,r)=>{var e,i=TILE_PATTERN_SIZE*s*a,n=document.createElement(\\\"canvas\\\"),o=(n.width=i,n.height=i,n.getContext(\\\"2d\\\"));o&&(o.fillStyle=l?\\\"#212529\\\":\\\"#f8f9fa\\\",o.fillRect(0,0,i,i),o.globalCompositeOperation=\\\"destination-out\\\",o.lineCap=\\\"round\\\",o.lineWidth=1.25*s*a,i=8/12,e=e=>e*s*a,o.beginPath(),o.moveTo(e(i),e(2)),o.lineTo(e(2),e(i)),o.moveTo(e(5*i),e(7*i)),o.lineTo(e(7*i),e(5*i)),o.moveTo(e(6),e(11*i)),o.lineTo(e(11*i),e(6)),o.stroke(),n.toBlob(e=>{!e||debugFlags.throwToBlob.get()?r():t(e)}))}),canvasBlob=(e,t)=>{var r=document.createElement(\\\"canvas\\\"),i=(r.width=e[0],r.height=e[1],r.getContext(\\\"2d\\\"));return i?(t(i),r.toDataURL()):\\\"\\\"},getDefaultPatterns=()=>{var e=[];for(let i=1;i<=Math.ceil(MAX_ZOOM);i++){var t=canvasBlob([1,1],e=>{e.fillStyle=DefaultColorThemePalette.lightMode.black.semi,e.fillRect(0,0,1,1)}),r=canvasBlob([1,1],e=>{e.fillStyle=DefaultColorThemePalette.darkMode.black.semi,e.fillRect(0,0,1,1)});e.push({zoom:i,url:t,darkMode:!1}),e.push({zoom:i,url:r,darkMode:!0})}return e};function usePattern(){const i=useEditor().getInstanceState().devicePixelRatio,[e,n]=(0,import_react43.useState)(!1);var t=(0,import_react43.useMemo)(()=>getDefaultPatterns(),[]);const[r,o]=(0,import_react43.useState)(t);return(0,import_react43.useEffect)(()=>{var e=[];for(let r=1;r<=Math.ceil(MAX_ZOOM);r++)e.push(generateImage(i,r,!1).then(e=>({zoom:r,url:URL.createObjectURL(e),darkMode:!1}))),e.push(generateImage(i,r,!0).then(e=>({zoom:r,url:URL.createObjectURL(e),darkMode:!0})));let t=!1;return Promise.all(e).then(e=>{t||(o(e),n(!0))}),()=>{t=!0,n(!1)}},[i]),{defs:(0,import_jsx_runtime39.jsx)(import_jsx_runtime39.Fragment,{children:r.map(e=>{var t=e.zoom+(e.darkMode?\\\"_dark\\\":\\\"_light\\\");return(0,import_jsx_runtime39.jsx)(\\\"pattern\\\",{id:HASH_PATTERN_ZOOM_NAMES[t],width:TILE_PATTERN_SIZE,height:TILE_PATTERN_SIZE,patternUnits:\\\"userSpaceOnUse\\\",children:(0,import_jsx_runtime39.jsx)(\\\"image\\\",{href:e.url,width:TILE_PATTERN_SIZE,height:TILE_PATTERN_SIZE})},t)})}),isReady:e}}function PatternFillDefForCanvas(){const t=useEditor(),r=(0,import_react43.useRef)(null),{defs:e,isReady:i}=usePattern();return(0,import_react43.useEffect)(()=>{if(i&&t.environment.isSafari){const e=findHtmlLayerParent(r.current);e&&requestAnimationFrame(()=>{e.style.display=\\\"none\\\",requestAnimationFrame(()=>{e.style.display=\\\"\\\"})})}},[t,i]),(0,import_jsx_runtime39.jsx)(\\\"g\\\",{ref:r,\\\"data-testid\\\":i?\\\"ready-pattern-fill-defs\\\":void 0,children:e})}function findHtmlLayerParent(e){return e.classList.contains(\\\"tl-html-layer\\\")?e:e.parentElement?findHtmlLayerParent(e.parentElement):null}function getPerfectDashProps2(e,t,r={}){var{closed:i=!1,snap:n=1,start:o=\\\"outset\\\",end:a=\\\"outset\\\",lengthRatio:s=2,style:l=\\\"dashed\\\"}=r;let c=0,d=0,u=1,p=0,h=0;switch(l){case\\\"dashed\\\":u=1,c=Math.min(t*s,e/4);break;case\\\"dotted\\\":u=100,c=t/u;break;default:return{strokeDasharray:\\\"none\\\",strokeDashoffset:\\\"none\\\"}}return i||(\\\"outset\\\"===o?(e+=c/2,h+=c/2):\\\"skip\\\"===o&&(e-=c,h-=c),\\\"outset\\\"===a?e+=c/2:\\\"skip\\\"===a&&(e-=c)),d=Math.floor(e/c/(2*u)),d-=d%n,p=d<3&&\\\"dashed\\\"===l?e/t<5?(c=e,d=1,0):c=.333*e:(d=Math.max(d,3),c=e/d/(2*u),i?(h=c/2,(e-d*c)/d):(e-d*c)/Math.max(1,d-1)),{strokeDasharray:[c,p].join(\\\" \\\"),strokeDashoffset:h.toString()}}init_esbuild_inject(),init_esbuild_inject();var labelSizeCache=new WeakMap;function getArrowLabelSize(e,t){var r=labelSizeCache.get(t);if(r)return r;r=e.getArrowInfo(t);let i=0,n=0;var o,a,r=r.isStraight?new Edge2d({start:Vec.From(r.start.point),end:Vec.From(r.end.point)}):new Arc2d({center:Vec.Cast(r.handleArc.center),radius:r.handleArc.radius,start:Vec.Cast(r.start.point),end:Vec.Cast(r.end.point),sweepFlag:r.bodyArc.sweepFlag,largeArcFlag:r.bodyArc.largeArcFlag}),r=(t.props.text.trim()&&(r=r.bounds,({w:o,h:a}=e.textMeasure.measureText(t.props.text,{...TEXT_PROPS,fontFamily:FONT_FAMILIES[t.props.font],fontSize:ARROW_LABEL_FONT_SIZES[t.props.size],maxWidth:null})),i=o,n=a,r.width>r.height&&(i=Math.max(Math.min(o,64),Math.min(r.width-64,o)),({w:a,h:r}=e.textMeasure.measureText(t.props.text,{...TEXT_PROPS,fontFamily:FONT_FAMILIES[t.props.font],fontSize:ARROW_LABEL_FONT_SIZES[t.props.size],maxWidth:i})),i=a,n=r),i>16*ARROW_LABEL_FONT_SIZES[t.props.size])&&(i=16*ARROW_LABEL_FONT_SIZES[t.props.size],({w:o,h:a}=e.textMeasure.measureText(t.props.text,{...TEXT_PROPS,fontFamily:FONT_FAMILIES[t.props.font],fontSize:ARROW_LABEL_FONT_SIZES[t.props.size],maxWidth:i})),i=o,n=a),new Vec(i,n).addScalar(2*ARROW_LABEL_PADDING));return labelSizeCache.set(t,r),r}function getLabelToArrowPadding(e,t){var r=STROKE_SIZES2[t.props.size];return LABEL_TO_ARROW_PADDING+2*(r-STROKE_SIZES2.s)+(r===STROKE_SIZES2.xl?20:0)}function getStraightArrowLabelRange(e,t,r){var i=getArrowLabelSize(e,t),n=getLabelToArrowPadding(e,t),o=Vec.Nudge(r.start.point,r.end.point,n),n=Vec.Nudge(r.end.point,r.start.point,n),i=intersectLineSegmentPolygon(o,n,Box.FromCenter(r.middle,i).corners);if(!i||2!==i.length)return{start:.5,end:.5};let[a,s]=i;Vec.Dist2(a,o)>Vec.Dist2(s,o)&&([s,a]=i);i=o.add(Vec.Sub(r.middle,a)),o=n.add(Vec.Sub(r.middle,s));return{start:Vec.Dist(r.start.point,i)/r.length,end:Vec.Dist(r.start.point,o)/r.length}}function getCurvedArrowLabelRange(e,t,r){var i=getArrowLabelSize(e,t),n=getLabelToArrowPadding(e,t),o=Math.sign(t.props.bend),n=n/r.handleArc.radius*o,a=Vec.Angle(r.bodyArc.center,r.start.point)-n,n=Vec.Angle(r.bodyArc.center,r.end.point)+n,s=getPointOnCircle(r.bodyArc.center,r.bodyArc.radius,a),l=getPointOnCircle(r.bodyArc.center,r.bodyArc.radius,n),c=[],d=intersectArcPolygon(r.bodyArc.center,r.bodyArc.radius,a,n,o,Box.FromCenter(s,i).corners),a=(c.push(new Polygon2d({points:Box.FromCenter(s,i).corners,debugColor:\\\"lime\\\",isFilled:!1,ignore:!0})),intersectArcPolygon(r.bodyArc.center,r.bodyArc.radius,a,n,o,Box.FromCenter(l,i).corners));c.push(new Polygon2d({points:Box.FromCenter(l,i).corners,debugColor:\\\"lime\\\",isFilled:!1,ignore:!0}));for(const u of[...null!=d?d:[],...null!=a?a:[],s,l])c.push(new Circle2d({x:u.x-3,y:u.y-3,radius:3,isFilled:!1,debugColor:\\\"magenta\\\",ignore:!0}));var i=null!=(n=d&&furthest(r.start.point,d))?n:r.middle,l=null!=(s=a&&furthest(r.end.point,a))?s:r.middle,d=Vec.Angle(r.bodyArc.center,r.start.point),n=Vec.Angle(r.bodyArc.center,r.end.point),a=Vec.Angle(r.bodyArc.center,i),s=Vec.Angle(r.bodyArc.center,l);return angleDistance(d,a,o)>angleDistance(d,s,o)?{start:.5,end:.5,dbg:c}:(i=angleDistance(d,n,o),{start:angleDistance(d,a,o)/i,end:angleDistance(d,s,o)/i,dbg:c})}function getArrowLabelPosition(e,t){let r;var i,n=[],o=e.getArrowInfo(t),a=\\\"binding\\\"===t.props.start.type,s=\\\"binding\\\"===t.props.end.type,l=\\\"none\\\"!==o.start.arrowhead,c=\\\"none\\\"!==o.end.arrowhead,c=(r=o.isStraight?(i=getStraightArrowLabelRange(e,t,o),i=.48<=(i=clamp(t.props.labelPosition,l||a?i.start:0,c||s?i.end:1))&&i<=.52?.5:i,Vec.Lrp(o.start.point,o.end.point,i)):((i=getCurvedArrowLabelRange(e,t,o)).dbg&&n.push(...i.dbg),l=.48<=(l=clamp(t.props.labelPosition,l||a?i.start:0,c||s?i.end:1))&&l<=.52?.5:l,a=interpolateArcAngles(Vec.Angle(o.bodyArc.center,o.start.point),Vec.Angle(o.bodyArc.center,o.end.point),Math.sign(t.props.bend),l),getPointOnCircle(o.bodyArc.center,o.bodyArc.radius,a)),getArrowLabelSize(e,t));return{box:Box.FromCenter(r,c),debugGeom:n}}function intersectArcPolygon(r,e,i,t,n,o){var a=intersectCirclePolygon(r,e,o);const s=angleDistance(i,t,n);return null==a?void 0:a.filter(e=>{var t=angleDistance(i,Vec.Angle(r,e),n);return 0<=t&&t<=s})}function furthest(e,t){let r=null,i=-Infinity;for(const o of t){var n=Vec.Dist2(e,o);n>i&&(r=o,i=n)}return r}function interpolateArcAngles(e,t,r,i){return e+angleDistance(e,t,r)*i*r*-1}function getArrowPoints(e,t,r){var i=(\\\"end\\\"===t?e.end:e.start).point,n=(\\\"end\\\"===t?e.start:e.end).point,o=e.isStraight?Vec.Dist(n,i):Math.abs(e.bodyArc.length),o=Math.max(Math.min(o/5,3*r),r);let a;return a=e.isStraight?Vec.Nudge(i,n,o):(n=intersectCircleCircle(i,o,e.handleArc.center,e.handleArc.radius),\\\"end\\\"===t?e.handleArc.sweepFlag?n[0]:n[1]:e.handleArc.sweepFlag?n[1]:n[0]),{point:i,\\\"int\\\":a=Vec.IsNaN(a)?e.start.point:a}}function getArrowhead({point:e,\\\"int\\\":t}){var r=Vec.RotWith(t,e,PI/6),i=Vec.RotWith(t,e,-PI/6);return\\\"M \\\".concat(r.x,\\\" \\\").concat(r.y,\\\" L \\\").concat(e.x,\\\" \\\").concat(e.y,\\\" L \\\").concat(i.x,\\\" \\\").concat(i.y)}function getTriangleHead({point:e,\\\"int\\\":t}){var r=Vec.RotWith(t,e,PI/6),i=Vec.RotWith(t,e,-PI/6);return\\\"M \\\".concat(r.x,\\\" \\\").concat(r.y,\\\" L \\\").concat(e.x,\\\" \\\").concat(e.y,\\\" L \\\").concat(i.x,\\\" \\\").concat(i.y,\\\" Z\\\")}function getInvertedTriangleHead({point:e,\\\"int\\\":t}){var r=Vec.Sub(t,e).div(2),i=Vec.Add(e,Vec.Rot(r,HALF_PI)),r=Vec.Sub(e,Vec.Rot(r,HALF_PI));return\\\"M \\\".concat(i.x,\\\" \\\").concat(i.y,\\\" L \\\").concat(t.x,\\\" \\\").concat(t.y,\\\" L \\\").concat(r.x,\\\" \\\").concat(r.y,\\\" Z\\\")}function getDotHead({point:e,\\\"int\\\":t}){var r=Vec.Lrp(e,t,.45),i=Vec.Dist(r,e);return\\\"M \\\".concat(r.x-i,\\\",\\\").concat(r.y,\\\"\\\\n a \\\").concat(i,\\\",\\\").concat(i,\\\" 0 1,0 \\\").concat(2*i,\\\",0\\\\n a \\\").concat(i,\\\",\\\").concat(i,\\\" 0 1,0 -\\\").concat(2*i,\\\",0 \\\")}function getDiamondHead({point:e,\\\"int\\\":t}){var r=Vec.Lrp(e,t,.75),i=Vec.RotWith(r,e,PI/4),r=Vec.RotWith(r,e,-PI/4),n=Vec.Lrp(i,r,.5);return n.add(Vec.Sub(n,e)),\\\"M \\\".concat(n.x,\\\" \\\").concat(n.y,\\\" L \\\").concat(i.x,\\\" \\\").concat(i.y,\\\" \\\").concat(e.x,\\\" \\\").concat(e.y,\\\" L \\\").concat(r.x,\\\" \\\").concat(r.y,\\\" Z\\\")}function getSquareHead({\\\"int\\\":e,point:t}){var r=Vec.Lrp(t,e,.85),i=Vec.Sub(r,t).div(2),n=Vec.Add(t,Vec.Rot(i,HALF_PI)),o=Vec.Sub(t,Vec.Rot(i,HALF_PI)),a=Vec.Add(r,Vec.Rot(i,HALF_PI)),r=Vec.Sub(r,Vec.Rot(i,HALF_PI));return\\\"M \\\".concat(n.x,\\\" \\\").concat(n.y,\\\" L \\\").concat(a.x,\\\" \\\").concat(a.y,\\\" L \\\").concat(r.x,\\\" \\\").concat(r.y,\\\" L \\\").concat(o.x,\\\" \\\").concat(o.y,\\\" Z\\\")}function getBarHead({\\\"int\\\":e,point:t}){var r=Vec.Sub(e,t).div(2),i=Vec.Add(t,Vec.Rot(r,HALF_PI)),r=Vec.Sub(t,Vec.Rot(r,HALF_PI));return\\\"M \\\".concat(i.x,\\\" \\\").concat(i.y,\\\" L \\\").concat(r.x,\\\" \\\").concat(r.y)}function getArrowheadPathForType(e,t,r){var i=(\\\"end\\\"===t?e.end:e.start).arrowhead;if(\\\"none\\\"!==i){var n=getArrowPoints(e,t,r);if(n){switch(i){case\\\"bar\\\":return getBarHead(n);case\\\"square\\\":return getSquareHead(n);case\\\"diamond\\\":return getDiamondHead(n);case\\\"dot\\\":return getDotHead(n);case\\\"inverted\\\":return getInvertedTriangleHead(n);case\\\"arrow\\\":return getArrowhead(n);case\\\"triangle\\\":return getTriangleHead(n)}return\\\"\\\"}}}function getCurvedArrowHandlePath(e){var{start:t,end:r,handleArc:{radius:i,largeArcFlag:n,sweepFlag:o}}=e;return\\\"M\\\".concat(t.handle.x,\\\",\\\").concat(t.handle.y,\\\" A\\\").concat(i,\\\" \\\").concat(i,\\\" 0 \\\").concat(n,\\\" \\\").concat(o,\\\" \\\").concat(r.handle.x,\\\",\\\").concat(r.handle.y)}function getSolidCurvedArrowPath(e){var{start:t,end:r,bodyArc:{radius:i,largeArcFlag:n,sweepFlag:o}}=e;return\\\"M\\\".concat(t.point.x,\\\",\\\").concat(t.point.y,\\\" A\\\").concat(i,\\\" \\\").concat(i,\\\" 0 \\\").concat(n,\\\" \\\").concat(o,\\\" \\\").concat(r.point.x,\\\",\\\").concat(r.point.y)}function getArrowPath(e,t){return\\\"M\\\".concat(e.x,\\\",\\\").concat(e.y,\\\"L\\\").concat(t.x,\\\",\\\").concat(t.y)}function getStraightArrowHandlePath(e){return getArrowPath(e.start.handle,e.end.handle)}function getSolidStraightArrowPath(e){return getArrowPath(e.start.point,e.end.point)}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var import_jsx_runtime42=require(\\\"react/jsx-runtime\\\"),React15=__toESM(require(\\\"react\\\"),1),import_jsx_runtime41=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_react46=__toESM(require(\\\"react\\\"),1),import_jsx_runtime40=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_react44=require(\\\"react\\\"),TextArea=(0,import_react44.forwardRef)(function TextArea2({isEditing:e,text:t,handleFocus:r,handleChange:i,handleKeyDown:n,handleBlur:o,handleInputPointerDown:a,handleDoubleClick:s},l){return(0,import_jsx_runtime40.jsx)(\\\"textarea\\\",{ref:l,className:\\\"tl-text tl-text-input\\\",name:\\\"text\\\",tabIndex:-1,readOnly:!e,autoComplete:\\\"off\\\",autoCapitalize:\\\"off\\\",autoCorrect:\\\"off\\\",autoSave:\\\"off\\\",placeholder:\\\"\\\",spellCheck:\\\"true\\\",wrap:\\\"off\\\",dir:\\\"auto\\\",datatype:\\\"wysiwyg\\\",defaultValue:t,onFocus:r,onChange:i,onKeyDown:n,onBlur:o,onTouchEnd:stopEventPropagation,onContextMenu:e?stopEventPropagation:void 0,onPointerDown:a,onDoubleClick:s,onDragStart:preventDefault})}),import_react45=(init_esbuild_inject(),require(\\\"react\\\"));function useEditableText(n,o,e){const a=useEditor(),s=(0,import_react45.useRef)(null),l=(0,import_react45.useRef)(),r=useValue(\\\"isEditing\\\",()=>a.getEditingShapeId()===n,[a]);var t=useValue(\\\"isEditingAnything\\\",()=>!!a.getEditingShapeId(),[a]),i=((0,import_react45.useEffect)(()=>{function e({shapeId:t}){requestAnimationFrame(()=>{var e;t===n&&(e=s.current)&&(document.activeElement!==e&&e.focus(),e.select())})}return a.on(\\\"select-all-text\\\",e),()=>{a.off(\\\"select-all-text\\\",e)}},[a,n]),(0,import_react45.useEffect)(()=>{if(r){var e=s.current;if(e)return document.activeElement!==e?(e.focus(),a.getInstanceState().isCoarsePointer&&e.select()):a.environment.isSafari&&(e.blur(),e.focus()),document.addEventListener(\\\"selectionchange\\\",t),()=>{document.removeEventListener(\\\"selectionchange\\\",t)}}function t(){var e,t,r=null==(e=window.getSelection)?void 0:e.call(window);if(r&&\\\"None\\\"!==r.type){var i=[];for(let e=0;e{const i=l.current;requestAnimationFrame(()=>{var e=s.current,t=a.getEditingShapeId();if(t){if(e&&t===n&&(e.focus(),i)&&i.length){const r=window.getSelection();r&&i.forEach(e=>r.addRange(e))}}else null!=(t=window.getSelection())&&t.removeAllRanges()})},[a,n])),c=(0,import_react45.useCallback)(e=>{a.getEditingShapeId()===n&&\\\"Enter\\\"===e.key&&(e.ctrlKey||e.metaKey)&&a.complete()},[a,n]),d=(0,import_react45.useCallback)(t=>{if(a.getEditingShapeId()===n){let e=TextHelpers.normalizeText(t.currentTarget.value);var r,i=e.replace(/\\\\t/g,INDENT);i!==e&&(r=t.currentTarget.selectionStart,t.currentTarget.value=i,t.currentTarget.selectionStart=r+(i.length-e.length),t.currentTarget.selectionEnd=r+(i.length-e.length),e=i),a.updateShape({id:n,type:o,props:{text:e}})}},[a,n,o]),u=(0,import_react45.useCallback)(e=>{a.dispatch({...getPointerInfo(e),type:\\\"pointer\\\",name:\\\"pointer_down\\\",target:\\\"shape\\\",shape:a.getShape(n)}),stopEventPropagation(e)},[a,n]);return{rInput:s,handleFocus:noop4,handleBlur:i,handleKeyDown:c,handleChange:d,handleInputPointerDown:u,handleDoubleClick:stopEventPropagation,isEmpty:0===e.trim().length,isEditing:r,isEditingAnything:t}}function noop4(){}var TextLabel=import_react46[\\\"default\\\"].memo(function TextLabel2({id:e,type:t,text:r,labelColor:i,font:n,fontSize:o,lineHeight:a,align:s,verticalAlign:l,wrap:c,isSelected:d,onKeyDown:u,classNamePrefix:p,style:h,textWidth:m,textHeight:g}){const{rInput:_,isEmpty:f,isEditing:b,isEditingAnything:v,...x}=useEditableText(e,t,r),[y,S]=(0,import_react46.useState)(r);(0,import_react46.useEffect)(()=>{b||S(r)},[b,r]);var w=TextHelpers.normalizeTextForDom(r),I=0!0),__publicField(this,\\\"canBind\\\",()=>!1),__publicField(this,\\\"canSnap\\\",()=>!1),__publicField(this,\\\"hideResizeHandles\\\",()=>!0),__publicField(this,\\\"hideRotateHandle\\\",()=>!0),__publicField(this,\\\"hideSelectionBoundsBg\\\",()=>!0),__publicField(this,\\\"hideSelectionBoundsFg\\\",()=>!0),__publicField(this,\\\"onHandleDrag\\\",(t,{handle:r,isPrecise:i})=>{var n=r.id;if(\\\"middle\\\"===n){var{start:o,end:a}=getArrowTerminalsInArrowSpace(this.editor,t),s=Vec.Sub(a,o),s=Vec.Per(s),o=Vec.Med(a,o),l=Vec.Sub(o,s),s=Vec.Add(o,s),l=Vec.NearestPointOnLineSegment(l,s,r,!1);let e=Vec.Dist(l,o);return Vec.Clockwise(l,a,o)&&(e*=-1),{id:t.id,type:t.type,props:{bend:e}}}s=structuredClone(t);if(this.editor.inputs.ctrlKey)s.props[n]={type:\\\"point\\\",x:r.x,y:r.y};else{l=this.editor.getShapePageTransform(t.id).applyToPoint(r),a=this.editor.getShapeAtPoint(l,{hitInside:!0,hitFrameInside:!0,margin:0,filter:e=>!e.isLocked&&this.editor.getShapeUtil(e).canBind(e)});if(a){var c,o=this.editor.getShapeGeometry(a),l=Box.ZeroFix(o.bounds),d=this.editor.getShapePageTransform(s.id).applyToPoint(r),d=this.editor.getPointInShapeSpace(a,d);let e=i;e||\\\"point\\\"!==(c=s.props[n]).type&&(\\\"binding\\\"!==c.type||a.id===c.boundShapeId)||(e=this.editor.inputs.pointerVelocity.len()<.5),i||(o.isClosed||(e=!0),\\\"binding\\\"===(c=s.props[\\\"start\\\"===n?\\\"end\\\":\\\"start\\\"]).type&&a.id===c.boundShapeId&&c.isPrecise&&(e=!0));o={x:(d.x-l.minX)/l.width,y:(d.y-l.minY)/l.height};e&&Vec.Dist(d,l.center){var e=\\\"binding\\\"===i.props.start.type?i.props.start.boundShapeId:null,t=\\\"binding\\\"===i.props.end.type?i.props.end.boundShapeId:null,r=getArrowTerminalsInArrowSpace(this.editor,i);const n=this.editor.getShapePageTransform(i.id);var o=this.editor.getSelectedShapeIds();const a=new Set;e&&(a.add(e),this.editor.getShapeAncestors(e).forEach(e=>a.add(e.id))),t&&(a.add(t),this.editor.getShapeAncestors(t).forEach(e=>a.add(e.id)));for(const c of o)if(a.has(c))return;let s=i;shapeAtTranslationStart.set(i,{pagePosition:n.applyToPoint(i),terminalBindings:mapObjectMapValues(r,(e,t)=>{var r=i.props[e];return\\\"binding\\\"!==r.type?null:{binding:r,shapePosition:t,pagePosition:n.applyToPoint(t)}})});for(const d of[\\\"start\\\",\\\"end\\\"]){var l=i.props[d];\\\"binding\\\"===l.type&&(s={...i,props:{...i.props,[d]:{...l,isPrecise:!0}}})}return s}),__publicField(this,\\\"onTranslate\\\",(e,t)=>{var r=shapeAtTranslationStart.get(e);if(r){var i,n,o,a,s,l=this.editor.getShapePageTransform(t.id),c=Vec.Sub(l.applyToPoint(t),r.pagePosition);let e=t;for([i,n]of objectMapEntries(r.terminalBindings))n&&(s=Vec.Add(n.pagePosition,Vec.Mul(c,.5)),a=this.editor.getShapeAtPoint(s,{hitInside:!0,hitFrameInside:!0,margin:0,filter:e=>!e.isLocked&&this.editor.getShapeUtil(e).canBind(e)}),e=(null==a?void 0:a.id)===n.binding.boundShapeId?(o=Box.ZeroFix(this.editor.getShapeGeometry(a).bounds),s={x:((a=this.editor.getPointInShapeSpace(a,s)).x-o.minX)/o.width,y:(a.y-o.minY)/o.height},{...e,props:{...e.props,[i]:{...n.binding,isPrecise:!0,normalizedAnchor:s}}}):{...e,props:{...e.props,[i]:{type:\\\"point\\\",x:n.shapePosition.x,y:n.shapePosition.y}}});return e}}),__publicField(this,\\\"onResize\\\",(e,t)=>{var{scaleX:r,scaleY:i}=t,n=getArrowTerminalsInArrowSpace(this.editor,e),{start:o,end:a}=structuredClone(e.props);let s=e.props[\\\"bend\\\"];\\\"point\\\"===o.type&&(o.x=n.start.x*r,o.y=n.start.y*i),\\\"point\\\"===a.type&&(a.x=n.end.x*r,a.y=n.end.y*i);var n=Math.abs(r),l=Math.abs(i),r=(r<0&&0<=i?(0!==s&&(s=(s*=-1)*Math.max(n,l)),\\\"binding\\\"===o.type&&(o.normalizedAnchor.x=1-o.normalizedAnchor.x),\\\"binding\\\"===a.type&&(a.normalizedAnchor.x=1-a.normalizedAnchor.x)):0<=r&&i<0?(0!==s&&(s=(s*=-1)*Math.max(n,l)),\\\"binding\\\"===o.type&&(o.normalizedAnchor.y=1-o.normalizedAnchor.y),\\\"binding\\\"===a.type&&(a.normalizedAnchor.y=1-a.normalizedAnchor.y)):0<=r&&0<=i?0!==s&&(s*=Math.max(n,l)):r<0&&i<0&&(0!==s&&(s*=Math.max(n,l)),\\\"binding\\\"===o.type&&(o.normalizedAnchor.x=1-o.normalizedAnchor.x,o.normalizedAnchor.y=1-o.normalizedAnchor.y),\\\"binding\\\"===a.type)&&(a.normalizedAnchor.x=1-a.normalizedAnchor.x,a.normalizedAnchor.y=1-a.normalizedAnchor.y),{props:{start:o,end:a,bend:s}});return r}),__publicField(this,\\\"onDoubleClickHandle\\\",(e,t)=>{switch(t.id){case\\\"start\\\":return{id:e.id,type:e.type,props:{...e.props,arrowheadStart:\\\"none\\\"===e.props.arrowheadStart?\\\"arrow\\\":\\\"none\\\"}};case\\\"end\\\":return{id:e.id,type:e.type,props:{...e.props,arrowheadEnd:\\\"none\\\"===e.props.arrowheadEnd?\\\"arrow\\\":\\\"none\\\"}}}}),__publicField(this,\\\"onEditEnd\\\",e=>{var{id:t,type:r,props:{text:i}}=e;i.trimEnd()!==e.props.text&&this.editor.updateShapes([{id:t,type:r,props:{text:i.trimEnd()}}])})}getDefaultProps(){return{dash:\\\"draw\\\",size:\\\"m\\\",fill:\\\"none\\\",color:\\\"black\\\",labelColor:\\\"black\\\",bend:0,start:{type:\\\"point\\\",x:0,y:0},end:{type:\\\"point\\\",x:2,y:0},arrowheadStart:\\\"none\\\",arrowheadEnd:\\\"arrow\\\",text:\\\"\\\",labelPosition:.5,font:\\\"draw\\\"}}getGeometry(e){var t,r=this.editor.getArrowInfo(e),i=[],r=r.isStraight?new Edge2d({start:Vec.From(r.start.point),end:Vec.From(r.end.point)}):new Arc2d({center:Vec.Cast(r.handleArc.center),radius:r.handleArc.radius,start:Vec.Cast(r.start.point),end:Vec.Cast(r.end.point),sweepFlag:r.bodyArc.sweepFlag,largeArcFlag:r.bodyArc.largeArcFlag});let n;return e.props.text.trim()&&(t=getArrowLabelPosition(this.editor,e),i.push(...t.debugGeom),n=new Rectangle2d({x:t.box.x,y:t.box.y,width:t.box.w,height:t.box.h,isFilled:!0,isLabel:!0})),new Group2d({children:[...n?[r,n]:[r],...i]})}getHandles(e){var t=this.editor.getArrowInfo(e);return[{id:\\\"start\\\",type:\\\"vertex\\\",index:\\\"a0\\\",x:t.start.handle.x,y:t.start.handle.y,canBind:!0},{id:\\\"middle\\\",type:\\\"virtual\\\",index:\\\"a2\\\",x:t.middle.x,y:t.middle.y,canBind:!1},{id:\\\"end\\\",type:\\\"vertex\\\",index:\\\"a3\\\",x:t.end.handle.x,y:t.end.handle.y,canBind:!0}].filter(Boolean)}component(e){var t,r,i=this.editor.getOnlySelectedShape(),n=this.editor.isInAny(\\\"select.idle\\\",\\\"select.pointing_handle\\\",\\\"select.dragging_handle\\\",\\\"select.translating\\\",\\\"arrow.dragging\\\")&&!this.editor.getInstanceState().isReadonly,o=this.editor.getArrowInfo(e);return null!=o&&o.isValid?(o=getArrowLabelPosition(this.editor,e),t=e.id===this.editor.getOnlySelectedShapeId(),r=this.editor.getEditingShapeId()===e.id||e.props.text,(0,import_jsx_runtime43.jsxs)(import_jsx_runtime43.Fragment,{children:[(0,import_jsx_runtime43.jsx)(SVGContainer,{id:e.id,style:{minWidth:50,minHeight:50},children:(0,import_jsx_runtime43.jsx)(ArrowSvg,{shape:e,shouldDisplayHandles:n&&i===e})}),r&&(0,import_jsx_runtime43.jsx)(ArrowTextLabel,{id:e.id,text:e.props.text,font:e.props.font,size:e.props.size,position:o.box.center,width:o.box.w,isSelected:t,labelColor:e.props.labelColor})]})):null}indicator(e){var t,r,i,{start:n,end:o}=getArrowTerminalsInArrowSpace(this.editor,e),a=this.editor.getArrowInfo(e),s=this.editor.getShapeGeometry(e),l=s.bounds,s=e.props.text.trim()?s.children[1]:null,c=useIsEditing(e.id);return!a||Vec.Equals(n,o)?null:(n=STROKE_SIZES2[e.props.size],o=a.start.arrowhead&&getArrowheadPathForType(a,\\\"start\\\",n),n=a.end.arrowhead&&getArrowheadPathForType(a,\\\"end\\\",n),t=(a.isStraight?getSolidStraightArrowPath:getSolidCurvedArrowPath)(a),r=o&&\\\"arrow\\\"!==a.start.arrowhead||n&&\\\"arrow\\\"!==a.end.arrowhead||!!s,i=(e.id+\\\"_clip\\\").replace(\\\":\\\",\\\"_\\\"),c&&s?(0,import_jsx_runtime43.jsx)(\\\"rect\\\",{x:toDomPrecision(s.x),y:toDomPrecision(s.y),width:s.w,height:s.h,rx:3.5,ry:3.5}):(0,import_jsx_runtime43.jsxs)(\\\"g\\\",{children:[r&&(0,import_jsx_runtime43.jsx)(\\\"defs\\\",{children:(0,import_jsx_runtime43.jsxs)(\\\"mask\\\",{id:i,children:[(0,import_jsx_runtime43.jsx)(\\\"rect\\\",{x:l.minX-100,y:l.minY-100,width:l.w+200,height:l.h+200,fill:\\\"white\\\"}),s&&(0,import_jsx_runtime43.jsx)(\\\"rect\\\",{x:toDomPrecision(s.x),y:toDomPrecision(s.y),width:s.w,height:s.h,fill:\\\"black\\\",rx:3.5,ry:3.5}),o&&(0,import_jsx_runtime43.jsx)(\\\"path\\\",{d:o,fill:\\\"arrow\\\"===a.start.arrowhead?\\\"none\\\":\\\"black\\\",stroke:\\\"none\\\"}),n&&(0,import_jsx_runtime43.jsx)(\\\"path\\\",{d:n,fill:\\\"arrow\\\"===a.end.arrowhead?\\\"none\\\":\\\"black\\\",stroke:\\\"none\\\"})]})}),(0,import_jsx_runtime43.jsxs)(\\\"g\\\",{...r?{mask:\\\"url(#\\\".concat(i,\\\")\\\")}:void 0,children:[r&&(0,import_jsx_runtime43.jsx)(\\\"rect\\\",{x:l.minX-100,y:l.minY-100,width:l.width+200,height:l.height+200,opacity:0}),(0,import_jsx_runtime43.jsx)(\\\"path\\\",{d:t})]}),o&&(0,import_jsx_runtime43.jsx)(\\\"path\\\",{d:o}),n&&(0,import_jsx_runtime43.jsx)(\\\"path\\\",{d:n}),s&&(0,import_jsx_runtime43.jsx)(\\\"rect\\\",{x:toDomPrecision(s.x),y:toDomPrecision(s.y),width:s.w,height:s.h,rx:3.5,ry:3.5})]}))}toSvg(e,t){t.addExportDef(getFillDefForExport(e.props.fill)),e.props.text&&t.addExportDef(getFontDefForExport(e.props.font));var r=getDefaultColorTheme(t);return(0,import_jsx_runtime43.jsxs)(import_jsx_runtime43.Fragment,{children:[(0,import_jsx_runtime43.jsx)(ArrowSvg,{shape:e,shouldDisplayHandles:!1}),(0,import_jsx_runtime43.jsx)(SvgTextLabel,{fontSize:ARROW_LABEL_FONT_SIZES[e.props.size],font:e.props.font,align:\\\"middle\\\",verticalAlign:\\\"middle\\\",text:e.props.text,labelColor:r[e.props.labelColor].solid,bounds:getArrowLabelPosition(this.editor,e).box,padding:4})]})}getCanvasSvgDefs(){return[getFillDefForCanvas(),{key:\\\"arrow:dot\\\",component:ArrowheadDotDef},{key:\\\"arrow:cross\\\",component:ArrowheadCrossDef}]}};function getLength(e,t){var r=e.getArrowInfo(t);return r.isStraight?Vec.Dist(r.start.handle,r.end.handle):Math.abs(r.handleArc.length)}__publicField(ArrowShapeUtil,\\\"type\\\",\\\"arrow\\\"),__publicField(ArrowShapeUtil,\\\"props\\\",arrowShapeProps),__publicField(ArrowShapeUtil,\\\"migrations\\\",arrowShapeMigrations);var ArrowSvg=track(function ArrowSvg2({shape:e,shouldDisplayHandles:t}){const r=useEditor();var i=useDefaultColorTheme(),n=r.getArrowInfo(e),o=Box.ZeroFix(r.getShapeGeometry(e).bounds),a=import_react47[\\\"default\\\"].useMemo(()=>r.environment.isSafari?globalRenderIndex+=1:0,[e]);if(null==n||!n.isValid)return null;var s=STROKE_SIZES2[e.props.size],l=n.start.arrowhead&&getArrowheadPathForType(n,\\\"start\\\",s),c=n.end.arrowhead&&getArrowheadPathForType(n,\\\"end\\\",s),d=(n.isStraight?getSolidStraightArrowPath:getSolidCurvedArrowPath)(n);let u=null;t&&(({strokeDasharray:p,strokeDashoffset:h}=getPerfectDashProps2(getLength(r,e),2,{end:\\\"skip\\\",start:\\\"skip\\\",lengthRatio:2.5})),u=\\\"binding\\\"===e.props.start.type||\\\"binding\\\"===e.props.end.type?(0,import_jsx_runtime43.jsx)(\\\"path\\\",{className:\\\"tl-arrow-hint\\\",d:(n.isStraight?getStraightArrowHandlePath:getCurvedArrowHandlePath)(n),strokeDasharray:p,strokeDashoffset:h,strokeWidth:2,markerStart:\\\"binding\\\"!==e.props.start.type||e.props.start.isExact?\\\"\\\":e.props.start.isPrecise?\\\"url(#arrowhead-cross)\\\":\\\"url(#arrowhead-dot)\\\",markerEnd:\\\"binding\\\"!==e.props.end.type||e.props.end.isExact?\\\"\\\":e.props.end.isPrecise?\\\"url(#arrowhead-cross)\\\":\\\"url(#arrowhead-dot)\\\",opacity:.16}):null);var{strokeDasharray:p,strokeDashoffset:h}=getPerfectDashProps2(n.isStraight?n.length:Math.abs(n.bodyArc.length),s,{style:e.props.dash}),m=getArrowLabelPosition(r,e),g=!(\\\"none\\\"===n.start.arrowhead||\\\"arrow\\\"===n.start.arrowhead),_=!(\\\"none\\\"===n.end.arrowhead||\\\"arrow\\\"===n.end.arrowhead),a=(e.id+\\\"_clip_\\\"+a).replace(\\\":\\\",\\\"_\\\");return(0,import_jsx_runtime43.jsxs)(import_jsx_runtime43.Fragment,{children:[(0,import_jsx_runtime43.jsx)(\\\"defs\\\",{children:(0,import_jsx_runtime43.jsxs)(\\\"mask\\\",{id:a,children:[(0,import_jsx_runtime43.jsx)(\\\"rect\\\",{x:toDomPrecision(-100+o.minX),y:toDomPrecision(-100+o.minY),width:toDomPrecision(o.width+200),height:toDomPrecision(o.height+200),fill:\\\"white\\\"}),e.props.text.trim()&&(0,import_jsx_runtime43.jsx)(\\\"rect\\\",{x:m.box.x,y:m.box.y,width:m.box.w,height:m.box.h,fill:\\\"black\\\",rx:4,ry:4}),l&&g&&(0,import_jsx_runtime43.jsx)(\\\"path\\\",{d:l,fill:\\\"arrow\\\"===n.start.arrowhead?\\\"none\\\":\\\"black\\\",stroke:\\\"none\\\"}),c&&_&&(0,import_jsx_runtime43.jsx)(\\\"path\\\",{d:c,fill:\\\"arrow\\\"===n.end.arrowhead?\\\"none\\\":\\\"black\\\",stroke:\\\"none\\\"})]})}),(0,import_jsx_runtime43.jsxs)(\\\"g\\\",{fill:\\\"none\\\",stroke:i[e.props.color].solid,strokeWidth:s,strokeLinejoin:\\\"round\\\",strokeLinecap:\\\"round\\\",pointerEvents:\\\"none\\\",children:[u,(0,import_jsx_runtime43.jsxs)(\\\"g\\\",{mask:\\\"url(#\\\".concat(a,\\\")\\\"),children:[(0,import_jsx_runtime43.jsx)(\\\"rect\\\",{x:toDomPrecision(o.minX-100),y:toDomPrecision(o.minY-100),width:toDomPrecision(o.width+200),height:toDomPrecision(o.height+200),opacity:0}),(0,import_jsx_runtime43.jsx)(\\\"path\\\",{d:d,strokeDasharray:p,strokeDashoffset:h})]}),l&&g&&\\\"none\\\"!==e.props.fill&&(0,import_jsx_runtime43.jsx)(ShapeFill,{theme:i,d:l,color:e.props.color,fill:e.props.fill}),c&&_&&\\\"none\\\"!==e.props.fill&&(0,import_jsx_runtime43.jsx)(ShapeFill,{theme:i,d:c,color:e.props.color,fill:e.props.fill}),l&&(0,import_jsx_runtime43.jsx)(\\\"path\\\",{d:l}),c&&(0,import_jsx_runtime43.jsx)(\\\"path\\\",{d:c})]})]})}),shapeAtTranslationStart=new WeakMap;function ArrowheadDotDef(){return(0,import_jsx_runtime43.jsx)(\\\"marker\\\",{id:\\\"arrowhead-dot\\\",className:\\\"tl-arrow-hint\\\",refX:\\\"3.0\\\",refY:\\\"3.0\\\",orient:\\\"0\\\",children:(0,import_jsx_runtime43.jsx)(\\\"circle\\\",{cx:\\\"3\\\",cy:\\\"3\\\",r:\\\"2\\\",strokeDasharray:\\\"100%\\\"})})}function ArrowheadCrossDef(){return(0,import_jsx_runtime43.jsxs)(\\\"marker\\\",{id:\\\"arrowhead-cross\\\",className:\\\"tl-arrow-hint\\\",refX:\\\"3.0\\\",refY:\\\"3.0\\\",orient:\\\"auto\\\",children:[(0,import_jsx_runtime43.jsx)(\\\"line\\\",{x1:\\\"1.5\\\",y1:\\\"1.5\\\",x2:\\\"4.5\\\",y2:\\\"4.5\\\",strokeDasharray:\\\"100%\\\"}),(0,import_jsx_runtime43.jsx)(\\\"line\\\",{x1:\\\"1.5\\\",y1:\\\"4.5\\\",x2:\\\"4.5\\\",y2:\\\"1.5\\\",strokeDasharray:\\\"100%\\\"})]})}init_esbuild_inject();var import_jsx_runtime45=require(\\\"react/jsx-runtime\\\"),import_jsx_runtime44=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\")),import_classnames16=__toESM(require_classnames(),1),LINK_ICON=\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' fill='none'%3E%3Cpath stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M13 5H7a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6M19 5h6m0 0v6m0-6L13 17'/%3E%3C/svg%3E\\\";function HyperlinkButton({url:e,zoomLevel:t}){return(0,import_jsx_runtime44.jsx)(\\\"a\\\",{className:(0,import_classnames16[\\\"default\\\"])(\\\"tl-hyperlink-button\\\",{\\\"tl-hyperlink-button__hidden\\\":t<.32}),href:e,target:\\\"_blank\\\",rel:\\\"noopener noreferrer\\\",onPointerDown:stopEventPropagation,onPointerUp:stopEventPropagation,title:e,draggable:!1,children:(0,import_jsx_runtime44.jsx)(\\\"div\\\",{className:\\\"tl-hyperlink-button__icon\\\",style:{mask:'url(\\\"'.concat(LINK_ICON,'\\\") center 100% / 100% no-repeat'),WebkitMask:'url(\\\"'.concat(LINK_ICON,'\\\") center 100% / 100% no-repeat')}})})}init_esbuild_inject();var ROTATING_BOX_SHADOWS=[{offsetX:0,offsetY:2,blur:4,spread:0,color:\\\"#00000029\\\"},{offsetX:0,offsetY:3,blur:6,spread:0,color:\\\"#0000001f\\\"}];function getRotatedBoxShadow(a){return ROTATING_BOX_SHADOWS.map(e=>{var{offsetX:t,offsetY:r,blur:i,spread:n,color:o}=e,{x:t,y:r}=new Vec(t,r).rot(-a);return\\\"\\\".concat(t,\\\"px \\\").concat(r,\\\"px \\\").concat(i,\\\"px \\\").concat(n,\\\"px \\\").concat(o)}).join(\\\", \\\")}var BookmarkShapeUtil=class extends BaseBoxShapeUtil{constructor(){super(...arguments),__publicField(this,\\\"canResize\\\",()=>!1),__publicField(this,\\\"hideSelectionBoundsFg\\\",()=>!0),__publicField(this,\\\"onBeforeCreate\\\",e=>{updateBookmarkAssetOnUrlChange(this.editor,e)}),__publicField(this,\\\"onBeforeUpdate\\\",(e,t)=>{if(e.props.url!==t.props.url){if(!validation_exports.linkUrl.isValid(t.props.url))return{...t,props:{...t.props,url:e.props.url}};updateBookmarkAssetOnUrlChange(this.editor,t)}})}getDefaultProps(){return{url:\\\"\\\",w:300,h:320,assetId:null}}component(e){var t=e.props.assetId?this.editor.getAsset(e.props.assetId):null,r=this.editor.getShapePageTransform(e).rotation(),i=getHumanReadableAddress(e);return(0,import_jsx_runtime45.jsx)(HTMLContainer,{children:(0,import_jsx_runtime45.jsxs)(\\\"div\\\",{className:\\\"tl-bookmark__container\\\",style:{boxShadow:getRotatedBoxShadow(r)},children:[(0,import_jsx_runtime45.jsxs)(\\\"div\\\",{className:\\\"tl-bookmark__image_container\\\",children:[null!=t&&t.props.image?(0,import_jsx_runtime45.jsx)(\\\"img\\\",{className:\\\"tl-bookmark__image\\\",draggable:!1,src:null==t?void 0:t.props.image,alt:(null==t?void 0:t.props.title)||\\\"\\\"}):(0,import_jsx_runtime45.jsx)(\\\"div\\\",{className:\\\"tl-bookmark__placeholder\\\"}),(0,import_jsx_runtime45.jsx)(HyperlinkButton,{url:e.props.url,zoomLevel:this.editor.getZoomLevel()})]}),(0,import_jsx_runtime45.jsxs)(\\\"div\\\",{className:\\\"tl-bookmark__copy_container\\\",children:[(null==t?void 0:t.props.title)&&(0,import_jsx_runtime45.jsx)(\\\"h2\\\",{className:\\\"tl-bookmark__heading\\\",children:truncateStringWithEllipsis((null==t?void 0:t.props.title)||\\\"\\\",54)}),(null==t?void 0:t.props.description)&&(0,import_jsx_runtime45.jsx)(\\\"p\\\",{className:\\\"tl-bookmark__description\\\",children:truncateStringWithEllipsis((null==t?void 0:t.props.description)||\\\"\\\",128)}),(0,import_jsx_runtime45.jsx)(\\\"a\\\",{className:\\\"tl-bookmark__link\\\",href:e.props.url||\\\"\\\",target:\\\"_blank\\\",rel:\\\"noopener noreferrer\\\",onPointerDown:stopEventPropagation,onPointerUp:stopEventPropagation,onClick:stopEventPropagation,children:truncateStringWithEllipsis(i,45)})]})]})})}indicator(e){return(0,import_jsx_runtime45.jsx)(\\\"rect\\\",{width:toDomPrecision(e.props.w),height:toDomPrecision(e.props.h),rx:\\\"6\\\",ry:\\\"6\\\"})}},getHumanReadableAddress=(__publicField(BookmarkShapeUtil,\\\"type\\\",\\\"bookmark\\\"),__publicField(BookmarkShapeUtil,\\\"props\\\",bookmarkShapeProps),__publicField(BookmarkShapeUtil,\\\"migrations\\\",bookmarkShapeMigrations),e=>{try{var t=new URL(e.props.url),r=t.pathname.replace(/\\\\/*$/,\\\"\\\");return\\\"\\\".concat(t.hostname).concat(r)}catch(i){return e.props.url}});function updateBookmarkAssetOnUrlChange(e,t){var r=t.props[\\\"url\\\"],r=AssetRecordType.createId(getHashForString(r));e.getAsset(r)?t.props.assetId!==r&&e.updateShapes([{id:t.id,type:t.type,props:{assetId:r}}]):(e.updateShapes([{id:t.id,type:t.type,props:{assetId:null}}]),createBookmarkAssetOnUrlChange(e,t))}var createBookmarkAssetOnUrlChange=debounce(async(e,t)=>{var r=t.props[\\\"url\\\"];const i=await e.getAssetForExternalContent({type:\\\"url\\\",url:r});i&&e.batch(()=>{e.createAssets([i]),e.updateShapes([{id:t.id,type:t.type,props:{assetId:i.id}}])})},500),import_jsx_runtime46=(init_esbuild_inject(),require(\\\"react/jsx-runtime\\\"));function getSvgPathFromStrokePoints(e,t=!1){var r=e.length;if(r<2)return\\\"\\\";let i=e[0].point,n=e[1].point;if(2===r)return\\\"M\\\".concat(precise(i),\\\"L\\\").concat(precise(n));let o=\\\"\\\";for(let a=2,s=r-1;ae.getZoomLevel()<.35,[e])}init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject(),init_esbuild_inject();var PEN_EASING=e=>.65*e+.35*SIN(e*PI/2),simulatePressureSettings=e=>({size:1+e,thinning:.5,streamline:.62+(1+e)/8*.06,smoothing:.62,easing:EASINGS.easeOutSine,simulatePressure:!0}),realPressureSettings=e=>({size:1+1.2*e,thinning:.62,streamline:.62,smoothing:.62,simulatePressure:!1,easing:PEN_EASING}),solidSettings=e=>({size:1+e,thinning:0,streamline:.62+(1+e)/8*.06,smoothing:.62,simulatePressure:!1,easing:EASINGS.linear});function getHighlightFreehandSettings({strokeWidth:e,showAsComplete:t}){return{size:1+e,thinning:0,streamline:.5,smoothing:.5,simulatePressure:!1,easing:EASINGS.easeOutSine,last:t}}function getFreehandOptions(e,t,r,i){return{...(!i&&\\\"draw\\\"===e.dash?e.isPen?realPressureSettings:simulatePressureSettings:solidSettings)(t),last:e.isComplete||r}}function getPointsFromSegments(e){var t,r=[];for(const i of e)\\\"free\\\"===i.type||i.points.length<2?r.push(...i.points.map(Vec.Cast)):(t=Math.max(4,Math.floor(Vec.Dist(i.points[0],i.points[1])/16)),r.push(...Vec.PointsBetween(i.points[0],i.points[1],t)));return r}function getDrawShapeStrokeDashArray(e,t){return{draw:\\\"none\\\",solid:\\\"none\\\",dotted:\\\"0.1 \\\".concat(2*t),dashed:\\\"\\\".concat(2*t,\\\" \\\").concat(2*t)}[e.props.dash]}var DrawShapeUtil=class extends ShapeUtil{constructor(){super(...arguments),__publicField(this,\\\"hideResizeHandles\\\",e=>getIsDot(e)),__publicField(this,\\\"hideRotateHandle\\\",e=>getIsDot(e)),__publicField(this,\\\"hideSelectionBoundsFg\\\",e=>getIsDot(e)),__publicField(this,\\\"onResize\\\",(e,t)=>{const{scaleX:i,scaleY:n}=t;var r=[];for(const o of e.props.segments)r.push({...o,points:o.points.map(({x:e,y:t,z:r})=>({x:toFixed(i*e),y:toFixed(n*t),z:r}))});return{props:{segments:r}}})}getDefaultProps(){return{segments:[],color:\\\"black\\\",fill:\\\"none\\\",dash:\\\"draw\\\",size:\\\"m\\\",isComplete:!1,isClosed:!1,isPen:!1}}getGeometry(e){var t=getPointsFromSegments(e.props.segments),r=STROKE_SIZES2[e.props.size];if(1===e.props.segments.length){var i=Box.FromPoints(t);if(i.width<2*r&&i.height<2*r)return new Circle2d({x:-r,y:-r,radius:r,isFilled:!0})}i=getStrokePoints(t,getFreehandOptions(e.props,r,!0,!0)).map(e=>e.point);return e.props.isClosed?new Polygon2d({points:i,isFilled:\\\"none\\\"!==e.props.fill}):new Polyline2d({points:i})}component(e){return(0,import_jsx_runtime46.jsx)(SVGContainer,{id:e.id,children:(0,import_jsx_runtime46.jsx)(DrawShapeSvg,{shape:e,forceSolid:useForceSolid()})})}indicator(e){var t=useForceSolid(),r=STROKE_SIZES2[e.props.size],i=getPointsFromSegments(e.props.segments);let n=r;t||e.props.isPen||\\\"draw\\\"!==e.props.dash||1!==i.length||(n+=rng(e.id)()*(r/6));r=e.props.isComplete||\\\"straight\\\"===(null==(t=last(e.props.segments))?void 0:t.type),t=getStrokePoints(i,getFreehandOptions(e.props,n,r,!0)),r=1Object.entries(e).filter(([,e])=>e).map(([e])=>e).join(\\\" \\\"),EmbedShapeUtil=class extends BaseBoxShapeUtil{constructor(){super(...arguments),__publicField(this,\\\"hideSelectionBoundsFg\\\",e=>!this.canResize(e)),__publicField(this,\\\"canEdit\\\",()=>!0),__publicField(this,\\\"canResize\\\",e=>{var t;return!(null==(t=null==(t=getEmbedInfo(e.props.url))?void 0:t.definition)||!t.doesResize)}),__publicField(this,\\\"canEditInReadOnly\\\",()=>!0),__publicField(this,\\\"isAspectRatioLocked\\\",e=>{var t=getEmbedInfo(e.props.url);return null!=(t=null==t?void 0:t.definition.isAspectRatioLocked)&&t}),__publicField(this,\\\"onResize\\\",(e,t)=>{var r,i=this.isAspectRatioLocked(e),n=getEmbedInfo(e.props.url);let o=null!=(r=null==n?void 0:n.definition.minWidth)?r:200,a=null!=(r=null==n?void 0:n.definition.minHeight)?r:200;return i&&(1<(n=e.props.w/e.props.h)?o*=n:a/=n),resizeBox2(e,t,{minWidth:o,minHeight:a})})}getDefaultProps(){return{w:300,h:300,url:\\\"\\\"}}component(e){const{w:t,h:r,url:i}=e.props;var n=useIsEditing(e.id),o=(0,import_react48.useMemo)(()=>getEmbedInfoUnsafely(i),[i]),a=useValue(\\\"is hovering\\\",()=>{var{editingShapeId:e,hoveredShapeId:t}=this.editor.getCurrentPageState();if(e&&t!==e){t=this.editor.getShape(e);if(t&&this.editor.isShapeOfType(t,\\\"embed\\\"))return!0}return!1},[]),s=this.editor.getShapePageTransform(e).rotation(),n=n||a;if(\\\"github_gist\\\"===(null==o?void 0:o.definition.type)){var a=o.url.split(\\\"/\\\").pop();if(a)return(0,import_jsx_runtime47.jsx)(HTMLContainer,{className:\\\"tl-embed-container\\\",id:e.id,children:(0,import_jsx_runtime47.jsx)(Gist,{id:a,width:toDomPrecision(t),height:toDomPrecision(r),isInteractive:n,pageRotation:s})});throw Error(\\\"No gist id!\\\")}a=getSandboxPermissions({...embedShapePermissionDefaults,...null!=(a=null==o?void 0:o.definition.overridePermissions)?a:{}});return(0,import_jsx_runtime47.jsx)(HTMLContainer,{className:\\\"tl-embed-container\\\",id:e.id,children:null!=o&&o.definition?(0,import_jsx_runtime47.jsx)(\\\"iframe\\\",{className:\\\"tl-embed\\\",sandbox:a,src:o.embedUrl,width:toDomPrecision(t),height:toDomPrecision(r),draggable:!1,frameBorder:\\\"0\\\",referrerPolicy:\\\"no-referrer-when-downgrade\\\",style:{border:0,pointerEvents:n?\\\"auto\\\":\\\"none\\\",zIndex:n?\\\"\\\":\\\"-1\\\",boxShadow:getRotatedBoxShadow(s),borderRadius:null!=(a=null==o?void 0:o.definition.overrideOutlineRadius)?a:8,background:null==o?void 0:o.definition.backgroundColor}}):null})}indicator(e){var t,r=(0,import_react48.useMemo)(()=>getEmbedInfo(e.props.url),[e.props.url]);return(0,import_jsx_runtime47.jsx)(\\\"rect\\\",{width:toDomPrecision(e.props.w),height:toDomPrecision(e.props.h),rx:null!=(t=null==r?void 0:r.definition.overrideOutlineRadius)?t:8,ry:null!=(t=null==r?void 0:r.definition.overrideOutlineRadius)?t:8})}};function Gist({id:e,file:t,isInteractive:r,width:i,height:n,style:o,pageRotation:a}){return(0,import_jsx_runtime47.jsx)(\\\"iframe\\\",{className:\\\"tl-embed\\\",draggable:!1,width:toDomPrecision(i),height:toDomPrecision(n),frameBorder:\\\"0\\\",scrolling:\\\"no\\\",seamless:!0,referrerPolicy:\\\"no-referrer-when-downgrade\\\",style:{...o,pointerEvents:r?\\\"all\\\":\\\"none\\\",zIndex:r?\\\"\\\":\\\"-1\\\",boxShadow:getRotatedBoxShadow(a)},srcDoc:'\\\\n\\\\t\\\\t\\\\t\\\\n\\\\t\\\\t\\\\t\\\\t\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\n\\\\t\\\\t\\\\t\\\\t\\\\n\\\\t\\\\t\\\\t\\\\t\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t