/*
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
if you want to view the source, please visit the github repository of this plugin
*/

var Die=Object.create;var VP=Object.defineProperty;var Aie=Object.getOwnPropertyDescriptor;var Oie=Object.getOwnPropertyNames;var Lie=Object.getPrototypeOf,zie=Object.prototype.hasOwnProperty;var U=(t,e,n)=>()=>{if(n)throw n[0];try{return t&&(e=t(t=0)),e}catch(r){throw n=[r],r}};var Mc=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(n){throw e=0,n}},In=(t,e)=>{for(var n in e)VP(t,n,{get:e[n],enumerable:!0})},b1=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Oie(e))!zie.call(t,o)&&o!==n&&VP(t,o,{get:()=>e[o],enumerable:!(r=Aie(e,o))||r.enumerable});return t};var ue=(t,e,n)=>(n=t!=null?Die(Lie(t)):{},b1(e||!t||!t.__esModule?VP(n,"default",{value:t,enumerable:!0}):n,t)),Lr=t=>b1(VP({},"__esModule",{value:!0}),t);var vi,S1,Ru=U(()=>{vi="notebook-navigator",S1=`<g stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
    <rect x="19.88" y="12.42" width="66.42" height="75.21" rx="6.25" stroke-width="8"/>
    <g stroke-width="4">
      <line x1="13.29" y1="24.38" x2="28.5" y2="24.38"/>
      <line x1="13.29" y1="37.21" x2="28.5" y2="37.21"/>
      <line x1="13.29" y1="50" x2="28.5" y2="50"/>
      <line x1="13.29" y1="62.79" x2="28.5" y2="62.79"/>
      <line x1="13.29" y1="75.63" x2="28.5" y2="75.63"/>
    </g>
    <g stroke-width="3.5">
      <circle cx="28.5" cy="24.38" r="1.38"/>
      <circle cx="28.5" cy="37.21" r="1.38"/>
      <circle cx="28.5" cy="50" r="1.38"/>
      <circle cx="28.5" cy="62.79" r="1.38"/>
      <circle cx="28.5" cy="75.63" r="1.38"/>
    </g>
    <polygon points="52.77 53.33 36.22 49.08 70.07 34.18 57.25 69.38 52.77 53.33" fill="currentColor" stroke="none"/>
  </g>`});function Bie(t){return typeof t=="object"&&t!==null}function w1(t){if(typeof t!="object"||t===null)return!1;let e=t;if(!Reflect.has(e,"dragManager"))return!1;let n=Reflect.get(e,"dragManager");if(!Bie(n)||!Reflect.has(n,"draggable"))return!1;let r=Reflect.get(n,"draggable");return r===null||typeof r=="object"}var Jg,lw,Lt,Zf,jr=U(()=>{Jg="application/x-notebook-navigator-tag",lw="application/x-notebook-navigator-property";Lt={DEBOUNCE_KEYBOARD:100,DEBOUNCE_KEYBOARD_FILE_OPEN:500,DEBOUNCE_CONTENT:300,DEBOUNCE_TAG_TREE:500,DEBOUNCE_SETTINGS:1e3,KEYBOARD_THROTTLE:16,FILE_OPERATION_DELAY:100,INTERVAL_STATISTICS:5e3,NOTICE_ERROR:2e3,NOTICE_HELP:1e4,YIELD_TO_EVENT_LOOP:0},Zf={EDIT_FILE_TITLE:"workspace:edit-file-title",VERSION_HISTORY:"sync:view-version-history"}});var T1={};In(T1,{STRINGS_EN:()=>_ie});var _ie,k1=U(()=>{_ie={common:{cancel:"Cancel",delete:"Delete",clear:"Clear",remove:"Remove",restoreDefault:"Restore default",submit:"Submit",save:"Save",configure:"Configure",lightMode:"Light mode",darkMode:"Dark mode",noSelection:"No selection",untagged:"Untagged",featureImageAlt:"Feature image",unknownError:"Unknown error",clipboardWriteError:"Could not write to clipboard",updateBannerTitle:"Notebook Navigator update available",updateBannerInstruction:"Update in Settings -> Community plugins",previous:"Previous",next:"Next"},listPane:{emptyStateNoSelection:"Select a folder or tag to view notes",emptyStateNoNotes:"No notes",pinnedSection:"Pinned",notesSection:"Notes",filesSection:"Files",hiddenItemAriaLabel:"{name} (hidden)",collapseGroup:"Collapse group",expandGroup:"Expand group",manualSortTitle:"Manual sort: {property}",manualSortHint:'Drag to reorder. The order is saved as numeric index values in the property "{property}".',manualSortNonMarkdownHint:"Non-markdown files are shown at the bottom and cannot be reordered.",unsortedSection:"Unsorted",manualSortDone:"Done",manualSortMultipleWriteFailure:"{count} files failed; first: {path}: {message}"},tagList:{untaggedLabel:"Untagged",tags:"Tags"},navigationPane:{shortcutsHeader:"Shortcuts",recentFilesHeader:"Recent files",properties:"Properties",reorderRootFoldersTitle:"Reorder navigation",reorderRootFoldersHint:"Use arrows or drag to reorder",vaultRootLabel:"Vault",resetRootToAlpha:"Reset to alphabetical order",resetRootToFrequency:"Reset to frequency order",pinShortcuts:"Pin shortcuts",pinShortcutsAndRecentFiles:"Pin shortcuts and recent files",unpinShortcuts:"Unpin shortcuts",unpinShortcutsAndRecentFiles:"Unpin shortcuts and recent files",profileMenuAria:"Change vault profile"},navigationCalendar:{ariaLabel:"Calendar",dailyNotesNotEnabled:"Daily notes core plugin is not enabled.",createDailyNote:{title:"New daily note",message:"File {filename} does not exist. Would you like to create it?",confirmButton:"Create"},helpModal:{title:"Calendar shortcuts",items:["Click any day to open or create a daily note. Weeks, months, quarters, and years work the same way.","A filled dot under a day means it has a note. A hollow dot means it has unfinished tasks.","If a note has a feature image, it appears as the day's background."],dateFilterCmdCtrl:"`Cmd/Ctrl`+click a date to filter by that date in the file list.",dateFilterOptionAlt:"`Option/Alt`+click a date to filter by that date in the file list."}},dailyNotes:{templateReadFailed:"Failed to read the daily note template.",createFailed:"Unable to create daily note."},shortcuts:{folderExists:"Folder already in shortcuts",noteExists:"Note already in shortcuts",tagExists:"Tag already in shortcuts",propertyExists:"Property already in shortcuts",invalidProperty:"Invalid property shortcut",searchExists:"Search shortcut already exists",emptySearchQuery:"Enter a search query before saving it",emptySearchName:"Enter a name before saving the search",add:"Add to shortcuts",addNotesCount:"Add {count} notes to shortcuts",addFilesCount:"Add {count} files to shortcuts",rename:"Rename shortcut",remove:"Remove from shortcuts",removeAll:"Remove all shortcuts",removeAllConfirm:"Remove all shortcuts?",folderNotesPinned:"Pinned {count} folder notes"},paneHeader:{collapseAllFolders:"Collapse items",expandAllFolders:"Expand all items",showCalendar:"Show calendar",hideCalendar:"Hide calendar",newFolder:"New folder",newNote:"New note",mobileBackToNavigation:"Back to navigation",changeChildSortOrder:"Change sort order",changeSortAndGroup:"Change sort and group",resetViewToDefaults:"Reset view to defaults",manualSort:"Manual sort",editSortOrder:"Edit sort order...",removeSortProperty:"Remove sort property",descendants:"descendants",subfolders:"subfolders",subtags:"subtags",childValues:"child values",applySortAndGroupToDescendants:t=>`Apply sort and group to ${t}`,applyAppearanceToDescendants:t=>`Apply appearance to ${t}`,showFolders:"Show navigation",reorderRootFolders:"Reorder navigation",finishRootFolderReorder:"Done reordering",showExcludedItems:"Show hidden folders, tags, and notes",hideExcludedItems:"Hide hidden folders, tags, and notes",showDualPane:"Show dual panes",showSinglePane:"Show single pane",dualPaneAutoFallbackNotice:'Dual panes are unavailable when the sidebar is too narrow. To change this, set "When sidebar is too narrow" to "Do nothing" in Settings > Appearance & behavior.',changeAppearance:"Change appearance",showNotesFromSubfolders:"Show notes from subfolders",showFilesFromSubfolders:"Show files from subfolders",showNotesFromDescendants:"Show notes from descendants",showFilesFromDescendants:"Show files from descendants",search:"Search"},searchInput:{placeholder:"Search...",placeholderOmnisearch:"Omnisearch...",clearSearch:"Clear search",switchToFilterSearch:"Switch to filter search",switchToOmnisearch:"Switch to Omnisearch",saveSearchShortcut:"Save search shortcut",removeSearchShortcut:"Remove search shortcut",shortcutModalTitle:"Save search shortcut",shortcutNamePlaceholder:"Enter shortcut name",shortcutStartIn:"Always start in: {path}",searchHelp:"Search syntax",searchHelpTitle:"Search syntax",searchHelpModal:{intro:"Combine file names, properties, tags, dates, and filters in one query (e.g., `meeting .status=active #work @thisweek`). Install the Omnisearch plugin to use full-text search.",introSwitching:"Switch between filter search and Omnisearch using the up/down arrow keys or by clicking the search icon.",sections:{fileNames:{title:"File names",items:['`word` Match notes with "word" in the file name.',"`word1 word2` Require every word to match the file name.",'`-word` Exclude notes with "word" in the file name.']},tags:{title:"Tags",items:["`#tag` Include notes with tag (also matches nested tags like `#tag/subtag`).","`#` Include only tagged notes.","`-#tag` Exclude notes with tag.","`-#` Include only untagged notes.","`#tag1 #tag2` Match both tags (implicit AND).","`#tag1 AND #tag2` Match both tags (explicit AND).","`#tag1 OR #tag2` Match either tag.","`#a OR #b AND #c` AND has higher precedence: matches `#a`, or both `#b` and `#c`.","Cmd/Ctrl+Click a tag to add with AND. Cmd/Ctrl+Shift+Click to add with OR."]},properties:{title:"Properties",items:["`.key` Include notes with property key.","`.key=value` Include notes where the property value contains `value`.",'`."Reading Status"` Include notes with a property key that contains whitespace.','`."Reading Status"="In Progress"` Keys and values with whitespace must be double-quoted.',"`-.key` Exclude notes with property key.","`-.key=value` Exclude notes where the property value contains `value`.","Cmd/Ctrl+Click a property to add with AND. Cmd/Ctrl+Shift+Click to add with OR."]},tasks:{title:"Filters",items:["`has:task` Include notes with unfinished tasks.","`-has:task` Exclude notes with unfinished tasks.","`folder:meetings` Include notes where a folder name contains `meetings`.","`folder:/work/meetings` Include notes only in `work/meetings` (not subfolders).","`folder:/` Include notes only in the vault root.","`-folder:archive` Exclude notes where a folder name contains `archive`.","`-folder:/archive` Exclude notes only in `archive` (not subfolders).","`ext:md` Include notes with extension `md` (`ext:.md` is also supported).","`-ext:pdf` Exclude notes with extension `pdf`.","Combine with tags, names, and dates (for example: `folder:/work/meetings ext:md @thisweek`)."]},connectors:{title:"AND/OR behavior",items:["`AND` and `OR` are operators only in tag/property-only queries.","Tag/property-only queries contain only tag and property filters: `#tag`, `-#tag`, `#`, `-#`, `.key`, `-.key`, `.key=value`, `-.key=value`.","If a query includes names, dates (`@...`), task filters (`has:task`), folder filters (`folder:...`), or extension filters (`ext:...`), `AND` and `OR` are matched as words.","Example operator query: `#work OR .status=started`.","Example mixed query: `#work OR ext:md` (`OR` is matched in file names)."]},dates:{title:"Dates",items:["`@today` Match notes from today using the default date field.","`@yesterday`, `@last7d`, `@last30d`, `@thisweek`, `@thismonth` Relative date ranges.","`@2026-02-07` Match a single day (also supports `@20260207`).","`@2026` Match a calendar year.","`@2026-02` or `@202602` Match a calendar month.","`@2026-W05` or `@2026W05` Match an ISO week.","`@2026-Q2` or `@2026Q2` Match a calendar quarter.","`@13/02/2026` Numeric formats with separators (`@07022026` follows your locale when ambiguous).","`@2026-02-01..2026-02-07` Match an inclusive day range (open ends supported).","`@c:...` or `@m:...` Target created or modified date.","`-@...` Exclude a date match."]},omnisearch:{title:"Omnisearch",items:["Full-text search across the vault, filtered to the current folder or selected tags.","Can be slow with fewer than 3 characters in large vaults.","Cannot search paths with non-ASCII characters or search subpaths correctly.","Returns limited results before folder filtering, so relevant files may not appear if many matches exist elsewhere.","Note previews show Omnisearch excerpts instead of the default preview text."]}}}},contextMenu:{file:{openInNewTab:"Open in new tab",openToRight:"Open to the right",openInNewWindow:"Open in new window",openMultipleInNewTabs:"Open {count} notes in new tabs",openMultipleFilesInNewTabs:"Open {count} files in new tabs",openMultipleToRight:"Open {count} notes to the right",openMultipleFilesToRight:"Open {count} files to the right",openMultipleInNewWindows:"Open {count} notes in new windows",openMultipleFilesInNewWindows:"Open {count} files in new windows",pinNote:"Pin note",pinFile:"Pin file",unpinNote:"Unpin note",unpinFile:"Unpin file",pinMultipleNotes:"Pin {count} notes",pinMultipleFiles:"Pin {count} files",unpinMultipleNotes:"Unpin {count} notes",unpinMultipleFiles:"Unpin {count} files",duplicateNote:"Duplicate note",duplicateFile:"Duplicate file",duplicateMultipleNotes:"Duplicate {count} notes",duplicateMultipleFiles:"Duplicate {count} files",openVersionHistory:"Open version history",revealInFolder:"Reveal in folder",revealInFinder:"Reveal in Finder",showInExplorer:"Show in system explorer",openInDefaultApp:"Open in default app",renameNote:"Rename note",renameFile:"Rename file",deleteNote:"Delete note",deleteFile:"Delete file",setCalendarHighlight:"Set highlight",removeCalendarHighlight:"Remove highlight",deleteMultipleNotes:"Delete {count} notes",deleteMultipleFiles:"Delete {count} files",moveNoteToFolder:"Move note to...",moveFileToFolder:"Move file to...",moveMultipleNotesToFolder:"Move {count} notes to...",moveMultipleFilesToFolder:"Move {count} files to...",mergeNotes:"Merge {count} notes...",mergeNotesInGroup:"Merge notes in group...",setManualSortGroupHeader:"Set group header",changeManualSortGroupHeader:"Change group header",manualSortGroupHeader:{title:"Group header",copyStyle:"Copy header style",pasteStyle:"Paste header style",remove:"Remove group header"},addTag:"Add tag",addPropertyKey:"Set property",removeTag:"Remove tag",removeAllTags:"Remove all tags",changeIcon:"Change icon",changeColor:"Change color"},folder:{newNote:"New note",newNoteFromTemplate:"New note from template",newFolder:"New folder",newCanvas:"New canvas",newBase:"New base",newDrawing:"New drawing",newExcalidrawDrawing:"New Excalidraw drawing",newTldrawDrawing:"New Tldraw drawing",duplicateFolder:"Duplicate folder",searchInFolder:"Search in folder",createFolderNote:"Create folder note",detachFolderNote:"Detach folder note",deleteFolderNote:"Delete folder note",changeIcon:"Change icon",changeColor:"Change color",changeBackground:"Change background",excludeFolder:"Hide folder",unhideFolder:"Unhide folder",moveFolder:"Move folder to...",renameFolder:"Rename folder",deleteFolder:"Delete folder"},tag:{changeIcon:"Change icon",changeColor:"Change color",changeBackground:"Change background",showTag:"Show tag",hideTag:"Hide tag"},property:{addKey:"Configure property keys",renameKey:"Rename property",deleteKey:"Delete property"},navigation:{addSeparator:"Add separator",removeSeparator:"Remove separator"},copyPath:{title:"Copy path",asObsidianUrl:"as Obsidian URL",fromVaultFolder:"from vault folder",fromSystemRoot:"from system root"},style:{title:"Style",copy:"Copy style",paste:"Paste style",removeIcon:"Remove icon",removeColor:"Remove color",removeBackground:"Remove background",clear:"Clear style"}},folderAppearance:{appearance:"Appearance",sortBy:"Sort by",standardPreset:"Standard",compactPreset:"Compact",defaultSuffix:"(default)",defaultLabel:"Default",titleRows:"Title rows",previewRows:"Preview rows",groupBy:"Group by",titleRowOption:t=>`${t} title row${t===1?"":"s"}`,previewRowOption:t=>`${t} preview row${t===1?"":"s"}`},modals:{bulkApply:{applyButton:"Apply",applySortAndGroupTitle:t=>`Apply sort and group to ${t}?`,applyAppearanceTitle:t=>`Apply appearance to ${t}?`,affectedCountMessage:t=>`Existing overrides that will change: ${t}.`},manualSortConfirm:{propertySortTitle:"Use manual sort?",propertySortMessage:(t,e)=>`This switches the current view to manual sort using "${t}". Editing the order writes numeric index values to that property in ${e} ${e===1?"note":"notes"} as needed.`,propertySortConfirmButton:"Use manual sort",removePropertyTitle:"Remove sort property?",removePropertyMessage:(t,e)=>`This removes "${t}" from ${e} ${e===1?"note":"notes"} in the current list. Manual sort order will be cleared for those notes.`,removePropertyConfirmButton:"Remove property",compactTitle:"Compact index values?",compactMessage:t=>`This reorder needs more numeric space. ${t} ${t===1?"note":"notes"} will receive new index values.`,compactConfirmButton:"Compact index values"},manualSortGroupHeader:{title:"Set group header",titleLabel:"Title",placeholder:"Group header",icon:"Icon",color:"Color",wordCount:"Show word count",wordCountTarget:"Target word count",wordCountTargetPlaceholder:"10,000",wordCountTargetDescription:"When this field is empty, the group goal uses the target property set in Settings > Notes > Word and character count. Override it by setting a target value for this group.",description:"Customize the group header for this note. Leave the title empty to remove the header."},mergeNotes:{title:"Merge notes",summary:"Create one note from {count} notes in {folder}.",frontmatterRule:"Frontmatter from the first note is kept. Frontmatter from the other notes is removed.",crossFolderWarning:"Source notes are in different folders. Relative links and embeds may stop working in the merged note.",outputName:"Output name",outputNameDesc:"The merged note is created in the folder shown above.",outputNamePlaceholder:"Merged notes",separator:"Separator",separatorDesc:"Inserted between notes.",separatorOptions:{none:"None",blankLine:"Blank line",horizontalRule:"Horizontal rule",heading:"Heading with note title"},moveSourcesToTrash:"Move source notes to trash after merging",mergeButton:"Merge"},navRainbowSection:{title:t=>`Rainbow colors: ${t}`},iconPicker:{searchPlaceholder:"Search icons...",recentlyUsedHeader:"Recently used",emptyStateSearch:"Start typing to search icons",emptyStateNoResults:"No icons found",showingResultsInfo:"Showing 50 of {count} results. Type more to narrow down.",emojiInstructions:"Type or paste any emoji to use it as an icon",removeIcon:"Remove icon",removeFromRecents:"Remove from recent icons",allTabLabel:"All"},fileIconRuleEditor:{addRuleAria:"Add rule"},interfaceIcons:{title:"Interface icons",fileItemsSection:"File items",items:{"nav-shortcuts":"Shortcuts","nav-recent-files":"Recent files","nav-expand-all":"Expand all","nav-collapse-all":"Collapse all","nav-calendar":"Calendar","nav-tree-expand":"Tree chevron: expand","nav-tree-collapse":"Tree chevron: collapse","nav-hidden-items":"Hidden items","nav-root-reorder":"Reorder root folders","nav-new-folder":"New folder","nav-show-single-pane":"Show single pane","nav-show-dual-pane":"Show dual panes","nav-profile-chevron":"Profile menu chevron","list-search":"Search","list-reveal-file":"Reveal file","list-descendants":"Notes from subfolders","list-sort-ascending":"Sort order: ascending","list-sort-descending":"Sort order: descending","list-sort-modified":"Sort by edited date","list-sort-created":"Sort by created date","list-sort-title":"Sort by title","list-sort-filename":"Sort by file name","list-sort-property":"Sort by property","list-appearance":"Change appearance","list-new-note":"New note","list-pinned":"Pinned notes","nav-folder-open":"Folder open","nav-folder-closed":"Folder closed","nav-tags":"Tags","nav-tag":"Tag","nav-properties":"Properties","nav-property":"Property","nav-property-value":"Value","file-unfinished-task":"Unfinished tasks","file-word-count":"Word count","file-character-count":"Character count"}},colorPicker:{currentColor:"Current",newColor:"New",paletteDefault:"Default",paletteCustom:"Custom",copyColors:"Copy color",colorsCopied:"Color copied to clipboard",pasteColors:"Paste color",pasteClipboardError:"Could not read clipboard",pasteInvalidFormat:"Expected a hex color value",colorsPasted:"Color pasted successfully",resetUserColors:"Clear custom colors",clearCustomColorsConfirm:"Remove all custom colors?",userColorSlot:"Color {slot}",recentColors:"Recent colors",clearRecentColors:"Clear recent colors",removeRecentColor:"Remove color",apply:"Apply",pickerLabel:"Picker",hexLabel:"HEX",hexInputLabel:"Hex color value",saturationValueArea:"Saturation and brightness",hueSlider:"Hue",alphaSlider:"Transparency"},appearance:{tabIcon:"Icon",tabColor:"Color",tabBackground:"Background",resetIcon:"Remove icon",resetColor:"Remove color",resetBackground:"Remove background",clear:"Clear style",apply:"Apply"},selectVaultProfile:{title:"Select vault profile",currentBadge:"Active",emptyState:"No vault profiles available."},tagOperation:{renameTitle:"Rename tag {tag}",deleteTitle:"Delete tag {tag}",newTagPrompt:"New tag name",newTagPlaceholder:"Enter new tag name",renameWarning:"Renaming tag {oldTag} will modify {count} {files}.",deleteWarning:"Deleting tag {tag} will modify {count} {files}.",modificationWarning:"This will update file modification dates.",affectedFiles:"Affected files:",andMore:"...and {count} more",confirmRename:"Rename tag",renameUnchanged:"{tag} unchanged",renameNoChanges:"{oldTag} → {newTag} ({countLabel})",renameBatchNotFinalized:"Renamed {renamed}/{total}. Not updated: {notUpdated}. Metadata and shortcuts were not updated.",invalidTagName:"Enter a valid tag name.",inlineParsingWarning:{title:"Inline tag compatibility",message:"{tag} contains characters that Obsidian cannot parse in inline tags. Frontmatter tags are not affected.",confirm:"Use anyway"},descendantRenameError:"Cannot move a tag into itself or a descendant.",confirmDelete:"Delete tag",deleteBatchNotFinalized:"Removed from {removed}/{total}. Not updated: {notUpdated}. Metadata and shortcuts were not updated.",checkConsoleForDetails:"Check console for details.",file:"file",files:"files"},propertyOperation:{renameTitle:"Rename property {property}",deleteTitle:"Delete property {property}",newKeyPrompt:"New property name",newKeyPlaceholder:"Enter new property name",renameWarning:"Renaming property {property} will modify {count} {files}.",renameConflictWarning:"Property {newKey} already exists in {count} {files}. Renaming {oldKey} will replace existing {newKey} values.",deleteWarning:"Deleting property {property} will modify {count} {files}.",confirmRename:"Rename property",confirmDelete:"Delete property",renameNoChanges:"{oldKey} → {newKey} (no changes)",renameSettingsUpdateFailed:"Renamed property {oldKey} → {newKey}. Failed to update settings.",deleteSingleSuccess:"Deleted property {property} from 1 note",deleteMultipleSuccess:"Deleted property {property} from {count} notes",deleteSettingsUpdateFailed:"Deleted property {property}. Failed to update settings.",invalidKeyName:"Enter a valid property name."},fileSystem:{newFolderTitle:"New folder",renameFolderTitle:"Rename folder",renameFileTitle:"Rename file",deleteFolderTitle:"Delete '{name}'?",deleteFileTitle:"Delete '{name}'?",deleteFileAttachmentsTitle:"Delete file attachments?",moveFileConflictTitle:"Move conflict",folderNamePrompt:"Enter folder name:",hideInOtherVaultProfiles:"Hide in other vault profiles",renamePrompt:"Enter new name:",renameVaultTitle:"Change vault display name",renameVaultPrompt:"Enter custom display name (leave empty to use default):",deleteFolderConfirm:"Are you sure you want to delete this folder and all its contents?",deleteFileConfirm:"Are you sure you want to delete this file?",deleteFileAttachmentsDescriptionSingle:"This attachment is no longer used in any notes. Would you like to delete it?",deleteFileAttachmentsDescriptionMultiple:"These attachments are no longer used in any notes. Would you like to delete them?",deleteFileAttachmentsViewFileTreeAriaLabel:"File tree",deleteFileAttachmentsViewGalleryAriaLabel:"Gallery",moveFileConflictDescriptionSingle:'A file conflict was found in "{folder}".',moveFileConflictDescriptionMultiple:'{count} file conflicts were found in "{folder}".',moveFileConflictAffectedFiles:"Affected files",moveFileConflictItem:'"{name}" -> "{suggested}"{renameOnly}',moveFileConflictRenameOnly:"(rename only)",moveFileConflictRename:"Rename",moveFileConflictOverwrite:"Overwrite",removeAllTagsTitle:"Remove all tags",removeAllTagsFromNote:"Are you sure you want to remove all tags from this note?",removeAllTagsFromNotes:"Are you sure you want to remove all tags from {count} notes?"},folderNoteType:{title:"Select folder note type",folderLabel:"Folder: {name}"},folderSuggest:{placeholder:t=>`Move ${t} to folder...`,multipleFilesLabel:t=>`${t} files`,navigatePlaceholder:"Navigate to folder...",instructions:{navigate:"to navigate",move:"to move",select:"to select",dismiss:"to dismiss"}},homepage:{placeholder:"Search files...",instructions:{navigate:"to navigate",select:"to set homepage",dismiss:"to dismiss"}},calendarTemplate:{placeholder:"Search templates...",instructions:{navigate:"to navigate",select:"to select template",dismiss:"to dismiss"}},navigationBanner:{placeholder:"Search images...",instructions:{navigate:"to navigate",select:"to set banner",dismiss:"to dismiss"}},tagSuggest:{navigatePlaceholder:"Navigate to tag...",addPlaceholder:"Search for tag to add...",removePlaceholder:"Select tag to remove...",createNewTag:"Create new tag: #{tag}",instructions:{navigate:"to navigate",select:"to select",dismiss:"to dismiss",add:"to add tag",remove:"to remove tag"}},propertySuggest:{placeholder:"Select property key...",navigatePlaceholder:"Navigate to property...",instructions:{navigate:"to navigate",select:"to add property",dismiss:"to dismiss"}},propertyKeyVisibility:{title:"Property key visibility",description:"Control where property values are shown. The columns correspond to the navigation pane, list pane, and file context menu. Use the bottom row to toggle all rows in a column.",searchPlaceholder:"Search property keys...",propertyColumnLabel:"Property",showInNavigation:"Show in navigation",showInList:"Show in list",showInFileMenu:"Show in file menu",toggleAllInNavigation:"Toggle all in navigation",toggleAllInList:"Toggle all in list",toggleAllInFileMenu:"Toggle all in file menu",applyButton:"Apply",emptyState:"No property keys found."},welcome:{title:"Welcome to {pluginName}",introText:'Hi there! Before you start, I highly recommend that you watch the first five minutes of the video below to understand how the panes and the toggle "Show notes from subfolders" works.',continueText:"If you have five more minutes then continue watching the video to understand the compact display modes and how to properly set up shortcuts and important hotkeys.",thanksText:"Thank you so much for downloading, and enjoy!",videoAlt:"Installing and mastering Notebook Navigator",openVideoButton:"Play video",closeButton:"Maybe later"}},fileSystem:{errors:{createFolder:"Failed to create folder: {error}",createFile:"Failed to create file: {error}",renameFolder:"Failed to rename folder: {error}",renameFolderNoteConflict:'Cannot rename: "{name}" already exists in this folder',renameFile:"Failed to rename file: {error}",deleteFolder:"Failed to delete folder: {error}",deleteFile:"Failed to delete file: {error}",deleteAttachments:"Failed to delete attachments: {error}",mergeNotes:"Failed to merge notes: {error}",mergeNotesOpenOutput:"Merged note created as {name}, but it could not be opened: {error}. Source notes were left unchanged.",mergeNotesOpenSkipped:"Another file open request took precedence.",mergeNotesTrashSources:"Merged note created. Failed to move {count} source notes to trash.",duplicateNote:"Failed to duplicate note: {error}",duplicateFolder:"Failed to duplicate folder: {error}",openVersionHistory:"Failed to open version history: {error}",versionHistoryNotFound:"Version history command not found. Ensure Obsidian Sync is enabled.",revealInExplorer:"Failed to reveal file in system explorer: {error}",openInDefaultApp:"Failed to open in default app: {error}",openInDefaultAppNotAvailable:"Open in default app is not available on this platform",folderNoteAlreadyExists:"Folder note already exists",folderAlreadyExists:'Folder "{name}" already exists',folderNotesDisabled:"Enable folder notes in settings to convert files",folderNoteAlreadyLinked:"This file already acts as a folder note",folderNoteNotFound:"No folder note in selected folder",folderNoteUnsupportedExtension:"Unsupported file extension: {extension}",folderNoteMoveFailed:"Failed to move file during conversion: {error}",folderNoteRenameConflict:'A file named "{name}" already exists in the folder',folderNoteConversionFailed:"Failed to convert file to folder note",folderNoteConversionFailedWithReason:"Failed to convert file to folder note: {error}",folderNoteOpenFailed:"Converted file but failed to open folder note: {error}",failedToDeleteFile:"Failed to delete {name}: {error}",failedToDeleteMultipleFiles:"Failed to delete {count} files",versionHistoryNotAvailable:"Version history service not available",drawingAlreadyExists:"A drawing with this name already exists",failedToCreateDrawing:"Failed to create drawing",noFolderSelected:"No folder is selected in Notebook Navigator",noFileSelected:"No file is selected"},warnings:{linkBreakingNameCharacters:"This name includes characters that break Obsidian links: #, |, ^, %%, [[, ]].",forbiddenNameCharactersAllPlatforms:"Names cannot start with a period or include : or /.",forbiddenNameCharactersWindows:'Windows-reserved characters are not allowed: <, >, ", \\, |, ?, *.'},notices:{hideFolder:"Folder hidden: {name}",showFolder:"Folder shown: {name}",mergeNotes:"Merged {count} notes into {name}"},notifications:{deletedMultipleFiles:"Deleted {count} files",movedMultipleFiles:"Moved {count} files to {folder}",folderNoteConversionSuccess:'Converted file to folder note in "{name}"',folderMoved:'Moved folder "{name}"',deepLinkCopied:"Obsidian URL copied to clipboard",pathCopied:"Path copied to clipboard",relativePathCopied:"Relative path copied to clipboard",tagAddedToNote:"Added tag to 1 note",tagAddedToNotes:"Added tag to {count} notes",tagRemovedFromNote:"Removed tag from 1 note",tagRemovedFromNotes:"Removed tag from {count} notes",tagsClearedFromNote:"Cleared all tags from 1 note",tagsClearedFromNotes:"Cleared all tags from {count} notes",noTagsToRemove:"No tags to remove",noFilesSelected:"No files selected",mergeNotesRequireMultipleMarkdown:"Select at least two Markdown notes to merge",tagOperationsNotAvailable:"Tag operations not available",propertyOperationsNotAvailable:"Property operations not available",tagsRequireMarkdown:"Tags are only supported on Markdown notes",propertiesRequireMarkdown:"Properties are only supported on Markdown notes",propertySetOnNote:"Updated property on 1 note",propertySetOnNotes:"Updated property on {count} notes",manualSortPropertyRemovedFromNote:"Removed sort property from 1 note",manualSortPropertyRemovedFromNotes:"Removed sort property from {count} notes",iconPackDownloaded:"{provider} downloaded",iconPackUpdated:"{provider} updated ({version})",iconPackRemoved:"{provider} removed",iconPackLoadFailed:"Failed to load {provider}",hiddenFileReveal:'File is hidden. Enable "Show hidden items" to display it'},confirmations:{deleteMultipleFiles:"Are you sure you want to delete {count} files?",deleteConfirmation:"This action cannot be undone."},defaultNames:{untitled:"Untitled"}},dragDrop:{errors:{cannotMoveIntoSelf:"Cannot move a folder into itself or a subfolder.",itemAlreadyExists:'An item named "{name}" already exists in this location.',failedToMove:"Failed to move: {error}",failedToAddTag:'Failed to add tag "{tag}"',failedToSetProperty:"Failed to update property: {error}",failedToClearTags:"Failed to clear tags",failedToMoveFolder:'Failed to move folder "{name}"',failedToImportFiles:"Failed to import: {names}"},notifications:{filesAlreadyExist:"{count} files already exist in destination",filesAlreadyHaveTag:"{count} files already have this tag or a more specific one",filesAlreadyHaveProperty:"{count} files already have this property",noTagsToClear:"No tags to clear",fileImported:"Imported 1 file",filesImported:"Imported {count} files"}},dateGroups:{today:"Today",yesterday:"Yesterday",previous7Days:"Previous 7 days",previous30Days:"Previous 30 days"},commands:{open:"Open",toggleLeftSidebar:"Toggle left sidebar",openHomepage:"Open homepage",openDailyNote:"Open daily note",openWeeklyNote:"Open weekly note",openMonthlyNote:"Open monthly note",openQuarterlyNote:"Open quarterly note",openYearlyNote:"Open yearly note",revealFile:"Reveal file",search:"Search",searchVaultRoot:"Search in vault root",toggleDualPane:"Toggle dual pane layout",toggleDualPaneOrientation:"Toggle dual pane orientation",toggleCalendar:"Toggle calendar",selectVaultProfile:"Select vault profile",selectVaultProfile1:"Select vault profile 1",selectVaultProfile2:"Select vault profile 2",selectVaultProfile3:"Select vault profile 3",deleteFile:"Delete files",createNewNote:"Create new note",createNewNoteFromTemplate:"Create new note from template",moveFiles:"Move files",mergeNotes:"Merge notes",selectNextFile:"Select next file",selectPreviousFile:"Select previous file",navigateBack:"Navigate back",navigateForward:"Navigate forward",convertToFolderNote:"Convert to folder note",setAsFolderNote:"Set as folder note",detachFolderNote:"Detach folder note",pinAllFolderNotes:"Pin all folder notes",navigateToFolder:"Navigate to folder",navigateToTag:"Navigate to tag",navigateToProperty:"Navigate to property",addShortcut:"Add to shortcuts",openShortcut:"Open shortcut {number}",toggleDescendants:"Toggle descendants",toggleHidden:"Toggle hidden folders, tags, and notes",toggleTagSort:"Toggle tag sort order",toggleTagsBySelection:"Toggle tags by selection",togglePropertiesBySelection:"Toggle properties by selection",toggleCompactMode:"Toggle compact mode",togglePinnedSection:"Toggle pinned section",collapseExpand:"Collapse / expand all items",collapseExpandSelectedItem:"Collapse / expand selected item",addTag:"Add tag to selected files",setProperty:"Set property on selected files",removeTag:"Remove tag from selected files",removeAllTags:"Remove all tags from selected files",openAllFiles:"Open all files",rebuildCache:"Rebuild cache"},plugin:{viewName:"Notebook Navigator",calendarViewName:"Calendar",folderNoteSidebarViewName:"Folder note",ribbonTooltip:"Notebook Navigator",revealInNavigator:"Reveal in Notebook Navigator"},tooltips:{lastModifiedAt:"Last modified at",createdAt:"Created at",file:"file",files:"files",folder:"folder",folders:"folders",wordCount:"Word count"},fileCounts:{words:"{count} words",characters:"{count} chars",separator:" · "},settings:{changeDefaultSettings:"Change default settings",metadataReport:{exportSuccess:"Failed metadata report exported to: {filename}",exportFailed:"Failed to export metadata report"},sections:{general:"General",vaultFilters:"Display filters",appearanceBehavior:"Appearance & behavior",navigationPane:"Navigation pane",calendar:"Calendar",fileOperations:"File operations",icons:"Icon packs",folders:"Folders",folderNotes:"Folder notes",folderNoteFiles:"Folder note files",foldersAndFolderNotes:"Folders & folder notes",tagsAndProperties:"Tags & properties",tags:"Tags",listPane:"List pane",notes:"File display",shortcutsAndRecentFiles:"Shortcuts & recent files",advanced:"Advanced"},pageGroups:{configuration:"Configuration",navigationAndContent:"Navigation pane",notesAndLists:"List pane",calendarAndTools:"Calendar and tools"},pageDescriptions:{general:"Release notes, support, vault profile, file types, and property keys.",vaultFilters:"Hidden folders, tags, files, file tags, and property rules.",appearanceBehavior:"Behavior, keyboard navigation, mouse buttons, appearance, and formatting.",navigationPane:"Layout, appearance, note counts, collapse behavior, and rainbow colors.",shortcuts:"Shortcut visibility, badges, recent files, and pinned items.",calendar:"Calendar display, date notes, templates, locale, and sidebar placement.",fileOperations:"Template folder, delete confirmations, attachments, and file move conflict behavior.",foldersAndFolderNotes:"Folder display, folder notes, folder note templates, and folder note behavior.",tagsProperties:"Tag and property sections, icons, sorting, scope, and inheritance.",listPane:"Sorting, grouping, list modes, pinned notes, and drawing previews.",frontmatter:"Frontmatter fields for display names, timestamps, icons, and colors.",notes:"Titles, preview text, feature images, tags, properties, dates, word counts, and character counts.",iconPacks:"Interface icons, file icons, and icon pack management.",advanced:"Diagnostics, metadata cleanup, import/export, and reset."},groups:{general:{vaultConfiguration:"Vault setup",templates:"Templates",behavior:"Behavior",keyboardNavigation:"Keyboard navigation",mouseButtons:"Mouse buttons",view:"Appearance",icons:"Icons",desktopAppearance:"Desktop appearance",mobileAppearance:"Mobile appearance",formatting:"Formatting"},advanced:{maintenance:"Maintenance",resetSettings:"Reset settings"},navigation:{appearance:"Appearance",banner:"Banner",collapseItems:"Collapse items",dragAndDrop:"Drag and drop",noteCounts:"Note counts",rainbowColors:"Rainbow colors",leftSidebar:"Left sidebar",calendarIntegration:"Calendar integration"},list:{display:"Appearance",groupHeaders:"Group headers",propertySort:"Property sort",manualSort:"Manual sort",pinnedNotes:"Pinned notes",drawingPreviews:"Drawing previews"},notes:{frontmatter:"Frontmatter fields",tasks:"Tasks",icon:"Icon",title:"Title",previewText:"Preview text",featureImage:"Feature image",tags:"Tags",properties:"Properties",date:"Date",parentFolder:"Parent folder",wordCount:"Word and character count"}},syncMode:{notSynced:"(not synced)",switchToSynced:"Enable sync",switchToLocal:"Disable sync"},items:{listPaneTitle:{name:"List pane title",desc:"Choose where the list pane title is shown.",options:{header:"Show in header",list:"Show in list pane",hidden:"Do not show"}},sortNotesBy:{name:"Default sort order",desc:"Choose the default sort order for notes.",options:{"modified-desc":"Date edited (newest on top)","modified-asc":"Date edited (oldest on top)","created-desc":"Date created (newest on top)","created-asc":"Date created (oldest on top)","title-asc":"Title (A on top)","title-desc":"Title (Z on top)","filename-asc":"File name (A on top)","filename-desc":"File name (Z on top)"},directions:{asc:"Ascending",desc:"Descending"},fields:{modified:"Date edited",created:"Date created",title:"Title",filename:"File name",property:"Property"}},propertySortKey:{name:"Properties to sort by",desc:"Comma-separated frontmatter properties shown as property sort options. Array values are joined into a single string. These properties are not changed.",placeholder:"published, author"},propertySortSecondary:{name:"Secondary sort",desc:"Used with Property sort when notes have the same property value or no property value.",options:{title:"Title",filename:"File name",created:"Date created",modified:"Date edited"}},propertySortInstructions:{intro:"Each property listed above appears as a sort option in the sort menu in the list pane. Selecting one sorts notes by its frontmatter value."},manualSortPropertyKey:{name:"Manual sort property",desc:"Frontmatter property used to store numeric index values for manual sort."},manualSortGroupHeaderProperty:{name:"Group header property",desc:"Frontmatter property used to store custom group headers."},groupHeadersInstructions:{intro:"Custom group headers display above notes in the list pane.",items:["From the sort menu in the list pane, set grouping to **Custom**.","Right-click a note and choose **Set group header** to add a header above it."]},manualSortNewNotePlacement:{name:"New note placement",desc:"Choose where new notes are placed when the current list uses manual sort.",options:{top:"Top",bottom:"Bottom","below-selected-note":"Below selected note",unsorted:"Unsorted"}},confirmBeforeManualSort:{name:"Confirm before manual sort",desc:"Show a warning before writing the manual sort property to notes the first time. When disabled, notes receive the property without warning."},manualSortInstructions:{intro:"Manual sort writes a numeric index value to a frontmatter property on each note. Notes without an index appear under Unsorted.",items:["Enable manual sort by choosing **Manual sort** from the sort menu. After that, there are two ways to rearrange notes.","Pick **Edit sort order...** from the sort menu to open a reorder view. Drag notes with the mouse, or with touch on mobile. On desktop, **Cmd/Ctrl** or **Shift** click selects multiple notes, then dragging any of them moves the whole group.","In the list pane, select one note or multi-select several, then press **Cmd/Ctrl + Arrow Up/Down** to move the selection up or down."]},revealFileOnListChanges:{name:"Scroll to selected file on list changes",desc:"Scroll to the selected file when pinning notes, showing descendant notes, changing folder appearance, or running file operations."},includeDescendantNotes:{name:"Show notes from subfolders / descendants",desc:"Include notes from nested subfolders and tag and property descendants when viewing a folder, tag, or property."},limitPinnedToCurrentFolder:{name:"Only pin notes in their folder",desc:"Pinned notes appear pinned only in their own folder. Useful for folder notes or if you have many pinned notes. Does not affect tag or property views."},separateNoteCounts:{name:"Show current and descendant note counts separately",desc:'Display note counts as "current ▾ descendants" for folders, tags, and properties.'},groupNotes:{name:"Default grouping",desc:"Custom shows headers defined in frontmatter. Date groups notes by date. Folder groups notes by folder. Tag and property views use date groups when folder is selected.",options:{custom:"Custom",date:"Date",folder:"Folder"}},showSelectedNavigationPills:{name:"Always show all tag and property pills",desc:'When disabled, pills matching the current navigation selection are hidden (e.g. the "recipes" tag pill is hidden when browsing the "recipes" tag). Enable to keep all pills visible.'},stickyGroupHeaders:{name:"Sticky group headers",desc:"Keep the current date, folder, or pinned section header visible while scrolling."},showFolderGroupPaths:{name:"Show subfolder paths",desc:"When grouping by folder in the list pane, show subfolder paths instead of only folder names."},showCurrentFolderFilesAtBottom:{name:"Folder grouping: current folder files at bottom",desc:"When Default grouping is Folder, move files directly in the selected folder below subfolder groups."},defaultListMode:{name:"Default list mode",desc:"Select the default list layout. Standard shows title, date, description, and preview text. Compact shows title only. Override appearance per folder.",options:{standard:"Standard",compact:"Compact"}},showFileIcons:{name:"Show file icons",desc:"Display file icons with left-aligned spacing. Disabling removes both icons and indentation. Priority: unfinished tasks icon > custom icon > folder icon > file name icon > file type icon > default icon."},useFolderIcon:{name:"Use folder icon",desc:"Display the parent folder icon when no custom file icon is set. Folder color is used when no custom file color is set."},showFileIconUnfinishedTask:{name:"Unfinished task icon",desc:"Display a task icon when a note has unfinished tasks."},showFileBackgroundUnfinishedTask:{name:"Unfinished task background",desc:"Apply a background color when a note has unfinished tasks."},unfinishedTaskBackgroundColor:{name:"Unfinished task background color",desc:"Set the background color used when a note has unfinished tasks."},showFilenameMatchIcons:{name:"Icons by file name",desc:"Assign icons to files based on text in their names."},fileNameIconMap:{name:"File name icon map",desc:"Files containing the text get the specified icon. One mapping per line: text=icon",placeholder:`# Text=icon
meeting=ph-calendar
invoice=ph-receipt`,editTooltip:"Edit mappings"},showCategoryIcons:{name:"Icons by file type",desc:"Assign icons to files based on their extension."},fileTypeIconPreset:{name:"File icon preset",desc:"Choose the built-in icons or an icon pack preset. Custom extension rules override this preset.",options:{none:"Built-in icons"},notInstalledWarning:"This icon pack is not installed. Built-in icons are shown instead."},fileTypeIconMap:{name:"File type icon map",desc:"Files with the extension get the specified icon. One mapping per line: extension=icon",placeholder:`# Extension=icon
cpp=ph-file-code
pdf=ph-file-pdf`,editTooltip:"Edit mappings"},compactItemHeight:{name:"Compact item height",desc:"Set the height of compact list items on desktop and mobile (pixels).",resetTooltip:"Restore to default (28px)"},compactItemHeightScaleText:{name:"Scale text with compact item height",desc:"Scale compact list text when the item height is reduced."},showParentFolder:{name:"Show parent folder",desc:"Display the parent folder name for notes in subfolders, tags, or properties."},showParentFolderFullPath:{name:"Show full path",desc:"Display the full parent folder path instead of only the folder name."},parentFolderClickRevealsFile:{name:"Click parent folder to go to folder",desc:"Clicking the parent folder label opens the folder in list pane."},showParentFolderColor:{name:"Show parent folder color",desc:"Use folder colors on parent folder labels."},showParentFolderIcon:{name:"Show parent folder icon",desc:"Show folder icons next to parent folder labels."},showQuickActions:{name:"Show quick actions",desc:"Show action buttons when hovering over files. Button controls select which actions appear."},dualPane:{name:"Dual pane layout",desc:"Show navigation pane and list pane side by side on desktop."},dualPaneOrientation:{name:"Dual pane orientation",desc:"Choose horizontal or vertical layout when dual pane is active.",options:{horizontal:"Horizontal split",vertical:"Vertical split"}},narrowSidebarLayout:{name:"When sidebar is too narrow",desc:"Choose what happens when the navigation pane and list pane do not fit side by side.",options:{none:"Do nothing",singlePane:"Switch to single pane",vertical:"Switch to vertical split"}},narrowSidebarTrigger:{name:"Narrow sidebar threshold",desc:"Choose how the sidebar width threshold is calculated.",options:{fitPanes:"Fit panes",customWidth:"Custom width"}},narrowSidebarCustomWidth:{name:"Narrow sidebar threshold width",desc:"Switch when the sidebar is narrower than this width.",resetTooltip:"Reset to default width"},appearanceBackground:{name:"Background color",desc:"Choose background colors for navigation and list panes.",options:{separate:"Separate backgrounds",primary:"Use list background",secondary:"Use navigation background"}},appearanceScale:{name:"Zoom level",desc:"Controls the overall zoom level of Notebook Navigator (percentage)."},useFloatingToolbars:{name:"Use floating toolbars on iOS/iPadOS",desc:"Applies only on iOS and iPadOS."},startView:{name:"Default startup view",desc:"Choose which pane to display when opening Notebook Navigator. Navigation pane shows shortcuts, recent files, and folder tree. List pane shows file list immediately.",options:{navigation:"Navigation pane",files:"List pane"}},toolbarButtons:{name:"Toolbar buttons",desc:"Choose which buttons appear in the toolbar. Hidden buttons remain accessible via commands and menus.",navigationLabel:"Navigation toolbar",listLabel:"List toolbar"},createNewNotesInNewTab:{name:"Open new notes in new tab",desc:"When enabled, the Create new note command opens notes in a new tab. When disabled, notes replace the current tab."},autoRevealActiveNote:{name:"Auto-reveal active note",desc:"Automatically reveal notes when opened from Quick Switcher, links, or search."},autoRevealShortestPath:{name:"Auto-reveal: Use shortest path",desc:"Enabled: Auto-reveal selects the nearest visible ancestor folder or tag. Disabled: Auto-reveal selects the file's actual folder and exact tag."},autoRevealIgnoreRightSidebar:{name:"Auto-reveal: Ignore events from right sidebar",desc:"Do not change active note when clicking or changing notes in the right sidebar."},autoRevealIgnoreOtherWindows:{name:"Auto-reveal: Ignore events from other windows",desc:"Do not change active note when clicking or changing notes in another window."},paneTransitionDuration:{name:"Single pane animation",desc:"Transition duration when switching panes in single-pane mode (milliseconds).",resetTooltip:"Reset to default"},autoSelectFirstFileOnFocusChange:{name:"Auto-select first note",desc:"Automatically open the first note when switching folders, tags, or properties."},skipAutoScroll:{name:"Disable auto-scroll for shortcuts",desc:"Don't scroll the navigation pane when clicking items in shortcuts."},autoExpandNavItems:{name:"Expand on selection",desc:"Expand folders, tags, and properties when selected. In single pane mode, first selection expands, second selection shows files."},collapseOtherBranchesOnExpand:{name:"One expanded branch",desc:"Collapse other branches in the same tree when expanding a folder, tag, or property."},springLoadedFolders:{name:"Spring-loaded folders",desc:"Expand folders and tags on hover during drag operations."},springLoadedFoldersInitialDelay:{name:"Spring-loaded folders: First expand delay",desc:"Delay before the first folder or tag expands during a drag operation (seconds)."},springLoadedFoldersSubsequentDelay:{name:"Spring-loaded folders: Subsequent expand delay",desc:"Delay before expanding additional folders or tags during the same drag operation (seconds)."},navigationBanner:{name:"Navigation banner (vault profile)",desc:"Display an image above the navigation pane. Changes with the selected vault profile.",current:"Current banner: {path}",chooseButton:"Choose image"},pinNavigationBanner:{name:"Pin banner",desc:"Pin the navigation banner above the navigation tree."},showShortcuts:{name:"Show shortcuts",desc:"Display the shortcuts section in the navigation pane."},shortcutBadgeDisplay:{name:"Shortcut badge",desc:"What to display next to shortcuts. Use 'Open shortcut 1-9' commands to open shortcuts directly.",options:{index:"Position (1-9)",count:"Item counts",none:"None"}},showRecentNotes:{name:"Show recent files",desc:"Display the recent files section in the navigation pane."},hideRecentNotes:{name:"Hide file types from recent files",desc:"Choose which file types to hide in the recent files section.",options:{none:"None",folderNotes:"Folder notes"}},recentNotesCount:{name:"Recent files count",desc:"Number of recent files to display."},pinRecentNotesWithShortcuts:{name:"Pin recent files with shortcuts",desc:"Include recent files when shortcuts are pinned."},calendarEnabled:{name:"Enable calendar",desc:"Enable calendar features of Notebook Navigator."},calendarPlacement:{name:"Calendar placement",desc:"Display in the left or right sidebar.",options:{leftSidebar:"Left sidebar",rightSidebar:"Right sidebar"}},calendarLeftPlacement:{name:"Single pane placement",desc:"Where the calendar is shown in single pane mode.",options:{navigationPane:"Navigation pane",below:"Below panes"}},calendarLocale:{name:"Locale",desc:"Controls calendar date formatting, week numbering, and first day of the week.",weekPathMismatchWarning:"The visible calendar and weekly note paths use different week starts or week numbering.",options:{systemDefault:"Default"}},calendarWeekendDays:{name:"Weekend days",desc:"Show weekend days with a different background color.",options:{none:"None",satSun:"Saturday and Sunday",friSat:"Friday and Saturday",thuFri:"Thursday and Friday"}},calendarMonthHeadingFormat:{name:"Month name format",desc:"Long (January) or short (Jan) month name.",options:{full:"January (full)",short:"Jan (short)"}},showInfoButtons:{name:"Show info buttons",desc:"Display info buttons in the search bar and calendar header."},calendarWeeksToShow:{name:"Weeks to show in left sidebar",desc:"Calendar in the right sidebar always displays the full month.",options:{fullMonth:"Full month",oneWeek:"1 week",weeksCount:"{count} weeks"}},calendarHighlightToday:{name:"Highlight today's date",desc:"Highlight today's date with a background color and bold text."},calendarShowFeatureImage:{name:"Show feature image",desc:"Display feature images for notes in the calendar."},calendarShowWeekNumber:{name:"Show week number",desc:"Add a column with the week number."},calendarShowQuarter:{name:"Show quarter",desc:"Add a quarter label in the calendar header."},calendarShowYearCalendar:{name:"Show year calendar",desc:"Display year navigation and month grid in the right sidebar."},calendarConfirmBeforeCreate:{name:"Confirm before creating new note",desc:"Show a confirmation dialog when creating a new daily note."},calendarIntegrationMode:{name:"Daily note source",desc:"Source for calendar notes.",options:{dailyNotes:"Daily notes (core plug-in)",notebookNavigator:"Notebook Navigator"},info:{dailyNotes:"Folder and date format are configured in the Daily Notes core plugin."}},calendarPeriodicNotesLocale:{name:"Periodic notes locale",desc:"Controls localized month names, weekday names, week numbers, and week starts in Notebook Navigator periodic note paths.",options:{calendar:"Calendar",obsidian:"Obsidian"}},calendarCustomRootFolder:{name:"Root folder (vault profile)",desc:"Base folder for periodic notes. Date patterns can include subfolders. Changes with the selected vault profile.",placeholder:"Personal/Diary"},calendarTemplateFolder:{name:"Template folder location",desc:"Template file picker shows notes from this folder.",placeholder:"Templates",usage:"Used by calendar notes and folder notes. Configure templates in Calendar > Calendar integration and Folders & folder notes > Folder note files."},calendarCustomFilePattern:{name:"Daily notes",desc:"Format path using Moment date format. Wrap subfolder names in brackets, e.g., [Work]/YYYY. Click template icon to set template. Set template folder location in File operations > Templates.",momentDescPrefix:"Format path using ",momentLinkText:"Moment date format",momentDescSuffix:". Wrap subfolder names in brackets, e.g., [Work]/YYYY. Click template icon to set template. Set template folder location in File operations > Templates.",templaterSupportInstalled:"✅ Templater plugin is installed with full template support.",templaterSupportMissing:"⚠️ Install Templater plugin for full template support.",placeholder:"YYYY/YYYYMMDD",example:"Current syntax: {path}",parsingError:"Pattern must format and parse back to a full date (year, month, day)."},calendarCustomWeekPattern:{name:"Weekly notes",parsingError:"Pattern must format and parse back to a full week (week year, week number).",weekPathMismatchWarning:'Weekly note paths use the periodic notes locale. Use matching locales, or use "GGGG" with "WW" for Monday-based weeks.',mixedWeekTokensWarning:'This pattern mixes Monday-based week tokens ("W" or "G") with locale-based week tokens ("w" or "g"). Use one set consistently: "GGGG" with "WW" for Monday-based weeks, or "gggg" with "ww" if weekly notes should follow the selected locale.'},calendarCustomMonthPattern:{name:"Monthly notes",parsingError:"Pattern must format and parse back to a full month (year, month)."},calendarCustomQuarterPattern:{name:"Quarterly notes",parsingError:"Pattern must format and parse back to a full quarter (year, quarter)."},calendarCustomYearPattern:{name:"Yearly notes",parsingError:"Pattern must format and parse back to a full year (year)."},calendarTemplateFile:{current:"Template file: {name}"},showTooltips:{name:"Show tooltips",desc:"Display hover tooltips with additional information for notes and folders."},showTooltipPath:{name:"Show path in tooltips",desc:"Display the folder path below note names in tooltips."},showTooltipWordCount:{name:"Show word count in tooltips",desc:"Display note word counts in tooltips."},resetPaneSeparator:{name:"Reset pane separator position",desc:"Reset the draggable separator between navigation pane and list pane to default position.",buttonText:"Reset separator",notice:"Separator position reset. Restart Obsidian or reopen Notebook Navigator to apply."},settingsTransfer:{name:"Import and export settings",desc:"Export or import Notebook Navigator settings as JSON. Importing replaces all settings.",importButtonText:"Import",exportButtonText:"Export",import:{modalTitle:"Import settings",fileButtonName:"Import from file",fileButtonDesc:"Load a JSON file from disk.",fileButtonText:"Import from file",editorName:"JSON",editorDesc:"Paste or edit JSON below. Settings not included are reset to defaults.",placeholder:`{
  "folderSortOrder": "alpha-desc"
}`,confirmButtonText:"Import",successNotice:"Settings imported.",errorNotice:"Failed to import settings: {message}",fileReadError:"Could not read file: {message}"},export:{modalTitle:"Export settings",editorName:"JSON",editorDesc:"Only settings changed from defaults are included.",placeholder:"{}",copyButtonText:"Copy to clipboard",downloadButtonText:"Download",copyNotice:"Settings copied to clipboard.",downloadNotice:"Settings exported.",downloadError:"Failed to download settings: {message}"}},resetAllSettings:{name:"Reset all settings",desc:"Reset all Notebook Navigator settings to default values.",buttonText:"Reset all settings",confirmTitle:"Reset all settings?",confirmMessage:"This will reset all Notebook Navigator settings to their default values. This cannot be undone.",confirmButtonText:"Reset all settings",notice:"All settings reset. Restart Obsidian or reopen Notebook Navigator to apply.",error:"Failed to reset settings."},multiSelectModifier:{name:"Multi-select modifier",desc:"Choose which modifier key toggles multi-selection. When Option/Alt is selected, Cmd/Ctrl click opens notes in a new tab.",options:{cmdCtrl:"Cmd/Ctrl click",optionAlt:"Option/Alt click"}},enterToOpenFiles:{name:"Press Enter to open files",desc:"Open files only when pressing Enter during list keyboard navigation. On macOS, this stops Enter from renaming files."},shiftEnterOpenContext:{name:"Shift+Enter",desc:"Choose whether Shift+Enter opens or renames the selected file."},cmdEnterOpenContext:{name:"Cmd+Enter",desc:"Choose whether Cmd+Enter opens or renames the selected file."},ctrlEnterOpenContext:{name:"Ctrl+Enter",desc:"Choose whether Ctrl+Enter opens or renames the selected file."},mouseBackForwardAction:{name:"Mouse back/forward buttons",desc:"Action for mouse back and forward buttons on desktop.",options:{none:"Use system default",singlePaneSwitch:"Switch panes (single-pane)",history:"Navigate history"}},fileVisibility:{name:"Show file types (vault profile)",desc:"Filter which file types are shown in the navigator. File types not supported by Obsidian may open in external applications.",options:{documents:"Documents (.md, .canvas, .base)",supported:"Supported (opens in Obsidian)",all:"All (may open externally)"}},homepage:{name:"Homepage",desc:"Choose what Notebook Navigator opens automatically on startup.",current:"Current: {path}",chooseButton:"Choose file",options:{none:"None",file:"File",dailyNote:"Daily note",weeklyNote:"Weekly note",monthlyNote:"Monthly note",quarterlyNote:"Quarterly note",yearlyNote:"Yearly note"},file:{name:"Homepage: Startup file",empty:"No file selected"},createMissing:{name:"Homepage: Create note if missing",desc:"Create the periodic note on startup or command if it does not exist."}},excludedNotes:{name:"Hide notes with property rules (vault profile)",desc:"Comma-separated list of frontmatter rules. Use `key` or `key=value` entries (e.g., status=done, published=true, archived).",placeholder:"status=done, published=true, archived"},excludedFileNamePatterns:{name:"Hide files (vault profile)",desc:"Comma-separated list of filename patterns to hide. Supports * wildcards and / paths (e.g., temp-*, *.png, /assets/*).",placeholder:"temp-*, *.png, /assets/*"},vaultProfiles:{name:"Vault profile",desc:"Profiles store file type visibility, hidden files, hidden folders, hidden tags, property rules for hidden notes, shortcuts, and navigation banner. Switch profiles from the navigation pane header.",defaultName:"Default",addButton:"Add profile",editProfilesButton:"Edit profiles",addProfileOption:"Add profile...",applyButton:"Apply",deleteButton:"Delete profile",addModalTitle:"Add profile",editProfilesModalTitle:"Edit profiles",addModalPlaceholder:"Profile name",deleteModalTitle:"Delete {name}",deleteModalMessage:"Remove {name}? Hidden file, folder, tag, and property-based note filters saved in this profile will be deleted.",moveUp:"Move up",moveDown:"Move down",errors:{emptyName:"Enter a profile name",duplicateName:"Profile name already exists"}},vaultTitle:{name:"Vault title placement",desc:"Choose where the vault title is shown.",options:{header:"Show in header",navigation:"Show in navigation pane"}},excludedFolders:{name:"Hide folders (vault profile)",desc:"Comma-separated list of folders to hide. Name patterns: assets* (folders starting with assets), *_temp (ending with _temp). Path patterns: /archive (root archive only), /res* (root folders starting with res), /*/temp (temp folders one level deep), /projects/* (all folders inside projects).",placeholder:"templates, assets*, /archive, /res*"},showFileDate:{name:"Show date",desc:"Display the date below note names."},alphabeticalDateMode:{name:"When sorting by name",desc:"Date to show when notes are alphabetically sorted.",options:{created:"Created date",modified:"Modified date"}},showFileTags:{name:"Show file tags",desc:"Display clickable tags in file items."},showFileTagAncestors:{name:"Show full tag paths",desc:"Display complete tag hierarchy paths. When enabled: 'ai/openai', 'work/projects/2024'. When disabled: 'openai', '2024'."},colorFileTags:{name:"Color file tags",desc:"Apply tag colors to tag badges on file items."},prioritizeColoredFileTags:{name:"Show colored tags first",desc:"Sort colored tags before other tags on file items."},showFileTagsInCompactMode:{name:"Show file tags in compact mode",desc:"Display tags when date, preview, and image are hidden."},showFileProperties:{name:"Show file properties",desc:"Display properties on file items. Use the property key visibility modal to choose which properties are shown."},colorFileProperties:{name:"Color file properties",desc:"Apply property colors to property badges on file items."},prioritizeColoredFileProperties:{name:"Show colored properties first",desc:"Sort colored properties before other properties on file items."},showFilePropertiesInCompactMode:{name:"Show properties in compact mode",desc:"Display properties when compact mode is active."},propertyFields:{name:"Property keys (vault profile)",desc:"Frontmatter property keys, with per-key visibility for navigation and file list.",addButtonTooltip:"Configure property keys",noneConfigured:"No properties configured",singleConfigured:"1 property configured: {properties}",multipleConfigured:"{count} properties configured: {properties}"},showPropertiesOnSeparateRows:{name:"Show properties on separate rows",desc:"Display each property on its own row."},enablePropertyInternalLinks:{name:"Link property pills to notes",desc:"Click a property pill to open the linked note."},enablePropertyExternalLinks:{name:"Link property pills to URLs",desc:"Click a property pill to open the linked URL."},textCountDisplay:{name:"Count type",desc:"Choose which note counts appear in file items.",options:{none:"None",words:"Word count",characters:"Character count",both:"Word and character count"}},textCountPlacement:{name:"Placement",desc:"Choose where note counts appear.",options:{title:"In title",property:"As property"}},characterCountSpaces:{name:"Character count",desc:"Choose whether spaces are included in character counts.",options:{include:"Including spaces",exclude:"Excluding spaces"}},wordCountTargetProperty:{name:"Target property",desc:"Frontmatter property key containing the target word count. Leave empty to hide targets."},showWordCountPercentage:{name:"Show target percentage",desc:"Display only the progress percentage when a target word count is available."},dateFormat:{name:"Date format",desc:"Format for displaying dates (uses Moment format).",placeholder:"MMM D, YYYY",help:`Common formats:
MMM D, YYYY = May 25, 2022
DD/MM/YYYY = 25/05/2022
YYYY-MM-DD = 2022-05-25

Tokens:
YYYY/YY = year
MMMM/MMM/MM = month
DD/D = day
dddd/ddd = weekday`,helpTooltip:"Format using Moment",momentLinkText:"Moment format"},timeFormat:{name:"Time format",desc:"Format for displaying times (uses Moment format).",placeholder:"h:mm a",help:`Common formats:
h:mm a = 2:30 PM (12-hour)
HH:mm = 14:30 (24-hour)
h:mm:ss a = 2:30:45 PM
HH:mm:ss = 14:30:45

Tokens:
HH/H = 24-hour
hh/h = 12-hour
mm = minutes
ss = seconds
a = AM/PM`,helpTooltip:"Format using Moment",momentLinkText:"Moment format"},showFilePreview:{name:"Show note preview",desc:"Display preview text beneath note names."},skipHeadingsInPreview:{name:"Skip headings in preview",desc:"Skip heading lines when generating preview text."},skipCodeBlocksInPreview:{name:"Skip code blocks in preview",desc:"Skip code blocks when generating preview text."},stripHtmlInPreview:{name:"Strip HTML in previews",desc:"Remove HTML tags from preview text. May affect performance on large notes."},stripLatexInPreview:{name:"Strip LaTeX in previews",desc:"Remove inline and block LaTeX expressions from preview text."},previewProperties:{name:"Preview properties",desc:"Comma-separated list of frontmatter properties to check for preview text. The first property with text will be used.",placeholder:"summary, description, abstract"},previewPropertiesFallback:{name:"Fall back to note content",desc:"Show note content as preview when none of the specified properties contain text."},previewRows:{name:"Preview rows",desc:"Number of rows to display for preview text.",options:{1:"1 row",2:"2 rows",3:"3 rows",4:"4 rows",5:"5 rows"}},fileNameRows:{name:"Title rows",desc:"Number of rows to display for note titles.",options:{1:"1 row",2:"2 rows",3:"3 rows"}},useFolderColor:{name:"Use folder color",desc:"Color note titles and file icons with their parent folder color when no custom file color is set. Priority: custom file color > folder color > default color."},showFeatureImage:{name:"Show feature image",desc:"Display a thumbnail of the first image found in the note."},forceSquareFeatureImage:{name:"Force square feature image",desc:"Render feature images as square thumbnails."},featureImageProperties:{name:"Image properties",desc:"Comma-separated list of frontmatter properties to check first. Falls back to the first image in markdown content.",placeholder:"thumbnail, featureResized, feature"},featureImageExcludeProperties:{name:"Exclude notes with properties",desc:"Comma-separated list of frontmatter properties. Notes containing any of these properties do not store feature images.",placeholder:"private, confidential"},featureImageSize:{name:"Feature image display size",desc:"Maximum rendered size for feature images in note lists.",options:{standard:"64 px",large:"96 px",extraLarge:"128 px"}},featureImagePixelSize:{name:"Feature image pixel size",desc:"Resolution used when generating stored feature-image thumbnails. Increase this if larger previews look blurry.",options:{standard:"256 x 144 px",large:"384 x 216 px",extraLarge:"512 x 288 px"}},downloadExternalFeatureImages:{name:"Download external images",desc:"Download remote images and YouTube thumbnails for feature images."},hideDrawingPreviewImages:{name:"Hide exported preview images",desc:"Hide exported drawing preview PNG files. Turn on Show hidden items to display them."},drawingIntegrationInfo:{intro:"Notebook Navigator shows PNG files exported by Excalidraw as drawing previews.",items:["In **Excalidraw settings**, open **Embedding Excalidraw into your Notes and Exporting**, then **Export Settings**, then **Auto-export Settings**.","Enable **Auto-export PNG**. Optionally enable **Export both dark- and light-themed image**.","Notebook Navigator looks for **Drawing.excalidraw.png**, **Drawing.excalidraw.dark.png**, or **Drawing.excalidraw.light.png**.","While **Hide exported preview images** is on, the PNG files appear only when **Show hidden items** is also on."]},showRootFolder:{name:"Show root folder",desc:"Display the vault name as the root folder in the tree."},showFolderIcons:{name:"Show folder icons",desc:"Display icons next to folders in the navigation pane."},inheritFolderColors:{name:"Inherit folder colors",desc:"Child folders inherit color from parent folders."},folderSortOrder:{name:"Folder sort order",desc:"Right-click any folder to set a different sort order for its children.",options:{alphaAsc:"A to Z",alphaDesc:"Z to A"}},showNoteCount:{name:"Show note count",desc:"Display note counts next to folders, tags, and properties."},showSectionIcons:{name:"Show icons for shortcuts and recent items",desc:"Display icons next to items in the Shortcuts and Recent sections."},interfaceIcons:{name:"Interface icons",desc:"Edit toolbar, folder, tag, property, pinned, search, and sort icons.",buttonText:"Edit icons"},showIconsColorOnly:{name:"Apply color to icons only",desc:"When enabled, custom colors are applied only to icons. When disabled, colors are applied to both icons and text labels."},navRainbowMode:{name:"Rainbow color mode (vault profile)",desc:"Apply rainbow colors in the navigation pane.",options:{none:"Off",foreground:"Text color",background:"Background color"}},navRainbowFirstColor:{name:"First color",desc:"First color in the rainbow gradient."},navRainbowLastColor:{name:"Last color",desc:"Last color in the rainbow gradient."},navRainbowTransitionStyle:{name:"Transition style",desc:"Interpolation used between the first and last colors.",options:{hue:"Hue",rgb:"RGB"}},navRainbowApplyToShortcuts:{name:"Apply to shortcuts",desc:"Apply rainbow colors to shortcuts."},navRainbowApplyToRecent:{name:"Apply to recent items",desc:"Apply rainbow colors to recent items."},navRainbowApplyToFolders:{name:"Apply to folders",desc:"Apply rainbow colors to folders."},navRainbowFolderScope:{name:"Folder scope",desc:"Select which folder levels start color assignments.",options:{root:"Root level",child:"Child level",all:"Every level"}},navRainbowApplyToTags:{name:"Apply to tags",desc:"Apply rainbow colors to tags."},navRainbowTagScope:{name:"Tag scope",desc:"Select which tag levels start color assignments.",options:{root:"Root level",child:"Child level",all:"Every level"}},navRainbowApplyToProperties:{name:"Apply to properties",desc:"Apply rainbow colors to properties."},navRainbowBalanceHueLuminance:{name:"Consistent brightness across hues",desc:"Interpolates brightness between the start and end colors during hue transitions."},navRainbowSeparateThemeColors:{name:"Separate light and dark mode colors",desc:"Use different rainbow colors for light mode and dark mode."},navRainbowCopyLightToDark:"Copy light mode color to dark mode",navRainbowPropertyScope:{name:"Property scope",desc:"Select which property levels start color assignments.",options:{root:"Root level",child:"Child level",all:"Every level"}},collapseBehavior:{name:"Collapse items",desc:"Choose what the expand/collapse all button affects.",options:{all:"All",foldersOnly:"Folders only",tagsOnly:"Tags only",propertiesOnly:"Properties only"}},smartCollapse:{name:"Keep selected item expanded",desc:"When collapsing, keep the selected item and its parents expanded."},excludeVaultRootFromCollapse:{name:"Skip vault root when collapsing",desc:"When collapsing all items, leave the vault root folder in its current state."},navIndent:{name:"Tree indentation",desc:"Adjust the indentation width for nested folders, tags, and properties (pixels)."},navItemHeight:{name:"Item height",desc:"Adjust the height of folders, tags, and properties in the navigation pane (pixels)."},navItemHeightScaleText:{name:"Scale text with item height",desc:"Reduce navigation text size when item height is decreased."},showIndentGuides:{name:"Show indent guides",desc:"Display indent guides for nested folders, tags, and properties."},navCountLeaderStyle:{name:"Show leaders",desc:"Display dots, dashes, or a line between item names and note counts.",options:{none:"None",dots:"Dots (...)",dashes:"Dashes (---)",line:"Line"}},navRootSpacing:{name:"Root item spacing",desc:"Spacing between root-level folders, tags, and properties (pixels)."},showTags:{name:"Show tags",desc:"Display tags section in the navigator."},showTagIcons:{name:"Show tag icons",desc:"Display icons next to tags in the navigation pane."},inheritTagColors:{name:"Inherit tag colors",desc:"Child tags inherit color from parent tags."},tagSortOrder:{name:"Tag sort order",desc:"Right-click any tag to set a different sort order for its children.",options:{alphaAsc:"A to Z",alphaDesc:"Z to A",frequency:"Frequency",lowToHigh:"low to high",highToLow:"high to low"}},showAllTagsFolder:{name:"Show tags folder",desc:'Display "Tags" as a collapsible folder.'},showUntagged:{name:"Show untagged notes",desc:'Display "Untagged" item for notes without any tags.'},scopeTagsToCurrentContext:{name:"Filter tags by selection",desc:"Only show tags that appear in notes within the selected folder or property."},keepEmptyTagsProperty:{name:"Retain tags property after removing last tag",desc:"Keep the tags frontmatter property when all tags are removed. When disabled, the tags property is deleted from frontmatter."},showProperties:{name:"Show properties",desc:"Display properties section in the navigator.",propertyKeysInfoPrefix:"Configure properties in ",propertyKeysInfoLinkText:"Start > Property keys",propertyKeysInfoSuffix:""},showPropertyIcons:{name:"Show property icons",desc:"Display icons next to properties in the navigation pane."},inheritPropertyColors:{name:"Inherit property colors",desc:"Property values inherit color and background from their property key."},propertySortOrder:{name:"Property sort order",desc:"Right-click any property to set a different sort order for its values.",options:{alphaAsc:"A to Z",alphaDesc:"Z to A",frequency:"Frequency",lowToHigh:"low to high",highToLow:"high to low"}},showAllPropertiesFolder:{name:"Show properties folder",desc:'Display "Properties" as a collapsible folder.'},scopePropertiesToCurrentContext:{name:"Filter properties by selection",desc:"Only show properties that appear in notes within the selected folder or tag."},hiddenTags:{name:"Hide tags (vault profile)",desc:"Comma-separated list of tag patterns. Name patterns: tag* (starting with), *tag (ending with). Path patterns: archive (tag and descendants), archive/* (descendants only), projects/*/drafts (mid-segment wildcard).",placeholder:"archive*, *draft, projects/*/old"},hiddenFileTags:{name:"Hide notes with tags (vault profile)",desc:"Comma-separated list of tag patterns. Notes containing matching tags are hidden. Name patterns: tag* (starting with), *tag (ending with). Path patterns: archive (tag and descendants), archive/* (descendants only), projects/*/drafts (mid-segment wildcard).",placeholder:"archive*, *draft, projects/*/old"},enableFolderNotes:{name:"Enable folder notes",desc:"Folders with a matching note file are displayed as clickable links."},folderNoteType:{name:"Default folder note type",desc:"Folder note type created from the context menu.",options:{ask:"Ask when creating",markdown:"Markdown",canvas:"Canvas",base:"Base"}},folderNoteName:{name:"Folder note name",desc:"Name of the folder note without extension. Leave empty to use the same name as the folder.",placeholder:"index"},folderNoteNamePattern:{name:"Folder note name pattern",desc:"Name pattern for folder notes without extension. Use {{folder}} to insert the folder name. When set, Folder note name does not apply."},folderNoteTemplate:{name:"Folder note template",desc:"Template file used when creating folder notes. Markdown templates can use Templater. Canvas and Base templates are copied as file content. Set template folder location in File operations > Templates.",formatWarning:"Template format must match the selected folder note type: .md, .canvas, or .base."},enableFolderNoteLinks:{name:"Folder names open folder notes",desc:"Clicking a folder name opens its folder note. When off, folder notes only provide folder metadata such as name, icon, and color."},hideFolderNoteInList:{name:"Hide folder notes in list",desc:"Hide folder notes from appearing in the file list."},pinCreatedFolderNote:{name:"Pin created folder notes",desc:"Pin folder notes when created from the context menu."},folderNoteOpenLocation:{name:"Open folder notes in",desc:"Choose where folder notes open when clicking folder-note links.",options:{currentTab:"Current tab",newTab:"New tab",rightSidebar:"Right sidebar"}},showNearestFolderNoteInSidebar:{name:"Right sidebar: Show closest folder note",desc:"When a folder is selected, the right sidebar automatically shows the nearest ancestor folder note."},confirmBeforeDelete:{name:"Confirm before deleting",desc:"Show confirmation dialog when deleting notes or folders"},deleteAttachments:{name:"Delete attachments when deleting files",desc:"Automatically remove linked attachments and generated drawing previews if they're not used elsewhere",options:{ask:"Ask each time",always:"Always",never:"Never"}},moveFileConflicts:{name:"Move conflicts",desc:"When moving a file into a folder where a file with the same name already exists. Ask each time (rename, overwrite, cancel) or always rename.",options:{ask:"Ask each time",rename:"Always rename"}},metadataCleanup:{name:"Clean up metadata",desc:"Removes orphaned metadata left behind when files, folders, tags, or properties are deleted, moved, or renamed outside of Obsidian. This only affects the Notebook Navigator settings file.",buttonText:"Clean metadata",error:"Settings cleanup failed",loading:"Checking metadata...",statusClean:"No metadata to clean",statusCounts:"Orphaned items: {folders} folders, {tags} tags, {properties} properties, {files} files, {pinned} pins, {separators} separators"},rebuildCache:{name:"Rebuild cache",desc:"Use this if you experience missing tags, incorrect previews or missing feature images. This can happen after sync conflicts or unexpected closures.",buttonText:"Rebuild cache",error:"Failed to rebuild cache",indexingTitle:"Indexing vault...",progress:"Updating Notebook Navigator cache."},externalIcons:{downloadButton:"Download",downloadingLabel:"Downloading...",removeButton:"Remove",statusInstalled:"Downloaded (version {version})",statusNotInstalled:"Not downloaded",versionUnknown:"unknown",downloadFailed:"Failed to download {name}. Check your connection and try again.",removeFailed:"Failed to remove {name}.",infoNote:"Downloaded icon packs sync installation state across devices. Icon packs stay in the local database on each device; sync only tracks whether to download or remove them. Icon packs download from the Notebook Navigator repository (https://github.com/johansan/notebook-navigator/tree/main/icon-assets)."},useFrontmatterDates:{name:"Use frontmatter metadata",desc:"Use frontmatter for note name, timestamps, icons, and colors"},frontmatterIconField:{name:"Icon field",desc:"Frontmatter field for file icons. Leave empty to use icons stored in settings.",placeholder:"icon"},frontmatterColorField:{name:"Color field",desc:"Frontmatter field for file colors. Leave empty to use colors stored in settings.",placeholder:"color"},frontmatterBackgroundField:{name:"Background field",desc:"Frontmatter field for background colors. Leave empty to use background colors stored in settings.",placeholder:"background"},frontmatterMigration:{name:"Migrate icons and colors from settings",desc:"Stored in settings: {icons} icons, {colors} colors.",button:"Migrate",buttonWorking:"Migrating...",noticeNone:"No file icons or colors stored in settings.",noticeDone:"Migrated {migratedIcons}/{icons} icons, {migratedColors}/{colors} colors.",noticeFailures:"Failed entries: {failures}.",noticeError:"Migration failed. Check console for details."},frontmatterNameField:{name:"Name fields",desc:"Comma-separated list of frontmatter fields. First non-empty value is used. Falls back to file name.",placeholder:"title, name"},frontmatterCreatedField:{name:"Created timestamp field",desc:"Frontmatter field name for the created timestamp. Leave empty to only use file system date.",placeholder:"created"},frontmatterModifiedField:{name:"Modified timestamp field",desc:"Frontmatter field name for the modified timestamp. Leave empty to only use file system date.",placeholder:"modified"},frontmatterDateFormat:{name:"Timestamp format",desc:"Format used to parse timestamps in frontmatter. Leave empty to use ISO 8601 parsing.",helpTooltip:"Format using Moment",momentLinkText:"Moment format",help:`Common formats:
YYYY-MM-DD[T]HH:mm:ss → 2025-01-04T14:30:45
YYYY-MM-DD[T]HH:mm:ssZ → 2025-08-07T16:53:39+02:00
DD/MM/YYYY HH:mm:ss → 04/01/2025 14:30:45
MM/DD/YYYY h:mm:ss a → 01/04/2025 2:30:45 PM`},supportDevelopment:{name:"Support development",desc:"If you love using Notebook Navigator, please consider supporting its continued development.",buttonText:"❤️ Sponsor",coffeeButton:"☕️ Buy me a coffee"},updateCheckOnStart:{name:"Check for new version on start",desc:"Checks for new plugin releases on startup and shows a notification when an update is available. Checks occur at most once per day.",status:"New version available: {version}"},debugLogging:{name:"Startup debug logging",desc:"Write startup diagnostics to a timestamped markdown file in the vault root, then stop after startup settles. The file may sync and can include file paths."},whatsNew:{name:"What's new in Notebook Navigator {version}",desc:"See recent updates and improvements",buttonText:"View recent updates"},masteringVideo:{name:"Mastering Notebook Navigator (video)",desc:"This video covers everything you need to be productive in Notebook Navigator, including hot keys, search, tags and advanced customization."},cacheStatistics:{localCache:"Local cache",items:"items",withTags:"with tags",withPreviewText:"with preview text",withFeatureImage:"with feature image",withMetadata:"with metadata"},metadataInfo:{successfullyParsed:"Successfully parsed",itemsWithName:"items with name",withCreatedDate:"with created date",withModifiedDate:"with modified date",withIcon:"with icon",withColor:"with color",failedToParse:"Failed to parse",createdDates:"created dates",modifiedDates:"modified dates",checkTimestampFormat:"Check your timestamp format.",exportFailed:"Export errors"}}},whatsNew:{title:"What's new in Notebook Navigator",openBannerImage:"Open release banner image",supportMessage:"If you find Notebook Navigator helpful, please consider supporting its development.",supportButton:"Buy me a coffee",thanksButton:"Thanks!"}}});var F1={};In(F1,{STRINGS_AR:()=>Hie});var Hie,P1=U(()=>{Hie={common:{cancel:"إلغاء",delete:"حذف",clear:"مسح",remove:"إزالة",restoreDefault:"استعادة الافتراضي",submit:"إرسال",save:"حفظ",configure:"تكوين",lightMode:"الوضع الفاتح",darkMode:"الوضع الداكن",noSelection:"لا يوجد تحديد",untagged:"بدون وسم",featureImageAlt:"صورة مميزة",unknownError:"خطأ غير معروف",clipboardWriteError:"تعذرت الكتابة إلى الحافظة",updateBannerTitle:"تحديث متصفح الدفتر متاح",updateBannerInstruction:"قم بالتحديث في الإعدادات -> إضافات المجتمع",previous:"السابق",next:"التالي"},listPane:{emptyStateNoSelection:"اختر مجلدًا أو وسمًا لعرض الملاحظات",emptyStateNoNotes:"لا توجد ملاحظات",pinnedSection:"مثبت",notesSection:"ملاحظات",filesSection:"ملفات",hiddenItemAriaLabel:"{name} (مخفي)",collapseGroup:"طي المجموعة",expandGroup:"توسيع المجموعة",manualSortTitle:"فرز يدوي: {property}",manualSortHint:'اسحب لإعادة الترتيب. يتم حفظ الترتيب كقيم رقمية للفهرس في الخاصية "{property}".',manualSortNonMarkdownHint:"الملفات غير Markdown تظهر في الأسفل ولا يمكن إعادة ترتيبها.",unsortedSection:"غير مرتبة",manualSortDone:"تم",manualSortMultipleWriteFailure:"فشل {count} من الملفات؛ الأول: {path}: {message}"},tagList:{untaggedLabel:"بدون وسم",tags:"وسوم"},navigationPane:{shortcutsHeader:"اختصارات",recentFilesHeader:"ملفات حديثة",properties:"الخصائص",reorderRootFoldersTitle:"إعادة ترتيب التنقل",reorderRootFoldersHint:"استخدم الأسهم أو اسحب لإعادة الترتيب",vaultRootLabel:"الخزنة",resetRootToAlpha:"إعادة الترتيب الأبجدي",resetRootToFrequency:"إعادة الترتيب حسب التكرار",pinShortcuts:"تثبيت الاختصارات",pinShortcutsAndRecentFiles:"تثبيت الاختصارات والملفات الحديثة",unpinShortcuts:"إلغاء تثبيت الاختصارات",unpinShortcutsAndRecentFiles:"إلغاء تثبيت الاختصارات والملفات الحديثة",profileMenuAria:"تغيير ملف الخزنة"},navigationCalendar:{ariaLabel:"التقويم",dailyNotesNotEnabled:"إضافة الملاحظات اليومية غير مفعلة.",createDailyNote:{title:"ملاحظة يومية جديدة",message:"الملف {filename} غير موجود. هل تريد إنشاءه؟",confirmButton:"إنشاء"},helpModal:{title:"اختصارات التقويم",items:["انقر على أي يوم لفتح أو إنشاء ملاحظة يومية. الأسابيع والأشهر والأرباع والسنوات تعمل بنفس الطريقة.","نقطة ممتلئة أسفل اليوم تعني أنه يحتوي على ملاحظة. نقطة مفرغة تعني أنه يحتوي على مهام غير مكتملة.","إذا كانت الملاحظة تحتوي على صورة مميزة، فإنها تظهر كخلفية لليوم."],dateFilterCmdCtrl:"`Cmd/Ctrl`+انقر على تاريخ للتصفية حسب ذلك التاريخ في قائمة الملفات.",dateFilterOptionAlt:"`Option/Alt`+انقر على تاريخ للتصفية حسب ذلك التاريخ في قائمة الملفات."}},dailyNotes:{templateReadFailed:"فشل في قراءة قالب الملاحظة اليومية.",createFailed:"تعذر إنشاء الملاحظة اليومية."},shortcuts:{folderExists:"المجلد موجود بالفعل في الاختصارات",noteExists:"الملاحظة موجودة بالفعل في الاختصارات",tagExists:"الوسم موجود بالفعل في الاختصارات",propertyExists:"الخاصية موجودة بالفعل في الاختصارات",invalidProperty:"اختصار خاصية غير صالح",searchExists:"اختصار البحث موجود بالفعل",emptySearchQuery:"أدخل استعلام بحث قبل حفظه",emptySearchName:"أدخل اسمًا قبل حفظ البحث",add:"إضافة إلى الاختصارات",addNotesCount:"إضافة {count} ملاحظات إلى الاختصارات",addFilesCount:"إضافة {count} ملفات إلى الاختصارات",rename:"إعادة تسمية الاختصار",remove:"إزالة من الاختصارات",removeAll:"إزالة جميع الاختصارات",removeAllConfirm:"إزالة جميع الاختصارات؟",folderNotesPinned:"تم تثبيت {count} ملاحظة مجلد"},paneHeader:{collapseAllFolders:"طي العناصر",expandAllFolders:"توسيع جميع العناصر",showCalendar:"عرض التقويم",hideCalendar:"إخفاء التقويم",newFolder:"مجلد جديد",newNote:"ملاحظة جديدة",mobileBackToNavigation:"العودة للتنقل",changeChildSortOrder:"تغيير ترتيب الفرز",changeSortAndGroup:"تغيير الفرز والتجميع",resetViewToDefaults:"إعادة تعيين العرض إلى الإعدادات الافتراضية",manualSort:"فرز يدوي",editSortOrder:"تحرير ترتيب الفرز...",removeSortProperty:"إزالة خاصية الفرز",descendants:"العناصر الفرعية",subfolders:"المجلدات الفرعية",subtags:"الوسوم الفرعية",childValues:"القيم الفرعية",applySortAndGroupToDescendants:t=>`تطبيق الفرز والتجميع على ${t}`,applyAppearanceToDescendants:t=>`تطبيق المظهر على ${t}`,showFolders:"إظهار التنقل",reorderRootFolders:"إعادة ترتيب التنقل",finishRootFolderReorder:"تم",showExcludedItems:"إظهار المجلدات والوسوم والملاحظات المخفية",hideExcludedItems:"إخفاء المجلدات والوسوم والملاحظات المخفية",showDualPane:"إظهار لوحتين",showSinglePane:"إظهار لوحة واحدة",dualPaneAutoFallbackNotice:'لا تتوفر اللوحتان عندما يكون الشريط الجانبي ضيقًا جدًا. لتغيير ذلك، اضبط "عندما يكون الشريط الجانبي ضيقًا جدًا" على "عدم فعل شيء" في الإعدادات > المظهر والسلوك.',changeAppearance:"تغيير المظهر",showNotesFromSubfolders:"إظهار الملاحظات من المجلدات الفرعية",showFilesFromSubfolders:"إظهار الملفات من المجلدات الفرعية",showNotesFromDescendants:"إظهار الملاحظات من الفروع",showFilesFromDescendants:"إظهار الملفات من الفروع",search:"بحث"},searchInput:{placeholder:"بحث...",placeholderOmnisearch:"بحث شامل...",clearSearch:"مسح البحث",switchToFilterSearch:"التبديل إلى البحث بالتصفية",switchToOmnisearch:"التبديل إلى Omnisearch",saveSearchShortcut:"حفظ اختصار البحث",removeSearchShortcut:"إزالة اختصار البحث",shortcutModalTitle:"حفظ اختصار البحث",shortcutNamePlaceholder:"أدخل اسم الاختصار",shortcutStartIn:"البدء دائمًا في: {path}",searchHelp:"صيغة البحث",searchHelpTitle:"صيغة البحث",searchHelpModal:{intro:"ادمج أسماء الملفات والخصائص والوسوم والتواريخ والمرشحات في استعلام واحد (مثال: `meeting .status=active #work @thisweek`). قم بتثبيت إضافة Omnisearch لاستخدام البحث في النص الكامل.",introSwitching:"التبديل بين البحث بالتصفية و Omnisearch باستخدام مفاتيح الأسهم لأعلى/لأسفل أو بالنقر على أيقونة البحث.",sections:{fileNames:{title:"أسماء الملفات",items:['`word` البحث عن ملاحظات تحتوي على "word" في اسم الملف.',"`word1 word2` يجب أن تتطابق كل كلمة مع اسم الملف.",'`-word` استبعاد الملاحظات التي تحتوي على "word" في اسم الملف.']},tags:{title:"الوسوم",items:["`#tag` تضمين الملاحظات ذات الوسم (يشمل أيضًا الوسوم الفرعية مثل `#tag/subtag`).","`#` تضمين الملاحظات ذات الوسوم فقط.","`-#tag` استبعاد الملاحظات ذات الوسم.","`-#` تضمين الملاحظات بدون وسوم فقط.","`#tag1 #tag2` مطابقة كلا الوسمين (AND ضمني).","`#tag1 AND #tag2` مطابقة كلا الوسمين (AND صريح).","`#tag1 OR #tag2` مطابقة أي من الوسمين.","`#a OR #b AND #c` AND له أولوية أعلى: يطابق `#a`، أو كلاً من `#b` و `#c`.","Cmd/Ctrl+النقر على وسم لإضافته مع AND. Cmd/Ctrl+Shift+النقر لإضافته مع OR."]},properties:{title:"الخصائص",items:["`.key` تضمين الملاحظات التي تحتوي على مفتاح خاصية.","`.key=value` تضمين الملاحظات التي تحتوي قيمة الخاصية فيها على `value`.",'`."Reading Status"` تضمين الملاحظات التي تحتوي على مفتاح خاصية يتضمن مسافات.','`."Reading Status"="In Progress"` المفاتيح والقيم التي تحتوي على مسافات يجب وضعها بين علامات اقتباس مزدوجة.',"`-.key` استبعاد الملاحظات التي تحتوي على مفتاح خاصية.","`-.key=value` استبعاد الملاحظات التي تحتوي قيمة الخاصية فيها على `value`.","Cmd/Ctrl+انقر على خاصية للإضافة بـ AND. Cmd/Ctrl+Shift+انقر للإضافة بـ OR."]},tasks:{title:"المرشحات",items:["`has:task` تضمين الملاحظات التي تحتوي على مهام غير مكتملة.","`-has:task` استبعاد الملاحظات التي تحتوي على مهام غير مكتملة.","`folder:meetings` تضمين الملاحظات حيث يحتوي اسم مجلد على `meetings`.","`folder:/work/meetings` تضمين الملاحظات فقط في `work/meetings` (بدون المجلدات الفرعية).","`folder:/` تضمين الملاحظات فقط في جذر الخزنة.","`-folder:archive` استبعاد الملاحظات حيث يحتوي اسم مجلد على `archive`.","`-folder:/archive` استبعاد الملاحظات فقط في `archive` (بدون المجلدات الفرعية).","`ext:md` تضمين الملاحظات ذات الامتداد `md` (`ext:.md` مدعوم أيضًا).","`-ext:pdf` استبعاد الملاحظات ذات الامتداد `pdf`.","دمج مع الوسوم والأسماء والتواريخ (على سبيل المثال: `folder:/work/meetings ext:md @thisweek`)."]},connectors:{title:"سلوك AND/OR",items:["`AND` و `OR` هما عوامل تشغيل فقط في استعلامات الوسوم/الخصائص الحصرية.","استعلامات الوسوم/الخصائص الحصرية تحتوي فقط على مرشحات الوسوم والخصائص: `#tag`، `-#tag`، `#`، `-#`، `.key`، `-.key`، `.key=value`، `-.key=value`.","إذا تضمن الاستعلام أسماء أو تواريخ (`@...`) أو مرشحات مهام (`has:task`) أو مرشحات مجلدات (`folder:...`) أو مرشحات امتدادات (`ext:...`)، يتم مطابقة `AND` و `OR` ككلمات.","مثال على استعلام بعوامل تشغيل: `#work OR .status=started`.","مثال على استعلام مختلط: `#work OR ext:md` (يتم مطابقة `OR` في أسماء الملفات)."]},dates:{title:"التواريخ",items:["`@today` البحث عن ملاحظات اليوم باستخدام حقل التاريخ الافتراضي.","`@yesterday`، `@last7d`، `@last30d`، `@thisweek`، `@thismonth` نطاقات تاريخ نسبية.","`@2026-02-07` البحث عن يوم محدد (يدعم أيضًا `@20260207`).","`@2026` البحث عن سنة تقويمية.","`@2026-02` أو `@202602` البحث عن شهر تقويمي.","`@2026-W05` أو `@2026W05` البحث عن أسبوع ISO.","`@2026-Q2` أو `@2026Q2` البحث عن ربع تقويمي.","`@13/02/2026` صيغ رقمية مع فواصل (`@07022026` يتبع إعدادات منطقتك عند الغموض).","`@2026-02-01..2026-02-07` البحث عن نطاق أيام شامل (النهايات المفتوحة مدعومة).","`@c:...` أو `@m:...` استهداف تاريخ الإنشاء أو التعديل.","`-@...` استبعاد مطابقة التاريخ."]},omnisearch:{title:"Omnisearch",items:["البحث في النص الكامل عبر الخزنة، مع التصفية حسب المجلد الحالي أو الوسوم المحددة.","قد يكون بطيئًا مع أقل من 3 أحرف في الخزن الكبيرة.","لا يمكنه البحث في المسارات التي تحتوي على أحرف غير ASCII أو البحث في المسارات الفرعية بشكل صحيح.","يعيد نتائج محدودة قبل تصفية المجلدات، لذا قد لا تظهر الملفات ذات الصلة إذا وُجدت مطابقات كثيرة في أماكن أخرى.","تعرض معاينات الملاحظات مقتطفات Omnisearch بدلاً من نص المعاينة الافتراضي."]}}}},contextMenu:{file:{openInNewTab:"فتح في علامة تبويب جديدة",openToRight:"فتح على اليمين",openInNewWindow:"فتح في نافذة جديدة",openMultipleInNewTabs:"فتح {count} ملاحظة في علامات تبويب جديدة",openMultipleFilesInNewTabs:"فتح {count} ملف في علامات تبويب جديدة",openMultipleToRight:"فتح {count} ملاحظة على اليمين",openMultipleFilesToRight:"فتح {count} ملف على اليمين",openMultipleInNewWindows:"فتح {count} ملاحظة في نوافذ جديدة",openMultipleFilesInNewWindows:"فتح {count} ملف في نوافذ جديدة",pinNote:"تثبيت الملاحظة",pinFile:"تثبيت الملف",unpinNote:"إلغاء تثبيت الملاحظة",unpinFile:"إلغاء تثبيت الملف",pinMultipleNotes:"تثبيت {count} ملاحظة",pinMultipleFiles:"تثبيت {count} ملف",unpinMultipleNotes:"إلغاء تثبيت {count} ملاحظة",unpinMultipleFiles:"إلغاء تثبيت {count} ملف",duplicateNote:"تكرار الملاحظة",duplicateFile:"تكرار الملف",duplicateMultipleNotes:"تكرار {count} ملاحظة",duplicateMultipleFiles:"تكرار {count} ملف",openVersionHistory:"فتح سجل الإصدارات",revealInFolder:"الكشف في المجلد",revealInFinder:"الكشف في Finder",showInExplorer:"إظهار في مستكشف النظام",openInDefaultApp:"فتح في التطبيق الافتراضي",renameNote:"إعادة تسمية الملاحظة",renameFile:"إعادة تسمية الملف",deleteNote:"حذف الملاحظة",deleteFile:"حذف الملف",setCalendarHighlight:"تعيين التمييز",removeCalendarHighlight:"إزالة التمييز",deleteMultipleNotes:"حذف {count} ملاحظة",deleteMultipleFiles:"حذف {count} ملف",moveNoteToFolder:"نقل الملاحظة إلى...",moveFileToFolder:"نقل الملف إلى...",moveMultipleNotesToFolder:"نقل {count} ملاحظة إلى...",moveMultipleFilesToFolder:"نقل {count} ملف إلى...",mergeNotes:"دمج {count} ملاحظة...",mergeNotesInGroup:"دمج الملاحظات في المجموعة...",setManualSortGroupHeader:"تعيين عنوان المجموعة",changeManualSortGroupHeader:"تغيير عنوان المجموعة",manualSortGroupHeader:{title:"عنوان المجموعة",copyStyle:"نسخ نمط العنوان",pasteStyle:"لصق نمط العنوان",remove:"إزالة عنوان المجموعة"},addTag:"إضافة وسم",addPropertyKey:"تعيين خاصية",removeTag:"إزالة وسم",removeAllTags:"إزالة جميع الوسوم",changeIcon:"تغيير الأيقونة",changeColor:"تغيير اللون"},folder:{newNote:"ملاحظة جديدة",newNoteFromTemplate:"ملاحظة جديدة من قالب",newFolder:"مجلد جديد",newCanvas:"لوحة جديدة",newBase:"قاعدة جديدة",newDrawing:"رسم جديد",newExcalidrawDrawing:"رسم Excalidraw جديد",newTldrawDrawing:"رسم Tldraw جديد",duplicateFolder:"تكرار المجلد",searchInFolder:"البحث في المجلد",createFolderNote:"إنشاء ملاحظة مجلد",detachFolderNote:"فصل ملاحظة المجلد",deleteFolderNote:"حذف ملاحظة المجلد",changeIcon:"تغيير الأيقونة",changeColor:"تغيير اللون",changeBackground:"تغيير الخلفية",excludeFolder:"إخفاء المجلد",unhideFolder:"إظهار المجلد",moveFolder:"نقل المجلد إلى...",renameFolder:"إعادة تسمية المجلد",deleteFolder:"حذف المجلد"},tag:{changeIcon:"تغيير الأيقونة",changeColor:"تغيير اللون",changeBackground:"تغيير الخلفية",showTag:"إظهار الوسم",hideTag:"إخفاء الوسم"},property:{addKey:"تكوين مفاتيح الخصائص",renameKey:"إعادة تسمية الخاصية",deleteKey:"حذف الخاصية"},navigation:{addSeparator:"إضافة فاصل",removeSeparator:"إزالة الفاصل"},copyPath:{title:"نسخ المسار",asObsidianUrl:"كرابط Obsidian",fromVaultFolder:"من مجلد الخزنة",fromSystemRoot:"من جذر النظام"},style:{title:"النمط",copy:"نسخ النمط",paste:"لصق النمط",removeIcon:"إزالة الأيقونة",removeColor:"إزالة اللون",removeBackground:"إزالة الخلفية",clear:"مسح النمط"}},folderAppearance:{appearance:"المظهر",sortBy:"فرز حسب",standardPreset:"قياسي",compactPreset:"مضغوط",defaultSuffix:"(افتراضي)",defaultLabel:"افتراضي",titleRows:"صفوف العنوان",previewRows:"صفوف المعاينة",groupBy:"تجميع حسب",titleRowOption:t=>`${t} صف عنوان`,previewRowOption:t=>`${t} صف معاينة`},modals:{bulkApply:{applyButton:"تطبيق",applySortAndGroupTitle:t=>`تطبيق الفرز والتجميع على ${t}؟`,applyAppearanceTitle:t=>`تطبيق المظهر على ${t}؟`,affectedCountMessage:t=>`التجاوزات الحالية التي ستتغير: ${t}.`},manualSortConfirm:{propertySortTitle:"استخدام الفرز اليدوي؟",propertySortMessage:(t,e)=>`يبدّل العرض الحالي إلى الفرز اليدوي باستخدام "${t}". تحرير الترتيب يكتب قيم فهرس رقمية إلى تلك الخاصية في ${e} ملاحظة حسب الحاجة.`,propertySortConfirmButton:"استخدام الفرز اليدوي",removePropertyTitle:"إزالة خاصية الفرز؟",removePropertyMessage:(t,e)=>`يؤدي هذا إلى إزالة "${t}" من ${e} ملاحظة في القائمة الحالية. سيتم مسح ترتيب الفرز اليدوي لتلك الملاحظات.`,removePropertyConfirmButton:"إزالة الخاصية",compactTitle:"ضغط قيم الفهرس؟",compactMessage:t=>`إعادة الترتيب هذه تحتاج إلى مساحة رقمية أكبر. ${t} ملاحظة ستحصل على قيم فهرس جديدة.`,compactConfirmButton:"ضغط قيم الفهرس"},manualSortGroupHeader:{title:"تعيين عنوان المجموعة",titleLabel:"العنوان",placeholder:"عنوان المجموعة",icon:"الأيقونة",color:"اللون",wordCount:"إظهار عدد الكلمات",wordCountTarget:"عدد الكلمات المستهدف",wordCountTargetPlaceholder:"10,000",wordCountTargetDescription:"عندما يكون هذا الحقل فارغًا، يستخدم هدف المجموعة خاصية الهدف المحددة في الإعدادات > الملاحظات > عدد الكلمات والأحرف. يمكنك تجاوزه بتعيين قيمة هدف لهذه المجموعة.",description:"خصص عنوان المجموعة لهذه الملاحظة. اترك العنوان فارغًا لإزالة العنوان."},mergeNotes:{title:"دمج الملاحظات",summary:"إنشاء ملاحظة واحدة من {count} ملاحظة في {folder}.",frontmatterRule:"يتم الاحتفاظ بالبيانات الأمامية من الملاحظة الأولى. تتم إزالة البيانات الأمامية من الملاحظات الأخرى.",crossFolderWarning:"الملاحظات المصدر في مجلدات مختلفة. قد تتوقف الروابط والتضمينات النسبية عن العمل في الملاحظة المدمجة.",outputName:"اسم الناتج",outputNameDesc:"يتم إنشاء الملاحظة المدمجة في المجلد الموضح أعلاه.",outputNamePlaceholder:"ملاحظات مدمجة",separator:"فاصل",separatorDesc:"يتم إدراجه بين الملاحظات.",separatorOptions:{none:"لا شيء",blankLine:"سطر فارغ",horizontalRule:"خط أفقي",heading:"عنوان باسم الملاحظة"},moveSourcesToTrash:"نقل الملاحظات المصدر إلى سلة المهملات بعد الدمج",mergeButton:"دمج"},navRainbowSection:{title:t=>`ألوان قوس قزح: ${t}`},iconPicker:{searchPlaceholder:"البحث عن أيقونات...",recentlyUsedHeader:"المستخدمة مؤخرًا",emptyStateSearch:"ابدأ الكتابة للبحث عن أيقونات",emptyStateNoResults:"لم يتم العثور على أيقونات",showingResultsInfo:"عرض 50 من {count} نتيجة. اكتب المزيد للتضييق.",emojiInstructions:"اكتب أو الصق أي رمز تعبيري لاستخدامه كأيقونة",removeIcon:"إزالة الأيقونة",removeFromRecents:"إزالة من الأيقونات الأخيرة",allTabLabel:"الكل"},fileIconRuleEditor:{addRuleAria:"إضافة قاعدة"},interfaceIcons:{title:"أيقونات الواجهة",fileItemsSection:"عناصر الملفات",items:{"nav-shortcuts":"الاختصارات","nav-recent-files":"الملفات الأخيرة","nav-expand-all":"توسيع الكل","nav-collapse-all":"طي الكل","nav-calendar":"التقويم","nav-tree-expand":"سهم الشجرة: توسيع","nav-tree-collapse":"سهم الشجرة: طي","nav-hidden-items":"العناصر المخفية","nav-root-reorder":"إعادة ترتيب المجلدات الجذرية","nav-new-folder":"مجلد جديد","nav-show-single-pane":"إظهار لوحة واحدة","nav-show-dual-pane":"إظهار لوحتين","nav-profile-chevron":"سهم قائمة الملف الشخصي","list-search":"بحث","list-reveal-file":"الكشف عن الملف","list-descendants":"ملاحظات من المجلدات الفرعية","list-sort-ascending":"ترتيب الفرز: تصاعدي","list-sort-descending":"ترتيب الفرز: تنازلي","list-sort-modified":"الفرز حسب تاريخ التعديل","list-sort-created":"الفرز حسب تاريخ الإنشاء","list-sort-title":"الفرز حسب العنوان","list-sort-filename":"الفرز حسب اسم الملف","list-sort-property":"الفرز حسب الخاصية","list-appearance":"تغيير المظهر","list-new-note":"ملاحظة جديدة","list-pinned":"الملاحظات المثبتة","nav-folder-open":"مجلد مفتوح","nav-folder-closed":"مجلد مغلق","nav-tags":"علامات","nav-tag":"وسم","nav-properties":"الخصائص","nav-property":"خاصية","nav-property-value":"قيمة","file-unfinished-task":"مهام غير مكتملة","file-word-count":"عدد الكلمات","file-character-count":"عدد الأحرف"}},colorPicker:{currentColor:"الحالي",newColor:"جديد",paletteDefault:"افتراضي",paletteCustom:"مخصص",copyColors:"نسخ اللون",colorsCopied:"تم نسخ اللون إلى الحافظة",pasteColors:"لصق اللون",pasteClipboardError:"تعذرت قراءة الحافظة",pasteInvalidFormat:"متوقع قيمة لون hex",colorsPasted:"تم لصق اللون بنجاح",resetUserColors:"مسح الألوان المخصصة",clearCustomColorsConfirm:"إزالة جميع الألوان المخصصة؟",userColorSlot:"اللون {slot}",recentColors:"ألوان حديثة",clearRecentColors:"مسح الألوان الحديثة",removeRecentColor:"إزالة اللون",apply:"تطبيق",pickerLabel:"المنتقي",hexLabel:"HEX",hexInputLabel:"قيمة اللون السداسية",saturationValueArea:"التشبع والسطوع",hueSlider:"تدرج اللون",alphaSlider:"الشفافية"},appearance:{tabIcon:"الأيقونة",tabColor:"اللون",tabBackground:"الخلفية",resetIcon:"إزالة الأيقونة",resetColor:"إزالة اللون",resetBackground:"إزالة الخلفية",clear:"مسح النمط",apply:"تطبيق"},selectVaultProfile:{title:"اختر ملف الخزنة",currentBadge:"نشط",emptyState:"لا تتوفر ملفات خزنة."},tagOperation:{renameTitle:"إعادة تسمية الوسم {tag}",deleteTitle:"حذف الوسم {tag}",newTagPrompt:"اسم الوسم الجديد",newTagPlaceholder:"أدخل اسم الوسم الجديد",renameWarning:"إعادة تسمية الوسم {oldTag} ستعدل {count} {files}.",deleteWarning:"حذف الوسم {tag} سيعدل {count} {files}.",modificationWarning:"سيؤدي هذا إلى تحديث تواريخ تعديل الملفات.",affectedFiles:"الملفات المتأثرة:",andMore:"...و {count} أخرى",confirmRename:"إعادة تسمية الوسم",renameUnchanged:"{tag} لم يتغير",renameNoChanges:"{oldTag} → {newTag} ({countLabel})",renameBatchNotFinalized:"تمت إعادة تسمية {renamed}/{total}. لم يتم التحديث: {notUpdated}. لم يتم تحديث البيانات الوصفية والاختصارات.",invalidTagName:"أدخل اسم وسم صالح.",descendantRenameError:"لا يمكن نقل الوسم إلى نفسه أو إلى فرع منه.",confirmDelete:"حذف الوسم",deleteBatchNotFinalized:"تمت الإزالة من {removed}/{total}. لم يتم التحديث: {notUpdated}. لم يتم تحديث البيانات الوصفية والاختصارات.",checkConsoleForDetails:"تحقق من وحدة التحكم للحصول على التفاصيل.",file:"ملف",files:"ملفات",inlineParsingWarning:{title:"توافق الوسوم المضمّنة",message:"يحتوي {tag} على أحرف لا يستطيع Obsidian تحليلها في الوسوم المضمّنة. لا تتأثر وسوم Frontmatter.",confirm:"استخدام على أي حال"}},propertyOperation:{renameTitle:"إعادة تسمية الخاصية {property}",deleteTitle:"حذف الخاصية {property}",newKeyPrompt:"اسم الخاصية الجديد",newKeyPlaceholder:"أدخل اسم الخاصية الجديد",renameWarning:"إعادة تسمية الخاصية {property} ستعدّل {count} {files}.",renameConflictWarning:"الخاصية {newKey} موجودة بالفعل في {count} {files}. إعادة تسمية {oldKey} ستستبدل القيم الحالية لـ {newKey}.",deleteWarning:"حذف الخاصية {property} سيعدّل {count} {files}.",confirmRename:"إعادة تسمية الخاصية",confirmDelete:"حذف الخاصية",renameNoChanges:"{oldKey} → {newKey} (بدون تغييرات)",renameSettingsUpdateFailed:"تمت إعادة تسمية الخاصية {oldKey} → {newKey}. فشل تحديث الإعدادات.",deleteSingleSuccess:"تم حذف الخاصية {property} من ملاحظة واحدة",deleteMultipleSuccess:"تم حذف الخاصية {property} من {count} ملاحظات",deleteSettingsUpdateFailed:"تم حذف الخاصية {property}. فشل تحديث الإعدادات.",invalidKeyName:"أدخل اسم خاصية صالح."},fileSystem:{newFolderTitle:"مجلد جديد",renameFolderTitle:"إعادة تسمية المجلد",renameFileTitle:"إعادة تسمية الملف",deleteFolderTitle:"حذف '{name}'؟",deleteFileTitle:"حذف '{name}'؟",deleteFileAttachmentsTitle:"حذف مرفقات الملف؟",moveFileConflictTitle:"تعارض النقل",folderNamePrompt:"أدخل اسم المجلد:",hideInOtherVaultProfiles:"إخفاء في ملفات الخزنة الأخرى",renamePrompt:"أدخل الاسم الجديد:",renameVaultTitle:"تغيير اسم عرض الخزنة",renameVaultPrompt:"أدخل اسم العرض المخصص (اتركه فارغًا لاستخدام الافتراضي):",deleteFolderConfirm:"هل أنت متأكد من حذف هذا المجلد وكل محتوياته؟",deleteFileConfirm:"هل أنت متأكد من حذف هذا الملف؟",deleteFileAttachmentsDescriptionSingle:"هذا المرفق لم يعد مستخدمًا في أي ملاحظات. هل تريد حذفه؟",deleteFileAttachmentsDescriptionMultiple:"هذه المرفقات لم تعد مستخدمة في أي ملاحظات. هل تريد حذفها؟",deleteFileAttachmentsViewFileTreeAriaLabel:"شجرة الملفات",deleteFileAttachmentsViewGalleryAriaLabel:"المعرض",moveFileConflictDescriptionSingle:'تم العثور على تعارض ملف في "{folder}".',moveFileConflictDescriptionMultiple:'تم العثور على {count} تعارضات ملفات في "{folder}".',moveFileConflictAffectedFiles:"الملفات المتأثرة",moveFileConflictItem:'"{name}" -> "{suggested}"{renameOnly}',moveFileConflictRenameOnly:"(إعادة تسمية فقط)",moveFileConflictRename:"إعادة التسمية",moveFileConflictOverwrite:"الكتابة فوق",removeAllTagsTitle:"إزالة جميع الوسوم",removeAllTagsFromNote:"هل أنت متأكد من إزالة جميع الوسوم من هذه الملاحظة؟",removeAllTagsFromNotes:"هل أنت متأكد من إزالة جميع الوسوم من {count} ملاحظة؟"},folderNoteType:{title:"اختر نوع ملاحظة المجلد",folderLabel:"المجلد: {name}"},folderSuggest:{placeholder:t=>`نقل ${t} إلى مجلد...`,multipleFilesLabel:t=>`${t} ملفات`,navigatePlaceholder:"الانتقال إلى مجلد...",instructions:{navigate:"للتنقل",move:"للنقل",select:"للتحديد",dismiss:"للإغلاق"}},homepage:{placeholder:"البحث عن ملفات...",instructions:{navigate:"للتنقل",select:"لتعيين الصفحة الرئيسية",dismiss:"للإغلاق"}},calendarTemplate:{placeholder:"البحث عن القوالب...",instructions:{navigate:"للتنقل",select:"لتحديد القالب",dismiss:"للإغلاق"}},navigationBanner:{placeholder:"البحث عن صور...",instructions:{navigate:"للتنقل",select:"لتعيين الشعار",dismiss:"للإغلاق"}},tagSuggest:{navigatePlaceholder:"الانتقال إلى وسم...",addPlaceholder:"البحث عن وسم لإضافته...",removePlaceholder:"اختر وسمًا لإزالته...",createNewTag:"إنشاء وسم جديد: #{tag}",instructions:{navigate:"للتنقل",select:"للتحديد",dismiss:"للإغلاق",add:"لإضافة وسم",remove:"لإزالة وسم"}},propertySuggest:{placeholder:"اختر مفتاح خاصية...",navigatePlaceholder:"انتقل إلى خاصية...",instructions:{navigate:"للتنقل",select:"لإضافة خاصية",dismiss:"للإغلاق"}},propertyKeyVisibility:{title:"رؤية مفاتيح الخصائص",description:"التحكم في مكان عرض قيم الخصائص. تتوافق الأعمدة مع لوحة التنقل ولوحة القائمة وقائمة سياق الملف. استخدم الصف السفلي لتبديل جميع الصفوف في عمود.",searchPlaceholder:"بحث في مفاتيح الخصائص...",propertyColumnLabel:"خاصية",showInNavigation:"إظهار في التنقل",showInList:"إظهار في القائمة",showInFileMenu:"إظهار في قائمة الملف",toggleAllInNavigation:"تبديل الكل في التنقل",toggleAllInList:"تبديل الكل في القائمة",toggleAllInFileMenu:"تبديل الكل في قائمة الملف",applyButton:"تطبيق",emptyState:"لم يتم العثور على مفاتيح خصائص."},welcome:{title:"مرحباً بك في {pluginName}",introText:'مرحباً! قبل البدء، أوصي بشدة بمشاهدة الدقائق الخمس الأولى من الفيديو أدناه لفهم كيفية عمل اللوحات ومفتاح التبديل "عرض الملاحظات من المجلدات الفرعية".',continueText:"إذا كان لديك خمس دقائق إضافية، تابع مشاهدة الفيديو لفهم أوضاع العرض المضغوط وكيفية إعداد الاختصارات ومفاتيح الاختصار المهمة بشكل صحيح.",thanksText:"شكراً جزيلاً على التحميل، واستمتع!",videoAlt:"تثبيت وإتقان Notebook Navigator",openVideoButton:"تشغيل الفيديو",closeButton:"ربما لاحقاً"}},fileSystem:{errors:{createFolder:"فشل إنشاء المجلد: {error}",createFile:"فشل إنشاء الملف: {error}",renameFolder:"فشل إعادة تسمية المجلد: {error}",renameFolderNoteConflict:'لا يمكن إعادة التسمية: "{name}" موجود بالفعل في هذا المجلد',renameFile:"فشل إعادة تسمية الملف: {error}",deleteFolder:"فشل حذف المجلد: {error}",deleteFile:"فشل حذف الملف: {error}",deleteAttachments:"فشل في حذف المرفقات: {error}",mergeNotes:"فشل في دمج الملاحظات: {error}",mergeNotesOpenOutput:"تم إنشاء الملاحظة المدمجة باسم {name}، لكن تعذر فتحها: {error}. لم يتم تغيير الملاحظات المصدر.",mergeNotesOpenSkipped:"أخذ طلب آخر لفتح ملف الأولوية.",mergeNotesTrashSources:"تم إنشاء الملاحظة المدمجة. فشل نقل {count} ملاحظة مصدر إلى سلة المهملات.",duplicateNote:"فشل تكرار الملاحظة: {error}",duplicateFolder:"فشل تكرار المجلد: {error}",openVersionHistory:"فشل فتح سجل الإصدارات: {error}",versionHistoryNotFound:"لم يتم العثور على أمر سجل الإصدارات. تأكد من تمكين Obsidian Sync.",revealInExplorer:"فشل الكشف عن الملف في مستكشف النظام: {error}",openInDefaultApp:"فشل الفتح في التطبيق الافتراضي: {error}",openInDefaultAppNotAvailable:"الفتح في التطبيق الافتراضي غير متاح على هذه المنصة",folderNoteAlreadyExists:"ملاحظة المجلد موجودة بالفعل",folderAlreadyExists:'المجلد "{name}" موجود بالفعل',folderNotesDisabled:"قم بتمكين ملاحظات المجلد في الإعدادات لتحويل الملفات",folderNoteAlreadyLinked:"هذا الملف يعمل بالفعل كملاحظة مجلد",folderNoteNotFound:"لا توجد ملاحظة مجلد في المجلد المحدد",folderNoteUnsupportedExtension:"امتداد ملف غير مدعوم: {extension}",folderNoteMoveFailed:"فشل نقل الملف أثناء التحويل: {error}",folderNoteRenameConflict:'ملف باسم "{name}" موجود بالفعل في المجلد',folderNoteConversionFailed:"فشل تحويل الملف إلى ملاحظة مجلد",folderNoteConversionFailedWithReason:"فشل تحويل الملف إلى ملاحظة مجلد: {error}",folderNoteOpenFailed:"تم تحويل الملف لكن فشل فتح ملاحظة المجلد: {error}",failedToDeleteFile:"فشل حذف {name}: {error}",failedToDeleteMultipleFiles:"فشل حذف {count} ملفات",versionHistoryNotAvailable:"خدمة سجل الإصدارات غير متاحة",drawingAlreadyExists:"رسم بهذا الاسم موجود بالفعل",failedToCreateDrawing:"فشل إنشاء الرسم",noFolderSelected:"لم يتم تحديد مجلد في متصفح الدفتر",noFileSelected:"لم يتم تحديد ملف"},warnings:{linkBreakingNameCharacters:"يحتوي هذا الاسم على أحرف تكسر روابط Obsidian: #, |, ^, %%, [[, ]].",forbiddenNameCharactersAllPlatforms:"لا يمكن أن تبدأ الأسماء بنقطة أو تحتوي على : أو /.",forbiddenNameCharactersWindows:'أحرف Windows المحجوزة غير مسموح بها: <, >, ", \\, |, ?, *.'},notices:{hideFolder:"تم إخفاء المجلد: {name}",showFolder:"تم إظهار المجلد: {name}",mergeNotes:"تم دمج {count} ملاحظة في {name}"},notifications:{deletedMultipleFiles:"تم حذف {count} ملفات",movedMultipleFiles:"تم نقل {count} ملفات إلى {folder}",folderNoteConversionSuccess:'تم تحويل الملف إلى ملاحظة مجلد في "{name}"',folderMoved:'تم نقل المجلد "{name}"',deepLinkCopied:"تم نسخ رابط Obsidian إلى الحافظة",pathCopied:"تم نسخ المسار إلى الحافظة",relativePathCopied:"تم نسخ المسار النسبي إلى الحافظة",tagAddedToNote:"تمت إضافة الوسم إلى ملاحظة واحدة",tagAddedToNotes:"تمت إضافة الوسم إلى {count} ملاحظات",tagRemovedFromNote:"تمت إزالة الوسم من ملاحظة واحدة",tagRemovedFromNotes:"تمت إزالة الوسم من {count} ملاحظات",tagsClearedFromNote:"تم مسح جميع الوسوم من ملاحظة واحدة",tagsClearedFromNotes:"تم مسح جميع الوسوم من {count} ملاحظات",noTagsToRemove:"لا توجد وسوم لإزالتها",noFilesSelected:"لم يتم تحديد ملفات",mergeNotesRequireMultipleMarkdown:"حدد ملاحظتي Markdown على الأقل للدمج",tagOperationsNotAvailable:"عمليات الوسوم غير متاحة",propertyOperationsNotAvailable:"عمليات الخصائص غير متاحة",tagsRequireMarkdown:"الوسوم مدعومة فقط على ملاحظات Markdown",propertiesRequireMarkdown:"الخصائص مدعومة فقط في ملاحظات Markdown",propertySetOnNote:"تم تحديث الخاصية في ملاحظة واحدة",propertySetOnNotes:"تم تحديث الخاصية في {count} ملاحظات",manualSortPropertyRemovedFromNote:"تمت إزالة خاصية الفرز من ملاحظة واحدة",manualSortPropertyRemovedFromNotes:"تمت إزالة خاصية الفرز من {count} ملاحظات",iconPackDownloaded:"تم تنزيل {provider}",iconPackUpdated:"تم تحديث {provider} ({version})",iconPackRemoved:"تمت إزالة {provider}",iconPackLoadFailed:"فشل تحميل {provider}",hiddenFileReveal:'الملف مخفي. قم بتمكين "إظهار العناصر المخفية" لعرضه'},confirmations:{deleteMultipleFiles:"هل أنت متأكد من حذف {count} ملفات؟",deleteConfirmation:"لا يمكن التراجع عن هذا الإجراء."},defaultNames:{untitled:"بدون عنوان"}},dragDrop:{errors:{cannotMoveIntoSelf:"لا يمكن نقل مجلد إلى نفسه أو إلى مجلد فرعي.",itemAlreadyExists:'عنصر باسم "{name}" موجود بالفعل في هذا الموقع.',failedToMove:"فشل النقل: {error}",failedToAddTag:'فشل إضافة الوسم "{tag}"',failedToSetProperty:"فشل في تحديث الخاصية: {error}",failedToClearTags:"فشل مسح الوسوم",failedToMoveFolder:'فشل نقل المجلد "{name}"',failedToImportFiles:"فشل الاستيراد: {names}"},notifications:{filesAlreadyExist:"{count} ملفات موجودة بالفعل في الوجهة",filesAlreadyHaveTag:"{count} ملفات تحتوي بالفعل على هذا الوسم أو وسم أكثر تحديدًا",filesAlreadyHaveProperty:"{count} ملفات تحتوي بالفعل على هذه الخاصية",noTagsToClear:"لا توجد وسوم لمسحها",fileImported:"تم استيراد ملف واحد",filesImported:"تم استيراد {count} ملفات"}},dateGroups:{today:"اليوم",yesterday:"أمس",previous7Days:"آخر 7 أيام",previous30Days:"آخر 30 يومًا"},commands:{open:"فتح",toggleLeftSidebar:"تبديل الشريط الجانبي الأيسر",openHomepage:"فتح الصفحة الرئيسية",openDailyNote:"فتح الملاحظة اليومية",openWeeklyNote:"فتح الملاحظة الأسبوعية",openMonthlyNote:"فتح الملاحظة الشهرية",openQuarterlyNote:"فتح الملاحظة الفصلية",openYearlyNote:"فتح الملاحظة السنوية",revealFile:"الكشف عن الملف",search:"بحث",searchVaultRoot:"بحث في جذر الخزنة",toggleDualPane:"تبديل تخطيط اللوحتين",toggleDualPaneOrientation:"تبديل اتجاه اللوحتين",toggleCalendar:"تبديل التقويم",selectVaultProfile:"اختيار ملف الخزنة",selectVaultProfile1:"اختيار ملف الخزنة 1",selectVaultProfile2:"اختيار ملف الخزنة 2",selectVaultProfile3:"اختيار ملف الخزنة 3",deleteFile:"حذف الملفات",createNewNote:"إنشاء ملاحظة جديدة",createNewNoteFromTemplate:"ملاحظة جديدة من قالب",moveFiles:"نقل الملفات",mergeNotes:"دمج الملاحظات",selectNextFile:"تحديد الملف التالي",selectPreviousFile:"تحديد الملف السابق",navigateBack:"الانتقال للخلف",navigateForward:"الانتقال للأمام",convertToFolderNote:"تحويل إلى ملاحظة مجلد",setAsFolderNote:"تعيين كملاحظة مجلد",detachFolderNote:"فصل ملاحظة المجلد",pinAllFolderNotes:"تثبيت جميع ملاحظات المجلدات",navigateToFolder:"الانتقال إلى مجلد",navigateToTag:"الانتقال إلى وسم",navigateToProperty:"الانتقال إلى خاصية",addShortcut:"إضافة إلى الاختصارات",openShortcut:"فتح الاختصار {number}",toggleDescendants:"تبديل الفروع",toggleHidden:"تبديل المجلدات والوسوم والملاحظات المخفية",toggleTagSort:"تبديل ترتيب فرز الوسوم",toggleTagsBySelection:"تبديل الوسوم حسب التحديد",togglePropertiesBySelection:"تبديل الخصائص حسب التحديد",toggleCompactMode:"تبديل الوضع المضغوط",togglePinnedSection:"تبديل قسم المثبتة",collapseExpand:"طي / توسيع جميع العناصر",collapseExpandSelectedItem:"طي / توسيع العنصر المحدد",addTag:"إضافة وسم للملفات المحددة",setProperty:"تعيين خاصية على الملفات المحددة",removeTag:"إزالة وسم من الملفات المحددة",removeAllTags:"إزالة جميع الوسوم من الملفات المحددة",openAllFiles:"فتح جميع الملفات",rebuildCache:"إعادة بناء الذاكرة المؤقتة"},plugin:{viewName:"متصفح الدفتر",calendarViewName:"تقويم",folderNoteSidebarViewName:"ملاحظة المجلد",ribbonTooltip:"متصفح الدفتر",revealInNavigator:"الكشف في متصفح الدفتر"},tooltips:{lastModifiedAt:"آخر تعديل في",createdAt:"تاريخ الإنشاء",file:"ملف",files:"ملفات",folder:"مجلد",folders:"مجلدات",wordCount:"عدد الكلمات"},fileCounts:{words:"{count} كلمة",characters:"{count} حرفاً",separator:" · "},settings:{changeDefaultSettings:"تغيير الإعدادات الافتراضية",metadataReport:{exportSuccess:"تم تصدير تقرير البيانات الوصفية الفاشلة إلى: {filename}",exportFailed:"فشل تصدير تقرير البيانات الوصفية"},sections:{general:"عام",vaultFilters:"مرشحات العرض",appearanceBehavior:"المظهر والسلوك",navigationPane:"لوحة التنقل",calendar:"التقويم",fileOperations:"عمليات الملفات",icons:"حزم الأيقونات",folders:"مجلدات",folderNotes:"ملاحظات المجلد",folderNoteFiles:"ملفات ملاحظات المجلد",foldersAndFolderNotes:"المجلدات وملاحظات المجلد",tagsAndProperties:"الوسوم والخصائص",tags:"وسوم",listPane:"لوحة القائمة",notes:"عرض الملفات",shortcutsAndRecentFiles:"الاختصارات والملفات الأخيرة",advanced:"متقدم"},pageGroups:{configuration:"التكوين",navigationAndContent:"لوحة التنقل",notesAndLists:"لوحة القائمة",calendarAndTools:"التقويم والأدوات"},pageDescriptions:{general:"ملاحظات الإصدار والدعم وملف الخزنة وأنواع الملفات ومفاتيح الخصائص.",vaultFilters:"المجلدات والوسوم والملفات ووسوم الملفات وقواعد الخصائص المخفية.",appearanceBehavior:"السلوك والتنقل بلوحة المفاتيح وأزرار الفأرة والمظهر والتنسيق.",navigationPane:"التخطيط والمظهر وعدد الملاحظات وسلوك الطي وألوان قوس قزح.",shortcuts:"رؤية الاختصارات والشارات والملفات الأخيرة والعناصر المثبتة.",calendar:"عرض التقويم وملاحظات التاريخ والقوالب والإعدادات المحلية وموضع الشريط الجانبي.",fileOperations:"قوالب، تأكيدات الحذف والمرفقات وسلوك تعارض نقل الملفات.",foldersAndFolderNotes:"عرض المجلدات وملاحظات المجلد وقوالب ملاحظات المجلد وسلوك ملاحظات المجلد.",tagsProperties:"أقسام الوسوم والخصائص والأيقونات والفرز والنطاق والوراثة.",listPane:"الفرز والتجميع وأوضاع القائمة والملاحظات المثبتة ومعاينات الرسومات.",frontmatter:"حقول البيانات الأمامية لأسماء العرض والطوابع الزمنية والأيقونات والألوان.",notes:"العناوين ونص المعاينة والصور المميزة والوسوم والخصائص والتواريخ وعدد الكلمات وعدد الأحرف.",iconPacks:"أيقونات الواجهة وأيقونات الملفات وإدارة حزم الأيقونات.",advanced:"التشخيص وتنظيف البيانات الوصفية والاستيراد/التصدير وإعادة التعيين."},groups:{general:{vaultConfiguration:"إعداد الخزنة",templates:"قوالب",behavior:"السلوك",keyboardNavigation:"التنقل بلوحة المفاتيح",mouseButtons:"أزرار الفأرة",view:"المظهر",icons:"الأيقونات",desktopAppearance:"مظهر سطح المكتب",mobileAppearance:"مظهر الهاتف المحمول",formatting:"التنسيق"},advanced:{maintenance:"الصيانة",resetSettings:"إعادة ضبط الإعدادات"},navigation:{appearance:"المظهر",banner:"اللافتة",collapseItems:"طي العناصر",dragAndDrop:"السحب والإفلات",noteCounts:"عدد الملاحظات",rainbowColors:"ألوان قوس قزح",leftSidebar:"الشريط الجانبي الأيسر",calendarIntegration:"تكامل التقويم"},list:{display:"المظهر",groupHeaders:"رؤوس المجموعات",propertySort:"الفرز حسب الخاصية",manualSort:"الفرز اليدوي",pinnedNotes:"الملاحظات المثبتة",drawingPreviews:"معاينات الرسومات"},notes:{frontmatter:"حقول البيانات الأمامية",tasks:"المهام",icon:"الأيقونة",title:"العنوان",previewText:"نص المعاينة",featureImage:"الصورة المميزة",tags:"الوسوم",properties:"الخصائص",date:"التاريخ",parentFolder:"المجلد الأصلي",wordCount:"عدد الكلمات والأحرف"}},syncMode:{notSynced:"(غير متزامن)",switchToSynced:"تفعيل المزامنة",switchToLocal:"تعطيل المزامنة"},items:{listPaneTitle:{name:"عنوان لوحة القائمة",desc:"اختر مكان عرض عنوان لوحة القائمة.",options:{header:"إظهار في الرأس",list:"إظهار في لوحة القائمة",hidden:"عدم الإظهار"}},sortNotesBy:{name:"ترتيب الفرز الافتراضي",desc:"اختر ترتيب الفرز الافتراضي للملاحظات.",options:{"modified-desc":"تاريخ التعديل (الأحدث في الأعلى)","modified-asc":"تاريخ التعديل (الأقدم في الأعلى)","created-desc":"تاريخ الإنشاء (الأحدث في الأعلى)","created-asc":"تاريخ الإنشاء (الأقدم في الأعلى)","title-asc":"العنوان (أ في الأعلى)","title-desc":"العنوان (ي في الأعلى)","filename-asc":"اسم الملف (أ في الأعلى)","filename-desc":"اسم الملف (ي في الأعلى)"},directions:{asc:"تصاعدي",desc:"تنازلي"},fields:{modified:"تاريخ التعديل",created:"تاريخ الإنشاء",title:"العنوان",filename:"اسم الملف",property:"الخاصية"}},propertySortKey:{name:"الخصائص للترتيب حسبها",desc:"خصائص الواجهة الأمامية مفصولة بفواصل تُعرض كخيارات للفرز حسب الخاصية. يتم دمج قيم المصفوفات في سلسلة واحدة. هذه الخصائص لا يتم تغييرها.",placeholder:"published, author"},propertySortSecondary:{name:"الترتيب الثانوي",desc:"يُستخدم مع ترتيب الخاصية عندما تكون للملاحظات نفس قيمة الخاصية أو بدون قيمة خاصية.",options:{title:"العنوان",filename:"اسم الملف",created:"تاريخ الإنشاء",modified:"تاريخ التعديل"}},propertySortInstructions:{intro:"تظهر كل خاصية مدرجة أعلاه كخيار فرز في قائمة الفرز في لوحة القائمة. اختيار إحداها يفرز الملاحظات حسب قيمتها في الواجهة الأمامية."},manualSortPropertyKey:{name:"خاصية الفرز اليدوي",desc:"خاصية الواجهة الأمامية المستخدمة لتخزين قيم الفهرس الرقمية للفرز اليدوي."},manualSortGroupHeaderProperty:{name:"خاصية عنوان المجموعة",desc:"خاصية الواجهة الأمامية المستخدمة لتخزين رؤوس المجموعات المخصصة."},groupHeadersInstructions:{intro:"تظهر رؤوس المجموعات المخصصة أعلى الملاحظات في لوحة القائمة.",items:["من قائمة الفرز في لوحة القائمة، اضبط التجميع على **مخصص**.","انقر بزر الفأرة الأيمن على ملاحظة واختر **تعيين عنوان المجموعة** لإضافة عنوان فوقها."]},manualSortNewNotePlacement:{name:"موضع الملاحظة الجديدة",desc:"اختر مكان وضع الملاحظات الجديدة عندما تستخدم القائمة الحالية الفرز اليدوي.",options:{top:"الأعلى",bottom:"الأسفل","below-selected-note":"أسفل الملاحظة المحددة",unsorted:"غير مرتبة"}},confirmBeforeManualSort:{name:"تأكيد قبل الفرز اليدوي",desc:"إظهار تحذير قبل كتابة خاصية الفرز اليدوي في الملاحظات للمرة الأولى. عند التعطيل، تتلقى الملاحظات الخاصية دون تحذير."},manualSortInstructions:{intro:'يكتب الفرز اليدوي قيمة فهرس رقمية إلى خاصية الواجهة الأمامية على كل ملاحظة. تظهر الملاحظات بدون فهرس ضمن "غير مرتبة".',items:["فعّل الفرز اليدوي باختيار **فرز يدوي** من قائمة الفرز. بعد ذلك، توجد طريقتان لإعادة ترتيب الملاحظات.","اختر **تحرير ترتيب الفرز...** من قائمة الفرز لفتح عرض إعادة الترتيب. اسحب الملاحظات بالفأرة، أو باللمس على الجوال. على سطح المكتب، النقر مع **Cmd/Ctrl** أو **Shift** يحدد عدة ملاحظات، ثم سحب أي منها ينقل المجموعة بأكملها.","في لوحة القائمة، حدد ملاحظة واحدة أو حدد عدة ملاحظات، ثم اضغط **Cmd/Ctrl + Arrow Up/Down** لنقل التحديد لأعلى أو لأسفل."]},revealFileOnListChanges:{name:"التمرير إلى الملف المحدد عند تغيير القائمة",desc:"التمرير إلى الملف المحدد عند تثبيت الملاحظات، أو إظهار ملاحظات الفروع، أو تغيير مظهر المجلد، أو تنفيذ عمليات الملفات."},includeDescendantNotes:{name:"إظهار ملاحظات المجلدات الفرعية / الفروع",desc:"تضمين الملاحظات من المجلدات الفرعية المتداخلة وفروع الوسوم والخصائص عند عرض مجلد أو وسم أو خاصية."},limitPinnedToCurrentFolder:{name:"تثبيت الملاحظات في مجلدها فقط",desc:"تظهر الملاحظات المثبتة كمثبتة فقط في مجلدها الخاص. مفيد لملاحظات المجلدات أو إذا كان لديك العديد من الملاحظات المثبتة. لا يؤثر على عروض الوسوم أو الخصائص."},separateNoteCounts:{name:"إظهار عدد الملاحظات الحالية والفرعية بشكل منفصل",desc:'عرض عدد الملاحظات بتنسيق "الحالي ▾ الفروع" في المجلدات والوسوم والخصائص.'},groupNotes:{name:"التجميع الافتراضي",desc:'يعرض "مخصص" الرؤوس المعرفة في الواجهة الأمامية. يجمع "التاريخ" الملاحظات حسب التاريخ. يجمع "المجلد" الملاحظات حسب المجلد. تستخدم عروض الوسوم والخصائص تجميع التاريخ عند تحديد المجلد.',options:{custom:"مخصص",date:"التاريخ",folder:"المجلد"}},showSelectedNavigationPills:{name:"إظهار جميع شارات الوسوم والخصائص دائمًا",desc:'عند التعطيل، يتم إخفاء الشارات التي تتطابق مع اختيار التنقل الحالي (مثلاً، يتم إخفاء شارة وسم "وصفات" عند تصفح وسم "وصفات"). قم بالتفعيل لإبقاء جميع الشارات مرئية.'},stickyGroupHeaders:{name:"تثبيت رؤوس المجموعات",desc:"إبقاء رأس قسم التاريخ أو المجلد أو القسم المثبت الحالي مرئيًا أثناء التمرير."},showFolderGroupPaths:{name:"إظهار مسارات المجلدات الفرعية",desc:"عند التجميع حسب المجلد في لوحة القائمة، اعرض مسارات المجلدات الفرعية بدلاً من أسماء المجلدات فقط."},showCurrentFolderFilesAtBottom:{name:"تجميع المجلدات: ملفات المجلد الحالي في الأسفل",desc:"عندما يكون التجميع الافتراضي هو المجلد، انقل الملفات الموجودة مباشرة في المجلد المحدد أسفل مجموعات المجلدات الفرعية."},defaultListMode:{name:"وضع القائمة الافتراضي",desc:"اختر تخطيط القائمة الافتراضي. القياسي يعرض العنوان والتاريخ والوصف ونص المعاينة. المضغوط يعرض العنوان فقط. تجاوز المظهر لكل مجلد.",options:{standard:"قياسي",compact:"مضغوط"}},showFileIcons:{name:"إظهار أيقونات الملفات",desc:"عرض أيقونات الملفات مع مسافة محاذاة لليسار. التعطيل يزيل الأيقونات والمسافة البادئة. الأولوية: أيقونة المهام غير المكتملة > أيقونة مخصصة > أيقونة المجلد > أيقونة اسم الملف > أيقونة نوع الملف > أيقونة افتراضية."},useFolderIcon:{name:"استخدام أيقونة المجلد",desc:"عرض أيقونة المجلد الأصلي عند عدم تعيين أيقونة ملف مخصصة. يُستخدم لون المجلد عند عدم تعيين لون ملف مخصص."},showFileIconUnfinishedTask:{name:"أيقونة المهام غير المكتملة",desc:"عرض أيقونة مهمة عندما تحتوي الملاحظة على مهام غير مكتملة."},showFileBackgroundUnfinishedTask:{name:"خلفية المهام غير المكتملة",desc:"تطبيق لون خلفية عندما تحتوي الملاحظة على مهام غير مكتملة."},unfinishedTaskBackgroundColor:{name:"لون خلفية المهام غير المكتملة",desc:"تعيين لون الخلفية المستخدم عندما تحتوي الملاحظة على مهام غير مكتملة."},showFilenameMatchIcons:{name:"أيقونات حسب اسم الملف",desc:"تعيين أيقونات للملفات بناءً على النص في أسمائها."},fileNameIconMap:{name:"خريطة أيقونات اسم الملف",desc:"الملفات التي تحتوي على النص تحصل على الأيقونة المحددة. تعيين واحد لكل سطر: نص=أيقونة",placeholder:`# نص=أيقونة
اجتماع=ph-calendar
فاتورة=ph-receipt`,editTooltip:"تعديل التعيينات"},showCategoryIcons:{name:"أيقونات حسب نوع الملف",desc:"تعيين أيقونات للملفات بناءً على امتدادها."},fileTypeIconPreset:{name:"إعداد أيقونات الملفات المسبق",desc:"اختر الأيقونات المدمجة أو إعدادًا مسبقًا لحزمة أيقونات. تتجاوز قواعد الامتدادات المخصصة هذا الإعداد المسبق.",options:{none:"الأيقونات المدمجة"},notInstalledWarning:"حزمة الأيقونات هذه غير مثبتة. تُعرض الأيقونات المدمجة بدلاً منها."},fileTypeIconMap:{name:"خريطة أيقونات نوع الملف",desc:"الملفات ذات الامتداد تحصل على الأيقونة المحددة. تعيين واحد لكل سطر: امتداد=أيقونة",placeholder:`# Extension=icon
cpp=ph-file-code
pdf=ph-file-pdf`,editTooltip:"تعديل التعيينات"},compactItemHeight:{name:"ارتفاع العنصر المضغوط",desc:"تعيين ارتفاع عناصر القائمة المضغوطة على سطح المكتب والجوال (بالبكسل).",resetTooltip:"استعادة إلى الافتراضي (28 بكسل)"},compactItemHeightScaleText:{name:"تحجيم النص مع ارتفاع العنصر المضغوط",desc:"تحجيم نص القائمة المضغوطة عند تقليل ارتفاع العنصر."},showParentFolder:{name:"إظهار المجلد الأصلي",desc:"عرض اسم المجلد الأصلي للملاحظات في المجلدات الفرعية أو الوسوم أو الخصائص."},showParentFolderFullPath:{name:"إظهار المسار الكامل",desc:"عرض المسار الكامل للمجلد الأصلي بدلاً من اسم المجلد فقط."},parentFolderClickRevealsFile:{name:"النقر على المجلد الأصلي يفتح المجلد",desc:"النقر على تسمية المجلد الأصلي يفتح المجلد في لوحة القائمة."},showParentFolderColor:{name:"إظهار لون المجلد الأصلي",desc:"استخدام ألوان المجلدات على تسميات المجلد الأصلي."},showParentFolderIcon:{name:"إظهار أيقونة المجلد الأصلي",desc:"إظهار أيقونات المجلدات بجانب تسميات المجلد الأصلي."},showQuickActions:{name:"إظهار الإجراءات السريعة",desc:"إظهار أزرار الإجراءات عند التمرير فوق الملفات. أدوات التحكم في الأزرار تحدد الإجراءات التي تظهر."},dualPane:{name:"تخطيط اللوحتين",desc:"إظهار لوحة التنقل ولوحة القائمة جنبًا إلى جنب على سطح المكتب."},dualPaneOrientation:{name:"اتجاه اللوحتين",desc:"اختر التخطيط الأفقي أو الرأسي عند تنشيط اللوحتين.",options:{horizontal:"تقسيم أفقي",vertical:"تقسيم رأسي"}},narrowSidebarLayout:{name:"عندما يكون الشريط الجانبي ضيقًا جدًا",desc:"اختر ما يحدث عندما لا تتسع لوحة التنقل ولوحة القائمة جنبًا إلى جنب.",options:{none:"عدم فعل شيء",singlePane:"التبديل إلى لوحة واحدة",vertical:"التبديل إلى تقسيم عمودي"}},narrowSidebarTrigger:{name:"حد الشريط الجانبي الضيق",desc:"اختر كيفية حساب حد عرض الشريط الجانبي.",options:{fitPanes:"ملاءمة اللوحات",customWidth:"عرض مخصص"}},narrowSidebarCustomWidth:{name:"عرض حد الشريط الجانبي الضيق",desc:"يتم التبديل عندما يكون الشريط الجانبي أضيق من هذا العرض.",resetTooltip:"إعادة التعيين إلى العرض الافتراضي"},appearanceBackground:{name:"لون الخلفية",desc:"اختر ألوان الخلفية للوحة التنقل ولوحة القائمة.",options:{separate:"خلفيات منفصلة",primary:"استخدام خلفية القائمة",secondary:"استخدام خلفية التنقل"}},appearanceScale:{name:"مستوى التكبير",desc:"التحكم في مستوى التكبير العام لمتصفح الدفتر (بالنسبة المئوية)."},useFloatingToolbars:{name:"استخدام أشرطة الأدوات العائمة على iOS/iPadOS",desc:"ينطبق فقط على iOS وiPadOS."},startView:{name:"عرض البدء الافتراضي",desc:"اختر اللوحة التي تعرض عند فتح متصفح الدفتر. لوحة التنقل تعرض الاختصارات والملفات الحديثة وشجرة المجلدات. لوحة القائمة تعرض قائمة الملفات فورًا.",options:{navigation:"لوحة التنقل",files:"لوحة القائمة"}},toolbarButtons:{name:"أزرار شريط الأدوات",desc:"اختر الأزرار التي تظهر في شريط الأدوات. الأزرار المخفية تبقى قابلة للوصول عبر الأوامر والقوائم.",navigationLabel:"شريط أدوات التنقل",listLabel:"شريط أدوات القائمة"},createNewNotesInNewTab:{name:"فتح الملاحظات الجديدة في علامة تبويب جديدة",desc:"عند التفعيل، يفتح أمر إنشاء ملاحظة جديدة الملاحظات في علامة تبويب جديدة. عند التعطيل، تحل الملاحظات محل علامة التبويب الحالية."},autoRevealActiveNote:{name:"الكشف التلقائي عن الملاحظة النشطة",desc:"الكشف تلقائيًا عن الملاحظات عند فتحها من المبدل السريع أو الروابط أو البحث."},autoRevealShortestPath:{name:"الكشف التلقائي: استخدام أقصر مسار",desc:"مفعّل: يختار الكشف التلقائي أقرب مجلد أصل أو وسم مرئي. معطّل: يختار الكشف التلقائي المجلد الفعلي للملف والوسم الدقيق."},autoRevealIgnoreRightSidebar:{name:"الكشف التلقائي: تجاهل الأحداث من الشريط الجانبي الأيمن",desc:"عدم تغيير الملاحظة النشطة عند النقر أو تغيير الملاحظات في الشريط الجانبي الأيمن."},autoRevealIgnoreOtherWindows:{name:"الكشف التلقائي: تجاهل الأحداث من النوافذ الأخرى",desc:"عدم تغيير الملاحظة النشطة عند العمل مع الملاحظات في نافذة أخرى."},paneTransitionDuration:{name:"تحريك اللوحة المفردة",desc:"مدة الانتقال عند التبديل بين اللوحات في وضع اللوحة المفردة (ملي ثانية).",resetTooltip:"إعادة تعيين إلى الافتراضي"},autoSelectFirstFileOnFocusChange:{name:"التحديد التلقائي لأول ملاحظة",desc:"فتح أول ملاحظة تلقائيًا عند تبديل المجلدات أو الوسوم أو الخصائص."},skipAutoScroll:{name:"تعطيل التمرير التلقائي للاختصارات",desc:"عدم تمرير لوحة التنقل عند النقر على عناصر في الاختصارات."},autoExpandNavItems:{name:"التوسيع عند التحديد",desc:"توسيع المجلدات والوسوم عند تحديدها. في وضع اللوحة الواحدة، التحديد الأول يوسع، والتحديد الثاني يعرض الملفات."},collapseOtherBranchesOnExpand:{name:"فرع واحد موسّع",desc:"طي الفروع الأخرى في نفس الشجرة عند توسيع مجلد أو وسم أو خاصية."},springLoadedFolders:{name:"التوسيع أثناء السحب",desc:"توسيع المجلدات والوسوم عند التمرير فوقها أثناء السحب."},springLoadedFoldersInitialDelay:{name:"التوسيع أثناء السحب: تأخير التوسيع الأول",desc:"التأخير قبل توسيع أول مجلد أو وسم أثناء السحب (بالثواني)."},springLoadedFoldersSubsequentDelay:{name:"التوسيع أثناء السحب: تأخير التوسيع اللاحق",desc:"التأخير قبل توسيع مجلدات أو وسوم إضافية أثناء نفس عملية السحب (بالثواني)."},navigationBanner:{name:"شعار التنقل (ملف الخزنة)",desc:"عرض صورة فوق لوحة التنقل. يتغير مع ملف الخزنة المحدد.",current:"الشعار الحالي: {path}",chooseButton:"اختيار صورة"},pinNavigationBanner:{name:"تثبيت البانر",desc:"تثبيت لافتة التنقل فوق شجرة التنقل."},showShortcuts:{name:"إظهار الاختصارات",desc:"عرض قسم الاختصارات في لوحة التنقل."},shortcutBadgeDisplay:{name:"شارة الاختصار",desc:"ما يتم عرضه بجانب الاختصارات. استخدم أوامر 'فتح الاختصار 1-9' لفتح الاختصارات مباشرة.",options:{index:"الموضع (1-9)",count:"عدد العناصر",none:"لا شيء"}},showRecentNotes:{name:"إظهار الملفات الحديثة",desc:"عرض قسم الملفات الحديثة في لوحة التنقل."},hideRecentNotes:{name:"إخفاء أنواع الملفات من الملفات الحديثة",desc:"اختر أنواع الملفات المراد إخفاؤها في قسم الملفات الحديثة.",options:{none:"لا شيء",folderNotes:"ملاحظات المجلدات"}},recentNotesCount:{name:"عدد الملفات الحديثة",desc:"عدد الملفات الحديثة المعروضة."},pinRecentNotesWithShortcuts:{name:"تثبيت الملفات الحديثة مع الاختصارات",desc:"تضمين الملفات الحديثة عند تثبيت الاختصارات."},calendarEnabled:{name:"تفعيل التقويم",desc:"تفعيل ميزات التقويم في Notebook Navigator."},calendarPlacement:{name:"موضع التقويم",desc:"العرض في الشريط الجانبي الأيمن أو الأيسر.",options:{leftSidebar:"الشريط الجانبي الأيمن",rightSidebar:"الشريط الجانبي الأيسر"}},calendarLeftPlacement:{name:"موضع الجزء الفردي",desc:"مكان عرض التقويم في وضع الجزء الفردي.",options:{navigationPane:"جزء التنقل",below:"أسفل الأجزاء"}},calendarLocale:{name:"اللغة",desc:"التحكم في تنسيق تواريخ التقويم وترقيم الأسابيع واليوم الأول من الأسبوع.",weekPathMismatchWarning:"التقويم المرئي ومسارات الملاحظات الأسبوعية تستخدم بدايات أسابيع أو ترقيم أسابيع مختلفة.",options:{systemDefault:"افتراضي"}},calendarWeekendDays:{name:"أيام عطلة نهاية الأسبوع",desc:"عرض أيام عطلة نهاية الأسبوع بلون خلفية مختلف.",options:{none:"لا شيء",satSun:"السبت والأحد",friSat:"الجمعة والسبت",thuFri:"الخميس والجمعة"}},calendarMonthHeadingFormat:{name:"تنسيق اسم الشهر",desc:"اسم الشهر الكامل (يناير) أو المختصر (يناير).",options:{full:"يناير (كامل)",short:"يناير (مختصر)"}},showInfoButtons:{name:"إظهار أزرار المعلومات",desc:"عرض أزرار المعلومات في شريط البحث ورأس التقويم."},calendarWeeksToShow:{name:"الأسابيع المعروضة في الشريط الجانبي الأيمن",desc:"التقويم في الشريط الجانبي الأيسر يعرض الشهر كاملاً دائماً.",options:{fullMonth:"شهر كامل",oneWeek:"أسبوع واحد",weeksCount:"{count} أسابيع"}},calendarHighlightToday:{name:"تمييز تاريخ اليوم",desc:"تمييز تاريخ اليوم بلون خلفية ونص غامق."},calendarShowFeatureImage:{name:"عرض صورة الميزة",desc:"عرض صور الميزات للملاحظات في التقويم."},calendarShowWeekNumber:{name:"عرض رقم الأسبوع",desc:"إضافة عمود برقم الأسبوع."},calendarShowQuarter:{name:"عرض الربع",desc:"إضافة تسمية الربع في رأس التقويم."},calendarShowYearCalendar:{name:"عرض تقويم السنة",desc:"عرض التنقل بين السنوات وشبكة الأشهر في الشريط الجانبي الأيمن."},calendarConfirmBeforeCreate:{name:"تأكيد قبل الإنشاء",desc:"عرض مربع حوار تأكيد عند إنشاء ملاحظة يومية جديدة."},calendarIntegrationMode:{name:"مصدر الملاحظات اليومية",desc:"مصدر ملاحظات التقويم.",options:{dailyNotes:"الملاحظات اليومية (المكوّن الإضافي الأساسي)",notebookNavigator:"Notebook Navigator"},info:{dailyNotes:"يتم تكوين المجلد وتنسيق التاريخ في إضافة الملاحظات اليومية الأساسية."}},calendarPeriodicNotesLocale:{name:"لغة الملاحظات الدورية",desc:"يتحكم في أسماء الأشهر والأيام المحلية وأرقام الأسابيع وبدايات الأسابيع في مسارات الملاحظات الدورية في Notebook Navigator.",options:{calendar:"التقويم",obsidian:"Obsidian"}},calendarCustomRootFolder:{name:"المجلد الجذر",desc:"المجلد الأساسي للملاحظات الدورية. يمكن أن تتضمن أنماط التاريخ مجلدات فرعية. يتغير مع ملف تعريف الخزنة المحدد.",placeholder:"Personal/Diary"},calendarTemplateFolder:{name:"موقع مجلد القوالب",desc:"يعرض منتقي ملفات القوالب الملاحظات من هذا المجلد.",placeholder:"Templates",usage:"تُستخدم بواسطة ملاحظات التقويم وملاحظات المجلد. اضبط القوالب في التقويم > تكامل التقويم والمجلدات وملاحظات المجلد > ملفات ملاحظات المجلد."},calendarCustomFilePattern:{name:"الملاحظات اليومية",desc:"تنسيق المسار باستخدام تنسيق تاريخ Moment. ضع أسماء المجلدات الفرعية بين أقواس معقوفة، مثال [Work]/YYYY. انقر على أيقونة القالب لتعيين قالب. حدد موقع مجلد القوالب في عمليات الملفات > قوالب.",momentDescPrefix:"تنسيق المسار باستخدام ",momentLinkText:"تنسيق تاريخ Moment",momentDescSuffix:". ضع أسماء المجلدات الفرعية بين أقواس معقوفة، مثال [Work]/YYYY. انقر على أيقونة القالب لتعيين قالب. حدد موقع مجلد القوالب في عمليات الملفات > قوالب.",templaterSupportInstalled:"✅ تم تثبيت إضافة Templater مع دعم كامل للقوالب.",templaterSupportMissing:"⚠️ ثبّت إضافة Templater للحصول على دعم كامل للقوالب.",placeholder:"YYYY/YYYYMMDD",example:"الصيغة الحالية: {path}",parsingError:"يجب أن يقوم النمط بتنسيق التاريخ ثم تحليله مرة أخرى كتاريخ كامل (السنة، الشهر، اليوم)."},calendarCustomWeekPattern:{name:"الملاحظات الأسبوعية",parsingError:"يجب أن يقوم النمط بتنسيق الأسبوع ثم تحليله مرة أخرى كأسبوع كامل (سنة الأسبوع، رقم الأسبوع).",weekPathMismatchWarning:'تستخدم مسارات الملاحظات الأسبوعية لغة الملاحظات الدورية. استخدم لغات متطابقة، أو استخدم "GGGG" مع "WW" للأسابيع المستندة إلى الإثنين.',mixedWeekTokensWarning:'هذا النمط يخلط رموز الأسبوع المستندة إلى الإثنين ("W" أو "G") مع رموز الأسبوع المستندة إلى اللغة ("w" أو "g"). استخدم مجموعة واحدة باستمرار: "GGGG" مع "WW" للأسابيع المستندة إلى الإثنين، أو "gggg" مع "ww" إذا كانت الملاحظات الأسبوعية يجب أن تتبع اللغة المحددة.'},calendarCustomMonthPattern:{name:"الملاحظات الشهرية",parsingError:"يجب أن يقوم النمط بتنسيق الشهر ثم تحليله مرة أخرى كشهر كامل (السنة، الشهر)."},calendarCustomQuarterPattern:{name:"الملاحظات الفصلية",parsingError:"يجب أن يقوم النمط بتنسيق الفصل ثم تحليله مرة أخرى كفصل كامل (السنة، الفصل)."},calendarCustomYearPattern:{name:"الملاحظات السنوية",parsingError:"يجب أن يقوم النمط بتنسيق السنة ثم تحليلها مرة أخرى كسنة كاملة (السنة)."},calendarTemplateFile:{current:"ملف القالب: {name}"},showTooltips:{name:"إظهار التلميحات",desc:"عرض تلميحات التمرير مع معلومات إضافية للملاحظات والمجلدات."},showTooltipPath:{name:"إظهار المسار في التلميحات",desc:"عرض مسار المجلد أسفل أسماء الملاحظات في التلميحات."},showTooltipWordCount:{name:"إظهار عدد الكلمات في التلميحات",desc:"عرض عدد كلمات الملاحظات في التلميحات."},resetPaneSeparator:{name:"إعادة تعيين موضع فاصل اللوحة",desc:"إعادة تعيين الفاصل القابل للسحب بين لوحة التنقل ولوحة القائمة إلى الموضع الافتراضي.",buttonText:"إعادة تعيين الفاصل",notice:"تم إعادة تعيين موضع الفاصل. أعد تشغيل Obsidian أو أعد فتح متصفح الدفتر للتطبيق."},settingsTransfer:{name:"استيراد وتصدير الإعدادات",desc:"تصدير أو استيراد إعدادات متصفح الدفتر بصيغة JSON. يؤدي الاستيراد إلى استبدال جميع الإعدادات.",importButtonText:"استيراد",exportButtonText:"تصدير",import:{modalTitle:"استيراد الإعدادات",fileButtonName:"استيراد من ملف",fileButtonDesc:"تحميل ملف JSON من القرص.",fileButtonText:"استيراد من ملف",editorName:"JSON",editorDesc:"الصق أو عدّل JSON أدناه. الإعدادات غير المضمنة تُعاد إلى القيم الافتراضية.",placeholder:`{
  "folderSortOrder": "alpha-desc"
}`,confirmButtonText:"استيراد",successNotice:"تم استيراد الإعدادات.",errorNotice:"فشل استيراد الإعدادات: {message}",fileReadError:"تعذّر قراءة الملف: {message}"},export:{modalTitle:"تصدير الإعدادات",editorName:"JSON",editorDesc:"يتم تضمين الإعدادات المختلفة عن القيم الافتراضية فقط.",placeholder:"{}",copyButtonText:"نسخ إلى الحافظة",downloadButtonText:"تنزيل",copyNotice:"تم نسخ الإعدادات إلى الحافظة.",downloadNotice:"تم تصدير الإعدادات.",downloadError:"فشل تنزيل الإعدادات: {message}"}},resetAllSettings:{name:"إعادة تعيين جميع الإعدادات",desc:"إعادة تعيين جميع إعدادات متصفح الدفتر إلى القيم الافتراضية.",buttonText:"إعادة تعيين جميع الإعدادات",confirmTitle:"إعادة تعيين جميع الإعدادات؟",confirmMessage:"سيؤدي هذا إلى إعادة تعيين جميع إعدادات متصفح الدفتر إلى القيم الافتراضية. لا يمكن التراجع عن ذلك.",confirmButtonText:"إعادة تعيين جميع الإعدادات",notice:"تمت إعادة تعيين جميع الإعدادات. أعد تشغيل Obsidian أو أعد فتح متصفح الدفتر للتطبيق.",error:"فشل إعادة تعيين الإعدادات."},multiSelectModifier:{name:"معدل التحديد المتعدد",desc:"اختر مفتاح التعديل الذي يبدل التحديد المتعدد. عند اختيار Option/Alt، النقر مع Cmd/Ctrl يفتح الملاحظات في علامة تبويب جديدة.",options:{cmdCtrl:"النقر مع Cmd/Ctrl",optionAlt:"النقر مع Option/Alt"}},enterToOpenFiles:{name:"اضغط Enter لفتح الملفات",desc:"فتح الملفات فقط عند الضغط على Enter أثناء التنقل بلوحة المفاتيح في القائمة. على macOS، يمنع ذلك Enter من إعادة تسمية الملفات."},shiftEnterOpenContext:{name:"Shift+Enter",desc:"اختر ما إذا كان Shift+Enter يفتح الملف المحدد أو يعيد تسميته."},cmdEnterOpenContext:{name:"Cmd+Enter",desc:"اختر ما إذا كان Cmd+Enter يفتح الملف المحدد أو يعيد تسميته."},ctrlEnterOpenContext:{name:"Ctrl+Enter",desc:"اختر ما إذا كان Ctrl+Enter يفتح الملف المحدد أو يعيد تسميته."},mouseBackForwardAction:{name:"أزرار الرجوع/التقدم في الفأرة",desc:"الإجراء لأزرار الرجوع والتقدم في الفأرة على سطح المكتب.",options:{none:"استخدام الإعداد الافتراضي للنظام",singlePaneSwitch:"تبديل الألواح (لوح واحد)",history:"التنقل في السجل"}},fileVisibility:{name:"إظهار أنواع الملفات (ملف الخزنة)",desc:"تصفية أنواع الملفات المعروضة في المتصفح. أنواع الملفات غير المدعومة من Obsidian قد تفتح في تطبيقات خارجية.",options:{documents:"مستندات (.md, .canvas, .base)",supported:"مدعومة (تفتح في Obsidian)",all:"الكل (قد تفتح خارجيًا)"}},homepage:{name:"الصفحة الرئيسية",desc:"اختر ما يفتحه Notebook Navigator تلقائيًا عند بدء التشغيل.",current:"الحالي: {path}",chooseButton:"اختيار ملف",options:{none:"لا شيء",file:"ملف",dailyNote:"ملاحظة يومية",weeklyNote:"ملاحظة أسبوعية",monthlyNote:"ملاحظة شهرية",quarterlyNote:"ملاحظة ربع سنوية",yearlyNote:"ملاحظة سنوية"},file:{name:"الصفحة الرئيسية: ملف بدء التشغيل",empty:"لم يتم اختيار ملف"},createMissing:{name:"الصفحة الرئيسية: إنشاء ملاحظة إذا كانت مفقودة",desc:"إنشاء الملاحظة الدورية عند بدء التشغيل أو عبر الأمر إذا لم تكن موجودة."}},excludedNotes:{name:"إخفاء الملاحظات بقواعد الخصائص (ملف الخزنة)",desc:"قائمة مفصولة بفاصلة من قواعد البيانات الأمامية. استخدم إدخالات `key` أو `key=value` (مثل status=done, published=true, archived).",placeholder:"status=done, published=true, archived"},excludedFileNamePatterns:{name:"إخفاء الملفات (ملف الخزنة)",desc:"قائمة أنماط أسماء الملفات مفصولة بفاصلة للإخفاء. يدعم أحرف البدل * والمسارات / (مثل temp-*، *.png، /assets/*).",placeholder:"temp-*, *.png, /assets/*"},vaultProfiles:{name:"ملف الخزنة",desc:"تخزن الملفات رؤية أنواع الملفات والملفات المخفية والمجلدات المخفية والوسوم المخفية وقواعد الخصائص للملاحظات المخفية والاختصارات وشعار التنقل. بدل الملفات من رأس لوحة التنقل.",defaultName:"افتراضي",addButton:"إضافة ملف",editProfilesButton:"تحرير الملفات",addProfileOption:"إضافة ملف...",applyButton:"تطبيق",deleteButton:"حذف الملف",addModalTitle:"إضافة ملف",editProfilesModalTitle:"تحرير الملفات",addModalPlaceholder:"اسم الملف",deleteModalTitle:"حذف {name}",deleteModalMessage:"إزالة {name}؟ سيتم حذف مرشحات الملفات والمجلدات والوسوم والملاحظات المستندة إلى الخصائص المحفوظة في هذا الملف.",moveUp:"تحريك لأعلى",moveDown:"تحريك لأسفل",errors:{emptyName:"أدخل اسم الملف",duplicateName:"اسم الملف موجود بالفعل"}},vaultTitle:{name:"موضع عنوان الخزنة",desc:"اختر مكان عرض عنوان الخزنة.",options:{header:"عرض في الرأس",navigation:"عرض في لوحة التنقل"}},excludedFolders:{name:"إخفاء المجلدات (ملف الخزنة)",desc:"قائمة مفصولة بفاصلة من المجلدات لإخفائها. أنماط الاسم: assets* (المجلدات التي تبدأ بـ assets)، *_temp (التي تنتهي بـ _temp). أنماط المسار: /archive (الأرشيف الجذري فقط)، /res* (المجلدات الجذرية التي تبدأ بـ res)، /*/temp (مجلدات temp بمستوى واحد)، /projects/* (جميع المجلدات داخل projects).",placeholder:"templates, assets*, /archive, /res*"},showFileDate:{name:"إظهار التاريخ",desc:"عرض التاريخ أسفل أسماء الملاحظات."},alphabeticalDateMode:{name:"عند الترتيب حسب الاسم",desc:"التاريخ المعروض عند ترتيب الملاحظات أبجديًا.",options:{created:"تاريخ الإنشاء",modified:"تاريخ التعديل"}},showFileTags:{name:"إظهار وسوم الملفات",desc:"عرض وسوم قابلة للنقر في عناصر الملفات."},showFileTagAncestors:{name:"إظهار مسارات الوسوم الكاملة",desc:"عرض مسارات تسلسل الوسوم الكاملة. عند التمكين: 'ai/openai'، 'work/projects/2024'. عند التعطيل: 'openai'، '2024'."},colorFileTags:{name:"تلوين وسوم الملفات",desc:"تطبيق ألوان الوسوم على شارات الوسوم في عناصر الملفات."},prioritizeColoredFileTags:{name:"إظهار الوسوم الملونة أولاً",desc:"ترتيب الوسوم الملونة قبل الوسوم الأخرى في عناصر الملفات."},showFileTagsInCompactMode:{name:"إظهار وسوم الملفات في الوضع المضغوط",desc:"عرض الوسوم عند إخفاء التاريخ والمعاينة والصورة."},showFileProperties:{name:"إظهار خصائص الملفات",desc:"عرض الخصائص في عناصر الملفات. استخدم نافذة رؤية مفاتيح الخصائص لاختيار الخصائص المعروضة."},colorFileProperties:{name:"تلوين خصائص الملفات",desc:"تطبيق ألوان الخصائص على شارات الخصائص في عناصر الملفات."},prioritizeColoredFileProperties:{name:"إظهار الخصائص الملونة أولاً",desc:"ترتيب الخصائص الملونة قبل الخصائص الأخرى في عناصر الملفات."},showFilePropertiesInCompactMode:{name:"إظهار الخصائص في الوضع المضغوط",desc:"عرض الخصائص عند تفعيل الوضع المضغوط."},textCountDisplay:{name:"نوع العدد",desc:"اختر أي أعداد ملاحظات تظهر في عناصر الملفات.",options:{none:"لا شيء",words:"عدد الكلمات",characters:"عدد الأحرف",both:"عدد الكلمات والأحرف"}},textCountPlacement:{name:"الموضع",desc:"اختر مكان ظهور أعداد الملاحظات.",options:{title:"في العنوان",property:"كخاصية"}},characterCountSpaces:{name:"عدد الأحرف",desc:"اختر ما إذا كانت المسافات تُحتسب ضمن عدد الأحرف.",options:{include:"مع المسافات",exclude:"بدون المسافات"}},wordCountTargetProperty:{name:"خاصية الهدف",desc:"مفتاح خاصية الواجهة الأمامية الذي يحتوي على عدد الكلمات المستهدف. اتركه فارغاً لإخفاء الأهداف."},showWordCountPercentage:{name:"إظهار نسبة الهدف",desc:"عرض نسبة التقدم فقط عند توفر عدد كلمات مستهدف."},propertyFields:{name:"مفاتيح الخصائص (ملف القبو)",desc:"مفاتيح خصائص الواجهة الأمامية، مع إمكانية التحكم في رؤية كل مفتاح للتنقل وقائمة الملفات.",addButtonTooltip:"تكوين مفاتيح الخصائص",noneConfigured:"لم يتم تكوين أي خصائص",singleConfigured:"خاصية واحدة مكوّنة: {properties}",multipleConfigured:"{count} خصائص مكوّنة: {properties}"},showPropertiesOnSeparateRows:{name:"إظهار الخصائص في صفوف منفصلة",desc:"عرض كل خاصية في صف منفصل."},enablePropertyInternalLinks:{name:"ربط شارات الخصائص بالملاحظات",desc:"انقر على شارة خاصية لفتح الملاحظة المرتبطة."},enablePropertyExternalLinks:{name:"ربط شارات الخصائص بالروابط",desc:"انقر على شارة خاصية لفتح الرابط المرتبط."},dateFormat:{name:"تنسيق التاريخ",desc:"تنسيق عرض التواريخ (يستخدم تنسيق Moment).",placeholder:"D MMM YYYY",help:`التنسيقات الشائعة:
D MMM YYYY = 25 مايو 2022
DD/MM/YYYY = 25/05/2022
YYYY-MM-DD = 2022-05-25

الرموز:
YYYY/YY = السنة
MMMM/MMM/MM = الشهر
DD/D = اليوم
dddd/ddd = يوم الأسبوع`,helpTooltip:"تنسيق باستخدام Moment",momentLinkText:"تنسيق Moment"},timeFormat:{name:"تنسيق الوقت",desc:"تنسيق عرض الأوقات (يستخدم تنسيق Moment).",placeholder:"h:mm a",help:`التنسيقات الشائعة:
h:mm a = 2:30 م (12 ساعة)
HH:mm = 14:30 (24 ساعة)
h:mm:ss a = 2:30:45 م
HH:mm:ss = 14:30:45

الرموز:
HH/H = 24 ساعة
hh/h = 12 ساعة
mm = الدقائق
ss = الثواني
a = ص/م`,helpTooltip:"تنسيق باستخدام Moment",momentLinkText:"تنسيق Moment"},showFilePreview:{name:"إظهار معاينة الملاحظة",desc:"عرض نص المعاينة أسفل أسماء الملاحظات."},skipHeadingsInPreview:{name:"تخطي العناوين في المعاينة",desc:"تخطي سطور العناوين عند إنشاء نص المعاينة."},skipCodeBlocksInPreview:{name:"تخطي كتل الكود في المعاينة",desc:"تخطي كتل الكود عند إنشاء نص المعاينة."},stripHtmlInPreview:{name:"إزالة HTML من المعاينات",desc:"إزالة علامات HTML من نص المعاينة. قد يؤثر على الأداء في الملاحظات الكبيرة."},stripLatexInPreview:{name:"إزالة LaTeX من المعاينات",desc:"إزالة تعبيرات LaTeX المضمنة والكتلية من نص المعاينة."},previewProperties:{name:"خصائص المعاينة",desc:"قائمة مفصولة بفاصلة من خصائص البيانات الأمامية للتحقق من نص المعاينة. سيتم استخدام أول خاصية تحتوي على نص.",placeholder:"summary, description, abstract"},previewPropertiesFallback:{name:"الرجوع إلى محتوى الملاحظة",desc:"عرض محتوى الملاحظة كمعاينة عندما لا تحتوي أي من الخصائص المحددة على نص."},previewRows:{name:"صفوف المعاينة",desc:"عدد الصفوف المعروضة لنص المعاينة.",options:{1:"صف واحد",2:"صفان",3:"3 صفوف",4:"4 صفوف",5:"5 صفوف"}},fileNameRows:{name:"صفوف العنوان",desc:"عدد الصفوف المعروضة لعناوين الملاحظات.",options:{1:"صف واحد",2:"صفان",3:"3 صفوف"}},useFolderColor:{name:"استخدام لون المجلد",desc:"تلوين عناوين الملاحظات وأيقونات الملفات بلون المجلد الأصلي عند عدم تعيين لون ملف مخصص. الأولوية: لون الملف المخصص > لون المجلد > اللون الافتراضي."},showFeatureImage:{name:"إظهار الصورة المميزة",desc:"عرض صورة مصغرة لأول صورة موجودة في الملاحظة."},forceSquareFeatureImage:{name:"فرض صورة مميزة مربعة",desc:"عرض الصور المميزة كصور مصغرة مربعة."},featureImageProperties:{name:"خصائص الصورة",desc:"قائمة مفصولة بفاصلة من خصائص البيانات الأمامية للتحقق منها أولاً. يستخدم أول صورة في محتوى markdown كبديل.",placeholder:"thumbnail, featureResized, feature"},featureImageExcludeProperties:{name:"استبعاد الملاحظات ذات الخصائص",desc:"قائمة مفصولة بفاصلة من خصائص البيانات الأمامية. الملاحظات التي تحتوي على أي من هذه الخصائص لا تخزن صور العرض.",placeholder:"private, confidential"},featureImageSize:{name:"حجم عرض صورة الميزة",desc:"الحجم الأقصى المعروض لصور الميزة في قوائم الملاحظات.",options:{standard:"64 px",large:"96 px",extraLarge:"128 px"}},featureImagePixelSize:{name:"دقة بكسل صورة الميزة",desc:"الدقة المستخدمة عند إنشاء صور مصغرة محفوظة لصور الميزة. قم بزيادتها إذا بدت المعاينات الأكبر ضبابية.",options:{standard:"256 x 144 px",large:"384 x 216 px",extraLarge:"512 x 288 px"}},downloadExternalFeatureImages:{name:"تنزيل الصور الخارجية",desc:"تنزيل الصور عن بُعد والصور المصغرة من YouTube للصور المميزة."},hideDrawingPreviewImages:{name:"إخفاء صور المعاينة المُصدَّرة",desc:'إخفاء ملفات PNG لمعاينة الرسومات المُصدَّرة. فعِّل "إظهار العناصر المخفية" لعرضها.'},drawingIntegrationInfo:{intro:"يعرض Notebook Navigator ملفات PNG المُصدَّرة من Excalidraw كمعاينات للرسومات.",items:["في **إعدادات Excalidraw**، افتح **Embedding Excalidraw into your Notes and Exporting**، ثم **Export Settings**، ثم **Auto-export Settings**.","فعِّل **Auto-export PNG**. اختياريًا فعِّل **Export both dark- and light-themed image**.","يبحث Notebook Navigator عن **Drawing.excalidraw.png** أو **Drawing.excalidraw.dark.png** أو **Drawing.excalidraw.light.png**.","عند تفعيل **إخفاء صور المعاينة المُصدَّرة**، تظهر ملفات PNG فقط عند تفعيل **إظهار العناصر المخفية** أيضًا."]},showRootFolder:{name:"إظهار المجلد الجذري",desc:"عرض اسم الخزنة كمجلد جذري في الشجرة."},showFolderIcons:{name:"إظهار أيقونات المجلدات",desc:"عرض الأيقونات بجانب المجلدات في لوحة التنقل."},inheritFolderColors:{name:"توريث ألوان المجلدات",desc:"المجلدات الفرعية ترث الألوان من المجلدات الأصلية."},folderSortOrder:{name:"ترتيب فرز المجلدات",desc:"انقر بزر الماوس الأيمن على أي مجلد لتعيين ترتيب فرز مختلف لمحتوياته.",options:{alphaAsc:"من أ إلى ي",alphaDesc:"من ي إلى أ"}},showNoteCount:{name:"إظهار عدد الملاحظات",desc:"عرض عدد الملاحظات بجانب المجلدات والوسوم والخصائص."},showSectionIcons:{name:"إظهار أيقونات للاختصارات والعناصر الحديثة",desc:"عرض أيقونات بجانب العناصر في قسمَي الاختصارات والحديثة."},interfaceIcons:{name:"أيقونات الواجهة",desc:"تحرير أيقونات شريط الأدوات والمجلدات والوسوم والخصائص والعناصر المثبتة والبحث والفرز.",buttonText:"تحرير الأيقونات"},showIconsColorOnly:{name:"تطبيق اللون على الأيقونات فقط",desc:"عند التمكين، تطبق الألوان المخصصة على الأيقونات فقط. عند التعطيل، تطبق الألوان على الأيقونات وتسميات النص."},navRainbowMode:{name:"وضع ألوان قوس قزح (ملف الخزنة)",desc:"تطبيق ألوان قوس قزح في لوحة التنقل.",options:{none:"إيقاف",foreground:"لون النص",background:"لون الخلفية"}},navRainbowFirstColor:{name:"اللون الأول",desc:"اللون الأول في تدرج قوس قزح."},navRainbowLastColor:{name:"اللون الأخير",desc:"اللون الأخير في تدرج قوس قزح."},navRainbowTransitionStyle:{name:"نمط الانتقال",desc:"الاستيفاء المستخدم بين اللون الأول والأخير.",options:{hue:"درجة اللون",rgb:"RGB"}},navRainbowApplyToShortcuts:{name:"تطبيق على الاختصارات",desc:"تطبيق ألوان قوس قزح على الاختصارات."},navRainbowApplyToRecent:{name:"تطبيق على العناصر الأخيرة",desc:"تطبيق ألوان قوس قزح على العناصر الأخيرة."},navRainbowApplyToFolders:{name:"تطبيق على المجلدات",desc:"تطبيق ألوان قوس قزح على المجلدات."},navRainbowFolderScope:{name:"نطاق المجلدات",desc:"تحديد مستويات المجلدات التي تبدأ تعيينات الألوان.",options:{root:"المستوى الجذر",child:"المستوى الفرعي",all:"كل مستوى"}},navRainbowApplyToTags:{name:"تطبيق على الوسوم",desc:"تطبيق ألوان قوس قزح على الوسوم."},navRainbowTagScope:{name:"نطاق الوسوم",desc:"تحديد مستويات الوسوم التي تبدأ تعيينات الألوان.",options:{root:"المستوى الجذر",child:"المستوى الفرعي",all:"كل مستوى"}},navRainbowApplyToProperties:{name:"تطبيق على الخصائص",desc:"تطبيق ألوان قوس قزح على الخصائص."},navRainbowBalanceHueLuminance:{name:"سطوع متسق عبر الألوان",desc:"يُقحم السطوع بين ألوان البداية والنهاية أثناء انتقالات الألوان."},navRainbowSeparateThemeColors:{name:"فصل ألوان الوضع الفاتح والداكن",desc:"استخدام ألوان قوس قزح مختلفة للوضع الفاتح والوضع الداكن."},navRainbowCopyLightToDark:"نسخ لون الوضع الفاتح إلى الوضع الداكن",navRainbowPropertyScope:{name:"نطاق الخصائص",desc:"تحديد مستويات الخصائص التي تبدأ تعيينات الألوان.",options:{root:"المستوى الجذر",child:"المستوى الفرعي",all:"كل مستوى"}},collapseBehavior:{name:"طي العناصر",desc:"اختر ما يؤثر عليه زر توسيع/طي الكل.",options:{all:"الكل",foldersOnly:"المجلدات فقط",tagsOnly:"الوسوم فقط",propertiesOnly:"الخصائص فقط"}},smartCollapse:{name:"إبقاء العنصر المحدد موسعًا",desc:"عند الطي، إبقاء العنصر المحدد وآبائه موسعين."},excludeVaultRootFromCollapse:{name:"تخطي جذر الخزنة عند الطي",desc:"عند طي كل العناصر، اترك مجلد جذر الخزنة في حالته الحالية."},navIndent:{name:"مسافة بادئة الشجرة",desc:"ضبط عرض المسافة البادئة للمجلدات والوسوم والخصائص المتداخلة (بالبكسل)."},navItemHeight:{name:"ارتفاع العنصر",desc:"ضبط ارتفاع المجلدات والوسوم والخصائص في لوحة التنقل (بالبكسل)."},navItemHeightScaleText:{name:"تحجيم النص مع ارتفاع العنصر",desc:"تقليل حجم نص التنقل عند تقليل ارتفاع العنصر."},showIndentGuides:{name:"إظهار خطوط المسافة البادئة",desc:"عرض خطوط المسافة البادئة للمجلدات والوسوم والخصائص المتداخلة."},navCountLeaderStyle:{name:"إظهار علامات التوصيل",desc:"عرض نقاط أو شرطات أو خط بين أسماء العناصر وعدد الملاحظات.",options:{none:"بدون",dots:"نقاط (...)",dashes:"شرطات (---)",line:"خط"}},navRootSpacing:{name:"تباعد العناصر الجذرية",desc:"التباعد بين المجلدات والوسوم والخصائص على مستوى الجذر (بالبكسل)."},showTags:{name:"إظهار الوسوم",desc:"عرض قسم الوسوم في المتصفح."},showTagIcons:{name:"إظهار أيقونات الوسوم",desc:"عرض الأيقونات بجانب الوسوم في لوحة التنقل."},inheritTagColors:{name:"وراثة ألوان الوسوم",desc:"تَرِث الوسوم الفرعية اللون من الوسوم الأصلية."},tagSortOrder:{name:"ترتيب فرز الوسوم",desc:"انقر بزر الماوس الأيمن على أي وسم لتعيين ترتيب فرز مختلف لمحتوياته.",options:{alphaAsc:"من أ إلى ي",alphaDesc:"من ي إلى أ",frequency:"التكرار",lowToHigh:"من الأقل إلى الأعلى",highToLow:"من الأعلى إلى الأقل"}},showAllTagsFolder:{name:"إظهار مجلد الوسوم",desc:'عرض "الوسوم" كمجلد قابل للطي.'},showUntagged:{name:"إظهار الملاحظات بدون وسوم",desc:'عرض عنصر "بدون وسم" للملاحظات التي ليس لها أي وسوم.'},scopeTagsToCurrentContext:{name:"تصفية الوسوم حسب التحديد",desc:"إظهار الوسوم التي تظهر في الملاحظات ضمن المجلد أو الخاصية المحددة فقط."},keepEmptyTagsProperty:{name:"الاحتفاظ بخاصية الوسوم بعد إزالة آخر وسم",desc:"الاحتفاظ بخاصية الوسوم في البيانات الأمامية عند إزالة جميع الوسوم. عند التعطيل، يتم حذف خاصية الوسوم من البيانات الأمامية."},showProperties:{name:"إظهار الخصائص",desc:"عرض قسم الخصائص في المتصفح.",propertyKeysInfoPrefix:"تكوين الخصائص في ",propertyKeysInfoLinkText:"البداية > مفاتيح الخصائص",propertyKeysInfoSuffix:""},showPropertyIcons:{name:"إظهار أيقونات الخصائص",desc:"عرض الأيقونات بجانب الخصائص في لوحة التنقل."},inheritPropertyColors:{name:"وراثة ألوان الخصائص",desc:"قيم الخصائص ترث اللون والخلفية من مفتاح الخاصية."},propertySortOrder:{name:"ترتيب فرز الخصائص",desc:"انقر بزر الماوس الأيمن على أي خاصية لتعيين ترتيب فرز مختلف لقيمها.",options:{alphaAsc:"أ إلى ي",alphaDesc:"ي إلى أ",frequency:"التكرار",lowToHigh:"من الأقل إلى الأعلى",highToLow:"من الأعلى إلى الأقل"}},showAllPropertiesFolder:{name:"إظهار مجلد الخصائص",desc:'عرض "الخصائص" كمجلد قابل للطي.'},scopePropertiesToCurrentContext:{name:"تصفية الخصائص حسب التحديد",desc:"إظهار الخصائص التي تظهر في الملاحظات ضمن المجلد أو الوسم المحدد فقط."},hiddenTags:{name:"إخفاء الوسوم (ملف الخزنة)",desc:"قائمة مفصولة بفاصلة من أنماط الوسوم. أنماط الأسماء: tag* (تبدأ بـ)، *tag (تنتهي بـ). أنماط المسارات: archive (الوسم وفروعه)، archive/* (الفروع فقط)، projects/*/drafts (حرف بدل وسطي).",placeholder:"archive*, *draft, projects/*/old"},hiddenFileTags:{name:"إخفاء الملاحظات ذات الوسوم (ملف الخزنة)",desc:"Comma-separated list of tag patterns. Notes containing matching tags are hidden. Name patterns: tag* (starting with), *tag (ending with). Path patterns: archive (tag and descendants), archive/* (descendants only), projects/*/drafts (mid-segment wildcard).",placeholder:"archive*, *draft, projects/*/old"},enableFolderNotes:{name:"تمكين ملاحظات المجلدات",desc:"المجلدات التي تحتوي على ملف ملاحظات مطابق تُعرض كروابط قابلة للنقر."},folderNoteType:{name:"نوع ملاحظة المجلد الافتراضي",desc:"نوع ملاحظة المجلد المنشأة من قائمة السياق.",options:{ask:"السؤال عند الإنشاء",markdown:"Markdown",canvas:"لوحة",base:"قاعدة"}},folderNoteName:{name:"اسم ملاحظة المجلد",desc:"اسم ملاحظة المجلد بدون امتداد. اتركه فارغًا لاستخدام نفس اسم المجلد.",placeholder:"index"},folderNoteNamePattern:{name:"نمط اسم ملاحظة المجلد",desc:"نمط اسم ملاحظات المجلد بدون الامتداد. استخدم {{folder}} لإدراج اسم المجلد. عند التعيين، لا يُطبَّق اسم ملاحظة المجلد."},folderNoteTemplate:{name:"قالب ملاحظة المجلد",desc:"ملف قالب يُستخدم عند إنشاء ملاحظات المجلد. يمكن لقوالب Markdown استخدام Templater. تُنسخ قوالب Canvas وBase كمحتوى للملف. حدد موقع مجلد القوالب في عمليات الملفات > قوالب.",formatWarning:"يجب أن يتطابق تنسيق القالب مع نوع ملاحظة المجلد المحدد: .md أو .canvas أو .base."},enableFolderNoteLinks:{name:"أسماء المجلدات تفتح ملاحظات المجلد",desc:"يؤدي النقر على اسم مجلد إلى فتح ملاحظة المجلد الخاصة به. عند الإيقاف، توفر ملاحظات المجلد بيانات وصفية للمجلد فقط مثل الاسم والأيقونة واللون."},hideFolderNoteInList:{name:"إخفاء ملاحظات المجلدات في القائمة",desc:"إخفاء ملاحظات المجلدات من الظهور في قائمة الملفات."},pinCreatedFolderNote:{name:"تثبيت ملاحظات المجلدات المنشأة",desc:"تثبيت ملاحظات المجلدات عند إنشائها من قائمة السياق."},folderNoteOpenLocation:{name:"فتح ملاحظات المجلد في",desc:"اختر مكان فتح ملاحظات المجلد عند النقر على روابط ملاحظات المجلد.",options:{currentTab:"علامة التبويب الحالية",newTab:"علامة تبويب جديدة",rightSidebar:"الشريط الجانبي الأيمن"}},showNearestFolderNoteInSidebar:{name:"الشريط الجانبي الأيمن: عرض أقرب ملاحظة مجلد",desc:"عند تحديد مجلد، يعرض الشريط الجانبي الأيمن تلقائيًا أقرب ملاحظة مجلد أصلية."},confirmBeforeDelete:{name:"التأكيد قبل الحذف",desc:"إظهار مربع حوار تأكيد عند حذف الملاحظات أو المجلدات"},deleteAttachments:{name:"حذف المرفقات عند حذف الملفات",desc:"إزالة المرفقات المرتبطة ومعاينات الرسومات المُنشأة تلقائيًا إذا لم تكن مستخدمة في مكان آخر",options:{ask:"السؤال في كل مرة",always:"دائمًا",never:"أبدًا"}},moveFileConflicts:{name:"تعارضات النقل",desc:"عند نقل ملف إلى مجلد يحتوي بالفعل على ملف بنفس الاسم. اسأل في كل مرة (إعادة تسمية، الكتابة فوق، إلغاء) أو أعد التسمية دائمًا.",options:{ask:"اسأل في كل مرة",rename:"إعادة التسمية دائمًا"}},metadataCleanup:{name:"تنظيف البيانات الوصفية",desc:"إزالة البيانات الوصفية اليتيمة المتبقية عند حذف الملفات أو المجلدات أو الوسوم أو الخصائص أو نقلها أو إعادة تسميتها خارج Obsidian. يؤثر هذا فقط على ملف إعدادات متصفح الدفتر.",buttonText:"تنظيف البيانات الوصفية",error:"فشل تنظيف الإعدادات",loading:"جارٍ فحص البيانات الوصفية...",statusClean:"لا توجد بيانات وصفية لتنظيفها",statusCounts:"عناصر يتيمة: {folders} مجلدات، {tags} وسوم، {properties} خصائص، {files} ملفات، {pinned} تثبيتات، {separators} فواصل"},rebuildCache:{name:"إعادة بناء الذاكرة المؤقتة",desc:"استخدم هذا إذا واجهت وسومًا مفقودة أو معاينات غير صحيحة أو صورًا مميزة مفقودة. يمكن أن يحدث هذا بعد تعارضات المزامنة أو الإغلاق غير المتوقع.",buttonText:"إعادة بناء الذاكرة المؤقتة",error:"فشل إعادة بناء الذاكرة المؤقتة",indexingTitle:"جارٍ فهرسة الخزنة...",progress:"جارٍ تحديث ذاكرة التخزين المؤقت لـ Notebook Navigator."},externalIcons:{downloadButton:"تنزيل",downloadingLabel:"جارٍ التنزيل...",removeButton:"إزالة",statusInstalled:"تم التنزيل (الإصدار {version})",statusNotInstalled:"غير منزل",versionUnknown:"غير معروف",downloadFailed:"فشل تنزيل {name}. تحقق من الاتصال وحاول مرة أخرى.",removeFailed:"فشل إزالة {name}.",infoNote:"حزم الأيقونات المنزلة تزامن حالة التثبيت عبر الأجهزة. تبقى حزم الأيقونات في قاعدة البيانات المحلية على كل جهاز؛ المزامنة تتبع فقط ما إذا كان يجب تنزيلها أو إزالتها. حزم الأيقونات تنزل من مستودع متصفح الدفتر (https://github.com/johansan/notebook-navigator/tree/main/icon-assets)."},useFrontmatterDates:{name:"استخدام البيانات الأمامية",desc:"استخدام البيانات الأمامية لاسم الملاحظة والطوابع الزمنية والأيقونات والألوان"},frontmatterIconField:{name:"حقل الأيقونة",desc:"حقل البيانات الأمامية لأيقونات الملفات. اتركه فارغًا لاستخدام الأيقونات المخزنة في الإعدادات.",placeholder:"icon"},frontmatterColorField:{name:"حقل اللون",desc:"حقل البيانات الأمامية لألوان الملفات. اتركه فارغًا لاستخدام الألوان المخزنة في الإعدادات.",placeholder:"color"},frontmatterBackgroundField:{name:"حقل الخلفية",desc:"حقل البيانات الأمامية لألوان الخلفية. اتركه فارغًا لاستخدام ألوان الخلفية المخزنة في الإعدادات.",placeholder:"background"},frontmatterMigration:{name:"ترحيل الأيقونات والألوان من الإعدادات",desc:"مخزنة في الإعدادات: {icons} أيقونات، {colors} ألوان.",button:"ترحيل",buttonWorking:"جارٍ الترحيل...",noticeNone:"لا توجد أيقونات أو ألوان ملفات مخزنة في الإعدادات.",noticeDone:"تم ترحيل {migratedIcons}/{icons} أيقونات، {migratedColors}/{colors} ألوان.",noticeFailures:"إدخالات فاشلة: {failures}.",noticeError:"فشل الترحيل. تحقق من وحدة التحكم للتفاصيل."},frontmatterNameField:{name:"حقول الاسم",desc:"قائمة حقول البيانات الأمامية مفصولة بفواصل. يُستخدم أول قيمة غير فارغة. يعود لاسم الملف.",placeholder:"title, name"},frontmatterCreatedField:{name:"حقل طابع وقت الإنشاء",desc:"اسم حقل البيانات الأمامية لطابع وقت الإنشاء. اتركه فارغًا لاستخدام تاريخ نظام الملفات فقط.",placeholder:"created"},frontmatterModifiedField:{name:"حقل طابع وقت التعديل",desc:"اسم حقل البيانات الأمامية لطابع وقت التعديل. اتركه فارغًا لاستخدام تاريخ نظام الملفات فقط.",placeholder:"modified"},frontmatterDateFormat:{name:"تنسيق الطابع الزمني",desc:"التنسيق المستخدم لتحليل الطوابع الزمنية في البيانات الأمامية. اتركه فارغًا لاستخدام تحليل ISO 8601.",helpTooltip:"تنسيق باستخدام Moment",momentLinkText:"تنسيق Moment",help:`التنسيقات الشائعة:
YYYY-MM-DD[T]HH:mm:ss → 2025-01-04T14:30:45
YYYY-MM-DD[T]HH:mm:ssZ → 2025-08-07T16:53:39+02:00
DD/MM/YYYY HH:mm:ss → 04/01/2025 14:30:45
MM/DD/YYYY h:mm:ss a → 01/04/2025 2:30:45 PM`},supportDevelopment:{name:"دعم التطوير",desc:"إذا أحببت استخدام متصفح الدفتر، يرجى التفكير في دعم تطويره المستمر.",buttonText:"❤️ رعاية",coffeeButton:"☕️ اشترِ لي قهوة"},updateCheckOnStart:{name:"التحقق من إصدار جديد عند البدء",desc:"التحقق من إصدارات الإضافة الجديدة عند البدء وإظهار إشعار عند توفر تحديث. التحقق يحدث مرة واحدة يوميًا على الأكثر.",status:"إصدار جديد متاح: {version}"},debugLogging:{name:"تسجيل تصحيح أخطاء بدء التشغيل",desc:"يكتب تشخيصات بدء التشغيل في ملف Markdown يحمل طابعًا زمنيًا في جذر الخزنة، ثم يتوقف بعد استقرار بدء التشغيل. قد تتم مزامنة الملف وقد يتضمن مسارات ملفات."},whatsNew:{name:"الجديد في متصفح الدفتر {version}",desc:"شاهد التحديثات والتحسينات الأخيرة",buttonText:"عرض التحديثات الأخيرة"},masteringVideo:{name:"إتقان Notebook Navigator (فيديو)",desc:"يغطي هذا الفيديو كل ما تحتاجه لتكون منتجاً في Notebook Navigator، بما في ذلك اختصارات لوحة المفاتيح والبحث والوسوم والتخصيص المتقدم."},cacheStatistics:{localCache:"الذاكرة المؤقتة المحلية",items:"عناصر",withTags:"مع وسوم",withPreviewText:"مع نص معاينة",withFeatureImage:"مع صورة مميزة",withMetadata:"مع بيانات وصفية"},metadataInfo:{successfullyParsed:"تم التحليل بنجاح",itemsWithName:"عناصر مع اسم",withCreatedDate:"مع تاريخ الإنشاء",withModifiedDate:"مع تاريخ التعديل",withIcon:"مع أيقونة",withColor:"مع لون",failedToParse:"فشل التحليل",createdDates:"تواريخ الإنشاء",modifiedDates:"تواريخ التعديل",checkTimestampFormat:"تحقق من تنسيق الطابع الزمني.",exportFailed:"تصدير الأخطاء"}}},whatsNew:{title:"الجديد في متصفح الدفتر",openBannerImage:"فتح صورة لافتة الإصدار",supportMessage:"إذا وجدت متصفح الدفتر مفيدًا، يرجى التفكير في دعم تطويره.",supportButton:"اشترِ لي قهوة",thanksButton:"شكرًا!"}}});var C1={};In(C1,{STRINGS_DE:()=>Vie});var Vie,N1=U(()=>{Vie={common:{cancel:"Abbrechen",delete:"Löschen",clear:"Zurücksetzen",remove:"Entfernen",restoreDefault:"Standard wiederherstellen",submit:"OK",save:"Speichern",configure:"Konfigurieren",lightMode:"Heller Modus",darkMode:"Dunkler Modus",noSelection:"Keine Auswahl",untagged:"Ohne Tag",featureImageAlt:"Vorschaubild",unknownError:"Unbekannter Fehler",clipboardWriteError:"Konnte nicht in Zwischenablage schreiben",updateBannerTitle:"Notebook Navigator-Update verfügbar",updateBannerInstruction:"In Einstellungen -> Community-Plugins aktualisieren",previous:"Zurück",next:"Weiter"},listPane:{emptyStateNoSelection:"Wählen Sie einen Ordner oder Tag aus, um Notizen anzuzeigen",emptyStateNoNotes:"Keine Notizen",pinnedSection:"Angeheftet",notesSection:"Notizen",filesSection:"Dateien",hiddenItemAriaLabel:"{name} (ausgeblendet)",collapseGroup:"Gruppe einklappen",expandGroup:"Gruppe ausklappen",manualSortTitle:"Manuelle Sortierung: {property}",manualSortHint:'Zum Neuordnen ziehen. Die Reihenfolge wird als numerische Indexwerte in der Eigenschaft „{property}" gespeichert.',manualSortNonMarkdownHint:"Nicht-Markdown-Dateien werden unten angezeigt und können nicht neu geordnet werden.",unsortedSection:"Unsortiert",manualSortDone:"Fertig",manualSortMultipleWriteFailure:"{count} Dateien fehlgeschlagen; erste: {path}: {message}"},tagList:{untaggedLabel:"Ohne Tag",tags:"Tags"},navigationPane:{shortcutsHeader:"Lesezeichen",recentFilesHeader:"Neueste Dateien",properties:"Eigenschaften",reorderRootFoldersTitle:"Navigation neu anordnen",reorderRootFoldersHint:"Pfeile oder Ziehen zum Neuanordnen",vaultRootLabel:"Tresor",resetRootToAlpha:"Auf alphabetische Reihenfolge zurücksetzen",resetRootToFrequency:"Auf Häufigkeitsreihenfolge zurücksetzen",pinShortcuts:"Lesezeichen anheften",pinShortcutsAndRecentFiles:"Lesezeichen und neueste Dateien anheften",unpinShortcuts:"Lesezeichen lösen",unpinShortcutsAndRecentFiles:"Lesezeichen und neueste Dateien lösen",profileMenuAria:"Tresorprofil ändern"},navigationCalendar:{ariaLabel:"Kalender",dailyNotesNotEnabled:"Das Kernplugin für tägliche Notizen ist nicht aktiviert.",createDailyNote:{title:"Neue tägliche Notiz",message:"Datei {filename} existiert nicht. Möchten Sie sie erstellen?",confirmButton:"Erstellen"},helpModal:{title:"Kalender-Tastenkürzel",items:["Klicken Sie auf einen Tag, um eine tägliche Notiz zu öffnen oder zu erstellen. Wochen, Monate, Quartale und Jahre funktionieren genauso.","Ein gefüllter Punkt unter einem Tag bedeutet, dass eine Notiz vorhanden ist. Ein hohler Punkt bedeutet, dass unerledigte Aufgaben vorhanden sind.","Wenn eine Notiz ein Feature-Bild hat, wird es als Tageshintergrund angezeigt."],dateFilterCmdCtrl:"`Cmd/Ctrl`+Klick auf ein Datum, um in der Dateiliste nach diesem Datum zu filtern.",dateFilterOptionAlt:"`Option/Alt`+Klick auf ein Datum, um in der Dateiliste nach diesem Datum zu filtern."}},dailyNotes:{templateReadFailed:"Vorlage für tägliche Notizen konnte nicht gelesen werden.",createFailed:"Tägliche Notiz konnte nicht erstellt werden."},shortcuts:{folderExists:"Ordner bereits in Lesezeichen vorhanden",noteExists:"Notiz bereits in Lesezeichen vorhanden",tagExists:"Tag bereits in Lesezeichen vorhanden",propertyExists:"Eigenschaft bereits in Lesezeichen vorhanden",invalidProperty:"Ungültiges Eigenschafts-Lesezeichen",searchExists:"Such-Lesezeichen existiert bereits",emptySearchQuery:"Geben Sie eine Suchanfrage ein, bevor Sie sie speichern",emptySearchName:"Geben Sie einen Namen ein, bevor Sie die Suche speichern",add:"Zu Lesezeichen hinzufügen",addNotesCount:"{count} Notizen zu Lesezeichen hinzufügen",addFilesCount:"{count} Dateien zu Lesezeichen hinzufügen",rename:"Lesezeichen umbenennen",remove:"Aus Lesezeichen entfernen",removeAll:"Alle Lesezeichen entfernen",removeAllConfirm:"Alle Lesezeichen entfernen?",folderNotesPinned:"{count} Ordnernotizen angeheftet"},paneHeader:{collapseAllFolders:"Elemente einklappen",expandAllFolders:"Alle Elemente ausklappen",showCalendar:"Kalender anzeigen",hideCalendar:"Kalender ausblenden",newFolder:"Neuer Ordner",newNote:"Neue Notiz",mobileBackToNavigation:"Zurück zur Navigation",changeChildSortOrder:"Sortierreihenfolge ändern",changeSortAndGroup:"Sortierung und Gruppierung ändern",resetViewToDefaults:"Ansicht auf Standardwerte zurücksetzen",manualSort:"Manuelle Sortierung",editSortOrder:"Sortierreihenfolge bearbeiten...",removeSortProperty:"Sortier-Eigenschaft entfernen",descendants:"Unterelemente",subfolders:"Unterordner",subtags:"Unter-Tags",childValues:"Unterwerte",applySortAndGroupToDescendants:t=>`Sortierung und Gruppierung auf ${t} anwenden`,applyAppearanceToDescendants:t=>`Darstellung auf ${t} anwenden`,showFolders:"Navigation anzeigen",reorderRootFolders:"Navigation neu anordnen",finishRootFolderReorder:"Neuordnung fertig",showExcludedItems:"Versteckte Ordner, Tags und Notizen anzeigen",hideExcludedItems:"Versteckte Ordner, Tags und Notizen ausblenden",showDualPane:"Zweispaltige Ansicht anzeigen",showSinglePane:"Einspaltige Ansicht anzeigen",dualPaneAutoFallbackNotice:"Doppelbereiche sind nicht verfügbar, wenn die Seitenleiste zu schmal ist. Um dies zu ändern, setzen Sie „Wenn Seitenleiste zu schmal ist“ in Einstellungen > Erscheinungsbild & Verhalten auf „Nichts tun“.",changeAppearance:"Erscheinungsbild ändern",showNotesFromSubfolders:"Notizen aus Unterordnern anzeigen",showFilesFromSubfolders:"Dateien aus Unterordnern anzeigen",showNotesFromDescendants:"Notizen aus Nachkommen anzeigen",showFilesFromDescendants:"Dateien aus Nachkommen anzeigen",search:"Suchen"},searchInput:{placeholder:"Suchen...",placeholderOmnisearch:"Omnisearch...",clearSearch:"Suche löschen",switchToFilterSearch:"Zur Filtersuche wechseln",switchToOmnisearch:"Zu Omnisearch wechseln",saveSearchShortcut:"Such-Lesezeichen speichern",removeSearchShortcut:"Such-Lesezeichen entfernen",shortcutModalTitle:"Such-Lesezeichen speichern",shortcutNamePlaceholder:"Lesezeichen-Namen eingeben",shortcutStartIn:"Immer starten in: {path}",searchHelp:"Suchsyntax",searchHelpTitle:"Suchsyntax",searchHelpModal:{intro:"Kombinieren Sie Dateinamen, Eigenschaften, Tags, Daten und Filter in einer Abfrage (z.B. `meeting .status=active #work @thisweek`). Installieren Sie das Omnisearch-Plugin für Volltextsuche.",introSwitching:"Wechseln Sie zwischen Filtersuche und Omnisearch mit den Auf-/Ab-Pfeiltasten oder durch Klicken auf das Suchsymbol.",sections:{fileNames:{title:"Dateinamen",items:['`word` Notizen mit "word" im Dateinamen finden.',"`word1 word2` Jedes Wort muss im Dateinamen vorkommen.",'`-word` Notizen mit "word" im Dateinamen ausschließen.']},tags:{title:"Tags",items:["`#tag` Notizen mit Tag einschließen (findet auch verschachtelte Tags wie `#tag/subtag`).","`#` Nur Notizen mit Tags anzeigen.","`-#tag` Notizen mit Tag ausschließen.","`-#` Nur Notizen ohne Tags anzeigen.","`#tag1 #tag2` Beide Tags finden (implizites AND).","`#tag1 AND #tag2` Beide Tags finden (explizites AND).","`#tag1 OR #tag2` Eines der Tags finden.","`#a OR #b AND #c` AND hat höhere Priorität: findet `#a` oder beide `#b` und `#c`.","Cmd/Ctrl+Klick auf einen Tag zum Hinzufügen mit AND. Cmd/Ctrl+Shift+Klick zum Hinzufügen mit OR."]},properties:{title:"Eigenschaften",items:["`.key` Notizen mit Eigenschaftsschlüssel einschließen.","`.key=value` Notizen einschließen, deren Eigenschaftswert `value` enthält.",'`."Reading Status"` Notizen mit einem Eigenschaftsschlüssel einschließen, der Leerzeichen enthält.','`."Reading Status"="In Progress"` Schlüssel und Werte mit Leerzeichen müssen in Anführungszeichen stehen.',"`-.key` Notizen mit Eigenschaftsschlüssel ausschließen.","`-.key=value` Notizen ausschließen, deren Eigenschaftswert `value` enthält.","Cmd/Ctrl+Klick auf eine Eigenschaft zum Hinzufügen mit AND. Cmd/Ctrl+Shift+Klick zum Hinzufügen mit OR."]},tasks:{title:"Filter",items:["`has:task` Notizen mit unerledigten Aufgaben einbeziehen.","`-has:task` Notizen mit unerledigten Aufgaben ausschließen.","`folder:meetings` Notizen einbeziehen, deren Ordnername `meetings` enthält.","`folder:/work/meetings` Notizen nur in `work/meetings` einbeziehen (keine Unterordner).","`folder:/` Notizen nur im Vault-Stammverzeichnis einbeziehen.","`-folder:archive` Notizen ausschließen, deren Ordnername `archive` enthält.","`-folder:/archive` Notizen nur in `archive` ausschließen (keine Unterordner).","`ext:md` Notizen mit der Erweiterung `md` einbeziehen (`ext:.md` wird ebenfalls unterstützt).","`-ext:pdf` Notizen mit der Erweiterung `pdf` ausschließen.","Mit Tags, Namen und Daten kombinieren (zum Beispiel: `folder:/work/meetings ext:md @thisweek`)."]},connectors:{title:"AND/OR-Verhalten",items:["`AND` und `OR` sind nur in reinen Tag-/Eigenschafts-Abfragen Operatoren.","Reine Tag-/Eigenschafts-Abfragen enthalten nur Tag- und Eigenschafts-Filter: `#tag`, `-#tag`, `#`, `-#`, `.key`, `-.key`, `.key=value`, `-.key=value`.","Wenn eine Abfrage Namen, Daten (`@...`), Aufgabenfilter (`has:task`), Ordnerfilter (`folder:...`) oder Erweiterungsfilter (`ext:...`) enthält, werden `AND` und `OR` als Wörter abgeglichen.","Beispiel für Operator-Abfrage: `#work OR .status=started`.","Beispiel für gemischte Abfrage: `#work OR ext:md` (`OR` wird in Dateinamen abgeglichen)."]},dates:{title:"Datum",items:["`@today` Notizen von heute mit dem Standard-Datumsfeld finden.","`@yesterday`, `@last7d`, `@last30d`, `@thisweek`, `@thismonth` Relative Datumsbereiche.","`@2026-02-07` Einen bestimmten Tag finden (auch `@20260207` möglich).","`@2026` Ein Kalenderjahr finden.","`@2026-02` oder `@202602` Einen Kalendermonat finden.","`@2026-W05` oder `@2026W05` Eine ISO-Woche finden.","`@2026-Q2` oder `@2026Q2` Ein Kalenderquartal finden.","`@13/02/2026` Numerische Formate mit Trennzeichen (`@07022026` folgt Ihrem Gebietsschema bei Mehrdeutigkeit).","`@2026-02-01..2026-02-07` Einen inklusiven Datumsbereich finden (offene Enden unterstützt).","`@c:...` oder `@m:...` Erstellungs- oder Änderungsdatum ansprechen.","`-@...` Ein Datum ausschließen."]},omnisearch:{title:"Omnisearch",items:["Volltextsuche im gesamten Vault, gefiltert nach dem aktuellen Ordner oder ausgewählten Tags.","Kann bei weniger als 3 Zeichen in großen Vaults langsam sein.","Kann Pfade mit Nicht-ASCII-Zeichen nicht durchsuchen oder Unterpfade korrekt durchsuchen.","Gibt begrenzte Ergebnisse vor der Ordnerfilterung zurück, sodass relevante Dateien möglicherweise nicht erscheinen, wenn viele Treffer an anderer Stelle existieren.","Notizvorschauen zeigen Omnisearch-Auszüge anstelle des Standard-Vorschautexts."]}}}},contextMenu:{file:{openInNewTab:"In neuem Tab öffnen",openToRight:"Rechts öffnen",openInNewWindow:"In neuem Fenster öffnen",openMultipleInNewTabs:"{count} Notizen in neuen Tabs öffnen",openMultipleToRight:"{count} Notizen rechts öffnen",openMultipleInNewWindows:"{count} Notizen in neuen Fenstern öffnen",pinNote:"Notiz anheften",unpinNote:"Notiz lösen",pinMultipleNotes:"{count} Notizen anheften",unpinMultipleNotes:"{count} Notizen lösen",duplicateNote:"Notiz duplizieren",duplicateMultipleNotes:"{count} Notizen duplizieren",openVersionHistory:"Versionsverlauf öffnen",revealInFolder:"Im Ordner anzeigen",revealInFinder:"Im Finder anzeigen",showInExplorer:"Im Explorer anzeigen",openInDefaultApp:"In Standard-App öffnen",renameNote:"Notiz umbenennen",deleteNote:"Notiz löschen",deleteMultipleNotes:"{count} Notizen löschen",moveNoteToFolder:"Notiz verschieben nach...",moveFileToFolder:"Datei verschieben nach...",moveMultipleNotesToFolder:"{count} Notizen verschieben nach...",moveMultipleFilesToFolder:"{count} Dateien verschieben nach...",mergeNotes:"{count} Notizen zusammenführen...",mergeNotesInGroup:"Notizen in Gruppe zusammenführen...",setManualSortGroupHeader:"Gruppenüberschrift festlegen",changeManualSortGroupHeader:"Gruppenüberschrift ändern",manualSortGroupHeader:{title:"Gruppenüberschrift",copyStyle:"Stil der Gruppenüberschrift kopieren",pasteStyle:"Stil der Gruppenüberschrift einfügen",remove:"Gruppenüberschrift entfernen"},addTag:"Tag hinzufügen",addPropertyKey:"Eigenschaft setzen",removeTag:"Tag entfernen",removeAllTags:"Alle Tags entfernen",changeIcon:"Symbol ändern",changeColor:"Farbe ändern",openMultipleFilesInNewTabs:"{count} Dateien in neuen Tabs öffnen",openMultipleFilesToRight:"{count} Dateien rechts öffnen",openMultipleFilesInNewWindows:"{count} Dateien in neuen Fenstern öffnen",pinFile:"Datei anheften",unpinFile:"Datei lösen",pinMultipleFiles:"{count} Dateien anheften",unpinMultipleFiles:"{count} Dateien lösen",duplicateFile:"Datei duplizieren",duplicateMultipleFiles:"{count} Dateien duplizieren",renameFile:"Datei umbenennen",deleteFile:"Datei löschen",setCalendarHighlight:"Hervorhebung setzen",removeCalendarHighlight:"Hervorhebung entfernen",deleteMultipleFiles:"{count} Dateien löschen"},folder:{newNote:"Neue Notiz",newNoteFromTemplate:"Neue Notiz aus Vorlage",newFolder:"Neuer Ordner",newCanvas:"Neue Canvas",newBase:"Neue Datenbank",newDrawing:"Neue Zeichnung",newExcalidrawDrawing:"Neue Excalidraw-Zeichnung",newTldrawDrawing:"Neue Tldraw-Zeichnung",duplicateFolder:"Ordner duplizieren",searchInFolder:"In Ordner suchen",createFolderNote:"Ordnernotiz erstellen",detachFolderNote:"Ordnernotiz lösen",deleteFolderNote:"Ordnernotiz löschen",changeIcon:"Symbol ändern",changeColor:"Farbe ändern",changeBackground:"Hintergrund ändern",excludeFolder:"Ordner verstecken",unhideFolder:"Ordner einblenden",moveFolder:"Ordner verschieben nach...",renameFolder:"Ordner umbenennen",deleteFolder:"Ordner löschen"},tag:{changeIcon:"Symbol ändern",changeColor:"Farbe ändern",changeBackground:"Hintergrund ändern",showTag:"Tag anzeigen",hideTag:"Tag ausblenden"},property:{addKey:"Eigenschaftsschlüssel konfigurieren",renameKey:"Eigenschaft umbenennen",deleteKey:"Eigenschaft löschen"},navigation:{addSeparator:"Trennlinie hinzufügen",removeSeparator:"Trennlinie entfernen"},copyPath:{title:"Pfad kopieren",asObsidianUrl:"als Obsidian-URL",fromVaultFolder:"vom Vault-Ordner",fromSystemRoot:"vom Systemstammverzeichnis"},style:{title:"Stil",copy:"Stil kopieren",paste:"Stil einfügen",removeIcon:"Symbol entfernen",removeColor:"Farbe entfernen",removeBackground:"Hintergrund entfernen",clear:"Stil löschen"}},folderAppearance:{appearance:"Darstellung",sortBy:"Sortieren nach",standardPreset:"Standard",compactPreset:"Kompakt",defaultSuffix:"(Standard)",defaultLabel:"Standard",titleRows:"Titelzeilen",previewRows:"Vorschauzeilen",groupBy:"Gruppieren nach",titleRowOption:t=>`${t} Titelzeile${t===1?"":"n"}`,previewRowOption:t=>`${t} Vorschauzeile${t===1?"":"n"}`},modals:{bulkApply:{applyButton:"Anwenden",applySortAndGroupTitle:t=>`Sortierung und Gruppierung auf ${t} anwenden?`,applyAppearanceTitle:t=>`Darstellung auf ${t} anwenden?`,affectedCountMessage:t=>`Vorhandene Überschreibungen, die sich ändern: ${t}.`},manualSortConfirm:{propertySortTitle:"Manuelle Sortierung verwenden?",propertySortMessage:(t,e)=>`Wechselt die aktuelle Ansicht zur manuellen Sortierung mit „${t}". Beim Bearbeiten der Reihenfolge werden numerische Indexwerte bei Bedarf in diese Eigenschaft in ${e} ${e===1?"Notiz":"Notizen"} geschrieben.`,propertySortConfirmButton:"Manuelle Sortierung verwenden",removePropertyTitle:"Sortier-Eigenschaft entfernen?",removePropertyMessage:(t,e)=>`Entfernt „${t}" aus ${e} ${e===1?"Notiz":"Notizen"} in der aktuellen Liste. Die manuelle Sortierreihenfolge dieser Notizen wird gelöscht.`,removePropertyConfirmButton:"Eigenschaft entfernen",compactTitle:"Indexwerte verdichten?",compactMessage:t=>`Diese Neuanordnung benötigt mehr numerischen Raum. ${t} ${t===1?"Notiz erhält":"Notizen erhalten"} neue Indexwerte.`,compactConfirmButton:"Indexwerte verdichten"},manualSortGroupHeader:{title:"Gruppenüberschrift festlegen",titleLabel:"Titel",placeholder:"Gruppenüberschrift",icon:"Symbol",color:"Farbe",wordCount:"Wortzahl anzeigen",wordCountTarget:"Zielwortzahl",wordCountTargetPlaceholder:"10,000",wordCountTargetDescription:"Wenn dieses Feld leer ist, verwendet das Gruppenziel die Zieleigenschaft aus Einstellungen > Notizen > Wort- und Zeichenanzahl. Überschreiben Sie sie, indem Sie einen Zielwert für diese Gruppe festlegen.",description:"Passen Sie die Gruppenüberschrift für diese Notiz an. Lassen Sie den Titel leer, um die Überschrift zu entfernen."},mergeNotes:{title:"Notizen zusammenführen",summary:"Eine Notiz aus {count} Notizen in {folder} erstellen.",frontmatterRule:"Frontmatter der ersten Notiz bleibt erhalten. Frontmatter der anderen Notizen wird entfernt.",crossFolderWarning:"Quellnotizen befinden sich in verschiedenen Ordnern. Relative Links und Einbettungen funktionieren in der zusammengeführten Notiz möglicherweise nicht mehr.",outputName:"Ausgabename",outputNameDesc:"Die zusammengeführte Notiz wird im oben angezeigten Ordner erstellt.",outputNamePlaceholder:"Zusammengeführte Notizen",separator:"Trennzeichen",separatorDesc:"Wird zwischen Notizen eingefügt.",separatorOptions:{none:"Keine",blankLine:"Leerzeile",horizontalRule:"Horizontale Linie",heading:"Überschrift mit Notiztitel"},moveSourcesToTrash:"Quellnotizen nach dem Zusammenführen in den Papierkorb verschieben",mergeButton:"Zusammenführen"},navRainbowSection:{title:t=>`Regenbogenfarben: ${t}`},iconPicker:{searchPlaceholder:"Symbole suchen...",recentlyUsedHeader:"Kürzlich verwendet",emptyStateSearch:"Beginnen Sie zu tippen, um Symbole zu suchen",emptyStateNoResults:"Keine Symbole gefunden",showingResultsInfo:"Zeige 50 von {count} Ergebnissen. Geben Sie mehr ein, um die Suche einzugrenzen.",emojiInstructions:"Geben Sie ein Emoji ein oder fügen Sie es ein, um es als Symbol zu verwenden",removeIcon:"Icon entfernen",removeFromRecents:"Aus zuletzt verwendet entfernen",allTabLabel:"Alle"},fileIconRuleEditor:{addRuleAria:"Regel hinzufügen"},interfaceIcons:{title:"Oberflächensymbole",fileItemsSection:"Datei-Elemente",items:{"nav-shortcuts":"Verknüpfungen","nav-recent-files":"Zuletzt verwendete Dateien","nav-expand-all":"Alle erweitern","nav-collapse-all":"Alle einklappen","nav-calendar":"Kalender","nav-tree-expand":"Baumpfeil: erweitern","nav-tree-collapse":"Baumpfeil: einklappen","nav-hidden-items":"Ausgeblendete Elemente","nav-root-reorder":"Stammordner neu anordnen","nav-new-folder":"Neuer Ordner","nav-show-single-pane":"Einspaltige Ansicht anzeigen","nav-show-dual-pane":"Zweispaltige Ansicht anzeigen","nav-profile-chevron":"Profilmenü-Pfeil","list-search":"Suche","list-reveal-file":"Datei anzeigen","list-descendants":"Notizen aus Unterordnern","list-sort-ascending":"Sortierung: aufsteigend","list-sort-descending":"Sortierung: absteigend","list-sort-modified":"Nach Änderungsdatum sortieren","list-sort-created":"Nach Erstellungsdatum sortieren","list-sort-title":"Nach Titel sortieren","list-sort-filename":"Nach Dateiname sortieren","list-sort-property":"Nach Eigenschaft sortieren","list-appearance":"Darstellung ändern","list-new-note":"Neue Notiz","list-pinned":"Angeheftete Notizen","nav-folder-open":"Ordner geöffnet","nav-folder-closed":"Ordner geschlossen","nav-tags":"Tags","nav-tag":"Tag","nav-properties":"Eigenschaften","nav-property":"Eigenschaft","nav-property-value":"Wert","file-unfinished-task":"Unerledigte Aufgaben","file-word-count":"Wortanzahl","file-character-count":"Zeichenanzahl"}},colorPicker:{currentColor:"Aktuell",newColor:"Neu",paletteDefault:"Standard",paletteCustom:"Benutzerdefiniert",copyColors:"Farbe kopieren",colorsCopied:"Farbe in Zwischenablage kopiert",pasteColors:"Farbe einfügen",pasteClipboardError:"Zwischenablage konnte nicht gelesen werden",pasteInvalidFormat:"Ein Hex-Farbwert erwartet",colorsPasted:"Farbe erfolgreich eingefügt",resetUserColors:"Benutzerdefinierte Farben löschen",clearCustomColorsConfirm:"Alle benutzerdefinierten Farben entfernen?",userColorSlot:"Farbe {slot}",recentColors:"Zuletzt verwendete Farben",clearRecentColors:"Zuletzt verwendete Farben löschen",removeRecentColor:"Farbe entfernen",apply:"Anwenden",pickerLabel:"Auswahl",hexLabel:"HEX",hexInputLabel:"Hex-Farbwert",saturationValueArea:"Sättigung und Helligkeit",hueSlider:"Farbton",alphaSlider:"Transparenz"},appearance:{tabIcon:"Symbol",tabColor:"Farbe",tabBackground:"Hintergrund",resetIcon:"Symbol entfernen",resetColor:"Farbe entfernen",resetBackground:"Hintergrund entfernen",clear:"Stil löschen",apply:"Anwenden"},selectVaultProfile:{title:"Tresorprofil wechseln",currentBadge:"Aktiv",emptyState:"Keine Tresorprofile verfügbar."},tagOperation:{renameTitle:"Tag {tag} umbenennen",deleteTitle:"Tag {tag} löschen",newTagPrompt:"Neuer Tag-Name",newTagPlaceholder:"Neuen Tag-Namen eingeben",renameWarning:"Das Umbenennen des Tags {oldTag} wird {count} {files} ändern.",deleteWarning:"Das Löschen des Tags {tag} wird {count} {files} ändern.",modificationWarning:"Dies wird die Änderungsdaten der Dateien aktualisieren.",affectedFiles:"Betroffene Dateien:",andMore:"...und {count} weitere",confirmRename:"Tag umbenennen",renameUnchanged:"{tag} unverändert",renameNoChanges:"{oldTag} → {newTag} ({countLabel})",renameBatchNotFinalized:"Umbenannt {renamed}/{total}. Nicht aktualisiert: {notUpdated}. Metadaten und Verknüpfungen wurden nicht aktualisiert.",invalidTagName:"Geben Sie einen gültigen Tag-Namen ein.",descendantRenameError:"Ein Tag kann nicht in sich selbst oder einen Nachkommen verschoben werden.",confirmDelete:"Tag löschen",deleteBatchNotFinalized:"Entfernt aus {removed}/{total}. Nicht aktualisiert: {notUpdated}. Metadaten und Verknüpfungen wurden nicht aktualisiert.",checkConsoleForDetails:"Details in der Konsole anzeigen.",file:"Datei",files:"Dateien",inlineParsingWarning:{title:"Inline-Tag-Kompatibilität",message:"{tag} enthält Zeichen, die Obsidian in Inline-Tags nicht verarbeiten kann. Frontmatter-Tags sind nicht betroffen.",confirm:"Trotzdem verwenden"}},propertyOperation:{renameTitle:"Eigenschaft {property} umbenennen",deleteTitle:"Eigenschaft {property} löschen",newKeyPrompt:"Neuer Eigenschaftsname",newKeyPlaceholder:"Neuen Eigenschaftsnamen eingeben",renameWarning:"Das Umbenennen der Eigenschaft {property} ändert {count} {files}.",renameConflictWarning:"Die Eigenschaft {newKey} existiert bereits in {count} {files}. Das Umbenennen von {oldKey} ersetzt vorhandene {newKey}-Werte.",deleteWarning:"Das Löschen der Eigenschaft {property} ändert {count} {files}.",confirmRename:"Eigenschaft umbenennen",confirmDelete:"Eigenschaft löschen",renameNoChanges:"{oldKey} → {newKey} (keine Änderungen)",renameSettingsUpdateFailed:"Eigenschaft {oldKey} → {newKey} umbenannt. Einstellungen konnten nicht aktualisiert werden.",deleteSingleSuccess:"Eigenschaft {property} aus 1 Notiz gelöscht",deleteMultipleSuccess:"Eigenschaft {property} aus {count} Notizen gelöscht",deleteSettingsUpdateFailed:"Eigenschaft {property} gelöscht. Einstellungen konnten nicht aktualisiert werden.",invalidKeyName:"Geben Sie einen gültigen Eigenschaftsnamen ein."},fileSystem:{newFolderTitle:"Neuer Ordner",renameFolderTitle:"Ordner umbenennen",renameFileTitle:"Datei umbenennen",deleteFolderTitle:"'{name}' löschen?",deleteFileTitle:"'{name}' löschen?",deleteFileAttachmentsTitle:"Dateianhänge löschen?",moveFileConflictTitle:"Verschiebekonflikt",folderNamePrompt:"Ordnernamen eingeben:",hideInOtherVaultProfiles:"In anderen Tresorprofilen ausblenden",renamePrompt:"Neuen Namen eingeben:",renameVaultTitle:"Anzeigenamen des Tresors ändern",renameVaultPrompt:"Benutzerdefinierten Anzeigenamen eingeben (leer lassen für Standard):",deleteFolderConfirm:"Sind Sie sicher, dass Sie diesen Ordner und seinen gesamten Inhalt löschen möchten?",deleteFileConfirm:"Sind Sie sicher, dass Sie diese Datei löschen möchten?",deleteFileAttachmentsDescriptionSingle:"Dieser Anhang wird in keiner Notiz mehr verwendet. Möchten Sie ihn löschen?",deleteFileAttachmentsDescriptionMultiple:"Diese Anhänge werden in keiner Notiz mehr verwendet. Möchten Sie sie löschen?",deleteFileAttachmentsViewFileTreeAriaLabel:"Dateibaum",deleteFileAttachmentsViewGalleryAriaLabel:"Galerie",moveFileConflictDescriptionSingle:'Ein Dateikonflikt wurde in „{folder}" gefunden.',moveFileConflictDescriptionMultiple:'{count} Dateikonflikte wurden in „{folder}" gefunden.',moveFileConflictAffectedFiles:"Betroffene Dateien",moveFileConflictItem:'„{name}" -> „{suggested}"{renameOnly}',moveFileConflictRenameOnly:"(nur umbenennen)",moveFileConflictRename:"Umbenennen",moveFileConflictOverwrite:"Überschreiben",removeAllTagsTitle:"Alle Tags entfernen",removeAllTagsFromNote:"Sind Sie sicher, dass Sie alle Tags von dieser Notiz entfernen möchten?",removeAllTagsFromNotes:"Sind Sie sicher, dass Sie alle Tags von {count} Notizen entfernen möchten?"},folderNoteType:{title:"Ordnernotiztyp auswählen",folderLabel:"Ordner: {name}"},folderSuggest:{placeholder:t=>`In Ordner verschieben: ${t}...`,multipleFilesLabel:t=>`${t} Dateien`,navigatePlaceholder:"Zu Ordner navigieren...",instructions:{navigate:"zum Navigieren",move:"zum Verschieben",select:"zum Auswählen",dismiss:"zum Abbrechen"}},homepage:{placeholder:"Dateien durchsuchen...",instructions:{navigate:"zum Navigieren",select:"als Startseite setzen",dismiss:"zum Abbrechen"}},calendarTemplate:{placeholder:"Vorlagen durchsuchen...",instructions:{navigate:"zum Navigieren",select:"zum Auswählen der Vorlage",dismiss:"zum Abbrechen"}},navigationBanner:{placeholder:"Bilder durchsuchen...",instructions:{navigate:"zum Navigieren",select:"um Banner zu setzen",dismiss:"zum Abbrechen"}},tagSuggest:{navigatePlaceholder:"Zu Tag navigieren...",addPlaceholder:"Nach hinzuzufügendem Tag suchen...",removePlaceholder:"Tag zum Entfernen auswählen...",createNewTag:"Neuen Tag erstellen: #{tag}",instructions:{navigate:"zum Navigieren",select:"zum Auswählen",dismiss:"zum Abbrechen",add:"zum Hinzufügen des Tags",remove:"zum Entfernen des Tags"}},propertySuggest:{placeholder:"Eigenschaftsschlüssel auswählen...",navigatePlaceholder:"Zu Eigenschaft navigieren...",instructions:{navigate:"zum Navigieren",select:"zum Hinzufügen der Eigenschaft",dismiss:"zum Abbrechen"}},propertyKeyVisibility:{title:"Sichtbarkeit der Eigenschaftsschlüssel",description:"Steuern Sie, wo Eigenschaftswerte angezeigt werden. Die Spalten entsprechen dem Navigationsbereich, dem Listenbereich und dem Datei-Kontextmenü. Verwenden Sie die untere Zeile, um alle Zeilen einer Spalte umzuschalten.",searchPlaceholder:"Eigenschaftsschlüssel suchen...",propertyColumnLabel:"Eigenschaft",showInNavigation:"In Navigation anzeigen",showInList:"In Liste anzeigen",showInFileMenu:"Im Dateimenü anzeigen",toggleAllInNavigation:"Alle in Navigation umschalten",toggleAllInList:"Alle in Liste umschalten",toggleAllInFileMenu:"Alle im Dateimenü umschalten",applyButton:"Anwenden",emptyState:"Keine Eigenschaftsschlüssel gefunden."},welcome:{title:"Willkommen bei {pluginName}",introText:'Hallo! Bevor Sie beginnen, empfehle ich Ihnen, die ersten fünf Minuten des Videos unten anzusehen, um zu verstehen, wie die Bereiche und der Schalter „Notizen aus Unterordnern anzeigen" funktionieren.',continueText:"Wenn Sie weitere fünf Minuten haben, schauen Sie das Video weiter an, um die kompakten Anzeigemodi und die richtige Einrichtung von Lesezeichen und wichtigen Tastenkombinationen zu verstehen.",thanksText:"Vielen Dank fürs Herunterladen und viel Spaß!",videoAlt:"Notebook Navigator installieren und beherrschen",openVideoButton:"Video abspielen",closeButton:"Vielleicht später"}},fileSystem:{errors:{createFolder:"Ordner konnte nicht erstellt werden: {error}",createFile:"Datei konnte nicht erstellt werden: {error}",renameFolder:"Ordner konnte nicht umbenannt werden: {error}",renameFolderNoteConflict:'Umbenennung nicht möglich: "{name}" existiert bereits in diesem Ordner',renameFile:"Datei konnte nicht umbenannt werden: {error}",deleteFolder:"Ordner konnte nicht gelöscht werden: {error}",deleteFile:"Datei konnte nicht gelöscht werden: {error}",deleteAttachments:"Anhänge konnten nicht gelöscht werden: {error}",mergeNotes:"Notizen konnten nicht zusammengeführt werden: {error}",mergeNotesOpenOutput:"Zusammengeführte Notiz wurde als {name} erstellt, konnte aber nicht geöffnet werden: {error}. Quellnotizen wurden nicht verändert.",mergeNotesOpenSkipped:"Eine andere Dateiöffnungsanfrage hatte Vorrang.",mergeNotesTrashSources:"Zusammengeführte Notiz erstellt. {count} Quellnotizen konnten nicht in den Papierkorb verschoben werden.",duplicateNote:"Notiz konnte nicht dupliziert werden: {error}",duplicateFolder:"Ordner konnte nicht dupliziert werden: {error}",openVersionHistory:"Versionsverlauf konnte nicht geöffnet werden: {error}",versionHistoryNotFound:"Versionsverlauf-Befehl nicht gefunden. Stellen Sie sicher, dass Obsidian Sync aktiviert ist.",revealInExplorer:"Datei konnte nicht im Explorer angezeigt werden: {error}",openInDefaultApp:"Öffnen in Standard-App fehlgeschlagen: {error}",openInDefaultAppNotAvailable:"Öffnen in Standard-App ist auf dieser Plattform nicht verfügbar",folderNoteAlreadyExists:"Ordnernotiz existiert bereits",folderAlreadyExists:'Ordner "{name}" existiert bereits',folderNotesDisabled:"Aktivieren Sie Ordnernotizen in den Einstellungen, um Dateien zu konvertieren",folderNoteAlreadyLinked:"Diese Datei fungiert bereits als Ordnernotiz",folderNoteNotFound:"Keine Ordnernotiz im ausgewählten Ordner",folderNoteUnsupportedExtension:"Nicht unterstützte Dateierweiterung: {extension}",folderNoteMoveFailed:"Datei konnte während der Konvertierung nicht verschoben werden: {error}",folderNoteRenameConflict:'Eine Datei namens "{name}" existiert bereits im Ordner',folderNoteConversionFailed:"Konvertierung in Ordnernotiz fehlgeschlagen",folderNoteConversionFailedWithReason:"Konvertierung in Ordnernotiz fehlgeschlagen: {error}",folderNoteOpenFailed:"Datei konvertiert, aber Ordnernotiz konnte nicht geöffnet werden: {error}",failedToDeleteFile:"Löschen von {name} fehlgeschlagen: {error}",failedToDeleteMultipleFiles:"Löschen von {count} Dateien fehlgeschlagen",versionHistoryNotAvailable:"Versionsverlauf-Dienst nicht verfügbar",drawingAlreadyExists:"Eine Zeichnung mit diesem Namen existiert bereits",failedToCreateDrawing:"Zeichnung konnte nicht erstellt werden",noFolderSelected:"Kein Ordner im Notebook Navigator ausgewählt",noFileSelected:"Keine Datei ausgewählt"},warnings:{linkBreakingNameCharacters:"Dieser Name enthält Zeichen, die Obsidian-Links zerstören: #, |, ^, %%, [[, ]].",forbiddenNameCharactersAllPlatforms:"Namen dürfen nicht mit einem Punkt beginnen oder : oder / enthalten.",forbiddenNameCharactersWindows:'Windows-reservierte Zeichen sind nicht erlaubt: <, >, ", \\, |, ?, *.'},notices:{hideFolder:"Ordner ausgeblendet: {name}",showFolder:"Ordner eingeblendet: {name}",mergeNotes:"{count} Notizen in {name} zusammengeführt"},notifications:{deletedMultipleFiles:"{count} Dateien gelöscht",movedMultipleFiles:"{count} Dateien nach {folder} verschoben",folderNoteConversionSuccess:'Datei in Ordnernotiz in "{name}" konvertiert',folderMoved:'Ordner "{name}" verschoben',deepLinkCopied:"Obsidian-URL in die Zwischenablage kopiert",pathCopied:"Pfad in die Zwischenablage kopiert",relativePathCopied:"Relativen Pfad in die Zwischenablage kopiert",tagAddedToNote:"Tag zu 1 Notiz hinzugefügt",tagAddedToNotes:"Tag zu {count} Notizen hinzugefügt",tagRemovedFromNote:"Tag von 1 Notiz entfernt",tagRemovedFromNotes:"Tag von {count} Notizen entfernt",tagsClearedFromNote:"Alle Tags von 1 Notiz entfernt",tagsClearedFromNotes:"Alle Tags von {count} Notizen entfernt",noTagsToRemove:"Keine Tags zum Entfernen",noFilesSelected:"Keine Dateien ausgewählt",mergeNotesRequireMultipleMarkdown:"Wählen Sie mindestens zwei Markdown-Notizen zum Zusammenführen aus",tagOperationsNotAvailable:"Tag-Operationen nicht verfügbar",propertyOperationsNotAvailable:"Eigenschafts-Operationen nicht verfügbar",tagsRequireMarkdown:"Tags werden nur in Markdown-Notizen unterstützt",propertiesRequireMarkdown:"Eigenschaften werden nur bei Markdown-Notizen unterstützt",propertySetOnNote:"Eigenschaft bei 1 Notiz aktualisiert",propertySetOnNotes:"Eigenschaft bei {count} Notizen aktualisiert",manualSortPropertyRemovedFromNote:"Sortier-Eigenschaft aus 1 Notiz entfernt",manualSortPropertyRemovedFromNotes:"Sortier-Eigenschaft aus {count} Notizen entfernt",iconPackDownloaded:"{provider} heruntergeladen",iconPackUpdated:"{provider} aktualisiert ({version})",iconPackRemoved:"{provider} entfernt",iconPackLoadFailed:"{provider} konnte nicht geladen werden",hiddenFileReveal:'Datei ist ausgeblendet. Aktiviere „Ausgeblendete Elemente anzeigen", um sie anzuzeigen'},confirmations:{deleteMultipleFiles:"Möchten Sie wirklich {count} Dateien löschen?",deleteConfirmation:"Diese Aktion kann nicht rückgängig gemacht werden."},defaultNames:{untitled:"Ohne Titel"}},dragDrop:{errors:{cannotMoveIntoSelf:"Ein Ordner kann nicht in sich selbst oder einen Unterordner verschoben werden.",itemAlreadyExists:'Ein Element mit dem Namen "{name}" existiert bereits an diesem Ort.',failedToMove:"Verschieben fehlgeschlagen: {error}",failedToAddTag:'Hinzufügen des Tags "{tag}" fehlgeschlagen',failedToSetProperty:"Eigenschaft konnte nicht aktualisiert werden: {error}",failedToClearTags:"Entfernen der Tags fehlgeschlagen",failedToMoveFolder:'Ordner "{name}" konnte nicht verschoben werden',failedToImportFiles:"Import fehlgeschlagen: {names}"},notifications:{filesAlreadyExist:"{count} Dateien existieren bereits am Zielort",filesAlreadyHaveTag:"{count} Dateien haben dieses Tag oder ein spezifischeres bereits",filesAlreadyHaveProperty:"{count} Dateien haben diese Eigenschaft bereits",noTagsToClear:"Keine Tags zum Entfernen",fileImported:"1 Datei importiert",filesImported:"{count} Dateien importiert"}},dateGroups:{today:"Heute",yesterday:"Gestern",previous7Days:"Letzte 7 Tage",previous30Days:"Letzte 30 Tage"},commands:{open:"Öffnen",toggleLeftSidebar:"Linke Seitenleiste umschalten",openHomepage:"Startseite öffnen",openDailyNote:"Tägliche Notiz öffnen",openWeeklyNote:"Wöchentliche Notiz öffnen",openMonthlyNote:"Monatliche Notiz öffnen",openQuarterlyNote:"Vierteljährliche Notiz öffnen",openYearlyNote:"Jährliche Notiz öffnen",revealFile:"Datei anzeigen",search:"Suchen",searchVaultRoot:"Im Tresorverzeichnis suchen",toggleDualPane:"Doppelbereichslayout umschalten",toggleDualPaneOrientation:"Doppelbereich-Ausrichtung umschalten",toggleCalendar:"Kalender umschalten",selectVaultProfile:"Tresorprofil wechseln",selectVaultProfile1:"Tresorprofil 1 auswählen",selectVaultProfile2:"Tresorprofil 2 auswählen",selectVaultProfile3:"Tresorprofil 3 auswählen",deleteFile:"Dateien löschen",createNewNote:"Neue Notiz erstellen",createNewNoteFromTemplate:"Neue Notiz aus Vorlage",moveFiles:"Dateien verschieben",mergeNotes:"Notizen zusammenführen",selectNextFile:"Nächste Datei auswählen",selectPreviousFile:"Vorherige Datei auswählen",navigateBack:"Zurück navigieren",navigateForward:"Vorwärts navigieren",convertToFolderNote:"In Ordnernotiz konvertieren",setAsFolderNote:"Als Ordnernotiz festlegen",detachFolderNote:"Ordnernotiz lösen",pinAllFolderNotes:"Alle Ordnernotizen anheften",navigateToFolder:"Zu Ordner navigieren",navigateToTag:"Zu Tag navigieren",navigateToProperty:"Zu Eigenschaft navigieren",addShortcut:"Zu Shortcuts hinzufügen",openShortcut:"Shortcut {number} öffnen",toggleDescendants:"Nachkommen umschalten",toggleHidden:"Versteckte Ordner, Tags und Notizen umschalten",toggleTagSort:"Tag-Sortierung umschalten",toggleTagsBySelection:"Tags nach Auswahl umschalten",togglePropertiesBySelection:"Eigenschaften nach Auswahl umschalten",toggleCompactMode:"Kompaktmodus umschalten",togglePinnedSection:"Angepinnten Bereich umschalten",collapseExpand:"Alle Elemente ein-/ausklappen",collapseExpandSelectedItem:"Ausgewähltes Element ein-/ausklappen",addTag:"Tag zu ausgewählten Dateien hinzufügen",setProperty:"Eigenschaft für ausgewählte Dateien setzen",removeTag:"Tag von ausgewählten Dateien entfernen",removeAllTags:"Alle Tags von ausgewählten Dateien entfernen",openAllFiles:"Alle Dateien öffnen",rebuildCache:"Cache neu aufbauen"},plugin:{viewName:"Notebook Navigator",calendarViewName:"Kalender",folderNoteSidebarViewName:"Ordnernotiz",ribbonTooltip:"Notebook Navigator",revealInNavigator:"In Notebook Navigator anzeigen"},tooltips:{lastModifiedAt:"Zuletzt geändert am",createdAt:"Erstellt am",file:"Datei",files:"Dateien",folder:"Ordner",folders:"Ordner",wordCount:"Wortanzahl"},fileCounts:{words:"{count} Wörter",characters:"{count} Zeichen",separator:" · "},settings:{changeDefaultSettings:"Standardeinstellungen ändern",metadataReport:{exportSuccess:"Fehlgeschlagene Metadaten-Bericht exportiert nach: {filename}",exportFailed:"Export des Metadaten-Berichts fehlgeschlagen"},sections:{general:"Allgemein",vaultFilters:"Anzeigefilter",appearanceBehavior:"Darstellung & Verhalten",navigationPane:"Navigationsbereich",calendar:"Kalender",fileOperations:"Dateioperationen",icons:"Icon-Pakete",folders:"Ordner",folderNotes:"Ordnernotizen",folderNoteFiles:"Ordnernotiz-Dateien",foldersAndFolderNotes:"Ordner & Ordnernotizen",tagsAndProperties:"Tags & Eigenschaften",tags:"Tags",listPane:"Listenbereich",notes:"Dateianzeige",shortcutsAndRecentFiles:"Verknüpfungen & zuletzt verwendete Dateien",advanced:"Erweitert"},pageGroups:{configuration:"Konfiguration",navigationAndContent:"Navigationsbereich",notesAndLists:"Listenbereich",calendarAndTools:"Kalender und Werkzeuge"},pageDescriptions:{general:"Versionshinweise, Support, Tresorprofil, Dateitypen und Eigenschaftsschlüssel.",vaultFilters:"Versteckte Ordner, Tags, Dateien, Datei-Tags und Eigenschaftsregeln.",appearanceBehavior:"Verhalten, Tastaturnavigation, Maustasten, Darstellung und Formatierung.",navigationPane:"Layout, Darstellung, Notizenanzahl, Einklappverhalten und Regenbogenfarben.",shortcuts:"Verknüpfungssichtbarkeit, Abzeichen, zuletzt verwendete Dateien und angeheftete Elemente.",calendar:"Kalenderanzeige, Datumsnotizen, Vorlagen, Sprachumgebung und Seitenleistenposition.",fileOperations:"Vorlagen, Löschbestätigungen, Anhänge und Verhalten bei Dateikonflikten beim Verschieben.",foldersAndFolderNotes:"Ordneranzeige, Ordnernotizen, Ordnernotiz-Vorlagen und Ordnernotiz-Verhalten.",tagsProperties:"Tag- und Eigenschaftsbereiche, Symbole, Sortierung, Geltungsbereich und Vererbung.",listPane:"Sortierung, Gruppierung, Listenmodi, angeheftete Notizen und Zeichnungsvorschauen.",frontmatter:"Frontmatter-Felder für Anzeigenamen, Zeitstempel, Symbole und Farben.",notes:"Titel, Vorschautext, Hauptbilder, Tags, Eigenschaften, Daten, Wortanzahlen und Zeichenanzahlen.",iconPacks:"Oberflächensymbole, Dateisymbole und Icon-Paket-Verwaltung.",advanced:"Diagnose, Metadatenbereinigung, Import/Export und Zurücksetzen."},groups:{general:{vaultConfiguration:"Tresor-Einrichtung",templates:"Vorlagen",behavior:"Verhalten",keyboardNavigation:"Tastaturnavigation",mouseButtons:"Maustasten",view:"Darstellung",icons:"Symbole",desktopAppearance:"Desktop-Darstellung",mobileAppearance:"Mobile Darstellung",formatting:"Formatierung"},advanced:{maintenance:"Wartung",resetSettings:"Einstellungen zurücksetzen"},navigation:{appearance:"Darstellung",banner:"Banner",collapseItems:"Elemente einklappen",dragAndDrop:"Drag-and-drop",noteCounts:"Notizanzahlen",rainbowColors:"Regenbogenfarben",leftSidebar:"Linke Seitenleiste",calendarIntegration:"Kalenderintegration"},list:{display:"Darstellung",groupHeaders:"Gruppenüberschriften",propertySort:"Eigenschaftssortierung",manualSort:"Manuelle Sortierung",pinnedNotes:"Angeheftete Notizen",drawingPreviews:"Zeichnungsvorschauen"},notes:{frontmatter:"Frontmatter-Felder",tasks:"Aufgaben",icon:"Symbol",title:"Titel",previewText:"Vorschautext",featureImage:"Hauptbild",tags:"Tags",properties:"Eigenschaften",date:"Datum",parentFolder:"Übergeordneter Ordner",wordCount:"Wort- und Zeichenanzahl"}},syncMode:{notSynced:"(nicht synchronisiert)",switchToSynced:"Synchronisierung aktivieren",switchToLocal:"Synchronisierung deaktivieren"},items:{listPaneTitle:{name:"Titel des Listenbereichs",desc:"Wählen Sie, wo der Titel des Listenbereichs angezeigt wird.",options:{header:"Im Kopfbereich anzeigen",list:"Im Listenbereich anzeigen",hidden:"Nicht anzeigen"}},sortNotesBy:{name:"Standard-Sortierreihenfolge",desc:"Wählen Sie die Standard-Sortierreihenfolge für Notizen.",options:{"modified-desc":"Bearbeitungsdatum (neueste oben)","modified-asc":"Bearbeitungsdatum (älteste oben)","created-desc":"Erstellungsdatum (neueste oben)","created-asc":"Erstellungsdatum (älteste oben)","title-asc":"Titel (A oben)","title-desc":"Titel (Z oben)","filename-asc":"Dateiname (A oben)","filename-desc":"Dateiname (Z oben)"},directions:{asc:"Aufsteigend",desc:"Absteigend"},fields:{modified:"Bearbeitungsdatum",created:"Erstellungsdatum",title:"Titel",filename:"Dateiname",property:"Eigenschaft"}},propertySortKey:{name:"Eigenschaften zum Sortieren",desc:"Kommagetrennte Frontmatter-Eigenschaften, die als Eigenschaftssortier-Optionen angezeigt werden. Array-Werte werden zu einer einzelnen Zeichenkette zusammengefügt. Diese Eigenschaften werden nicht geändert.",placeholder:"published, author"},propertySortSecondary:{name:"Sekundäre Sortierung",desc:"Wird bei der Eigenschafts-Sortierung verwendet, wenn Notizen denselben Eigenschaftswert oder keinen Eigenschaftswert haben.",options:{title:"Titel",filename:"Dateiname",created:"Erstellungsdatum",modified:"Bearbeitungsdatum"}},propertySortInstructions:{intro:"Jede oben aufgeführte Eigenschaft erscheint als Sortieroption im Sortiermenü des Listenbereichs. Bei Auswahl werden Notizen nach ihrem Frontmatter-Wert sortiert."},manualSortPropertyKey:{name:"Eigenschaft für manuelle Sortierung",desc:"Frontmatter-Eigenschaft zum Speichern der numerischen Indexwerte für die manuelle Sortierung."},manualSortGroupHeaderProperty:{name:"Eigenschaft für Gruppenüberschriften",desc:"Frontmatter-Eigenschaft zum Speichern der benutzerdefinierten Gruppenüberschriften."},groupHeadersInstructions:{intro:"Benutzerdefinierte Gruppenüberschriften werden über Notizen im Listenbereich angezeigt.",items:["Stellen Sie im Sortiermenü des Listenbereichs die Gruppierung auf **Benutzerdefiniert**.","Klicken Sie mit der rechten Maustaste auf eine Notiz und wählen Sie **Gruppenüberschrift festlegen**, um eine Überschrift darüber hinzuzufügen."]},manualSortNewNotePlacement:{name:"Platzierung neuer Notizen",desc:"Wählen Sie, wo neue Notizen platziert werden, wenn die aktuelle Liste die manuelle Sortierung verwendet.",options:{top:"Oben",bottom:"Unten","below-selected-note":"Unter ausgewählter Notiz",unsorted:"Unsortiert"}},confirmBeforeManualSort:{name:"Vor manueller Sortierung bestätigen",desc:"Eine Warnung anzeigen, bevor die Eigenschaft für die manuelle Sortierung erstmals in Notizen geschrieben wird. Wenn deaktiviert, erhalten Notizen die Eigenschaft ohne Warnung."},manualSortInstructions:{intro:"Die manuelle Sortierung schreibt einen numerischen Indexwert in eine Frontmatter-Eigenschaft jeder Notiz. Notizen ohne Index erscheinen unter Unsortiert.",items:["Aktivieren Sie die manuelle Sortierung, indem Sie **Manuelle Sortierung** aus dem Sortiermenü wählen. Danach gibt es zwei Möglichkeiten, Notizen neu anzuordnen.","Wählen Sie **Sortierreihenfolge bearbeiten...** aus dem Sortiermenü, um eine Neuordnungsansicht zu öffnen. Ziehen Sie Notizen mit der Maus oder per Touch auf Mobilgeräten. Auf dem Desktop wählt **Cmd/Ctrl**- oder **Shift**-Klick mehrere Notizen aus; das Ziehen einer beliebigen verschiebt dann die gesamte Gruppe.","Wählen Sie im Listenbereich eine Notiz aus oder markieren Sie mehrere und drücken Sie **Cmd/Ctrl + Arrow Up/Down**, um die Auswahl nach oben oder unten zu verschieben."]},revealFileOnListChanges:{name:"Zu ausgewählter Datei bei Listenänderungen scrollen",desc:"Zur ausgewählten Datei scrollen beim Anheften von Notizen, Anzeigen von Unternotizen, Ändern der Ordnerdarstellung oder bei Dateioperationen."},includeDescendantNotes:{name:"Notizen aus Unterordnern / Nachkommen anzeigen",desc:"Beim Anzeigen eines Ordners, Tags oder einer Eigenschaft Notizen aus Unterordnern sowie Tag- und Eigenschafts-Nachkommen einbeziehen."},limitPinnedToCurrentFolder:{name:"Notizen nur in ihrem Ordner anheften",desc:"Angeheftete Notizen erscheinen nur in ihrem eigenen Ordner als angeheftet. Nützlich für Ordnernotizen oder bei vielen angehefteten Notizen. Hat keinen Einfluss auf Tag- oder Eigenschaftsansichten."},separateNoteCounts:{name:"Aktuelle und Nachkommen-Notizanzahl getrennt anzeigen",desc:'Zeigt Notizanzahlen als "aktuell ▾ Nachkommen" für Ordner, Tags und Eigenschaften.'},groupNotes:{name:"Standardgruppierung",desc:"Benutzerdefiniert zeigt im Frontmatter definierte Überschriften. Datum gruppiert Notizen nach Datum. Ordner gruppiert Notizen nach Ordner. Tag- und Eigenschaftsansichten verwenden Datumsgruppen, wenn Ordner ausgewählt ist.",options:{custom:"Benutzerdefiniert",date:"Datum",folder:"Ordner"}},showSelectedNavigationPills:{name:"Tag- und Eigenschaftspillen immer anzeigen",desc:'Wenn deaktiviert, werden Pillen ausgeblendet, die der aktuellen Navigationsauswahl entsprechen (z. B. wird die „Rezepte"-Tag-Pille beim Durchsuchen des „Rezepte"-Tags ausgeblendet). Aktivieren, um alle Pillen sichtbar zu halten.'},stickyGroupHeaders:{name:"Gruppenüberschriften fixieren",desc:"Hält die aktuelle Datums-, Ordner- oder Anheftbereichsüberschrift beim Scrollen sichtbar."},showFolderGroupPaths:{name:"Unterordnerpfade anzeigen",desc:"Beim Gruppieren nach Ordner im Listenbereich Unterordnerpfade statt nur Ordnernamen anzeigen."},showCurrentFolderFilesAtBottom:{name:"Ordnergruppierung: Dateien des aktuellen Ordners unten",desc:"Wenn die Standardgruppierung „Ordner“ ist, Dateien direkt im ausgewählten Ordner unter den Unterordnergruppen anzeigen."},defaultListMode:{name:"Standardmodus für Listen",desc:"Standardlistenlayout auswählen. Standard zeigt Titel, Datum, Beschreibung und Vorschautext. Kompakt zeigt nur den Titel. Ansicht kann pro Ordner überschrieben werden.",options:{standard:"Standard",compact:"Kompakt"}},showFileIcons:{name:"Dateisymbole anzeigen",desc:"Dateisymbole mit linksbündigem Abstand anzeigen. Deaktivierung entfernt sowohl Symbole als auch Einrückung. Priorität: Unerledigte-Aufgaben-Symbol > Benutzerdefiniertes Symbol > Ordnersymbol > Dateiname-Symbol > Dateityp-Symbol > Standard-Symbol."},useFolderIcon:{name:"Ordnersymbol verwenden",desc:"Das Symbol des übergeordneten Ordners anzeigen, wenn kein benutzerdefiniertes Dateisymbol festgelegt ist. Die Ordnerfarbe wird verwendet, wenn keine benutzerdefinierte Dateifarbe festgelegt ist."},showFileIconUnfinishedTask:{name:"Unerledigte-Aufgaben-Symbol",desc:"Ein Aufgabensymbol anzeigen, wenn eine Notiz unerledigte Aufgaben enthält."},showFileBackgroundUnfinishedTask:{name:"Unerledigte-Aufgaben-Hintergrund",desc:"Eine Hintergrundfarbe anwenden, wenn eine Notiz unerledigte Aufgaben enthält."},unfinishedTaskBackgroundColor:{name:"Hintergrundfarbe für unerledigte Aufgaben",desc:"Die Hintergrundfarbe festlegen, die verwendet wird, wenn eine Notiz unerledigte Aufgaben enthält."},showFilenameMatchIcons:{name:"Symbole nach Dateiname",desc:"Symbole basierend auf Text im Dateinamen zuweisen."},fileNameIconMap:{name:"Dateiname-Symbol-Zuordnung",desc:"Dateien mit dem Text erhalten das angegebene Symbol. Eine Zuordnung pro Zeile: Text=Symbol",placeholder:`# Text=icon
besprechung=ph-calendar
rechnung=ph-receipt`,editTooltip:"Zuordnungen bearbeiten"},showCategoryIcons:{name:"Symbole nach Dateityp",desc:"Symbole basierend auf der Dateierweiterung zuweisen."},fileTypeIconPreset:{name:"Dateisymbol-Voreinstellung",desc:"Die integrierten Symbole oder eine Symbolpaket-Voreinstellung auswählen. Benutzerdefinierte Erweiterungsregeln überschreiben diese Voreinstellung.",options:{none:"Integrierte Symbole"},notInstalledWarning:"Dieses Symbolpaket ist nicht installiert. Stattdessen werden integrierte Symbole angezeigt."},fileTypeIconMap:{name:"Dateityp-Symbol-Zuordnung",desc:"Dateien mit der Erweiterung erhalten das angegebene Symbol. Eine Zuordnung pro Zeile: Erweiterung=Symbol",placeholder:`# Extension=icon
cpp=ph-file-code
pdf=ph-file-pdf`,editTooltip:"Zuordnungen bearbeiten"},compactItemHeight:{name:"Höhe schlanker Elemente",desc:"Legt die Höhe schlanker Listenelemente auf Desktop und Mobilgeräten fest (Pixel).",resetTooltip:"Auf Standard zurücksetzen (28px)"},compactItemHeightScaleText:{name:"Text an schlanke Elementhöhe anpassen",desc:"Skaliert den Text schlanker Listenelemente bei reduzierter Höhe."},showParentFolder:{name:"Übergeordneten Ordner anzeigen",desc:"Den übergeordneten Ordnernamen für Notizen in Unterordnern, Tags oder Eigenschaften anzeigen."},showParentFolderFullPath:{name:"Vollständigen Pfad anzeigen",desc:"Den vollständigen Pfad des übergeordneten Ordners anstelle nur des Ordnernamens anzeigen."},parentFolderClickRevealsFile:{name:"Klick auf übergeordneten Ordner öffnet Ordner",desc:"Klicken auf den übergeordneten Ordner öffnet den Ordner im Listenbereich."},showParentFolderColor:{name:"Übergeordnete Ordnerfarbe anzeigen",desc:"Ordnerfarben auf übergeordnete Ordnerlabels anwenden."},showParentFolderIcon:{name:"Übergeordnetes Ordnersymbol anzeigen",desc:"Ordnersymbole neben übergeordneten Ordnerlabels anzeigen."},showQuickActions:{name:"Schnellaktionen anzeigen",desc:"Aktionsschaltflächen beim Überfahren von Dateien anzeigen. Schaltflächensteuerung wählt aus, welche Aktionen erscheinen."},dualPane:{name:"Doppelbereichslayout",desc:"Navigationsbereich und Listenbereich nebeneinander auf dem Desktop anzeigen."},dualPaneOrientation:{name:"Ausrichtung des Doppelbereichs",desc:"Horizontalen oder vertikalen Aufbau wählen, wenn der Doppelbereich aktiv ist.",options:{horizontal:"Horizontale Aufteilung",vertical:"Vertikale Aufteilung"}},narrowSidebarLayout:{name:"Wenn Seitenleiste zu schmal ist",desc:"Wählen Sie, was passiert, wenn Navigationsbereich und Listenbereich nicht nebeneinander passen.",options:{none:"Nichts tun",singlePane:"Zur einspaltigen Ansicht wechseln",vertical:"Zur vertikalen Aufteilung wechseln"}},narrowSidebarTrigger:{name:"Schwellenwert für schmale Seitenleiste",desc:"Wählen Sie, wie der Breiten-Schwellenwert der Seitenleiste berechnet wird.",options:{fitPanes:"Bereiche einpassen",customWidth:"Benutzerdefinierte Breite"}},narrowSidebarCustomWidth:{name:"Breiten-Schwellenwert für schmale Seitenleiste",desc:"Wechseln, wenn die Seitenleiste schmaler als diese Breite ist.",resetTooltip:"Auf Standardbreite zurücksetzen"},appearanceBackground:{name:"Hintergrundfarbe",desc:"Wählen Sie Hintergrundfarben für Navigations- und Listenbereich.",options:{separate:"Separate Hintergründe",primary:"Listenhintergrund verwenden",secondary:"Navigationshintergrund verwenden"}},appearanceScale:{name:"Zoomstufe",desc:"Steuert die gesamte Zoomstufe von Notebook Navigator (Prozent)."},useFloatingToolbars:{name:"Schwebende Symbolleisten auf iOS/iPadOS verwenden",desc:"Gilt nur für iOS und iPadOS."},startView:{name:"Standard-Startansicht",desc:"Wählen Sie den Bereich, der beim Öffnen von Notebook Navigator angezeigt wird. Der Navigationsbereich zeigt Verknüpfungen, neueste Dateien und die Ordnerstruktur. Der Listenbereich zeigt die Dateiliste.",options:{navigation:"Navigationsbereich",files:"Listenbereich"}},toolbarButtons:{name:"Symbolleisten-Schaltflächen",desc:"Wählen Sie aus, welche Schaltflächen in der Symbolleiste angezeigt werden. Ausgeblendete Schaltflächen bleiben über Befehle und Menüs zugänglich.",navigationLabel:"Navigationssymbolleiste",listLabel:"Listensymbolleiste"},createNewNotesInNewTab:{name:"Neue Notizen in neuem Tab öffnen",desc:'Wenn aktiviert, öffnet der Befehl „Neue Notiz erstellen" Notizen in einem neuen Tab. Wenn deaktiviert, ersetzen Notizen den aktuellen Tab.'},autoRevealActiveNote:{name:"Aktive Notiz automatisch anzeigen",desc:"Notizen automatisch anzeigen, wenn sie über Schnellauswahl, Links oder Suche geöffnet werden."},autoRevealShortestPath:{name:"Automatisches Anzeigen: Kürzesten Pfad verwenden",desc:"Aktiviert: Automatisches Anzeigen wählt den nächsten sichtbaren übergeordneten Ordner oder Tag. Deaktiviert: Automatisches Anzeigen wählt den tatsächlichen Ordner der Datei und den genauen Tag."},autoRevealIgnoreRightSidebar:{name:"Automatisches Anzeigen: Ereignisse von rechter Seitenleiste ignorieren",desc:"Aktive Notiz nicht ändern, wenn in der rechten Seitenleiste auf Notizen geklickt oder diese gewechselt werden."},autoRevealIgnoreOtherWindows:{name:"Automatisches Anzeigen: Ereignisse von anderen Fenstern ignorieren",desc:"Aktive Notiz nicht ändern, wenn mit Notizen in einem anderen Fenster gearbeitet wird."},paneTransitionDuration:{name:"Einzelbereich-Animation",desc:"Übergangsdauer beim Wechseln zwischen Bereichen im Einzelbereich-Modus (Millisekunden).",resetTooltip:"Auf Standard zurücksetzen"},autoSelectFirstFileOnFocusChange:{name:"Erste Notiz automatisch auswählen",desc:"Die erste Notiz automatisch öffnen, wenn Sie Ordner, Tags oder Eigenschaften wechseln."},skipAutoScroll:{name:"Auto-Scroll für Verknüpfungen deaktivieren",desc:"Navigationsbereich nicht scrollen beim Klicken auf Elemente in Verknüpfungen."},autoExpandNavItems:{name:"Bei Auswahl erweitern",desc:"Ordner und Tags bei Auswahl erweitern. Im Einzelfenster-Modus: erste Auswahl erweitert, zweite Auswahl zeigt Dateien."},collapseOtherBranchesOnExpand:{name:"Ein erweiterter Zweig",desc:"Andere Zweige im selben Baum einklappen, wenn ein Ordner, Tag oder eine Eigenschaft erweitert wird."},springLoadedFolders:{name:"Beim Ziehen erweitern",desc:"Ordner und Tags beim Überfahren während des Ziehens erweitern."},springLoadedFoldersInitialDelay:{name:"Beim Ziehen erweitern: Verzögerung beim ersten Erweitern",desc:"Verzögerung, bevor der erste Ordner oder Tag während eines Ziehvorgangs erweitert wird (Sekunden)."},springLoadedFoldersSubsequentDelay:{name:"Beim Ziehen erweitern: Verzögerung bei weiteren Erweiterungen",desc:"Verzögerung, bevor weitere Ordner oder Tags während desselben Ziehvorgangs erweitert werden (Sekunden)."},navigationBanner:{name:"Navigationsbanner (Tresorprofil)",desc:"Bild oberhalb des Navigationsbereichs anzeigen. Ändert sich mit dem ausgewählten Tresorprofil.",current:"Aktuelles Banner: {path}",chooseButton:"Bild auswählen"},pinNavigationBanner:{name:"Banner anheften",desc:"Banner oberhalb des Navigationsbaums anheften."},showShortcuts:{name:"Lesezeichen anzeigen",desc:"Lesezeichen-Bereich im Navigationsbereich anzeigen."},shortcutBadgeDisplay:{name:"Verknüpfungsabzeichen",desc:"Was neben Verknüpfungen angezeigt wird. Verwenden Sie die Befehle 'Verknüpfung 1-9 öffnen', um Verknüpfungen direkt zu öffnen.",options:{index:"Position (1-9)",count:"Elementanzahl",none:"Keine"}},showRecentNotes:{name:"Neueste Dateien anzeigen",desc:"Den Bereich für neueste Dateien im Navigationsbereich anzeigen."},hideRecentNotes:{name:"Dateitypen aus neuesten Dateien ausblenden",desc:"Wähle aus, welche Dateitypen im Bereich der neuesten Dateien ausgeblendet werden sollen.",options:{none:"Keine",folderNotes:"Ordnernotizen"}},recentNotesCount:{name:"Anzahl neuester Dateien",desc:"Anzahl der anzuzeigenden neuesten Dateien."},pinRecentNotesWithShortcuts:{name:"Neueste Dateien mit Lesezeichen anheften",desc:"Neueste Dateien beim Anheften von Lesezeichen einbeziehen."},calendarEnabled:{name:"Kalender aktivieren",desc:"Kalenderfunktionen von Notebook Navigator aktivieren."},calendarPlacement:{name:"Kalenderposition",desc:"Anzeige in der linken oder rechten Seitenleiste.",options:{leftSidebar:"Linke Seitenleiste",rightSidebar:"Rechte Seitenleiste"}},calendarLeftPlacement:{name:"Einzelbereichs-Platzierung",desc:"Wo der Kalender im Einzelbereichs-Modus angezeigt wird.",options:{navigationPane:"Navigationsbereich",below:"Unter den Bereichen"}},calendarLocale:{name:"Gebietsschema",desc:"Steuert Kalenderdatumsformat, Wochennummerierung und ersten Wochentag.",weekPathMismatchWarning:"Der sichtbare Kalender und die Pfade für wöchentliche Notizen verwenden unterschiedliche Wochenanfänge oder Wochennummerierungen.",options:{systemDefault:"Standard"}},calendarWeekendDays:{name:"Wochenendtage",desc:"Wochenendtage mit anderer Hintergrundfarbe anzeigen.",options:{none:"Keine",satSun:"Samstag und Sonntag",friSat:"Freitag und Samstag",thuFri:"Donnerstag und Freitag"}},calendarMonthHeadingFormat:{name:"Monatsname-Format",desc:"Langer (Januar) oder kurzer (Jan.) Monatsname.",options:{full:"Januar (voll)",short:"Jan. (kurz)"}},showInfoButtons:{name:"Info-Schaltflächen anzeigen",desc:"Info-Schaltflächen in der Suchleiste und der Kalenderüberschrift anzeigen."},calendarWeeksToShow:{name:"Angezeigte Wochen in linker Seitenleiste",desc:"Der Kalender in der rechten Seitenleiste zeigt immer den vollen Monat an.",options:{fullMonth:"Ganzer Monat",oneWeek:"1 Woche",weeksCount:"{count} Wochen"}},calendarHighlightToday:{name:"Heutiges Datum hervorheben",desc:"Das heutige Datum mit einer Hintergrundfarbe und fettem Text hervorheben."},calendarShowFeatureImage:{name:"Feature-Bild anzeigen",desc:"Feature-Bilder für Notizen im Kalender anzeigen."},calendarShowWeekNumber:{name:"Wochennummer anzeigen",desc:"Spalte mit der Wochennummer hinzufügen."},calendarShowQuarter:{name:"Quartal anzeigen",desc:"Quartalbezeichnung im Kalender-Header hinzufügen."},calendarShowYearCalendar:{name:"Jahreskalender anzeigen",desc:"Jahresnavigation und Monatsraster in der rechten Seitenleiste anzeigen."},calendarConfirmBeforeCreate:{name:"Vor Erstellung bestätigen",desc:"Bestätigungsdialog beim Erstellen einer neuen täglichen Notiz anzeigen."},calendarIntegrationMode:{name:"Tagesnotiz-Quelle",desc:"Quelle für Kalendernotizen.",options:{dailyNotes:"Tägliche Notizen (Core-Plug-in)",notebookNavigator:"Notebook Navigator"},info:{dailyNotes:"Ordner und Datumsformat werden im Daily Notes-Core-Plugin konfiguriert."}},calendarPeriodicNotesLocale:{name:"Gebietsschema für periodische Notizen",desc:"Steuert lokalisierte Monatsnamen, Wochentagsnamen, Wochennummern und Wochenanfänge in den Pfaden für periodische Notizen von Notebook Navigator.",options:{calendar:"Kalender",obsidian:"Obsidian"}},calendarCustomRootFolder:{name:"Stammordner",desc:"Basisordner für periodische Notizen. Datumsmuster können Unterordner enthalten. Ändert sich mit dem ausgewählten Tresorprofil.",placeholder:"Personal/Diary"},calendarTemplateFolder:{name:"Vorlagenordner",desc:"Die Vorlagenauswahl zeigt Notizen aus diesem Ordner.",placeholder:"Templates",usage:"Wird von Kalendernotizen und Ordnernotizen verwendet. Vorlagen unter Kalender > Kalenderintegration und Ordner & Ordnernotizen > Ordnernotiz-Dateien konfigurieren."},calendarCustomFilePattern:{name:"Tägliche Notizen",desc:"Pfad mit Moment-Datumsformat formatieren. Unterordnernamen in Klammern setzen, z.B. [Work]/YYYY. Klicken Sie auf das Vorlagensymbol, um eine Vorlage festzulegen. Vorlagenordner unter Dateioperationen > Vorlagen festlegen.",momentDescPrefix:"Pfad formatieren mit ",momentLinkText:"Moment-Datumsformat",momentDescSuffix:". Unterordnernamen in Klammern setzen, z.B. [Work]/YYYY. Klicken Sie auf das Vorlagensymbol, um eine Vorlage festzulegen. Vorlagenordner unter Dateioperationen > Vorlagen festlegen.",templaterSupportInstalled:"✅ Das Templater-Plugin ist mit voller Vorlagenunterstützung installiert.",templaterSupportMissing:"⚠️ Installieren Sie das Templater-Plugin für volle Vorlagenunterstützung.",placeholder:"YYYY/YYYYMMDD",example:"Aktuelle Syntax: {path}",parsingError:"Das Muster muss als vollständiges Datum (Jahr, Monat, Tag) formatiert und wieder geparst werden können."},calendarCustomWeekPattern:{name:"Wöchentliche Notizen",parsingError:"Das Muster muss als vollständige Woche (Wochenjahr, Wochennummer) formatiert und wieder geparst werden können.",weekPathMismatchWarning:'Pfade für wöchentliche Notizen verwenden das Gebietsschema für periodische Notizen. Verwenden Sie übereinstimmende Gebietsschemata oder "GGGG" mit "WW" für montagsbasierte Wochen.',mixedWeekTokensWarning:'Dieses Muster mischt montagsbasierte Wochen-Token ("W" oder "G") mit gebietsschemabasierten Wochen-Token ("w" oder "g"). Verwenden Sie konsequent einen Satz: "GGGG" mit "WW" für montagsbasierte Wochen oder "gggg" mit "ww", wenn wöchentliche Notizen dem gewählten Gebietsschema folgen sollen.'},calendarCustomMonthPattern:{name:"Monatliche Notizen",parsingError:"Das Muster muss als vollständiger Monat (Jahr, Monat) formatiert und wieder geparst werden können."},calendarCustomQuarterPattern:{name:"Vierteljährliche Notizen",parsingError:"Das Muster muss als vollständiges Quartal (Jahr, Quartal) formatiert und wieder geparst werden können."},calendarCustomYearPattern:{name:"Jährliche Notizen",parsingError:"Das Muster muss als vollständiges Jahr (Jahr) formatiert und wieder geparst werden können."},calendarTemplateFile:{current:"Vorlagendatei: {name}"},showTooltips:{name:"Tooltips anzeigen",desc:"Zeige Hover-Tooltips mit zusätzlichen Informationen für Notizen und Ordner an."},showTooltipPath:{name:"Pfad in Tooltips anzeigen",desc:"Zeigt den Ordnerpfad unter den Notiznamen in Tooltips an."},showTooltipWordCount:{name:"Wortanzahl in Tooltips anzeigen",desc:"Zeigt die Wortanzahl von Notizen in Tooltips an."},resetPaneSeparator:{name:"Position des Fenstertrennelements zurücksetzen",desc:"Setzt das verschiebbare Trennelement zwischen Navigationsbereich und Listenbereich auf die Standardposition zurück.",buttonText:"Trennelement zurücksetzen",notice:"Trennelementposition zurückgesetzt. Starten Sie Obsidian neu oder öffnen Sie Notebook Navigator erneut, um die Änderungen anzuwenden."},settingsTransfer:{name:"Einstellungen importieren und exportieren",desc:"Notebook Navigator-Einstellungen als JSON exportieren oder importieren. Der Import ersetzt alle Einstellungen.",importButtonText:"Importieren",exportButtonText:"Exportieren",import:{modalTitle:"Einstellungen importieren",fileButtonName:"Aus Datei importieren",fileButtonDesc:"Eine JSON-Datei von der Festplatte laden.",fileButtonText:"Aus Datei importieren",editorName:"JSON",editorDesc:"JSON unten einfügen oder bearbeiten. Nicht enthaltene Einstellungen werden auf Standardwerte zurückgesetzt.",placeholder:`{
  "folderSortOrder": "alpha-desc"
}`,confirmButtonText:"Importieren",successNotice:"Einstellungen importiert.",errorNotice:"Einstellungen konnten nicht importiert werden: {message}",fileReadError:"Datei konnte nicht gelesen werden: {message}"},export:{modalTitle:"Einstellungen exportieren",editorName:"JSON",editorDesc:"Nur Einstellungen, die von den Standardwerten abweichen, sind enthalten.",placeholder:"{}",copyButtonText:"In die Zwischenablage kopieren",downloadButtonText:"Herunterladen",copyNotice:"Einstellungen in die Zwischenablage kopiert.",downloadNotice:"Einstellungen exportiert.",downloadError:"Einstellungen konnten nicht heruntergeladen werden: {message}"}},resetAllSettings:{name:"Alle Einstellungen zurücksetzen",desc:"Setzt alle Notebook Navigator-Einstellungen auf die Standardwerte zurück.",buttonText:"Alle Einstellungen zurücksetzen",confirmTitle:"Alle Einstellungen zurücksetzen?",confirmMessage:"Dies setzt alle Notebook Navigator-Einstellungen auf ihre Standardwerte zurück. Dies kann nicht rückgängig gemacht werden.",confirmButtonText:"Alle Einstellungen zurücksetzen",notice:"Alle Einstellungen zurückgesetzt. Starten Sie Obsidian neu oder öffnen Sie Notebook Navigator erneut, um die Änderungen anzuwenden.",error:"Zurücksetzen der Einstellungen fehlgeschlagen."},multiSelectModifier:{name:"Mehrfachauswahl-Modifikator",desc:"Wählen Sie, welche Modifikatortaste die Mehrfachauswahl umschaltet. Wenn Option/Alt ausgewählt ist, öffnet Cmd/Strg-Klick Notizen in einem neuen Tab.",options:{cmdCtrl:"Cmd/Strg-Klick",optionAlt:"Option/Alt-Klick"}},enterToOpenFiles:{name:"Enter drücken zum Öffnen",desc:"Dateien nur mit Enter öffnen während der Tastaturnavigation in der Liste. Unter macOS verhindert dies, dass Enter Dateien umbenennt."},shiftEnterOpenContext:{name:"Shift+Enter",desc:"Festlegen, ob Shift+Enter die ausgewählte Datei öffnet oder umbenennt."},cmdEnterOpenContext:{name:"Cmd+Enter",desc:"Festlegen, ob Cmd+Enter die ausgewählte Datei öffnet oder umbenennt."},ctrlEnterOpenContext:{name:"Strg+Enter",desc:"Festlegen, ob Strg+Enter die ausgewählte Datei öffnet oder umbenennt."},mouseBackForwardAction:{name:"Maustasten vor/zurück",desc:"Aktion für die Vor- und Zurück-Tasten der Maus auf dem Desktop.",options:{none:"Systemstandard verwenden",singlePaneSwitch:"Bereiche wechseln (Einzelbereich)",history:"Verlauf navigieren"}},excludedNotes:{name:"Notizen mit Eigenschaftsregeln verstecken (Tresorprofil)",desc:"Kommagetrennte Liste von Frontmatter-Regeln. Verwenden Sie `key` oder `key=value` Einträge (z.B. status=done, published=true, archived).",placeholder:"status=done, published=true, archived"},excludedFileNamePatterns:{name:"Dateien verstecken (Tresorprofil)",desc:"Kommagetrennte Liste von Dateinamenmustern zum Ausblenden. Unterstützt * Platzhalter und / Pfade (z.B. temp-*, *.png, /assets/*).",placeholder:"temp-*, *.png, /assets/*"},vaultProfiles:{name:"Tresorprofil",desc:"Profile speichern Dateityp-Sichtbarkeit, versteckte Dateien, versteckte Ordner, versteckte Tags, Eigenschaftsregeln für versteckte Notizen, Verknüpfungen und Navigationsbanner. Profile können über die Kopfzeile des Navigationsbereichs gewechselt werden.",defaultName:"Standard",addButton:"Profil hinzufügen",editProfilesButton:"Profile bearbeiten",addProfileOption:"Profil hinzufügen...",applyButton:"Übernehmen",deleteButton:"Profil löschen",addModalTitle:"Profil hinzufügen",editProfilesModalTitle:"Profile bearbeiten",addModalPlaceholder:"Profilname",deleteModalTitle:"{name} löschen",deleteModalMessage:"{name} entfernen? Versteckte Datei-, Ordner-, Tag- und eigenschaftsbasierte Notizfilter in diesem Profil werden gelöscht.",moveUp:"Nach oben",moveDown:"Nach unten",errors:{emptyName:"Profilnamen eingeben",duplicateName:"Profilname bereits vorhanden"}},vaultTitle:{name:"Tresortitel-Platzierung",desc:"Wählen Sie, wo der Tresortitel angezeigt wird.",options:{header:"Im Header anzeigen",navigation:"Im Navigationsbereich anzeigen"}},excludedFolders:{name:"Ordner verstecken (Tresorprofil)",desc:"Kommagetrennte Liste von auszublendenden Ordnern. Namensmuster: assets* (Ordner die mit assets beginnen), *_temp (endet mit _temp). Pfadmuster: /archive (nur Wurzel-Archive), /res* (Wurzelordner die mit res beginnen), /*/temp (temp-Ordner eine Ebene tief), /projects/* (alle Ordner in projects).",placeholder:"templates, assets*, /archive, /res*"},fileVisibility:{name:"Dateitypen anzeigen (Tresorprofil)",desc:"Filtern Sie, welche Dateitypen im Navigator angezeigt werden. Dateitypen, die von Obsidian nicht unterstützt werden, können in externen Anwendungen geöffnet werden.",options:{documents:"Dokumente (.md, .canvas, .base)",supported:"Unterstützt (öffnet in Obsidian)",all:"Alle (öffnet ggf. extern)"}},homepage:{name:"Startseite",desc:"Wählen Sie, was Notebook Navigator beim Start automatisch öffnet.",current:"Aktuell: {path}",chooseButton:"Datei auswählen",options:{none:"Keine",file:"Datei",dailyNote:"Tagesnotiz",weeklyNote:"Wochennotiz",monthlyNote:"Monatsnotiz",quarterlyNote:"Quartalsnotiz",yearlyNote:"Jahresnotiz"},file:{name:"Startseite: Startdatei",empty:"Keine Datei ausgewählt"},createMissing:{name:"Startseite: Notiz erstellen, falls nicht vorhanden",desc:"Erstellt die periodische Notiz beim Start oder per Befehl, falls sie nicht existiert."}},showFileDate:{name:"Datum anzeigen",desc:"Das Datum unter Notizennamen anzeigen."},alphabeticalDateMode:{name:"Bei Sortierung nach Name",desc:"Datum, das angezeigt wird, wenn Notizen alphabetisch sortiert sind.",options:{created:"Erstelldatum",modified:"Änderungsdatum"}},showFileTags:{name:"Datei-Tags anzeigen",desc:"Zeigt klickbare Tags in Datei-Elementen an."},showFileTagAncestors:{name:"Vollständige Tag-Pfade anzeigen",desc:"Vollständige Tag-Hierarchiepfade anzeigen. Aktiviert: 'ai/openai', 'arbeit/projekte/2024'. Deaktiviert: 'openai', '2024'."},colorFileTags:{name:"Datei-Tags einfärben",desc:"Tag-Farben auf Tag-Abzeichen in Datei-Elementen anwenden."},prioritizeColoredFileTags:{name:"Farbige Tags zuerst anzeigen",desc:"Farbige Tags vor anderen Tags in Datei-Elementen sortieren."},showFileTagsInCompactMode:{name:"Datei-Tags im schlanken Modus anzeigen",desc:"Tags anzeigen, wenn Datum, Vorschau und Bild ausgeblendet sind."},showFileProperties:{name:"Datei-Eigenschaften anzeigen",desc:'Eigenschaften in Datei-Elementen anzeigen. Wähle im Dialog "Sichtbarkeit der Eigenschaftsschlüssel" aus, welche Eigenschaften angezeigt werden.'},colorFileProperties:{name:"Datei-Eigenschaften einfärben",desc:"Eigenschaftsfarben auf Eigenschafts-Badges in Datei-Elementen anwenden."},prioritizeColoredFileProperties:{name:"Farbige Eigenschaften zuerst anzeigen",desc:"Farbige Eigenschaften vor anderen Eigenschaften in Datei-Elementen sortieren."},showFilePropertiesInCompactMode:{name:"Eigenschaften im Kompaktmodus anzeigen",desc:"Eigenschaften anzeigen, wenn der Kompaktmodus aktiv ist."},textCountDisplay:{name:"Zähltyp",desc:"Wählen Sie, welche Notizzählungen in Dateielementen angezeigt werden.",options:{none:"Keine",words:"Wortanzahl",characters:"Zeichenanzahl",both:"Wort- und Zeichenanzahl"}},textCountPlacement:{name:"Platzierung",desc:"Wählen Sie, wo Notizzählungen angezeigt werden.",options:{title:"Im Titel",property:"Als Eigenschaft"}},characterCountSpaces:{name:"Zeichenanzahl",desc:"Wählen Sie, ob Leerzeichen in der Zeichenanzahl enthalten sind.",options:{include:"Mit Leerzeichen",exclude:"Ohne Leerzeichen"}},wordCountTargetProperty:{name:"Zieleigenschaft",desc:"Frontmatter-Eigenschaftsschlüssel mit der Zielwortanzahl. Leer lassen, um Ziele auszublenden."},showWordCountPercentage:{name:"Zielprozentsatz anzeigen",desc:"Nur den Fortschrittsprozentsatz anzeigen, wenn eine Zielwortanzahl verfügbar ist."},propertyFields:{name:"Eigenschaftsschlüssel (Tresorprofil)",desc:"Frontmatter-Eigenschaftsschlüssel mit schlüsselweiser Sichtbarkeit für Navigation und Dateiliste.",addButtonTooltip:"Eigenschaftsschlüssel konfigurieren",noneConfigured:"Keine Eigenschaften konfiguriert",singleConfigured:"1 Eigenschaft konfiguriert: {properties}",multipleConfigured:"{count} Eigenschaften konfiguriert: {properties}"},showPropertiesOnSeparateRows:{name:"Eigenschaften in separaten Zeilen anzeigen",desc:"Jede Eigenschaft in einer eigenen Zeile anzeigen."},enablePropertyInternalLinks:{name:"Eigenschafts-Pills mit Notizen verknüpfen",desc:"Auf ein Eigenschafts-Pill klicken, um die verknüpfte Notiz zu öffnen."},enablePropertyExternalLinks:{name:"Eigenschafts-Pills mit URLs verknüpfen",desc:"Auf ein Eigenschafts-Pill klicken, um die verknüpfte URL zu öffnen."},dateFormat:{name:"Datumsformat",desc:"Format für die Datumsanzeige (verwendet Moment-Format).",placeholder:"DD.MM.YYYY",help:`Gängige Formate:
DD.MM.YYYY = 25.05.2022
DD/MM/YYYY = 25/05/2022
YYYY-MM-DD = 2022-05-25

Tokens:
YYYY/YY = Jahr
MMMM/MMM/MM = Monat
DD/D = Tag
dddd/ddd = Wochentag`,helpTooltip:"Format mit Moment",momentLinkText:"Moment-Format"},timeFormat:{name:"Zeitformat",desc:"Format für die Zeitanzeige (verwendet Moment-Format).",placeholder:"HH:mm",help:`Gängige Formate:
HH:mm = 14:30 (24-Stunden)
h:mm a = 2:30 PM (12-Stunden)
HH:mm:ss = 14:30:45
h:mm:ss a = 2:30:45 PM

Tokens:
HH/H = 24-Stunden
hh/h = 12-Stunden
mm = Minuten
ss = Sekunden
a = AM/PM`,helpTooltip:"Format mit Moment",momentLinkText:"Moment-Format"},showFilePreview:{name:"Notizenvorschau anzeigen",desc:"Vorschautext unter Notizennamen anzeigen."},skipHeadingsInPreview:{name:"Überschriften in Vorschau überspringen",desc:"Überschriftenzeilen bei der Erstellung des Vorschautextes überspringen."},skipCodeBlocksInPreview:{name:"Codeblöcke in Vorschau überspringen",desc:"Codeblöcke bei der Erstellung des Vorschautextes überspringen."},stripHtmlInPreview:{name:"HTML in Vorschauen entfernen",desc:"HTML-Tags aus dem Vorschautext entfernen. Kann die Leistung bei großen Notizen beeinträchtigen."},stripLatexInPreview:{name:"LaTeX in Vorschauen entfernen",desc:"Inline- und Block-LaTeX-Ausdrücke aus dem Vorschautext entfernen."},previewProperties:{name:"Vorschau-Eigenschaften",desc:"Kommagetrennte Liste von Frontmatter-Eigenschaften für Vorschautext. Die erste Eigenschaft mit Text wird verwendet.",placeholder:"summary, description, abstract"},previewPropertiesFallback:{name:"Auf Notizinhalt zurückgreifen",desc:"Notizinhalt als Vorschau anzeigen, wenn keine der angegebenen Eigenschaften Text enthält."},previewRows:{name:"Vorschauzeilen",desc:"Anzahl der Zeilen für den Vorschautext.",options:{1:"1 Zeile",2:"2 Zeilen",3:"3 Zeilen",4:"4 Zeilen",5:"5 Zeilen"}},fileNameRows:{name:"Titelzeilen",desc:"Anzahl der Zeilen für Notizentitel.",options:{1:"1 Zeile",2:"2 Zeilen",3:"3 Zeilen"}},useFolderColor:{name:"Ordnerfarbe verwenden",desc:"Notizentitel und Dateisymbole mit der Farbe des übergeordneten Ordners einfärben, wenn keine benutzerdefinierte Dateifarbe festgelegt ist. Priorität: Benutzerdefinierte Dateifarbe > Ordnerfarbe > Standardfarbe."},showFeatureImage:{name:"Vorschaubild anzeigen",desc:"Zeigt eine Miniatur des ersten Bildes in der Notiz an."},forceSquareFeatureImage:{name:"Quadratische Vorschaubilder erzwingen",desc:"Vorschaubilder als quadratische Miniaturansichten darstellen."},featureImageProperties:{name:"Bildeigenschaften",desc:"Kommagetrennte Liste von Frontmatter-Eigenschaften, die zuerst geprüft werden. Fällt auf das erste Bild im Markdown-Inhalt zurück.",placeholder:"thumbnail, featureResized, feature"},featureImageExcludeProperties:{name:"Notizen mit Eigenschaften ausschließen",desc:"Kommagetrennte Liste von Frontmatter-Eigenschaften. Notizen mit einer dieser Eigenschaften speichern keine Feature-Bilder.",placeholder:"private, confidential"},featureImageSize:{name:"Anzeigegröße des Feature-Bildes",desc:"Maximale Darstellungsgröße für Feature-Bilder in Notizlisten.",options:{standard:"64 px",large:"96 px",extraLarge:"128 px"}},featureImagePixelSize:{name:"Pixelgröße des Feature-Bildes",desc:"Auflösung für gespeicherte Feature-Bild-Vorschaubilder. Erhöhen Sie diesen Wert, wenn größere Vorschauen unscharf aussehen.",options:{standard:"256 x 144 px",large:"384 x 216 px",extraLarge:"512 x 288 px"}},downloadExternalFeatureImages:{name:"Externe Bilder herunterladen",desc:"Remote-Bilder und YouTube-Vorschaubilder für Feature-Bilder herunterladen."},hideDrawingPreviewImages:{name:"Exportierte Vorschaubilder ausblenden",desc:'Exportierte PNG-Dateien der Zeichnungsvorschau ausblenden. Aktiviere "Versteckte Elemente anzeigen", um sie anzuzeigen.'},drawingIntegrationInfo:{intro:"Notebook Navigator zeigt von Excalidraw exportierte PNG-Dateien als Zeichnungsvorschauen an.",items:["Öffne in den **Excalidraw-Einstellungen** **Embedding Excalidraw into your Notes and Exporting**, dann **Export Settings**, dann **Auto-export Settings**.","Aktiviere **Auto-export PNG**. Optional kannst du **Export both dark- and light-themed image** aktivieren.","Notebook Navigator sucht nach **Drawing.excalidraw.png**, **Drawing.excalidraw.dark.png** oder **Drawing.excalidraw.light.png**.","Solange **Exportierte Vorschaubilder ausblenden** aktiv ist, erscheinen die PNG-Dateien nur, wenn **Versteckte Elemente anzeigen** ebenfalls aktiv ist."]},showRootFolder:{name:"Wurzelordner anzeigen",desc:"Den Namen des Wurzelordners im Baum anzeigen."},showFolderIcons:{name:"Ordner-Icons anzeigen",desc:"Icons neben Ordnern im Navigationsbereich anzeigen."},inheritFolderColors:{name:"Ordnerfarben vererben",desc:"Unterordner erben die Farbe von übergeordneten Ordnern."},folderSortOrder:{name:"Ordner-Sortierreihenfolge",desc:"Klicken Sie mit der rechten Maustaste auf einen Ordner, um eine andere Sortierreihenfolge für dessen Unterordner festzulegen.",options:{alphaAsc:"A bis Z",alphaDesc:"Z bis A"}},showNoteCount:{name:"Notizenzahl anzeigen",desc:"Notizanzahlen neben Ordnern, Tags und Eigenschaften anzeigen."},showSectionIcons:{name:"Icons für Shortcuts und kürzliche Elemente anzeigen",desc:"Icons neben Einträgen in den Bereichen Shortcuts und Zuletzt verwendet anzeigen."},interfaceIcons:{name:"Oberflächensymbole",desc:"Symbole für Symbolleiste, Ordner, Tags, Eigenschaften, angeheftete Elemente, Suche und Sortierung bearbeiten.",buttonText:"Symbole bearbeiten"},showIconsColorOnly:{name:"Farbe nur auf Symbole anwenden",desc:"Wenn aktiviert, werden benutzerdefinierte Farben nur auf Symbole angewendet. Wenn deaktiviert, werden Farben sowohl auf Symbole als auch auf Textbeschriftungen angewendet."},navRainbowMode:{name:"Regenbogen-Farbmodus (Tresorprofil)",desc:"Regenbogenfarben im Navigationsbereich anwenden.",options:{none:"Aus",foreground:"Textfarbe",background:"Hintergrundfarbe"}},navRainbowFirstColor:{name:"Erste Farbe",desc:"Erste Farbe im Regenbogenverlauf."},navRainbowLastColor:{name:"Letzte Farbe",desc:"Letzte Farbe im Regenbogenverlauf."},navRainbowTransitionStyle:{name:"Übergangsstil",desc:"Interpolation zwischen der ersten und letzten Farbe.",options:{hue:"Farbton",rgb:"RGB"}},navRainbowApplyToShortcuts:{name:"Auf Verknüpfungen anwenden",desc:"Regenbogenfarben auf Verknüpfungen anwenden."},navRainbowApplyToRecent:{name:"Auf zuletzt verwendete Elemente anwenden",desc:"Regenbogenfarben auf zuletzt verwendete Elemente anwenden."},navRainbowApplyToFolders:{name:"Auf Ordner anwenden",desc:"Regenbogenfarben auf Ordner anwenden."},navRainbowFolderScope:{name:"Ordnerbereich",desc:"Auswählen, welche Ordnerebenen Farbzuweisungen starten.",options:{root:"Stammebene",child:"Unterebene",all:"Jede Ebene"}},navRainbowApplyToTags:{name:"Auf Tags anwenden",desc:"Regenbogenfarben auf Tags anwenden."},navRainbowTagScope:{name:"Tag-Bereich",desc:"Auswählen, welche Tag-Ebenen Farbzuweisungen starten.",options:{root:"Stammebene",child:"Unterebene",all:"Jede Ebene"}},navRainbowApplyToProperties:{name:"Auf Eigenschaften anwenden",desc:"Regenbogenfarben auf Eigenschaften anwenden."},navRainbowBalanceHueLuminance:{name:"Gleichmäßige Helligkeit über Farbtöne",desc:"Interpoliert die Helligkeit zwischen den Start- und Endfarben bei Farbtonübergängen."},navRainbowSeparateThemeColors:{name:"Separate Farben für hellen und dunklen Modus",desc:"Verschiedene Regenbogenfarben für den hellen und dunklen Modus verwenden."},navRainbowCopyLightToDark:"Farbe des hellen Modus in den dunklen Modus kopieren",navRainbowPropertyScope:{name:"Eigenschaftsbereich",desc:"Auswählen, welche Eigenschaftsebenen Farbzuweisungen starten.",options:{root:"Stammebene",child:"Unterebene",all:"Jede Ebene"}},collapseBehavior:{name:"Elemente einklappen",desc:"Wählen Sie, was die Schaltfläche zum Ein-/Ausklappen beeinflusst.",options:{all:"Alle",foldersOnly:"Nur Ordner",tagsOnly:"Nur Tags",propertiesOnly:"Nur Eigenschaften"}},smartCollapse:{name:"Ausgewähltes Element erweitert halten",desc:"Beim Einklappen bleibt das ausgewählte Element und seine übergeordneten Elemente erweitert."},excludeVaultRootFromCollapse:{name:"Tresorverzeichnis beim Einklappen überspringen",desc:"Beim Einklappen aller Elemente bleibt der Stammordner des Tresors in seinem aktuellen Zustand."},navIndent:{name:"Baum-Einrückung",desc:"Passen Sie die Einrückungsbreite für verschachtelte Ordner, Tags und Eigenschaften an (Pixel)."},navItemHeight:{name:"Zeilenhöhe",desc:"Passen Sie die Höhe von Ordnern, Tags und Eigenschaften im Navigationsbereich an (Pixel)."},navItemHeightScaleText:{name:"Text mit Zeilenhöhe skalieren",desc:"Verkleinert die Navigationsschrift, wenn die Zeilenhöhe reduziert wird."},showIndentGuides:{name:"Einrückungslinien anzeigen",desc:"Einrückungslinien für verschachtelte Ordner, Tags und Eigenschaften anzeigen."},navCountLeaderStyle:{name:"Führungszeichen anzeigen",desc:"Punkte, Striche oder eine Linie zwischen Elementnamen und Notizanzahl anzeigen.",options:{none:"Keine",dots:"Punkte (...)",dashes:"Striche (---)",line:"Linie"}},navRootSpacing:{name:"Abstand für Wurzelelemente",desc:"Abstand zwischen Ordnern, Tags und Eigenschaften auf der obersten Ebene (Pixel)."},showTags:{name:"Tags anzeigen",desc:"Tag-Bereich im Navigator anzeigen."},showTagIcons:{name:"Tag-Icons anzeigen",desc:"Icons neben Tags im Navigationsbereich anzeigen."},inheritTagColors:{name:"Tag-Farben vererben",desc:"Unter-Tags erben die Farbe von übergeordneten Tags."},tagSortOrder:{name:"Tag-Sortierreihenfolge",desc:"Klicken Sie mit der rechten Maustaste auf ein Tag, um eine andere Sortierreihenfolge für dessen Unterelemente festzulegen.",options:{alphaAsc:"A bis Z",alphaDesc:"Z bis A",frequency:"Häufigkeit",lowToHigh:"niedrig bis hoch",highToLow:"hoch bis niedrig"}},showAllTagsFolder:{name:"Tags-Ordner anzeigen",desc:'"Tags" als einklappbaren Ordner anzeigen.'},showUntagged:{name:"Ungetaggte Notizen anzeigen",desc:'"Ohne Tag" für Notizen ohne Tags anzeigen.'},scopeTagsToCurrentContext:{name:"Tags nach Auswahl filtern",desc:"Nur Tags anzeigen, die in Notizen im ausgewählten Ordner oder der ausgewählten Eigenschaft vorkommen."},keepEmptyTagsProperty:{name:"Tags-Eigenschaft nach Entfernen des letzten Tags beibehalten",desc:"Behält die Tags-Frontmatter-Eigenschaft, wenn alle Tags entfernt werden. Wenn deaktiviert, wird die Tags-Eigenschaft aus dem Frontmatter gelöscht."},showProperties:{name:"Eigenschaften anzeigen",desc:"Eigenschaftsbereich im Navigator anzeigen.",propertyKeysInfoPrefix:"Eigenschaften konfigurieren unter ",propertyKeysInfoLinkText:"Start > Eigenschaftsschlüssel",propertyKeysInfoSuffix:""},showPropertyIcons:{name:"Eigenschafts-Symbole anzeigen",desc:"Symbole neben Eigenschaften im Navigationsbereich anzeigen."},inheritPropertyColors:{name:"Eigenschaftsfarben vererben",desc:"Eigenschaftswerte erben Farbe und Hintergrund von ihrem Eigenschaftsschlüssel."},propertySortOrder:{name:"Sortierreihenfolge der Eigenschaften",desc:"Rechtsklick auf eine Eigenschaft, um eine andere Sortierreihenfolge für ihre Werte festzulegen.",options:{alphaAsc:"A bis Z",alphaDesc:"Z bis A",frequency:"Häufigkeit",lowToHigh:"niedrig bis hoch",highToLow:"hoch bis niedrig"}},showAllPropertiesFolder:{name:"Eigenschafts-Ordner anzeigen",desc:'"Eigenschaften" als einklappbaren Ordner anzeigen.'},scopePropertiesToCurrentContext:{name:"Eigenschaften nach Auswahl filtern",desc:"Nur Eigenschaften anzeigen, die in Notizen im ausgewählten Ordner oder dem ausgewählten Tag vorkommen."},hiddenTags:{name:"Tags verstecken (Tresorprofil)",desc:"Kommagetrennte Liste von Tag-Mustern. Namensmuster: tag* (beginnt mit), *tag (endet mit). Pfadmuster: archiv (Tag und Untergeordnete), archiv/* (nur Untergeordnete), projekte/*/entwürfe (Platzhalter in der Mitte).",placeholder:"archiv*, *entwurf, projekte/*/alt"},hiddenFileTags:{name:"Notizen mit Tags verstecken (Tresorprofil)",desc:"Comma-separated list of tag patterns. Notes containing matching tags are hidden. Name patterns: tag* (starting with), *tag (ending with). Path patterns: archive (tag and descendants), archive/* (descendants only), projects/*/drafts (mid-segment wildcard).",placeholder:"archive*, *draft, projects/*/old"},enableFolderNotes:{name:"Ordnernotizen aktivieren",desc:"Ordner mit einer passenden Notizdatei werden als anklickbare Links angezeigt."},folderNoteType:{name:"Standardtyp für Ordnernotizen",desc:"Ordnernotiztyp, der über das Kontextmenü erstellt wird.",options:{ask:"Beim Erstellen fragen",markdown:"Markdown",canvas:"Canvas",base:"Base"}},folderNoteName:{name:"Name der Ordnernotiz",desc:"Name der Ordnernotiz. Leer lassen, um denselben Namen wie der Ordner zu verwenden.",placeholder:"index"},folderNoteNamePattern:{name:"Namensmuster der Ordnernotiz",desc:"Namensmuster für Ordnernotizen ohne Erweiterung. Verwende {{folder}}, um den Ordnernamen einzufügen. Wenn gesetzt, gilt der Ordnernotizname nicht."},folderNoteTemplate:{name:"Ordnernotiz-Vorlage",desc:"Vorlagendatei, die beim Erstellen von Ordnernotizen verwendet wird. Markdown-Vorlagen können Templater verwenden. Canvas- und Base-Vorlagen werden als Dateiinhalt kopiert. Vorlagenordner unter Dateioperationen > Vorlagen festlegen.",formatWarning:"Das Vorlagenformat muss dem ausgewählten Ordnernotiztyp entsprechen: .md, .canvas oder .base."},enableFolderNoteLinks:{name:"Ordnernamen öffnen Ordnernotizen",desc:"Ein Klick auf einen Ordnernamen öffnet seine Ordnernotiz. Wenn deaktiviert, liefern Ordnernotizen nur Ordnermetadaten wie Name, Symbol und Farbe."},hideFolderNoteInList:{name:"Ordnernotizen in Liste ausblenden",desc:"Ordnernotizen in der Dateiliste ausblenden."},pinCreatedFolderNote:{name:"Erstellte Ordnernotizen anheften",desc:"Ordnernotizen anheften, wenn sie über das Kontextmenü erstellt werden."},folderNoteOpenLocation:{name:"Ordnernotizen öffnen in",desc:"Wähle, wo Ordnernotizen beim Klicken auf Ordnernotiz-Links geöffnet werden.",options:{currentTab:"Aktueller Tab",newTab:"Neuer Tab",rightSidebar:"Rechte Seitenleiste"}},showNearestFolderNoteInSidebar:{name:"Rechte Seitenleiste: Nächste Ordnernotiz anzeigen",desc:"Wenn ein Ordner ausgewählt wird, zeigt die rechte Seitenleiste automatisch die nächstgelegene übergeordnete Ordnernotiz an."},confirmBeforeDelete:{name:"Vor dem Löschen bestätigen",desc:"Bestätigungsdialog beim Löschen von Notizen oder Ordnern anzeigen"},deleteAttachments:{name:"Anhänge beim Löschen von Dateien löschen",desc:"Verknüpfte Anhänge und generierte Zeichnungsvorschauen automatisch entfernen, wenn sie nicht anderweitig verwendet werden",options:{ask:"Jedes Mal fragen",always:"Immer",never:"Nie"}},moveFileConflicts:{name:"Verschiebungskonflikte",desc:"Wenn eine Datei in einen Ordner verschoben wird, in dem bereits eine Datei mit demselben Namen existiert. Jedes Mal fragen (umbenennen, überschreiben, abbrechen) oder immer umbenennen.",options:{ask:"Jedes Mal fragen",rename:"Immer umbenennen"}},metadataCleanup:{name:"Metadaten bereinigen",desc:"Entfernt verwaiste Metadaten, die zurückbleiben, wenn Dateien, Ordner, Tags oder Eigenschaften außerhalb von Obsidian gelöscht, verschoben oder umbenannt werden. Dies betrifft nur die Notebook Navigator Einstellungsdatei.",buttonText:"Metadaten bereinigen",error:"Einstellungen-Bereinigung fehlgeschlagen",loading:"Metadaten werden überprüft...",statusClean:"Keine Metadaten zu bereinigen",statusCounts:"Verwaiste Elemente: {folders} Ordner, {tags} Tags, {properties} Eigenschaften, {files} Dateien, {pinned} Pins, {separators} Trennlinien"},rebuildCache:{name:"Cache neu aufbauen",desc:"Verwenden Sie dies, wenn Tags fehlen, Vorschauen falsch sind oder Bilder fehlen. Dies kann nach Synchronisierungskonflikten oder unerwarteten Schließungen auftreten.",buttonText:"Cache neu aufbauen",error:"Cache-Neuaufbau fehlgeschlagen",indexingTitle:"Tresor wird indexiert...",progress:"Notebook Navigator-Cache wird aktualisiert."},externalIcons:{downloadButton:"Herunterladen",downloadingLabel:"Wird heruntergeladen...",removeButton:"Entfernen",statusInstalled:"Heruntergeladen (Version {version})",statusNotInstalled:"Nicht heruntergeladen",versionUnknown:"unbekannt",downloadFailed:"Fehler beim Herunterladen von {name}. Überprüfen Sie Ihre Verbindung und versuchen Sie es erneut.",removeFailed:"Fehler beim Entfernen von {name}.",infoNote:"Heruntergeladene Icon-Pakete synchronisieren den Installationsstatus über Geräte hinweg. Icon-Pakete bleiben in der lokalen Datenbank auf jedem Gerät; die Synchronisierung verfolgt nur, ob sie heruntergeladen oder entfernt werden sollen. Icon-Pakete werden aus dem Notebook Navigator Repository heruntergeladen (https://github.com/johansan/notebook-navigator/tree/main/icon-assets)."},useFrontmatterDates:{name:"Frontmatter-Metadaten verwenden",desc:"Frontmatter für Notizname, Zeitstempel, Icons und Farben verwenden"},frontmatterNameField:{name:"Namensfelder",desc:"Kommagetrennte Liste von Frontmatter-Feldern. Erster nicht-leerer Wert wird verwendet. Fällt auf Dateinamen zurück.",placeholder:"title, name"},frontmatterIconField:{name:"Icon-Feld",desc:"Frontmatter-Feld für Datei-Icons. Leer lassen, um Icons aus den Einstellungen zu verwenden.",placeholder:"icon"},frontmatterColorField:{name:"Farbfeld",desc:"Frontmatter-Feld für Dateifarben. Leer lassen, um Farben aus den Einstellungen zu verwenden.",placeholder:"color"},frontmatterBackgroundField:{name:"Hintergrundfeld",desc:"Frontmatter-Feld für Hintergrundfarben. Leer lassen, um Hintergrundfarben aus den Einstellungen zu verwenden.",placeholder:"background"},frontmatterMigration:{name:"Icons und Farben aus Einstellungen migrieren",desc:"In Einstellungen gespeichert: {icons} Icons, {colors} Farben.",button:"Migrieren",buttonWorking:"Migriere...",noticeNone:"Keine Datei-Icons oder Farben in den Einstellungen gespeichert.",noticeDone:"{migratedIcons}/{icons} Icons, {migratedColors}/{colors} Farben migriert.",noticeFailures:"Fehlgeschlagene Einträge: {failures}.",noticeError:"Migration fehlgeschlagen. Details in der Konsole."},frontmatterCreatedField:{name:"Feld für Erstellungszeitstempel",desc:"Frontmatter-Feldname für den Erstellungszeitstempel. Leer lassen, um nur das Dateisystemdatum zu verwenden.",placeholder:"created"},frontmatterModifiedField:{name:"Feld für Änderungszeitstempel",desc:"Frontmatter-Feldname für den Änderungszeitstempel. Leer lassen, um nur das Dateisystemdatum zu verwenden.",placeholder:"modified"},frontmatterDateFormat:{name:"Zeitstempelformat",desc:"Format zum Parsen von Zeitstempeln im Frontmatter. Leer lassen, um ISO 8601-Parsing zu verwenden.",helpTooltip:"Format mit Moment",momentLinkText:"Moment-Format",help:`Häufige Formate:
YYYY-MM-DD[T]HH:mm:ss → 2025-01-04T14:30:45
YYYY-MM-DD[T]HH:mm:ssZ → 2025-08-07T16:53:39+02:00
DD/MM/YYYY HH:mm:ss → 04/01/2025 14:30:45
MM/DD/YYYY h:mm:ss a → 01/04/2025 2:30:45 PM`},supportDevelopment:{name:"Entwicklung unterstützen",desc:"Wenn Sie Notebook Navigator lieben, erwägen Sie bitte, die weitere Entwicklung zu unterstützen.",buttonText:"❤️ Sponsor",coffeeButton:"☕️ Spendiere mir einen Kaffee"},updateCheckOnStart:{name:"Beim Start nach neuer Version suchen",desc:"Prüft beim Start auf neue Plugin-Versionen und zeigt eine Benachrichtigung an, wenn ein Update verfügbar ist. Überprüfungen erfolgen höchstens einmal täglich.",status:"Neue Version verfügbar: {version}"},debugLogging:{name:"Start-Debugprotokollierung",desc:"Schreibt Startdiagnosen in eine Markdown-Datei mit Zeitstempel im Stammverzeichnis des Vaults und stoppt, nachdem der Start abgeschlossen ist. Die Datei kann synchronisiert werden und Dateipfade enthalten."},whatsNew:{name:"Neuigkeiten in Notebook Navigator {version}",desc:"Letzte Updates und Verbesserungen anzeigen",buttonText:"Letzte Updates anzeigen"},masteringVideo:{name:"Notebook Navigator meistern (Video)",desc:"Dieses Video behandelt alles, was du brauchst, um produktiv mit Notebook Navigator zu arbeiten, einschließlich Tastenkürzel, Suche, Tags und erweiterte Anpassungen."},cacheStatistics:{localCache:"Lokaler Cache",items:"Einträge",withTags:"mit Tags",withPreviewText:"mit Vorschautext",withFeatureImage:"mit Vorschaubild",withMetadata:"mit Metadaten"},metadataInfo:{successfullyParsed:"Erfolgreich geparst",itemsWithName:"Einträge mit Name",withCreatedDate:"mit Erstellungsdatum",withModifiedDate:"mit Änderungsdatum",withIcon:"mit Icon",withColor:"mit Farbe",failedToParse:"Parsing fehlgeschlagen",createdDates:"Erstellungsdaten",modifiedDates:"Änderungsdaten",checkTimestampFormat:"Überprüfen Sie Ihr Zeitstempelformat.",exportFailed:"Fehler exportieren"}}},whatsNew:{title:"Neuigkeiten in Notebook Navigator",openBannerImage:"Release-Bannerbild öffnen",supportMessage:"Wenn Sie Notebook Navigator hilfreich finden, erwägen Sie bitte, die Entwicklung zu unterstützen.",supportButton:"Kauf mir einen Kaffee",thanksButton:"Danke!"}}});var I1={};In(I1,{STRINGS_ES:()=>Uie});var Uie,x1=U(()=>{Uie={common:{cancel:"Cancelar",delete:"Eliminar",clear:"Limpiar",remove:"Eliminar",restoreDefault:"Restaurar predeterminado",submit:"Enviar",save:"Guardar",configure:"Configurar",lightMode:"Modo claro",darkMode:"Modo oscuro",noSelection:"Sin selección",untagged:"Sin etiquetas",featureImageAlt:"Imagen destacada",unknownError:"Error desconocido",clipboardWriteError:"No se pudo escribir en el portapapeles",updateBannerTitle:"Actualización de Notebook Navigator disponible",updateBannerInstruction:"Actualiza en Ajustes -> Complementos de la comunidad",previous:"Anterior",next:"Siguiente"},listPane:{emptyStateNoSelection:"Selecciona una carpeta o etiqueta para ver las notas",emptyStateNoNotes:"Sin notas",pinnedSection:"Fijadas",notesSection:"Notas",filesSection:"Archivos",hiddenItemAriaLabel:"{name} (oculto)",collapseGroup:"Contraer grupo",expandGroup:"Expandir grupo",manualSortTitle:"Orden manual: {property}",manualSortHint:'Arrastra para reordenar. El orden se guarda como valores numéricos de índice en la propiedad "{property}".',manualSortNonMarkdownHint:"Los archivos no Markdown se muestran al final y no se pueden reordenar.",unsortedSection:"Sin ordenar",manualSortDone:"Hecho",manualSortMultipleWriteFailure:"{count} archivos fallaron; primero: {path}: {message}"},tagList:{untaggedLabel:"Sin etiquetas",tags:"Etiquetas"},navigationPane:{shortcutsHeader:"Accesos directos",recentFilesHeader:"Archivos recientes",properties:"Propiedades",reorderRootFoldersTitle:"Reordenar navegación",reorderRootFoldersHint:"Usa flechas o arrastra para reordenar",vaultRootLabel:"Bóveda",resetRootToAlpha:"Restablecer orden alfabético",resetRootToFrequency:"Restablecer al orden por frecuencia",pinShortcuts:"Fijar accesos directos",pinShortcutsAndRecentFiles:"Fijar accesos directos y archivos recientes",unpinShortcuts:"Desfijar accesos directos",unpinShortcutsAndRecentFiles:"Desfijar accesos directos y archivos recientes",profileMenuAria:"Cambiar perfil de bóveda"},navigationCalendar:{ariaLabel:"Calendario",dailyNotesNotEnabled:"El complemento principal de notas diarias no está habilitado.",createDailyNote:{title:"Nueva nota diaria",message:"El archivo {filename} no existe. ¿Deseas crearlo?",confirmButton:"Crear"},helpModal:{title:"Atajos del calendario",items:["Haz clic en cualquier día para abrir o crear una nota diaria. Las semanas, meses, trimestres y años funcionan de la misma manera.","Un punto relleno debajo de un día significa que tiene una nota. Un punto hueco significa que tiene tareas pendientes.","Si una nota tiene una imagen destacada, aparece como fondo del día."],dateFilterCmdCtrl:"`Cmd/Ctrl`+clic en una fecha para filtrar por esa fecha en la lista de archivos.",dateFilterOptionAlt:"`Option/Alt`+clic en una fecha para filtrar por esa fecha en la lista de archivos."}},dailyNotes:{templateReadFailed:"No se pudo leer la plantilla de notas diarias.",createFailed:"No se pudo crear la nota diaria."},shortcuts:{folderExists:"La carpeta ya está en los atajos",noteExists:"La nota ya está en los atajos",tagExists:"La etiqueta ya está en los atajos",propertyExists:"La propiedad ya está en los atajos",invalidProperty:"Atajo de propiedad no válido",searchExists:"El atajo de búsqueda ya existe",emptySearchQuery:"Ingresa una consulta de búsqueda antes de guardarla",emptySearchName:"Ingresa un nombre antes de guardar la búsqueda",add:"Agregar a accesos directos",addNotesCount:"Agregar {count} notas a accesos directos",addFilesCount:"Agregar {count} archivos a accesos directos",rename:"Renombrar acceso directo",remove:"Quitar de accesos directos",removeAll:"Eliminar todos los accesos directos",removeAllConfirm:"¿Eliminar todos los accesos directos?",folderNotesPinned:"Fijadas {count} notas de carpeta"},paneHeader:{collapseAllFolders:"Contraer elementos",expandAllFolders:"Expandir todos los elementos",showCalendar:"Mostrar calendario",hideCalendar:"Ocultar calendario",newFolder:"Nueva carpeta",newNote:"Nueva nota",mobileBackToNavigation:"Volver a navegación",changeChildSortOrder:"Cambiar orden de clasificación",changeSortAndGroup:"Cambiar orden y agrupación",resetViewToDefaults:"Restablecer vista a valores predeterminados",manualSort:"Orden manual",editSortOrder:"Editar orden de clasificación...",removeSortProperty:"Eliminar propiedad de orden",descendants:"descendientes",subfolders:"subcarpetas",subtags:"subetiquetas",childValues:"valores secundarios",applySortAndGroupToDescendants:t=>`Aplicar orden y agrupación a ${t}`,applyAppearanceToDescendants:t=>`Aplicar apariencia a ${t}`,showFolders:"Mostrar navegación",reorderRootFolders:"Reordenar navegación",finishRootFolderReorder:"Listo",showExcludedItems:"Mostrar carpetas, etiquetas y notas ocultas",hideExcludedItems:"Ocultar carpetas, etiquetas y notas ocultas",showDualPane:"Mostrar paneles dobles",showSinglePane:"Mostrar panel único",dualPaneAutoFallbackNotice:'Los paneles dobles no están disponibles cuando la barra lateral es demasiado estrecha. Para cambiarlo, establece "Cuando la barra lateral es demasiado estrecha" en "No hacer nada" en Ajustes > Apariencia y comportamiento.',changeAppearance:"Cambiar apariencia",showNotesFromSubfolders:"Mostrar notas de subcarpetas",showFilesFromSubfolders:"Mostrar archivos de subcarpetas",showNotesFromDescendants:"Mostrar notas de descendientes",showFilesFromDescendants:"Mostrar archivos de descendientes",search:"Buscar"},searchInput:{placeholder:"Buscar...",placeholderOmnisearch:"Omnisearch...",clearSearch:"Borrar búsqueda",switchToFilterSearch:"Cambiar a búsqueda por filtro",switchToOmnisearch:"Cambiar a Omnisearch",saveSearchShortcut:"Guardar búsqueda en accesos directos",removeSearchShortcut:"Eliminar búsqueda de accesos directos",shortcutModalTitle:"Guardar búsqueda",shortcutNamePlaceholder:"Introduce el nombre",shortcutStartIn:"Iniciar siempre en: {path}",searchHelp:"Sintaxis de búsqueda",searchHelpTitle:"Sintaxis de búsqueda",searchHelpModal:{intro:"Combina nombres de archivo, propiedades, etiquetas, fechas y filtros en una consulta (ej. `meeting .status=active #work @thisweek`). Instala el plugin Omnisearch para usar búsqueda de texto completo.",introSwitching:"Cambia entre búsqueda por filtro y Omnisearch usando las teclas de flecha arriba/abajo o haciendo clic en el icono de búsqueda.",sections:{fileNames:{title:"Nombres de archivo",items:['`word` Encontrar notas con "word" en el nombre del archivo.',"`word1 word2` Cada palabra debe coincidir con el nombre del archivo.",'`-word` Excluir notas con "word" en el nombre del archivo.']},tags:{title:"Etiquetas",items:["`#tag` Incluir notas con etiqueta (también coincide con etiquetas anidadas como `#tag/subtag`).","`#` Incluir solo notas con etiquetas.","`-#tag` Excluir notas con etiqueta.","`-#` Incluir solo notas sin etiquetas.","`#tag1 #tag2` Coincidir con ambas etiquetas (AND implícito).","`#tag1 AND #tag2` Coincidir con ambas etiquetas (AND explícito).","`#tag1 OR #tag2` Coincidir con cualquiera de las etiquetas.","`#a OR #b AND #c` AND tiene mayor precedencia: coincide con `#a`, o ambos `#b` y `#c`.","Cmd/Ctrl+Clic en una etiqueta para añadir con AND. Cmd/Ctrl+Shift+Clic para añadir con OR."]},properties:{title:"Propiedades",items:["`.key` Incluir notas con clave de propiedad.","`.key=value` Incluir notas cuyo valor de propiedad contenga `value`.",'`."Reading Status"` Incluir notas con una clave de propiedad que contiene espacios.','`."Reading Status"="In Progress"` Las claves y valores con espacios deben estar entre comillas dobles.',"`-.key` Excluir notas con clave de propiedad.","`-.key=value` Excluir notas cuyo valor de propiedad contenga `value`.","Cmd/Ctrl+Clic en una propiedad para añadir con AND. Cmd/Ctrl+Shift+Clic para añadir con OR."]},tasks:{title:"Filtros",items:["`has:task` Incluir notas con tareas pendientes.","`-has:task` Excluir notas con tareas pendientes.","`folder:meetings` Incluir notas donde un nombre de carpeta contiene `meetings`.","`folder:/work/meetings` Incluir notas solo en `work/meetings` (no subcarpetas).","`folder:/` Incluir notas solo en la raíz del vault.","`-folder:archive` Excluir notas donde un nombre de carpeta contiene `archive`.","`-folder:/archive` Excluir notas solo en `archive` (no subcarpetas).","`ext:md` Incluir notas con extensión `md` (`ext:.md` también es compatible).","`-ext:pdf` Excluir notas con extensión `pdf`.","Combinar con etiquetas, nombres y fechas (por ejemplo: `folder:/work/meetings ext:md @thisweek`)."]},connectors:{title:"Comportamiento de AND/OR",items:["`AND` y `OR` son operadores solo en consultas exclusivas de etiquetas/propiedades.","Las consultas exclusivas de etiquetas/propiedades contienen solo filtros de etiquetas y propiedades: `#tag`, `-#tag`, `#`, `-#`, `.key`, `-.key`, `.key=value`, `-.key=value`.","Si una consulta incluye nombres, fechas (`@...`), filtros de tareas (`has:task`), filtros de carpetas (`folder:...`) o filtros de extensión (`ext:...`), `AND` y `OR` se buscan como palabras.","Ejemplo de consulta con operadores: `#work OR .status=started`.","Ejemplo de consulta mixta: `#work OR ext:md` (`OR` se busca en los nombres de archivos)."]},dates:{title:"Fechas",items:["`@today` Encontrar notas de hoy usando el campo de fecha predeterminado.","`@yesterday`, `@last7d`, `@last30d`, `@thisweek`, `@thismonth` Rangos de fechas relativos.","`@2026-02-07` Encontrar un día específico (también admite `@20260207`).","`@2026` Encontrar un año calendario.","`@2026-02` o `@202602` Encontrar un mes calendario.","`@2026-W05` o `@2026W05` Encontrar una semana ISO.","`@2026-Q2` o `@2026Q2` Encontrar un trimestre calendario.","`@13/02/2026` Formatos numéricos con separadores (`@07022026` sigue tu configuración regional cuando es ambiguo).","`@2026-02-01..2026-02-07` Encontrar un rango de días inclusivo (extremos abiertos soportados).","`@c:...` o `@m:...` Apuntar a fecha de creación o modificación.","`-@...` Excluir una coincidencia de fecha."]},omnisearch:{title:"Omnisearch",items:["Búsqueda de texto completo en todo el vault, filtrada por la carpeta actual o etiquetas seleccionadas.","Puede ser lento con menos de 3 caracteres en vaults grandes.","No puede buscar rutas con caracteres no ASCII ni buscar subrutas correctamente.","Devuelve resultados limitados antes del filtrado por carpeta, por lo que archivos relevantes pueden no aparecer si existen muchas coincidencias en otros lugares.","Las vistas previas de notas muestran extractos de Omnisearch en lugar del texto de vista previa predeterminado."]}}}},contextMenu:{file:{openInNewTab:"Abrir en nueva pestaña",openToRight:"Abrir a la derecha",openInNewWindow:"Abrir en nueva ventana",openMultipleInNewTabs:"Abrir {count} notas en nuevas pestañas",openMultipleToRight:"Abrir {count} notas a la derecha",openMultipleInNewWindows:"Abrir {count} notas en nuevas ventanas",pinNote:"Fijar nota",unpinNote:"Desfijar nota",pinMultipleNotes:"Fijar {count} notas",unpinMultipleNotes:"Desfijar {count} notas",duplicateNote:"Duplicar nota",duplicateMultipleNotes:"Duplicar {count} notas",openVersionHistory:"Abrir historial de versiones",revealInFolder:"Mostrar en carpeta",revealInFinder:"Mostrar en Finder",showInExplorer:"Mostrar en el explorador del sistema",openInDefaultApp:"Abrir en aplicación predeterminada",renameNote:"Renombrar nota",deleteNote:"Eliminar nota",deleteMultipleNotes:"Eliminar {count} notas",moveNoteToFolder:"Mover nota a...",moveFileToFolder:"Mover archivo a...",moveMultipleNotesToFolder:"Mover {count} notas a...",moveMultipleFilesToFolder:"Mover {count} archivos a...",mergeNotes:"Combinar {count} notas...",mergeNotesInGroup:"Combinar notas del grupo...",setManualSortGroupHeader:"Establecer encabezado de grupo",changeManualSortGroupHeader:"Cambiar encabezado de grupo",manualSortGroupHeader:{title:"Encabezado de grupo",copyStyle:"Copiar estilo de encabezado",pasteStyle:"Pegar estilo de encabezado",remove:"Eliminar encabezado de grupo"},addTag:"Añadir etiqueta",addPropertyKey:"Establecer propiedad",removeTag:"Eliminar etiqueta",removeAllTags:"Eliminar todas las etiquetas",changeIcon:"Cambiar icono",changeColor:"Cambiar color",openMultipleFilesInNewTabs:"Abrir {count} archivos en nuevas pestañas",openMultipleFilesToRight:"Abrir {count} archivos a la derecha",openMultipleFilesInNewWindows:"Abrir {count} archivos en nuevas ventanas",pinFile:"Fijar archivo",unpinFile:"Desfijar archivo",pinMultipleFiles:"Fijar {count} archivos",unpinMultipleFiles:"Desfijar {count} archivos",duplicateFile:"Duplicar archivo",duplicateMultipleFiles:"Duplicar {count} archivos",renameFile:"Renombrar archivo",deleteFile:"Eliminar archivo",setCalendarHighlight:"Establecer resaltado",removeCalendarHighlight:"Eliminar resaltado",deleteMultipleFiles:"Eliminar {count} archivos"},folder:{newNote:"Nueva nota",newNoteFromTemplate:"Nueva nota desde plantilla",newFolder:"Nueva carpeta",newCanvas:"Nuevo lienzo",newBase:"Nueva base de datos",newDrawing:"Nuevo dibujo",newExcalidrawDrawing:"Nuevo dibujo de Excalidraw",newTldrawDrawing:"Nuevo dibujo de Tldraw",duplicateFolder:"Duplicar carpeta",searchInFolder:"Buscar en carpeta",createFolderNote:"Crear nota de carpeta",detachFolderNote:"Desvincular nota de carpeta",deleteFolderNote:"Eliminar nota de carpeta",changeIcon:"Cambiar icono",changeColor:"Cambiar color",changeBackground:"Cambiar fondo",excludeFolder:"Ocultar carpeta",unhideFolder:"Mostrar carpeta",moveFolder:"Mover carpeta a...",renameFolder:"Renombrar carpeta",deleteFolder:"Eliminar carpeta"},tag:{changeIcon:"Cambiar icono",changeColor:"Cambiar color",changeBackground:"Cambiar fondo",showTag:"Mostrar etiqueta",hideTag:"Ocultar etiqueta"},property:{addKey:"Configurar claves de propiedad",renameKey:"Renombrar propiedad",deleteKey:"Eliminar propiedad"},navigation:{addSeparator:"Agregar separador",removeSeparator:"Eliminar separador"},copyPath:{title:"Copiar ruta",asObsidianUrl:"como URL de Obsidian",fromVaultFolder:"desde la carpeta del vault",fromSystemRoot:"desde la raíz del sistema"},style:{title:"Estilo",copy:"Copiar estilo",paste:"Pegar estilo",removeIcon:"Quitar icono",removeColor:"Quitar color",removeBackground:"Quitar fondo",clear:"Limpiar estilo"}},folderAppearance:{appearance:"Apariencia",sortBy:"Ordenar por",standardPreset:"Estándar",compactPreset:"Compacto",defaultSuffix:"(predeterminado)",defaultLabel:"Predeterminado",titleRows:"Filas de título",previewRows:"Filas de vista previa",groupBy:"Agrupar por",titleRowOption:t=>`${t} fila${t===1?"":"s"} de título`,previewRowOption:t=>`${t} fila${t===1?"":"s"} de vista previa`},modals:{bulkApply:{applyButton:"Aplicar",applySortAndGroupTitle:t=>`¿Aplicar orden y agrupación a ${t}?`,applyAppearanceTitle:t=>`¿Aplicar apariencia a ${t}?`,affectedCountMessage:t=>`Anulaciones existentes que cambiarán: ${t}.`},manualSortConfirm:{propertySortTitle:"¿Usar orden manual?",propertySortMessage:(t,e)=>`Esto cambia la vista actual al orden manual usando "${t}". Editar el orden escribe valores numéricos de índice en esa propiedad en ${e} ${e===1?"nota":"notas"} según sea necesario.`,propertySortConfirmButton:"Usar orden manual",removePropertyTitle:"¿Eliminar propiedad de orden?",removePropertyMessage:(t,e)=>`Esto elimina "${t}" de ${e} ${e===1?"nota":"notas"} en la lista actual. Se borrará el orden manual de esas notas.`,removePropertyConfirmButton:"Eliminar propiedad",compactTitle:"¿Compactar valores de índice?",compactMessage:t=>`Esta reordenación necesita más espacio numérico. ${t} ${t===1?"nota recibirá":"notas recibirán"} nuevos valores de índice.`,compactConfirmButton:"Compactar valores de índice"},manualSortGroupHeader:{title:"Establecer encabezado de grupo",titleLabel:"Título",placeholder:"Encabezado de grupo",icon:"Icono",color:"Color",wordCount:"Mostrar el recuento de palabras",wordCountTarget:"Recuento de palabras objetivo",wordCountTargetPlaceholder:"10,000",wordCountTargetDescription:"Cuando este campo está vacío, el objetivo del grupo usa la propiedad de objetivo configurada en Ajustes > Notas > Recuento de palabras y caracteres. Sobrescríbelo definiendo un valor objetivo para este grupo.",description:"Personaliza el encabezado de grupo para esta nota. Deja el título vacío para eliminar el encabezado."},mergeNotes:{title:"Combinar notas",summary:"Crear una nota a partir de {count} notas en {folder}.",frontmatterRule:"Se conserva el frontmatter de la primera nota. Se elimina el frontmatter de las demás notas.",crossFolderWarning:"Las notas de origen están en carpetas diferentes. Los enlaces relativos y las incrustaciones pueden dejar de funcionar en la nota combinada.",outputName:"Nombre de salida",outputNameDesc:"La nota combinada se crea en la carpeta mostrada arriba.",outputNamePlaceholder:"Notas combinadas",separator:"Separador",separatorDesc:"Se inserta entre notas.",separatorOptions:{none:"Ninguno",blankLine:"Línea en blanco",horizontalRule:"Línea horizontal",heading:"Encabezado con el título de la nota"},moveSourcesToTrash:"Mover las notas de origen a la papelera después de combinarlas",mergeButton:"Combinar"},navRainbowSection:{title:t=>`Colores arcoíris: ${t}`},iconPicker:{searchPlaceholder:"Buscar iconos...",recentlyUsedHeader:"Usados recientemente",emptyStateSearch:"Empieza a escribir para buscar iconos",emptyStateNoResults:"No se encontraron iconos",showingResultsInfo:"Mostrando 50 de {count} resultados. Escribe más para filtrar.",emojiInstructions:"Escribe o pega cualquier emoji para usarlo como icono",removeIcon:"Quitar icono",removeFromRecents:"Quitar de recientes",allTabLabel:"Todos"},fileIconRuleEditor:{addRuleAria:"Añadir regla"},interfaceIcons:{title:"Iconos de interfaz",fileItemsSection:"Elementos de archivo",items:{"nav-shortcuts":"Atajos","nav-recent-files":"Archivos recientes","nav-expand-all":"Expandir todo","nav-collapse-all":"Contraer todo","nav-calendar":"Calendario","nav-tree-expand":"Flecha de árbol: expandir","nav-tree-collapse":"Flecha de árbol: contraer","nav-hidden-items":"Elementos ocultos","nav-root-reorder":"Reordenar carpetas raíz","nav-new-folder":"Nueva carpeta","nav-show-single-pane":"Mostrar panel único","nav-show-dual-pane":"Mostrar paneles dobles","nav-profile-chevron":"Flecha del menú de perfil","list-search":"Buscar","list-reveal-file":"Revelar archivo","list-descendants":"Notas de subcarpetas","list-sort-ascending":"Orden: ascendente","list-sort-descending":"Orden: descendente","list-sort-modified":"Ordenar por fecha de edición","list-sort-created":"Ordenar por fecha de creación","list-sort-title":"Ordenar por título","list-sort-filename":"Ordenar por nombre de archivo","list-sort-property":"Ordenar por propiedad","list-appearance":"Cambiar apariencia","list-new-note":"Nueva nota","list-pinned":"Notas fijadas","nav-folder-open":"Carpeta abierta","nav-folder-closed":"Carpeta cerrada","nav-tags":"Etiquetas","nav-tag":"Etiqueta","nav-properties":"Propiedades","nav-property":"Propiedad","nav-property-value":"Valor","file-unfinished-task":"Tareas pendientes","file-word-count":"Conteo de palabras","file-character-count":"Recuento de caracteres"}},colorPicker:{currentColor:"Actual",newColor:"Nuevo",paletteDefault:"Predeterminado",paletteCustom:"Personalizado",copyColors:"Copiar color",colorsCopied:"Color copiado al portapapeles",pasteColors:"Pegar color",pasteClipboardError:"No se pudo leer el portapapeles",pasteInvalidFormat:"Se esperaba un valor de color hex",colorsPasted:"Color pegado correctamente",resetUserColors:"Borrar colores personalizados",clearCustomColorsConfirm:"¿Eliminar todos los colores personalizados?",userColorSlot:"Color {slot}",recentColors:"Colores recientes",clearRecentColors:"Limpiar colores recientes",removeRecentColor:"Eliminar color",apply:"Aplicar",pickerLabel:"Selector",hexLabel:"HEX",hexInputLabel:"Valor de color hexadecimal",saturationValueArea:"Saturación y brillo",hueSlider:"Tono",alphaSlider:"Transparencia"},appearance:{tabIcon:"Icono",tabColor:"Color",tabBackground:"Fondo",resetIcon:"Quitar icono",resetColor:"Quitar color",resetBackground:"Quitar fondo",clear:"Limpiar estilo",apply:"Aplicar"},selectVaultProfile:{title:"Cambiar perfil de bóveda",currentBadge:"Activo",emptyState:"No hay perfiles de bóveda disponibles."},tagOperation:{renameTitle:"Renombrar etiqueta {tag}",deleteTitle:"Eliminar etiqueta {tag}",newTagPrompt:"Nuevo nombre de etiqueta",newTagPlaceholder:"Introduce el nuevo nombre de etiqueta",renameWarning:"Renombrar la etiqueta {oldTag} modificará {count} {files}.",deleteWarning:"Eliminar la etiqueta {tag} modificará {count} {files}.",modificationWarning:"Esto actualizará las fechas de modificación de los archivos.",affectedFiles:"Archivos afectados:",andMore:"y {count} más...",confirmRename:"Renombrar etiqueta",renameUnchanged:"{tag} sin cambios",renameNoChanges:"{oldTag} → {newTag} ({countLabel})",renameBatchNotFinalized:"Renombrados {renamed}/{total}. No actualizados: {notUpdated}. Los metadatos y accesos directos no se actualizaron.",invalidTagName:"Introduce un nombre de etiqueta válido.",descendantRenameError:"No se puede mover una etiqueta dentro de sí misma o un descendiente.",confirmDelete:"Eliminar etiqueta",deleteBatchNotFinalized:"Eliminados de {removed}/{total}. No actualizados: {notUpdated}. Los metadatos y accesos directos no se actualizaron.",checkConsoleForDetails:"Consulta la consola para más detalles.",file:"archivo",files:"archivos",inlineParsingWarning:{title:"Compatibilidad de etiquetas en línea",message:"{tag} contiene caracteres que Obsidian no puede analizar en etiquetas en línea. Las etiquetas de Frontmatter no se ven afectadas.",confirm:"Usar de todos modos"}},propertyOperation:{renameTitle:"Renombrar propiedad {property}",deleteTitle:"Eliminar propiedad {property}",newKeyPrompt:"Nuevo nombre de propiedad",newKeyPlaceholder:"Ingrese el nuevo nombre de propiedad",renameWarning:"Renombrar la propiedad {property} modificará {count} {files}.",renameConflictWarning:"La propiedad {newKey} ya existe en {count} {files}. Renombrar {oldKey} reemplazará los valores existentes de {newKey}.",deleteWarning:"Eliminar la propiedad {property} modificará {count} {files}.",confirmRename:"Renombrar propiedad",confirmDelete:"Eliminar propiedad",renameNoChanges:"{oldKey} → {newKey} (sin cambios)",renameSettingsUpdateFailed:"Propiedad {oldKey} → {newKey} renombrada. No se pudieron actualizar los ajustes.",deleteSingleSuccess:"Propiedad {property} eliminada de 1 nota",deleteMultipleSuccess:"Propiedad {property} eliminada de {count} notas",deleteSettingsUpdateFailed:"Propiedad {property} eliminada. No se pudieron actualizar los ajustes.",invalidKeyName:"Ingrese un nombre de propiedad válido."},fileSystem:{newFolderTitle:"Nueva carpeta",renameFolderTitle:"Renombrar carpeta",renameFileTitle:"Renombrar archivo",deleteFolderTitle:"¿Eliminar '{name}'?",deleteFileTitle:"¿Eliminar '{name}'?",deleteFileAttachmentsTitle:"¿Eliminar archivos adjuntos?",moveFileConflictTitle:"Conflicto de movimiento",folderNamePrompt:"Introduce el nombre de la carpeta:",hideInOtherVaultProfiles:"Ocultar en otros perfiles de bóveda",renamePrompt:"Introduce el nuevo nombre:",renameVaultTitle:"Cambiar nombre de visualización del vault",renameVaultPrompt:"Introduce un nombre de visualización personalizado (deja vacío para usar el predeterminado):",deleteFolderConfirm:"¿Estás seguro de que quieres eliminar esta carpeta y todo su contenido?",deleteFileConfirm:"¿Estás seguro de que quieres eliminar este archivo?",deleteFileAttachmentsDescriptionSingle:"Este adjunto ya no se usa en ninguna nota. ¿Desea eliminarlo?",deleteFileAttachmentsDescriptionMultiple:"Estos adjuntos ya no se usan en ninguna nota. ¿Desea eliminarlos?",deleteFileAttachmentsViewFileTreeAriaLabel:"Árbol de archivos",deleteFileAttachmentsViewGalleryAriaLabel:"Galería",moveFileConflictDescriptionSingle:'Se encontró un conflicto de archivo en "{folder}".',moveFileConflictDescriptionMultiple:'Se encontraron {count} conflictos de archivos en "{folder}".',moveFileConflictAffectedFiles:"Archivos afectados",moveFileConflictItem:'"{name}" -> "{suggested}"{renameOnly}',moveFileConflictRenameOnly:"(solo renombrar)",moveFileConflictRename:"Renombrar",moveFileConflictOverwrite:"Sobrescribir",removeAllTagsTitle:"Eliminar todas las etiquetas",removeAllTagsFromNote:"¿Estás seguro de que quieres eliminar todas las etiquetas de esta nota?",removeAllTagsFromNotes:"¿Estás seguro de que quieres eliminar todas las etiquetas de {count} notas?"},folderNoteType:{title:"Selecciona el tipo de nota de carpeta",folderLabel:"Carpeta: {name}"},folderSuggest:{placeholder:t=>`Mover ${t} a carpeta...`,multipleFilesLabel:t=>`${t} archivos`,navigatePlaceholder:"Navegar a carpeta...",instructions:{navigate:"para navegar",move:"para mover",select:"para seleccionar",dismiss:"para cancelar"}},homepage:{placeholder:"Buscar archivos...",instructions:{navigate:"para navegar",select:"para definir página de inicio",dismiss:"para cancelar"}},calendarTemplate:{placeholder:"Buscar plantillas...",instructions:{navigate:"para navegar",select:"para seleccionar la plantilla",dismiss:"para cancelar"}},navigationBanner:{placeholder:"Buscar imágenes...",instructions:{navigate:"para navegar",select:"para establecer banner",dismiss:"para cancelar"}},tagSuggest:{navigatePlaceholder:"Navegar a etiqueta...",addPlaceholder:"Buscar etiqueta para añadir...",removePlaceholder:"Seleccionar etiqueta para eliminar...",createNewTag:"Crear nueva etiqueta: #{tag}",instructions:{navigate:"para navegar",select:"para seleccionar",dismiss:"para cancelar",add:"para añadir etiqueta",remove:"para eliminar etiqueta"}},propertySuggest:{placeholder:"Seleccionar clave de propiedad...",navigatePlaceholder:"Navegar a propiedad...",instructions:{navigate:"para navegar",select:"para añadir propiedad",dismiss:"para cancelar"}},propertyKeyVisibility:{title:"Visibilidad de claves de propiedad",description:"Controla dónde se muestran los valores de propiedad. Las columnas corresponden al panel de navegación, panel de lista y menú contextual del archivo. Usa la fila inferior para alternar todas las filas de una columna.",searchPlaceholder:"Buscar claves de propiedad...",propertyColumnLabel:"Propiedad",showInNavigation:"Mostrar en navegación",showInList:"Mostrar en lista",showInFileMenu:"Mostrar en menú de archivo",toggleAllInNavigation:"Alternar todos en navegación",toggleAllInList:"Alternar todos en lista",toggleAllInFileMenu:"Alternar todos en menú de archivo",applyButton:"Aplicar",emptyState:"No se encontraron claves de propiedad."},welcome:{title:"Bienvenido a {pluginName}",introText:'¡Hola! Antes de comenzar, te recomiendo que veas los primeros cinco minutos del video a continuación para entender cómo funcionan los paneles y el interruptor "Mostrar notas de subcarpetas".',continueText:"Si tienes cinco minutos más, continúa viendo el video para entender los modos de visualización compacta y cómo configurar correctamente los accesos directos y las teclas de acceso rápido importantes.",thanksText:"¡Muchas gracias por descargar y disfruta!",videoAlt:"Instalando y dominando Notebook Navigator",openVideoButton:"Reproducir video",closeButton:"Quizás más tarde"}},fileSystem:{errors:{createFolder:"Error al crear la carpeta: {error}",createFile:"Error al crear el archivo: {error}",renameFolder:"Error al renombrar la carpeta: {error}",renameFolderNoteConflict:'No se puede renombrar: "{name}" ya existe en esta carpeta',renameFile:"Error al renombrar el archivo: {error}",deleteFolder:"Error al eliminar la carpeta: {error}",deleteFile:"Error al eliminar el archivo: {error}",deleteAttachments:"Error al eliminar los adjuntos: {error}",mergeNotes:"Error al combinar notas: {error}",mergeNotesOpenOutput:"La nota combinada se creó como {name}, pero no se pudo abrir: {error}. Las notas de origen no se modificaron.",mergeNotesOpenSkipped:"Otra solicitud de apertura de archivo tuvo prioridad.",mergeNotesTrashSources:"Nota combinada creada. Error al mover {count} notas de origen a la papelera.",duplicateNote:"Error al duplicar la nota: {error}",duplicateFolder:"Error al duplicar la carpeta: {error}",openVersionHistory:"Error al abrir el historial de versiones: {error}",versionHistoryNotFound:"Comando de historial de versiones no encontrado. Asegúrate de que Obsidian Sync esté habilitado.",revealInExplorer:"Error al mostrar el archivo en el explorador del sistema: {error}",openInDefaultApp:"Error al abrir en la aplicación predeterminada: {error}",openInDefaultAppNotAvailable:"Abrir en aplicación predeterminada no está disponible en esta plataforma",folderNoteAlreadyExists:"La nota de carpeta ya existe",folderAlreadyExists:'La carpeta "{name}" ya existe',folderNotesDisabled:"Habilite las notas de carpeta en la configuración para convertir archivos",folderNoteAlreadyLinked:"Este archivo ya funciona como una nota de carpeta",folderNoteNotFound:"No hay nota de carpeta en la carpeta seleccionada",folderNoteUnsupportedExtension:"Extensión de archivo no compatible: {extension}",folderNoteMoveFailed:"No se pudo mover el archivo durante la conversión: {error}",folderNoteRenameConflict:'Ya existe un archivo llamado "{name}" en la carpeta',folderNoteConversionFailed:"No se pudo convertir el archivo en nota de carpeta",folderNoteConversionFailedWithReason:"No se pudo convertir el archivo en nota de carpeta: {error}",folderNoteOpenFailed:"Archivo convertido pero no se pudo abrir la nota de carpeta: {error}",failedToDeleteFile:"Error al eliminar {name}: {error}",failedToDeleteMultipleFiles:"Error al eliminar {count} archivos",versionHistoryNotAvailable:"Servicio de historial de versiones no disponible",drawingAlreadyExists:"Ya existe un dibujo con este nombre",failedToCreateDrawing:"Error al crear el dibujo",noFolderSelected:"No hay ninguna carpeta seleccionada en Notebook Navigator",noFileSelected:"No hay archivo seleccionado"},warnings:{linkBreakingNameCharacters:"Este nombre incluye caracteres que rompen los enlaces de Obsidian: #, |, ^, %%, [[, ]].",forbiddenNameCharactersAllPlatforms:"Los nombres no pueden comenzar con un punto ni incluir : o /.",forbiddenNameCharactersWindows:'Los caracteres reservados de Windows no están permitidos: <, >, ", \\, |, ?, *.'},notices:{hideFolder:"Carpeta oculta: {name}",showFolder:"Carpeta mostrada: {name}",mergeNotes:"Se combinaron {count} notas en {name}"},notifications:{deletedMultipleFiles:"{count} archivos eliminados",movedMultipleFiles:"{count} archivos movidos a {folder}",folderNoteConversionSuccess:'Archivo convertido en nota de carpeta en "{name}"',folderMoved:'Carpeta "{name}" movida',deepLinkCopied:"URL de Obsidian copiada al portapapeles",pathCopied:"Ruta copiada al portapapeles",relativePathCopied:"Ruta relativa copiada al portapapeles",tagAddedToNote:"Etiqueta añadida a 1 nota",tagAddedToNotes:"Etiqueta añadida a {count} notas",tagRemovedFromNote:"Etiqueta eliminada de 1 nota",tagRemovedFromNotes:"Etiqueta eliminada de {count} notas",tagsClearedFromNote:"Todas las etiquetas eliminadas de 1 nota",tagsClearedFromNotes:"Todas las etiquetas eliminadas de {count} notas",noTagsToRemove:"No hay etiquetas para eliminar",noFilesSelected:"No hay archivos seleccionados",mergeNotesRequireMultipleMarkdown:"Selecciona al menos dos notas Markdown para combinarlas",tagOperationsNotAvailable:"Operaciones de etiquetas no disponibles",propertyOperationsNotAvailable:"Operaciones de propiedades no disponibles",tagsRequireMarkdown:"Las etiquetas solo son compatibles con notas Markdown",propertiesRequireMarkdown:"Las propiedades solo son compatibles con notas Markdown",propertySetOnNote:"Propiedad actualizada en 1 nota",propertySetOnNotes:"Propiedad actualizada en {count} notas",manualSortPropertyRemovedFromNote:"Propiedad de orden eliminada de 1 nota",manualSortPropertyRemovedFromNotes:"Propiedad de orden eliminada de {count} notas",iconPackDownloaded:"{provider} descargado",iconPackUpdated:"{provider} actualizado ({version})",iconPackRemoved:"{provider} eliminado",iconPackLoadFailed:"No se pudo cargar {provider}",hiddenFileReveal:'El archivo está oculto. Activa "Mostrar elementos ocultos" para mostrarlo'},confirmations:{deleteMultipleFiles:"¿Está seguro de que desea eliminar {count} archivos?",deleteConfirmation:"Esta acción no se puede deshacer."},defaultNames:{untitled:"Sin título"}},dragDrop:{errors:{cannotMoveIntoSelf:"No se puede mover una carpeta dentro de sí misma o una subcarpeta.",itemAlreadyExists:'Ya existe un elemento llamado "{name}" en esta ubicación.',failedToMove:"Error al mover: {error}",failedToAddTag:'Error al agregar la etiqueta "{tag}"',failedToSetProperty:"Error al actualizar la propiedad: {error}",failedToClearTags:"Error al eliminar las etiquetas",failedToMoveFolder:'Error al mover la carpeta "{name}"',failedToImportFiles:"Error al importar: {names}"},notifications:{filesAlreadyExist:"{count} archivos ya existen en el destino",filesAlreadyHaveTag:"{count} archivos ya tienen esta etiqueta o una más específica",filesAlreadyHaveProperty:"{count} archivos ya tienen esta propiedad",noTagsToClear:"No hay etiquetas para eliminar",fileImported:"1 archivo importado",filesImported:"{count} archivos importados"}},dateGroups:{today:"Hoy",yesterday:"Ayer",previous7Days:"Últimos 7 días",previous30Days:"Últimos 30 días"},commands:{open:"Abrir",toggleLeftSidebar:"Alternar barra lateral izquierda",openHomepage:"Abrir página de inicio",openDailyNote:"Abrir nota diaria",openWeeklyNote:"Abrir nota semanal",openMonthlyNote:"Abrir nota mensual",openQuarterlyNote:"Abrir nota trimestral",openYearlyNote:"Abrir nota anual",revealFile:"Revelar archivo",search:"Buscar",searchVaultRoot:"Buscar en la raíz de la bóveda",toggleDualPane:"Alternar diseño de doble panel",toggleDualPaneOrientation:"Alternar orientación del doble panel",toggleCalendar:"Alternar calendario",selectVaultProfile:"Cambiar perfil de bóveda",selectVaultProfile1:"Cambiar al perfil de bóveda 1",selectVaultProfile2:"Cambiar al perfil de bóveda 2",selectVaultProfile3:"Cambiar al perfil de bóveda 3",deleteFile:"Eliminar archivos",createNewNote:"Crear nueva nota",createNewNoteFromTemplate:"Nueva nota desde plantilla",moveFiles:"Mover archivos",mergeNotes:"Combinar notas",selectNextFile:"Seleccionar siguiente archivo",selectPreviousFile:"Seleccionar archivo anterior",navigateBack:"Navegar atrás",navigateForward:"Navegar adelante",convertToFolderNote:"Convertir en nota de carpeta",setAsFolderNote:"Establecer como nota de carpeta",detachFolderNote:"Desvincular nota de carpeta",pinAllFolderNotes:"Fijar todas las notas de carpeta",navigateToFolder:"Navegar a carpeta",navigateToTag:"Navegar a etiqueta",navigateToProperty:"Navegar a propiedad",addShortcut:"Agregar a accesos directos",openShortcut:"Abrir acceso directo {number}",toggleDescendants:"Alternar descendientes",toggleHidden:"Alternar carpetas, etiquetas y notas ocultas",toggleTagSort:"Alternar orden de etiquetas",toggleTagsBySelection:"Alternar etiquetas por selección",togglePropertiesBySelection:"Alternar propiedades por selección",toggleCompactMode:"Alternar modo compacto",togglePinnedSection:"Alternar sección anclada",collapseExpand:"Contraer / expandir todos los elementos",collapseExpandSelectedItem:"Contraer / expandir el elemento seleccionado",addTag:"Añadir etiqueta a archivos seleccionados",setProperty:"Establecer propiedad en archivos seleccionados",removeTag:"Eliminar etiqueta de archivos seleccionados",removeAllTags:"Eliminar todas las etiquetas de archivos seleccionados",openAllFiles:"Abrir todos los archivos",rebuildCache:"Reconstruir caché"},plugin:{viewName:"Navegador de Cuadernos",calendarViewName:"Calendario",folderNoteSidebarViewName:"Nota de carpeta",ribbonTooltip:"Navegador de Cuadernos",revealInNavigator:"Mostrar en el Navegador de Cuadernos"},tooltips:{lastModifiedAt:"Última modificación",createdAt:"Creado el",file:"archivo",files:"archivos",folder:"carpeta",folders:"carpetas",wordCount:"Recuento de palabras"},fileCounts:{words:"{count} palabras",characters:"{count} caracteres",separator:" · "},settings:{changeDefaultSettings:"Cambiar ajustes predeterminados",metadataReport:{exportSuccess:"Informe de metadatos fallidos exportado a: {filename}",exportFailed:"Error al exportar el informe de metadatos"},sections:{general:"General",vaultFilters:"Filtros de visualización",appearanceBehavior:"Apariencia y comportamiento",navigationPane:"Panel de navegación",calendar:"Calendario",fileOperations:"Operaciones de archivos",icons:"Paquetes de iconos",folders:"Carpetas",folderNotes:"Notas de carpeta",folderNoteFiles:"Archivos de notas de carpeta",foldersAndFolderNotes:"Carpetas y notas de carpeta",tagsAndProperties:"Etiquetas y propiedades",tags:"Etiquetas",listPane:"Panel de lista",notes:"Visualización de archivos",shortcutsAndRecentFiles:"Accesos directos y archivos recientes",advanced:"Avanzado"},pageGroups:{configuration:"Configuración",navigationAndContent:"Panel de navegación",notesAndLists:"Panel de lista",calendarAndTools:"Calendario y herramientas"},pageDescriptions:{general:"Notas de versión, soporte, perfil de bóveda, tipos de archivo y claves de propiedades.",vaultFilters:"Carpetas, etiquetas, archivos, etiquetas de archivo y reglas de propiedades ocultos.",appearanceBehavior:"Comportamiento, navegación con teclado, botones del ratón, apariencia y formato.",navigationPane:"Diseño, apariencia, recuento de notas, comportamiento de colapso y colores arcoíris.",shortcuts:"Visibilidad de accesos directos, insignias, archivos recientes y elementos fijados.",calendar:"Visualización del calendario, notas de fecha, plantillas, configuración regional y ubicación de la barra lateral.",fileOperations:"Plantillas, confirmaciones de eliminación, adjuntos y comportamiento ante conflictos al mover archivos.",foldersAndFolderNotes:"Visualización de carpetas, notas de carpeta, plantillas y comportamiento de notas de carpeta.",tagsProperties:"Secciones de etiquetas y propiedades, iconos, ordenación, alcance y herencia.",listPane:"Ordenación, agrupación, modos de lista, notas fijadas y vistas previas de dibujos.",frontmatter:"Campos de frontmatter para nombres mostrados, marcas de tiempo, iconos y colores.",notes:"Títulos, texto de vista previa, imágenes destacadas, etiquetas, propiedades, fechas, recuento de palabras y recuento de caracteres.",iconPacks:"Iconos de interfaz, iconos de archivos y gestión de paquetes de iconos.",advanced:"Diagnósticos, limpieza de metadatos, importación/exportación y restablecimiento."},groups:{general:{vaultConfiguration:"Configuración de la bóveda",templates:"Plantillas",behavior:"Comportamiento",keyboardNavigation:"Navegación con teclado",mouseButtons:"Botones del ratón",view:"Apariencia",icons:"Iconos",desktopAppearance:"Apariencia de escritorio",mobileAppearance:"Apariencia móvil",formatting:"Formato"},advanced:{maintenance:"Mantenimiento",resetSettings:"Restablecer ajustes"},navigation:{appearance:"Apariencia",banner:"Banner",collapseItems:"Contraer elementos",dragAndDrop:"Arrastrar y soltar",noteCounts:"Conteos de notas",rainbowColors:"Colores arcoíris",leftSidebar:"Barra lateral izquierda",calendarIntegration:"Integración de calendario"},list:{display:"Apariencia",groupHeaders:"Encabezados de grupo",propertySort:"Orden por propiedad",manualSort:"Orden manual",pinnedNotes:"Notas fijadas",drawingPreviews:"Vistas previas de dibujos"},notes:{frontmatter:"Campos de frontmatter",tasks:"Tareas",icon:"Icono",title:"Título",previewText:"Texto de vista previa",featureImage:"Imagen destacada",tags:"Etiquetas",properties:"Propiedades",date:"Fecha",parentFolder:"Carpeta superior",wordCount:"Recuento de palabras y caracteres"}},syncMode:{notSynced:"(no sincronizado)",switchToSynced:"Activar sincronización",switchToLocal:"Desactivar sincronización"},items:{listPaneTitle:{name:"Título del panel de lista",desc:"Elige dónde se muestra el título del panel de lista.",options:{header:"Mostrar en el encabezado",list:"Mostrar en el panel de lista",hidden:"No mostrar"}},sortNotesBy:{name:"Orden predeterminado",desc:"Elige el orden predeterminado para las notas.",options:{"modified-desc":"Fecha de edición (más reciente arriba)","modified-asc":"Fecha de edición (más antigua arriba)","created-desc":"Fecha de creación (más reciente arriba)","created-asc":"Fecha de creación (más antigua arriba)","title-asc":"Título (A arriba)","title-desc":"Título (Z arriba)","filename-asc":"Nombre de archivo (A arriba)","filename-desc":"Nombre de archivo (Z arriba)"},directions:{asc:"Ascendente",desc:"Descendente"},fields:{modified:"Fecha de edición",created:"Fecha de creación",title:"Título",filename:"Nombre de archivo",property:"Propiedad"}},propertySortKey:{name:"Propiedades para ordenar",desc:"Propiedades del frontmatter separadas por comas que se muestran como opciones de orden por propiedad. Los valores de tipo array se combinan en una sola cadena. Estas propiedades no se modifican.",placeholder:"published, author"},propertySortSecondary:{name:"Orden secundario",desc:"Se usa con el orden por propiedad cuando las notas tienen el mismo valor de propiedad o no tienen valor.",options:{title:"Título",filename:"Nombre de archivo",created:"Fecha de creación",modified:"Fecha de edición"}},propertySortInstructions:{intro:"Cada propiedad listada arriba aparece como una opción de orden en el menú de ordenación del panel de lista. Al seleccionar una se ordenan las notas por su valor del frontmatter."},manualSortPropertyKey:{name:"Propiedad de orden manual",desc:"Propiedad del frontmatter usada para almacenar los valores numéricos de índice del orden manual."},manualSortGroupHeaderProperty:{name:"Propiedad de encabezado de grupo",desc:"Propiedad del frontmatter usada para almacenar los encabezados de grupo personalizados."},groupHeadersInstructions:{intro:"Los encabezados de grupo personalizados se muestran encima de las notas en el panel de lista.",items:["En el menú de ordenación del panel de lista, establece la agrupación en **Personalizada**.","Haz clic derecho en una nota y elige **Establecer encabezado de grupo** para añadir un encabezado encima."]},manualSortNewNotePlacement:{name:"Ubicación de notas nuevas",desc:"Elige dónde se colocan las notas nuevas cuando la lista actual usa orden manual.",options:{top:"Arriba",bottom:"Abajo","below-selected-note":"Debajo de la nota seleccionada",unsorted:"Sin ordenar"}},confirmBeforeManualSort:{name:"Confirmar antes del orden manual",desc:"Mostrar una advertencia antes de escribir la propiedad de orden manual en las notas por primera vez. Cuando está desactivado, las notas reciben la propiedad sin advertencia."},manualSortInstructions:{intro:"El orden manual escribe un valor numérico de índice en una propiedad del frontmatter de cada nota. Las notas sin índice aparecen en Sin ordenar.",items:["Activa el orden manual eligiendo **Orden manual** en el menú de ordenación. Después hay dos formas de reorganizar las notas.","Selecciona **Editar orden de clasificación...** en el menú de ordenación para abrir una vista de reordenación. Arrastra las notas con el ratón o con el dedo en móvil. En escritorio, **Cmd/Ctrl** o **Shift** clic selecciona varias notas, y al arrastrar cualquiera de ellas se mueve todo el grupo.","En el panel de lista, selecciona una nota o varias, y luego pulsa **Cmd/Ctrl + Arrow Up/Down** para mover la selección hacia arriba o hacia abajo."]},revealFileOnListChanges:{name:"Desplazar al archivo seleccionado cuando cambia la lista",desc:"Desplazar al archivo seleccionado al anclar notas, mostrar notas descendientes, cambiar la apariencia de carpetas o ejecutar operaciones de archivos."},includeDescendantNotes:{name:"Mostrar notas de subcarpetas / descendientes",desc:"Incluir notas de subcarpetas y descendientes de etiquetas y propiedades al ver una carpeta, etiqueta o propiedad."},limitPinnedToCurrentFolder:{name:"Fijar notas solo en su carpeta",desc:"Las notas fijadas aparecen fijadas solo en su propia carpeta. Útil para notas de carpeta o si tiene muchas notas fijadas. No afecta las vistas de etiquetas o propiedades."},separateNoteCounts:{name:"Mostrar recuentos de notas actuales y descendientes por separado",desc:'Muestra el conteo de notas como "actual ▾ descendientes" para carpetas, etiquetas y propiedades.'},groupNotes:{name:"Agrupación predeterminada",desc:"Personalizada muestra los encabezados definidos en el frontmatter. Fecha agrupa las notas por fecha. Carpeta agrupa las notas por carpeta. Las vistas de etiquetas y propiedades usan grupos por fecha cuando se selecciona carpeta.",options:{custom:"Personalizada",date:"Fecha",folder:"Carpeta"}},showSelectedNavigationPills:{name:"Mostrar siempre todas las etiquetas y propiedades",desc:'Cuando está desactivado, las etiquetas que coinciden con la selección de navegación actual se ocultan (p. ej., la etiqueta "recetas" se oculta al navegar por la etiqueta "recetas"). Activar para mantener todas las etiquetas visibles.'},stickyGroupHeaders:{name:"Encabezados de grupo fijos",desc:"Mantén visible el encabezado actual de fecha, carpeta o sección anclada al desplazarte."},showFolderGroupPaths:{name:"Mostrar rutas de subcarpetas",desc:"Al agrupar por carpeta en el panel de lista, muestra rutas de subcarpetas en lugar de solo nombres de carpeta."},showCurrentFolderFilesAtBottom:{name:"Agrupación por carpeta: archivos de la carpeta actual al final",desc:"Cuando la agrupación predeterminada sea Carpeta, mueve los archivos directamente en la carpeta seleccionada debajo de los grupos de subcarpetas."},defaultListMode:{name:"Modo de lista predeterminado",desc:"Selecciona el diseño de lista predeterminado. Estándar muestra título, fecha, descripción y texto de vista previa. Compacto muestra solo el título. La apariencia se puede sobrescribir por carpeta.",options:{standard:"Estándar",compact:"Compacto"}},showFileIcons:{name:"Mostrar iconos de archivo",desc:"Mostrar iconos de archivo con espaciado alineado a la izquierda. Desactivar elimina tanto iconos como sangría. Prioridad: icono de tareas pendientes > icono personalizado > icono de carpeta > icono de nombre de archivo > icono de tipo de archivo > icono predeterminado."},useFolderIcon:{name:"Usar icono de carpeta",desc:"Mostrar el icono de la carpeta principal cuando no hay un icono de archivo personalizado. El color de la carpeta se usa cuando no hay un color de archivo personalizado."},showFileIconUnfinishedTask:{name:"Icono de tareas pendientes",desc:"Mostrar un icono de tarea cuando una nota tiene tareas pendientes."},showFileBackgroundUnfinishedTask:{name:"Fondo de tareas pendientes",desc:"Aplicar un color de fondo cuando una nota tiene tareas pendientes."},unfinishedTaskBackgroundColor:{name:"Color de fondo de tareas pendientes",desc:"Establecer el color de fondo usado cuando una nota tiene tareas pendientes."},showFilenameMatchIcons:{name:"Iconos por nombre de archivo",desc:"Asignar iconos a archivos según el texto en sus nombres."},fileNameIconMap:{name:"Mapa de iconos por nombre",desc:"Los archivos que contienen el texto obtienen el icono especificado. Una asignación por línea: texto=icono",placeholder:`# texto=icono
reunión=ph-calendar
factura=ph-receipt`,editTooltip:"Editar asignaciones"},showCategoryIcons:{name:"Iconos por tipo de archivo",desc:"Asignar iconos a archivos según su extensión."},fileTypeIconPreset:{name:"Preajuste de iconos de archivo",desc:"Elegir los iconos integrados o un preajuste de paquete de iconos. Las reglas de extensión personalizadas anulan este preajuste.",options:{none:"Iconos integrados"},notInstalledWarning:"Este paquete de iconos no está instalado. En su lugar se muestran los iconos integrados."},fileTypeIconMap:{name:"Mapa de iconos por tipo",desc:"Los archivos con la extensión obtienen el icono especificado. Una asignación por línea: extensión=icono",placeholder:`# Extension=icon
cpp=ph-file-code
pdf=ph-file-pdf`,editTooltip:"Editar asignaciones"},compactItemHeight:{name:"Altura de elementos compactos",desc:"Define la altura de los elementos compactos en escritorio y móvil (píxeles).",resetTooltip:"Restablecer al valor predeterminado (28px)"},compactItemHeightScaleText:{name:"Escalar texto con altura compacta",desc:"Escala el texto de los elementos compactos cuando se reduce la altura."},showParentFolder:{name:"Mostrar carpeta principal",desc:"Muestra el nombre de la carpeta principal para las notas en subcarpetas, etiquetas o propiedades."},showParentFolderFullPath:{name:"Mostrar ruta completa",desc:"Mostrar la ruta completa de la carpeta principal en lugar de solo el nombre de la carpeta."},parentFolderClickRevealsFile:{name:"Clic en carpeta principal abre carpeta",desc:"Al hacer clic en la etiqueta de la carpeta principal se abre la carpeta en el panel de lista."},showParentFolderColor:{name:"Mostrar color de carpeta principal",desc:"Usar colores de carpeta en etiquetas de carpetas principales."},showParentFolderIcon:{name:"Mostrar icono de carpeta principal",desc:"Mostrar iconos de carpeta junto a las etiquetas de carpetas principales."},showQuickActions:{name:"Mostrar acciones rápidas",desc:"Mostrar botones de acción al pasar sobre archivos. Los controles de botones seleccionan qué acciones aparecen."},dualPane:{name:"Diseño de doble panel",desc:"Mostrar panel de navegación y panel de lista lado a lado en escritorio."},dualPaneOrientation:{name:"Orientación del panel dual",desc:"Selecciona una distribución horizontal o vertical cuando el panel dual está activo.",options:{horizontal:"División horizontal",vertical:"División vertical"}},narrowSidebarLayout:{name:"Cuando la barra lateral es demasiado estrecha",desc:"Elige qué ocurre cuando el panel de navegación y el panel de lista no caben lado a lado.",options:{none:"No hacer nada",singlePane:"Cambiar a panel único",vertical:"Cambiar a división vertical"}},narrowSidebarTrigger:{name:"Umbral de barra lateral estrecha",desc:"Elige cómo se calcula el umbral de ancho de la barra lateral.",options:{fitPanes:"Ajustar paneles",customWidth:"Ancho personalizado"}},narrowSidebarCustomWidth:{name:"Ancho del umbral de barra lateral estrecha",desc:"Cambia cuando la barra lateral es más estrecha que este ancho.",resetTooltip:"Restablecer al ancho predeterminado"},appearanceBackground:{name:"Color de fondo",desc:"Elige colores de fondo para los paneles de navegación y lista.",options:{separate:"Fondos separados",primary:"Usar fondo de lista",secondary:"Usar fondo de navegación"}},appearanceScale:{name:"Nivel de zoom",desc:"Controla el nivel de zoom general de Notebook Navigator (porcentaje)."},useFloatingToolbars:{name:"Usar barras de herramientas flotantes en iOS/iPadOS",desc:"Solo se aplica en iOS y iPadOS."},startView:{name:"Vista de inicio predeterminada",desc:"Elige qué panel mostrar al abrir Notebook Navigator. El panel de navegación muestra los accesos directos, los archivos recientes y la estructura de carpetas. El panel de lista muestra la lista de archivos en pantalla.",options:{navigation:"Panel de navegación",files:"Panel de lista"}},toolbarButtons:{name:"Botones de la barra de herramientas",desc:"Elige qué botones aparecen en la barra de herramientas. Los botones ocultos siguen siendo accesibles mediante comandos y menús.",navigationLabel:"Barra de navegación",listLabel:"Barra de lista"},createNewNotesInNewTab:{name:"Abrir notas nuevas en pestaña nueva",desc:"Cuando está activado, el comando Crear nueva nota abre las notas en una pestaña nueva. Cuando está desactivado, las notas reemplazan la pestaña actual."},autoRevealActiveNote:{name:"Mostrar automáticamente la nota activa",desc:"Muestra automáticamente las notas cuando se abren desde el Conmutador rápido, enlaces o búsqueda."},autoRevealShortestPath:{name:"Revelación automática: Usar la ruta más corta",desc:"Activado: La revelación automática selecciona la carpeta ancestral o etiqueta visible más cercana. Desactivado: La revelación automática selecciona la carpeta real del archivo y la etiqueta exacta."},autoRevealIgnoreRightSidebar:{name:"Revelación automática: Ignorar eventos de la barra lateral derecha",desc:"No cambiar la nota activa al hacer clic o cambiar notas en la barra lateral derecha."},autoRevealIgnoreOtherWindows:{name:"Revelación automática: Ignorar eventos de otras ventanas",desc:"No cambiar la nota activa al trabajar con notas en otra ventana."},paneTransitionDuration:{name:"Animación de panel único",desc:"Duración de la transición al cambiar entre paneles en modo panel único (milisegundos).",resetTooltip:"Restablecer a predeterminado"},autoSelectFirstFileOnFocusChange:{name:"Seleccionar automáticamente la primera nota",desc:"Abre automáticamente la primera nota al cambiar de carpeta, etiqueta o propiedad."},skipAutoScroll:{name:"Desactivar desplazamiento automático para accesos directos",desc:"No desplazar el panel de navegación al hacer clic en elementos de accesos directos."},autoExpandNavItems:{name:"Expandir al seleccionar",desc:"Expandir carpetas y etiquetas al seleccionar. En modo de panel único, la primera selección expande, la segunda muestra archivos."},collapseOtherBranchesOnExpand:{name:"Una rama expandida",desc:"Contraer otras ramas del mismo árbol al expandir una carpeta, etiqueta o propiedad."},springLoadedFolders:{name:"Expandir al arrastrar",desc:"Expandir carpetas y etiquetas al pasar sobre ellas durante el arrastre."},springLoadedFoldersInitialDelay:{name:"Expandir al arrastrar: Retraso de primera expansión",desc:"Retraso antes de que se expanda la primera carpeta o etiqueta durante un arrastre (segundos)."},springLoadedFoldersSubsequentDelay:{name:"Expandir al arrastrar: Retraso de expansión posterior",desc:"Retraso antes de expandir carpetas o etiquetas adicionales durante el mismo arrastre (segundos)."},navigationBanner:{name:"Banner de navegación (perfil de bóveda)",desc:"Mostrar una imagen encima del panel de navegación. Cambia con el perfil de bóveda seleccionado.",current:"Banner actual: {path}",chooseButton:"Elegir imagen"},pinNavigationBanner:{name:"Fijar banner",desc:"Fijar el banner de navegación sobre el árbol de navegación."},showShortcuts:{name:"Mostrar accesos directos",desc:"Mostrar la sección de accesos directos en el panel de navegación."},shortcutBadgeDisplay:{name:"Insignia de acceso directo",desc:"Qué mostrar junto a los accesos directos. Usa los comandos 'Abrir acceso directo 1-9' para abrir los accesos directos directamente.",options:{index:"Posición (1-9)",count:"Cantidad de elementos",none:"Ninguno"}},showRecentNotes:{name:"Mostrar archivos recientes",desc:"Mostrar la sección de archivos recientes en el panel de navegación."},hideRecentNotes:{name:"Ocultar tipos de archivos de archivos recientes",desc:"Elige qué tipos de archivos ocultar en la sección de archivos recientes.",options:{none:"Ninguno",folderNotes:"Notas de carpeta"}},recentNotesCount:{name:"Cantidad de archivos recientes",desc:"Número de archivos recientes a mostrar."},pinRecentNotesWithShortcuts:{name:"Fijar archivos recientes con accesos directos",desc:"Incluir archivos recientes cuando se fijan los accesos directos."},calendarEnabled:{name:"Activar calendario",desc:"Activar las funciones de calendario de Notebook Navigator."},calendarPlacement:{name:"Ubicación del calendario",desc:"Mostrar en la barra lateral izquierda o derecha.",options:{leftSidebar:"Barra lateral izquierda",rightSidebar:"Barra lateral derecha"}},calendarLeftPlacement:{name:"Ubicación en panel único",desc:"Dónde se muestra el calendario en modo de panel único.",options:{navigationPane:"Panel de navegación",below:"Debajo de los paneles"}},calendarLocale:{name:"Configuración regional",desc:"Controla el formato de fechas del calendario, la numeración de semanas y el primer día de la semana.",weekPathMismatchWarning:"El calendario visible y las rutas de notas semanales utilizan diferentes inicios de semana o numeración de semanas.",options:{systemDefault:"Predeterminado"}},calendarWeekendDays:{name:"Días de fin de semana",desc:"Mostrar días de fin de semana con un color de fondo diferente.",options:{none:"Ninguno",satSun:"Sábado y domingo",friSat:"Viernes y sábado",thuFri:"Jueves y viernes"}},calendarMonthHeadingFormat:{name:"Formato del nombre del mes",desc:"Nombre del mes largo (enero) o abreviado (ene.).",options:{full:"enero (completo)",short:"ene. (corto)"}},showInfoButtons:{name:"Mostrar botones de información",desc:"Mostrar botones de información en la barra de búsqueda y el encabezado del calendario."},calendarWeeksToShow:{name:"Semanas a mostrar en barra lateral izquierda",desc:"El calendario en la barra lateral derecha siempre muestra el mes completo.",options:{fullMonth:"Mes completo",oneWeek:"1 semana",weeksCount:"{count} semanas"}},calendarHighlightToday:{name:"Resaltar la fecha de hoy",desc:"Resaltar la fecha de hoy con un color de fondo y texto en negrita."},calendarShowFeatureImage:{name:"Mostrar imagen destacada",desc:"Mostrar imágenes destacadas de las notas en el calendario."},calendarShowWeekNumber:{name:"Mostrar número de semana",desc:"Agregar una columna con el número de semana."},calendarShowQuarter:{name:"Mostrar trimestre",desc:"Agregar una etiqueta de trimestre en el encabezado del calendario."},calendarShowYearCalendar:{name:"Mostrar calendario anual",desc:"Mostrar navegación anual y cuadrícula de meses en la barra lateral derecha."},calendarConfirmBeforeCreate:{name:"Confirmar antes de crear nueva nota",desc:"Mostrar un diálogo de confirmación al crear una nueva nota diaria."},calendarIntegrationMode:{name:"Fuente de notas diarias",desc:"Fuente para notas del calendario.",options:{dailyNotes:"Notas diarias (plugin principal)",notebookNavigator:"Notebook Navigator"},info:{dailyNotes:"La carpeta y el formato de fecha se configuran en el plugin de notas diarias."}},calendarPeriodicNotesLocale:{name:"Configuración regional de notas periódicas",desc:"Controla los nombres localizados de meses, días de la semana, números de semana e inicios de semana en las rutas de notas periódicas de Notebook Navigator.",options:{calendar:"Calendario",obsidian:"Obsidian"}},calendarCustomRootFolder:{name:"Carpeta raíz",desc:"Carpeta base para notas periódicas. Los patrones de fecha pueden incluir subcarpetas. Cambia con el perfil de bóveda seleccionado.",placeholder:"Personal/Diary"},calendarTemplateFolder:{name:"Ubicación de carpeta de plantillas",desc:"El selector de archivos de plantilla muestra notas de esta carpeta.",placeholder:"Templates",usage:"Se usa en notas de calendario y notas de carpeta. Configura las plantillas en Calendario > Integración de calendario y Carpetas y notas de carpeta > Archivos de notas de carpeta."},calendarCustomFilePattern:{name:"Notas diarias",desc:"Formatear ruta usando formato de fecha de Moment. Envuelve los nombres de subcarpetas entre corchetes, ej. [Work]/YYYY. Haz clic en el icono de plantilla para establecer una plantilla. Establecer ubicación de carpeta de plantillas en Operaciones de archivos > Plantillas.",momentDescPrefix:"Formatear ruta usando ",momentLinkText:"formato de fecha Moment",momentDescSuffix:". Envuelve los nombres de subcarpetas entre corchetes, ej. [Work]/YYYY. Haz clic en el icono de plantilla para establecer una plantilla. Establecer ubicación de carpeta de plantillas en Operaciones de archivos > Plantillas.",templaterSupportInstalled:"✅ El plugin Templater está instalado con soporte completo de plantillas.",templaterSupportMissing:"⚠️ Instala el plugin Templater para obtener soporte completo de plantillas.",placeholder:"YYYY/YYYYMMDD",example:"Sintaxis actual: {path}",parsingError:"El patrón debe formatear y volver a analizarse como una fecha completa (año, mes, día)."},calendarCustomWeekPattern:{name:"Notas semanales",parsingError:"El patrón debe formatear y volver a analizarse como una semana completa (año de semana, número de semana).",weekPathMismatchWarning:'Las rutas de notas semanales utilizan la configuración regional de notas periódicas. Use configuraciones regionales coincidentes, o use "GGGG" con "WW" para semanas basadas en lunes.',mixedWeekTokensWarning:'Este patrón mezcla tokens de semana basados en lunes ("W" o "G") con tokens de semana basados en la configuración regional ("w" o "g"). Use un conjunto de forma coherente: "GGGG" con "WW" para semanas basadas en lunes, o "gggg" con "ww" si las notas semanales deben seguir la configuración regional seleccionada.'},calendarCustomMonthPattern:{name:"Notas mensuales",parsingError:"El patrón debe formatear y volver a analizarse como un mes completo (año, mes)."},calendarCustomQuarterPattern:{name:"Notas trimestrales",parsingError:"El patrón debe formatear y volver a analizarse como un trimestre completo (año, trimestre)."},calendarCustomYearPattern:{name:"Notas anuales",parsingError:"El patrón debe formatear y volver a analizarse como un año completo (año)."},calendarTemplateFile:{current:"Archivo de plantilla: {name}"},showTooltips:{name:"Mostrar tooltips",desc:"Muestra tooltips con información adicional para notas y carpetas al pasar el cursor."},showTooltipPath:{name:"Mostrar ruta en tooltips",desc:"Muestra la ruta de la carpeta debajo del nombre de las notas en los tooltips."},showTooltipWordCount:{name:"Mostrar recuento de palabras en tooltips",desc:"Muestra el recuento de palabras de las notas en los tooltips."},resetPaneSeparator:{name:"Restablecer posición del separador de paneles",desc:"Restablece el separador arrastrable entre el panel de navegación y el panel de lista a la posición predeterminada.",buttonText:"Restablecer separador",notice:"Posición del separador restablecida. Reinicia Obsidian o vuelve a abrir Notebook Navigator para aplicar."},settingsTransfer:{name:"Importar y exportar ajustes",desc:"Exporta o importa los ajustes de Notebook Navigator como JSON. La importación reemplaza todos los ajustes.",importButtonText:"Importar",exportButtonText:"Exportar",import:{modalTitle:"Importar ajustes",fileButtonName:"Importar desde archivo",fileButtonDesc:"Carga un archivo JSON desde el disco.",fileButtonText:"Importar desde archivo",editorName:"JSON",editorDesc:"Pega o edita el JSON a continuación. Los ajustes no incluidos se restablecen a los valores predeterminados.",placeholder:`{
  "folderSortOrder": "alpha-desc"
}`,confirmButtonText:"Importar",successNotice:"Ajustes importados.",errorNotice:"Error al importar los ajustes: {message}",fileReadError:"No se pudo leer el archivo: {message}"},export:{modalTitle:"Exportar ajustes",editorName:"JSON",editorDesc:"Solo se incluyen los ajustes modificados respecto a los valores predeterminados.",placeholder:"{}",copyButtonText:"Copiar al portapapeles",downloadButtonText:"Descargar",copyNotice:"Ajustes copiados al portapapeles.",downloadNotice:"Ajustes exportados.",downloadError:"Error al descargar los ajustes: {message}"}},resetAllSettings:{name:"Restablecer todos los ajustes",desc:"Restablece todos los ajustes de Notebook Navigator a los valores predeterminados.",buttonText:"Restablecer todos los ajustes",confirmTitle:"¿Restablecer todos los ajustes?",confirmMessage:"Esto restablecerá todos los ajustes de Notebook Navigator a sus valores predeterminados. No se puede deshacer.",confirmButtonText:"Restablecer todos los ajustes",notice:"Ajustes restablecidos. Reinicia Obsidian o vuelve a abrir Notebook Navigator para aplicar.",error:"Error al restablecer los ajustes."},multiSelectModifier:{name:"Modificador de selección múltiple",desc:"Elige qué tecla modificadora activa la selección múltiple. Cuando se selecciona Option/Alt, Cmd/Ctrl clic abre notas en una nueva pestaña.",options:{cmdCtrl:"Cmd/Ctrl clic",optionAlt:"Option/Alt clic"}},enterToOpenFiles:{name:"Pulsar Enter para abrir archivos",desc:"Abrir archivos solo al pulsar Enter durante la navegación con teclado en la lista. En macOS, esto impide que Enter cambie el nombre de los archivos."},shiftEnterOpenContext:{name:"Shift+Enter",desc:"Elegir si Shift+Enter abre o cambia el nombre del archivo seleccionado."},cmdEnterOpenContext:{name:"Cmd+Enter",desc:"Elegir si Cmd+Enter abre o cambia el nombre del archivo seleccionado."},ctrlEnterOpenContext:{name:"Ctrl+Enter",desc:"Elegir si Ctrl+Enter abre o cambia el nombre del archivo seleccionado."},mouseBackForwardAction:{name:"Botones atrás/adelante del ratón",desc:"Acción de los botones atrás y adelante del ratón en escritorio.",options:{none:"Usar predeterminado del sistema",singlePaneSwitch:"Cambiar paneles (panel único)",history:"Navegar en el historial"}},excludedNotes:{name:"Ocultar notas con reglas de propiedades (perfil de bóveda)",desc:"Lista de reglas de frontmatter separadas por comas. Use entradas `key` o `key=value` (ej.: status=done, published=true, archived).",placeholder:"status=done, published=true, archived"},excludedFileNamePatterns:{name:"Ocultar archivos (perfil de bóveda)",desc:"Lista de patrones de nombre de archivo separados por comas para ocultar. Soporta comodines * y rutas / (ej.: temp-*, *.png, /assets/*).",placeholder:"temp-*, *.png, /assets/*"},vaultProfiles:{name:"Perfil de bóveda",desc:"Los perfiles almacenan visibilidad de tipos de archivo, archivos ocultos, carpetas ocultas, etiquetas ocultas, reglas de propiedades para notas ocultas, atajos y banner de navegación. Cambia de perfil desde el encabezado del panel de navegación.",defaultName:"Predeterminado",addButton:"Añadir perfil",editProfilesButton:"Editar perfiles",addProfileOption:"Añadir perfil...",applyButton:"Aplicar",deleteButton:"Eliminar perfil",addModalTitle:"Añadir perfil",editProfilesModalTitle:"Editar perfiles",addModalPlaceholder:"Nombre del perfil",deleteModalTitle:"Eliminar {name}",deleteModalMessage:"¿Eliminar {name}? Se eliminarán los filtros de archivos, carpetas, etiquetas y notas basados en propiedades guardados en este perfil.",moveUp:"Subir",moveDown:"Bajar",errors:{emptyName:"Introduce un nombre de perfil",duplicateName:"El nombre del perfil ya existe"}},vaultTitle:{name:"Ubicación del título de bóveda",desc:"Elige dónde se muestra el título de la bóveda.",options:{header:"Mostrar en el encabezado",navigation:"Mostrar en el panel de navegación"}},excludedFolders:{name:"Ocultar carpetas (perfil de bóveda)",desc:"Lista de carpetas a ocultar separadas por comas. Patrones de nombre: assets* (carpetas que comienzan con assets), *_temp (terminan con _temp). Patrones de ruta: /archive (solo archivo raíz), /res* (carpetas raíz que comienzan con res), /*/temp (carpetas temp un nivel abajo), /projects/* (todas las carpetas dentro de projects).",placeholder:"templates, assets*, /archive, /res*"},fileVisibility:{name:"Mostrar tipos de archivo (perfil de bóveda)",desc:"Filtre qué tipos de archivo se muestran en el navegador. Los tipos de archivo no soportados por Obsidian pueden abrirse en aplicaciones externas.",options:{documents:"Documentos (.md, .canvas, .base)",supported:"Soportados (abre en Obsidian)",all:"Todos (puede abrir externamente)"}},homepage:{name:"Página de inicio",desc:"Elige qué abre Notebook Navigator automáticamente al iniciar.",current:"Actual: {path}",chooseButton:"Elegir archivo",options:{none:"Ninguno",file:"Archivo",dailyNote:"Nota diaria",weeklyNote:"Nota semanal",monthlyNote:"Nota mensual",quarterlyNote:"Nota trimestral",yearlyNote:"Nota anual"},file:{name:"Página de inicio: Archivo de inicio",empty:"Ningún archivo seleccionado"},createMissing:{name:"Página de inicio: Crear nota si no existe",desc:"Crea la nota periódica al iniciar o mediante el comando si no existe."}},showFileDate:{name:"Mostrar fecha",desc:"Muestra la fecha debajo de los nombres de las notas."},alphabeticalDateMode:{name:"Al ordenar por nombre",desc:"Fecha que se muestra cuando las notas están ordenadas alfabéticamente.",options:{created:"Fecha de creación",modified:"Fecha de modificación"}},showFileTags:{name:"Mostrar etiquetas de archivo",desc:"Muestra etiquetas clicables en los elementos de archivo."},showFileTagAncestors:{name:"Mostrar rutas completas de etiquetas",desc:"Mostrar rutas completas de jerarquía de etiquetas. Activado: 'ai/openai', 'trabajo/proyectos/2024'. Desactivado: 'openai', '2024'."},colorFileTags:{name:"Colorear etiquetas de archivo",desc:"Aplicar colores de etiquetas a las insignias de etiquetas en elementos de archivo."},prioritizeColoredFileTags:{name:"Mostrar primero las etiquetas coloreadas",desc:"Ordena las etiquetas coloreadas antes que otras etiquetas en los elementos de archivo."},showFileTagsInCompactMode:{name:"Mostrar etiquetas de archivo en modo compacto",desc:"Mostrar etiquetas cuando la fecha, vista previa e imagen están ocultas."},showFileProperties:{name:"Mostrar propiedades de archivo",desc:'Mostrar propiedades en los elementos de archivo. Usa el diálogo "Visibilidad de claves de propiedad" para elegir qué propiedades se muestran.'},colorFileProperties:{name:"Colorear propiedades de archivo",desc:"Aplicar colores de propiedad a las insignias de propiedad en los elementos de archivo."},prioritizeColoredFileProperties:{name:"Mostrar primero las propiedades coloreadas",desc:"Ordenar las propiedades coloreadas antes que otras propiedades en los elementos de archivo."},showFilePropertiesInCompactMode:{name:"Mostrar propiedades en modo compacto",desc:"Mostrar propiedades cuando el modo compacto está activo."},textCountDisplay:{name:"Tipo de recuento",desc:"Elige qué recuentos de notas aparecen en los elementos de archivo.",options:{none:"Ninguno",words:"Recuento de palabras",characters:"Recuento de caracteres",both:"Recuento de palabras y caracteres"}},textCountPlacement:{name:"Ubicación",desc:"Elige dónde aparecen los recuentos de notas.",options:{title:"En el título",property:"Como propiedad"}},characterCountSpaces:{name:"Recuento de caracteres",desc:"Elige si los espacios se incluyen en el recuento de caracteres.",options:{include:"Incluyendo espacios",exclude:"Excluyendo espacios"}},wordCountTargetProperty:{name:"Propiedad objetivo",desc:"Clave de propiedad del frontmatter que contiene el recuento de palabras objetivo. Déjela vacía para ocultar objetivos."},showWordCountPercentage:{name:"Mostrar porcentaje objetivo",desc:"Mostrar solo el porcentaje de progreso cuando haya un recuento de palabras objetivo disponible."},propertyFields:{name:"Claves de propiedades (perfil de bóveda)",desc:"Claves de propiedades de metadatos, con visibilidad por clave para la navegación y la lista de archivos.",addButtonTooltip:"Configurar claves de propiedad",noneConfigured:"No hay propiedades configuradas",singleConfigured:"1 propiedad configurada: {properties}",multipleConfigured:"{count} propiedades configuradas: {properties}"},showPropertiesOnSeparateRows:{name:"Mostrar propiedades en filas separadas",desc:"Mostrar cada propiedad en su propia fila."},enablePropertyInternalLinks:{name:"Vincular etiquetas de propiedad a notas",desc:"Haz clic en una etiqueta de propiedad para abrir la nota vinculada."},enablePropertyExternalLinks:{name:"Vincular etiquetas de propiedad a URLs",desc:"Haz clic en una etiqueta de propiedad para abrir la URL vinculada."},dateFormat:{name:"Formato de fecha",desc:"Formato para mostrar fechas (usa formato Moment).",placeholder:"D [de] MMMM [de] YYYY",help:`Formatos comunes:
D [de] MMMM [de] YYYY = 25 de mayo de 2022
DD/MM/YYYY = 25/05/2022
YYYY-MM-DD = 2022-05-25

Tokens:
YYYY/YY = año
MMMM/MMM/MM = mes
DD/D = día
dddd/ddd = día de la semana`,helpTooltip:"Formato usando Moment",momentLinkText:"formato Moment"},timeFormat:{name:"Formato de hora",desc:"Formato para mostrar horas (usa formato Moment).",placeholder:"HH:mm",help:`Formatos comunes:
HH:mm = 14:30 (24 horas)
h:mm a = 2:30 PM (12 horas)
HH:mm:ss = 14:30:45
h:mm:ss a = 2:30:45 PM

Tokens:
HH/H = 24 horas
hh/h = 12 horas
mm = minutos
ss = segundos
a = AM/PM`,helpTooltip:"Formato usando Moment",momentLinkText:"formato Moment"},showFilePreview:{name:"Mostrar vista previa de nota",desc:"Muestra texto de vista previa debajo de los nombres de las notas."},skipHeadingsInPreview:{name:"Omitir encabezados en vista previa",desc:"Omite las líneas de encabezado al generar el texto de vista previa."},skipCodeBlocksInPreview:{name:"Omitir bloques de código en vista previa",desc:"Omite los bloques de código al generar el texto de vista previa."},stripHtmlInPreview:{name:"Eliminar HTML en vistas previas",desc:"Eliminar etiquetas HTML del texto de vista previa. Puede afectar el rendimiento en notas grandes."},stripLatexInPreview:{name:"Eliminar LaTeX en vistas previas",desc:"Eliminar expresiones LaTeX en línea y en bloque del texto de vista previa."},previewProperties:{name:"Propiedades de vista previa",desc:"Lista separada por comas de propiedades de frontmatter para buscar texto de vista previa. Se usará la primera propiedad con texto.",placeholder:"summary, description, abstract"},previewPropertiesFallback:{name:"Recurrir al contenido de la nota",desc:"Mostrar el contenido de la nota como vista previa cuando ninguna de las propiedades especificadas contiene texto."},previewRows:{name:"Filas de vista previa",desc:"Número de filas a mostrar para el texto de vista previa.",options:{1:"1 fila",2:"2 filas",3:"3 filas",4:"4 filas",5:"5 filas"}},fileNameRows:{name:"Filas de título",desc:"Número de filas a mostrar para los títulos de las notas.",options:{1:"1 fila",2:"2 filas",3:"3 filas"}},useFolderColor:{name:"Usar color de carpeta",desc:"Colorear los títulos de notas y los iconos de archivo con el color de la carpeta principal cuando no hay un color de archivo personalizado. Prioridad: color de archivo personalizado > color de carpeta > color predeterminado."},showFeatureImage:{name:"Mostrar imagen destacada",desc:"Muestra una miniatura de la primera imagen encontrada en la nota."},forceSquareFeatureImage:{name:"Forzar imagen destacada cuadrada",desc:"Renderizar imágenes destacadas como miniaturas cuadradas."},featureImageProperties:{name:"Propiedades de imagen",desc:"Lista separada por comas de propiedades del frontmatter a comprobar primero. Si no se encuentra, usa la primera imagen del contenido markdown.",placeholder:"thumbnail, featureResized, feature"},featureImageExcludeProperties:{name:"Excluir notas con propiedades",desc:"Lista separada por comas de propiedades del frontmatter. Las notas que contengan cualquiera de estas propiedades no almacenan imágenes destacadas.",placeholder:"private, confidential"},featureImageSize:{name:"Tamaño de visualización de imagen destacada",desc:"Tamaño máximo de renderizado para imágenes destacadas en listas de notas.",options:{standard:"64 px",large:"96 px",extraLarge:"128 px"}},featureImagePixelSize:{name:"Tamaño en píxeles de imagen destacada",desc:"Resolución utilizada al generar miniaturas almacenadas de imágenes destacadas. Aumente este valor si las previsualizaciones grandes se ven borrosas.",options:{standard:"256 x 144 px",large:"384 x 216 px",extraLarge:"512 x 288 px"}},downloadExternalFeatureImages:{name:"Descargar imágenes externas",desc:"Descargar imágenes remotas y miniaturas de YouTube para imágenes destacadas."},hideDrawingPreviewImages:{name:"Ocultar imágenes de previsualización exportadas",desc:'Oculta los archivos PNG de previsualización de dibujo exportados. Activa "Mostrar elementos ocultos" para verlos.'},drawingIntegrationInfo:{intro:"Notebook Navigator muestra los archivos PNG exportados por Excalidraw como previsualizaciones de los dibujos.",items:["En los **ajustes de Excalidraw**, abre **Embedding Excalidraw into your Notes and Exporting**, luego **Export Settings**, luego **Auto-export Settings**.","Activa **Auto-export PNG**. Opcionalmente activa **Export both dark- and light-themed image**.","Notebook Navigator busca **Drawing.excalidraw.png**, **Drawing.excalidraw.dark.png** o **Drawing.excalidraw.light.png**.","Mientras **Ocultar imágenes de previsualización exportadas** esté activado, los archivos PNG solo aparecen cuando **Mostrar elementos ocultos** también lo está."]},showRootFolder:{name:"Mostrar carpeta raíz",desc:"Muestra el nombre de la carpeta raíz en el árbol."},showFolderIcons:{name:"Mostrar iconos de carpetas",desc:"Muestra iconos junto a las carpetas en el panel de navegación."},inheritFolderColors:{name:"Heredar colores de carpeta",desc:"Las subcarpetas heredan el color de las carpetas principales."},folderSortOrder:{name:"Orden de carpetas",desc:"Haz clic derecho en cualquier carpeta para establecer un orden diferente para sus elementos secundarios.",options:{alphaAsc:"A a Z",alphaDesc:"Z a A"}},showNoteCount:{name:"Mostrar conteo de notas",desc:"Muestra el conteo de notas junto a carpetas, etiquetas y propiedades."},showSectionIcons:{name:"Mostrar iconos para atajos y elementos recientes",desc:"Muestra iconos junto a los elementos en las secciones Atajos y Recientes."},interfaceIcons:{name:"Iconos de interfaz",desc:"Editar iconos de barra de herramientas, carpetas, etiquetas, propiedades, elementos fijados, búsqueda y ordenación.",buttonText:"Editar iconos"},showIconsColorOnly:{name:"Aplicar color solo a los iconos",desc:"Cuando está habilitado, los colores personalizados se aplican solo a los iconos. Cuando está deshabilitado, los colores se aplican tanto a los iconos como a las etiquetas de texto."},navRainbowMode:{name:"Modo de colores arcoíris (perfil de bóveda)",desc:"Aplicar colores arcoíris en el panel de navegación.",options:{none:"Desactivado",foreground:"Color de texto",background:"Color de fondo"}},navRainbowFirstColor:{name:"Primer color",desc:"Primer color en el degradado arcoíris."},navRainbowLastColor:{name:"Último color",desc:"Último color en el degradado arcoíris."},navRainbowTransitionStyle:{name:"Estilo de transición",desc:"Interpolación utilizada entre el primer y el último color.",options:{hue:"Tono",rgb:"RGB"}},navRainbowApplyToShortcuts:{name:"Aplicar a accesos directos",desc:"Aplicar colores arcoíris a los accesos directos."},navRainbowApplyToRecent:{name:"Aplicar a elementos recientes",desc:"Aplicar colores arcoíris a los elementos recientes."},navRainbowApplyToFolders:{name:"Aplicar a carpetas",desc:"Aplicar colores arcoíris a las carpetas."},navRainbowFolderScope:{name:"Alcance de carpetas",desc:"Seleccionar qué niveles de carpeta inician asignaciones de color.",options:{root:"Nivel raíz",child:"Nivel secundario",all:"Todos los niveles"}},navRainbowApplyToTags:{name:"Aplicar a etiquetas",desc:"Aplicar colores arcoíris a las etiquetas."},navRainbowTagScope:{name:"Alcance de etiquetas",desc:"Seleccionar qué niveles de etiqueta inician asignaciones de color.",options:{root:"Nivel raíz",child:"Nivel secundario",all:"Todos los niveles"}},navRainbowApplyToProperties:{name:"Aplicar a propiedades",desc:"Aplicar colores arcoíris a las propiedades."},navRainbowBalanceHueLuminance:{name:"Brillo uniforme entre tonos",desc:"Interpola el brillo entre los colores de inicio y fin durante las transiciones de tono."},navRainbowSeparateThemeColors:{name:"Colores separados para modo claro y oscuro",desc:"Usar colores de arcoíris diferentes para el modo claro y el modo oscuro."},navRainbowCopyLightToDark:"Copiar color del modo claro al modo oscuro",navRainbowPropertyScope:{name:"Alcance de propiedades",desc:"Seleccionar qué niveles de propiedad inician asignaciones de color.",options:{root:"Nivel raíz",child:"Nivel secundario",all:"Todos los niveles"}},collapseBehavior:{name:"Contraer elementos",desc:"Elige qué afecta el botón de expandir/contraer todo.",options:{all:"Todo",foldersOnly:"Solo carpetas",tagsOnly:"Solo etiquetas",propertiesOnly:"Solo propiedades"}},smartCollapse:{name:"Mantener elemento seleccionado expandido",desc:"Al contraer, mantiene el elemento seleccionado y sus elementos principales expandidos."},excludeVaultRootFromCollapse:{name:"Omitir raíz de la bóveda al contraer",desc:"Al contraer todos los elementos, deja la carpeta raíz de la bóveda en su estado actual."},navIndent:{name:"Sangría del árbol",desc:"Ajustar el ancho de sangría para carpetas, etiquetas y propiedades anidadas (píxeles)."},navItemHeight:{name:"Altura de línea",desc:"Ajustar la altura de carpetas, etiquetas y propiedades en el panel de navegación (píxeles)."},navItemHeightScaleText:{name:"Escalar texto con la altura de línea",desc:"Reduce el texto de navegación cuando la altura de línea se disminuye."},showIndentGuides:{name:"Mostrar guías de sangría",desc:"Mostrar guías de sangría para carpetas, etiquetas y propiedades anidadas."},navCountLeaderStyle:{name:"Mostrar guías de relleno",desc:"Mostrar puntos, guiones o una línea entre los nombres de los elementos y el número de notas.",options:{none:"Ninguno",dots:"Puntos (...)",dashes:"Guiones (---)",line:"Línea"}},navRootSpacing:{name:"Espaciado de elementos raíz",desc:"Espaciado entre carpetas, etiquetas y propiedades de nivel superior (píxeles)."},showTags:{name:"Mostrar etiquetas",desc:"Muestra la sección de etiquetas en el navegador."},showTagIcons:{name:"Mostrar iconos de etiquetas",desc:"Muestra iconos junto a las etiquetas en el panel de navegación."},inheritTagColors:{name:"Heredar colores de etiquetas",desc:"Las etiquetas hijas heredan el color de las etiquetas padre."},tagSortOrder:{name:"Orden de etiquetas",desc:"Haz clic derecho en cualquier etiqueta para establecer un orden diferente para sus elementos secundarios.",options:{alphaAsc:"A a Z",alphaDesc:"Z a A",frequency:"Frecuencia",lowToHigh:"baja a alta",highToLow:"alta a baja"}},showAllTagsFolder:{name:"Mostrar carpeta de etiquetas",desc:'Muestra "Etiquetas" como una carpeta plegable.'},showUntagged:{name:"Mostrar notas sin etiquetas",desc:'Muestra el elemento "Sin etiquetas" para notas sin ninguna etiqueta.'},scopeTagsToCurrentContext:{name:"Filtrar etiquetas por selección",desc:"Mostrar solo etiquetas que aparecen en notas dentro de la carpeta o propiedad seleccionada."},keepEmptyTagsProperty:{name:"Conservar propiedad tags después de eliminar la última etiqueta",desc:"Mantiene la propiedad tags en frontmatter cuando se eliminan todas las etiquetas. Cuando está desactivado, la propiedad tags se elimina del frontmatter."},showProperties:{name:"Mostrar propiedades",desc:"Mostrar la sección de propiedades en el navegador.",propertyKeysInfoPrefix:"Configurar propiedades en ",propertyKeysInfoLinkText:"Inicio > Claves de propiedades",propertyKeysInfoSuffix:""},showPropertyIcons:{name:"Mostrar iconos de propiedades",desc:"Mostrar iconos junto a las propiedades en el panel de navegación."},inheritPropertyColors:{name:"Heredar colores de propiedad",desc:"Los valores de propiedad heredan el color y el fondo de su clave de propiedad."},propertySortOrder:{name:"Orden de clasificación de propiedades",desc:"Haga clic derecho en cualquier propiedad para establecer un orden de clasificación diferente para sus valores.",options:{alphaAsc:"A a Z",alphaDesc:"Z a A",frequency:"Frecuencia",lowToHigh:"de menor a mayor",highToLow:"de mayor a menor"}},showAllPropertiesFolder:{name:"Mostrar carpeta de propiedades",desc:'Mostrar "Propiedades" como una carpeta desplegable.'},scopePropertiesToCurrentContext:{name:"Filtrar propiedades por selección",desc:"Mostrar solo propiedades que aparecen en notas dentro de la carpeta o etiqueta seleccionada."},hiddenTags:{name:"Ocultar etiquetas (perfil de bóveda)",desc:"Lista separada por comas de patrones de etiquetas. Patrones de nombre: tag* (empieza con), *tag (termina con). Patrones de ruta: archivo (etiqueta y descendientes), archivo/* (solo descendientes), proyectos/*/borradores (comodín intermedio).",placeholder:"archivo*, *borrador, proyectos/*/antiguo"},hiddenFileTags:{name:"Ocultar notas con etiquetas (perfil de bóveda)",desc:"Comma-separated list of tag patterns. Notes containing matching tags are hidden. Name patterns: tag* (starting with), *tag (ending with). Path patterns: archive (tag and descendants), archive/* (descendants only), projects/*/drafts (mid-segment wildcard).",placeholder:"archive*, *draft, projects/*/old"},enableFolderNotes:{name:"Habilitar notas de carpeta",desc:"Las carpetas con un archivo de nota correspondiente se muestran como enlaces clicables."},folderNoteType:{name:"Tipo predeterminado de nota de carpeta",desc:"Tipo de nota de carpeta creado desde el menú contextual.",options:{ask:"Preguntar al crear",markdown:"Markdown",canvas:"Canvas",base:"Base"}},folderNoteName:{name:"Nombre de la nota de carpeta",desc:"Nombre de la nota de carpeta. Dejar vacío para usar el mismo nombre que la carpeta.",placeholder:"index"},folderNoteNamePattern:{name:"Patrón de nombre de nota de carpeta",desc:"Patrón de nombre para notas de carpeta sin extensión. Usa {{folder}} para insertar el nombre de la carpeta. Cuando se establece, el nombre de nota de carpeta no se aplica."},folderNoteTemplate:{name:"Plantilla de nota de carpeta",desc:"Archivo de plantilla usado al crear notas de carpeta. Las plantillas Markdown pueden usar Templater. Las plantillas Canvas y Base se copian como contenido del archivo. Establece la ubicación de la carpeta de plantillas en Operaciones de archivos > Plantillas.",formatWarning:"El formato de la plantilla debe coincidir con el tipo de nota de carpeta seleccionado: .md, .canvas o .base."},enableFolderNoteLinks:{name:"Los nombres de carpeta abren notas de carpeta",desc:"Al hacer clic en el nombre de una carpeta, se abre su nota de carpeta. Cuando está desactivado, las notas de carpeta solo proporcionan metadatos de carpeta como nombre, icono y color."},hideFolderNoteInList:{name:"Ocultar notas de carpeta en la lista",desc:"Ocultar las notas de carpeta en la lista de archivos."},pinCreatedFolderNote:{name:"Anclar notas de carpeta creadas",desc:"Fijar las notas de carpeta al crearlas desde el menú contextual."},folderNoteOpenLocation:{name:"Abrir notas de carpeta en",desc:"Elige dónde se abren las notas de carpeta al hacer clic en enlaces de notas de carpeta.",options:{currentTab:"Pestaña actual",newTab:"Nueva pestaña",rightSidebar:"Barra lateral derecha"}},showNearestFolderNoteInSidebar:{name:"Barra lateral derecha: Mostrar nota de carpeta más cercana",desc:"Cuando se selecciona una carpeta, la barra lateral derecha muestra automáticamente la nota de carpeta ancestro más cercana."},confirmBeforeDelete:{name:"Confirmar antes de eliminar",desc:"Muestra un diálogo de confirmación al eliminar notas o carpetas"},deleteAttachments:{name:"Eliminar adjuntos al eliminar archivos",desc:"Eliminar automáticamente los adjuntos vinculados y las vistas previas de dibujos generadas si no se usan en otro lugar",options:{ask:"Preguntar cada vez",always:"Siempre",never:"Nunca"}},moveFileConflicts:{name:"Conflictos de movimiento",desc:"Al mover un archivo a una carpeta donde ya existe un archivo con el mismo nombre. Preguntar cada vez (renombrar, sobrescribir, cancelar) o siempre renombrar.",options:{ask:"Preguntar cada vez",rename:"Siempre renombrar"}},metadataCleanup:{name:"Limpiar metadatos",desc:"Elimina metadatos huérfanos dejados cuando archivos, carpetas, etiquetas o propiedades son eliminados, movidos o renombrados fuera de Obsidian. Esto solo afecta el archivo de configuración de Notebook Navigator.",buttonText:"Limpiar metadatos",error:"Falló la limpieza de configuración",loading:"Verificando metadatos...",statusClean:"No hay metadatos para limpiar",statusCounts:"Elementos huérfanos: {folders} carpetas, {tags} etiquetas, {properties} propiedades, {files} archivos, {pinned} fijados, {separators} separadores"},rebuildCache:{name:"Reconstruir caché",desc:"Úselo si faltan etiquetas, las vistas previas son incorrectas o faltan imágenes. Esto puede ocurrir después de conflictos de sincronización o cierres inesperados.",buttonText:"Reconstruir caché",error:"Error al reconstruir caché",indexingTitle:"Indexando la bóveda...",progress:"Actualizando la caché de Notebook Navigator."},externalIcons:{downloadButton:"Descargar",downloadingLabel:"Descargando...",removeButton:"Eliminar",statusInstalled:"Descargado (versión {version})",statusNotInstalled:"No descargado",versionUnknown:"desconocida",downloadFailed:"Error al descargar {name}. Verifica tu conexión e intenta nuevamente.",removeFailed:"Error al eliminar {name}.",infoNote:"Los paquetes de iconos descargados sincronizan el estado de instalación entre dispositivos. Los paquetes de iconos permanecen en la base de datos local en cada dispositivo; la sincronización solo rastrea si deben descargarse o eliminarse. Los paquetes de iconos se descargan del repositorio de Notebook Navigator (https://github.com/johansan/notebook-navigator/tree/main/icon-assets)."},useFrontmatterDates:{name:"Usar metadatos del frontmatter",desc:"Usar frontmatter para nombre de nota, marcas de tiempo, iconos y colores"},frontmatterNameField:{name:"Campos de nombre",desc:"Lista de campos frontmatter separados por comas. Se usa el primer valor no vacío. Usa el nombre de archivo como alternativa.",placeholder:"title, name"},frontmatterIconField:{name:"Campo de icono",desc:"Campo del frontmatter para iconos de archivo. Dejar vacío para usar iconos guardados en los ajustes.",placeholder:"icon"},frontmatterColorField:{name:"Campo de color",desc:"Campo del frontmatter para colores de archivo. Dejar vacío para usar colores guardados en los ajustes.",placeholder:"color"},frontmatterBackgroundField:{name:"Campo de fondo",desc:"Campo del frontmatter para colores de fondo. Dejar vacío para usar colores de fondo guardados en los ajustes.",placeholder:"background"},frontmatterMigration:{name:"Migrar iconos y colores desde los ajustes",desc:"Guardado en los ajustes: {icons} iconos, {colors} colores.",button:"Migrar",buttonWorking:"Migrando...",noticeNone:"No hay iconos ni colores de archivo almacenados en los ajustes.",noticeDone:"Migrados {migratedIcons}/{icons} iconos, {migratedColors}/{colors} colores.",noticeFailures:"Entradas con errores: {failures}.",noticeError:"Migración fallida. Revisa la consola para más detalles."},frontmatterCreatedField:{name:"Campo de marca de tiempo de creación",desc:"Nombre del campo del frontmatter para la marca de tiempo de creación. Dejar vacío para usar solo la fecha del sistema.",placeholder:"created"},frontmatterModifiedField:{name:"Campo de marca de tiempo de modificación",desc:"Nombre del campo del frontmatter para la marca de tiempo de modificación. Dejar vacío para usar solo la fecha del sistema.",placeholder:"modified"},frontmatterDateFormat:{name:"Formato de marca de tiempo",desc:"Formato utilizado para analizar marcas de tiempo en el frontmatter. Dejar vacío para usar parsing ISO 8601.",helpTooltip:"Formato usando Moment",momentLinkText:"formato Moment",help:`Formatos comunes:
YYYY-MM-DD[T]HH:mm:ss → 2025-01-04T14:30:45
YYYY-MM-DD[T]HH:mm:ssZ → 2025-08-07T16:53:39+02:00
DD/MM/YYYY HH:mm:ss → 04/01/2025 14:30:45
MM/DD/YYYY h:mm:ss a → 01/04/2025 2:30:45 PM`},supportDevelopment:{name:"Apoyar el desarrollo",desc:"Si te encanta usar el Navegador de Cuadernos, considera apoyar su desarrollo continuo.",buttonText:"❤️ Patrocinar",coffeeButton:"☕️ Invítame un café"},updateCheckOnStart:{name:"Buscar nueva versión al iniciar",desc:"Busca nuevas versiones del complemento al iniciar y muestra una notificación cuando hay una actualización disponible. Las comprobaciones se realizan como máximo una vez al día.",status:"Nueva versión disponible: {version}"},debugLogging:{name:"Registro de depuración de inicio",desc:"Escribe diagnósticos de inicio en un archivo Markdown con marca de tiempo en la raíz de la bóveda y se detiene cuando el inicio se estabiliza. El archivo puede sincronizarse y puede incluir rutas de archivos."},whatsNew:{name:"Novedades en Notebook Navigator {version}",desc:"Ver actualizaciones y mejoras recientes",buttonText:"Ver actualizaciones recientes"},masteringVideo:{name:"Dominar Notebook Navigator (vídeo)",desc:"Este vídeo cubre todo lo que necesitas para ser productivo en Notebook Navigator, incluyendo atajos de teclado, búsqueda, etiquetas y personalización avanzada."},cacheStatistics:{localCache:"Caché local",items:"elementos",withTags:"con etiquetas",withPreviewText:"con texto de vista previa",withFeatureImage:"con imagen destacada",withMetadata:"con metadatos"},metadataInfo:{successfullyParsed:"Analizados correctamente",itemsWithName:"elementos con nombre",withCreatedDate:"con fecha de creación",withModifiedDate:"con fecha de modificación",withIcon:"con icono",withColor:"con color",failedToParse:"Error al analizar",createdDates:"fechas de creación",modifiedDates:"fechas de modificación",checkTimestampFormat:"Verifica el formato de marca de tiempo.",exportFailed:"Exportar errores"}}},whatsNew:{title:"Novedades en Notebook Navigator",openBannerImage:"Abrir imagen del banner de la versión",supportMessage:"Si encuentras útil Notebook Navigator, considera apoyar su desarrollo.",supportButton:"Invítame a un café",thanksButton:"¡Gracias!"}}});var E1={};In(E1,{STRINGS_FA:()=>Kie});var Kie,M1=U(()=>{Kie={common:{cancel:"لغو",delete:"حذف",clear:"پاک کردن",remove:"حذف",restoreDefault:"بازگردانی پیش‌فرض",submit:"ارسال",save:"ذخیره",configure:"پیکربندی",lightMode:"حالت روشن",darkMode:"حالت تاریک",noSelection:"بدون انتخاب",untagged:"بدون برچسب",featureImageAlt:"تصویر ویژه",unknownError:"خطای ناشناخته",clipboardWriteError:"نمی‌توان در کلیپ‌بورد نوشت",updateBannerTitle:"به‌روزرسانی Notebook Navigator موجود است",updateBannerInstruction:"در تنظیمات -> افزونه‌های انجمن به‌روزرسانی کنید",previous:"قبلی",next:"بعدی"},listPane:{emptyStateNoSelection:"پوشه یا برچسبی را برای مشاهده یادداشت‌ها انتخاب کنید",emptyStateNoNotes:"یادداشتی نیست",pinnedSection:"سنجاق‌شده",notesSection:"یادداشت‌ها",filesSection:"فایل‌ها",hiddenItemAriaLabel:"{name} (پنهان)",collapseGroup:"بستن گروه",expandGroup:"باز کردن گروه",manualSortTitle:"مرتب‌سازی دستی: {property}",manualSortHint:"برای تغییر ترتیب بکشید. ترتیب به صورت مقادیر شاخص عددی در ویژگی «{property}» ذخیره می‌شود.",manualSortNonMarkdownHint:"فایل‌های غیر مارک‌داون در پایین نمایش داده می‌شوند و قابل مرتب‌سازی مجدد نیستند.",unsortedSection:"مرتب‌نشده",manualSortDone:"انجام شد",manualSortMultipleWriteFailure:"{count} فایل ناموفق بود؛ اولین: {path}: {message}"},tagList:{untaggedLabel:"بدون برچسب",tags:"برچسب‌ها"},navigationPane:{shortcutsHeader:"میانبرها",recentFilesHeader:"فایل‌های اخیر",properties:"ویژگی‌ها",reorderRootFoldersTitle:"مرتب‌سازی مجدد ناوبری",reorderRootFoldersHint:"از فلش‌ها یا کشیدن برای مرتب‌سازی استفاده کنید",vaultRootLabel:"خزانه",resetRootToAlpha:"بازنشانی به ترتیب الفبایی",resetRootToFrequency:"بازنشانی به ترتیب فراوانی",pinShortcuts:"سنجاق کردن میانبرها",pinShortcutsAndRecentFiles:"سنجاق کردن میانبرها و فایل‌های اخیر",unpinShortcuts:"برداشتن سنجاق میانبرها",unpinShortcutsAndRecentFiles:"برداشتن سنجاق میانبرها و فایل‌های اخیر",profileMenuAria:"تغییر پروفایل خزانه"},navigationCalendar:{ariaLabel:"تقویم",dailyNotesNotEnabled:"افزونه یادداشت روزانه فعال نیست.",createDailyNote:{title:"یادداشت روزانه جدید",message:"فایل {filename} وجود ندارد. آیا می‌خواهید آن را ایجاد کنید؟",confirmButton:"ایجاد"},helpModal:{title:"میانبرهای تقویم",items:["روی هر روز کلیک کنید تا یادداشت روزانه باز یا ایجاد شود. هفته‌ها، ماه‌ها، فصل‌ها و سال‌ها به همین شکل کار می‌کنند.","نقطه پر زیر یک روز به معنای وجود یادداشت است. نقطه توخالی به معنای وجود وظایف ناتمام است.","اگر یادداشتی تصویر شاخص داشته باشد، به عنوان پس‌زمینه روز نمایش داده می‌شود."],dateFilterCmdCtrl:"`Cmd/Ctrl`+کلیک روی تاریخ برای فیلتر کردن بر اساس آن تاریخ در لیست فایل‌ها.",dateFilterOptionAlt:"`Option/Alt`+کلیک روی تاریخ برای فیلتر کردن بر اساس آن تاریخ در لیست فایل‌ها."}},dailyNotes:{templateReadFailed:"خواندن قالب یادداشت روزانه ناموفق بود.",createFailed:"ایجاد یادداشت روزانه ممکن نیست."},shortcuts:{folderExists:"پوشه در میانبرها وجود دارد",noteExists:"یادداشت در میانبرها وجود دارد",tagExists:"برچسب در میانبرها وجود دارد",propertyExists:"ویژگی از قبل در میانبرها وجود دارد",invalidProperty:"میانبر ویژگی نامعتبر",searchExists:"میانبر جستجو وجود دارد",emptySearchQuery:"قبل از ذخیره، عبارت جستجو را وارد کنید",emptySearchName:"قبل از ذخیره جستجو، نامی وارد کنید",add:"افزودن به میانبرها",addNotesCount:"افزودن {count} یادداشت‌ها به میانبرها",addFilesCount:"افزودن {count} فایل به میانبرها",rename:"تغییر نام میانبر",remove:"حذف از میانبرها",removeAll:"حذف همه میانبرها",removeAllConfirm:"حذف همه میانبرها؟",folderNotesPinned:"{count} یادداشت پوشه سنجاق شد"},paneHeader:{collapseAllFolders:"جمع کردن آیتم‌ها",expandAllFolders:"باز کردن همه آیتم‌ها",showCalendar:"نمایش تقویم",hideCalendar:"پنهان کردن تقویم",newFolder:"پوشه جدید",newNote:"یادداشت جدید",mobileBackToNavigation:"بازگشت به ناوبری",changeChildSortOrder:"تغییر ترتیب",changeSortAndGroup:"تغییر ترتیب و گروه‌بندی",resetViewToDefaults:"بازنشانی نما به پیش‌فرض‌ها",manualSort:"مرتب‌سازی دستی",editSortOrder:"ویرایش ترتیب مرتب‌سازی...",removeSortProperty:"حذف ویژگی مرتب‌سازی",descendants:"فرزندان",subfolders:"زیرپوشه‌ها",subtags:"زیربرچسب‌ها",childValues:"مقادیر فرزند",applySortAndGroupToDescendants:t=>`اعمال مرتب‌سازی و گروه‌بندی به ${t}`,applyAppearanceToDescendants:t=>`اعمال ظاهر به ${t}`,showFolders:"نمایش ناوبری",reorderRootFolders:"مرتب‌سازی مجدد ناوبری",finishRootFolderReorder:"تمام",showExcludedItems:"نمایش پوشه‌ها، برچسب‌ها و یادداشت‌های پنهان",hideExcludedItems:"مخفی کردن پوشه‌ها، برچسب‌ها و یادداشت‌های پنهان",showDualPane:"نمایش پنل‌های دوگانه",showSinglePane:"نمایش پنل تکی",dualPaneAutoFallbackNotice:"وقتی نوار کناری خیلی باریک است، پنل‌های دوگانه در دسترس نیستند. برای تغییر این حالت، در تنظیمات > ظاهر و رفتار، گزینهٔ «وقتی نوار کناری خیلی باریک است» را روی «هیچ کاری نکن» بگذارید.",changeAppearance:"تغییر ظاهر",showNotesFromSubfolders:"نمایش یادداشت‌ها از زیرپوشه‌ها",showFilesFromSubfolders:"نمایش فایل‌ها از زیرپوشه‌ها",showNotesFromDescendants:"نمایش یادداشت‌ها از زیرمجموعه‌ها",showFilesFromDescendants:"نمایش فایل‌ها از زیرمجموعه‌ها",search:"جستجو"},searchInput:{placeholder:"جستجو...",placeholderOmnisearch:"Omnisearch...",clearSearch:"پاک کردن جستجو",switchToFilterSearch:"تغییر به جستجوی فیلتری",switchToOmnisearch:"تغییر به Omnisearch",saveSearchShortcut:"ذخیره میانبر جستجو",removeSearchShortcut:"حذف میانبر جستجو",shortcutModalTitle:"ذخیره میانبر جستجو",shortcutNamePlaceholder:"نام میانبر را وارد کنید",shortcutStartIn:"همیشه شروع در: {path}",searchHelp:"نحو جستجو",searchHelpTitle:"نحو جستجو",searchHelpModal:{intro:"نام فایل‌ها، ویژگی‌ها، برچسب‌ها، تاریخ‌ها و فیلترها را در یک جستجو ترکیب کنید (مثال: `meeting .status=active #work @thisweek`). افزونه Omnisearch را نصب کنید تا از جستجوی متن کامل استفاده کنید.",introSwitching:"با استفاده از کلیدهای بالا/پایین یا کلیک روی آیکون جستجو بین جستجوی فیلتر و Omnisearch جابه‌جا شوید.",sections:{fileNames:{title:"نام‌های فایل",items:['`word` یادداشت‌هایی با "word" در نام فایل پیدا کنید.',"`word1 word2` هر کلمه باید با نام فایل مطابقت داشته باشد.",'`-word` یادداشت‌هایی با "word" در نام فایل را حذف کنید.']},tags:{title:"برچسب‌ها",items:["`#tag` یادداشت‌های دارای برچسب را شامل شوید (همچنین برچسب‌های تودرتو مثل `#tag/subtag` را پیدا می‌کند).","`#` فقط یادداشت‌های دارای برچسب را شامل شوید.","`-#tag` یادداشت‌های دارای برچسب را حذف کنید.","`-#` فقط یادداشت‌های بدون برچسب را شامل شوید.","`#tag1 #tag2` هر دو برچسب را پیدا کنید (AND ضمنی).","`#tag1 AND #tag2` هر دو برچسب را پیدا کنید (AND صریح).","`#tag1 OR #tag2` هر یک از برچسب‌ها را پیدا کنید.","`#a OR #b AND #c` AND اولویت بالاتری دارد: `#a` یا هر دو `#b` و `#c` را پیدا می‌کند.","Cmd/Ctrl+کلیک روی برچسب برای افزودن با AND. Cmd/Ctrl+Shift+کلیک برای افزودن با OR."]},properties:{title:"ویژگی‌ها",items:["`.key` شامل کردن یادداشت‌هایی با کلید ویژگی.","`.key=value` شامل کردن یادداشت‌هایی که مقدار ویژگی آن‌ها شامل `value` است.",'`."Reading Status"` شامل کردن یادداشت‌هایی با کلید ویژگی حاوی فاصله.','`."Reading Status"="In Progress"` کلیدها و مقادیر حاوی فاصله باید در گیومه دوتایی قرار گیرند.',"`-.key` حذف یادداشت‌هایی با کلید ویژگی.","`-.key=value` حذف یادداشت‌هایی که مقدار ویژگی آن‌ها شامل `value` است.","Cmd/Ctrl+کلیک روی ویژگی برای افزودن با AND. Cmd/Ctrl+Shift+کلیک برای افزودن با OR."]},tasks:{title:"فیلترها",items:["`has:task` شامل یادداشت‌هایی با وظایف ناتمام.","`-has:task` حذف یادداشت‌هایی با وظایف ناتمام.","`folder:meetings` شامل یادداشت‌ها در جایی که نام پوشه شامل `meetings` باشد.","`folder:/work/meetings` شامل یادداشت‌ها فقط در `work/meetings` (بدون زیرپوشه‌ها).","`folder:/` شامل یادداشت‌ها فقط در ریشه خزانه.","`-folder:archive` حذف یادداشت‌ها در جایی که نام پوشه شامل `archive` باشد.","`-folder:/archive` حذف یادداشت‌ها فقط در `archive` (بدون زیرپوشه‌ها).","`ext:md` شامل یادداشت‌ها با پسوند `md` (`ext:.md` نیز پشتیبانی می‌شود).","`-ext:pdf` حذف یادداشت‌ها با پسوند `pdf`.","ترکیب با برچسب‌ها، نام‌ها و تاریخ‌ها (به عنوان مثال: `folder:/work/meetings ext:md @thisweek`)."]},connectors:{title:"رفتار AND/OR",items:["`AND` و `OR` فقط در جستجوهای انحصاری برچسب/ویژگی عملگر هستند.","جستجوهای انحصاری برچسب/ویژگی فقط شامل فیلترهای برچسب و ویژگی هستند: `#tag`، `-#tag`، `#`، `-#`، `.key`، `-.key`، `.key=value`، `-.key=value`.","اگر جستجو شامل نام‌ها، تاریخ‌ها (`@...`)، فیلترهای وظیفه (`has:task`)، فیلترهای پوشه (`folder:...`) یا فیلترهای پسوند (`ext:...`) باشد، `AND` و `OR` به عنوان کلمه جستجو می‌شوند.","نمونه جستجو با عملگر: `#work OR .status=started`.","مثال جستجوی ترکیبی: `#work OR ext:md` (`OR` در نام فایل‌ها جستجو می‌شود)."]},dates:{title:"تاریخ‌ها",items:["`@today` یادداشت‌های امروز را با استفاده از فیلد تاریخ پیش‌فرض پیدا کنید.","`@yesterday`، `@last7d`، `@last30d`، `@thisweek`، `@thismonth` بازه‌های تاریخ نسبی.","`@2026-02-07` یک روز خاص پیدا کنید (همچنین `@20260207` پشتیبانی می‌شود).","`@2026` یک سال تقویمی پیدا کنید.","`@2026-02` یا `@202602` یک ماه تقویمی پیدا کنید.","`@2026-W05` یا `@2026W05` یک هفته ISO پیدا کنید.","`@2026-Q2` یا `@2026Q2` یک فصل تقویمی پیدا کنید.","`@13/02/2026` فرمت‌های عددی با جداکننده (`@07022026` در صورت ابهام از تنظیمات محلی شما پیروی می‌کند).","`@2026-02-01..2026-02-07` یک بازه روز شامل پیدا کنید (انتهای باز پشتیبانی می‌شود).","`@c:...` یا `@m:...` تاریخ ایجاد یا ویرایش را هدف قرار دهید.","`-@...` یک تطابق تاریخ را حذف کنید."]},omnisearch:{title:"Omnisearch",items:["جستجوی متن کامل در سراسر خزانه، فیلتر شده بر اساس پوشه فعلی یا برچسب‌های انتخاب شده.","ممکن است با کمتر از ۳ کاراکتر در خزانه‌های بزرگ کند باشد.","نمی‌تواند مسیرهای دارای کاراکترهای غیر ASCII را جستجو کند یا زیرمسیرها را به درستی جستجو کند.","نتایج محدودی قبل از فیلتر پوشه برمی‌گرداند، بنابراین فایل‌های مرتبط ممکن است ظاهر نشوند اگر تطابقات زیادی در جاهای دیگر وجود داشته باشد.","پیش‌نمایش یادداشت‌ها گزیده‌های Omnisearch را به جای متن پیش‌نمایش پیش‌فرض نشان می‌دهد."]}}}},contextMenu:{file:{openInNewTab:"باز کردن در تب جدید",openToRight:"باز کردن در سمت راست",openInNewWindow:"باز کردن در پنجره جدید",openMultipleInNewTabs:"باز کردن {count} یادداشت در تب‌های جدید",openMultipleFilesInNewTabs:"باز کردن {count} فایل در تب‌های جدید",openMultipleToRight:"باز کردن {count} یادداشت در سمت راست",openMultipleFilesToRight:"باز کردن {count} فایل در سمت راست",openMultipleInNewWindows:"باز کردن {count} یادداشت در پنجره‌های جدید",openMultipleFilesInNewWindows:"باز کردن {count} فایل در پنجره‌های جدید",pinNote:"سنجاق کردن یادداشت",pinFile:"سنجاق کردن فایل",unpinNote:"برداشتن سنجاق یادداشت",unpinFile:"برداشتن سنجاق فایل",pinMultipleNotes:"سنجاق کردن {count} یادداشت",pinMultipleFiles:"سنجاق کردن {count} فایل",unpinMultipleNotes:"برداشتن سنجاق {count} یادداشت",unpinMultipleFiles:"برداشتن سنجاق {count} فایل",duplicateNote:"کپی یادداشت",duplicateFile:"کپی فایل",duplicateMultipleNotes:"کپی {count} یادداشت",duplicateMultipleFiles:"کپی {count} فایل",openVersionHistory:"باز کردن تاریخچه نسخه",revealInFolder:"نمایش در پوشه",revealInFinder:"نمایش در Finder",showInExplorer:"نمایش در مرورگر سیستم",openInDefaultApp:"باز کردن در برنامه پیش‌فرض",renameNote:"تغییر نام یادداشت",renameFile:"تغییر نام فایل",deleteNote:"حذف یادداشت",deleteFile:"حذف فایل",setCalendarHighlight:"تنظیم برجسته‌سازی",removeCalendarHighlight:"حذف برجسته‌سازی",deleteMultipleNotes:"حذف {count} یادداشت",deleteMultipleFiles:"حذف {count} فایل",moveNoteToFolder:"انتقال یادداشت به...",moveFileToFolder:"انتقال فایل به...",moveMultipleNotesToFolder:"انتقال {count} یادداشت به...",moveMultipleFilesToFolder:"انتقال {count} فایل به...",mergeNotes:"ادغام {count} یادداشت...",mergeNotesInGroup:"ادغام یادداشت‌های گروه...",setManualSortGroupHeader:"تنظیم هدر گروه",changeManualSortGroupHeader:"تغییر هدر گروه",manualSortGroupHeader:{title:"هدر گروه",copyStyle:"کپی سبک هدر",pasteStyle:"چسباندن سبک هدر",remove:"حذف هدر گروه"},addTag:"افزودن برچسب",addPropertyKey:"تنظیم ویژگی",removeTag:"حذف برچسب",removeAllTags:"حذف همه برچسب‌ها",changeIcon:"تغییر آیکون",changeColor:"تغییر رنگ"},folder:{newNote:"یادداشت جدید",newNoteFromTemplate:"یادداشت جدید از قالب",newFolder:"پوشه جدید",newCanvas:"بوم جدید",newBase:"پایگاه جدید",newDrawing:"طراحی جدید",newExcalidrawDrawing:"طراحی Excalidraw جدید",newTldrawDrawing:"طراحی Tldraw جدید",duplicateFolder:"کپی پوشه",searchInFolder:"جستجو در پوشه",createFolderNote:"ایجاد یادداشت پوشه",detachFolderNote:"جدا کردن یادداشت پوشه",deleteFolderNote:"حذف یادداشت پوشه",changeIcon:"تغییر آیکون",changeColor:"تغییر رنگ",changeBackground:"تغییر پس‌زمینه",excludeFolder:"مخفی کردن پوشه",unhideFolder:"آشکار کردن پوشه",moveFolder:"انتقال پوشه به...",renameFolder:"تغییر نام پوشه",deleteFolder:"حذف پوشه"},tag:{changeIcon:"تغییر آیکون",changeColor:"تغییر رنگ",changeBackground:"تغییر پس‌زمینه",showTag:"نمایش برچسب",hideTag:"مخفی کردن برچسب"},property:{addKey:"پیکربندی کلیدهای ویژگی",renameKey:"تغییر نام ویژگی",deleteKey:"حذف ویژگی"},navigation:{addSeparator:"افزودن جداکننده",removeSeparator:"حذف جداکننده"},copyPath:{title:"کپی مسیر",asObsidianUrl:"به‌صورت URL اوبسیدین",fromVaultFolder:"از پوشه خزانه",fromSystemRoot:"از ریشه سیستم"},style:{title:"سبک",copy:"کپی سبک",paste:"چسباندن سبک",removeIcon:"حذف آیکون",removeColor:"حذف رنگ",removeBackground:"حذف پس‌زمینه",clear:"پاک کردن سبک"}},folderAppearance:{appearance:"ظاهر",sortBy:"مرتب‌سازی بر اساس",standardPreset:"استاندارد",compactPreset:"فشرده",defaultSuffix:"(پیش‌فرض)",defaultLabel:"پیش‌فرض",titleRows:"ردیف‌های عنوان",previewRows:"ردیف‌های پیش‌نمایش",groupBy:"گروه‌بندی بر اساس",titleRowOption:t=>`${t} ردیف عنوان`,previewRowOption:t=>`${t} ردیف پیش‌نمایش`},modals:{bulkApply:{applyButton:"اعمال",applySortAndGroupTitle:t=>`مرتب‌سازی و گروه‌بندی به ${t} اعمال شود؟`,applyAppearanceTitle:t=>`ظاهر به ${t} اعمال شود؟`,affectedCountMessage:t=>`بازنویسی‌های موجود که تغییر خواهند کرد: ${t}.`},manualSortConfirm:{propertySortTitle:"استفاده از مرتب‌سازی دستی؟",propertySortMessage:(t,e)=>`این کار نمای فعلی را به مرتب‌سازی دستی با استفاده از «${t}» تغییر می‌دهد. ویرایش ترتیب، مقادیر شاخص عددی را در صورت نیاز در این ویژگی برای ${e} یادداشت می‌نویسد.`,propertySortConfirmButton:"استفاده از مرتب‌سازی دستی",removePropertyTitle:"حذف ویژگی مرتب‌سازی؟",removePropertyMessage:(t,e)=>`این کار «${t}» را از ${e} یادداشت در فهرست فعلی حذف می‌کند. ترتیب مرتب‌سازی دستی برای آن یادداشت‌ها پاک خواهد شد.`,removePropertyConfirmButton:"حذف ویژگی",compactTitle:"فشرده‌سازی مقادیر شاخص؟",compactMessage:t=>`این بازآرایی به فضای عددی بیشتری نیاز دارد. ${t} یادداشت مقادیر شاخص جدید دریافت می‌کنند.`,compactConfirmButton:"فشرده‌سازی مقادیر شاخص"},manualSortGroupHeader:{title:"تنظیم هدر گروه",titleLabel:"عنوان",placeholder:"هدر گروه",icon:"نماد",color:"رنگ",wordCount:"نمایش تعداد کلمات",wordCountTarget:"تعداد کلمات هدف",wordCountTargetPlaceholder:"10,000",wordCountTargetDescription:"وقتی این فیلد خالی است، هدف گروه از ویژگی هدف تنظیم‌شده در تنظیمات > یادداشت‌ها > تعداد کلمات و نویسه‌ها استفاده می‌کند. با تنظیم مقدار هدف برای این گروه آن را بازنویسی کنید.",description:"هدر گروه را برای این یادداشت سفارشی کنید. عنوان را خالی بگذارید تا هدر حذف شود."},mergeNotes:{title:"ادغام یادداشت‌ها",summary:"ایجاد یک یادداشت از {count} یادداشت در {folder}.",frontmatterRule:"فرانت‌متر یادداشت اول حفظ می‌شود. فرانت‌متر یادداشت‌های دیگر حذف می‌شود.",crossFolderWarning:"یادداشت‌های مبدأ در پوشه‌های مختلف هستند. پیوندها و جاسازی‌های نسبی ممکن است در یادداشت ادغام‌شده از کار بیفتند.",outputName:"نام خروجی",outputNameDesc:"یادداشت ادغام‌شده در پوشه نشان‌داده‌شده در بالا ایجاد می‌شود.",outputNamePlaceholder:"یادداشت‌های ادغام‌شده",separator:"جداکننده",separatorDesc:"بین یادداشت‌ها درج می‌شود.",separatorOptions:{none:"هیچ‌کدام",blankLine:"خط خالی",horizontalRule:"خط افقی",heading:"عنوان با نام یادداشت"},moveSourcesToTrash:"انتقال یادداشت‌های مبدأ به زباله‌دان پس از ادغام",mergeButton:"ادغام"},navRainbowSection:{title:t=>`رنگ‌های رنگین‌کمان: ${t}`},iconPicker:{searchPlaceholder:"جستجوی آیکون...",recentlyUsedHeader:"اخیراً استفاده شده",emptyStateSearch:"برای جستجوی آیکون شروع به تایپ کنید",emptyStateNoResults:"آیکونی یافت نشد",showingResultsInfo:"نمایش ۵۰ از {count} نتیجه. بیشتر تایپ کنید تا محدودتر شود.",emojiInstructions:"ایموجی را تایپ یا پیست کنید تا به عنوان آیکون استفاده شود",removeIcon:"حذف آیکون",removeFromRecents:"حذف از آیکون‌های اخیر",allTabLabel:"همه"},fileIconRuleEditor:{addRuleAria:"افزودن قانون"},interfaceIcons:{title:"آیکون‌های رابط کاربری",fileItemsSection:"آیتم‌های فایل",items:{"nav-shortcuts":"میانبرها","nav-recent-files":"فایل‌های اخیر","nav-expand-all":"باز کردن همه","nav-collapse-all":"بستن همه","nav-calendar":"تقویم","nav-tree-expand":"فلش درختی: باز کردن","nav-tree-collapse":"فلش درختی: بستن","nav-hidden-items":"آیتم‌های مخفی","nav-root-reorder":"مرتب‌سازی مجدد پوشه‌های ریشه","nav-new-folder":"پوشه جدید","nav-show-single-pane":"نمایش پنل تکی","nav-show-dual-pane":"نمایش پنل‌های دوگانه","nav-profile-chevron":"فلش منوی پروفایل","list-search":"جستجو","list-reveal-file":"نمایش فایل","list-descendants":"یادداشت‌ها از زیرپوشه‌ها","list-sort-ascending":"ترتیب: صعودی","list-sort-descending":"ترتیب: نزولی","list-sort-modified":"مرتب‌سازی بر اساس تاریخ ویرایش","list-sort-created":"مرتب‌سازی بر اساس تاریخ ایجاد","list-sort-title":"مرتب‌سازی بر اساس عنوان","list-sort-filename":"مرتب‌سازی بر اساس نام فایل","list-sort-property":"مرتب‌سازی بر اساس ویژگی","list-appearance":"تغییر ظاهر","list-new-note":"یادداشت جدید","list-pinned":"یادداشت‌های سنجاق‌شده","nav-folder-open":"پوشه باز","nav-folder-closed":"پوشه بسته","nav-tags":"برچسب‌ها","nav-tag":"برچسب","nav-properties":"ویژگی‌ها","nav-property":"ویژگی","nav-property-value":"مقدار","file-unfinished-task":"وظایف ناتمام","file-word-count":"تعداد کلمات","file-character-count":"تعداد نویسه‌ها"}},colorPicker:{currentColor:"فعلی",newColor:"جدید",paletteDefault:"پیش‌فرض",paletteCustom:"سفارشی",copyColors:"کپی رنگ",colorsCopied:"رنگ در کلیپ‌بورد کپی شد",pasteColors:"چسباندن رنگ",pasteClipboardError:"نمی‌توان کلیپ‌بورد را خواند",pasteInvalidFormat:"مقدار رنگ hex مورد انتظار است",colorsPasted:"رنگ با موفقیت چسبانده شد",resetUserColors:"پاک کردن رنگ‌های سفارشی",clearCustomColorsConfirm:"همه رنگ‌های سفارشی حذف شوند؟",userColorSlot:"رنگ {slot}",recentColors:"رنگ‌های اخیر",clearRecentColors:"پاک کردن رنگ‌های اخیر",removeRecentColor:"حذف رنگ",apply:"اعمال",pickerLabel:"انتخابگر",hexLabel:"HEX",hexInputLabel:"مقدار رنگ هگز",saturationValueArea:"اشباع و روشنایی",hueSlider:"فام",alphaSlider:"شفافیت"},appearance:{tabIcon:"نماد",tabColor:"رنگ",tabBackground:"پس‌زمینه",resetIcon:"حذف آیکون",resetColor:"حذف رنگ",resetBackground:"حذف پس‌زمینه",clear:"پاک کردن سبک",apply:"اعمال"},selectVaultProfile:{title:"انتخاب پروفایل خزانه",currentBadge:"فعال",emptyState:"پروفایل خزانه‌ای موجود نیست."},tagOperation:{renameTitle:"تغییر نام برچسب {tag}",deleteTitle:"حذف برچسب {tag}",newTagPrompt:"نام برچسب جدید",newTagPlaceholder:"نام برچسب جدید را وارد کنید",renameWarning:"تغییر نام برچسب {oldTag} باعث تغییر {count} {files} می‌شود.",deleteWarning:"حذف برچسب {tag} باعث تغییر {count} {files} می‌شود.",modificationWarning:"این کار تاریخ تغییر فایل‌ها را به‌روزرسانی می‌کند.",affectedFiles:"فایل‌های تحت تأثیر:",andMore:"...و {count} مورد دیگر",confirmRename:"تغییر نام برچسب",renameUnchanged:"{tag} بدون تغییر",renameNoChanges:"{oldTag} → {newTag} ({countLabel})",renameBatchNotFinalized:"{renamed}/{total} تغییر نام یافت. به‌روزرسانی نشده: {notUpdated}. فراداده‌ها و میانبرها به‌روزرسانی نشدند.",invalidTagName:"نام برچسب معتبری وارد کنید.",descendantRenameError:"نمی‌توان برچسب را به خود یا زیرمجموعه آن منتقل کرد.",confirmDelete:"حذف برچسب",deleteBatchNotFinalized:"از {removed}/{total} حذف شد. به‌روزرسانی نشده: {notUpdated}. فراداده‌ها و میانبرها به‌روزرسانی نشدند.",checkConsoleForDetails:"برای جزئیات بیشتر کنسول را بررسی کنید.",file:"فایل",files:"فایل‌ها",inlineParsingWarning:{title:"سازگاری برچسب‌های درون‌خطی",message:"{tag} شامل نویسه‌هایی است که Obsidian نمی‌تواند در برچسب‌های درون‌خطی تجزیه کند. برچسب‌های Frontmatter تحت تأثیر قرار نمی‌گیرند.",confirm:"استفاده در هر صورت"}},propertyOperation:{renameTitle:"تغییر نام ویژگی {property}",deleteTitle:"حذف ویژگی {property}",newKeyPrompt:"نام جدید ویژگی",newKeyPlaceholder:"نام جدید ویژگی را وارد کنید",renameWarning:"تغییر نام ویژگی {property} باعث تغییر {count} {files} خواهد شد.",renameConflictWarning:"ویژگی {newKey} از قبل در {count} {files} وجود دارد. تغییر نام {oldKey} مقادیر موجود {newKey} را جایگزین خواهد کرد.",deleteWarning:"حذف ویژگی {property} باعث تغییر {count} {files} خواهد شد.",confirmRename:"تغییر نام ویژگی",confirmDelete:"حذف ویژگی",renameNoChanges:"{oldKey} → {newKey} (بدون تغییر)",renameSettingsUpdateFailed:"ویژگی {oldKey} → {newKey} تغییر نام یافت. به‌روزرسانی تنظیمات ناموفق بود.",deleteSingleSuccess:"ویژگی {property} از ۱ یادداشت حذف شد",deleteMultipleSuccess:"ویژگی {property} از {count} یادداشت حذف شد",deleteSettingsUpdateFailed:"ویژگی {property} حذف شد. به‌روزرسانی تنظیمات ناموفق بود.",invalidKeyName:"یک نام ویژگی معتبر وارد کنید."},fileSystem:{newFolderTitle:"پوشه جدید",renameFolderTitle:"تغییر نام پوشه",renameFileTitle:"تغییر نام فایل",deleteFolderTitle:"حذف '{name}'؟",deleteFileTitle:"حذف '{name}'؟",deleteFileAttachmentsTitle:"حذف پیوست‌های فایل؟",moveFileConflictTitle:"تعارض انتقال",folderNamePrompt:"نام پوشه را وارد کنید:",hideInOtherVaultProfiles:"مخفی کردن در پروفایل‌های خزانه دیگر",renamePrompt:"نام جدید را وارد کنید:",renameVaultTitle:"تغییر نام نمایشی خزانه",renameVaultPrompt:"نام نمایشی سفارشی را وارد کنید (خالی برای پیش‌فرض):",deleteFolderConfirm:"آیا مطمئن هستید می‌خواهید این پوشه و تمام محتوای آن را حذف کنید؟",deleteFileConfirm:"آیا مطمئن هستید می‌خواهید این فایل را حذف کنید؟",deleteFileAttachmentsDescriptionSingle:"این پیوست دیگر در هیچ یادداشتی استفاده نمی‌شود. آیا می‌خواهید آن را حذف کنید؟",deleteFileAttachmentsDescriptionMultiple:"این پیوست‌ها دیگر در هیچ یادداشتی استفاده نمی‌شوند. آیا می‌خواهید آن‌ها را حذف کنید؟",deleteFileAttachmentsViewFileTreeAriaLabel:"درخت فایل",deleteFileAttachmentsViewGalleryAriaLabel:"گالری",moveFileConflictDescriptionSingle:'یک تعارض فایل در "{folder}" یافت شد.',moveFileConflictDescriptionMultiple:'{count} تعارض فایل در "{folder}" یافت شد.',moveFileConflictAffectedFiles:"فایل‌های تحت تأثیر",moveFileConflictItem:'"{name}" -> "{suggested}"{renameOnly}',moveFileConflictRenameOnly:"(فقط تغییر نام)",moveFileConflictRename:"تغییر نام",moveFileConflictOverwrite:"بازنویسی",removeAllTagsTitle:"حذف همه برچسب‌ها",removeAllTagsFromNote:"آیا مطمئن هستید می‌خواهید همه برچسب‌ها را از این یادداشت حذف کنید؟",removeAllTagsFromNotes:"آیا مطمئن هستید می‌خواهید همه برچسب‌ها را از {count} یادداشت حذف کنید؟"},folderNoteType:{title:"انتخاب نوع یادداشت پوشه",folderLabel:"پوشه: {name}"},folderSuggest:{placeholder:t=>`انتقال ${t} به پوشه...`,multipleFilesLabel:t=>`${t} فایل`,navigatePlaceholder:"رفتن به پوشه...",instructions:{navigate:"برای ناوبری",move:"برای انتقال",select:"برای انتخاب",dismiss:"برای بستن"}},homepage:{placeholder:"جستجوی فایل...",instructions:{navigate:"برای ناوبری",select:"برای تنظیم صفحه اصلی",dismiss:"برای بستن"}},calendarTemplate:{placeholder:"جستجوی قالب‌ها...",instructions:{navigate:"برای ناوبری",select:"برای انتخاب قالب",dismiss:"برای بستن"}},navigationBanner:{placeholder:"جستجوی تصویر...",instructions:{navigate:"برای ناوبری",select:"برای تنظیم بنر",dismiss:"برای بستن"}},tagSuggest:{navigatePlaceholder:"رفتن به برچسب...",addPlaceholder:"جستجوی برچسب برای افزودن...",removePlaceholder:"انتخاب برچسب برای حذف...",createNewTag:"ایجاد برچسب جدید: #{tag}",instructions:{navigate:"برای ناوبری",select:"برای انتخاب",dismiss:"برای بستن",add:"برای افزودن برچسب",remove:"برای حذف برچسب"}},propertySuggest:{placeholder:"انتخاب کلید ویژگی...",navigatePlaceholder:"رفتن به ویژگی...",instructions:{navigate:"برای ناوبری",select:"برای افزودن ویژگی",dismiss:"برای بستن"}},propertyKeyVisibility:{title:"نمایش کلیدهای ویژگی",description:"کنترل محل نمایش مقادیر ویژگی. ستون‌ها مربوط به پنل ناوبری، پنل فهرست و منوی زمینه فایل هستند. از ردیف پایین برای تغییر وضعیت همه ردیف‌های یک ستون استفاده کنید.",searchPlaceholder:"جستجوی کلیدهای ویژگی...",propertyColumnLabel:"ویژگی",showInNavigation:"نمایش در ناوبری",showInList:"نمایش در فهرست",showInFileMenu:"نمایش در منوی فایل",toggleAllInNavigation:"تغییر وضعیت همه در ناوبری",toggleAllInList:"تغییر وضعیت همه در فهرست",toggleAllInFileMenu:"تغییر وضعیت همه در منوی فایل",applyButton:"اعمال",emptyState:"کلید ویژگی‌ای یافت نشد."},welcome:{title:"به {pluginName} خوش آمدید",introText:"سلام! قبل از شروع، اکیداً توصیه می‌کنم پنج دقیقه اول ویدیوی زیر را تماشا کنید تا نحوه کار پنل‌ها و کلید «نمایش یادداشت‌ها از زیرپوشه‌ها» را درک کنید.",continueText:"اگر پنج دقیقه دیگر وقت دارید، به تماشای ویدیو ادامه دهید تا حالت‌های نمایش فشرده و نحوه تنظیم صحیح میانبرها و کلیدهای میانبر مهم را درک کنید.",thanksText:"از دانلود شما بسیار سپاسگزارم، لذت ببرید!",videoAlt:"نصب و تسلط بر Notebook Navigator",openVideoButton:"پخش ویدیو",closeButton:"شاید بعداً"}},fileSystem:{errors:{createFolder:"ایجاد پوشه ناموفق بود: {error}",createFile:"ایجاد فایل ناموفق بود: {error}",renameFolder:"تغییر نام پوشه ناموفق بود: {error}",renameFolderNoteConflict:'تغییر نام ممکن نیست: "{name}" در این پوشه وجود دارد',renameFile:"تغییر نام فایل ناموفق بود: {error}",deleteFolder:"حذف پوشه ناموفق بود: {error}",deleteFile:"حذف فایل ناموفق بود: {error}",deleteAttachments:"حذف پیوست‌ها ناموفق بود: {error}",mergeNotes:"ادغام یادداشت‌ها ناموفق بود: {error}",mergeNotesOpenOutput:"یادداشت ادغام‌شده با نام {name} ایجاد شد، اما باز نشد: {error}. یادداشت‌های مبدأ بدون تغییر باقی ماندند.",mergeNotesOpenSkipped:"درخواست دیگری برای باز کردن فایل اولویت پیدا کرد.",mergeNotesTrashSources:"یادداشت ادغام‌شده ایجاد شد. انتقال {count} یادداشت مبدأ به زباله‌دان ناموفق بود.",duplicateNote:"کپی یادداشت ناموفق بود: {error}",duplicateFolder:"کپی پوشه ناموفق بود: {error}",openVersionHistory:"باز کردن تاریخچه نسخه ناموفق بود: {error}",versionHistoryNotFound:"دستور تاریخچه نسخه یافت نشد. اطمینان حاصل کنید که Obsidian Sync فعال است.",revealInExplorer:"نمایش فایل در مرورگر سیستم ناموفق بود: {error}",openInDefaultApp:"باز کردن در برنامه پیش‌فرض ناموفق بود: {error}",openInDefaultAppNotAvailable:"باز کردن در برنامه پیش‌فرض در این پلتفرم در دسترس نیست",folderNoteAlreadyExists:"یادداشت پوشه وجود دارد",folderAlreadyExists:'پوشه "{name}" وجود دارد',folderNotesDisabled:"یادداشت‌های پوشه را در تنظیمات فعال کنید تا فایل‌ها را تبدیل کنید",folderNoteAlreadyLinked:"این فایل در حال حاضر به عنوان یادداشت پوشه عمل می‌کند",folderNoteNotFound:"هیچ یادداشت پوشه‌ای در پوشه انتخاب‌شده وجود ندارد",folderNoteUnsupportedExtension:"پسوند فایل پشتیبانی نمی‌شود: {extension}",folderNoteMoveFailed:"انتقال فایل در حین تبدیل ناموفق بود: {error}",folderNoteRenameConflict:'فایلی با نام "{name}" در پوشه وجود دارد',folderNoteConversionFailed:"تبدیل فایل به یادداشت پوشه ناموفق بود",folderNoteConversionFailedWithReason:"تبدیل فایل به یادداشت پوشه ناموفق بود: {error}",folderNoteOpenFailed:"فایل تبدیل شد اما باز کردن یادداشت پوشه ناموفق بود: {error}",failedToDeleteFile:"حذف {name} ناموفق بود: {error}",failedToDeleteMultipleFiles:"حذف {count} فایل ناموفق بود",versionHistoryNotAvailable:"سرویس تاریخچه نسخه در دسترس نیست",drawingAlreadyExists:"طراحی با این نام وجود دارد",failedToCreateDrawing:"ایجاد طراحی ناموفق بود",noFolderSelected:"پوشه‌ای در Notebook Navigator انتخاب نشده است",noFileSelected:"فایلی انتخاب نشده است"},warnings:{linkBreakingNameCharacters:"این نام شامل کاراکترهایی است که لینک‌های Obsidian را خراب می‌کند: #, |, ^, %%, [[, ]].",forbiddenNameCharactersAllPlatforms:"نام‌ها نمی‌توانند با نقطه شروع شوند یا شامل : یا / باشند.",forbiddenNameCharactersWindows:'کاراکترهای رزرو شده در Windows مجاز نیستند: <, >, ", \\, |, ?, *.'},notices:{hideFolder:"پوشه مخفی شد: {name}",showFolder:"پوشه نمایش داده شد: {name}",mergeNotes:"{count} یادداشت در {name} ادغام شد"},notifications:{deletedMultipleFiles:"{count} فایل حذف شد",movedMultipleFiles:"{count} فایل به {folder} منتقل شد",folderNoteConversionSuccess:'فایل به یادداشت پوشه در "{name}" تبدیل شد',folderMoved:'پوشه "{name}" منتقل شد',deepLinkCopied:"URL اوبسیدین در کلیپ‌بورد کپی شد",pathCopied:"مسیر در کلیپ‌بورد کپی شد",relativePathCopied:"مسیر نسبی در کلیپ‌بورد کپی شد",tagAddedToNote:"برچسب به ۱ یادداشت اضافه شد",tagAddedToNotes:"برچسب به {count} یادداشت اضافه شد",tagRemovedFromNote:"برچسب از ۱ یادداشت حذف شد",tagRemovedFromNotes:"برچسب از {count} یادداشت حذف شد",tagsClearedFromNote:"همه برچسب‌ها از ۱ یادداشت پاک شد",tagsClearedFromNotes:"همه برچسب‌ها از {count} یادداشت پاک شد",noTagsToRemove:"برچسبی برای حذف نیست",noFilesSelected:"فایلی انتخاب نشده است",mergeNotesRequireMultipleMarkdown:"حداقل دو یادداشت Markdown برای ادغام انتخاب کنید",tagOperationsNotAvailable:"عملیات برچسب در دسترس نیست",propertyOperationsNotAvailable:"عملیات ویژگی‌ها در دسترس نیست",tagsRequireMarkdown:"برچسب‌ها فقط روی یادداشت‌های Markdown پشتیبانی می‌شوند",propertiesRequireMarkdown:"ویژگی‌ها فقط در یادداشت‌های Markdown پشتیبانی می‌شوند",propertySetOnNote:"ویژگی در ۱ یادداشت به‌روزرسانی شد",propertySetOnNotes:"ویژگی در {count} یادداشت به‌روزرسانی شد",manualSortPropertyRemovedFromNote:"ویژگی مرتب‌سازی از ۱ یادداشت حذف شد",manualSortPropertyRemovedFromNotes:"ویژگی مرتب‌سازی از {count} یادداشت حذف شد",iconPackDownloaded:"{provider} دانلود شد",iconPackUpdated:"{provider} به‌روزرسانی شد ({version})",iconPackRemoved:"{provider} حذف شد",iconPackLoadFailed:"بارگذاری {provider} ناموفق بود",hiddenFileReveal:'فایل مخفی است. "نمایش آیتم‌های مخفی" را فعال کنید'},confirmations:{deleteMultipleFiles:"آیا مطمئن هستید می‌خواهید {count} فایل را حذف کنید؟",deleteConfirmation:"این عمل قابل بازگشت نیست."},defaultNames:{untitled:"بدون عنوان"}},dragDrop:{errors:{cannotMoveIntoSelf:"نمی‌توان پوشه را به خود یا زیرپوشه آن منتقل کرد.",itemAlreadyExists:'آیتمی با نام "{name}" در این مکان وجود دارد.',failedToMove:"انتقال ناموفق بود: {error}",failedToAddTag:'افزودن برچسب "{tag}" ناموفق بود',failedToSetProperty:"خطا در به‌روزرسانی ویژگی: {error}",failedToClearTags:"پاک کردن برچسب‌ها ناموفق بود",failedToMoveFolder:'انتقال پوشه "{name}" ناموفق بود',failedToImportFiles:"وارد کردن ناموفق بود: {names}"},notifications:{filesAlreadyExist:"{count} فایل در مقصد وجود دارد",filesAlreadyHaveTag:"{count} فایل این برچسب یا برچسب دقیق‌تر را دارد",filesAlreadyHaveProperty:"{count} فایل از قبل این ویژگی را دارند",noTagsToClear:"برچسبی برای پاک کردن نیست",fileImported:"۱ فایل وارد شد",filesImported:"{count} فایل وارد شد"}},dateGroups:{today:"امروز",yesterday:"دیروز",previous7Days:"۷ روز گذشته",previous30Days:"۳۰ روز گذشته"},commands:{open:"باز کردن",toggleLeftSidebar:"تغییر نوار کناری چپ",openHomepage:"باز کردن صفحه اصلی",openDailyNote:"باز کردن یادداشت روزانه",openWeeklyNote:"باز کردن یادداشت هفتگی",openMonthlyNote:"باز کردن یادداشت ماهانه",openQuarterlyNote:"باز کردن یادداشت فصلی",openYearlyNote:"باز کردن یادداشت سالانه",revealFile:"نمایش فایل",search:"جستجو",searchVaultRoot:"جستجو در ریشه خزانه",toggleDualPane:"تغییر نمای پنل دوگانه",toggleDualPaneOrientation:"تغییر جهت پنل دوگانه",toggleCalendar:"تغییر تقویم",selectVaultProfile:"انتخاب پروفایل خزانه",selectVaultProfile1:"انتخاب پروفایل خزانه ۱",selectVaultProfile2:"انتخاب پروفایل خزانه ۲",selectVaultProfile3:"انتخاب پروفایل خزانه ۳",deleteFile:"حذف فایل‌ها",createNewNote:"ایجاد یادداشت جدید",createNewNoteFromTemplate:"یادداشت جدید از قالب",moveFiles:"انتقال فایل‌ها",mergeNotes:"ادغام یادداشت‌ها",selectNextFile:"انتخاب فایل بعدی",selectPreviousFile:"انتخاب فایل قبلی",navigateBack:"بازگشت",navigateForward:"جلو رفتن",convertToFolderNote:"تبدیل به یادداشت پوشه",setAsFolderNote:"تنظیم به عنوان یادداشت پوشه",detachFolderNote:"جدا کردن یادداشت پوشه",pinAllFolderNotes:"سنجاق کردن همه یادداشت‌های پوشه",navigateToFolder:"رفتن به پوشه",navigateToTag:"رفتن به برچسب",navigateToProperty:"رفتن به ویژگی",addShortcut:"افزودن به میانبرها",openShortcut:"باز کردن میانبر {number}",toggleDescendants:"تغییر زیرمجموعه‌ها",toggleHidden:"تغییر پوشه‌ها، برچسب‌ها و یادداشت‌های مخفی",toggleTagSort:"تغییر ترتیب مرتب‌سازی برچسب",toggleTagsBySelection:"تغییر برچسب‌ها بر اساس انتخاب",togglePropertiesBySelection:"تغییر ویژگی‌ها بر اساس انتخاب",toggleCompactMode:"تغییر حالت فشرده",togglePinnedSection:"تغییر بخش سنجاق‌شده",collapseExpand:"جمع / باز کردن همه آیتم‌ها",collapseExpandSelectedItem:"جمع / باز کردن آیتم انتخاب‌شده",addTag:"افزودن برچسب به فایل‌های انتخابی",setProperty:"تنظیم ویژگی روی فایل‌های انتخابی",removeTag:"حذف برچسب از فایل‌های انتخابی",removeAllTags:"حذف همه برچسب‌ها از فایل‌های انتخابی",openAllFiles:"باز کردن همه فایل‌ها",rebuildCache:"بازسازی کش"},plugin:{viewName:"Notebook Navigator",calendarViewName:"تقویم",folderNoteSidebarViewName:"یادداشت پوشه",ribbonTooltip:"Notebook Navigator",revealInNavigator:"نمایش در Notebook Navigator"},tooltips:{lastModifiedAt:"آخرین تغییر در",createdAt:"ایجاد شده در",file:"فایل",files:"فایل",folder:"پوشه",folders:"پوشه",wordCount:"تعداد کلمات"},fileCounts:{words:"{count} کلمه",characters:"{count} نویسه",separator:" · "},settings:{changeDefaultSettings:"تغییر تنظیمات پیش‌فرض",metadataReport:{exportSuccess:"گزارش متادیتای ناموفق به {filename} صادر شد",exportFailed:"صادر کردن گزارش متادیتا ناموفق بود"},sections:{general:"عمومی",vaultFilters:"فیلترهای نمایش",appearanceBehavior:"ظاهر و رفتار",navigationPane:"پنل ناوبری",calendar:"تقویم",fileOperations:"عملیات فایل",icons:"بسته‌های آیکون",folders:"پوشه‌ها",folderNotes:"یادداشت‌های پوشه",folderNoteFiles:"فایل‌های یادداشت پوشه",foldersAndFolderNotes:"پوشه‌ها و یادداشت‌های پوشه",tagsAndProperties:"برچسب‌ها و ویژگی‌ها",tags:"برچسب‌ها",listPane:"پنل لیست",notes:"نمایش فایل",shortcutsAndRecentFiles:"میان‌برها و فایل‌های اخیر",advanced:"پیشرفته"},pageGroups:{configuration:"پیکربندی",navigationAndContent:"پنل ناوبری",notesAndLists:"پنل لیست",calendarAndTools:"تقویم و ابزارها"},pageDescriptions:{general:"یادداشت‌های انتشار، پشتیبانی، پروفایل خزانه، انواع فایل و کلیدهای ویژگی.",vaultFilters:"پوشه‌ها، برچسب‌ها، فایل‌ها، برچسب‌های فایل و قوانین ویژگی پنهان.",appearanceBehavior:"رفتار، پیمایش با صفحه‌کلید، دکمه‌های ماوس، ظاهر و قالب‌بندی.",navigationPane:"چیدمان، ظاهر، تعداد یادداشت‌ها، رفتار جمع‌شدن و رنگ‌های رنگین‌کمان.",shortcuts:"قابلیت دید میان‌برها، نشان‌ها، فایل‌های اخیر و موارد سنجاق‌شده.",calendar:"نمایش تقویم، یادداشت‌های تاریخ، الگوها، تنظیمات محلی و مکان نوار کناری.",fileOperations:"الگوها، تأییدیه‌های حذف، پیوست‌ها و رفتار تعارض در جابجایی فایل.",foldersAndFolderNotes:"نمایش پوشه‌ها، یادداشت‌های پوشه، الگوهای یادداشت پوشه و رفتار یادداشت پوشه.",tagsProperties:"بخش‌های برچسب و ویژگی، آیکون‌ها، مرتب‌سازی، محدوده و وراثت.",listPane:"مرتب‌سازی، گروه‌بندی، حالت‌های لیست، یادداشت‌های سنجاق‌شده و پیش‌نمایش‌های طراحی.",frontmatter:"فیلدهای فرانت‌متر برای نام‌های نمایشی، نشانه‌های زمانی، آیکون‌ها و رنگ‌ها.",notes:"عناوین، متن پیش‌نمایش، تصاویر ویژه، برچسب‌ها، ویژگی‌ها، تاریخ‌ها، تعداد کلمات و تعداد نویسه‌ها.",iconPacks:"آیکون‌های رابط کاربری، آیکون‌های فایل و مدیریت بسته‌های آیکون.",advanced:"تشخیص، پاکسازی متادیتا، واردکردن/صادرکردن و بازنشانی."},groups:{general:{vaultConfiguration:"پیکربندی خزانه",templates:"الگوها",behavior:"رفتار",keyboardNavigation:"پیمایش با صفحه‌کلید",mouseButtons:"دکمه‌های ماوس",view:"ظاهر",icons:"آیکون‌ها",desktopAppearance:"ظاهر دسکتاپ",mobileAppearance:"ظاهر موبایل",formatting:"قالب‌بندی"},advanced:{maintenance:"نگهداری",resetSettings:"بازنشانی تنظیمات"},navigation:{appearance:"ظاهر",banner:"بنر",collapseItems:"جمع کردن آیتم‌ها",dragAndDrop:"کشیدن و رها کردن",noteCounts:"تعداد یادداشت‌ها",rainbowColors:"رنگ‌های رنگین‌کمان",leftSidebar:"نوار کناری چپ",calendarIntegration:"یکپارچه‌سازی تقویم"},list:{display:"ظاهر",groupHeaders:"هدرهای گروه",propertySort:"مرتب‌سازی بر اساس ویژگی",manualSort:"مرتب‌سازی دستی",pinnedNotes:"یادداشت‌های سنجاق‌شده",drawingPreviews:"پیش‌نمایش‌های طراحی"},notes:{frontmatter:"فیلدهای فرانت‌متر",tasks:"وظایف",icon:"آیکون",title:"عنوان",previewText:"متن پیش‌نمایش",featureImage:"تصویر ویژه",tags:"برچسب‌ها",properties:"ویژگی‌ها",date:"تاریخ",parentFolder:"پوشه والد",wordCount:"تعداد کلمات و نویسه‌ها"}},syncMode:{notSynced:"(همگام نشده)",switchToSynced:"فعال‌سازی همگام‌سازی",switchToLocal:"غیرفعال‌سازی همگام‌سازی"},items:{listPaneTitle:{name:"عنوان پنل لیست",desc:"محل نمایش عنوان پنل لیست را انتخاب کنید.",options:{header:"نمایش در هدر",list:"نمایش در پنل لیست",hidden:"نمایش نده"}},sortNotesBy:{name:"ترتیب پیش‌فرض مرتب‌سازی",desc:"ترتیب پیش‌فرض مرتب‌سازی یادداشت‌ها را انتخاب کنید.",options:{"modified-desc":"تاریخ ویرایش (جدیدترین بالا)","modified-asc":"تاریخ ویرایش (قدیمی‌ترین بالا)","created-desc":"تاریخ ایجاد (جدیدترین بالا)","created-asc":"تاریخ ایجاد (قدیمی‌ترین بالا)","title-asc":"عنوان (الف بالا)","title-desc":"عنوان (ی بالا)","filename-asc":"نام فایل (الف بالا)","filename-desc":"نام فایل (ی بالا)"},directions:{asc:"صعودی",desc:"نزولی"},fields:{modified:"تاریخ ویرایش",created:"تاریخ ایجاد",title:"عنوان",filename:"نام فایل",property:"ویژگی"}},propertySortKey:{name:"ویژگی‌ها برای مرتب‌سازی",desc:"ویژگی‌های frontmatter جدا شده با کاما که به عنوان گزینه‌های مرتب‌سازی بر اساس ویژگی نمایش داده می‌شوند. مقادیر آرایه به یک رشته واحد متصل می‌شوند. این ویژگی‌ها تغییر داده نمی‌شوند.",placeholder:"published, author"},propertySortSecondary:{name:"مرتب‌سازی ثانویه",desc:"با مرتب‌سازی بر اساس ویژگی استفاده می‌شود، زمانی که یادداشت‌ها مقدار ویژگی یکسان یا بدون مقدار ویژگی باشند.",options:{title:"عنوان",filename:"نام فایل",created:"تاریخ ایجاد",modified:"تاریخ ویرایش"}},propertySortInstructions:{intro:"هر ویژگی فهرست‌شده در بالا به عنوان یک گزینه مرتب‌سازی در منوی مرتب‌سازی در پنل لیست نمایش داده می‌شود. انتخاب یکی از آن‌ها یادداشت‌ها را بر اساس مقدار frontmatter آن مرتب می‌کند."},manualSortPropertyKey:{name:"ویژگی مرتب‌سازی دستی",desc:"ویژگی frontmatter که برای ذخیره مقادیر شاخص عددی در مرتب‌سازی دستی استفاده می‌شود."},manualSortGroupHeaderProperty:{name:"ویژگی هدر گروه",desc:"ویژگی frontmatter که برای ذخیره هدرهای سفارشی گروه استفاده می‌شود."},groupHeadersInstructions:{intro:"هدرهای سفارشی گروه بالای یادداشت‌ها در پنل لیست نمایش داده می‌شوند.",items:["از منوی مرتب‌سازی در پنل لیست، گروه‌بندی را روی **سفارشی** تنظیم کنید.","روی یک یادداشت کلیک راست کنید و **تنظیم هدر گروه** را انتخاب کنید تا یک هدر بالای آن قرار گیرد."]},manualSortNewNotePlacement:{name:"محل قرارگیری یادداشت جدید",desc:"محل قرارگیری یادداشت‌های جدید را زمانی که فهرست فعلی از مرتب‌سازی دستی استفاده می‌کند، انتخاب کنید.",options:{top:"بالا",bottom:"پایین","below-selected-note":"زیر یادداشت انتخاب‌شده",unsorted:"مرتب‌نشده"}},confirmBeforeManualSort:{name:"تأیید پیش از مرتب‌سازی دستی",desc:"پیش از نوشتن ویژگی مرتب‌سازی دستی در یادداشت‌ها برای نخستین بار، یک هشدار نمایش داده شود. هنگامی که غیرفعال باشد، یادداشت‌ها بدون هشدار این ویژگی را دریافت می‌کنند."},manualSortInstructions:{intro:"مرتب‌سازی دستی یک مقدار شاخص عددی را در یک ویژگی frontmatter بر روی هر یادداشت می‌نویسد. یادداشت‌های بدون شاخص در زیر بخش مرتب‌نشده ظاهر می‌شوند.",items:["مرتب‌سازی دستی را با انتخاب **مرتب‌سازی دستی** از منوی مرتب‌سازی فعال کنید. پس از آن، دو روش برای بازآرایی یادداشت‌ها وجود دارد.","**ویرایش ترتیب مرتب‌سازی...** را از منوی مرتب‌سازی انتخاب کنید تا نمای بازآرایی باز شود. یادداشت‌ها را با ماوس بکشید یا روی موبایل با لمس. در دسکتاپ، کلیک **Cmd/Ctrl** یا **Shift** چندین یادداشت را انتخاب می‌کند، سپس کشیدن هر یک از آن‌ها کل گروه را جابه‌جا می‌کند.","در پنل لیست، یک یادداشت را انتخاب کنید یا چندین یادداشت را به صورت چندانتخابی انتخاب کنید، سپس **Cmd/Ctrl + Arrow Up/Down** را فشار دهید تا انتخاب به بالا یا پایین جابه‌جا شود."]},revealFileOnListChanges:{name:"اسکرول به فایل انتخابی هنگام تغییر لیست",desc:"هنگام سنجاق کردن یادداشت‌ها، نمایش یادداشت‌های زیرمجموعه، تغییر ظاهر پوشه، یا اجرای عملیات فایل به فایل انتخابی اسکرول کنید."},includeDescendantNotes:{name:"نمایش یادداشت‌ها از زیرپوشه‌ها / زیرمجموعه‌ها",desc:"یادداشت‌های زیرپوشه‌های تودرتو و زیرمجموعه‌های برچسب و ویژگی را هنگام مشاهده پوشه، برچسب یا ویژگی شامل کنید."},limitPinnedToCurrentFolder:{name:"سنجاق کردن یادداشت‌ها فقط در پوشه خودشان",desc:"یادداشت‌های سنجاق‌شده فقط در پوشه خودشان سنجاق‌شده نشان داده می‌شوند. مفید برای یادداشت‌های پوشه یا اگر تعداد زیادی یادداشت سنجاق‌شده دارید. بر نماهای برچسب یا ویژگی تأثیر نمی‌گذارد."},separateNoteCounts:{name:"نمایش جداگانه تعداد یادداشت‌های فعلی و زیرمجموعه",desc:'تعداد یادداشت‌ها را به صورت "فعلی ▾ زیرمجموعه" برای پوشه‌ها، برچسب‌ها و ویژگی‌ها نمایش دهید.'},groupNotes:{name:"گروه‌بندی پیش‌فرض",desc:"سفارشی هدرهای تعریف‌شده در frontmatter را نمایش می‌دهد. تاریخ یادداشت‌ها را بر اساس تاریخ گروه‌بندی می‌کند. پوشه یادداشت‌ها را بر اساس پوشه گروه‌بندی می‌کند. نماهای برچسب و ویژگی هنگام انتخاب پوشه از گروه‌های تاریخ استفاده می‌کنند.",options:{custom:"سفارشی",date:"تاریخ",folder:"پوشه"}},showSelectedNavigationPills:{name:"نمایش همیشگی تمام نشان‌های برچسب و ویژگی",desc:"در صورت غیرفعال بودن، نشان‌هایی که با انتخاب ناوبری فعلی مطابقت دارند پنهان می‌شوند (مثلاً نشان برچسب «دستور پخت» هنگام مرور برچسب «دستور پخت» پنهان می‌شود). فعال کنید تا همه نشان‌ها همیشه نمایش داده شوند."},stickyGroupHeaders:{name:"هدرهای گروه چسبان",desc:"هدر بخش تاریخ، پوشه یا قسمت سنجاق‌شده فعلی را هنگام پیمایش نمایان نگه می‌دارد."},showFolderGroupPaths:{name:"نمایش مسیرهای زیرپوشه",desc:"هنگام گروه‌بندی بر اساس پوشه در پنل لیست، مسیرهای زیرپوشه را به جای فقط نام پوشه‌ها نمایش دهید."},showCurrentFolderFilesAtBottom:{name:"گروه‌بندی پوشه: فایل‌های پوشه فعلی در پایین",desc:"وقتی گروه‌بندی پیش‌فرض روی پوشه است، فایل‌هایی را که مستقیماً در پوشه انتخاب‌شده هستند به زیر گروه‌های زیرپوشه منتقل کن."},defaultListMode:{name:"حالت لیست پیش‌فرض",desc:"نمای لیست پیش‌فرض را انتخاب کنید. استاندارد عنوان، تاریخ، توضیحات و متن پیش‌نمایش را نمایش می‌دهد. فشرده فقط عنوان را نمایش می‌دهد. ظاهر را برای هر پوشه جداگانه تنظیم کنید.",options:{standard:"استاندارد",compact:"فشرده"}},showFileIcons:{name:"نمایش آیکون‌های فایل",desc:"آیکون‌های فایل را با فاصله‌گذاری چپ‌چین نمایش دهید. غیرفعال کردن آیکون‌ها و تورفتگی را حذف می‌کند. اولویت: آیکون وظایف ناتمام > آیکون سفارشی > آیکون پوشه > آیکون نام فایل > آیکون نوع فایل > آیکون پیش‌فرض."},useFolderIcon:{name:"استفاده از آیکون پوشه",desc:"هنگامی که آیکون فایل سفارشی تنظیم نشده باشد، آیکون پوشه والد را نمایش دهید. هنگامی که رنگ فایل سفارشی تنظیم نشده باشد، از رنگ پوشه استفاده می‌شود."},showFileIconUnfinishedTask:{name:"نماد وظایف ناتمام",desc:"نمایش نماد وظیفه زمانی که یادداشت وظایف ناتمام دارد."},showFileBackgroundUnfinishedTask:{name:"پس‌زمینه وظایف ناتمام",desc:"اعمال رنگ پس‌زمینه زمانی که یادداشت وظایف ناتمام دارد."},unfinishedTaskBackgroundColor:{name:"رنگ پس‌زمینه وظایف ناتمام",desc:"تنظیم رنگ پس‌زمینه مورد استفاده زمانی که یادداشت وظایف ناتمام دارد."},showFilenameMatchIcons:{name:"آیکون بر اساس نام فایل",desc:"تخصیص آیکون به فایل‌ها بر اساس متن در نام آن‌ها."},fileNameIconMap:{name:"نگاشت آیکون نام فایل",desc:"فایل‌های حاوی متن آیکون مشخص‌شده را دریافت می‌کنند. یک نگاشت در هر خط: متن=آیکون",placeholder:`# متن=آیکون
جلسه=ph-calendar
فاکتور=ph-receipt`,editTooltip:"ویرایش نگاشت‌ها"},showCategoryIcons:{name:"آیکون بر اساس نوع فایل",desc:"تخصیص آیکون به فایل‌ها بر اساس پسوند آن‌ها."},fileTypeIconPreset:{name:"پیش‌تنظیم آیکون فایل",desc:"آیکون‌های داخلی یا یک پیش‌تنظیم بسته آیکون را انتخاب کنید. قوانین سفارشی پسوند این پیش‌تنظیم را بازنویسی می‌کنند.",options:{none:"آیکون‌های داخلی"},notInstalledWarning:"این بسته آیکون نصب نشده است. به‌جای آن آیکون‌های داخلی نمایش داده می‌شوند."},fileTypeIconMap:{name:"نگاشت آیکون نوع فایل",desc:"فایل‌های با پسوند مشخص آیکون مشخص‌شده را دریافت می‌کنند. یک نگاشت در هر خط: پسوند=آیکون",placeholder:`# Extension=icon
cpp=ph-file-code
pdf=ph-file-pdf`,editTooltip:"ویرایش نگاشت‌ها"},compactItemHeight:{name:"ارتفاع آیتم فشرده",desc:"ارتفاع آیتم‌های لیست فشرده را در دسکتاپ و موبایل تنظیم کنید (پیکسل).",resetTooltip:"بازگشت به پیش‌فرض (۲۸ پیکسل)"},compactItemHeightScaleText:{name:"مقیاس‌بندی متن با ارتفاع آیتم فشرده",desc:"متن لیست فشرده را هنگام کاهش ارتفاع آیتم مقیاس‌بندی کنید."},showParentFolder:{name:"نمایش پوشه والد",desc:"نام پوشه والد را برای یادداشت‌ها در زیرپوشه‌ها، برچسب‌ها یا ویژگی‌ها نمایش دهید."},showParentFolderFullPath:{name:"نمایش مسیر کامل",desc:"مسیر کامل پوشه والد را به جای فقط نام پوشه نمایش دهید."},parentFolderClickRevealsFile:{name:"کلیک روی پوشه والد پوشه را باز می‌کند",desc:"کلیک روی برچسب پوشه والد پوشه را در پنل لیست باز می‌کند."},showParentFolderColor:{name:"نمایش رنگ پوشه والد",desc:"از رنگ‌های پوشه روی برچسب‌های پوشه والد استفاده کنید."},showParentFolderIcon:{name:"نمایش آیکون پوشه والد",desc:"آیکون‌های پوشه را کنار برچسب‌های پوشه والد نمایش دهید."},showQuickActions:{name:"نمایش اقدامات سریع",desc:"دکمه‌های اقدام را هنگام قرار گرفتن روی فایل‌ها نمایش دهید. کنترل دکمه اقداماتی که نمایش داده می‌شوند را انتخاب می‌کند."},dualPane:{name:"نمای پنل دوگانه",desc:"پنل ناوبری و پنل لیست را کنار هم در دسکتاپ نمایش دهید."},dualPaneOrientation:{name:"جهت پنل دوگانه",desc:"نمای افقی یا عمودی را هنگام فعال بودن پنل دوگانه انتخاب کنید.",options:{horizontal:"تقسیم افقی",vertical:"تقسیم عمودی"}},narrowSidebarLayout:{name:"وقتی نوار کناری خیلی باریک است",desc:"انتخاب کنید وقتی پنل ناوبری و پنل فهرست کنار هم جا نمی‌شوند چه اتفاقی بیفتد.",options:{none:"هیچ کاری نکن",singlePane:"تغییر به پنل تکی",vertical:"تغییر به تقسیم عمودی"}},narrowSidebarTrigger:{name:"آستانهٔ نوار کناری باریک",desc:"انتخاب کنید آستانهٔ عرض نوار کناری چگونه محاسبه شود.",options:{fitPanes:"جا دادن پنل‌ها",customWidth:"عرض سفارشی"}},narrowSidebarCustomWidth:{name:"عرض آستانهٔ نوار کناری باریک",desc:"وقتی نوار کناری از این عرض باریک‌تر است تغییر کند.",resetTooltip:"بازنشانی به عرض پیش‌فرض"},appearanceBackground:{name:"رنگ پس‌زمینه",desc:"رنگ‌های پس‌زمینه را برای پنل‌های ناوبری و لیست انتخاب کنید.",options:{separate:"پس‌زمینه‌های جداگانه",primary:"استفاده از پس‌زمینه لیست",secondary:"استفاده از پس‌زمینه ناوبری"}},appearanceScale:{name:"سطح زوم",desc:"سطح زوم کلی Notebook Navigator را کنترل می‌کند (درصد)."},useFloatingToolbars:{name:"استفاده از نوار ابزار شناور در iOS/iPadOS",desc:"فقط برای iOS و iPadOS اعمال می‌شود."},startView:{name:"نمای پیش‌فرض شروع",desc:"پنلی که هنگام باز کردن Notebook Navigator نمایش داده می‌شود را انتخاب کنید. پنل ناوبری میانبرها، فایل‌های اخیر و درخت پوشه را نمایش می‌دهد. پنل لیست فوراً لیست فایل‌ها را نمایش می‌دهد.",options:{navigation:"پنل ناوبری",files:"پنل لیست"}},toolbarButtons:{name:"دکمه‌های نوار ابزار",desc:"دکمه‌هایی که در نوار ابزار نمایش داده می‌شوند را انتخاب کنید. دکمه‌های مخفی از طریق دستورات و منوها قابل دسترسی هستند.",navigationLabel:"نوار ابزار ناوبری",listLabel:"نوار ابزار لیست"},createNewNotesInNewTab:{name:"باز کردن یادداشت‌های جدید در زبانه جدید",desc:"وقتی فعال باشد، فرمان ایجاد یادداشت جدید یادداشت‌ها را در زبانه جدید باز می‌کند. وقتی غیرفعال باشد، یادداشت‌ها جایگزین زبانه فعلی می‌شوند."},autoRevealActiveNote:{name:"نمایش خودکار یادداشت فعال",desc:"یادداشت‌ها را هنگام باز شدن از Quick Switcher، لینک‌ها یا جستجو به طور خودکار نمایش دهید."},autoRevealShortestPath:{name:"نمایش خودکار: استفاده از کوتاه‌ترین مسیر",desc:"فعال: نمایش خودکار نزدیک‌ترین پوشه یا برچسب قابل مشاهده را انتخاب می‌کند. غیرفعال: نمایش خودکار پوشه واقعی فایل و برچسب دقیق را انتخاب می‌کند."},autoRevealIgnoreRightSidebar:{name:"نمایش خودکار: نادیده گرفتن رویدادها از نوار کناری راست",desc:"یادداشت فعال را هنگام کلیک یا تغییر یادداشت‌ها در نوار کناری راست تغییر ندهید."},autoRevealIgnoreOtherWindows:{name:"نمایش خودکار: نادیده گرفتن رویدادها از پنجره‌های دیگر",desc:"یادداشت فعال را هنگام کار با یادداشت‌ها در پنجره دیگر تغییر ندهید."},paneTransitionDuration:{name:"انیمیشن پنل تکی",desc:"مدت زمان انتقال هنگام جابجایی بین پنل‌ها در حالت پنل تکی (میلی‌ثانیه).",resetTooltip:"بازنشانی به پیش‌فرض"},autoSelectFirstFileOnFocusChange:{name:"انتخاب خودکار اولین یادداشت",desc:"هنگام تعویض پوشه‌ها، برچسب‌ها یا ویژگی‌ها به طور خودکار اولین یادداشت را باز کنید."},skipAutoScroll:{name:"غیرفعال کردن اسکرول خودکار برای میانبرها",desc:"هنگام کلیک روی آیتم‌ها در میانبرها پنل ناوبری را اسکرول نکنید."},autoExpandNavItems:{name:"باز کردن هنگام انتخاب",desc:"پوشه‌ها و برچسب‌ها را هنگام انتخاب باز کنید. در حالت پنل تکی، اولین انتخاب باز می‌کند، دومین انتخاب فایل‌ها را نمایش می‌دهد."},collapseOtherBranchesOnExpand:{name:"یک شاخه باز",desc:"هنگام باز کردن یک پوشه، برچسب یا ویژگی، شاخه‌های دیگر همان درخت را جمع کنید."},springLoadedFolders:{name:"گسترش هنگام کشیدن",desc:"پوشه‌ها و برچسب‌ها را هنگام قرار گرفتن روی آن‌ها در حین کشیدن گسترش دهید."},springLoadedFoldersInitialDelay:{name:"گسترش هنگام کشیدن: تأخیر گسترش اول",desc:"تأخیر قبل از گسترش اولین پوشه یا برچسب هنگام کشیدن (ثانیه)."},springLoadedFoldersSubsequentDelay:{name:"گسترش هنگام کشیدن: تأخیر گسترش‌های بعدی",desc:"تأخیر قبل از گسترش پوشه‌ها یا برچسب‌های بیشتر در همان عملیات کشیدن (ثانیه)."},navigationBanner:{name:"بنر ناوبری (پروفایل خزانه)",desc:"تصویری را بالای پنل ناوبری نمایش دهید. با پروفایل خزانه انتخابی تغییر می‌کند.",current:"بنر فعلی: {path}",chooseButton:"انتخاب تصویر"},pinNavigationBanner:{name:"سنجاق کردن بنر",desc:"سنجاق کردن بنر ناوبری بالای درخت ناوبری."},showShortcuts:{name:"نمایش میانبرها",desc:"بخش میانبرها را در پنل ناوبری نمایش دهید."},shortcutBadgeDisplay:{name:"نشان میانبر",desc:"چه چیزی در کنار میانبرها نمایش داده شود. از دستورات 'باز کردن میانبر 1-9' برای باز کردن مستقیم میانبرها استفاده کنید.",options:{index:"موقعیت (1-9)",count:"تعداد موارد",none:"هیچ"}},showRecentNotes:{name:"نمایش فایل‌های اخیر",desc:"بخش فایل‌های اخیر را در پنل ناوبری نمایش دهید."},hideRecentNotes:{name:"پنهان کردن انواع فایل از فایل‌های اخیر",desc:"انتخاب کنید کدام انواع فایل در بخش فایل‌های اخیر پنهان شوند.",options:{none:"هیچ‌کدام",folderNotes:"یادداشت‌های پوشه"}},recentNotesCount:{name:"تعداد فایل‌های اخیر",desc:"تعداد فایل‌های اخیر که نمایش داده می‌شوند."},pinRecentNotesWithShortcuts:{name:"سنجاق کردن فایل‌های اخیر با میانبرها",desc:"هنگام سنجاق کردن میانبرها، فایل‌های اخیر را نیز شامل شود."},calendarEnabled:{name:"فعال‌سازی تقویم",desc:"فعال‌سازی ویژگی‌های تقویم در Notebook Navigator."},calendarPlacement:{name:"محل قرارگیری تقویم",desc:"نمایش در نوار کناری راست یا چپ.",options:{leftSidebar:"نوار کناری راست",rightSidebar:"نوار کناری چپ"}},calendarLeftPlacement:{name:"جایگاه پنل تکی",desc:"محل نمایش تقویم در حالت پنل تکی.",options:{navigationPane:"پنل ناوبری",below:"زیر پنل‌ها"}},calendarLocale:{name:"زبان",desc:"قالب‌بندی تاریخ تقویم، شماره‌گذاری هفته و اولین روز هفته را کنترل می‌کند.",weekPathMismatchWarning:"تقویم قابل مشاهده و مسیرهای یادداشت‌های هفتگی از شروع‌های هفته یا شماره‌گذاری هفته متفاوتی استفاده می‌کنند.",options:{systemDefault:"پیش‌فرض"}},calendarWeekendDays:{name:"روزهای آخر هفته",desc:"نمایش روزهای آخر هفته با رنگ پس‌زمینه متفاوت.",options:{none:"هیچ",satSun:"شنبه و یکشنبه",friSat:"جمعه و شنبه",thuFri:"پنجشنبه و جمعه"}},calendarMonthHeadingFormat:{name:"قالب نام ماه",desc:"نام ماه کامل (ژانویه) یا کوتاه (ژانویه).",options:{full:"ژانویه (کامل)",short:"ژانویه (کوتاه)"}},showInfoButtons:{name:"نمایش دکمه‌های اطلاعات",desc:"نمایش دکمه‌های اطلاعات در نوار جستجو و سربرگ تقویم."},calendarWeeksToShow:{name:"هفته‌های نمایش در نوار کناری راست",desc:"تقویم در نوار کناری چپ همیشه ماه کامل را نمایش می‌دهد.",options:{fullMonth:"ماه کامل",oneWeek:"۱ هفته",weeksCount:"{count} هفته"}},calendarHighlightToday:{name:"برجسته کردن تاریخ امروز",desc:"برجسته کردن تاریخ امروز با رنگ پس‌زمینه و متن پررنگ."},calendarShowFeatureImage:{name:"نمایش تصویر شاخص",desc:"نمایش تصاویر شاخص یادداشت‌ها در تقویم."},calendarShowWeekNumber:{name:"نمایش شماره هفته",desc:"افزودن ستون شماره هفته."},calendarShowQuarter:{name:"نمایش فصل",desc:"افزودن برچسب فصل در سربرگ تقویم."},calendarShowYearCalendar:{name:"نمایش تقویم سالانه",desc:"نمایش ناوبری سال و شبکه ماه‌ها در نوار کناری سمت راست."},calendarConfirmBeforeCreate:{name:"تأیید قبل از ایجاد",desc:"نمایش پنجره تأیید هنگام ایجاد یادداشت روزانه جدید."},calendarIntegrationMode:{name:"منبع یادداشت روزانه",desc:"منبع یادداشت‌های تقویم.",options:{dailyNotes:"یادداشت‌های روزانه (پلاگین اصلی)",notebookNavigator:"Notebook Navigator"},info:{dailyNotes:"پوشه و قالب تاریخ در افزونه هسته یادداشت‌های روزانه پیکربندی شده‌اند."}},calendarPeriodicNotesLocale:{name:"زبان یادداشت‌های دوره‌ای",desc:"نام‌های ماه، روزهای هفته، شماره‌های هفته و شروع هفته به صورت محلی‌شده در مسیرهای یادداشت‌های دوره‌ای Notebook Navigator را کنترل می‌کند.",options:{calendar:"تقویم",obsidian:"Obsidian"}},calendarCustomRootFolder:{name:"پوشه ریشه",desc:"پوشه پایه برای یادداشت‌های دوره‌ای. الگوهای تاریخ می‌توانند شامل زیرپوشه‌ها باشند. با پروفایل صندوق انتخاب شده تغییر می‌کند.",placeholder:"Personal/Diary"},calendarTemplateFolder:{name:"محل پوشه قالب",desc:"انتخابگر فایل قالب یادداشت‌های این پوشه را نمایش می‌دهد.",placeholder:"Templates",usage:"برای یادداشت‌های تقویم و یادداشت‌های پوشه استفاده می‌شود. الگوها را در تقویم > یکپارچه‌سازی تقویم و پوشه‌ها و یادداشت‌های پوشه > فایل‌های یادداشت پوشه پیکربندی کنید."},calendarCustomFilePattern:{name:"یادداشت‌های روزانه",desc:"قالب‌بندی مسیر با استفاده از فرمت تاریخ Moment. نام زیرپوشه‌ها را در کروشه قرار دهید، مثال [Work]/YYYY. روی نماد قالب کلیک کنید تا قالب تنظیم شود. محل پوشه الگوها را در عملیات فایل > الگوها تنظیم کنید.",momentDescPrefix:"قالب‌بندی مسیر با استفاده از ",momentLinkText:"فرمت تاریخ Moment",momentDescSuffix:". نام زیرپوشه‌ها را در کروشه قرار دهید، مثال [Work]/YYYY. روی نماد قالب کلیک کنید تا قالب تنظیم شود. محل پوشه الگوها را در عملیات فایل > الگوها تنظیم کنید.",templaterSupportInstalled:"✅ افزونه Templater با پشتیبانی کامل از قالب‌ها نصب شده است.",templaterSupportMissing:"⚠️ برای پشتیبانی کامل از قالب‌ها، افزونه Templater را نصب کنید.",placeholder:"YYYY/YYYYMMDD",example:"نحوه نگارش فعلی: {path}",parsingError:"الگو باید بتواند به یک تاریخ کامل (سال، ماه، روز) قالب‌بندی شود و دوباره به همان تاریخ تجزیه شود."},calendarCustomWeekPattern:{name:"یادداشت‌های هفتگی",parsingError:"الگو باید بتواند به یک هفته کامل (سال هفته، شماره هفته) قالب‌بندی شود و دوباره تجزیه شود.",weekPathMismatchWarning:'مسیرهای یادداشت‌های هفتگی از زبان یادداشت‌های دوره‌ای استفاده می‌کنند. از زبان‌های مطابق استفاده کنید، یا از "GGGG" با "WW" برای هفته‌های مبتنی بر دوشنبه استفاده کنید.',mixedWeekTokensWarning:'این الگو توکن‌های هفته مبتنی بر دوشنبه ("W" یا "G") را با توکن‌های هفته مبتنی بر زبان ("w" یا "g") ترکیب می‌کند. به طور مداوم از یک مجموعه استفاده کنید: "GGGG" با "WW" برای هفته‌های مبتنی بر دوشنبه، یا "gggg" با "ww" اگر یادداشت‌های هفتگی باید از زبان انتخاب‌شده پیروی کنند.'},calendarCustomMonthPattern:{name:"یادداشت‌های ماهانه",parsingError:"الگو باید بتواند به یک ماه کامل (سال، ماه) قالب‌بندی شود و دوباره تجزیه شود."},calendarCustomQuarterPattern:{name:"یادداشت‌های فصلی",parsingError:"الگو باید بتواند به یک فصل کامل (سال، فصل) قالب‌بندی شود و دوباره تجزیه شود."},calendarCustomYearPattern:{name:"یادداشت‌های سالانه",parsingError:"الگو باید بتواند به یک سال کامل (سال) قالب‌بندی شود و دوباره تجزیه شود."},calendarTemplateFile:{current:"فایل قالب: {name}"},showTooltips:{name:"نمایش راهنماها",desc:"راهنماهای hover را با اطلاعات اضافی برای یادداشت‌ها و پوشه‌ها نمایش دهید."},showTooltipPath:{name:"نمایش مسیر در راهنماها",desc:"مسیر پوشه را زیر نام یادداشت در راهنماها نمایش دهید."},showTooltipWordCount:{name:"نمایش تعداد کلمات در راهنماها",desc:"تعداد کلمات یادداشت‌ها را در راهنماها نمایش دهید."},resetPaneSeparator:{name:"بازنشانی موقعیت جداکننده پنل",desc:"جداکننده قابل کشیدن بین پنل ناوبری و پنل لیست را به موقعیت پیش‌فرض بازنشانی کنید.",buttonText:"بازنشانی جداکننده",notice:"موقعیت جداکننده بازنشانی شد. اوبسیدین را ری‌استارت کنید یا Notebook Navigator را دوباره باز کنید."},settingsTransfer:{name:"وارد و صادر کردن تنظیمات",desc:"تنظیمات Notebook Navigator را به صورت JSON صادر یا وارد کنید. وارد کردن، همه تنظیمات را جایگزین می‌کند.",importButtonText:"وارد کردن",exportButtonText:"صادر کردن",import:{modalTitle:"وارد کردن تنظیمات",fileButtonName:"وارد کردن از فایل",fileButtonDesc:"یک فایل JSON را از دیسک بارگذاری کنید.",fileButtonText:"وارد کردن از فایل",editorName:"JSON",editorDesc:"JSON را در زیر جای‌گذاری یا ویرایش کنید. تنظیمات شامل‌نشده به مقدار پیش‌فرض بازنشانی می‌شوند.",placeholder:`{
  "folderSortOrder": "alpha-desc"
}`,confirmButtonText:"وارد کردن",successNotice:"تنظیمات وارد شد.",errorNotice:"وارد کردن تنظیمات ناموفق بود: {message}",fileReadError:"خواندن فایل ممکن نبود: {message}"},export:{modalTitle:"صادر کردن تنظیمات",editorName:"JSON",editorDesc:"فقط تنظیماتی که از پیش‌فرض تغییر کرده‌اند شامل می‌شوند.",placeholder:"{}",copyButtonText:"کپی به کلیپ‌بورد",downloadButtonText:"دانلود",copyNotice:"تنظیمات به کلیپ‌بورد کپی شد.",downloadNotice:"تنظیمات صادر شد.",downloadError:"صادر کردن تنظیمات ناموفق بود: {message}"}},resetAllSettings:{name:"بازنشانی همه تنظیمات",desc:"همه تنظیمات Notebook Navigator را به مقادیر پیش‌فرض بازنشانی کنید.",buttonText:"بازنشانی همه تنظیمات",confirmTitle:"بازنشانی همه تنظیمات؟",confirmMessage:"این کار همه تنظیمات Notebook Navigator را به مقادیر پیش‌فرض بازنشانی می‌کند. قابل برگشت نیست.",confirmButtonText:"بازنشانی همه تنظیمات",notice:"همه تنظیمات بازنشانی شد. اوبسیدین را ری‌استارت کنید یا Notebook Navigator را دوباره باز کنید.",error:"بازنشانی تنظیمات ناموفق بود"},multiSelectModifier:{name:"کلید تغییردهنده انتخاب چندگانه",desc:"کلید تغییردهنده‌ای که انتخاب چندگانه را فعال می‌کند را انتخاب کنید. وقتی Option/Alt انتخاب شود، کلیک Cmd/Ctrl یادداشت‌ها را در تب جدید باز می‌کند.",options:{cmdCtrl:"کلیک Cmd/Ctrl",optionAlt:"کلیک Option/Alt"}},enterToOpenFiles:{name:"فشار Enter برای باز کردن فایل‌ها",desc:"فایل‌ها فقط با فشار دادن Enter در هنگام پیمایش با صفحه‌کلید در لیست باز شوند. در macOS، این کار از تغییر نام فایل‌ها با Enter جلوگیری می‌کند."},shiftEnterOpenContext:{name:"Shift+Enter",desc:"انتخاب کنید که Shift+Enter فایل انتخاب‌شده را باز کند یا نام آن را تغییر دهد."},cmdEnterOpenContext:{name:"Cmd+Enter",desc:"انتخاب کنید که Cmd+Enter فایل انتخاب‌شده را باز کند یا نام آن را تغییر دهد."},ctrlEnterOpenContext:{name:"Ctrl+Enter",desc:"انتخاب کنید که Ctrl+Enter فایل انتخاب‌شده را باز کند یا نام آن را تغییر دهد."},mouseBackForwardAction:{name:"دکمه‌های عقب/جلو ماوس",desc:"عملکرد دکمه‌های عقب و جلو ماوس در دسکتاپ.",options:{none:"استفاده از پیش‌فرض سیستم",singlePaneSwitch:"تغییر پنل (تک‌پنل)",history:"پیمایش تاریخچه"}},fileVisibility:{name:"نمایش انواع فایل (پروفایل خزانه)",desc:"فیلتر کنید کدام انواع فایل در ناوبر نمایش داده شوند. انواع فایل پشتیبانی‌نشده توسط اوبسیدین ممکن است در برنامه‌های خارجی باز شوند.",options:{documents:"اسناد (.md, .canvas, .base)",supported:"پشتیبانی‌شده (در اوبسیدین باز می‌شود)",all:"همه (ممکن است خارجی باز شود)"}},homepage:{name:"صفحه اصلی",desc:"انتخاب کنید Notebook Navigator هنگام راه‌اندازی چه چیزی را به طور خودکار باز کند.",current:"فعلی: {path}",chooseButton:"انتخاب فایل",options:{none:"هیچ",file:"فایل",dailyNote:"یادداشت روزانه",weeklyNote:"یادداشت هفتگی",monthlyNote:"یادداشت ماهانه",quarterlyNote:"یادداشت فصلی",yearlyNote:"یادداشت سالانه"},file:{name:"صفحه اصلی: فایل راه‌اندازی",empty:"فایلی انتخاب نشده"},createMissing:{name:"صفحه اصلی: ایجاد یادداشت در صورت عدم وجود",desc:"در صورت عدم وجود، یادداشت دوره‌ای را هنگام راه‌اندازی یا با فرمان ایجاد می‌کند."}},excludedNotes:{name:"مخفی کردن یادداشت‌ها با قوانین ویژگی (پروفایل خزانه)",desc:"لیست قوانین فرانت‌متر جدا شده با کاما. از ورودی‌های `key` یا `key=value` استفاده کنید (مثل status=done, published=true, archived).",placeholder:"status=done, published=true, archived"},excludedFileNamePatterns:{name:"مخفی کردن فایل‌ها (پروفایل خزانه)",desc:"لیست الگوهای نام فایل جدا شده با کاما برای مخفی کردن. از علامت‌های عام * و مسیرهای / پشتیبانی می‌کند (مثل temp-*، *.png، /assets/*).",placeholder:"temp-*, *.png, /assets/*"},vaultProfiles:{name:"پروفایل خزانه",desc:"پروفایل‌ها نمایش انواع فایل، فایل‌های مخفی، پوشه‌های مخفی، برچسب‌های مخفی، قوانین ویژگی برای یادداشت‌های مخفی، میانبرها و بنر ناوبری را ذخیره می‌کنند. پروفایل‌ها را از هدر پنل ناوبری تعویض کنید.",defaultName:"پیش‌فرض",addButton:"افزودن پروفایل",editProfilesButton:"ویرایش پروفایل‌ها",addProfileOption:"افزودن پروفایل...",applyButton:"اعمال",deleteButton:"حذف پروفایل",addModalTitle:"افزودن پروفایل",editProfilesModalTitle:"ویرایش پروفایل‌ها",addModalPlaceholder:"نام پروفایل",deleteModalTitle:"حذف {name}",deleteModalMessage:"{name} حذف شود؟ فیلترهای فایل، پوشه، برچسب و یادداشت مبتنی بر ویژگی ذخیره‌شده در این پروفایل حذف می‌شوند.",moveUp:"انتقال به بالا",moveDown:"انتقال به پایین",errors:{emptyName:"نام پروفایل را وارد کنید",duplicateName:"نام پروفایل وجود دارد"}},vaultTitle:{name:"محل عنوان خزانه",desc:"انتخاب کنید عنوان خزانه کجا نمایش داده شود.",options:{header:"نمایش در سربرگ",navigation:"نمایش در پنل ناوبری"}},excludedFolders:{name:"مخفی کردن پوشه‌ها (پروفایل خزانه)",desc:"لیست پوشه‌های جدا شده با کاما برای مخفی کردن. الگوهای نام: assets* (پوشه‌های شروع‌شده با assets)، *_temp (پایان‌یافته با _temp). الگوهای مسیر: /archive (فقط archive اصلی)، /res* (پوشه‌های اصلی شروع‌شده با res)، /*/temp (پوشه‌های temp یک سطح عمیق)، /projects/* (همه پوشه‌های داخل projects).",placeholder:"قالب‌ها، assets*، /archive، /res*"},showFileDate:{name:"نمایش تاریخ",desc:"تاریخ را زیر نام یادداشت نمایش دهید."},alphabeticalDateMode:{name:"هنگام مرتب‌سازی بر اساس نام",desc:"تاریخی که هنگام مرتب‌سازی الفبایی یادداشت‌ها نمایش داده می‌شود.",options:{created:"تاریخ ایجاد",modified:"تاریخ تغییر"}},showFileTags:{name:"نمایش برچسب‌های فایل",desc:"برچسب‌های قابل کلیک را در آیتم‌های فایل نمایش دهید."},showFileTagAncestors:{name:"نمایش مسیرهای کامل برچسب",desc:"مسیرهای کامل سلسله‌مراتب برچسب را نمایش دهید. وقتی فعال: «ai/openai»، «کار/پروژه‌ها/۲۰۲۴». وقتی غیرفعال: «openai»، «۲۰۲۴»."},colorFileTags:{name:"رنگ‌آمیزی برچسب‌های فایل",desc:"رنگ‌های برچسب را به نشان‌های برچسب روی آیتم‌های فایل اعمال کنید."},prioritizeColoredFileTags:{name:"نمایش اول برچسب‌های رنگی",desc:"برچسب‌های رنگی را قبل از برچسب‌های دیگر روی آیتم‌های فایل مرتب کنید."},showFileTagsInCompactMode:{name:"نمایش برچسب‌های فایل در حالت فشرده",desc:"برچسب‌ها را هنگامی که تاریخ، پیش‌نمایش و تصویر مخفی هستند نمایش دهید."},showFileProperties:{name:"نمایش ویژگی‌های فایل",desc:"نمایش ویژگی‌ها در آیتم‌های فایل. از پنجره نمایش کلیدهای ویژگی برای انتخاب ویژگی‌های قابل نمایش استفاده کنید."},colorFileProperties:{name:"رنگ‌آمیزی ویژگی‌های فایل",desc:"رنگ‌های ویژگی را روی نشان‌های ویژگی در آیتم‌های فایل اعمال کنید."},prioritizeColoredFileProperties:{name:"نمایش ویژگی‌های رنگی در اولویت",desc:"ویژگی‌های رنگی را قبل از ویژگی‌های دیگر روی آیتم‌های فایل مرتب کنید."},showFilePropertiesInCompactMode:{name:"نمایش ویژگی‌ها در حالت فشرده",desc:"نمایش ویژگی‌ها هنگام فعال بودن حالت فشرده."},textCountDisplay:{name:"نوع شمارش",desc:"انتخاب کنید کدام شمارش‌های یادداشت در موارد فایل نمایش داده شوند.",options:{none:"هیچ‌کدام",words:"تعداد کلمات",characters:"تعداد نویسه‌ها",both:"تعداد کلمات و نویسه‌ها"}},textCountPlacement:{name:"جایگاه",desc:"انتخاب کنید شمارش‌های یادداشت کجا نمایش داده شوند.",options:{title:"در عنوان",property:"به‌عنوان ویژگی"}},characterCountSpaces:{name:"تعداد نویسه‌ها",desc:"انتخاب کنید فاصله‌ها در شمارش نویسه‌ها لحاظ شوند یا نه.",options:{include:"با فاصله‌ها",exclude:"بدون فاصله‌ها"}},wordCountTargetProperty:{name:"ویژگی هدف",desc:"کلید ویژگی فرانت‌متر که تعداد کلمات هدف را نگه می‌دارد. برای پنهان کردن هدف‌ها خالی بگذارید."},showWordCountPercentage:{name:"نمایش درصد هدف",desc:"وقتی تعداد کلمات هدف موجود است، فقط درصد پیشرفت را نمایش دهید."},propertyFields:{name:"کلیدهای ویژگی (پروفایل خزانه)",desc:"کلیدهای ویژگی فرانت‌متر، با قابلیت تنظیم نمایش هر کلید برای ناوبری و فهرست فایل.",addButtonTooltip:"پیکربندی کلیدهای ویژگی",noneConfigured:"هیچ ویژگی‌ای پیکربندی نشده",singleConfigured:"۱ ویژگی پیکربندی شده: {properties}",multipleConfigured:"{count} ویژگی پیکربندی شده: {properties}"},showPropertiesOnSeparateRows:{name:"نمایش ویژگی‌ها در ردیف‌های جداگانه",desc:"هر ویژگی را در ردیف جداگانه نمایش می‌دهد."},enablePropertyInternalLinks:{name:"پیوند نشان‌های ویژگی به یادداشت‌ها",desc:"روی نشان ویژگی کلیک کنید تا یادداشت مرتبط باز شود."},enablePropertyExternalLinks:{name:"پیوند نشان‌های ویژگی به نشانی‌ها",desc:"روی نشان ویژگی کلیک کنید تا نشانی مرتبط باز شود."},dateFormat:{name:"قالب تاریخ",desc:"قالب نمایش تاریخ‌ها (از قالب Moment استفاده می‌کند).",placeholder:"YYYY/MM/DD",help:`قالب‌های رایج:
YYYY/MM/DD = ۱۴۰۱/۰۵/۲۵
DD/MM/YYYY = ۲۵/۰۵/۲۰۲۲
YYYY-MM-DD = 2022-05-25

توکن‌ها:
YYYY/YY = سال
MMMM/MMM/MM = ماه
DD/D = روز
dddd/ddd = روز هفته`,helpTooltip:"قالب با استفاده از Moment",momentLinkText:"قالب Moment"},timeFormat:{name:"قالب زمان",desc:"قالب نمایش زمان‌ها (از قالب Moment استفاده می‌کند).",placeholder:"HH:mm",help:`قالب‌های رایج:
HH:mm = ۱۴:۳۰ (۲۴ ساعته)
h:mm a = 2:30 PM (۱۲ ساعته)
HH:mm:ss = ۱۴:۳۰:۴۵
h:mm:ss a = 2:30:45 PM

توکن‌ها:
HH/H = ۲۴ ساعته
hh/h = ۱۲ ساعته
mm = دقیقه
ss = ثانیه
a = صبح/عصر`,helpTooltip:"قالب با استفاده از Moment",momentLinkText:"قالب Moment"},showFilePreview:{name:"نمایش پیش‌نمایش یادداشت",desc:"متن پیش‌نمایش را زیر نام یادداشت نمایش دهید."},skipHeadingsInPreview:{name:"رد شدن از سرتیترها در پیش‌نمایش",desc:"هنگام تولید متن پیش‌نمایش از خطوط سرتیتر رد شوید."},skipCodeBlocksInPreview:{name:"رد شدن از بلوک‌های کد در پیش‌نمایش",desc:"هنگام تولید متن پیش‌نمایش از بلوک‌های کد رد شوید."},stripHtmlInPreview:{name:"حذف HTML از پیش‌نمایش‌ها",desc:"حذف تگ‌های HTML از متن پیش‌نمایش. ممکن است بر عملکرد در یادداشت‌های بزرگ تأثیر بگذارد."},stripLatexInPreview:{name:"حذف LaTeX از پیش‌نمایش‌ها",desc:"حذف عبارت‌های LaTeX درون‌خطی و بلوکی از متن پیش‌نمایش."},previewProperties:{name:"ویژگی‌های پیش‌نمایش",desc:"لیست ویژگی‌های فرانت‌متر جدا شده با کاما برای بررسی متن پیش‌نمایش. اولین ویژگی با متن استفاده می‌شود.",placeholder:"summary, description, abstract"},previewPropertiesFallback:{name:"بازگشت به محتوای یادداشت",desc:"نمایش محتوای یادداشت به عنوان پیش‌نمایش وقتی هیچ‌کدام از ویژگی‌های مشخص‌شده حاوی متن نیستند."},previewRows:{name:"ردیف‌های پیش‌نمایش",desc:"تعداد ردیف‌ها برای نمایش متن پیش‌نمایش.",options:{1:"۱ ردیف",2:"۲ ردیف",3:"۳ ردیف",4:"۴ ردیف",5:"۵ ردیف"}},fileNameRows:{name:"ردیف‌های عنوان",desc:"تعداد ردیف‌ها برای نمایش عناوین یادداشت.",options:{1:"۱ ردیف",2:"۲ ردیف",3:"۳ ردیف"}},useFolderColor:{name:"استفاده از رنگ پوشه",desc:"رنگ‌آمیزی عناوین یادداشت و آیکون‌های فایل با رنگ پوشه والد هنگامی که رنگ فایل سفارشی تنظیم نشده است. اولویت: رنگ فایل سفارشی > رنگ پوشه > رنگ پیش‌فرض."},showFeatureImage:{name:"نمایش تصویر ویژه",desc:"نمایش تصویر بندانگشتی از اولین تصویر موجود در یادداشت."},forceSquareFeatureImage:{name:"اجبار تصویر ویژه مربع",desc:"تصاویر ویژه را به صورت بندانگشتی مربع نمایش دهید."},featureImageProperties:{name:"ویژگی‌های تصویر",desc:"لیست ویژگی‌های فرانت‌متر جدا شده با کاما برای بررسی در ابتدا. در صورت عدم یافتن، از اولین تصویر در محتوای markdown استفاده می‌شود.",placeholder:"بندانگشتی، تصویر"},featureImageExcludeProperties:{name:"استثنای یادداشت‌ها با ویژگی‌ها",desc:"لیست ویژگی‌های فرانت‌متر جدا شده با کاما. یادداشت‌هایی که هر یک از این ویژگی‌ها را دارند، تصاویر ویژه را ذخیره نمی‌کنند.",placeholder:"private, confidential"},featureImageSize:{name:"اندازه نمایش تصویر شاخص",desc:"حداکثر اندازه رندر شده برای تصاویر شاخص در لیست یادداشت‌ها.",options:{standard:"64 px",large:"96 px",extraLarge:"128 px"}},featureImagePixelSize:{name:"اندازه پیکسل تصویر شاخص",desc:"وضوح تصویر هنگام تولید تصاویر بندانگشتی ذخیره‌شده تصویر شاخص. اگر پیش‌نمایش‌های بزرگ‌تر تار به نظر می‌رسند، این مقدار را افزایش دهید.",options:{standard:"256 x 144 px",large:"384 x 216 px",extraLarge:"512 x 288 px"}},downloadExternalFeatureImages:{name:"دانلود تصاویر خارجی",desc:"دانلود تصاویر از راه دور و تصاویر کوچک YouTube برای تصاویر ویژه."},hideDrawingPreviewImages:{name:"پنهان کردن تصاویر پیش‌نمایش صادر شده",desc:"پنهان کردن فایل‌های PNG پیش‌نمایش طراحی صادر شده. برای نمایش آن‌ها، «نمایش موارد پنهان» را روشن کنید."},drawingIntegrationInfo:{intro:"Notebook Navigator فایل‌های PNG صادر شده توسط Excalidraw را به‌عنوان پیش‌نمایش طراحی نمایش می‌دهد.",items:["در **تنظیمات Excalidraw**، **Embedding Excalidraw into your Notes and Exporting** را باز کنید، سپس **Export Settings**، سپس **Auto-export Settings**.","**Auto-export PNG** را فعال کنید. به‌صورت اختیاری **Export both dark- and light-themed image** را فعال کنید.","Notebook Navigator به دنبال **Drawing.excalidraw.png**، **Drawing.excalidraw.dark.png** یا **Drawing.excalidraw.light.png** می‌گردد.","هنگامی که **پنهان کردن تصاویر پیش‌نمایش صادر شده** روشن است، فایل‌های PNG فقط زمانی نمایش داده می‌شوند که **نمایش موارد پنهان** نیز روشن باشد."]},showRootFolder:{name:"نمایش پوشه اصلی",desc:"نام خزانه را به عنوان پوشه اصلی در درخت نمایش دهید."},showFolderIcons:{name:"نمایش آیکون‌های پوشه",desc:"آیکون‌ها را کنار پوشه‌ها در پنل ناوبری نمایش دهید."},inheritFolderColors:{name:"ارث‌بری رنگ‌های پوشه",desc:"پوشه‌های فرزند رنگ را از پوشه‌های والد به ارث می‌برند."},folderSortOrder:{name:"ترتیب مرتب‌سازی پوشه",desc:"روی هر پوشه‌ای کلیک راست کنید تا ترتیب مرتب‌سازی متفاوتی برای زیرمجموعه‌هایش تنظیم کنید.",options:{alphaAsc:"الف تا ی",alphaDesc:"ی تا الف"}},showNoteCount:{name:"نمایش تعداد یادداشت",desc:"تعداد یادداشت‌ها را کنار پوشه‌ها، برچسب‌ها و ویژگی‌ها نمایش دهید."},showSectionIcons:{name:"نمایش آیکون برای میانبرها و آیتم‌های اخیر",desc:"آیکون‌ها را در کنار آیتم‌ها در بخش‌های میانبرها و اخیر نمایش دهید."},interfaceIcons:{name:"آیکون‌های رابط کاربری",desc:"ویرایش آیکون‌های نوار ابزار، پوشه، برچسب، ویژگی، سنجاق شده، جستجو و مرتب‌سازی.",buttonText:"ویرایش آیکون‌ها"},showIconsColorOnly:{name:"اعمال رنگ فقط به آیکون‌ها",desc:"وقتی فعال، رنگ‌های سفارشی فقط به آیکون‌ها اعمال می‌شوند. وقتی غیرفعال، رنگ‌ها به آیکون‌ها و برچسب‌های متن اعمال می‌شوند."},navRainbowMode:{name:"حالت رنگ‌های رنگین‌کمان (پروفایل خزانه)",desc:"اعمال رنگ‌های رنگین‌کمان در پنل ناوبری.",options:{none:"خاموش",foreground:"رنگ متن",background:"رنگ پس‌زمینه"}},navRainbowFirstColor:{name:"رنگ اول",desc:"رنگ اول در گرادیان رنگین‌کمان."},navRainbowLastColor:{name:"رنگ آخر",desc:"رنگ آخر در گرادیان رنگین‌کمان."},navRainbowTransitionStyle:{name:"سبک انتقال",desc:"درون‌یابی استفاده‌شده بین رنگ اول و آخر.",options:{hue:"فام",rgb:"RGB"}},navRainbowApplyToShortcuts:{name:"اعمال بر میانبرها",desc:"اعمال رنگ‌های رنگین‌کمان بر میانبرها."},navRainbowApplyToRecent:{name:"اعمال بر موارد اخیر",desc:"اعمال رنگ‌های رنگین‌کمان بر موارد اخیر."},navRainbowApplyToFolders:{name:"اعمال بر پوشه‌ها",desc:"اعمال رنگ‌های رنگین‌کمان بر پوشه‌ها."},navRainbowFolderScope:{name:"محدوده پوشه‌ها",desc:"انتخاب سطوح پوشه‌ای که تخصیص رنگ از آن‌ها شروع می‌شود.",options:{root:"سطح ریشه",child:"سطح فرزند",all:"هر سطح"}},navRainbowApplyToTags:{name:"اعمال بر برچسب‌ها",desc:"اعمال رنگ‌های رنگین‌کمان بر برچسب‌ها."},navRainbowTagScope:{name:"محدوده برچسب‌ها",desc:"انتخاب سطوح برچسبی که تخصیص رنگ از آن‌ها شروع می‌شود.",options:{root:"سطح ریشه",child:"سطح فرزند",all:"هر سطح"}},navRainbowApplyToProperties:{name:"اعمال بر ویژگی‌ها",desc:"اعمال رنگ‌های رنگین‌کمان بر ویژگی‌ها."},navRainbowBalanceHueLuminance:{name:"روشنایی یکنواخت در بین رنگ‌ها",desc:"روشنایی را بین رنگ‌های شروع و پایان در طول انتقال‌های رنگی درون‌یابی می‌کند."},navRainbowSeparateThemeColors:{name:"جداسازی رنگ‌های حالت روشن و تاریک",desc:"استفاده از رنگ‌های رنگین‌کمان متفاوت برای حالت روشن و حالت تاریک."},navRainbowCopyLightToDark:"کپی رنگ حالت روشن به حالت تاریک",navRainbowPropertyScope:{name:"محدوده ویژگی‌ها",desc:"انتخاب سطوح ویژگی که تخصیص رنگ از آن‌ها شروع می‌شود.",options:{root:"سطح ریشه",child:"سطح فرزند",all:"هر سطح"}},collapseBehavior:{name:"جمع کردن آیتم‌ها",desc:"انتخاب کنید دکمه باز/بسته کردن همه چه چیزی را تحت تأثیر قرار دهد.",options:{all:"همه",foldersOnly:"فقط پوشه‌ها",tagsOnly:"فقط برچسب‌ها",propertiesOnly:"فقط ویژگی‌ها"}},smartCollapse:{name:"باز نگه داشتن آیتم انتخابی",desc:"هنگام جمع کردن، آیتم انتخابی و والدین آن را باز نگه دارید."},excludeVaultRootFromCollapse:{name:"نادیده گرفتن ریشه خزانه هنگام جمع کردن",desc:"هنگام جمع کردن همه آیتم‌ها، پوشه ریشه خزانه را در وضعیت فعلی نگه دارید."},navIndent:{name:"تورفتگی درخت",desc:"عرض تورفتگی را برای پوشه‌ها، برچسب‌ها و ویژگی‌های تودرتو تنظیم کنید (پیکسل)."},navItemHeight:{name:"ارتفاع آیتم",desc:"ارتفاع پوشه‌ها، برچسب‌ها و ویژگی‌ها را در پنل ناوبری تنظیم کنید (پیکسل)."},navItemHeightScaleText:{name:"مقیاس‌بندی متن با ارتفاع آیتم",desc:"اندازه متن ناوبری را هنگام کاهش ارتفاع آیتم کاهش دهید."},showIndentGuides:{name:"نمایش خطوط راهنمای تورفتگی",desc:"نمایش خطوط راهنمای تورفتگی برای پوشه‌ها، برچسب‌ها و ویژگی‌های تودرتو."},navCountLeaderStyle:{name:"نمایش نشانه‌های اتصال",desc:"نمایش نقطه، خط تیره یا یک خط بین نام موارد و تعداد یادداشت‌ها.",options:{none:"هیچ",dots:"نقطه (...)",dashes:"خط تیره (---)",line:"خط"}},navRootSpacing:{name:"فاصله آیتم اصلی",desc:"فاصله بین پوشه‌ها، برچسب‌ها و ویژگی‌های سطح اصلی (پیکسل)."},showTags:{name:"نمایش برچسب‌ها",desc:"بخش برچسب‌ها را در ناوبر نمایش دهید."},showTagIcons:{name:"نمایش آیکون‌های برچسب",desc:"آیکون‌ها را کنار برچسب‌ها در پنل ناوبری نمایش دهید."},inheritTagColors:{name:"ارث‌بری رنگ برچسب‌ها",desc:"برچسب‌های فرزند رنگ را از برچسب‌های والد به ارث می‌برند."},tagSortOrder:{name:"ترتیب مرتب‌سازی برچسب",desc:"روی هر برچسبی کلیک راست کنید تا ترتیب مرتب‌سازی متفاوتی برای زیرمجموعه‌هایش تنظیم کنید.",options:{alphaAsc:"الف تا ی",alphaDesc:"ی تا الف",frequency:"فراوانی",lowToHigh:"کم به زیاد",highToLow:"زیاد به کم"}},showAllTagsFolder:{name:"نمایش پوشه برچسب‌ها",desc:'"برچسب‌ها" را به عنوان پوشه قابل جمع‌شدن نمایش دهید.'},showUntagged:{name:"نمایش یادداشت‌های بدون برچسب",desc:'آیتم "بدون برچسب" را برای یادداشت‌های بدون برچسب نمایش دهید.'},scopeTagsToCurrentContext:{name:"فیلتر برچسب‌ها بر اساس انتخاب",desc:"فقط برچسب‌هایی را نشان دهید که در یادداشت‌های پوشه یا ویژگی انتخاب‌شده وجود دارند."},keepEmptyTagsProperty:{name:"حفظ ویژگی برچسب‌ها بعد از حذف آخرین برچسب",desc:"ویژگی برچسب‌های فرانت‌متر را هنگام حذف همه برچسب‌ها حفظ کنید. وقتی غیرفعال، ویژگی برچسب‌ها از فرانت‌متر حذف می‌شود."},showProperties:{name:"نمایش ویژگی‌ها",desc:"نمایش بخش ویژگی‌ها در ناوبر.",propertyKeysInfoPrefix:"پیکربندی ویژگی‌ها در ",propertyKeysInfoLinkText:"شروع > کلیدهای ویژگی",propertyKeysInfoSuffix:""},showPropertyIcons:{name:"نمایش نمادهای ویژگی",desc:"نمایش نمادها در کنار ویژگی‌ها در پنل ناوبری."},inheritPropertyColors:{name:"ارث‌بری رنگ‌های ویژگی",desc:"مقادیر ویژگی رنگ و پس‌زمینه را از کلید ویژگی به ارث می‌برند."},propertySortOrder:{name:"ترتیب مرتب‌سازی ویژگی‌ها",desc:"برای تنظیم ترتیب مرتب‌سازی متفاوت برای مقادیر هر ویژگی، روی آن راست‌کلیک کنید.",options:{alphaAsc:"الف تا ی",alphaDesc:"ی تا الف",frequency:"فراوانی",lowToHigh:"کم به زیاد",highToLow:"زیاد به کم"}},showAllPropertiesFolder:{name:"نمایش پوشه ویژگی‌ها",desc:'نمایش "ویژگی‌ها" به عنوان پوشه جمع‌شدنی.'},scopePropertiesToCurrentContext:{name:"فیلتر ویژگی‌ها بر اساس انتخاب",desc:"فقط ویژگی‌هایی را نشان دهید که در یادداشت‌های پوشه یا برچسب انتخاب‌شده وجود دارند."},hiddenTags:{name:"مخفی کردن برچسب‌ها (پروفایل خزانه)",desc:"لیست الگوهای برچسب جدا شده با کاما. الگوهای نام: tag* (شروع با)، *tag (پایان با). الگوهای مسیر: archive (برچسب و فرزندان)، archive/* (فقط فرزندان)، projects/*/drafts (wildcard میانی).",placeholder:"archive*, *draft, projects/*/old"},hiddenFileTags:{name:"مخفی کردن یادداشت‌ها با برچسب‌ها (پروفایل خزانه)",desc:"Comma-separated list of tag patterns. Notes containing matching tags are hidden. Name patterns: tag* (starting with), *tag (ending with). Path patterns: archive (tag and descendants), archive/* (descendants only), projects/*/drafts (mid-segment wildcard).",placeholder:"archive*, *draft, projects/*/old"},enableFolderNotes:{name:"فعال کردن یادداشت‌های پوشه",desc:"پوشه‌هایی که فایل یادداشت منطبق دارند به صورت پیوندهای قابل کلیک نمایش داده می‌شوند."},folderNoteType:{name:"نوع پیش‌فرض یادداشت پوشه",desc:"نوع یادداشت پوشه ایجاد شده از منوی راست‌کلیک.",options:{ask:"سؤال هنگام ایجاد",markdown:"مارک‌داون",canvas:"بوم",base:"پایگاه"}},folderNoteName:{name:"نام یادداشت پوشه",desc:"نام یادداشت پوشه بدون پسوند. برای استفاده از نام پوشه خالی بگذارید.",placeholder:"index"},folderNoteNamePattern:{name:"الگوی نام یادداشت پوشه",desc:"الگوی نام یادداشت پوشه بدون پسوند. از {{folder}} برای درج نام پوشه استفاده کنید. در صورت تنظیم، نام یادداشت پوشه اعمال نمی‌شود."},folderNoteTemplate:{name:"الگوی یادداشت پوشه",desc:"فایل الگویی که هنگام ایجاد یادداشت‌های پوشه استفاده می‌شود. الگوهای Markdown می‌توانند از Templater استفاده کنند. الگوهای Canvas و Base به‌عنوان محتوای فایل کپی می‌شوند. محل پوشه الگوها را در عملیات فایل > الگوها تنظیم کنید.",formatWarning:"قالب الگو باید با نوع یادداشت پوشه انتخاب‌شده مطابقت داشته باشد: .md، .canvas یا .base."},enableFolderNoteLinks:{name:"نام پوشه‌ها یادداشت‌های پوشه را باز می‌کند",desc:"کلیک روی نام پوشه، یادداشت پوشه آن را باز می‌کند. در صورت غیرفعال بودن، یادداشت‌های پوشه فقط فراداده پوشه مانند نام، آیکون و رنگ را ارائه می‌دهند."},hideFolderNoteInList:{name:"مخفی کردن یادداشت پوشه در لیست",desc:"مخفی کردن یادداشت‌های پوشه از نمایش در لیست فایل‌ها."},pinCreatedFolderNote:{name:"سنجاق کردن یادداشت‌های پوشه ایجاد شده",desc:"سنجاق کردن یادداشت‌های پوشه هنگام ایجاد از منوی زمینه."},folderNoteOpenLocation:{name:"باز کردن یادداشت‌های پوشه در",desc:"انتخاب کنید یادداشت‌های پوشه هنگام کلیک روی پیوندهای یادداشت پوشه کجا باز شوند.",options:{currentTab:"تب فعلی",newTab:"تب جدید",rightSidebar:"نوار کناری راست"}},showNearestFolderNoteInSidebar:{name:"نوار کناری راست: نمایش نزدیک‌ترین یادداشت پوشه",desc:"وقتی پوشه‌ای انتخاب می‌شود، نوار کناری راست به‌طور خودکار نزدیک‌ترین یادداشت پوشه والد را نشان می‌دهد."},confirmBeforeDelete:{name:"تأیید قبل از حذف",desc:"هنگام حذف یادداشت‌ها یا پوشه‌ها گفتگوی تأیید نمایش دهید"},deleteAttachments:{name:"حذف پیوست‌ها هنگام حذف فایل‌ها",desc:"حذف خودکار پیوست‌های مرتبط و پیش‌نمایش‌های طراحی تولیدشده در صورتی که در جای دیگری استفاده نمی‌شوند",options:{ask:"هر بار بپرس",always:"همیشه",never:"هرگز"}},moveFileConflicts:{name:"تعارضات انتقال",desc:"هنگام انتقال فایل به پوشه‌ای که فایلی با همان نام وجود دارد. هر بار بپرسید (تغییر نام، بازنویسی، لغو) یا همیشه تغییر نام دهید.",options:{ask:"هر بار بپرسید",rename:"همیشه تغییر نام"}},metadataCleanup:{name:"پاکسازی متادیتا",desc:"متادیتای یتیم را که هنگام حذف، انتقال یا تغییر نام فایل‌ها، پوشه‌ها، برچسب‌ها یا ویژگی‌ها خارج از اوبسیدین باقی مانده حذف می‌کند. این فقط فایل تنظیمات Notebook Navigator را تحت تأثیر قرار می‌دهد.",buttonText:"پاکسازی متادیتا",error:"پاکسازی تنظیمات ناموفق بود",loading:"بررسی متادیتا...",statusClean:"متادیتایی برای پاکسازی نیست",statusCounts:"آیتم‌های یتیم: {folders} پوشه، {tags} برچسب، {properties} ویژگی، {files} فایل، {pinned} سنجاق، {separators} جداکننده"},rebuildCache:{name:"بازسازی کش",desc:"اگر برچسب‌های گمشده، پیش‌نمایش‌های نادرست یا تصاویر ویژه گمشده دارید از این استفاده کنید. این می‌تواند بعد از تداخل‌های همگام‌سازی یا بسته‌شدن‌های غیرمنتظره اتفاق بیفتد.",buttonText:"بازسازی کش",error:"بازسازی کش ناموفق بود",indexingTitle:"در حال نمایه‌سازی خزانه...",progress:"Notebook Navigator در حال به‌روزرسانی کش است."},externalIcons:{downloadButton:"دانلود",downloadingLabel:"در حال دانلود...",removeButton:"حذف",statusInstalled:"دانلود شده (نسخه {version})",statusNotInstalled:"دانلود نشده",versionUnknown:"ناشناخته",downloadFailed:"دانلود {name} ناموفق بود. اتصال خود را بررسی کنید و دوباره تلاش کنید.",removeFailed:"حذف {name} ناموفق بود.",infoNote:"بسته‌های آیکون دانلود شده وضعیت نصب را بین دستگاه‌ها همگام می‌کنند. بسته‌های آیکون در پایگاه داده محلی هر دستگاه می‌مانند؛ همگام‌سازی فقط پیگیری می‌کند آیا دانلود یا حذف شوند. بسته‌های آیکون از مخزن Notebook Navigator دانلود می‌شوند (https://github.com/johansan/notebook-navigator/tree/main/icon-assets)."},useFrontmatterDates:{name:"استفاده از متادیتای فرانت‌متر",desc:"از فرانت‌متر برای نام یادداشت، زمان‌ها، آیکون‌ها و رنگ‌ها استفاده کنید"},frontmatterIconField:{name:"فیلد آیکون",desc:"فیلد فرانت‌متر برای آیکون‌های فایل. برای استفاده از آیکون‌های ذخیره‌شده در تنظیمات خالی بگذارید.",placeholder:"icon"},frontmatterColorField:{name:"فیلد رنگ",desc:"فیلد فرانت‌متر برای رنگ‌های فایل. برای استفاده از رنگ‌های ذخیره‌شده در تنظیمات خالی بگذارید.",placeholder:"color"},frontmatterBackgroundField:{name:"فیلد پس‌زمینه",desc:"فیلد فرانت‌متر برای رنگ‌های پس‌زمینه. برای استفاده از رنگ‌های پس‌زمینه ذخیره‌شده در تنظیمات خالی بگذارید.",placeholder:"background"},frontmatterMigration:{name:"مهاجرت آیکون‌ها و رنگ‌ها از تنظیمات",desc:"ذخیره‌شده در تنظیمات: {icons} آیکون، {colors} رنگ.",button:"مهاجرت",buttonWorking:"در حال مهاجرت...",noticeNone:"آیکون یا رنگ فایلی در تنظیمات ذخیره نشده است.",noticeDone:"{migratedIcons}/{icons} آیکون، {migratedColors}/{colors} رنگ مهاجرت شد.",noticeFailures:"ورودی‌های ناموفق: {failures}.",noticeError:"مهاجرت ناموفق بود. کنسول را برای جزئیات بررسی کنید."},frontmatterNameField:{name:"فیلدهای نام",desc:"لیست فیلدهای فرانت‌متر جداشده با کاما. اولین مقدار غیرخالی استفاده می‌شود. به نام فایل برمی‌گردد.",placeholder:"title, name"},frontmatterCreatedField:{name:"فیلد زمان ایجاد",desc:"نام فیلد فرانت‌متر برای زمان ایجاد. برای استفاده فقط از تاریخ سیستم فایل خالی بگذارید.",placeholder:"created"},frontmatterModifiedField:{name:"فیلد زمان تغییر",desc:"نام فیلد فرانت‌متر برای زمان تغییر. برای استفاده فقط از تاریخ سیستم فایل خالی بگذارید.",placeholder:"modified"},frontmatterDateFormat:{name:"قالب زمان",desc:"قالب استفاده‌شده برای تجزیه زمان‌ها در فرانت‌متر. برای استفاده از تجزیه ISO 8601 خالی بگذارید.",helpTooltip:"قالب با استفاده از Moment",momentLinkText:"قالب Moment",help:`قالب‌های رایج:
YYYY-MM-DD[T]HH:mm:ss → 2025-01-04T14:30:45
YYYY-MM-DD[T]HH:mm:ssZ → 2025-08-07T16:53:39+02:00
DD/MM/YYYY HH:mm:ss → 04/01/2025 14:30:45
MM/DD/YYYY h:mm:ss a → 01/04/2025 2:30:45 PM`},supportDevelopment:{name:"حمایت از توسعه",desc:"اگر از استفاده از Notebook Navigator لذت می‌برید، لطفاً حمایت از توسعه مداوم آن را در نظر بگیرید.",buttonText:"❤️ حمایت مالی",coffeeButton:"☕️ یک قهوه مهمانم کن"},updateCheckOnStart:{name:"بررسی نسخه جدید هنگام شروع",desc:"هنگام شروع نسخه‌های جدید افزونه را بررسی می‌کند و هنگام در دسترس بودن به‌روزرسانی اعلان نمایش می‌دهد. بررسی‌ها حداکثر روزی یک بار انجام می‌شوند.",status:"نسخه جدید موجود: {version}"},debugLogging:{name:"ثبت اشکال‌زدایی راه‌اندازی",desc:"تشخیص‌های راه‌اندازی را در یک فایل Markdown زمان‌دار در ریشه خزانه می‌نویسد و پس از پایدار شدن راه‌اندازی متوقف می‌شود. فایل ممکن است همگام‌سازی شود و می‌تواند مسیرهای فایل را شامل شود."},whatsNew:{name:"چه چیزی جدید است در Notebook Navigator {version}",desc:"به‌روزرسانی‌ها و بهبودهای اخیر را ببینید",buttonText:"مشاهده به‌روزرسانی‌های اخیر"},masteringVideo:{name:"تسلط بر Notebook Navigator (ویدیو)",desc:"این ویدیو تمام آنچه برای کار بهره‌ور با Notebook Navigator نیاز دارید را پوشش می‌دهد، از جمله میانبرهای صفحه‌کلید، جستجو، برچسب‌ها و سفارشی‌سازی پیشرفته."},cacheStatistics:{localCache:"کش محلی",items:"آیتم",withTags:"با برچسب",withPreviewText:"با متن پیش‌نمایش",withFeatureImage:"با تصویر ویژه",withMetadata:"با متادیتا"},metadataInfo:{successfullyParsed:"با موفقیت تجزیه شد",itemsWithName:"آیتم با نام",withCreatedDate:"با تاریخ ایجاد",withModifiedDate:"با تاریخ تغییر",withIcon:"با آیکون",withColor:"با رنگ",failedToParse:"تجزیه ناموفق بود",createdDates:"تاریخ‌های ایجاد",modifiedDates:"تاریخ‌های تغییر",checkTimestampFormat:"قالب زمان خود را بررسی کنید.",exportFailed:"صادر کردن خطاها"}}},whatsNew:{title:"چه چیزی جدید است در Notebook Navigator",openBannerImage:"باز کردن تصویر بنر انتشار",supportMessage:"اگر Notebook Navigator را مفید می‌دانید، لطفاً حمایت از توسعه آن را در نظر بگیرید.",supportButton:"یک قهوه مهمانم کن",thanksButton:"ممنون!"}}});var R1={};In(R1,{STRINGS_FR:()=>Wie});var Wie,D1=U(()=>{Wie={common:{cancel:"Annuler",delete:"Supprimer",clear:"Effacer",remove:"Supprimer",restoreDefault:"Restaurer la valeur par défaut",submit:"Soumettre",save:"Enregistrer",configure:"Configurer",lightMode:"Mode clair",darkMode:"Mode sombre",noSelection:"Aucune sélection",untagged:"Sans étiquette",featureImageAlt:"Image vedette",unknownError:"Erreur inconnue",clipboardWriteError:"Impossible d'écrire dans le presse-papiers",updateBannerTitle:"Mise à jour Notebook Navigator disponible",updateBannerInstruction:"Mettre à jour dans Paramètres -> Extensions communautaires",previous:"Précédent",next:"Suivant"},listPane:{emptyStateNoSelection:"Sélectionnez un dossier ou une étiquette pour afficher les notes",emptyStateNoNotes:"Aucune note",pinnedSection:"Épinglées",notesSection:"Notes",filesSection:"Fichiers",hiddenItemAriaLabel:"{name} (masqué)",collapseGroup:"Réduire le groupe",expandGroup:"Développer le groupe",manualSortTitle:"Tri manuel : {property}",manualSortHint:"Glissez pour réorganiser. L'ordre est enregistré sous forme de valeurs numériques dans la propriété « {property} ».",manualSortNonMarkdownHint:"Les fichiers non Markdown sont affichés en bas et ne peuvent pas être réorganisés.",unsortedSection:"Non trié",manualSortDone:"Terminé",manualSortMultipleWriteFailure:"{count} fichiers ont échoué ; premier : {path} : {message}"},tagList:{untaggedLabel:"Sans étiquette",tags:"Étiquettes"},navigationPane:{shortcutsHeader:"Raccourcis",recentFilesHeader:"Fichiers récents",properties:"Propriétés",reorderRootFoldersTitle:"Réorganiser la navigation",reorderRootFoldersHint:"Utilisez les flèches ou glissez pour réorganiser",vaultRootLabel:"Coffre",resetRootToAlpha:"Réinitialiser l'ordre alphabétique",resetRootToFrequency:"Réinitialiser selon la fréquence",pinShortcuts:"Épingler les raccourcis",pinShortcutsAndRecentFiles:"Épingler les raccourcis et fichiers récents",unpinShortcuts:"Détacher les raccourcis",unpinShortcutsAndRecentFiles:"Détacher les raccourcis et fichiers récents",profileMenuAria:"Changer le profil du coffre"},navigationCalendar:{ariaLabel:"Calendrier",dailyNotesNotEnabled:"Le plugin de notes quotidiennes n'est pas activé.",createDailyNote:{title:"Nouvelle note quotidienne",message:"Le fichier {filename} n'existe pas. Voulez-vous le créer ?",confirmButton:"Créer"},helpModal:{title:"Raccourcis du calendrier",items:["Cliquez sur un jour pour ouvrir ou créer une note quotidienne. Les semaines, mois, trimestres et années fonctionnent de la même manière.","Un point plein sous un jour signifie qu'il a une note. Un point creux signifie qu'il a des tâches inachevées.","Si une note a une image mise en avant, elle apparaît en arrière-plan du jour."],dateFilterCmdCtrl:"`Cmd/Ctrl`+clic sur une date pour filtrer par cette date dans la liste des fichiers.",dateFilterOptionAlt:"`Option/Alt`+clic sur une date pour filtrer par cette date dans la liste des fichiers."}},dailyNotes:{templateReadFailed:"Échec de la lecture du modèle de note quotidienne.",createFailed:"Impossible de créer la note quotidienne."},shortcuts:{folderExists:"Le dossier est déjà dans les raccourcis",noteExists:"La note est déjà dans les raccourcis",tagExists:"L'étiquette est déjà dans les raccourcis",propertyExists:"Propriété déjà dans les raccourcis",invalidProperty:"Raccourci de propriété invalide",searchExists:"Le raccourci de recherche existe déjà",emptySearchQuery:"Entrez une requête de recherche avant de l'enregistrer",emptySearchName:"Entrez un nom avant d'enregistrer la recherche",add:"Ajouter aux raccourcis",addNotesCount:"Ajouter {count} notes aux raccourcis",addFilesCount:"Ajouter {count} fichiers aux raccourcis",rename:"Renommer le raccourci",remove:"Retirer des raccourcis",removeAll:"Supprimer tous les raccourcis",removeAllConfirm:"Supprimer tous les raccourcis ?",folderNotesPinned:"{count} notes de dossier épinglées"},paneHeader:{collapseAllFolders:"Replier les éléments",expandAllFolders:"Déplier tous les éléments",showCalendar:"Afficher le calendrier",hideCalendar:"Masquer le calendrier",newFolder:"Nouveau dossier",newNote:"Nouvelle note",mobileBackToNavigation:"Retour à la navigation",changeChildSortOrder:"Changer l'ordre de tri",changeSortAndGroup:"Changer le tri et le regroupement",resetViewToDefaults:"Réinitialiser la vue aux valeurs par défaut",manualSort:"Tri manuel",editSortOrder:"Modifier l'ordre de tri...",removeSortProperty:"Supprimer la propriété de tri",descendants:"descendants",subfolders:"sous-dossiers",subtags:"sous-étiquettes",childValues:"valeurs enfants",applySortAndGroupToDescendants:t=>`Appliquer le tri et le regroupement aux ${t}`,applyAppearanceToDescendants:t=>`Appliquer l'apparence aux ${t}`,showFolders:"Afficher la navigation",reorderRootFolders:"Réorganiser la navigation",finishRootFolderReorder:"Terminé",showExcludedItems:"Afficher les dossiers, étiquettes et notes masqués",hideExcludedItems:"Masquer les dossiers, étiquettes et notes masqués",showDualPane:"Afficher les panneaux doubles",showSinglePane:"Afficher panneau unique",dualPaneAutoFallbackNotice:"Les deux panneaux ne sont pas disponibles lorsque la barre latérale est trop étroite. Pour modifier cela, réglez « Lorsque la barre latérale est trop étroite » sur « Ne rien faire » dans Paramètres > Apparence et comportement.",changeAppearance:"Changer l'apparence",showNotesFromSubfolders:"Afficher les notes des sous-dossiers",showFilesFromSubfolders:"Afficher les fichiers des sous-dossiers",showNotesFromDescendants:"Afficher les notes des descendants",showFilesFromDescendants:"Afficher les fichiers des descendants",search:"Rechercher"},searchInput:{placeholder:"Rechercher...",placeholderOmnisearch:"Omnisearch...",clearSearch:"Effacer la recherche",switchToFilterSearch:"Passer à la recherche par filtre",switchToOmnisearch:"Passer à Omnisearch",saveSearchShortcut:"Ajouter la recherche aux raccourcis",removeSearchShortcut:"Retirer la recherche des raccourcis",shortcutModalTitle:"Enregistrer la recherche",shortcutNamePlaceholder:"Saisir le nom du raccourci",shortcutStartIn:"Toujours démarrer dans : {path}",searchHelp:"Syntaxe de recherche",searchHelpTitle:"Syntaxe de recherche",searchHelpModal:{intro:"Combinez noms de fichiers, propriétés, étiquettes, dates et filtres dans une requête (ex. `meeting .status=active #work @thisweek`). Installez le plugin Omnisearch pour utiliser la recherche plein texte.",introSwitching:"Basculez entre la recherche par filtre et Omnisearch avec les touches fléchées haut/bas ou en cliquant sur l'icône de recherche.",sections:{fileNames:{title:"Noms de fichiers",items:['`word` Trouver les notes avec "word" dans le nom de fichier.',"`word1 word2` Chaque mot doit correspondre au nom de fichier.",'`-word` Exclure les notes avec "word" dans le nom de fichier.']},tags:{title:"Étiquettes",items:["`#tag` Inclure les notes avec l'étiquette (correspond aussi aux étiquettes imbriquées comme `#tag/subtag`).","`#` Inclure uniquement les notes étiquetées.","`-#tag` Exclure les notes avec l'étiquette.","`-#` Inclure uniquement les notes sans étiquettes.","`#tag1 #tag2` Correspondre aux deux étiquettes (AND implicite).","`#tag1 AND #tag2` Correspondre aux deux étiquettes (AND explicite).","`#tag1 OR #tag2` Correspondre à l'une des étiquettes.","`#a OR #b AND #c` AND a une priorité plus élevée : correspond à `#a`, ou aux deux `#b` et `#c`.","Cmd/Ctrl+Clic sur une étiquette pour ajouter avec AND. Cmd/Ctrl+Shift+Clic pour ajouter avec OR."]},properties:{title:"Propriétés",items:["`.key` Inclure les notes avec une clé de propriété.","`.key=value` Inclure les notes dont la valeur de propriété contient `value`.",'`."Reading Status"` Inclure les notes avec une clé de propriété contenant des espaces.','`."Reading Status"="In Progress"` Les clés et valeurs contenant des espaces doivent être entre guillemets doubles.',"`-.key` Exclure les notes avec une clé de propriété.","`-.key=value` Exclure les notes dont la valeur de propriété contient `value`.","Cmd/Ctrl+Clic sur une propriété pour ajouter avec AND. Cmd/Ctrl+Shift+Clic pour ajouter avec OR."]},tasks:{title:"Filtres",items:["`has:task` Inclure les notes avec des tâches inachevées.","`-has:task` Exclure les notes avec des tâches inachevées.","`folder:meetings` Inclure les notes dont un nom de dossier contient `meetings`.","`folder:/work/meetings` Inclure les notes uniquement dans `work/meetings` (pas les sous-dossiers).","`folder:/` Inclure les notes uniquement à la racine du coffre.","`-folder:archive` Exclure les notes dont un nom de dossier contient `archive`.","`-folder:/archive` Exclure les notes uniquement dans `archive` (pas les sous-dossiers).","`ext:md` Inclure les notes avec l'extension `md` (`ext:.md` est aussi supporté).","`-ext:pdf` Exclure les notes avec l'extension `pdf`.","Combiner avec des tags, des noms et des dates (par exemple : `folder:/work/meetings ext:md @thisweek`)."]},connectors:{title:"Comportement AND/OR",items:["`AND` et `OR` sont des opérateurs uniquement dans les requêtes composées exclusivement de tags et propriétés.","Les requêtes exclusives de tags et propriétés ne contiennent que des filtres de tags et propriétés : `#tag`, `-#tag`, `#`, `-#`, `.key`, `-.key`, `.key=value`, `-.key=value`.","Si une requête inclut des noms, des dates (`@...`), des filtres de tâches (`has:task`), des filtres de dossiers (`folder:...`) ou des filtres d'extension (`ext:...`), `AND` et `OR` sont recherchés comme des mots.","Exemple de requête avec opérateurs : `#work OR .status=started`.","Exemple de requête mixte : `#work OR ext:md` (`OR` est recherché dans les noms de fichiers)."]},dates:{title:"Dates",items:["`@today` Trouver les notes d'aujourd'hui en utilisant le champ de date par défaut.","`@yesterday`, `@last7d`, `@last30d`, `@thisweek`, `@thismonth` Plages de dates relatives.","`@2026-02-07` Trouver un jour spécifique (supporte aussi `@20260207`).","`@2026` Trouver une année civile.","`@2026-02` ou `@202602` Trouver un mois civil.","`@2026-W05` ou `@2026W05` Trouver une semaine ISO.","`@2026-Q2` ou `@2026Q2` Trouver un trimestre civil.","`@13/02/2026` Formats numériques avec séparateurs (`@07022026` suit votre locale en cas d'ambiguïté).","`@2026-02-01..2026-02-07` Trouver une plage de jours inclusive (fins ouvertes supportées).","`@c:...` ou `@m:...` Cibler la date de création ou de modification.","`-@...` Exclure une correspondance de date."]},omnisearch:{title:"Omnisearch",items:["Recherche plein texte dans tout le coffre, filtrée par le dossier actuel ou les étiquettes sélectionnées.","Peut être lent avec moins de 3 caractères dans les grands coffres.","Ne peut pas rechercher les chemins avec des caractères non-ASCII ou rechercher correctement les sous-chemins.","Retourne des résultats limités avant le filtrage par dossier, donc les fichiers pertinents peuvent ne pas apparaître si de nombreuses correspondances existent ailleurs.","Les aperçus de notes affichent les extraits Omnisearch au lieu du texte d'aperçu par défaut."]}}}},contextMenu:{file:{openInNewTab:"Ouvrir dans un nouvel onglet",openToRight:"Ouvrir à droite",openInNewWindow:"Ouvrir dans une nouvelle fenêtre",openMultipleInNewTabs:"Ouvrir {count} notes dans de nouveaux onglets",openMultipleToRight:"Ouvrir {count} notes à droite",openMultipleInNewWindows:"Ouvrir {count} notes dans de nouvelles fenêtres",pinNote:"Épingler la note",unpinNote:"Désépingler la note",pinMultipleNotes:"Épingler {count} notes",unpinMultipleNotes:"Désépingler {count} notes",duplicateNote:"Dupliquer la note",duplicateMultipleNotes:"Dupliquer {count} notes",openVersionHistory:"Ouvrir l'historique des versions",revealInFolder:"Afficher dans le dossier",revealInFinder:"Afficher dans le Finder",showInExplorer:"Afficher dans l'explorateur système",openInDefaultApp:"Ouvrir dans l'application par défaut",renameNote:"Renommer la note",deleteNote:"Supprimer la note",deleteMultipleNotes:"Supprimer {count} notes",moveNoteToFolder:"Déplacer la note vers...",moveFileToFolder:"Déplacer le fichier vers...",moveMultipleNotesToFolder:"Déplacer {count} notes vers...",moveMultipleFilesToFolder:"Déplacer {count} fichiers vers...",mergeNotes:"Fusionner {count} notes...",mergeNotesInGroup:"Fusionner les notes du groupe...",setManualSortGroupHeader:"Définir l'en-tête de groupe",changeManualSortGroupHeader:"Modifier l'en-tête de groupe",manualSortGroupHeader:{title:"En-tête de groupe",copyStyle:"Copier le style d'en-tête",pasteStyle:"Coller le style d'en-tête",remove:"Supprimer l'en-tête de groupe"},addTag:"Ajouter une étiquette",addPropertyKey:"Définir la propriété",removeTag:"Supprimer l’étiquette",removeAllTags:"Supprimer toutes les étiquettes",changeIcon:"Changer l'icône",changeColor:"Changer la couleur",openMultipleFilesInNewTabs:"Ouvrir {count} fichiers dans de nouveaux onglets",openMultipleFilesToRight:"Ouvrir {count} fichiers à droite",openMultipleFilesInNewWindows:"Ouvrir {count} fichiers dans de nouvelles fenêtres",pinFile:"Épingler le fichier",unpinFile:"Désépingler le fichier",pinMultipleFiles:"Épingler {count} fichiers",unpinMultipleFiles:"Désépingler {count} fichiers",duplicateFile:"Dupliquer le fichier",duplicateMultipleFiles:"Dupliquer {count} fichiers",renameFile:"Renommer le fichier",deleteFile:"Supprimer le fichier",setCalendarHighlight:"Définir le surlignage",removeCalendarHighlight:"Supprimer le surlignage",deleteMultipleFiles:"Supprimer {count} fichiers"},folder:{newNote:"Nouvelle note",newNoteFromTemplate:"Nouvelle note depuis un modèle",newFolder:"Nouveau dossier",newCanvas:"Nouveau canevas",newBase:"Nouvelle base de données",newDrawing:"Nouveau dessin",newExcalidrawDrawing:"Nouveau dessin Excalidraw",newTldrawDrawing:"Nouveau dessin Tldraw",duplicateFolder:"Dupliquer le dossier",searchInFolder:"Rechercher dans le dossier",createFolderNote:"Créer une note de dossier",detachFolderNote:"Détacher la note de dossier",deleteFolderNote:"Supprimer la note de dossier",changeIcon:"Changer l'icône",changeColor:"Changer la couleur",changeBackground:"Changer l’arrière-plan",excludeFolder:"Masquer le dossier",unhideFolder:"Afficher le dossier",moveFolder:"Déplacer le dossier vers...",renameFolder:"Renommer le dossier",deleteFolder:"Supprimer le dossier"},tag:{changeIcon:"Changer l'icône",changeColor:"Changer la couleur",changeBackground:"Changer l’arrière-plan",showTag:"Afficher l’étiquette",hideTag:"Masquer l’étiquette"},property:{addKey:"Configurer les clés de propriété",renameKey:"Renommer la propriété",deleteKey:"Supprimer la propriété"},navigation:{addSeparator:"Ajouter un séparateur",removeSeparator:"Supprimer le séparateur"},copyPath:{title:"Copier le chemin",asObsidianUrl:"en URL Obsidian",fromVaultFolder:"depuis le dossier du coffre",fromSystemRoot:"depuis la racine du système"},style:{title:"Style",copy:"Copier le style",paste:"Coller le style",removeIcon:"Supprimer l'icône",removeColor:"Supprimer la couleur",removeBackground:"Supprimer l'arrière-plan",clear:"Effacer le style"}},folderAppearance:{appearance:"Apparence",sortBy:"Trier par",standardPreset:"Standard",compactPreset:"Compact",defaultSuffix:"(par défaut)",defaultLabel:"Par défaut",titleRows:"Lignes de titre",previewRows:"Lignes d'aperçu",groupBy:"Grouper par",titleRowOption:t=>`${t} ligne${t===1?"":"s"} de titre`,previewRowOption:t=>`${t} ligne${t===1?"":"s"} d'aperçu`},modals:{bulkApply:{applyButton:"Appliquer",applySortAndGroupTitle:t=>`Appliquer le tri et le regroupement aux ${t} ?`,applyAppearanceTitle:t=>`Appliquer l'apparence aux ${t} ?`,affectedCountMessage:t=>`Remplacements existants qui seront modifiés : ${t}.`},manualSortConfirm:{propertySortTitle:"Utiliser le tri manuel ?",propertySortMessage:(t,e)=>`Ceci bascule la vue actuelle sur le tri manuel en utilisant « ${t} ». La modification de l'ordre écrit des valeurs numériques dans cette propriété sur ${e} ${e===1?"note":"notes"} au besoin.`,propertySortConfirmButton:"Utiliser le tri manuel",removePropertyTitle:"Supprimer la propriété de tri ?",removePropertyMessage:(t,e)=>`Ceci supprime « ${t} » de ${e} ${e===1?"note":"notes"} dans la liste actuelle. L'ordre de tri manuel sera effacé pour ces notes.`,removePropertyConfirmButton:"Supprimer la propriété",compactTitle:"Compacter les valeurs numériques ?",compactMessage:t=>`Cette réorganisation nécessite plus d'espace numérique. ${t} ${t===1?"note recevra":"notes recevront"} de nouvelles valeurs numériques.`,compactConfirmButton:"Compacter les valeurs numériques"},manualSortGroupHeader:{title:"Définir l'en-tête de groupe",titleLabel:"Titre",placeholder:"En-tête de groupe",icon:"Icône",color:"Couleur",wordCount:"Afficher le nombre de mots",wordCountTarget:"Nombre de mots cible",wordCountTargetPlaceholder:"10,000",wordCountTargetDescription:"Lorsque ce champ est vide, l’objectif du groupe utilise la propriété cible définie dans Réglages > Notes > Nombre de mots et de caractères. Remplacez-la en définissant une valeur cible pour ce groupe.",description:"Personnalisez l'en-tête de groupe pour cette note. Laissez le titre vide pour supprimer l'en-tête."},mergeNotes:{title:"Fusionner les notes",summary:"Créer une note à partir de {count} notes dans {folder}.",frontmatterRule:"Le frontmatter de la première note est conservé. Le frontmatter des autres notes est supprimé.",crossFolderWarning:"Les notes sources se trouvent dans des dossiers différents. Les liens relatifs et les intégrations peuvent ne plus fonctionner dans la note fusionnée.",outputName:"Nom de sortie",outputNameDesc:"La note fusionnée est créée dans le dossier affiché ci-dessus.",outputNamePlaceholder:"Notes fusionnées",separator:"Séparateur",separatorDesc:"Inséré entre les notes.",separatorOptions:{none:"Aucun",blankLine:"Ligne vide",horizontalRule:"Ligne horizontale",heading:"Titre avec le titre de la note"},moveSourcesToTrash:"Déplacer les notes sources vers la corbeille après la fusion",mergeButton:"Fusionner"},navRainbowSection:{title:t=>`Couleurs arc-en-ciel: ${t}`},iconPicker:{searchPlaceholder:"Rechercher des icônes...",recentlyUsedHeader:"Récemment utilisées",emptyStateSearch:"Commencez à taper pour rechercher des icônes",emptyStateNoResults:"Aucune icône trouvée",showingResultsInfo:"Affichage de 50 résultats sur {count}. Tapez plus pour affiner.",emojiInstructions:"Tapez ou collez n'importe quel emoji pour l'utiliser comme icône",removeIcon:"Supprimer l'icône",removeFromRecents:"Supprimer des récents",allTabLabel:"Tous"},fileIconRuleEditor:{addRuleAria:"Ajouter une règle"},interfaceIcons:{title:"Icônes de l'interface",fileItemsSection:"Éléments de fichier",items:{"nav-shortcuts":"Raccourcis","nav-recent-files":"Fichiers récents","nav-expand-all":"Tout déplier","nav-collapse-all":"Tout replier","nav-calendar":"Calendrier","nav-tree-expand":"Chevron d'arbre : déplier","nav-tree-collapse":"Chevron d'arbre : replier","nav-hidden-items":"Éléments cachés","nav-root-reorder":"Réorganiser les dossiers racine","nav-new-folder":"Nouveau dossier","nav-show-single-pane":"Afficher panneau unique","nav-show-dual-pane":"Afficher les panneaux doubles","nav-profile-chevron":"Chevron du menu profil","list-search":"Recherche","list-reveal-file":"Révéler le fichier","list-descendants":"Notes des sous-dossiers","list-sort-ascending":"Ordre de tri : croissant","list-sort-descending":"Ordre de tri : décroissant","list-sort-modified":"Trier par date de modification","list-sort-created":"Trier par date de création","list-sort-title":"Trier par titre","list-sort-filename":"Trier par nom de fichier","list-sort-property":"Trier par propriété","list-appearance":"Modifier l'apparence","list-new-note":"Nouvelle note","list-pinned":"Notes épinglées","nav-folder-open":"Dossier ouvert","nav-folder-closed":"Dossier fermé","nav-tags":"Étiquettes","nav-tag":"Étiquette","nav-properties":"Propriétés","nav-property":"Propriété","nav-property-value":"Valeur","file-unfinished-task":"Tâches inachevées","file-word-count":"Nombre de mots","file-character-count":"Nombre de caractères"}},colorPicker:{currentColor:"Actuelle",newColor:"Nouvelle",paletteDefault:"Par défaut",paletteCustom:"Personnalisé",copyColors:"Copier la couleur",colorsCopied:"Couleur copiée dans le presse-papiers",pasteColors:"Coller la couleur",pasteClipboardError:"Impossible de lire le presse-papiers",pasteInvalidFormat:"Une valeur de couleur hex attendue",colorsPasted:"Couleur collée avec succès",resetUserColors:"Effacer les couleurs personnalisées",clearCustomColorsConfirm:"Supprimer toutes les couleurs personnalisées ?",userColorSlot:"Couleur {slot}",recentColors:"Couleurs récentes",clearRecentColors:"Effacer les couleurs récentes",removeRecentColor:"Supprimer la couleur",apply:"Appliquer",pickerLabel:"Sélecteur",hexLabel:"HEX",hexInputLabel:"Valeur de couleur hexadécimale",saturationValueArea:"Saturation et luminosité",hueSlider:"Teinte",alphaSlider:"Transparence"},appearance:{tabIcon:"Icône",tabColor:"Couleur",tabBackground:"Arrière-plan",resetIcon:"Supprimer l'icône",resetColor:"Supprimer la couleur",resetBackground:"Supprimer l'arrière-plan",clear:"Effacer le style",apply:"Appliquer"},selectVaultProfile:{title:"Changer le profil du coffre",currentBadge:"Actif",emptyState:"Aucun profil de coffre disponible."},tagOperation:{renameTitle:"Renommer l'étiquette {tag}",deleteTitle:"Supprimer l'étiquette {tag}",newTagPrompt:"Entrez le nouveau nom de l'étiquette :",newTagPlaceholder:"nouveau-nom",renameWarning:"Renommer l'étiquette {oldTag} modifiera {count} {files}.",deleteWarning:"Supprimer l'étiquette {tag} modifiera {count} {files}.",modificationWarning:"Cela mettra à jour les dates de modification des fichiers.",affectedFiles:"Fichiers affectés :",andMore:"et {count} de plus...",confirmRename:"Renommer l'étiquette",renameUnchanged:"{tag} inchangé",renameNoChanges:"{oldTag} → {newTag} ({countLabel})",renameBatchNotFinalized:"Renommés {renamed}/{total}. Non mis à jour : {notUpdated}. Les métadonnées et raccourcis n'ont pas été mis à jour.",invalidTagName:"Entrez un nom d'étiquette valide.",descendantRenameError:"Impossible de déplacer une étiquette dans elle-même ou un descendant.",confirmDelete:"Supprimer l'étiquette",deleteBatchNotFinalized:"Supprimés de {removed}/{total}. Non mis à jour : {notUpdated}. Les métadonnées et raccourcis n'ont pas été mis à jour.",checkConsoleForDetails:"Consultez la console pour plus de détails.",file:"fichier",files:"fichiers",inlineParsingWarning:{title:"Compatibilité des étiquettes en ligne",message:"{tag} contient des caractères qu'Obsidian ne peut pas analyser dans les étiquettes en ligne. Les étiquettes Frontmatter ne sont pas affectées.",confirm:"Utiliser quand même"}},propertyOperation:{renameTitle:"Renommer la propriété {property}",deleteTitle:"Supprimer la propriété {property}",newKeyPrompt:"Nouveau nom de propriété",newKeyPlaceholder:"Saisir le nouveau nom de propriété",renameWarning:"Renommer la propriété {property} modifiera {count} {files}.",renameConflictWarning:"La propriété {newKey} existe déjà dans {count} {files}. Renommer {oldKey} remplacera les valeurs existantes de {newKey}.",deleteWarning:"Supprimer la propriété {property} modifiera {count} {files}.",confirmRename:"Renommer la propriété",confirmDelete:"Supprimer la propriété",renameNoChanges:"{oldKey} → {newKey} (aucun changement)",renameSettingsUpdateFailed:"Propriété {oldKey} → {newKey} renommée. Échec de la mise à jour des paramètres.",deleteSingleSuccess:"Propriété {property} supprimée de 1 note",deleteMultipleSuccess:"Propriété {property} supprimée de {count} notes",deleteSettingsUpdateFailed:"Propriété {property} supprimée. Échec de la mise à jour des paramètres.",invalidKeyName:"Saisissez un nom de propriété valide."},fileSystem:{newFolderTitle:"Nouveau dossier",renameFolderTitle:"Renommer le dossier",renameFileTitle:"Renommer le fichier",deleteFolderTitle:"Supprimer '{name}' ?",deleteFileTitle:"Supprimer '{name}' ?",deleteFileAttachmentsTitle:"Supprimer les pièces jointes ?",moveFileConflictTitle:"Conflit de déplacement",folderNamePrompt:"Entrez le nom du dossier :",hideInOtherVaultProfiles:"Masquer dans les autres profils du coffre",renamePrompt:"Entrez le nouveau nom :",renameVaultTitle:"Changer le nom d'affichage du coffre",renameVaultPrompt:"Entrez un nom d'affichage personnalisé (laissez vide pour utiliser le nom par défaut) :",deleteFolderConfirm:"Êtes-vous sûr de vouloir supprimer ce dossier et tout son contenu ?",deleteFileConfirm:"Êtes-vous sûr de vouloir supprimer ce fichier ?",deleteFileAttachmentsDescriptionSingle:"Cette pièce jointe n'est plus utilisée dans aucune note. Voulez-vous la supprimer ?",deleteFileAttachmentsDescriptionMultiple:"Ces pièces jointes ne sont plus utilisées dans aucune note. Voulez-vous les supprimer ?",deleteFileAttachmentsViewFileTreeAriaLabel:"Arborescence",deleteFileAttachmentsViewGalleryAriaLabel:"Galerie",moveFileConflictDescriptionSingle:"Un conflit de fichier a été trouvé dans « {folder} ».",moveFileConflictDescriptionMultiple:"{count} conflits de fichiers ont été trouvés dans « {folder} ».",moveFileConflictAffectedFiles:"Fichiers concernés",moveFileConflictItem:"« {name} » -> « {suggested} »{renameOnly}",moveFileConflictRenameOnly:"(renommer uniquement)",moveFileConflictRename:"Renommer",moveFileConflictOverwrite:"Écraser",removeAllTagsTitle:"Supprimer toutes les étiquettes",removeAllTagsFromNote:"Êtes-vous sûr de vouloir supprimer toutes les étiquettes de cette note ?",removeAllTagsFromNotes:"Êtes-vous sûr de vouloir supprimer toutes les étiquettes de {count} notes ?"},folderNoteType:{title:"Sélectionner le type de note de dossier",folderLabel:"Dossier : {name}"},folderSuggest:{placeholder:t=>`Déplacer ${t} vers le dossier...`,multipleFilesLabel:t=>`${t} fichiers`,navigatePlaceholder:"Naviguer vers le dossier...",instructions:{navigate:"pour naviguer",move:"pour déplacer",select:"pour sélectionner",dismiss:"pour annuler"}},homepage:{placeholder:"Rechercher des fichiers...",instructions:{navigate:"pour naviguer",select:"pour définir la page d’accueil",dismiss:"pour annuler"}},calendarTemplate:{placeholder:"Rechercher des modèles...",instructions:{navigate:"pour naviguer",select:"pour sélectionner le modèle",dismiss:"pour annuler"}},navigationBanner:{placeholder:"Rechercher des images...",instructions:{navigate:"pour naviguer",select:"pour définir la bannière",dismiss:"pour annuler"}},tagSuggest:{navigatePlaceholder:"Naviguer vers l'étiquette...",addPlaceholder:"Rechercher une étiquette à ajouter...",removePlaceholder:"Sélectionner l'étiquette à supprimer...",createNewTag:"Créer une nouvelle étiquette : #{tag}",instructions:{navigate:"pour naviguer",select:"pour sélectionner",dismiss:"pour annuler",add:"pour ajouter l'étiquette",remove:"pour supprimer l'étiquette"}},propertySuggest:{placeholder:"Sélectionner une clé de propriété...",navigatePlaceholder:"Naviguer vers la propriété...",instructions:{navigate:"pour naviguer",select:"pour ajouter la propriété",dismiss:"pour annuler"}},propertyKeyVisibility:{title:"Visibilité des clés de propriété",description:"Contrôlez où les valeurs de propriété sont affichées. Les colonnes correspondent au panneau de navigation, au panneau de liste et au menu contextuel du fichier. Utilisez la rangée du bas pour basculer toutes les rangées d'une colonne.",searchPlaceholder:"Rechercher des clés de propriété...",propertyColumnLabel:"Propriété",showInNavigation:"Afficher dans la navigation",showInList:"Afficher dans la liste",showInFileMenu:"Afficher dans le menu du fichier",toggleAllInNavigation:"Tout basculer dans la navigation",toggleAllInList:"Tout basculer dans la liste",toggleAllInFileMenu:"Tout basculer dans le menu du fichier",applyButton:"Appliquer",emptyState:"Aucune clé de propriété trouvée."},welcome:{title:"Bienvenue dans {pluginName}",introText:"Bonjour ! Avant de commencer, je vous recommande vivement de regarder les cinq premières minutes de la vidéo ci-dessous pour comprendre comment fonctionnent les panneaux et le bouton « Afficher les notes des sous-dossiers ».",continueText:"Si vous avez encore cinq minutes, continuez à regarder la vidéo pour comprendre les modes d'affichage compacts et comment configurer correctement les raccourcis et les touches de raccourci importantes.",thanksText:"Merci beaucoup pour le téléchargement et profitez-en !",videoAlt:"Installer et maîtriser Notebook Navigator",openVideoButton:"Lire la vidéo",closeButton:"Peut-être plus tard"}},fileSystem:{errors:{createFolder:"Échec de la création du dossier : {error}",createFile:"Échec de la création du fichier : {error}",renameFolder:"Échec du renommage du dossier : {error}",renameFolderNoteConflict:'Impossible de renommer : "{name}" existe déjà dans ce dossier',renameFile:"Échec du renommage du fichier : {error}",deleteFolder:"Échec de la suppression du dossier : {error}",deleteFile:"Échec de la suppression du fichier : {error}",deleteAttachments:"Échec de la suppression des pièces jointes : {error}",mergeNotes:"Échec de la fusion des notes : {error}",mergeNotesOpenOutput:"La note fusionnée a été créée sous le nom {name}, mais elle n’a pas pu être ouverte : {error}. Les notes sources n’ont pas été modifiées.",mergeNotesOpenSkipped:"Une autre demande d’ouverture de fichier a pris la priorité.",mergeNotesTrashSources:"Note fusionnée créée. Échec du déplacement de {count} notes sources vers la corbeille.",duplicateNote:"Échec de la duplication de la note : {error}",duplicateFolder:"Échec de la duplication du dossier : {error}",openVersionHistory:"Échec de l'ouverture de l'historique des versions : {error}",versionHistoryNotFound:"Commande d'historique des versions introuvable. Assurez-vous qu'Obsidian Sync est activé.",revealInExplorer:"Échec de l'affichage du fichier dans l'explorateur système : {error}",openInDefaultApp:"Échec de l'ouverture dans l'application par défaut : {error}",openInDefaultAppNotAvailable:"L'ouverture dans l'application par défaut n'est pas disponible sur cette plateforme",folderNoteAlreadyExists:"La note de dossier existe déjà",folderAlreadyExists:'Le dossier "{name}" existe déjà',folderNotesDisabled:"Activez les notes de dossier dans les paramètres pour convertir des fichiers",folderNoteAlreadyLinked:"Ce fichier agit déjà comme une note de dossier",folderNoteNotFound:"Aucune note de dossier dans le dossier sélectionné",folderNoteUnsupportedExtension:"Extension de fichier non prise en charge : {extension}",folderNoteMoveFailed:"Échec du déplacement du fichier pendant la conversion : {error}",folderNoteRenameConflict:'Un fichier nommé "{name}" existe déjà dans le dossier',folderNoteConversionFailed:"Échec de la conversion du fichier en note de dossier",folderNoteConversionFailedWithReason:"Échec de la conversion du fichier en note de dossier : {error}",folderNoteOpenFailed:"Fichier converti mais échec de l'ouverture de la note de dossier : {error}",failedToDeleteFile:"Échec de la suppression de {name} : {error}",failedToDeleteMultipleFiles:"Échec de la suppression de {count} fichiers",versionHistoryNotAvailable:"Service d'historique des versions non disponible",drawingAlreadyExists:"Un dessin avec ce nom existe déjà",failedToCreateDrawing:"Échec de la création du dessin",noFolderSelected:"Aucun dossier sélectionné dans Notebook Navigator",noFileSelected:"Aucun fichier sélectionné"},warnings:{linkBreakingNameCharacters:"Ce nom contient des caractères qui cassent les liens Obsidian : #, |, ^, %%, [[, ]].",forbiddenNameCharactersAllPlatforms:"Les noms ne peuvent pas commencer par un point ni contenir : ou /.",forbiddenNameCharactersWindows:'Les caractères réservés à Windows ne sont pas autorisés : <, >, ", \\, |, ?, *.'},notices:{hideFolder:"Dossier masqué : {name}",showFolder:"Dossier affiché : {name}",mergeNotes:"{count} notes fusionnées dans {name}"},notifications:{deletedMultipleFiles:"{count} fichiers supprimés",movedMultipleFiles:"{count} fichiers déplacés vers {folder}",folderNoteConversionSuccess:'Fichier converti en note de dossier dans "{name}"',folderMoved:'Dossier "{name}" déplacé',deepLinkCopied:"URL Obsidian copiée dans le presse-papiers",pathCopied:"Chemin copié dans le presse-papiers",relativePathCopied:"Chemin relatif copié dans le presse-papiers",tagAddedToNote:"Étiquette ajoutée à 1 note",tagAddedToNotes:"Étiquette ajoutée à {count} notes",tagRemovedFromNote:"Étiquette supprimée de 1 note",tagRemovedFromNotes:"Étiquette supprimée de {count} notes",tagsClearedFromNote:"Toutes les étiquettes supprimées de 1 note",tagsClearedFromNotes:"Toutes les étiquettes supprimées de {count} notes",noTagsToRemove:"Aucune étiquette à supprimer",noFilesSelected:"Aucun fichier sélectionné",mergeNotesRequireMultipleMarkdown:"Sélectionnez au moins deux notes Markdown à fusionner",tagOperationsNotAvailable:"Opérations d'étiquettes non disponibles",propertyOperationsNotAvailable:"Opérations de propriétés non disponibles",tagsRequireMarkdown:"Les étiquettes ne sont prises en charge que sur les notes Markdown",propertiesRequireMarkdown:"Les propriétés ne sont prises en charge que sur les notes Markdown",propertySetOnNote:"Propriété mise à jour sur 1 note",propertySetOnNotes:"Propriété mise à jour sur {count} notes",manualSortPropertyRemovedFromNote:"Propriété de tri supprimée de 1 note",manualSortPropertyRemovedFromNotes:"Propriété de tri supprimée de {count} notes",iconPackDownloaded:"{provider} téléchargé",iconPackUpdated:"{provider} mis à jour ({version})",iconPackRemoved:"{provider} supprimé",iconPackLoadFailed:"Échec du chargement de {provider}",hiddenFileReveal:"Le fichier est masqué. Activer « Afficher les éléments masqués » pour l'afficher"},confirmations:{deleteMultipleFiles:"Voulez-vous vraiment supprimer {count} fichiers ?",deleteConfirmation:"Cette action ne peut pas être annulée."},defaultNames:{untitled:"Sans titre"}},dragDrop:{errors:{cannotMoveIntoSelf:"Impossible de déplacer un dossier dans lui-même ou un sous-dossier.",itemAlreadyExists:'Un élément nommé "{name}" existe déjà à cet emplacement.',failedToMove:"Échec du déplacement : {error}",failedToAddTag:`Échec de l'ajout de l'étiquette "{tag}"`,failedToSetProperty:"Échec de la mise à jour de la propriété : {error}",failedToClearTags:"Échec de la suppression des étiquettes",failedToMoveFolder:'Échec du déplacement du dossier "{name}"',failedToImportFiles:"Échec de l'importation : {names}"},notifications:{filesAlreadyExist:"{count} fichiers existent déjà dans la destination",filesAlreadyHaveTag:"{count} fichiers ont déjà cette étiquette ou une plus spécifique",filesAlreadyHaveProperty:"{count} fichiers possèdent déjà cette propriété",noTagsToClear:"Aucune étiquette à supprimer",fileImported:"1 fichier importé",filesImported:"{count} fichiers importés"}},dateGroups:{today:"Aujourd'hui",yesterday:"Hier",previous7Days:"7 derniers jours",previous30Days:"30 derniers jours"},commands:{open:"Ouvrir",toggleLeftSidebar:"Basculer le panneau latéral gauche",openHomepage:"Ouvrir la page d'accueil",openDailyNote:"Ouvrir la note quotidienne",openWeeklyNote:"Ouvrir la note hebdomadaire",openMonthlyNote:"Ouvrir la note mensuelle",openQuarterlyNote:"Ouvrir la note trimestrielle",openYearlyNote:"Ouvrir la note annuelle",revealFile:"Révéler le fichier",search:"Rechercher",searchVaultRoot:"Rechercher dans la racine du coffre",toggleDualPane:"Basculer la disposition à double panneau",toggleDualPaneOrientation:"Basculer l'orientation du double panneau",toggleCalendar:"Afficher/masquer le calendrier",selectVaultProfile:"Changer le profil du coffre",selectVaultProfile1:"Changer vers le profil du coffre 1",selectVaultProfile2:"Changer vers le profil du coffre 2",selectVaultProfile3:"Changer vers le profil du coffre 3",deleteFile:"Supprimer les fichiers",createNewNote:"Créer une nouvelle note",createNewNoteFromTemplate:"Nouvelle note depuis un modèle",moveFiles:"Déplacer les fichiers",mergeNotes:"Fusionner les notes",selectNextFile:"Sélectionner le fichier suivant",selectPreviousFile:"Sélectionner le fichier précédent",navigateBack:"Naviguer en arrière",navigateForward:"Naviguer en avant",convertToFolderNote:"Convertir en note de dossier",setAsFolderNote:"Définir comme note de dossier",detachFolderNote:"Détacher la note de dossier",pinAllFolderNotes:"Épingler toutes les notes de dossier",navigateToFolder:"Naviguer vers le dossier",navigateToTag:"Naviguer vers l'étiquette",navigateToProperty:"Naviguer vers la propriété",addShortcut:"Ajouter aux raccourcis",openShortcut:"Ouvrir le raccourci {number}",toggleDescendants:"Basculer descendants",toggleHidden:"Basculer les dossiers, étiquettes et notes masqués",toggleTagSort:"Basculer le tri des étiquettes",toggleTagsBySelection:"Basculer les étiquettes par sélection",togglePropertiesBySelection:"Basculer les propriétés par sélection",toggleCompactMode:"Basculer le mode compact",togglePinnedSection:"Basculer la section épinglée",collapseExpand:"Replier / déplier tous les éléments",collapseExpandSelectedItem:"Replier / déplier l'élément sélectionné",addTag:"Ajouter une étiquette aux fichiers sélectionnés",setProperty:"Définir une propriété sur les fichiers sélectionnés",removeTag:"Supprimer une étiquette des fichiers sélectionnés",removeAllTags:"Supprimer toutes les étiquettes des fichiers sélectionnés",openAllFiles:"Ouvrir tous les fichiers",rebuildCache:"Reconstruire le cache"},plugin:{viewName:"Navigateur de Carnets",calendarViewName:"Calendrier",folderNoteSidebarViewName:"Note de dossier",ribbonTooltip:"Navigateur de Carnets",revealInNavigator:"Révéler dans le Navigateur de Carnets"},tooltips:{lastModifiedAt:"Dernière modification le",createdAt:"Créé le",file:"fichier",files:"fichiers",folder:"dossier",folders:"dossiers",wordCount:"Nombre de mots"},fileCounts:{words:"{count} mots",characters:"{count} caractères",separator:" · "},settings:{changeDefaultSettings:"Modifier les paramètres par défaut",metadataReport:{exportSuccess:"Rapport de métadonnées échouées exporté vers : {filename}",exportFailed:"Échec de l'exportation du rapport de métadonnées"},sections:{general:"Général",vaultFilters:"Filtres d'affichage",appearanceBehavior:"Apparence et comportement",navigationPane:"Panneau de navigation",calendar:"Calendrier",fileOperations:"Opérations sur les fichiers",icons:"Packs d'icônes",folders:"Dossiers",folderNotes:"Notes de dossier",folderNoteFiles:"Fichiers de notes de dossier",foldersAndFolderNotes:"Dossiers et notes de dossier",tagsAndProperties:"Tags et propriétés",tags:"Étiquettes",listPane:"Panneau de liste",notes:"Affichage des fichiers",shortcutsAndRecentFiles:"Raccourcis et fichiers récents",advanced:"Avancé"},pageGroups:{configuration:"Configuration",navigationAndContent:"Panneau de navigation",notesAndLists:"Panneau de liste",calendarAndTools:"Calendrier et outils"},pageDescriptions:{general:"Notes de version, support, profil du coffre, types de fichiers et clés de propriétés.",vaultFilters:"Dossiers, étiquettes, fichiers, étiquettes de fichiers et règles de propriétés masqués.",appearanceBehavior:"Comportement, navigation au clavier, boutons de souris, apparence et formatage.",navigationPane:"Disposition, apparence, comptage des notes, comportement de repli et couleurs arc-en-ciel.",shortcuts:"Visibilité des raccourcis, badges, fichiers récents et éléments épinglés.",calendar:"Affichage du calendrier, notes de date, modèles, paramètres régionaux et emplacement de la barre latérale.",fileOperations:"Modèles, confirmations de suppression, pièces jointes et comportement en cas de conflit de déplacement de fichiers.",foldersAndFolderNotes:"Affichage des dossiers, notes de dossier, modèles et comportement des notes de dossier.",tagsProperties:"Sections de tags et propriétés, icônes, tri, portée et héritage.",listPane:"Tri, regroupement, modes de liste, notes épinglées et aperçus de dessins.",frontmatter:"Champs frontmatter pour noms d'affichage, horodatages, icônes et couleurs.",notes:"Titres, texte d’aperçu, images mises en avant, tags, propriétés, dates, nombres de mots et nombres de caractères.",iconPacks:"Icônes d'interface, icônes de fichiers et gestion des packs d'icônes.",advanced:"Diagnostics, nettoyage des métadonnées, import/export et réinitialisation."},groups:{general:{vaultConfiguration:"Configuration du coffre",templates:"Modèles",behavior:"Comportement",keyboardNavigation:"Navigation au clavier",mouseButtons:"Boutons de souris",view:"Apparence",icons:"Icônes",desktopAppearance:"Apparence sur ordinateur",mobileAppearance:"Apparence mobile",formatting:"Formatage"},advanced:{maintenance:"Maintenance",resetSettings:"Réinitialiser les paramètres"},navigation:{appearance:"Apparence",banner:"Bannière",collapseItems:"Replier les éléments",dragAndDrop:"Glisser-déposer",noteCounts:"Nombre de notes",rainbowColors:"Couleurs arc-en-ciel",leftSidebar:"Barre latérale gauche",calendarIntegration:"Intégration du calendrier"},list:{display:"Apparence",groupHeaders:"En-têtes de groupe",propertySort:"Tri par propriété",manualSort:"Tri manuel",pinnedNotes:"Notes épinglées",drawingPreviews:"Aperçus des dessins"},notes:{frontmatter:"Champs frontmatter",tasks:"Tâches",icon:"Icône",title:"Titre",previewText:"Texte d'aperçu",featureImage:"Image vedette",tags:"Étiquettes",properties:"Propriétés",date:"Date",parentFolder:"Dossier parent",wordCount:"Nombre de mots et de caractères"}},syncMode:{notSynced:"(non synchronisé)",switchToSynced:"Activer la synchronisation",switchToLocal:"Désactiver la synchronisation"},items:{listPaneTitle:{name:"Titre du panneau de liste",desc:"Choisissez où afficher le titre du panneau de liste.",options:{header:"Afficher dans l’en-tête",list:"Afficher dans le panneau de liste",hidden:"Ne pas afficher"}},sortNotesBy:{name:"Ordre de tri par défaut",desc:"Choisissez l'ordre de tri par défaut des notes.",options:{"modified-desc":"Date de modification (plus récente en haut)","modified-asc":"Date de modification (plus ancienne en haut)","created-desc":"Date de création (plus récente en haut)","created-asc":"Date de création (plus ancienne en haut)","title-asc":"Titre (A en haut)","title-desc":"Titre (Z en haut)","filename-asc":"Nom de fichier (A en haut)","filename-desc":"Nom de fichier (Z en haut)"},directions:{asc:"Croissant",desc:"Décroissant"},fields:{modified:"Date de modification",created:"Date de création",title:"Titre",filename:"Nom de fichier",property:"Propriété"}},propertySortKey:{name:"Propriétés de tri",desc:"Propriétés frontmatter séparées par des virgules affichées comme options de tri par propriété. Les valeurs de tableau sont jointes en une seule chaîne. Ces propriétés ne sont pas modifiées.",placeholder:"published, author"},propertySortSecondary:{name:"Tri secondaire",desc:"Utilisé avec le tri par propriété lorsque les notes ont la même valeur de propriété ou aucune valeur.",options:{title:"Titre",filename:"Nom de fichier",created:"Date de création",modified:"Date de modification"}},propertySortInstructions:{intro:"Chaque propriété listée ci-dessus apparaît comme option de tri dans le menu de tri du panneau de liste. En sélectionner une trie les notes selon sa valeur frontmatter."},manualSortPropertyKey:{name:"Propriété de tri manuel",desc:"Propriété frontmatter utilisée pour enregistrer les valeurs numériques du tri manuel."},manualSortGroupHeaderProperty:{name:"Propriété d'en-tête de groupe",desc:"Propriété frontmatter utilisée pour enregistrer les en-têtes de groupe personnalisés."},groupHeadersInstructions:{intro:"Les en-têtes de groupe personnalisés sont affichés au-dessus des notes dans le panneau de liste.",items:["Depuis le menu de tri du panneau de liste, définissez le regroupement sur **Personnalisé**.","Cliquez avec le bouton droit sur une note et choisissez **Définir l'en-tête de groupe** pour ajouter un en-tête au-dessus."]},manualSortNewNotePlacement:{name:"Emplacement des nouvelles notes",desc:"Choisissez où sont placées les nouvelles notes lorsque la liste actuelle utilise le tri manuel.",options:{top:"En haut",bottom:"En bas","below-selected-note":"Sous la note sélectionnée",unsorted:"Non trié"}},confirmBeforeManualSort:{name:"Confirmer avant le tri manuel",desc:"Afficher un avertissement avant d’écrire la propriété de tri manuel dans les notes pour la première fois. Lorsque désactivé, les notes reçoivent la propriété sans avertissement."},manualSortInstructions:{intro:"Le tri manuel écrit une valeur numérique dans une propriété frontmatter sur chaque note. Les notes sans valeur apparaissent sous Non trié.",items:["Activez le tri manuel en choisissant **Tri manuel** dans le menu de tri. Ensuite, il existe deux façons de réorganiser les notes.","Choisissez **Modifier l'ordre de tri...** dans le menu de tri pour ouvrir une vue de réorganisation. Glissez les notes avec la souris, ou par toucher sur mobile. Sur ordinateur, **Cmd/Ctrl** ou **Shift** clic sélectionne plusieurs notes, puis glisser l'une d'elles déplace tout le groupe.","Dans le panneau de liste, sélectionnez une note ou plusieurs notes, puis appuyez sur **Cmd/Ctrl + Arrow Up/Down** pour déplacer la sélection vers le haut ou le bas."]},revealFileOnListChanges:{name:"Défiler vers le fichier sélectionné lors des changements de liste",desc:"Défiler vers le fichier sélectionné lors de l'épinglage de notes, l'affichage de notes descendantes, le changement d'apparence de dossier ou l'exécution d'opérations sur les fichiers."},includeDescendantNotes:{name:"Afficher les notes des sous-dossiers / descendants",desc:"Inclure les notes des sous-dossiers imbriqués et des descendants d'étiquettes et de propriétés lors de l'affichage d'un dossier, d'une étiquette ou d'une propriété."},limitPinnedToCurrentFolder:{name:"Épingler les notes uniquement dans leur dossier",desc:"Les notes épinglées n’apparaissent épinglées que dans leur propre dossier. Utile pour les notes de dossier ou si vous avez beaucoup de notes épinglées. N’affecte pas les vues par étiquette ou propriété."},separateNoteCounts:{name:"Afficher les nombres de notes actuelles et descendantes séparément",desc:'Affiche le nombre de notes au format "actuel ▾ descendants" pour les dossiers, étiquettes et propriétés.'},groupNotes:{name:"Regroupement par défaut",desc:"Personnalisé affiche les en-têtes définis dans le frontmatter. Date regroupe les notes par date. Dossier regroupe les notes par dossier. Les vues par étiquette et par propriété utilisent des groupes de dates lorsque dossier est sélectionné.",options:{custom:"Personnalisé",date:"Date",folder:"Dossier"}},showSelectedNavigationPills:{name:"Toujours afficher toutes les pastilles de tags et propriétés",desc:"Lorsque désactivé, les pastilles correspondant à la sélection de navigation actuelle sont masquées (par ex. la pastille du tag « recettes » est masquée lors de la navigation dans le tag « recettes »). Activer pour garder toutes les pastilles visibles."},stickyGroupHeaders:{name:"En-têtes de groupe épinglés",desc:"Garder visible l'en-tête de section actuel (date, dossier ou épinglé) lors du défilement."},showFolderGroupPaths:{name:"Afficher les chemins des sous-dossiers",desc:"Lors du regroupement par dossier dans le panneau de liste, afficher les chemins des sous-dossiers au lieu des seuls noms de dossier."},showCurrentFolderFilesAtBottom:{name:"Regroupement par dossier : fichiers du dossier actuel en bas",desc:"Lorsque le regroupement par défaut est Dossier, déplacer les fichiers directement dans le dossier sélectionné sous les groupes de sous-dossiers."},defaultListMode:{name:"Mode de liste par défaut",desc:"Sélectionner la mise en page de liste par défaut. Standard affiche le titre, la date, la description et le texte d'aperçu. Compact affiche uniquement le titre. L'apparence peut être remplacée par dossier.",options:{standard:"Standard",compact:"Compact"}},showFileIcons:{name:"Afficher les icônes de fichier",desc:"Afficher les icônes de fichier avec espacement aligné à gauche. La désactivation supprime les icônes et l'indentation. Priorité : icône de tâches inachevées > icône personnalisée > icône de dossier > icône de nom de fichier > icône de type de fichier > icône par défaut."},useFolderIcon:{name:"Utiliser l'icône du dossier",desc:"Afficher l'icône du dossier parent lorsqu'aucune icône de fichier personnalisée n'est définie. La couleur du dossier est utilisée lorsqu'aucune couleur de fichier personnalisée n'est définie."},showFileIconUnfinishedTask:{name:"Icône de tâches inachevées",desc:"Afficher une icône de tâche lorsqu'une note contient des tâches inachevées."},showFileBackgroundUnfinishedTask:{name:"Fond de tâches inachevées",desc:"Appliquer une couleur de fond lorsqu'une note contient des tâches inachevées."},unfinishedTaskBackgroundColor:{name:"Couleur de fond des tâches inachevées",desc:"Définir la couleur de fond utilisée lorsqu'une note contient des tâches inachevées."},showFilenameMatchIcons:{name:"Icônes par nom de fichier",desc:"Attribuer des icônes aux fichiers selon le texte dans leurs noms."},fileNameIconMap:{name:"Correspondance nom-icône",desc:"Les fichiers contenant le texte obtiennent l'icône spécifiée. Une correspondance par ligne : texte=icône",placeholder:`# texte=icône
réunion=ph-calendar
facture=ph-receipt`,editTooltip:"Modifier les correspondances"},showCategoryIcons:{name:"Icônes par type de fichier",desc:"Attribuer des icônes aux fichiers selon leur extension."},fileTypeIconPreset:{name:"Préréglage d'icônes de fichiers",desc:"Choisissez les icônes intégrées ou un préréglage de pack d'icônes. Les règles d'extension personnalisées remplacent ce préréglage.",options:{none:"Icônes intégrées"},notInstalledWarning:"Ce pack d'icônes n'est pas installé. Les icônes intégrées sont affichées à la place."},fileTypeIconMap:{name:"Correspondance type-icône",desc:"Les fichiers avec l'extension obtiennent l'icône spécifiée. Une correspondance par ligne : extension=icône",placeholder:`# Extension=icon
cpp=ph-file-code
pdf=ph-file-pdf`,editTooltip:"Modifier les correspondances"},compactItemHeight:{name:"Hauteur des éléments compacts",desc:"Définit la hauteur des éléments compacts sur ordinateur et mobile (pixels).",resetTooltip:"Restaurer la valeur par défaut (28px)"},compactItemHeightScaleText:{name:"Adapter le texte à la hauteur compacte",desc:"Adapte le texte des éléments compacts lorsque la hauteur est réduite."},showParentFolder:{name:"Afficher le dossier parent",desc:"Afficher le nom du dossier parent pour les notes dans les sous-dossiers, étiquettes ou propriétés."},showParentFolderFullPath:{name:"Afficher le chemin complet",desc:"Afficher le chemin complet du dossier parent au lieu du nom du dossier uniquement."},parentFolderClickRevealsFile:{name:"Clic sur dossier parent ouvre le dossier",desc:"Cliquer sur l'étiquette du dossier parent ouvre le dossier dans le panneau de liste."},showParentFolderColor:{name:"Afficher la couleur du dossier parent",desc:"Utiliser les couleurs des dossiers sur les étiquettes des dossiers parents."},showParentFolderIcon:{name:"Afficher l'icône du dossier parent",desc:"Afficher les icônes de dossier à côté des étiquettes des dossiers parents."},showQuickActions:{name:"Afficher les actions rapides",desc:"Afficher les boutons d'action au survol des fichiers. Les contrôles des boutons sélectionnent les actions qui apparaissent."},dualPane:{name:"Disposition à double panneau",desc:"Afficher le panneau de navigation et le panneau de liste côte à côte sur ordinateur."},dualPaneOrientation:{name:"Orientation du double panneau",desc:"Choisir une disposition horizontale ou verticale lorsque le double panneau est actif.",options:{horizontal:"Séparation horizontale",vertical:"Séparation verticale"}},narrowSidebarLayout:{name:"Lorsque la barre latérale est trop étroite",desc:"Choisissez ce qui se passe lorsque le panneau de navigation et le panneau de liste ne tiennent pas côte à côte.",options:{none:"Ne rien faire",singlePane:"Passer au panneau unique",vertical:"Passer à la séparation verticale"}},narrowSidebarTrigger:{name:"Seuil de barre latérale étroite",desc:"Choisissez comment le seuil de largeur de la barre latérale est calculé.",options:{fitPanes:"Adapter les panneaux",customWidth:"Largeur personnalisée"}},narrowSidebarCustomWidth:{name:"Largeur du seuil de barre latérale étroite",desc:"Basculer lorsque la barre latérale est plus étroite que cette largeur.",resetTooltip:"Réinitialiser à la largeur par défaut"},appearanceBackground:{name:"Couleur de fond",desc:"Choisissez les couleurs de fond pour les volets de navigation et de liste.",options:{separate:"Arrière-plans séparés",primary:"Utiliser le fond de la liste",secondary:"Utiliser le fond de navigation"}},appearanceScale:{name:"Niveau de zoom",desc:"Contrôle le niveau de zoom global de Notebook Navigator (pourcentage)."},useFloatingToolbars:{name:"Utiliser les barres d'outils flottantes sur iOS/iPadOS",desc:"S'applique uniquement à iOS et iPadOS."},startView:{name:"Vue de démarrage par défaut",desc:"Choisissez le panneau affiché lors de l'ouverture de Notebook Navigator. Le panneau de navigation montre les raccourcis, les fichiers récents et la structure des dossiers. Le panneau de liste affiche immédiatement la liste des fichiers.",options:{navigation:"Panneau de navigation",files:"Panneau de liste"}},toolbarButtons:{name:"Boutons de la barre d'outils",desc:"Choisissez quels boutons apparaissent dans la barre d'outils. Les boutons masqués restent accessibles via les commandes et les menus.",navigationLabel:"Barre de navigation",listLabel:"Barre de liste"},createNewNotesInNewTab:{name:"Ouvrir les nouvelles notes dans un nouvel onglet",desc:"Lorsque activé, la commande Créer une nouvelle note ouvre les notes dans un nouvel onglet. Lorsque désactivé, les notes remplacent l'onglet actuel."},autoRevealActiveNote:{name:"Révéler automatiquement la note active",desc:"Révéler automatiquement les notes lorsqu'elles sont ouvertes depuis le Commutateur rapide, les liens ou la recherche."},autoRevealShortestPath:{name:"Révélation automatique : Utiliser le chemin le plus court",desc:"Activé : La révélation automatique sélectionne le dossier parent ou le tag visible le plus proche. Désactivé : La révélation automatique sélectionne le dossier réel du fichier et le tag exact."},autoRevealIgnoreRightSidebar:{name:"Révélation automatique : Ignorer les événements du panneau de droite",desc:"Ne pas changer la note active lors d'un clic ou du changement de notes dans le panneau de droite."},autoRevealIgnoreOtherWindows:{name:"Révélation automatique : Ignorer les événements d'autres fenêtres",desc:"Ne pas changer la note active lorsque vous travaillez avec des notes dans une autre fenêtre."},paneTransitionDuration:{name:"Animation panneau unique",desc:"Durée de transition lors du changement de panneau en mode panneau unique (millisecondes).",resetTooltip:"Réinitialiser par défaut"},autoSelectFirstFileOnFocusChange:{name:"Sélectionner automatiquement la première note",desc:"Ouvrir automatiquement la première note lors du changement de dossier, d'étiquette ou de propriété."},skipAutoScroll:{name:"Désactiver le défilement automatique pour les raccourcis",desc:"Ne pas faire défiler le panneau de navigation lors du clic sur les éléments de raccourcis."},autoExpandNavItems:{name:"Développer à la sélection",desc:"Développer les dossiers et étiquettes lors de la sélection. En mode panneau unique, la première sélection développe, la seconde affiche les fichiers."},collapseOtherBranchesOnExpand:{name:"Une branche développée",desc:"Replier les autres branches du même arbre lors du développement d'un dossier, d'une étiquette ou d'une propriété."},springLoadedFolders:{name:"Développer au survol",desc:"Développer les dossiers et les étiquettes au survol pendant le glisser-déposer."},springLoadedFoldersInitialDelay:{name:"Développer au survol : Délai de première expansion",desc:"Délai avant que le premier dossier ou étiquette se développe pendant un glisser-déposer (secondes)."},springLoadedFoldersSubsequentDelay:{name:"Développer au survol : Délai d'expansion suivante",desc:"Délai avant de développer d'autres dossiers ou étiquettes pendant le même glisser-déposer (secondes)."},navigationBanner:{name:"Bannière de navigation (profil de coffre)",desc:"Afficher une image au-dessus du panneau de navigation. Change avec le profil de coffre sélectionné.",current:"Bannière actuelle : {path}",chooseButton:"Choisir une image"},pinNavigationBanner:{name:"Épingler la bannière",desc:"Épingler la bannière de navigation au-dessus de l'arborescence de navigation."},showShortcuts:{name:"Afficher les raccourcis",desc:"Afficher la section des raccourcis dans le panneau de navigation."},shortcutBadgeDisplay:{name:"Badge de raccourci",desc:"Contenu affiché à côté des raccourcis. Utilisez les commandes 'Ouvrir le raccourci 1-9' pour ouvrir les raccourcis directement.",options:{index:"Position (1-9)",count:"Nombre d'éléments",none:"Aucun"}},showRecentNotes:{name:"Afficher les fichiers récents",desc:"Afficher la section des fichiers récents dans le panneau de navigation."},hideRecentNotes:{name:"Masquer les types de fichiers des fichiers récents",desc:"Choisir les types de fichiers à masquer dans la section des fichiers récents.",options:{none:"Aucun",folderNotes:"Notes de dossier"}},recentNotesCount:{name:"Nombre de fichiers récents",desc:"Nombre de fichiers récents à afficher."},pinRecentNotesWithShortcuts:{name:"Épingler les fichiers récents avec les raccourcis",desc:"Inclure les fichiers récents lors de l'épinglage des raccourcis."},calendarEnabled:{name:"Activer le calendrier",desc:"Activer les fonctionnalités de calendrier de Notebook Navigator."},calendarPlacement:{name:"Emplacement du calendrier",desc:"Afficher dans la barre latérale gauche ou droite.",options:{leftSidebar:"Barre latérale gauche",rightSidebar:"Barre latérale droite"}},calendarLeftPlacement:{name:"Emplacement en mode panneau unique",desc:"Où le calendrier est affiché en mode panneau unique.",options:{navigationPane:"Panneau de navigation",below:"Sous les panneaux"}},calendarLocale:{name:"Langue",desc:"Contrôle le formatage des dates du calendrier, la numérotation des semaines et le premier jour de la semaine.",weekPathMismatchWarning:"Le calendrier visible et les chemins des notes hebdomadaires utilisent des débuts de semaine ou une numérotation des semaines différents.",options:{systemDefault:"Par défaut"}},calendarWeekendDays:{name:"Jours de week-end",desc:"Afficher les jours de week-end avec une couleur de fond différente.",options:{none:"Aucun",satSun:"Samedi et dimanche",friSat:"Vendredi et samedi",thuFri:"Jeudi et vendredi"}},calendarMonthHeadingFormat:{name:"Format du nom du mois",desc:"Nom du mois complet (janvier) ou abrégé (janv.).",options:{full:"janvier (complet)",short:"janv. (court)"}},showInfoButtons:{name:"Afficher les boutons d'information",desc:"Afficher les boutons d'information dans la barre de recherche et l'en-tête du calendrier."},calendarWeeksToShow:{name:"Semaines à afficher dans la barre latérale gauche",desc:"Le calendrier dans la barre latérale droite affiche toujours le mois complet.",options:{fullMonth:"Mois complet",oneWeek:"1 semaine",weeksCount:"{count} semaines"}},calendarHighlightToday:{name:"Mettre en évidence la date d'aujourd'hui",desc:"Mettre en évidence la date d'aujourd'hui avec une couleur de fond et du texte en gras."},calendarShowFeatureImage:{name:"Afficher l'image mise en avant",desc:"Afficher les images mises en avant des notes dans le calendrier."},calendarShowWeekNumber:{name:"Afficher le numéro de semaine",desc:"Ajouter une colonne avec le numéro de semaine."},calendarShowQuarter:{name:"Afficher le trimestre",desc:"Ajouter une étiquette de trimestre dans l'en-tête du calendrier."},calendarShowYearCalendar:{name:"Afficher le calendrier annuel",desc:"Afficher la navigation annuelle et la grille des mois dans la barre latérale droite."},calendarConfirmBeforeCreate:{name:"Confirmer avant de créer",desc:"Afficher une boîte de dialogue de confirmation lors de la création d'une nouvelle note quotidienne."},calendarIntegrationMode:{name:"Source des notes quotidiennes",desc:"Source pour les notes du calendrier.",options:{dailyNotes:"Notes quotidiennes (plugin principal)",notebookNavigator:"Notebook Navigator"},info:{dailyNotes:"Le dossier et le format de date sont configurés dans le plugin Notes quotidiennes."}},calendarPeriodicNotesLocale:{name:"Langue des notes périodiques",desc:"Contrôle les noms de mois localisés, les noms de jours de la semaine, les numéros de semaine et les débuts de semaine dans les chemins de notes périodiques de Notebook Navigator.",options:{calendar:"Calendrier",obsidian:"Obsidian"}},calendarCustomRootFolder:{name:"Dossier racine",desc:"Dossier de base pour les notes périodiques. Les modèles de date peuvent inclure des sous-dossiers. Change avec le profil de coffre sélectionné.",placeholder:"Personal/Diary"},calendarTemplateFolder:{name:"Emplacement du dossier de modèles",desc:"Le sélecteur de fichiers de modèles affiche les notes de ce dossier.",placeholder:"Templates",usage:"Utilisé par les notes de calendrier et les notes de dossier. Configurez les modèles dans Calendrier > Intégration du calendrier et Dossiers et notes de dossier > Fichiers de notes de dossier."},calendarCustomFilePattern:{name:"Notes quotidiennes",desc:"Formater le chemin en utilisant le format de date Moment. Entourez les noms de sous-dossiers de crochets, par ex. [Work]/YYYY. Cliquez sur l'icône de modèle pour définir un modèle. Définir l'emplacement du dossier de modèles dans Opérations sur les fichiers > Modèles.",momentDescPrefix:"Formater le chemin en utilisant le ",momentLinkText:"format de date Moment",momentDescSuffix:". Entourez les noms de sous-dossiers de crochets, par ex. [Work]/YYYY. Cliquez sur l'icône de modèle pour définir un modèle. Définir l'emplacement du dossier de modèles dans Opérations sur les fichiers > Modèles.",templaterSupportInstalled:"✅ Le plugin Templater est installé avec la prise en charge complète des modèles.",templaterSupportMissing:"⚠️ Installez le plugin Templater pour la prise en charge complète des modèles.",placeholder:"YYYY/YYYYMMDD",example:"Syntaxe actuelle : {path}",parsingError:"Le modèle doit pouvoir être formaté et ré-analysé comme une date complète (année, mois, jour)."},calendarCustomWeekPattern:{name:"Notes hebdomadaires",parsingError:"Le modèle doit pouvoir être formaté et ré-analysé comme une semaine complète (année de semaine, numéro de semaine).",weekPathMismatchWarning:'Les chemins des notes hebdomadaires utilisent la langue des notes périodiques. Utilisez des langues correspondantes, ou utilisez "GGGG" avec "WW" pour des semaines basées sur le lundi.',mixedWeekTokensWarning:'Ce modèle mélange des jetons de semaine basés sur le lundi ("W" ou "G") avec des jetons de semaine basés sur la langue ("w" ou "g"). Utilisez un seul ensemble de manière cohérente : "GGGG" avec "WW" pour des semaines basées sur le lundi, ou "gggg" avec "ww" si les notes hebdomadaires doivent suivre la langue sélectionnée.'},calendarCustomMonthPattern:{name:"Notes mensuelles",parsingError:"Le modèle doit pouvoir être formaté et ré-analysé comme un mois complet (année, mois)."},calendarCustomQuarterPattern:{name:"Notes trimestrielles",parsingError:"Le modèle doit pouvoir être formaté et ré-analysé comme un trimestre complet (année, trimestre)."},calendarCustomYearPattern:{name:"Notes annuelles",parsingError:"Le modèle doit pouvoir être formaté et ré-analysé comme une année complète (année)."},calendarTemplateFile:{current:"Fichier modèle : {name}"},showTooltips:{name:"Afficher les infobulles",desc:"Affiche des infobulles avec des informations supplémentaires pour les notes et dossiers au survol."},showTooltipPath:{name:"Afficher le chemin dans les infobulles",desc:"Affiche le chemin du dossier sous le nom des notes dans les infobulles."},showTooltipWordCount:{name:"Afficher le nombre de mots dans les infobulles",desc:"Affiche le nombre de mots des notes dans les infobulles."},resetPaneSeparator:{name:"Réinitialiser la position du séparateur de panneaux",desc:"Réinitialise le séparateur déplaçable entre le panneau de navigation et le panneau de liste à la position par défaut.",buttonText:"Réinitialiser le séparateur",notice:"Position du séparateur réinitialisée. Redémarrez Obsidian ou rouvrez Notebook Navigator pour appliquer."},settingsTransfer:{name:"Importer et exporter les paramètres",desc:"Exporter ou importer les paramètres de Notebook Navigator au format JSON. L’importation remplace tous les paramètres.",importButtonText:"Importer",exportButtonText:"Exporter",import:{modalTitle:"Importer les paramètres",fileButtonName:"Importer depuis un fichier",fileButtonDesc:"Charger un fichier JSON depuis le disque.",fileButtonText:"Importer depuis un fichier",editorName:"JSON",editorDesc:"Collez ou modifiez le JSON ci-dessous. Les paramètres non inclus sont réinitialisés aux valeurs par défaut.",placeholder:`{
  "folderSortOrder": "alpha-desc"
}`,confirmButtonText:"Importer",successNotice:"Paramètres importés.",errorNotice:"Échec de l'importation des paramètres : {message}",fileReadError:"Impossible de lire le fichier : {message}"},export:{modalTitle:"Exporter les paramètres",editorName:"JSON",editorDesc:"Seuls les paramètres modifiés par rapport aux valeurs par défaut sont inclus.",placeholder:"{}",copyButtonText:"Copier dans le presse-papiers",downloadButtonText:"Télécharger",copyNotice:"Paramètres copiés dans le presse-papiers.",downloadNotice:"Paramètres exportés.",downloadError:"Échec du téléchargement des paramètres : {message}"}},resetAllSettings:{name:"Réinitialiser tous les paramètres",desc:"Réinitialise tous les paramètres de Notebook Navigator aux valeurs par défaut.",buttonText:"Réinitialiser tous les paramètres",confirmTitle:"Réinitialiser tous les paramètres ?",confirmMessage:"Cela réinitialisera tous les paramètres de Notebook Navigator aux valeurs par défaut. Cette action est irréversible.",confirmButtonText:"Réinitialiser tous les paramètres",notice:"Tous les paramètres réinitialisés. Redémarrez Obsidian ou rouvrez Notebook Navigator pour appliquer.",error:"Échec de la réinitialisation des paramètres."},multiSelectModifier:{name:"Modificateur de sélection multiple",desc:"Choisissez quelle touche modificatrice active la sélection multiple. Quand Option/Alt est sélectionné, Cmd/Ctrl clic ouvre les notes dans un nouvel onglet.",options:{cmdCtrl:"Cmd/Ctrl clic",optionAlt:"Option/Alt clic"}},enterToOpenFiles:{name:"Appuyer sur Entrée pour ouvrir",desc:"Ouvrir les fichiers uniquement en appuyant sur Entrée lors de la navigation au clavier dans la liste. Sur macOS, cela empêche Entrée de renommer les fichiers."},shiftEnterOpenContext:{name:"Shift+Entrée",desc:"Choisir si Shift+Entrée ouvre ou renomme le fichier sélectionné."},cmdEnterOpenContext:{name:"Cmd+Entrée",desc:"Choisir si Cmd+Entrée ouvre ou renomme le fichier sélectionné."},ctrlEnterOpenContext:{name:"Ctrl+Entrée",desc:"Choisir si Ctrl+Entrée ouvre ou renomme le fichier sélectionné."},mouseBackForwardAction:{name:"Boutons précédent/suivant de la souris",desc:"Action des boutons précédent et suivant de la souris sur ordinateur.",options:{none:"Utiliser la valeur système par défaut",singlePaneSwitch:"Changer de volet (volet unique)",history:"Naviguer dans l'historique"}},excludedNotes:{name:"Masquer les notes avec des règles de propriétés (profil du coffre)",desc:"Liste de règles de métadonnées séparées par des virgules. Utilisez des entrées `key` ou `key=value` (ex. : status=done, published=true, archived).",placeholder:"status=done, published=true, archived"},excludedFileNamePatterns:{name:"Masquer les fichiers (profil du coffre)",desc:"Liste de motifs de noms de fichiers séparés par des virgules à masquer. Prend en charge les caractères génériques * et les chemins / (ex. : temp-*, *.png, /assets/*).",placeholder:"temp-*, *.png, /assets/*"},vaultProfiles:{name:"Profil du coffre",desc:"Les profils stockent la visibilité des types de fichiers, les fichiers cachés, les dossiers cachés, les étiquettes cachées, les règles de propriétés pour les notes cachées, les raccourcis et la bannière de navigation. Changez de profil depuis l'en-tête du panneau de navigation.",defaultName:"Par défaut",addButton:"Ajouter un profil",editProfilesButton:"Modifier les profils",addProfileOption:"Ajouter un profil...",applyButton:"Appliquer",deleteButton:"Supprimer le profil",addModalTitle:"Ajouter un profil",editProfilesModalTitle:"Modifier les profils",addModalPlaceholder:"Nom du profil",deleteModalTitle:"Supprimer {name}",deleteModalMessage:"Supprimer {name} ? Les filtres de fichiers, dossiers, étiquettes et notes basés sur les propriétés enregistrés dans ce profil seront supprimés.",moveUp:"Déplacer vers le haut",moveDown:"Déplacer vers le bas",errors:{emptyName:"Entrez un nom de profil",duplicateName:"Le nom du profil existe déjà"}},vaultTitle:{name:"Placement du titre du coffre",desc:"Choisissez où le titre du coffre est affiché.",options:{header:"Afficher dans l'en-tête",navigation:"Afficher dans le panneau de navigation"}},excludedFolders:{name:"Masquer les dossiers (profil du coffre)",desc:"Liste de dossiers à masquer séparés par des virgules. Modèles de nom : assets* (dossiers commençant par assets), *_temp (finissant par _temp). Modèles de chemin : /archive (archive racine uniquement), /res* (dossiers racine commençant par res), /*/temp (dossiers temp un niveau plus bas), /projects/* (tous les dossiers dans projects).",placeholder:"templates, assets*, /archive, /res*"},fileVisibility:{name:"Afficher les types de fichiers (profil du coffre)",desc:"Filtrez quels types de fichiers sont affichés dans le navigateur. Les types de fichiers non pris en charge par Obsidian peuvent s'ouvrir dans des applications externes.",options:{documents:"Documents (.md, .canvas, .base)",supported:"Pris en charge (ouvre dans Obsidian)",all:"Tous (peut ouvrir en externe)"}},homepage:{name:"Page d’accueil",desc:"Choisissez ce que Notebook Navigator ouvre automatiquement au démarrage.",current:"Actuel : {path}",chooseButton:"Choisir un fichier",options:{none:"Aucun",file:"Fichier",dailyNote:"Note quotidienne",weeklyNote:"Note hebdomadaire",monthlyNote:"Note mensuelle",quarterlyNote:"Note trimestrielle",yearlyNote:"Note annuelle"},file:{name:"Page d’accueil : Fichier de démarrage",empty:"Aucun fichier sélectionné"},createMissing:{name:"Page d’accueil : Créer la note si absente",desc:"Crée la note périodique au démarrage ou via la commande si elle n'existe pas."}},showFileDate:{name:"Afficher la date",desc:"Afficher la date sous les noms des notes."},alphabeticalDateMode:{name:"Lors du tri par nom",desc:"Date affichée lorsque les notes sont triées alphabétiquement.",options:{created:"Date de création",modified:"Date de modification"}},showFileTags:{name:"Afficher les tags de fichier",desc:"Affiche les tags cliquables dans les éléments de fichier."},showFileTagAncestors:{name:"Afficher les chemins complets des tags",desc:"Afficher les chemins complets de la hiérarchie des tags. Activé : 'ai/openai', 'travail/projets/2024'. Désactivé : 'openai', '2024'."},colorFileTags:{name:"Colorer les tags de fichier",desc:"Appliquer les couleurs de tags aux badges de tags sur les éléments de fichier."},prioritizeColoredFileTags:{name:"Afficher les tags colorés en premier",desc:"Trie les tags colorés avant les autres tags dans les éléments de fichier."},showFileTagsInCompactMode:{name:"Afficher les tags de fichier en mode compact",desc:"Afficher les tags lorsque la date, l'aperçu et l'image sont masqués."},showFileProperties:{name:"Afficher les propriétés de fichier",desc:"Afficher les propriétés dans les éléments de fichier. Utilisez la fenêtre « Visibilité des clés de propriété » pour choisir les propriétés affichées."},colorFileProperties:{name:"Colorer les propriétés de fichier",desc:"Appliquer les couleurs de propriété aux badges de propriété dans les éléments de fichier."},prioritizeColoredFileProperties:{name:"Afficher les propriétés colorées en premier",desc:"Trier les propriétés colorées avant les autres propriétés dans les éléments de fichier."},showFilePropertiesInCompactMode:{name:"Afficher les propriétés en mode compact",desc:"Afficher les propriétés lorsque le mode compact est actif."},textCountDisplay:{name:"Type de compteur",desc:"Choisissez les compteurs de note affichés dans les éléments de fichier.",options:{none:"Aucun",words:"Nombre de mots",characters:"Nombre de caractères",both:"Nombre de mots et de caractères"}},textCountPlacement:{name:"Emplacement",desc:"Choisissez où les compteurs de note apparaissent.",options:{title:"Dans le titre",property:"Comme propriété"}},characterCountSpaces:{name:"Nombre de caractères",desc:"Choisissez si les espaces sont inclus dans le nombre de caractères.",options:{include:"Espaces inclus",exclude:"Espaces exclus"}},wordCountTargetProperty:{name:"Propriété cible",desc:"Clé de propriété frontmatter contenant l’objectif de nombre de mots. Laissez vide pour masquer les objectifs."},showWordCountPercentage:{name:"Afficher le pourcentage cible",desc:"Afficher uniquement le pourcentage de progression lorsqu’un objectif de nombre de mots est disponible."},propertyFields:{name:"Clés de propriétés (profil de coffre)",desc:"Clés de propriétés de métadonnées, avec visibilité par clé pour la navigation et la liste de fichiers.",addButtonTooltip:"Configurer les clés de propriété",noneConfigured:"Aucune propriété configurée",singleConfigured:"1 propriété configurée : {properties}",multipleConfigured:"{count} propriétés configurées : {properties}"},showPropertiesOnSeparateRows:{name:"Afficher les propriétés sur des lignes séparées",desc:"Afficher chaque propriété sur sa propre ligne."},enablePropertyInternalLinks:{name:"Lier les pastilles de propriété aux notes",desc:"Cliquer sur une pastille de propriété pour ouvrir la note liée."},enablePropertyExternalLinks:{name:"Lier les pastilles de propriété aux URLs",desc:"Cliquer sur une pastille de propriété pour ouvrir l'URL liée."},dateFormat:{name:"Format de date",desc:"Format pour afficher les dates (utilise le format Moment).",placeholder:"D MMMM YYYY",help:`Formats courants :
D MMMM YYYY = 25 mai 2022
DD/MM/YYYY = 25/05/2022
YYYY-MM-DD = 2022-05-25

Jetons :
YYYY/YY = année
MMMM/MMM/MM = mois
DD/D = jour
dddd/ddd = jour de la semaine`,helpTooltip:"Format avec Moment",momentLinkText:"format Moment"},timeFormat:{name:"Format d'heure",desc:"Format pour afficher les heures (utilise le format Moment).",placeholder:"HH:mm",help:`Formats courants :
HH:mm = 14:30 (24 heures)
h:mm a = 2:30 PM (12 heures)
HH:mm:ss = 14:30:45
h:mm:ss a = 2:30:45 PM

Jetons :
HH/H = 24 heures
hh/h = 12 heures
mm = minutes
ss = secondes
a = AM/PM`,helpTooltip:"Format avec Moment",momentLinkText:"format Moment"},showFilePreview:{name:"Afficher l'aperçu de la note",desc:"Afficher le texte d'aperçu sous les noms des notes."},skipHeadingsInPreview:{name:"Ignorer les en-têtes dans l'aperçu",desc:"Ignorer les lignes d'en-tête lors de la génération du texte d'aperçu."},skipCodeBlocksInPreview:{name:"Ignorer les blocs de code dans l'aperçu",desc:"Ignorer les blocs de code lors de la génération du texte d'aperçu."},stripHtmlInPreview:{name:"Supprimer le HTML dans les aperçus",desc:"Supprimer les balises HTML du texte d'aperçu. Peut affecter les performances sur les longues notes."},stripLatexInPreview:{name:"Supprimer le LaTeX dans les aperçus",desc:"Supprimer les expressions LaTeX en ligne et en bloc du texte d'aperçu."},previewProperties:{name:"Propriétés d'aperçu",desc:"Liste séparée par des virgules de propriétés frontmatter pour le texte d'aperçu. La première propriété avec du texte sera utilisée.",placeholder:"summary, description, abstract"},previewPropertiesFallback:{name:"Revenir au contenu de la note",desc:"Afficher le contenu de la note en aperçu lorsqu'aucune des propriétés spécifiées ne contient de texte."},previewRows:{name:"Lignes d'aperçu",desc:"Nombre de lignes à afficher pour le texte d'aperçu.",options:{1:"1 ligne",2:"2 lignes",3:"3 lignes",4:"4 lignes",5:"5 lignes"}},fileNameRows:{name:"Lignes de titre",desc:"Nombre de lignes à afficher pour les titres des notes.",options:{1:"1 ligne",2:"2 lignes",3:"3 lignes"}},useFolderColor:{name:"Utiliser la couleur du dossier",desc:"Colorer les titres de notes et les icônes de fichier avec la couleur du dossier parent lorsqu'aucune couleur de fichier personnalisée n'est définie. Priorité : couleur de fichier personnalisée > couleur du dossier > couleur par défaut."},showFeatureImage:{name:"Afficher l'image vedette",desc:"Affiche une miniature de la première image trouvée dans la note."},forceSquareFeatureImage:{name:"Forcer l'image vedette carrée",desc:"Afficher les images vedettes sous forme de miniatures carrées."},featureImageProperties:{name:"Propriétés d'image",desc:"Liste de propriétés frontmatter séparées par des virgules à vérifier en premier. Se rabat sur la première image dans le contenu markdown.",placeholder:"thumbnail, featureResized, feature"},featureImageExcludeProperties:{name:"Exclure les notes avec propriétés",desc:"Liste de propriétés frontmatter séparées par des virgules. Les notes contenant l'une de ces propriétés ne stockent pas d'images principales.",placeholder:"private, confidential"},featureImageSize:{name:"Taille d'affichage de l'image à la une",desc:"Taille maximale de rendu pour les images à la une dans les listes de notes.",options:{standard:"64 px",large:"96 px",extraLarge:"128 px"}},featureImagePixelSize:{name:"Taille en pixels de l'image à la une",desc:"Résolution utilisée lors de la génération des vignettes stockées des images à la une. Augmentez cette valeur si les aperçus plus grands semblent flous.",options:{standard:"256 x 144 px",large:"384 x 216 px",extraLarge:"512 x 288 px"}},downloadExternalFeatureImages:{name:"Télécharger les images externes",desc:"Télécharger les images distantes et les miniatures YouTube pour les images à la une."},hideDrawingPreviewImages:{name:"Masquer les images de prévisualisation exportées",desc:"Masquer les fichiers PNG de prévisualisation de dessin exportés. Activez « Afficher les éléments masqués » pour les afficher."},drawingIntegrationInfo:{intro:"Notebook Navigator affiche les fichiers PNG exportés par Excalidraw comme prévisualisations de dessin.",items:["Dans les **paramètres d'Excalidraw**, ouvrez **Embedding Excalidraw into your Notes and Exporting**, puis **Export Settings**, puis **Auto-export Settings**.","Activez **Auto-export PNG**. Activez éventuellement **Export both dark- and light-themed image**.","Notebook Navigator recherche **Drawing.excalidraw.png**, **Drawing.excalidraw.dark.png** ou **Drawing.excalidraw.light.png**.","Tant que **Masquer les images de prévisualisation exportées** est activé, les fichiers PNG n'apparaissent que si **Afficher les éléments masqués** est également activé."]},showRootFolder:{name:"Afficher le dossier racine",desc:"Afficher le nom du dossier racine dans l'arborescence."},showFolderIcons:{name:"Afficher les icônes de dossier",desc:"Afficher les icônes à côté des dossiers dans le panneau de navigation."},inheritFolderColors:{name:"Hériter des couleurs de dossier",desc:"Les sous-dossiers héritent de la couleur des dossiers parents."},folderSortOrder:{name:"Ordre de tri des dossiers",desc:"Faites un clic droit sur un dossier pour définir un ordre de tri différent pour ses éléments enfants.",options:{alphaAsc:"A à Z",alphaDesc:"Z à A"}},showNoteCount:{name:"Afficher le nombre de notes",desc:"Afficher le nombre de notes à côté des dossiers, étiquettes et propriétés."},showSectionIcons:{name:"Afficher les icônes pour les raccourcis et les éléments récents",desc:"Afficher les icônes à côté des éléments dans les sections Raccourcis et Récents."},interfaceIcons:{name:"Icônes de l'interface",desc:"Modifier les icônes de barre d'outils, dossiers, étiquettes, propriétés, éléments épinglés, recherche et tri.",buttonText:"Modifier les icônes"},showIconsColorOnly:{name:"Appliquer la couleur uniquement aux icônes",desc:"Lorsqu'activé, les couleurs personnalisées sont appliquées uniquement aux icônes. Lorsque désactivé, les couleurs sont appliquées aux icônes et aux étiquettes de texte."},navRainbowMode:{name:"Mode couleurs arc-en-ciel (profil du coffre)",desc:"Appliquer les couleurs arc-en-ciel dans le volet de navigation.",options:{none:"Désactivé",foreground:"Couleur du texte",background:"Couleur de fond"}},navRainbowFirstColor:{name:"Première couleur",desc:"Première couleur du dégradé arc-en-ciel."},navRainbowLastColor:{name:"Dernière couleur",desc:"Dernière couleur du dégradé arc-en-ciel."},navRainbowTransitionStyle:{name:"Style de transition",desc:"Interpolation utilisée entre la première et la dernière couleur.",options:{hue:"Teinte",rgb:"RGB"}},navRainbowApplyToShortcuts:{name:"Appliquer aux raccourcis",desc:"Appliquer les couleurs arc-en-ciel aux raccourcis."},navRainbowApplyToRecent:{name:"Appliquer aux éléments récents",desc:"Appliquer les couleurs arc-en-ciel aux éléments récents."},navRainbowApplyToFolders:{name:"Appliquer aux dossiers",desc:"Appliquer les couleurs arc-en-ciel aux dossiers."},navRainbowFolderScope:{name:"Portée des dossiers",desc:"Sélectionner les niveaux de dossier qui démarrent les attributions de couleur.",options:{root:"Niveau racine",child:"Niveau enfant",all:"Tous les niveaux"}},navRainbowApplyToTags:{name:"Appliquer aux tags",desc:"Appliquer les couleurs arc-en-ciel aux tags."},navRainbowTagScope:{name:"Portée des tags",desc:"Sélectionner les niveaux de tag qui démarrent les attributions de couleur.",options:{root:"Niveau racine",child:"Niveau enfant",all:"Tous les niveaux"}},navRainbowApplyToProperties:{name:"Appliquer aux propriétés",desc:"Appliquer les couleurs arc-en-ciel aux propriétés."},navRainbowBalanceHueLuminance:{name:"Luminosité uniforme entre les teintes",desc:"Interpole la luminosité entre les couleurs de début et de fin lors des transitions de teinte."},navRainbowSeparateThemeColors:{name:"Couleurs séparées pour les modes clair et sombre",desc:"Utiliser des couleurs arc-en-ciel différentes pour le mode clair et le mode sombre."},navRainbowCopyLightToDark:"Copier la couleur du mode clair vers le mode sombre",navRainbowPropertyScope:{name:"Portée des propriétés",desc:"Sélectionner les niveaux de propriété qui démarrent les attributions de couleur.",options:{root:"Niveau racine",child:"Niveau enfant",all:"Tous les niveaux"}},collapseBehavior:{name:"Replier les éléments",desc:"Choisissez ce que le bouton déplier/replier tout affecte.",options:{all:"Tout",foldersOnly:"Dossiers uniquement",tagsOnly:"Étiquettes uniquement",propertiesOnly:"Propriétés uniquement"}},smartCollapse:{name:"Garder l'élément sélectionné déplié",desc:"Lors du repliement, garde l'élément sélectionné et ses parents dépliés."},excludeVaultRootFromCollapse:{name:"Ignorer la racine du coffre lors du repliement",desc:"Lors du repliement de tous les éléments, garde le dossier racine du coffre dans son état actuel."},navIndent:{name:"Indentation de l'arbre",desc:"Ajuster la largeur d'indentation pour les dossiers, étiquettes et propriétés imbriqués (pixels)."},navItemHeight:{name:"Hauteur de ligne",desc:"Ajuster la hauteur des dossiers, étiquettes et propriétés dans le panneau de navigation (pixels)."},navItemHeightScaleText:{name:"Adapter le texte à la hauteur de ligne",desc:"Réduit le texte de navigation lorsque la hauteur de ligne est diminuée."},showIndentGuides:{name:"Afficher les guides d'indentation",desc:"Afficher les guides d'indentation pour les dossiers, étiquettes et propriétés imbriqués."},navCountLeaderStyle:{name:"Afficher les points de conduite",desc:"Afficher des points, des tirets ou une ligne entre les noms des éléments et le nombre de notes.",options:{none:"Aucun",dots:"Points (...)",dashes:"Tirets (---)",line:"Ligne"}},navRootSpacing:{name:"Espacement des éléments racine",desc:"Espacement entre les dossiers, étiquettes et propriétés de niveau racine (pixels)."},showTags:{name:"Afficher les étiquettes",desc:"Afficher la section des étiquettes dans le navigateur."},showTagIcons:{name:"Afficher les icônes d'étiquettes",desc:"Afficher les icônes à côté des étiquettes dans le panneau de navigation."},inheritTagColors:{name:"Hériter les couleurs d'étiquettes",desc:"Les étiquettes enfants héritent de la couleur des étiquettes parentes."},tagSortOrder:{name:"Ordre de tri des étiquettes",desc:"Faites un clic droit sur une étiquette pour définir un ordre de tri différent pour ses éléments enfants.",options:{alphaAsc:"A à Z",alphaDesc:"Z à A",frequency:"Fréquence",lowToHigh:"faible vers élevée",highToLow:"élevée vers faible"}},showAllTagsFolder:{name:"Afficher le dossier des étiquettes",desc:'Afficher "Étiquettes" comme un dossier repliable.'},showUntagged:{name:"Afficher les notes sans étiquette",desc:`Afficher l'élément "Sans étiquette" pour les notes sans aucune étiquette.`},scopeTagsToCurrentContext:{name:"Filtrer les étiquettes par sélection",desc:"Afficher uniquement les étiquettes présentes dans les notes du dossier ou de la propriété sélectionnée."},keepEmptyTagsProperty:{name:"Conserver la propriété tags après suppression de la dernière étiquette",desc:"Conserve la propriété tags dans le frontmatter lorsque toutes les étiquettes sont supprimées. Si désactivé, la propriété tags est supprimée du frontmatter."},showProperties:{name:"Afficher les propriétés",desc:"Afficher la section des propriétés dans le navigateur.",propertyKeysInfoPrefix:"Configurer les propriétés dans ",propertyKeysInfoLinkText:"Démarrage > Clés de propriétés",propertyKeysInfoSuffix:""},showPropertyIcons:{name:"Afficher les icônes de propriétés",desc:"Afficher les icônes à côté des propriétés dans le panneau de navigation."},inheritPropertyColors:{name:"Hériter des couleurs de propriété",desc:"Les valeurs de propriété héritent de la couleur et du fond de leur clé de propriété."},propertySortOrder:{name:"Ordre de tri des propriétés",desc:"Cliquez droit sur une propriété pour définir un ordre de tri différent pour ses valeurs.",options:{alphaAsc:"A à Z",alphaDesc:"Z à A",frequency:"Fréquence",lowToHigh:"croissant",highToLow:"décroissant"}},showAllPropertiesFolder:{name:"Afficher le dossier des propriétés",desc:'Afficher "Propriétés" comme un dossier repliable.'},scopePropertiesToCurrentContext:{name:"Filtrer les propriétés par sélection",desc:"Afficher uniquement les propriétés présentes dans les notes du dossier ou de l'étiquette sélectionnée."},hiddenTags:{name:"Masquer les étiquettes (profil du coffre)",desc:"Liste séparée par des virgules de motifs d'étiquettes. Motifs de nom : tag* (commence par), *tag (termine par). Motifs de chemin : archive (étiquette et descendants), archive/* (descendants uniquement), projets/*/brouillons (joker intermédiaire).",placeholder:"archive*, *brouillon, projets/*/ancien"},hiddenFileTags:{name:"Masquer les notes avec tags (profil du coffre)",desc:"Comma-separated list of tag patterns. Notes containing matching tags are hidden. Name patterns: tag* (starting with), *tag (ending with). Path patterns: archive (tag and descendants), archive/* (descendants only), projects/*/drafts (mid-segment wildcard).",placeholder:"archive*, *draft, projects/*/old"},enableFolderNotes:{name:"Activer les notes de dossier",desc:"Les dossiers ayant un fichier de note correspondant sont affichés comme des liens cliquables."},folderNoteType:{name:"Type de note de dossier par défaut",desc:"Type de note de dossier créé depuis le menu contextuel.",options:{ask:"Demander lors de la création",markdown:"Markdown",canvas:"Canvas",base:"Base"}},folderNoteName:{name:"Nom de la note de dossier",desc:"Nom de la note de dossier. Laisser vide pour utiliser le même nom que le dossier.",placeholder:"index"},folderNoteNamePattern:{name:"Modèle de nom de note de dossier",desc:"Modèle de nom pour les notes de dossier sans extension. Utilisez {{folder}} pour insérer le nom du dossier. Lorsque défini, le nom de note de dossier ne s'applique pas."},folderNoteTemplate:{name:"Modèle de note de dossier",desc:"Fichier modèle utilisé lors de la création de notes de dossier. Les modèles Markdown peuvent utiliser Templater. Les modèles Canvas et Base sont copiés comme contenu de fichier. Définir l'emplacement du dossier de modèles dans Opérations sur les fichiers > Modèles.",formatWarning:"Le format du modèle doit correspondre au type de note de dossier sélectionné : .md, .canvas ou .base."},enableFolderNoteLinks:{name:"Les noms de dossier ouvrent les notes de dossier",desc:"Cliquer sur un nom de dossier ouvre sa note de dossier. Lorsque cette option est désactivée, les notes de dossier fournissent uniquement des métadonnées de dossier comme le nom, l'icône et la couleur."},hideFolderNoteInList:{name:"Masquer les notes de dossier dans la liste",desc:"Masquer les notes de dossier dans la liste des fichiers."},pinCreatedFolderNote:{name:"Épingler les notes de dossier créées",desc:"Épingler les notes de dossier lors de leur création depuis le menu contextuel."},folderNoteOpenLocation:{name:"Ouvrir les notes de dossier dans",desc:"Choisir où les notes de dossier s'ouvrent lors du clic sur les liens de notes de dossier.",options:{currentTab:"Onglet actuel",newTab:"Nouvel onglet",rightSidebar:"Barre latérale droite"}},showNearestFolderNoteInSidebar:{name:"Barre latérale droite : Afficher la note de dossier la plus proche",desc:"Lorsqu'un dossier est sélectionné, la barre latérale droite affiche automatiquement la note de dossier ancêtre la plus proche."},confirmBeforeDelete:{name:"Confirmer avant de supprimer",desc:"Afficher une boîte de dialogue de confirmation lors de la suppression de notes ou de dossiers"},deleteAttachments:{name:"Supprimer les pièces jointes lors de la suppression de fichiers",desc:"Supprimer automatiquement les pièces jointes liées et les aperçus de dessins générés s'ils ne sont pas utilisés ailleurs",options:{ask:"Demander à chaque fois",always:"Toujours",never:"Jamais"}},moveFileConflicts:{name:"Conflits de déplacement",desc:"Lors du déplacement d'un fichier dans un dossier où un fichier du même nom existe déjà. Demander à chaque fois (renommer, écraser, annuler) ou toujours renommer.",options:{ask:"Demander à chaque fois",rename:"Toujours renommer"}},metadataCleanup:{name:"Nettoyer les métadonnées",desc:"Supprime les métadonnées orphelines laissées lorsque des fichiers, dossiers, étiquettes ou propriétés sont supprimés, déplacés ou renommés en dehors d'Obsidian. Cela n'affecte que le fichier de configuration de Notebook Navigator.",buttonText:"Nettoyer les métadonnées",error:"Échec du nettoyage des paramètres",loading:"Vérification des métadonnées...",statusClean:"Aucune métadonnée à nettoyer",statusCounts:"Éléments orphelins: {folders} dossiers, {tags} étiquettes, {properties} propriétés, {files} fichiers, {pinned} épingles, {separators} séparateurs"},rebuildCache:{name:"Reconstruire le cache",desc:"Utilisez ceci si des étiquettes manquent, les aperçus sont incorrects ou des images manquent. Cela peut arriver après des conflits de synchronisation ou des fermetures inattendues.",buttonText:"Reconstruire le cache",error:"Échec de la reconstruction du cache",indexingTitle:"Indexation du coffre...",progress:"Mise à jour du cache de Notebook Navigator."},externalIcons:{downloadButton:"Télécharger",downloadingLabel:"Téléchargement...",removeButton:"Supprimer",statusInstalled:"Téléchargé (version {version})",statusNotInstalled:"Non téléchargé",versionUnknown:"inconnue",downloadFailed:"Échec du téléchargement de {name}. Vérifiez votre connexion et réessayez.",removeFailed:"Échec de la suppression de {name}.",infoNote:"Les packs d'icônes téléchargés synchronisent l'état d'installation entre les appareils. Les packs d'icônes restent dans la base de données locale sur chaque appareil ; la synchronisation ne fait que suivre s'ils doivent être téléchargés ou supprimés. Les packs d'icônes sont téléchargés depuis le dépôt Notebook Navigator (https://github.com/johansan/notebook-navigator/tree/main/icon-assets)."},useFrontmatterDates:{name:"Utiliser les métadonnées du frontmatter",desc:"Utiliser le frontmatter pour le nom de note, horodatages, icônes et couleurs"},frontmatterNameField:{name:"Champs de nom",desc:"Liste de champs frontmatter séparés par des virgules. La première valeur non vide est utilisée. Retombe sur le nom du fichier.",placeholder:"title, name"},frontmatterIconField:{name:"Champ d'icône",desc:"Champ frontmatter pour les icônes de fichier. Laisser vide pour utiliser les icônes enregistrées dans les paramètres.",placeholder:"icon"},frontmatterColorField:{name:"Champ de couleur",desc:"Champ frontmatter pour les couleurs de fichier. Laisser vide pour utiliser les couleurs enregistrées dans les paramètres.",placeholder:"color"},frontmatterBackgroundField:{name:"Champ d'arrière-plan",desc:"Champ frontmatter pour les couleurs d'arrière-plan. Laisser vide pour utiliser les couleurs d'arrière-plan enregistrées dans les paramètres.",placeholder:"background"},frontmatterMigration:{name:"Migrer les icônes et couleurs depuis les paramètres",desc:"Stocké dans les paramètres : {icons} icônes, {colors} couleurs.",button:"Migrer",buttonWorking:"Migration...",noticeNone:"Aucune icône ou couleur de fichier stockée dans les paramètres.",noticeDone:"Migrées {migratedIcons}/{icons} icônes, {migratedColors}/{colors} couleurs.",noticeFailures:"Entrées en échec : {failures}.",noticeError:"Échec de la migration. Consultez la console pour plus de détails."},frontmatterCreatedField:{name:"Champ d'horodatage de création",desc:"Nom du champ frontmatter pour l'horodatage de création. Laisser vide pour utiliser uniquement la date du système.",placeholder:"created"},frontmatterModifiedField:{name:"Champ d'horodatage de modification",desc:"Nom du champ frontmatter pour l'horodatage de modification. Laisser vide pour utiliser uniquement la date du système.",placeholder:"modified"},frontmatterDateFormat:{name:"Format d'horodatage",desc:"Format utilisé pour analyser les horodatages dans le frontmatter. Laisser vide pour utiliser le parsing ISO 8601.",helpTooltip:"Format avec Moment",momentLinkText:"format Moment",help:`Formats courants :
YYYY-MM-DD[T]HH:mm:ss → 2025-01-04T14:30:45
YYYY-MM-DD[T]HH:mm:ssZ → 2025-08-07T16:53:39+02:00
DD/MM/YYYY HH:mm:ss → 04/01/2025 14:30:45
MM/DD/YYYY h:mm:ss a → 01/04/2025 2:30:45 PM`},supportDevelopment:{name:"Soutenir le développement",desc:"Si vous aimez utiliser le Navigateur de Carnets, veuillez envisager de soutenir son développement continu.",buttonText:"❤️ Sponsoriser",coffeeButton:"☕️ Offrez-moi un café"},updateCheckOnStart:{name:"Vérifier les nouvelles versions au démarrage",desc:"Vérifie les nouvelles versions du plugin au démarrage et affiche une notification lorsqu'une mise à jour est disponible. Les vérifications ont lieu au maximum une fois par jour.",status:"Nouvelle version disponible : {version}"},debugLogging:{name:"Journal de débogage du démarrage",desc:"Écrit les diagnostics de démarrage dans un fichier Markdown horodaté à la racine du coffre, puis s’arrête une fois le démarrage stabilisé. Le fichier peut être synchronisé et contenir des chemins de fichiers."},whatsNew:{name:"Nouveautés dans Notebook Navigator {version}",desc:"Voir les mises à jour et améliorations récentes",buttonText:"Voir les mises à jour récentes"},masteringVideo:{name:"Maîtriser Notebook Navigator (vidéo)",desc:"Cette vidéo couvre tout ce dont vous avez besoin pour être productif avec Notebook Navigator, y compris les raccourcis clavier, la recherche, les étiquettes et la personnalisation avancée."},cacheStatistics:{localCache:"Cache local",items:"éléments",withTags:"avec étiquettes",withPreviewText:"avec texte de prévisualisation",withFeatureImage:"avec image de couverture",withMetadata:"avec métadonnées"},metadataInfo:{successfullyParsed:"Analysés avec succès",itemsWithName:"éléments avec nom",withCreatedDate:"avec date de création",withModifiedDate:"avec date de modification",withIcon:"avec icône",withColor:"avec couleur",failedToParse:"Échec de l'analyse",createdDates:"dates de création",modifiedDates:"dates de modification",checkTimestampFormat:"Vérifiez le format d'horodatage.",exportFailed:"Exporter les erreurs"}}},whatsNew:{title:"Nouveautés dans Notebook Navigator",openBannerImage:"Ouvrir l’image de bannière de la version",supportMessage:"Si vous trouvez Notebook Navigator utile, veuillez envisager de soutenir son développement.",supportButton:"Offrir un café",thanksButton:"Merci !"}}});var A1={};In(A1,{STRINGS_ID:()=>jie});var jie,O1=U(()=>{jie={common:{cancel:"Batal",delete:"Hapus",clear:"Bersihkan",remove:"Buang",restoreDefault:"Pulihkan default",submit:"Kirim",save:"Simpan",configure:"Konfigurasi",lightMode:"Mode terang",darkMode:"Mode gelap",noSelection:"Tidak ada pilihan",untagged:"Tanpa tag",featureImageAlt:"Gambar unggulan",unknownError:"Kesalahan tidak diketahui",clipboardWriteError:"Tidak dapat menulis ke clipboard",updateBannerTitle:"Pembaruan Notebook Navigator tersedia",updateBannerInstruction:"Perbarui di Pengaturan -> Plugin komunitas",previous:"Sebelumnya",next:"Berikutnya"},listPane:{emptyStateNoSelection:"Pilih folder atau tag untuk melihat catatan",emptyStateNoNotes:"Tidak ada catatan",pinnedSection:"Disematkan",notesSection:"Catatan",filesSection:"File",hiddenItemAriaLabel:"{name} (tersembunyi)",collapseGroup:"Ciutkan grup",expandGroup:"Bentangkan grup",manualSortTitle:"Urutan manual: {property}",manualSortHint:'Seret untuk mengatur ulang. Urutan disimpan sebagai nilai indeks numerik di properti "{property}".',manualSortNonMarkdownHint:"File non-Markdown ditampilkan di bawah dan tidak dapat diatur ulang.",unsortedSection:"Belum diurutkan",manualSortDone:"Selesai",manualSortMultipleWriteFailure:"{count} file gagal; pertama: {path}: {message}"},tagList:{untaggedLabel:"Tanpa tag",tags:"Tag"},navigationPane:{shortcutsHeader:"Pintasan",recentFilesHeader:"File terbaru",properties:"Properti",reorderRootFoldersTitle:"Atur ulang navigasi",reorderRootFoldersHint:"Gunakan panah atau seret untuk mengatur ulang",vaultRootLabel:"Vault",resetRootToAlpha:"Atur ulang ke urutan abjad",resetRootToFrequency:"Atur ulang ke urutan frekuensi",pinShortcuts:"Sematkan pintasan",pinShortcutsAndRecentFiles:"Sematkan pintasan dan file terbaru",unpinShortcuts:"Lepas sematan pintasan",unpinShortcutsAndRecentFiles:"Lepas sematan pintasan dan file terbaru",profileMenuAria:"Ubah profil vault"},navigationCalendar:{ariaLabel:"Kalender",dailyNotesNotEnabled:"Plugin catatan harian tidak diaktifkan.",createDailyNote:{title:"Catatan harian baru",message:"File {filename} tidak ada. Apakah Anda ingin membuatnya?",confirmButton:"Buat"},helpModal:{title:"Pintasan kalender",items:["Klik hari mana pun untuk membuka atau membuat catatan harian. Minggu, bulan, kuartal, dan tahun berfungsi dengan cara yang sama.","Titik terisi di bawah hari berarti memiliki catatan. Titik kosong berarti memiliki tugas yang belum selesai.","Jika catatan memiliki gambar fitur, gambar tersebut muncul sebagai latar belakang hari."],dateFilterCmdCtrl:"`Cmd/Ctrl`+klik pada tanggal untuk memfilter berdasarkan tanggal tersebut di daftar file.",dateFilterOptionAlt:"`Option/Alt`+klik pada tanggal untuk memfilter berdasarkan tanggal tersebut di daftar file."}},dailyNotes:{templateReadFailed:"Gagal membaca template catatan harian.",createFailed:"Tidak dapat membuat catatan harian."},shortcuts:{folderExists:"Folder sudah ada di pintasan",noteExists:"Catatan sudah ada di pintasan",tagExists:"Tag sudah ada di pintasan",propertyExists:"Properti sudah ada di pintasan",invalidProperty:"Pintasan properti tidak valid",searchExists:"Pintasan pencarian sudah ada",emptySearchQuery:"Masukkan kueri pencarian sebelum menyimpan",emptySearchName:"Masukkan nama sebelum menyimpan pencarian",add:"Tambahkan ke pintasan",addNotesCount:"Tambahkan {count} catatan ke pintasan",addFilesCount:"Tambahkan {count} file ke pintasan",rename:"Ubah nama pintasan",remove:"Hapus dari pintasan",removeAll:"Hapus semua pintasan",removeAllConfirm:"Hapus semua pintasan?",folderNotesPinned:"Menyematkan {count} catatan folder"},paneHeader:{collapseAllFolders:"Ciutkan item",expandAllFolders:"Luaskan semua item",showCalendar:"Tampilkan kalender",hideCalendar:"Sembunyikan kalender",newFolder:"Folder baru",newNote:"Catatan baru",mobileBackToNavigation:"Kembali ke navigasi",changeChildSortOrder:"Ubah urutan",changeSortAndGroup:"Ubah urutan dan grup",resetViewToDefaults:"Atur ulang tampilan ke default",manualSort:"Urutan manual",editSortOrder:"Edit urutan...",removeSortProperty:"Hapus properti urutan",descendants:"turunan",subfolders:"subfolder",subtags:"subtag",childValues:"nilai anak",applySortAndGroupToDescendants:t=>`Terapkan urutan dan grup ke ${t}`,applyAppearanceToDescendants:t=>`Terapkan tampilan ke ${t}`,showFolders:"Tampilkan navigasi",reorderRootFolders:"Atur ulang navigasi",finishRootFolderReorder:"Selesai",showExcludedItems:"Tampilkan folder, tag, dan catatan tersembunyi",hideExcludedItems:"Sembunyikan folder, tag, dan catatan tersembunyi",showDualPane:"Tampilkan panel ganda",showSinglePane:"Tampilkan panel tunggal",dualPaneAutoFallbackNotice:'Panel ganda tidak tersedia saat bilah samping terlalu sempit. Untuk mengubahnya, atur "Saat bilah samping terlalu sempit" ke "Jangan lakukan apa pun" di Pengaturan > Tampilan & perilaku.',changeAppearance:"Ubah tampilan",showNotesFromSubfolders:"Tampilkan catatan dari subfolder",showFilesFromSubfolders:"Tampilkan file dari subfolder",showNotesFromDescendants:"Tampilkan catatan dari turunan",showFilesFromDescendants:"Tampilkan file dari turunan",search:"Cari"},searchInput:{placeholder:"Cari...",placeholderOmnisearch:"Omnisearch...",clearSearch:"Bersihkan pencarian",switchToFilterSearch:"Beralih ke pencarian filter",switchToOmnisearch:"Beralih ke Omnisearch",saveSearchShortcut:"Simpan pintasan pencarian",removeSearchShortcut:"Hapus pintasan pencarian",shortcutModalTitle:"Simpan pintasan pencarian",shortcutNamePlaceholder:"Masukkan nama pintasan",shortcutStartIn:"Selalu mulai di: {path}",searchHelp:"Sintaks pencarian",searchHelpTitle:"Sintaks pencarian",searchHelpModal:{intro:"Gabungkan nama file, properti, tag, tanggal, dan filter dalam satu kueri (contoh: `meeting .status=active #work @thisweek`). Instal plugin Omnisearch untuk menggunakan pencarian teks lengkap.",introSwitching:"Beralih antara pencarian filter dan Omnisearch menggunakan tombol panah atas/bawah atau dengan mengklik ikon pencarian.",sections:{fileNames:{title:"Nama file",items:['`word` Temukan catatan dengan "word" di nama file.',"`word1 word2` Setiap kata harus cocok dengan nama file.",'`-word` Kecualikan catatan dengan "word" di nama file.']},tags:{title:"Tag",items:["`#tag` Sertakan catatan dengan tag (juga cocok dengan tag bersarang seperti `#tag/subtag`).","`#` Sertakan hanya catatan dengan tag.","`-#tag` Kecualikan catatan dengan tag.","`-#` Sertakan hanya catatan tanpa tag.","`#tag1 #tag2` Cocokkan kedua tag (AND implisit).","`#tag1 AND #tag2` Cocokkan kedua tag (AND eksplisit).","`#tag1 OR #tag2` Cocokkan salah satu tag.","`#a OR #b AND #c` AND memiliki prioritas lebih tinggi: cocok dengan `#a`, atau keduanya `#b` dan `#c`.","Cmd/Ctrl+Klik tag untuk menambahkan dengan AND. Cmd/Ctrl+Shift+Klik untuk menambahkan dengan OR."]},properties:{title:"Properti",items:["`.key` Sertakan catatan dengan kunci properti.","`.key=value` Sertakan catatan yang nilai propertinya mengandung `value`.",'`."Reading Status"` Sertakan catatan dengan kunci properti yang mengandung spasi.','`."Reading Status"="In Progress"` Kunci dan nilai yang mengandung spasi harus diapit tanda kutip ganda.',"`-.key` Kecualikan catatan dengan kunci properti.","`-.key=value` Kecualikan catatan yang nilai propertinya mengandung `value`.","Cmd/Ctrl+Klik properti untuk menambahkan dengan AND. Cmd/Ctrl+Shift+Klik untuk menambahkan dengan OR."]},tasks:{title:"Filter",items:["`has:task` Sertakan catatan dengan tugas yang belum selesai.","`-has:task` Kecualikan catatan dengan tugas yang belum selesai.","`folder:meetings` Sertakan catatan di mana nama folder mengandung `meetings`.","`folder:/work/meetings` Sertakan catatan hanya di `work/meetings` (tidak termasuk subfolder).","`folder:/` Sertakan catatan hanya di root vault.","`-folder:archive` Kecualikan catatan di mana nama folder mengandung `archive`.","`-folder:/archive` Kecualikan catatan hanya di `archive` (tidak termasuk subfolder).","`ext:md` Sertakan catatan dengan ekstensi `md` (`ext:.md` juga didukung).","`-ext:pdf` Kecualikan catatan dengan ekstensi `pdf`.","Gabungkan dengan tag, nama, dan tanggal (contoh: `folder:/work/meetings ext:md @thisweek`)."]},connectors:{title:"Perilaku AND/OR",items:["`AND` dan `OR` adalah operator hanya dalam kueri yang khusus berisi tag dan properti.","Kueri khusus tag dan properti hanya berisi filter tag dan properti: `#tag`, `-#tag`, `#`, `-#`, `.key`, `-.key`, `.key=value`, `-.key=value`.","Jika kueri menyertakan nama, tanggal (`@...`), filter tugas (`has:task`), filter folder (`folder:...`), atau filter ekstensi (`ext:...`), `AND` dan `OR` dicocokkan sebagai kata.","Contoh kueri operator: `#work OR .status=started`.","Contoh kueri campuran: `#work OR ext:md` (`OR` dicocokkan dalam nama file)."]},dates:{title:"Tanggal",items:["`@today` Temukan catatan hari ini menggunakan field tanggal default.","`@yesterday`, `@last7d`, `@last30d`, `@thisweek`, `@thismonth` Rentang tanggal relatif.","`@2026-02-07` Temukan hari tertentu (juga mendukung `@20260207`).","`@2026` Temukan tahun kalender.","`@2026-02` atau `@202602` Temukan bulan kalender.","`@2026-W05` atau `@2026W05` Temukan minggu ISO.","`@2026-Q2` atau `@2026Q2` Temukan kuartal kalender.","`@13/02/2026` Format numerik dengan pemisah (`@07022026` mengikuti lokal Anda saat ambigu).","`@2026-02-01..2026-02-07` Temukan rentang hari inklusif (ujung terbuka didukung).","`@c:...` atau `@m:...` Targetkan tanggal pembuatan atau modifikasi.","`-@...` Kecualikan kecocokan tanggal."]},omnisearch:{title:"Omnisearch",items:["Pencarian teks lengkap di seluruh vault, difilter berdasarkan folder saat ini atau tag yang dipilih.","Bisa lambat dengan kurang dari 3 karakter di vault besar.","Tidak dapat mencari jalur dengan karakter non-ASCII atau mencari subjalur dengan benar.","Mengembalikan hasil terbatas sebelum filter folder, sehingga file yang relevan mungkin tidak muncul jika banyak kecocokan ada di tempat lain.","Pratinjau catatan menampilkan kutipan Omnisearch alih-alih teks pratinjau default."]}}}},contextMenu:{file:{openInNewTab:"Buka di tab baru",openToRight:"Buka di sebelah kanan",openInNewWindow:"Buka di jendela baru",openMultipleInNewTabs:"Buka {count} catatan di tab baru",openMultipleFilesInNewTabs:"Buka {count} file di tab baru",openMultipleToRight:"Buka {count} catatan di sebelah kanan",openMultipleFilesToRight:"Buka {count} file di sebelah kanan",openMultipleInNewWindows:"Buka {count} catatan di jendela baru",openMultipleFilesInNewWindows:"Buka {count} file di jendela baru",pinNote:"Sematkan catatan",pinFile:"Sematkan file",unpinNote:"Lepas sematan catatan",unpinFile:"Lepas sematan file",pinMultipleNotes:"Sematkan {count} catatan",pinMultipleFiles:"Sematkan {count} file",unpinMultipleNotes:"Lepas sematan {count} catatan",unpinMultipleFiles:"Lepas sematan {count} file",duplicateNote:"Duplikat catatan",duplicateFile:"Duplikat file",duplicateMultipleNotes:"Duplikat {count} catatan",duplicateMultipleFiles:"Duplikat {count} file",openVersionHistory:"Buka riwayat versi",revealInFolder:"Tampilkan di folder",revealInFinder:"Tampilkan di Finder",showInExplorer:"Tampilkan di explorer sistem",openInDefaultApp:"Buka di aplikasi bawaan",renameNote:"Ubah nama catatan",renameFile:"Ubah nama file",deleteNote:"Hapus catatan",deleteFile:"Hapus file",setCalendarHighlight:"Atur sorotan",removeCalendarHighlight:"Hapus sorotan",deleteMultipleNotes:"Hapus {count} catatan",deleteMultipleFiles:"Hapus {count} file",moveNoteToFolder:"Pindahkan catatan ke...",moveFileToFolder:"Pindahkan file ke...",moveMultipleNotesToFolder:"Pindahkan {count} catatan ke...",moveMultipleFilesToFolder:"Pindahkan {count} file ke...",mergeNotes:"Gabungkan {count} catatan...",mergeNotesInGroup:"Gabungkan catatan dalam grup...",setManualSortGroupHeader:"Atur header grup",changeManualSortGroupHeader:"Ubah header grup",manualSortGroupHeader:{title:"Header grup",copyStyle:"Salin gaya header",pasteStyle:"Tempel gaya header",remove:"Hapus header grup"},addTag:"Tambah tag",addPropertyKey:"Atur properti",removeTag:"Hapus tag",removeAllTags:"Hapus semua tag",changeIcon:"Ubah ikon",changeColor:"Ubah warna"},folder:{newNote:"Catatan baru",newNoteFromTemplate:"Catatan baru dari template",newFolder:"Folder baru",newCanvas:"Canvas baru",newBase:"Base baru",newDrawing:"Gambar baru",newExcalidrawDrawing:"Gambar Excalidraw baru",newTldrawDrawing:"Gambar Tldraw baru",duplicateFolder:"Duplikat folder",searchInFolder:"Cari di folder",createFolderNote:"Buat catatan folder",detachFolderNote:"Lepaskan catatan folder",deleteFolderNote:"Hapus catatan folder",changeIcon:"Ubah ikon",changeColor:"Ubah warna",changeBackground:"Ubah latar belakang",excludeFolder:"Sembunyikan folder",unhideFolder:"Tampilkan folder",moveFolder:"Pindahkan folder ke...",renameFolder:"Ubah nama folder",deleteFolder:"Hapus folder"},tag:{changeIcon:"Ubah ikon",changeColor:"Ubah warna",changeBackground:"Ubah latar belakang",showTag:"Tampilkan tag",hideTag:"Sembunyikan tag"},property:{addKey:"Konfigurasi kunci properti",renameKey:"Ubah nama properti",deleteKey:"Hapus properti"},navigation:{addSeparator:"Tambah pemisah",removeSeparator:"Hapus pemisah"},copyPath:{title:"Salin path",asObsidianUrl:"sebagai URL Obsidian",fromVaultFolder:"dari folder vault",fromSystemRoot:"dari root sistem"},style:{title:"Gaya",copy:"Salin gaya",paste:"Tempel gaya",removeIcon:"Hapus ikon",removeColor:"Hapus warna",removeBackground:"Hapus latar belakang",clear:"Bersihkan gaya"}},folderAppearance:{appearance:"Tampilan",sortBy:"Urutkan berdasarkan",standardPreset:"Standar",compactPreset:"Kompak",defaultSuffix:"(default)",defaultLabel:"Bawaan",titleRows:"Baris judul",previewRows:"Baris pratinjau",groupBy:"Kelompokkan berdasarkan",titleRowOption:t=>`${t} baris judul`,previewRowOption:t=>`${t} baris pratinjau`},modals:{bulkApply:{applyButton:"Terapkan",applySortAndGroupTitle:t=>`Terapkan urutan dan grup ke ${t}?`,applyAppearanceTitle:t=>`Terapkan tampilan ke ${t}?`,affectedCountMessage:t=>`Penimpaan yang ada dan akan berubah: ${t}.`},manualSortConfirm:{propertySortTitle:"Gunakan urutan manual?",propertySortMessage:(t,e)=>`Ini akan mengalihkan tampilan saat ini ke urutan manual menggunakan "${t}". Mengedit urutan akan menulis nilai indeks numerik ke properti tersebut di ${e} catatan sesuai kebutuhan.`,propertySortConfirmButton:"Gunakan urutan manual",removePropertyTitle:"Hapus properti urutan?",removePropertyMessage:(t,e)=>`Ini akan menghapus "${t}" dari ${e} catatan di daftar saat ini. Urutan manual akan dihapus untuk catatan tersebut.`,removePropertyConfirmButton:"Hapus properti",compactTitle:"Padatkan nilai indeks?",compactMessage:t=>`Pengaturan ulang ini memerlukan lebih banyak ruang numerik. ${t} catatan akan menerima nilai indeks baru.`,compactConfirmButton:"Padatkan nilai indeks"},manualSortGroupHeader:{title:"Atur header grup",titleLabel:"Judul",placeholder:"Header grup",icon:"Ikon",color:"Warna",wordCount:"Tampilkan jumlah kata",wordCountTarget:"Target jumlah kata",wordCountTargetPlaceholder:"10,000",wordCountTargetDescription:"Saat bidang ini kosong, target grup menggunakan properti target yang diatur di Pengaturan > Catatan > Jumlah kata dan karakter. Timpa dengan menetapkan nilai target untuk grup ini.",description:"Sesuaikan header grup untuk catatan ini. Biarkan judul kosong untuk menghapus header."},mergeNotes:{title:"Gabungkan catatan",summary:"Buat satu catatan dari {count} catatan di {folder}.",frontmatterRule:"Frontmatter dari catatan pertama dipertahankan. Frontmatter dari catatan lain dihapus.",crossFolderWarning:"Catatan sumber berada di folder yang berbeda. Tautan relatif dan embed mungkin berhenti berfungsi di catatan gabungan.",outputName:"Nama output",outputNameDesc:"Catatan gabungan dibuat di folder yang ditampilkan di atas.",outputNamePlaceholder:"Catatan gabungan",separator:"Pemisah",separatorDesc:"Disisipkan di antara catatan.",separatorOptions:{none:"Tidak ada",blankLine:"Baris kosong",horizontalRule:"Garis horizontal",heading:"Judul dengan judul catatan"},moveSourcesToTrash:"Pindahkan catatan sumber ke sampah setelah digabung",mergeButton:"Gabungkan"},navRainbowSection:{title:t=>`Warna pelangi: ${t}`},iconPicker:{searchPlaceholder:"Cari ikon...",recentlyUsedHeader:"Baru digunakan",emptyStateSearch:"Mulai mengetik untuk mencari ikon",emptyStateNoResults:"Ikon tidak ditemukan",showingResultsInfo:"Menampilkan 50 dari {count} hasil. Ketik lebih lanjut untuk mempersempit.",emojiInstructions:"Ketik atau tempel emoji untuk menggunakannya sebagai ikon",removeIcon:"Hapus ikon",removeFromRecents:"Hapus dari ikon terbaru",allTabLabel:"Semua"},fileIconRuleEditor:{addRuleAria:"Tambah aturan"},interfaceIcons:{title:"Ikon antarmuka",fileItemsSection:"Item file",items:{"nav-shortcuts":"Pintasan","nav-recent-files":"File terbaru","nav-expand-all":"Perluas semua","nav-collapse-all":"Tutup semua","nav-calendar":"Kalender","nav-tree-expand":"Panah pohon: perluas","nav-tree-collapse":"Panah pohon: tutup","nav-hidden-items":"Item tersembunyi","nav-root-reorder":"Atur ulang folder akar","nav-new-folder":"Folder baru","nav-show-single-pane":"Tampilkan panel tunggal","nav-show-dual-pane":"Tampilkan panel ganda","nav-profile-chevron":"Panah menu profil","list-search":"Cari","list-reveal-file":"Tampilkan file","list-descendants":"Catatan dari subfolder","list-sort-ascending":"Urutan: menaik","list-sort-descending":"Urutan: menurun","list-sort-modified":"Urutkan berdasarkan tanggal edit","list-sort-created":"Urutkan berdasarkan tanggal dibuat","list-sort-title":"Urutkan berdasarkan judul","list-sort-filename":"Urutkan berdasarkan nama file","list-sort-property":"Urutkan berdasarkan properti","list-appearance":"Ubah tampilan","list-new-note":"Catatan baru","list-pinned":"Catatan yang disematkan","nav-folder-open":"Folder terbuka","nav-folder-closed":"Folder tertutup","nav-tags":"Tag","nav-tag":"Tag","nav-properties":"Properti","nav-property":"Properti","nav-property-value":"Nilai","file-unfinished-task":"Tugas belum selesai","file-word-count":"Jumlah kata","file-character-count":"Jumlah karakter"}},colorPicker:{currentColor:"Saat ini",newColor:"Baru",paletteDefault:"Bawaan",paletteCustom:"Kustom",copyColors:"Salin warna",colorsCopied:"Warna disalin ke clipboard",pasteColors:"Tempel warna",pasteClipboardError:"Tidak dapat membaca clipboard",pasteInvalidFormat:"Diharapkan nilai warna hex",colorsPasted:"Warna berhasil ditempel",resetUserColors:"Bersihkan warna kustom",clearCustomColorsConfirm:"Bersihkan semua warna kustom?",userColorSlot:"Warna {slot}",recentColors:"Warna terbaru",clearRecentColors:"Bersihkan warna terbaru",removeRecentColor:"Hapus warna",apply:"Terapkan",pickerLabel:"Pemilih",hexLabel:"HEX",hexInputLabel:"Nilai warna heksadesimal",saturationValueArea:"Saturasi dan kecerahan",hueSlider:"Rona",alphaSlider:"Transparansi"},appearance:{tabIcon:"Ikon",tabColor:"Warna",tabBackground:"Latar belakang",resetIcon:"Hapus ikon",resetColor:"Hapus warna",resetBackground:"Hapus latar belakang",clear:"Bersihkan gaya",apply:"Terapkan"},selectVaultProfile:{title:"Pilih profil vault",currentBadge:"Aktif",emptyState:"Tidak ada profil vault tersedia."},tagOperation:{renameTitle:"Ubah nama tag {tag}",deleteTitle:"Hapus tag {tag}",newTagPrompt:"Nama tag baru",newTagPlaceholder:"Masukkan nama tag baru",renameWarning:"Mengubah nama tag {oldTag} akan memodifikasi {count} {files}.",deleteWarning:"Menghapus tag {tag} akan memodifikasi {count} {files}.",modificationWarning:"Ini akan memperbarui tanggal modifikasi file.",affectedFiles:"File yang terpengaruh:",andMore:"...dan {count} lagi",confirmRename:"Ubah nama tag",renameUnchanged:"{tag} tidak berubah",renameNoChanges:"{oldTag} → {newTag} ({countLabel})",renameBatchNotFinalized:"Diganti nama {renamed}/{total}. Tidak diperbarui: {notUpdated}. Metadata dan pintasan tidak diperbarui.",invalidTagName:"Masukkan nama tag yang valid.",descendantRenameError:"Tidak dapat memindahkan tag ke dirinya sendiri atau turunannya.",confirmDelete:"Hapus tag",deleteBatchNotFinalized:"Dihapus dari {removed}/{total}. Tidak diperbarui: {notUpdated}. Metadata dan pintasan tidak diperbarui.",checkConsoleForDetails:"Periksa konsol untuk detail.",file:"file",files:"file",inlineParsingWarning:{title:"Kompatibilitas tag inline",message:"{tag} mengandung karakter yang tidak dapat diurai Obsidian dalam tag inline. Tag Frontmatter tidak terpengaruh.",confirm:"Tetap gunakan"}},propertyOperation:{renameTitle:"Ubah nama properti {property}",deleteTitle:"Hapus properti {property}",newKeyPrompt:"Nama properti baru",newKeyPlaceholder:"Masukkan nama properti baru",renameWarning:"Mengubah nama properti {property} akan memodifikasi {count} {files}.",renameConflictWarning:"Properti {newKey} sudah ada di {count} {files}. Mengubah nama {oldKey} akan menggantikan nilai {newKey} yang ada.",deleteWarning:"Menghapus properti {property} akan memodifikasi {count} {files}.",confirmRename:"Ubah nama properti",confirmDelete:"Hapus properti",renameNoChanges:"{oldKey} → {newKey} (tidak ada perubahan)",renameSettingsUpdateFailed:"Properti {oldKey} → {newKey} diubah namanya. Gagal memperbarui pengaturan.",deleteSingleSuccess:"Properti {property} dihapus dari 1 catatan",deleteMultipleSuccess:"Properti {property} dihapus dari {count} catatan",deleteSettingsUpdateFailed:"Properti {property} dihapus. Gagal memperbarui pengaturan.",invalidKeyName:"Masukkan nama properti yang valid."},fileSystem:{newFolderTitle:"Folder baru",renameFolderTitle:"Ubah nama folder",renameFileTitle:"Ubah nama file",deleteFolderTitle:"Hapus '{name}'?",deleteFileTitle:"Hapus '{name}'?",deleteFileAttachmentsTitle:"Hapus lampiran file?",moveFileConflictTitle:"Konflik pemindahan",folderNamePrompt:"Masukkan nama folder:",hideInOtherVaultProfiles:"Sembunyikan di profil vault lain",renamePrompt:"Masukkan nama baru:",renameVaultTitle:"Ubah nama tampilan vault",renameVaultPrompt:"Masukkan nama tampilan kustom (kosongkan untuk menggunakan default):",deleteFolderConfirm:"Anda yakin ingin menghapus folder ini dan semua isinya?",deleteFileConfirm:"Anda yakin ingin menghapus file ini?",deleteFileAttachmentsDescriptionSingle:"Lampiran ini tidak lagi digunakan di catatan manapun. Apakah Anda ingin menghapusnya?",deleteFileAttachmentsDescriptionMultiple:"Lampiran-lampiran ini tidak lagi digunakan di catatan manapun. Apakah Anda ingin menghapusnya?",deleteFileAttachmentsViewFileTreeAriaLabel:"Pohon file",deleteFileAttachmentsViewGalleryAriaLabel:"Galeri",moveFileConflictDescriptionSingle:'Konflik file ditemukan di "{folder}".',moveFileConflictDescriptionMultiple:'{count} konflik file ditemukan di "{folder}".',moveFileConflictAffectedFiles:"File yang terpengaruh",moveFileConflictItem:'"{name}" -> "{suggested}"{renameOnly}',moveFileConflictRenameOnly:"(ganti nama saja)",moveFileConflictRename:"Ganti nama",moveFileConflictOverwrite:"Timpa",removeAllTagsTitle:"Hapus semua tag",removeAllTagsFromNote:"Anda yakin ingin menghapus semua tag dari catatan ini?",removeAllTagsFromNotes:"Anda yakin ingin menghapus semua tag dari {count} catatan?"},folderNoteType:{title:"Pilih jenis catatan folder",folderLabel:"Folder: {name}"},folderSuggest:{placeholder:t=>`Pindahkan ${t} ke folder...`,multipleFilesLabel:t=>`${t} file`,navigatePlaceholder:"Navigasi ke folder...",instructions:{navigate:"untuk navigasi",move:"untuk memindahkan",select:"untuk memilih",dismiss:"untuk menutup"}},homepage:{placeholder:"Cari file...",instructions:{navigate:"untuk navigasi",select:"untuk mengatur beranda",dismiss:"untuk menutup"}},calendarTemplate:{placeholder:"Cari template...",instructions:{navigate:"untuk navigasi",select:"untuk memilih template",dismiss:"untuk menutup"}},navigationBanner:{placeholder:"Cari gambar...",instructions:{navigate:"untuk navigasi",select:"untuk mengatur banner",dismiss:"untuk menutup"}},tagSuggest:{navigatePlaceholder:"Navigasi ke tag...",addPlaceholder:"Cari tag untuk ditambahkan...",removePlaceholder:"Pilih tag untuk dihapus...",createNewTag:"Buat tag baru: #{tag}",instructions:{navigate:"untuk navigasi",select:"untuk memilih",dismiss:"untuk menutup",add:"untuk menambah tag",remove:"untuk menghapus tag"}},propertySuggest:{placeholder:"Pilih kunci properti...",navigatePlaceholder:"Navigasi ke properti...",instructions:{navigate:"untuk navigasi",select:"untuk menambah properti",dismiss:"untuk menutup"}},propertyKeyVisibility:{title:"Visibilitas kunci properti",description:"Kontrol tempat nilai properti ditampilkan. Kolom-kolom sesuai dengan panel navigasi, panel daftar, dan menu konteks file. Gunakan baris bawah untuk mengalihkan semua baris dalam kolom.",searchPlaceholder:"Cari kunci properti...",propertyColumnLabel:"Properti",showInNavigation:"Tampilkan di navigasi",showInList:"Tampilkan di daftar",showInFileMenu:"Tampilkan di menu file",toggleAllInNavigation:"Alihkan semua di navigasi",toggleAllInList:"Alihkan semua di daftar",toggleAllInFileMenu:"Alihkan semua di menu file",applyButton:"Terapkan",emptyState:"Tidak ditemukan kunci properti."},welcome:{title:"Selamat datang di {pluginName}",introText:'Halo! Sebelum memulai, saya sangat menyarankan Anda menonton lima menit pertama video di bawah ini untuk memahami cara kerja panel dan tombol "Tampilkan catatan dari subfolder".',continueText:"Jika Anda memiliki waktu lima menit lagi, lanjutkan menonton video untuk memahami mode tampilan ringkas dan cara mengatur pintasan dan tombol pintasan penting dengan benar.",thanksText:"Terima kasih banyak telah mengunduh, selamat menggunakan!",videoAlt:"Menginstal dan menguasai Notebook Navigator",openVideoButton:"Putar video",closeButton:"Mungkin nanti"}},fileSystem:{errors:{createFolder:"Gagal membuat folder: {error}",createFile:"Gagal membuat file: {error}",renameFolder:"Gagal mengubah nama folder: {error}",renameFolderNoteConflict:'Tidak dapat mengubah nama: "{name}" sudah ada di folder ini',renameFile:"Gagal mengubah nama file: {error}",deleteFolder:"Gagal menghapus folder: {error}",deleteFile:"Gagal menghapus file: {error}",deleteAttachments:"Gagal menghapus lampiran: {error}",mergeNotes:"Gagal menggabungkan catatan: {error}",mergeNotesOpenOutput:"Catatan gabungan dibuat sebagai {name}, tetapi tidak dapat dibuka: {error}. Catatan sumber tidak diubah.",mergeNotesOpenSkipped:"Permintaan pembukaan file lain didahulukan.",mergeNotesTrashSources:"Catatan gabungan dibuat. Gagal memindahkan {count} catatan sumber ke sampah.",duplicateNote:"Gagal menduplikat catatan: {error}",duplicateFolder:"Gagal menduplikat folder: {error}",openVersionHistory:"Gagal membuka riwayat versi: {error}",versionHistoryNotFound:"Perintah riwayat versi tidak ditemukan. Pastikan Obsidian Sync diaktifkan.",revealInExplorer:"Gagal menampilkan file di explorer sistem: {error}",openInDefaultApp:"Gagal membuka di aplikasi bawaan: {error}",openInDefaultAppNotAvailable:"Buka di aplikasi bawaan tidak tersedia di platform ini",folderNoteAlreadyExists:"Catatan folder sudah ada",folderAlreadyExists:'Folder "{name}" sudah ada',folderNotesDisabled:"Aktifkan catatan folder di pengaturan untuk mengkonversi file",folderNoteAlreadyLinked:"File ini sudah berfungsi sebagai catatan folder",folderNoteNotFound:"Tidak ada catatan folder di folder yang dipilih",folderNoteUnsupportedExtension:"Ekstensi file tidak didukung: {extension}",folderNoteMoveFailed:"Gagal memindahkan file saat konversi: {error}",folderNoteRenameConflict:'File bernama "{name}" sudah ada di folder',folderNoteConversionFailed:"Gagal mengkonversi file ke catatan folder",folderNoteConversionFailedWithReason:"Gagal mengkonversi file ke catatan folder: {error}",folderNoteOpenFailed:"File dikonversi tetapi gagal membuka catatan folder: {error}",failedToDeleteFile:"Gagal menghapus {name}: {error}",failedToDeleteMultipleFiles:"Gagal menghapus {count} file",versionHistoryNotAvailable:"Layanan riwayat versi tidak tersedia",drawingAlreadyExists:"Gambar dengan nama ini sudah ada",failedToCreateDrawing:"Gagal membuat gambar",noFolderSelected:"Tidak ada folder yang dipilih di Notebook Navigator",noFileSelected:"Tidak ada file yang dipilih"},warnings:{linkBreakingNameCharacters:"Nama ini berisi karakter yang merusak tautan Obsidian: #, |, ^, %%, [[, ]].",forbiddenNameCharactersAllPlatforms:"Nama tidak boleh diawali dengan titik atau berisi : atau /.",forbiddenNameCharactersWindows:'Karakter yang dipesan di Windows tidak diizinkan: <, >, ", \\, |, ?, *.'},notices:{hideFolder:"Folder disembunyikan: {name}",showFolder:"Folder ditampilkan: {name}",mergeNotes:"Menggabungkan {count} catatan menjadi {name}"},notifications:{deletedMultipleFiles:"Menghapus {count} file",movedMultipleFiles:"Memindahkan {count} file ke {folder}",folderNoteConversionSuccess:'Mengkonversi file ke catatan folder di "{name}"',folderMoved:'Memindahkan folder "{name}"',deepLinkCopied:"URL Obsidian disalin ke clipboard",pathCopied:"Path disalin ke clipboard",relativePathCopied:"Path relatif disalin ke clipboard",tagAddedToNote:"Menambahkan tag ke 1 catatan",tagAddedToNotes:"Menambahkan tag ke {count} catatan",tagRemovedFromNote:"Menghapus tag dari 1 catatan",tagRemovedFromNotes:"Menghapus tag dari {count} catatan",tagsClearedFromNote:"Menghapus semua tag dari 1 catatan",tagsClearedFromNotes:"Menghapus semua tag dari {count} catatan",noTagsToRemove:"Tidak ada tag untuk dihapus",noFilesSelected:"Tidak ada file yang dipilih",mergeNotesRequireMultipleMarkdown:"Pilih setidaknya dua catatan Markdown untuk digabungkan",tagOperationsNotAvailable:"Operasi tag tidak tersedia",propertyOperationsNotAvailable:"Operasi properti tidak tersedia",tagsRequireMarkdown:"Tag hanya didukung pada catatan Markdown",propertiesRequireMarkdown:"Properti hanya didukung pada catatan Markdown",propertySetOnNote:"Properti diperbarui pada 1 catatan",propertySetOnNotes:"Properti diperbarui pada {count} catatan",manualSortPropertyRemovedFromNote:"Properti urutan dihapus dari 1 catatan",manualSortPropertyRemovedFromNotes:"Properti urutan dihapus dari {count} catatan",iconPackDownloaded:"{provider} diunduh",iconPackUpdated:"{provider} diperbarui ({version})",iconPackRemoved:"{provider} dihapus",iconPackLoadFailed:"Gagal memuat {provider}",hiddenFileReveal:'File tersembunyi. Aktifkan "Tampilkan item tersembunyi" untuk menampilkannya'},confirmations:{deleteMultipleFiles:"Anda yakin ingin menghapus {count} file?",deleteConfirmation:"Tindakan ini tidak dapat dibatalkan."},defaultNames:{untitled:"Tanpa judul"}},dragDrop:{errors:{cannotMoveIntoSelf:"Tidak dapat memindahkan folder ke dirinya sendiri atau subfolder.",itemAlreadyExists:'Item bernama "{name}" sudah ada di lokasi ini.',failedToMove:"Gagal memindahkan: {error}",failedToAddTag:'Gagal menambahkan tag "{tag}"',failedToSetProperty:"Gagal memperbarui properti: {error}",failedToClearTags:"Gagal menghapus tag",failedToMoveFolder:'Gagal memindahkan folder "{name}"',failedToImportFiles:"Gagal mengimpor: {names}"},notifications:{filesAlreadyExist:"{count} file sudah ada di tujuan",filesAlreadyHaveTag:"{count} file sudah memiliki tag ini atau yang lebih spesifik",filesAlreadyHaveProperty:"{count} file sudah memiliki properti ini",noTagsToClear:"Tidak ada tag untuk dihapus",fileImported:"Mengimpor 1 file",filesImported:"Mengimpor {count} file"}},dateGroups:{today:"Hari ini",yesterday:"Kemarin",previous7Days:"7 hari terakhir",previous30Days:"30 hari terakhir"},commands:{open:"Buka",toggleLeftSidebar:"Alihkan bilah sisi kiri",openHomepage:"Buka beranda",openDailyNote:"Buka catatan harian",openWeeklyNote:"Buka catatan mingguan",openMonthlyNote:"Buka catatan bulanan",openQuarterlyNote:"Buka catatan triwulanan",openYearlyNote:"Buka catatan tahunan",revealFile:"Tampilkan file",search:"Cari",searchVaultRoot:"Cari di root vault",toggleDualPane:"Alihkan tata letak panel ganda",toggleDualPaneOrientation:"Alihkan orientasi panel ganda",toggleCalendar:"Alihkan kalender",selectVaultProfile:"Pilih profil vault",selectVaultProfile1:"Pilih profil vault 1",selectVaultProfile2:"Pilih profil vault 2",selectVaultProfile3:"Pilih profil vault 3",deleteFile:"Hapus file",createNewNote:"Buat catatan baru",createNewNoteFromTemplate:"Catatan baru dari template",moveFiles:"Pindahkan file",mergeNotes:"Gabungkan catatan",selectNextFile:"Pilih file berikutnya",selectPreviousFile:"Pilih file sebelumnya",navigateBack:"Navigasi mundur",navigateForward:"Navigasi maju",convertToFolderNote:"Konversi ke catatan folder",setAsFolderNote:"Atur sebagai catatan folder",detachFolderNote:"Lepaskan catatan folder",pinAllFolderNotes:"Sematkan semua catatan folder",navigateToFolder:"Navigasi ke folder",navigateToTag:"Navigasi ke tag",navigateToProperty:"Navigasi ke properti",addShortcut:"Tambahkan ke pintasan",openShortcut:"Buka pintasan {number}",toggleDescendants:"Alihkan turunan",toggleHidden:"Alihkan folder, tag, dan catatan tersembunyi",toggleTagSort:"Alihkan urutan tag",toggleTagsBySelection:"Alihkan tag berdasarkan pilihan",togglePropertiesBySelection:"Alihkan properti berdasarkan pilihan",toggleCompactMode:"Alihkan mode kompak",togglePinnedSection:"Alihkan bagian yang disematkan",collapseExpand:"Ciutkan / luaskan semua item",collapseExpandSelectedItem:"Ciutkan / luaskan item yang dipilih",addTag:"Tambah tag ke file yang dipilih",setProperty:"Atur properti pada file yang dipilih",removeTag:"Hapus tag dari file yang dipilih",removeAllTags:"Hapus semua tag dari file yang dipilih",openAllFiles:"Buka semua file",rebuildCache:"Bangun ulang cache"},plugin:{viewName:"Notebook Navigator",calendarViewName:"Kalender",folderNoteSidebarViewName:"Catatan folder",ribbonTooltip:"Notebook Navigator",revealInNavigator:"Tampilkan di Notebook Navigator"},tooltips:{lastModifiedAt:"Terakhir dimodifikasi pada",createdAt:"Dibuat pada",file:"file",files:"file",folder:"folder",folders:"folder",wordCount:"Jumlah kata"},fileCounts:{words:"{count} kata",characters:"{count} karakter",separator:" · "},settings:{changeDefaultSettings:"Ubah pengaturan default",metadataReport:{exportSuccess:"Laporan metadata yang gagal diekspor ke: {filename}",exportFailed:"Gagal mengekspor laporan metadata"},sections:{general:"Umum",vaultFilters:"Filter tampilan",appearanceBehavior:"Tampilan & perilaku",navigationPane:"Panel navigasi",calendar:"Kalender",fileOperations:"Operasi file",icons:"Paket ikon",folders:"Folder",folderNotes:"Catatan folder",folderNoteFiles:"File catatan folder",foldersAndFolderNotes:"Folder & catatan folder",tagsAndProperties:"Tag & properti",tags:"Tag",listPane:"Panel daftar",notes:"Tampilan file",shortcutsAndRecentFiles:"Pintasan & file terbaru",advanced:"Lanjutan"},pageGroups:{configuration:"Konfigurasi",navigationAndContent:"Panel navigasi",notesAndLists:"Panel daftar",calendarAndTools:"Kalender dan alat"},pageDescriptions:{general:"Catatan rilis, dukungan, profil vault, tipe file, dan kunci properti.",vaultFilters:"Folder, tag, file, tag file, dan aturan properti tersembunyi.",appearanceBehavior:"Perilaku, navigasi keyboard, tombol mouse, tampilan, dan pemformatan.",navigationPane:"Tata letak, tampilan, jumlah catatan, perilaku menciutkan, dan warna pelangi.",shortcuts:"Visibilitas pintasan, lencana, file terbaru, dan item yang disematkan.",calendar:"Tampilan kalender, catatan tanggal, templat, lokal, dan penempatan bilah sisi.",fileOperations:"Templat, konfirmasi hapus, lampiran, dan perilaku konflik saat memindahkan file.",foldersAndFolderNotes:"Tampilan folder, catatan folder, templat catatan folder, dan perilaku catatan folder.",tagsProperties:"Bagian tag dan properti, ikon, pengurutan, cakupan, dan pewarisan.",listPane:"Pengurutan, pengelompokan, mode daftar, catatan yang disematkan, dan pratinjau gambar.",frontmatter:"Bidang frontmatter untuk nama tampilan, stempel waktu, ikon, dan warna.",notes:"Judul, teks pratinjau, gambar fitur, tag, properti, tanggal, jumlah kata, dan jumlah karakter.",iconPacks:"Ikon antarmuka, ikon file, dan manajemen paket ikon.",advanced:"Diagnostik, pembersihan metadata, impor/ekspor, dan reset."},groups:{general:{vaultConfiguration:"Penyiapan vault",templates:"Templat",behavior:"Perilaku",keyboardNavigation:"Navigasi keyboard",mouseButtons:"Tombol mouse",view:"Tampilan",icons:"Ikon",desktopAppearance:"Tampilan desktop",mobileAppearance:"Tampilan seluler",formatting:"Pemformatan"},advanced:{maintenance:"Pemeliharaan",resetSettings:"Atur ulang pengaturan"},navigation:{appearance:"Tampilan",banner:"Banner",collapseItems:"Ciutkan item",dragAndDrop:"Seret dan lepas",noteCounts:"Jumlah catatan",rainbowColors:"Warna pelangi",leftSidebar:"Bilah sisi kiri",calendarIntegration:"Integrasi kalender"},list:{display:"Tampilan",groupHeaders:"Header grup",propertySort:"Urutan properti",manualSort:"Urutan manual",pinnedNotes:"Catatan yang disematkan",drawingPreviews:"Pratinjau gambar"},notes:{frontmatter:"Bidang frontmatter",tasks:"Tugas",icon:"Ikon",title:"Judul",previewText:"Teks pratinjau",featureImage:"Gambar fitur",tags:"Tag",properties:"Properti",date:"Tanggal",parentFolder:"Folder induk",wordCount:"Jumlah kata dan karakter"}},syncMode:{notSynced:"(tidak disinkronkan)",switchToSynced:"Aktifkan sinkronisasi",switchToLocal:"Nonaktifkan sinkronisasi"},items:{listPaneTitle:{name:"Judul panel daftar",desc:"Pilih di mana judul panel daftar ditampilkan.",options:{header:"Tampilkan di header",list:"Tampilkan di panel daftar",hidden:"Jangan tampilkan"}},sortNotesBy:{name:"Urutan default",desc:"Pilih urutan default untuk catatan.",options:{"modified-desc":"Tanggal diedit (terbaru di atas)","modified-asc":"Tanggal diedit (terlama di atas)","created-desc":"Tanggal dibuat (terbaru di atas)","created-asc":"Tanggal dibuat (terlama di atas)","title-asc":"Judul (A di atas)","title-desc":"Judul (Z di atas)","filename-asc":"Nama file (A di atas)","filename-desc":"Nama file (Z di atas)"},directions:{asc:"Menaik",desc:"Menurun"},fields:{modified:"Tanggal diedit",created:"Tanggal dibuat",title:"Judul",filename:"Nama file",property:"Properti"}},propertySortKey:{name:"Properti untuk diurutkan",desc:"Properti frontmatter yang dipisahkan koma ditampilkan sebagai opsi urutan properti. Nilai array digabungkan menjadi satu string. Properti ini tidak diubah.",placeholder:"published, author"},propertySortSecondary:{name:"Urutan sekunder",desc:"Digunakan dengan urutan Properti ketika catatan memiliki nilai properti yang sama atau tidak memiliki nilai properti.",options:{title:"Judul",filename:"Nama file",created:"Tanggal dibuat",modified:"Tanggal diedit"}},propertySortInstructions:{intro:"Setiap properti yang tercantum di atas muncul sebagai opsi urutan di menu urutan pada panel daftar. Memilih salah satu akan mengurutkan catatan berdasarkan nilai frontmatter-nya."},manualSortPropertyKey:{name:"Properti urutan manual",desc:"Properti frontmatter yang digunakan untuk menyimpan nilai indeks numerik untuk urutan manual."},manualSortGroupHeaderProperty:{name:"Properti header grup",desc:"Properti frontmatter yang digunakan untuk menyimpan header grup kustom."},groupHeadersInstructions:{intro:"Header grup kustom ditampilkan di atas catatan di panel daftar.",items:["Dari menu urutan di panel daftar, atur pengelompokan ke **Kustom**.","Klik kanan catatan dan pilih **Atur header grup** untuk menambahkan header di atasnya."]},manualSortNewNotePlacement:{name:"Penempatan catatan baru",desc:"Pilih tempat catatan baru ditempatkan saat daftar saat ini menggunakan urutan manual.",options:{top:"Atas",bottom:"Bawah","below-selected-note":"Di bawah catatan yang dipilih",unsorted:"Belum diurutkan"}},confirmBeforeManualSort:{name:"Konfirmasi sebelum urutan manual",desc:"Tampilkan peringatan sebelum menulis properti urutan manual ke catatan untuk pertama kalinya. Saat dinonaktifkan, catatan menerima properti tanpa peringatan."},manualSortInstructions:{intro:"Urutan manual menulis nilai indeks numerik ke properti frontmatter pada setiap catatan. Catatan tanpa indeks muncul di bawah Belum diurutkan.",items:["Aktifkan urutan manual dengan memilih **Urutan manual** dari menu urutan. Setelah itu, ada dua cara untuk mengatur ulang catatan.","Pilih **Edit urutan...** dari menu urutan untuk membuka tampilan pengaturan ulang. Seret catatan dengan mouse, atau dengan sentuhan di seluler. Di desktop, klik **Cmd/Ctrl** atau **Shift** memilih beberapa catatan, lalu menyeret salah satunya akan memindahkan seluruh grup.","Di panel daftar, pilih satu catatan atau pilih beberapa, lalu tekan **Cmd/Ctrl + Arrow Up/Down** untuk memindahkan pilihan ke atas atau ke bawah."]},revealFileOnListChanges:{name:"Gulir ke file yang dipilih saat perubahan daftar",desc:"Gulir ke file yang dipilih saat menyematkan catatan, menampilkan catatan turunan, mengubah tampilan folder, atau menjalankan operasi file."},includeDescendantNotes:{name:"Tampilkan catatan dari subfolder / turunan",desc:"Sertakan catatan dari subfolder bersarang serta turunan tag dan properti saat melihat folder, tag, atau properti."},limitPinnedToCurrentFolder:{name:"Sematkan catatan hanya di foldernya",desc:"Catatan yang disematkan hanya tampil disematkan di folder miliknya sendiri. Berguna untuk catatan folder atau jika Anda memiliki banyak catatan yang disematkan. Tidak memengaruhi tampilan tag atau properti."},separateNoteCounts:{name:"Tampilkan jumlah catatan saat ini dan turunan secara terpisah",desc:'Tampilkan jumlah catatan sebagai "saat ini ▾ turunan" untuk folder, tag, dan properti.'},groupNotes:{name:"Pengelompokan default",desc:"Kustom menampilkan header yang didefinisikan dalam frontmatter. Tanggal mengelompokkan catatan berdasarkan tanggal. Folder mengelompokkan catatan berdasarkan folder. Tampilan tag dan properti menggunakan grup tanggal saat folder dipilih.",options:{custom:"Kustom",date:"Tanggal",folder:"Folder"}},showSelectedNavigationPills:{name:"Selalu tampilkan semua pil tag dan properti",desc:'Saat dinonaktifkan, pil yang cocok dengan pilihan navigasi saat ini disembunyikan (misalnya, pil tag "resep" disembunyikan saat menelusuri tag "resep"). Aktifkan untuk menampilkan semua pil.'},stickyGroupHeaders:{name:"Header grup tetap",desc:"Jaga header bagian tanggal, folder, atau yang disematkan saat ini tetap terlihat saat menggulir."},showFolderGroupPaths:{name:"Tampilkan jalur subfolder",desc:"Saat mengelompokkan berdasarkan folder di panel daftar, tampilkan jalur subfolder alih-alih hanya nama folder."},showCurrentFolderFilesAtBottom:{name:"Pengelompokan folder: file folder saat ini di bawah",desc:"Saat pengelompokan default adalah Folder, pindahkan file yang langsung berada di folder yang dipilih ke bawah grup subfolder."},defaultListMode:{name:"Mode daftar default",desc:"Pilih tata letak daftar default. Standar menampilkan judul, tanggal, deskripsi, dan teks pratinjau. Kompak menampilkan judul saja. Ganti tampilan per folder.",options:{standard:"Standar",compact:"Kompak"}},showFileIcons:{name:"Tampilkan ikon file",desc:"Tampilkan ikon file dengan spasi rata kiri. Menonaktifkan menghapus ikon dan indentasi. Prioritas: ikon tugas belum selesai > ikon kustom > ikon folder > ikon nama file > ikon tipe file > ikon default."},useFolderIcon:{name:"Gunakan ikon folder",desc:"Tampilkan ikon folder induk saat tidak ada ikon file kustom yang ditetapkan. Warna folder digunakan saat tidak ada warna file kustom yang ditetapkan."},showFileIconUnfinishedTask:{name:"Ikon tugas belum selesai",desc:"Tampilkan ikon tugas saat catatan memiliki tugas yang belum selesai."},showFileBackgroundUnfinishedTask:{name:"Latar belakang tugas belum selesai",desc:"Terapkan warna latar belakang saat catatan memiliki tugas yang belum selesai."},unfinishedTaskBackgroundColor:{name:"Warna latar belakang tugas belum selesai",desc:"Atur warna latar belakang yang digunakan saat catatan memiliki tugas yang belum selesai."},showFilenameMatchIcons:{name:"Ikon berdasarkan nama file",desc:"Tetapkan ikon ke file berdasarkan teks dalam namanya."},fileNameIconMap:{name:"Peta ikon nama file",desc:"File yang berisi teks mendapat ikon yang ditentukan. Satu pemetaan per baris: teks=ikon",placeholder:`# teks=ikon
rapat=ph-calendar
faktur=ph-receipt`,editTooltip:"Edit pemetaan"},showCategoryIcons:{name:"Ikon berdasarkan tipe file",desc:"Tetapkan ikon ke file berdasarkan ekstensinya."},fileTypeIconPreset:{name:"Preset ikon file",desc:"Pilih ikon bawaan atau preset paket ikon. Aturan ekstensi khusus menggantikan preset ini.",options:{none:"Ikon bawaan"},notInstalledWarning:"Paket ikon ini belum terpasang. Ikon bawaan ditampilkan sebagai gantinya."},fileTypeIconMap:{name:"Peta ikon tipe file",desc:"File dengan ekstensi mendapat ikon yang ditentukan. Satu pemetaan per baris: ekstensi=ikon",placeholder:`# Extension=icon
cpp=ph-file-code
pdf=ph-file-pdf`,editTooltip:"Edit pemetaan"},compactItemHeight:{name:"Tinggi item kompak",desc:"Atur tinggi item daftar kompak di desktop dan mobile (piksel).",resetTooltip:"Kembalikan ke default (28px)"},compactItemHeightScaleText:{name:"Skalakan teks dengan tinggi item kompak",desc:"Skalakan teks daftar kompak saat tinggi item dikurangi."},showParentFolder:{name:"Tampilkan folder induk",desc:"Tampilkan nama folder induk untuk catatan di subfolder, tag, atau properti."},showParentFolderFullPath:{name:"Tampilkan path lengkap",desc:"Tampilkan path lengkap folder induk alih-alih hanya nama folder."},parentFolderClickRevealsFile:{name:"Klik folder induk untuk membuka folder",desc:"Mengklik label folder induk membuka folder di panel daftar."},showParentFolderColor:{name:"Tampilkan warna folder induk",desc:"Gunakan warna folder pada label folder induk."},showParentFolderIcon:{name:"Tampilkan ikon folder induk",desc:"Tampilkan ikon folder di samping label folder induk."},showQuickActions:{name:"Tampilkan aksi cepat",desc:"Tampilkan tombol aksi saat mengarahkan kursor ke file. Kontrol tombol memilih aksi mana yang muncul."},dualPane:{name:"Tata letak panel ganda",desc:"Tampilkan panel navigasi dan panel daftar berdampingan di desktop."},dualPaneOrientation:{name:"Orientasi panel ganda",desc:"Pilih tata letak horizontal atau vertikal saat panel ganda aktif.",options:{horizontal:"Pembagian horizontal",vertical:"Pembagian vertikal"}},narrowSidebarLayout:{name:"Saat bilah samping terlalu sempit",desc:"Pilih apa yang terjadi saat panel navigasi dan panel daftar tidak muat berdampingan.",options:{none:"Jangan lakukan apa pun",singlePane:"Beralih ke panel tunggal",vertical:"Beralih ke pemisahan vertikal"}},narrowSidebarTrigger:{name:"Ambang bilah samping sempit",desc:"Pilih bagaimana ambang lebar bilah samping dihitung.",options:{fitPanes:"Muatkan panel",customWidth:"Lebar khusus"}},narrowSidebarCustomWidth:{name:"Lebar ambang bilah samping sempit",desc:"Beralih saat bilah samping lebih sempit dari lebar ini.",resetTooltip:"Reset ke lebar bawaan"},appearanceBackground:{name:"Warna latar belakang",desc:"Pilih warna latar belakang untuk panel navigasi dan daftar.",options:{separate:"Latar belakang terpisah",primary:"Gunakan latar belakang daftar",secondary:"Gunakan latar belakang navigasi"}},appearanceScale:{name:"Tingkat zoom",desc:"Mengontrol tingkat zoom keseluruhan Notebook Navigator (persentase)."},useFloatingToolbars:{name:"Gunakan toolbar mengambang di iOS/iPadOS",desc:"Hanya berlaku di iOS dan iPadOS."},startView:{name:"Tampilan startup default",desc:"Pilih panel mana yang ditampilkan saat membuka Notebook Navigator. Panel navigasi menampilkan pintasan, file terbaru, dan pohon folder. Panel daftar menampilkan daftar file segera.",options:{navigation:"Panel navigasi",files:"Panel daftar"}},toolbarButtons:{name:"Tombol toolbar",desc:"Pilih tombol mana yang muncul di toolbar. Tombol tersembunyi tetap dapat diakses melalui perintah dan menu.",navigationLabel:"Toolbar navigasi",listLabel:"Toolbar daftar"},createNewNotesInNewTab:{name:"Buka catatan baru di tab baru",desc:"Jika diaktifkan, perintah Buat catatan baru membuka catatan di tab baru. Jika dinonaktifkan, catatan menggantikan tab saat ini."},autoRevealActiveNote:{name:"Auto-tampilkan catatan aktif",desc:"Secara otomatis menampilkan catatan saat dibuka dari Quick Switcher, tautan, atau pencarian."},autoRevealShortestPath:{name:"Auto-reveal: Gunakan jalur terpendek",desc:"Diaktifkan: Auto-reveal memilih folder atau tag induk terdekat yang terlihat. Dinonaktifkan: Auto-reveal memilih folder asli dan tag persis dari file."},autoRevealIgnoreRightSidebar:{name:"Auto-reveal: Abaikan peristiwa dari sidebar kanan",desc:"Jangan ubah catatan aktif saat mengklik atau mengubah catatan di sidebar kanan."},autoRevealIgnoreOtherWindows:{name:"Auto-reveal: Abaikan peristiwa dari jendela lain",desc:"Jangan ubah catatan aktif saat bekerja dengan catatan di jendela lain."},paneTransitionDuration:{name:"Animasi panel tunggal",desc:"Durasi transisi saat beralih panel dalam mode panel tunggal (milidetik).",resetTooltip:"Atur ulang ke default"},autoSelectFirstFileOnFocusChange:{name:"Auto-pilih catatan pertama",desc:"Secara otomatis membuka catatan pertama saat beralih folder, tag, atau properti."},skipAutoScroll:{name:"Nonaktifkan auto-gulir untuk pintasan",desc:"Jangan gulir panel navigasi saat mengklik item di pintasan."},autoExpandNavItems:{name:"Luaskan saat dipilih",desc:"Luaskan folder dan tag saat dipilih. Dalam mode panel tunggal, pilihan pertama meluaskan, pilihan kedua menampilkan file."},collapseOtherBranchesOnExpand:{name:"Satu cabang terbuka",desc:"Ciutkan cabang lain di pohon yang sama saat membuka folder, tag, atau properti."},springLoadedFolders:{name:"Luaskan saat menyeret",desc:"Luaskan folder dan tag saat mengarahkan kursor selama menyeret."},springLoadedFoldersInitialDelay:{name:"Luaskan saat menyeret: Tunda perluasan pertama",desc:"Penundaan sebelum folder atau tag pertama diluaskan selama penyeretan (detik)."},springLoadedFoldersSubsequentDelay:{name:"Luaskan saat menyeret: Tunda perluasan berikutnya",desc:"Penundaan sebelum meluaskan folder atau tag tambahan selama penyeretan yang sama (detik)."},navigationBanner:{name:"Banner navigasi (profil vault)",desc:"Tampilkan gambar di atas panel navigasi. Berubah dengan profil vault yang dipilih.",current:"Banner saat ini: {path}",chooseButton:"Pilih gambar"},pinNavigationBanner:{name:"Sematkan banner",desc:"Sematkan banner navigasi di atas pohon navigasi."},showShortcuts:{name:"Tampilkan pintasan",desc:"Tampilkan bagian pintasan di panel navigasi."},shortcutBadgeDisplay:{name:"Lencana pintasan",desc:"Apa yang ditampilkan di samping pintasan. Gunakan perintah 'Buka pintasan 1-9' untuk membuka pintasan secara langsung.",options:{index:"Posisi (1-9)",count:"Jumlah item",none:"Tidak ada"}},showRecentNotes:{name:"Tampilkan file terbaru",desc:"Tampilkan bagian file terbaru di panel navigasi."},hideRecentNotes:{name:"Sembunyikan jenis file dari file terbaru",desc:"Pilih jenis file yang disembunyikan di bagian file terbaru.",options:{none:"Tidak ada",folderNotes:"Catatan folder"}},recentNotesCount:{name:"Jumlah file terbaru",desc:"Jumlah file terbaru yang ditampilkan."},pinRecentNotesWithShortcuts:{name:"Sematkan file terbaru bersama pintasan",desc:"Sertakan file terbaru saat pintasan disematkan."},calendarEnabled:{name:"Aktifkan kalender",desc:"Aktifkan fitur kalender Notebook Navigator."},calendarPlacement:{name:"Penempatan kalender",desc:"Tampilkan di sidebar kiri atau kanan.",options:{leftSidebar:"Sidebar kiri",rightSidebar:"Sidebar kanan"}},calendarLeftPlacement:{name:"Penempatan panel tunggal",desc:"Tempat kalender ditampilkan dalam mode panel tunggal.",options:{navigationPane:"Panel navigasi",below:"Di bawah panel"}},calendarLocale:{name:"Bahasa",desc:"Mengontrol format tanggal kalender, penomoran minggu, dan hari pertama dalam seminggu.",weekPathMismatchWarning:"Kalender yang terlihat dan jalur catatan mingguan menggunakan awal minggu atau penomoran minggu yang berbeda.",options:{systemDefault:"Default"}},calendarWeekendDays:{name:"Hari akhir pekan",desc:"Tampilkan hari akhir pekan dengan warna latar belakang berbeda.",options:{none:"Tidak ada",satSun:"Sabtu dan Minggu",friSat:"Jumat dan Sabtu",thuFri:"Kamis dan Jumat"}},calendarMonthHeadingFormat:{name:"Format nama bulan",desc:"Nama bulan lengkap (Januari) atau singkat (Jan).",options:{full:"Januari (lengkap)",short:"Jan (singkat)"}},showInfoButtons:{name:"Tampilkan tombol info",desc:"Tampilkan tombol info di bilah pencarian dan header kalender."},calendarWeeksToShow:{name:"Minggu yang ditampilkan di sidebar kiri",desc:"Kalender di sidebar kanan selalu menampilkan bulan penuh.",options:{fullMonth:"Bulan penuh",oneWeek:"1 minggu",weeksCount:"{count} minggu"}},calendarHighlightToday:{name:"Sorot tanggal hari ini",desc:"Sorot tanggal hari ini dengan warna latar belakang dan teks tebal."},calendarShowFeatureImage:{name:"Tampilkan gambar fitur",desc:"Tampilkan gambar fitur untuk catatan di kalender."},calendarShowWeekNumber:{name:"Tampilkan nomor minggu",desc:"Tambahkan kolom dengan nomor minggu."},calendarShowQuarter:{name:"Tampilkan kuartal",desc:"Tambahkan label kuartal di header kalender."},calendarShowYearCalendar:{name:"Tampilkan kalender tahunan",desc:"Tampilkan navigasi tahun dan kisi bulan di bilah sisi kanan."},calendarConfirmBeforeCreate:{name:"Konfirmasi sebelum membuat",desc:"Tampilkan dialog konfirmasi saat membuat catatan harian baru."},calendarIntegrationMode:{name:"Sumber catatan harian",desc:"Sumber untuk catatan kalender.",options:{dailyNotes:"Catatan harian (plugin inti)",notebookNavigator:"Notebook Navigator"},info:{dailyNotes:"Folder dan format tanggal dikonfigurasi di plugin inti Daily Notes."}},calendarPeriodicNotesLocale:{name:"Bahasa catatan berkala",desc:"Mengontrol nama bulan, nama hari, nomor minggu, dan awal minggu yang dilokalkan di jalur catatan berkala Notebook Navigator.",options:{calendar:"Kalender",obsidian:"Obsidian"}},calendarCustomRootFolder:{name:"Folder root",desc:"Folder dasar untuk catatan berkala. Pola tanggal dapat menyertakan subfolder. Berubah dengan profil vault yang dipilih.",placeholder:"Personal/Diary"},calendarTemplateFolder:{name:"Lokasi folder template",desc:"Pemilih file template menampilkan catatan dari folder ini.",placeholder:"Templates",usage:"Digunakan oleh catatan kalender dan catatan folder. Konfigurasi template di Kalender > Integrasi kalender dan Folder & catatan folder > File catatan folder."},calendarCustomFilePattern:{name:"Catatan harian",desc:"Format jalur menggunakan format tanggal Moment. Bungkus nama subfolder dalam tanda kurung, misal [Work]/YYYY. Klik ikon template untuk mengatur template. Atur lokasi folder templat di Operasi file > Templat.",momentDescPrefix:"Format jalur menggunakan ",momentLinkText:"format tanggal Moment",momentDescSuffix:". Bungkus nama subfolder dalam tanda kurung, misal [Work]/YYYY. Klik ikon template untuk mengatur template. Atur lokasi folder templat di Operasi file > Templat.",templaterSupportInstalled:"✅ Plugin Templater terpasang dengan dukungan template penuh.",templaterSupportMissing:"⚠️ Pasang plugin Templater untuk dukungan template penuh.",placeholder:"YYYY/YYYYMMDD",example:"Sintaks saat ini: {path}",parsingError:"Pola harus dapat diformat dan diparse kembali sebagai tanggal lengkap (tahun, bulan, hari)."},calendarCustomWeekPattern:{name:"Catatan mingguan",parsingError:"Pola harus dapat diformat dan diparse kembali sebagai minggu lengkap (tahun minggu, nomor minggu).",weekPathMismatchWarning:'Jalur catatan mingguan menggunakan bahasa catatan berkala. Gunakan bahasa yang cocok, atau gunakan "GGGG" dengan "WW" untuk minggu berbasis Senin.',mixedWeekTokensWarning:'Pola ini menggabungkan token minggu berbasis Senin ("W" atau "G") dengan token minggu berbasis bahasa ("w" atau "g"). Gunakan satu set secara konsisten: "GGGG" dengan "WW" untuk minggu berbasis Senin, atau "gggg" dengan "ww" jika catatan mingguan harus mengikuti bahasa yang dipilih.'},calendarCustomMonthPattern:{name:"Catatan bulanan",parsingError:"Pola harus dapat diformat dan diparse kembali sebagai bulan lengkap (tahun, bulan)."},calendarCustomQuarterPattern:{name:"Catatan kuartalan",parsingError:"Pola harus dapat diformat dan diparse kembali sebagai kuartal lengkap (tahun, kuartal)."},calendarCustomYearPattern:{name:"Catatan tahunan",parsingError:"Pola harus dapat diformat dan diparse kembali sebagai tahun lengkap (tahun)."},calendarTemplateFile:{current:"File template: {name}"},showTooltips:{name:"Tampilkan tooltip",desc:"Tampilkan tooltip hover dengan informasi tambahan untuk catatan dan folder."},showTooltipPath:{name:"Tampilkan path di tooltip",desc:"Tampilkan path folder di bawah nama catatan di tooltip."},showTooltipWordCount:{name:"Tampilkan jumlah kata di tooltip",desc:"Tampilkan jumlah kata catatan di tooltip."},resetPaneSeparator:{name:"Atur ulang posisi pemisah panel",desc:"Atur ulang pemisah yang dapat diseret antara panel navigasi dan panel daftar ke posisi default.",buttonText:"Atur ulang pemisah",notice:"Posisi pemisah diatur ulang. Mulai ulang Obsidian atau buka kembali Notebook Navigator untuk menerapkan."},settingsTransfer:{name:"Impor dan ekspor pengaturan",desc:"Ekspor atau impor pengaturan Notebook Navigator sebagai JSON. Impor menggantikan semua pengaturan.",importButtonText:"Impor",exportButtonText:"Ekspor",import:{modalTitle:"Impor pengaturan",fileButtonName:"Impor dari file",fileButtonDesc:"Muat file JSON dari disk.",fileButtonText:"Impor dari file",editorName:"JSON",editorDesc:"Tempel atau edit JSON di bawah. Pengaturan yang tidak disertakan akan diatur ulang ke default.",placeholder:`{
  "folderSortOrder": "alpha-desc"
}`,confirmButtonText:"Impor",successNotice:"Pengaturan diimpor.",errorNotice:"Gagal mengimpor pengaturan: {message}",fileReadError:"Tidak dapat membaca file: {message}"},export:{modalTitle:"Ekspor pengaturan",editorName:"JSON",editorDesc:"Hanya pengaturan yang diubah dari default yang disertakan.",placeholder:"{}",copyButtonText:"Salin ke papan klip",downloadButtonText:"Unduh",copyNotice:"Pengaturan disalin ke papan klip.",downloadNotice:"Pengaturan diekspor.",downloadError:"Gagal mengekspor pengaturan: {message}"}},resetAllSettings:{name:"Atur ulang semua pengaturan",desc:"Atur ulang semua pengaturan Notebook Navigator ke nilai default.",buttonText:"Atur ulang semua pengaturan",confirmTitle:"Atur ulang semua pengaturan?",confirmMessage:"Ini akan mengatur ulang semua pengaturan Notebook Navigator ke nilai default. Ini tidak dapat dibatalkan.",confirmButtonText:"Atur ulang semua pengaturan",notice:"Semua pengaturan diatur ulang. Mulai ulang Obsidian atau buka kembali Notebook Navigator untuk menerapkan.",error:"Gagal mengatur ulang pengaturan."},multiSelectModifier:{name:"Modifier multi-pilih",desc:"Pilih tombol modifier mana yang mengalihkan multi-pilih. Ketika Option/Alt dipilih, klik Cmd/Ctrl membuka catatan di tab baru.",options:{cmdCtrl:"Klik Cmd/Ctrl",optionAlt:"Klik Option/Alt"}},enterToOpenFiles:{name:"Tekan Enter untuk membuka file",desc:"Buka file hanya saat menekan Enter selama navigasi keyboard di daftar. Di macOS, ini mencegah Enter mengganti nama file."},shiftEnterOpenContext:{name:"Shift+Enter",desc:"Pilih apakah Shift+Enter membuka atau mengganti nama file yang dipilih."},cmdEnterOpenContext:{name:"Cmd+Enter",desc:"Pilih apakah Cmd+Enter membuka atau mengganti nama file yang dipilih."},ctrlEnterOpenContext:{name:"Ctrl+Enter",desc:"Pilih apakah Ctrl+Enter membuka atau mengganti nama file yang dipilih."},mouseBackForwardAction:{name:"Tombol mundur/maju mouse",desc:"Aksi untuk tombol mundur dan maju mouse di desktop.",options:{none:"Gunakan default sistem",singlePaneSwitch:"Pindah panel (panel tunggal)",history:"Navigasi riwayat"}},fileVisibility:{name:"Tampilkan jenis file (profil vault)",desc:"Filter jenis file mana yang ditampilkan di navigator. Jenis file yang tidak didukung oleh Obsidian mungkin terbuka di aplikasi eksternal.",options:{documents:"Dokumen (.md, .canvas, .base)",supported:"Didukung (terbuka di Obsidian)",all:"Semua (mungkin terbuka secara eksternal)"}},homepage:{name:"Beranda",desc:"Pilih apa yang Notebook Navigator buka secara otomatis saat memulai.",current:"Saat ini: {path}",chooseButton:"Pilih file",options:{none:"Tidak ada",file:"File",dailyNote:"Catatan harian",weeklyNote:"Catatan mingguan",monthlyNote:"Catatan bulanan",quarterlyNote:"Catatan kuartalan",yearlyNote:"Catatan tahunan"},file:{name:"Beranda: File awal",empty:"Tidak ada file dipilih"},createMissing:{name:"Beranda: Buat catatan jika tidak ada",desc:"Membuat catatan berkala saat startup atau perintah jika belum ada."}},excludedNotes:{name:"Sembunyikan catatan dengan aturan properti (profil vault)",desc:"Daftar aturan frontmatter yang dipisahkan koma. Gunakan entri `key` atau `key=value` (misal, status=done, published=true, archived).",placeholder:"status=done, published=true, archived"},excludedFileNamePatterns:{name:"Sembunyikan file (profil vault)",desc:"Daftar pola nama file yang dipisahkan koma untuk disembunyikan. Mendukung wildcard * dan jalur / (misal, temp-*, *.png, /assets/*).",placeholder:"temp-*, *.png, /assets/*"},vaultProfiles:{name:"Profil vault",desc:"Profil menyimpan visibilitas jenis file, file tersembunyi, folder tersembunyi, tag tersembunyi, aturan properti untuk catatan tersembunyi, pintasan, dan banner navigasi. Beralih profil dari header panel navigasi.",defaultName:"Default",addButton:"Tambah profil",editProfilesButton:"Edit profil",addProfileOption:"Tambah profil...",applyButton:"Terapkan",deleteButton:"Hapus profil",addModalTitle:"Tambah profil",editProfilesModalTitle:"Edit profil",addModalPlaceholder:"Nama profil",deleteModalTitle:"Hapus {name}",deleteModalMessage:"Hapus {name}? Filter file, folder, tag, dan catatan berbasis properti yang disimpan di profil ini akan dihapus.",moveUp:"Pindah ke atas",moveDown:"Pindah ke bawah",errors:{emptyName:"Masukkan nama profil",duplicateName:"Nama profil sudah ada"}},vaultTitle:{name:"Penempatan judul vault",desc:"Pilih di mana judul vault ditampilkan.",options:{header:"Tampilkan di header",navigation:"Tampilkan di panel navigasi"}},excludedFolders:{name:"Sembunyikan folder (profil vault)",desc:"Daftar folder yang dipisahkan koma untuk disembunyikan. Pola nama: assets* (folder yang dimulai dengan assets), *_temp (diakhiri dengan _temp). Pola path: /arsip (arsip root saja), /res* (folder root yang dimulai dengan res), /*/temp (folder temp satu level ke dalam), /proyek/* (semua folder di dalam proyek).",placeholder:"template, assets*, /arsip, /res*"},showFileDate:{name:"Tampilkan tanggal",desc:"Tampilkan tanggal di bawah nama catatan."},alphabeticalDateMode:{name:"Saat mengurutkan berdasarkan nama",desc:"Tanggal yang ditampilkan saat catatan diurutkan secara alfabetis.",options:{created:"Tanggal dibuat",modified:"Tanggal dimodifikasi"}},showFileTags:{name:"Tampilkan tag file",desc:"Tampilkan tag yang dapat diklik di item file."},showFileTagAncestors:{name:"Tampilkan path tag lengkap",desc:"Tampilkan path hierarki tag lengkap. Saat diaktifkan: 'ai/openai', 'kerja/proyek/2024'. Saat dinonaktifkan: 'openai', '2024'."},colorFileTags:{name:"Warnai tag file",desc:"Terapkan warna tag ke badge tag di item file."},prioritizeColoredFileTags:{name:"Tampilkan tag berwarna terlebih dahulu",desc:"Urutkan tag berwarna sebelum tag lain di item file."},showFileTagsInCompactMode:{name:"Tampilkan tag file dalam mode kompak",desc:"Tampilkan tag saat tanggal, pratinjau, dan gambar disembunyikan."},showFileProperties:{name:"Tampilkan properti file",desc:"Tampilkan properti di item file. Gunakan dialog visibilitas kunci properti untuk memilih properti yang ditampilkan."},colorFileProperties:{name:"Warnai properti file",desc:"Terapkan warna properti pada lencana properti di item file."},prioritizeColoredFileProperties:{name:"Tampilkan properti berwarna terlebih dahulu",desc:"Urutkan properti berwarna sebelum properti lain di item file."},showFilePropertiesInCompactMode:{name:"Tampilkan properti dalam mode kompak",desc:"Tampilkan properti saat mode kompak aktif."},textCountDisplay:{name:"Jenis hitungan",desc:"Pilih hitungan catatan yang muncul di item file.",options:{none:"Tidak ada",words:"Jumlah kata",characters:"Jumlah karakter",both:"Jumlah kata dan karakter"}},textCountPlacement:{name:"Penempatan",desc:"Pilih tempat hitungan catatan muncul.",options:{title:"Di judul",property:"Sebagai properti"}},characterCountSpaces:{name:"Jumlah karakter",desc:"Pilih apakah spasi disertakan dalam jumlah karakter.",options:{include:"Termasuk spasi",exclude:"Tanpa spasi"}},wordCountTargetProperty:{name:"Properti target",desc:"Kunci properti frontmatter yang berisi target jumlah kata. Biarkan kosong untuk menyembunyikan target."},showWordCountPercentage:{name:"Tampilkan persentase target",desc:"Tampilkan hanya persentase kemajuan saat target jumlah kata tersedia."},propertyFields:{name:"Kunci properti (profil brankas)",desc:"Kunci properti frontmatter, dengan visibilitas per kunci untuk navigasi dan daftar file.",addButtonTooltip:"Konfigurasi kunci properti",noneConfigured:"Tidak ada properti yang dikonfigurasi",singleConfigured:"1 properti dikonfigurasi: {properties}",multipleConfigured:"{count} properti dikonfigurasi: {properties}"},showPropertiesOnSeparateRows:{name:"Tampilkan properti pada baris terpisah",desc:"Tampilkan setiap properti pada barisnya sendiri."},enablePropertyInternalLinks:{name:"Tautkan pil properti ke catatan",desc:"Klik pil properti untuk membuka catatan yang ditautkan."},enablePropertyExternalLinks:{name:"Tautkan pil properti ke URL",desc:"Klik pil properti untuk membuka URL yang ditautkan."},dateFormat:{name:"Format tanggal",desc:"Format untuk menampilkan tanggal (menggunakan format Moment).",placeholder:"D MMM YYYY",help:`Format umum:
D MMM YYYY = 25 Mei 2022
DD/MM/YYYY = 25/05/2022
YYYY-MM-DD = 2022-05-25

Token:
YYYY/YY = tahun
MMMM/MMM/MM = bulan
DD/D = hari
dddd/ddd = hari kerja`,helpTooltip:"Format menggunakan Moment",momentLinkText:"format Moment"},timeFormat:{name:"Format waktu",desc:"Format untuk menampilkan waktu (menggunakan format Moment).",placeholder:"HH:mm",help:`Format umum:
HH:mm = 14:30 (24 jam)
h:mm a = 2:30 PM (12 jam)
HH:mm:ss = 14:30:45
h:mm:ss a = 2:30:45 PM

Token:
HH/H = 24 jam
hh/h = 12 jam
mm = menit
ss = detik
a = AM/PM`,helpTooltip:"Format menggunakan Moment",momentLinkText:"format Moment"},showFilePreview:{name:"Tampilkan pratinjau catatan",desc:"Tampilkan teks pratinjau di bawah nama catatan."},skipHeadingsInPreview:{name:"Lewati judul dalam pratinjau",desc:"Lewati baris judul saat menghasilkan teks pratinjau."},skipCodeBlocksInPreview:{name:"Lewati blok kode dalam pratinjau",desc:"Lewati blok kode saat menghasilkan teks pratinjau."},stripHtmlInPreview:{name:"Hapus HTML di pratinjau",desc:"Hapus tag HTML dari teks pratinjau. Dapat memengaruhi kinerja pada catatan besar."},stripLatexInPreview:{name:"Hapus LaTeX di pratinjau",desc:"Hapus ekspresi LaTeX inline dan blok dari teks pratinjau."},previewProperties:{name:"Properti pratinjau",desc:"Daftar properti frontmatter yang dipisahkan koma untuk memeriksa teks pratinjau. Properti pertama dengan teks akan digunakan.",placeholder:"summary, description, abstract"},previewPropertiesFallback:{name:"Kembali ke konten catatan",desc:"Tampilkan konten catatan sebagai pratinjau saat tidak ada properti yang ditentukan berisi teks."},previewRows:{name:"Baris pratinjau",desc:"Jumlah baris yang ditampilkan untuk teks pratinjau.",options:{1:"1 baris",2:"2 baris",3:"3 baris",4:"4 baris",5:"5 baris"}},fileNameRows:{name:"Baris judul",desc:"Jumlah baris yang ditampilkan untuk judul catatan.",options:{1:"1 baris",2:"2 baris",3:"3 baris"}},useFolderColor:{name:"Gunakan warna folder",desc:"Warnai judul catatan dan ikon file dengan warna folder induk saat tidak ada warna file kustom yang ditetapkan. Prioritas: warna file kustom > warna folder > warna default."},showFeatureImage:{name:"Tampilkan gambar unggulan",desc:"Menampilkan thumbnail gambar pertama yang ditemukan di catatan."},forceSquareFeatureImage:{name:"Paksa gambar unggulan persegi",desc:"Render gambar unggulan sebagai thumbnail persegi."},featureImageProperties:{name:"Properti gambar",desc:"Daftar properti frontmatter yang dipisahkan koma untuk diperiksa terlebih dahulu. Jika tidak ditemukan, menggunakan gambar pertama dalam konten markdown.",placeholder:"thumbnail, featureResized, feature"},featureImageExcludeProperties:{name:"Kecualikan catatan dengan properti",desc:"Daftar properti frontmatter yang dipisahkan koma. Catatan yang mengandung properti ini tidak menyimpan gambar fitur.",placeholder:"private, confidential"},featureImageSize:{name:"Ukuran tampilan gambar fitur",desc:"Ukuran render maksimum untuk gambar fitur dalam daftar catatan.",options:{standard:"64 px",large:"96 px",extraLarge:"128 px"}},featureImagePixelSize:{name:"Ukuran piksel gambar fitur",desc:"Resolusi yang digunakan saat membuat thumbnail gambar fitur yang disimpan. Tingkatkan ini jika pratinjau yang lebih besar terlihat buram.",options:{standard:"256 x 144 px",large:"384 x 216 px",extraLarge:"512 x 288 px"}},downloadExternalFeatureImages:{name:"Unduh gambar eksternal",desc:"Unduh gambar jarak jauh dan thumbnail YouTube untuk gambar unggulan."},hideDrawingPreviewImages:{name:"Sembunyikan gambar pratinjau yang diekspor",desc:'Sembunyikan berkas PNG pratinjau gambar yang diekspor. Aktifkan "Tampilkan item tersembunyi" untuk menampilkannya.'},drawingIntegrationInfo:{intro:"Notebook Navigator menampilkan berkas PNG yang diekspor oleh Excalidraw sebagai pratinjau gambar.",items:["Di **pengaturan Excalidraw**, buka **Embedding Excalidraw into your Notes and Exporting**, lalu **Export Settings**, lalu **Auto-export Settings**.","Aktifkan **Auto-export PNG**. Secara opsional aktifkan **Export both dark- and light-themed image**.","Notebook Navigator mencari **Drawing.excalidraw.png**, **Drawing.excalidraw.dark.png**, atau **Drawing.excalidraw.light.png**.","Saat **Sembunyikan gambar pratinjau yang diekspor** aktif, berkas PNG hanya muncul ketika **Tampilkan item tersembunyi** juga aktif."]},showRootFolder:{name:"Tampilkan folder root",desc:"Tampilkan nama vault sebagai folder root di pohon."},showFolderIcons:{name:"Tampilkan ikon folder",desc:"Tampilkan ikon di sebelah folder di panel navigasi."},inheritFolderColors:{name:"Warisi warna folder",desc:"Folder anak mewarisi warna dari folder induk."},folderSortOrder:{name:"Urutan folder",desc:"Klik kanan pada folder mana pun untuk mengatur urutan pengurutan berbeda untuk isinya.",options:{alphaAsc:"A ke Z",alphaDesc:"Z ke A"}},showNoteCount:{name:"Tampilkan jumlah catatan",desc:"Tampilkan jumlah catatan di sebelah folder, tag, dan properti."},showSectionIcons:{name:"Tampilkan ikon untuk pintasan dan item terbaru",desc:"Tampilkan ikon di samping item pada bagian Pintasan dan Terbaru."},interfaceIcons:{name:"Ikon antarmuka",desc:"Edit ikon toolbar, folder, tag, properti, item tersemat, pencarian, dan pengurutan.",buttonText:"Edit ikon"},showIconsColorOnly:{name:"Terapkan warna ke ikon saja",desc:"Saat diaktifkan, warna kustom hanya diterapkan ke ikon. Saat dinonaktifkan, warna diterapkan ke ikon dan label teks."},navRainbowMode:{name:"Mode warna pelangi (profil vault)",desc:"Terapkan warna pelangi di panel navigasi.",options:{none:"Mati",foreground:"Warna teks",background:"Warna latar"}},navRainbowFirstColor:{name:"Warna pertama",desc:"Warna pertama dalam gradien pelangi."},navRainbowLastColor:{name:"Warna terakhir",desc:"Warna terakhir dalam gradien pelangi."},navRainbowTransitionStyle:{name:"Gaya transisi",desc:"Interpolasi yang digunakan antara warna pertama dan terakhir.",options:{hue:"Hue",rgb:"RGB"}},navRainbowApplyToShortcuts:{name:"Terapkan ke pintasan",desc:"Terapkan warna pelangi ke pintasan."},navRainbowApplyToRecent:{name:"Terapkan ke item terbaru",desc:"Terapkan warna pelangi ke item terbaru."},navRainbowApplyToFolders:{name:"Terapkan ke folder",desc:"Terapkan warna pelangi ke folder."},navRainbowFolderScope:{name:"Cakupan folder",desc:"Pilih level folder mana yang memulai penetapan warna.",options:{root:"Level akar",child:"Level anak",all:"Setiap level"}},navRainbowApplyToTags:{name:"Terapkan ke tag",desc:"Terapkan warna pelangi ke tag."},navRainbowTagScope:{name:"Cakupan tag",desc:"Pilih level tag mana yang memulai penetapan warna.",options:{root:"Level akar",child:"Level anak",all:"Setiap level"}},navRainbowApplyToProperties:{name:"Terapkan ke properti",desc:"Terapkan warna pelangi ke properti."},navRainbowBalanceHueLuminance:{name:"Kecerahan konsisten di seluruh warna",desc:"Menginterpolasi kecerahan antara warna awal dan akhir selama transisi warna."},navRainbowSeparateThemeColors:{name:"Pisahkan warna mode terang dan gelap",desc:"Gunakan warna pelangi yang berbeda untuk mode terang dan mode gelap."},navRainbowCopyLightToDark:"Salin warna mode terang ke mode gelap",navRainbowPropertyScope:{name:"Cakupan properti",desc:"Pilih level properti mana yang memulai penetapan warna.",options:{root:"Level akar",child:"Level anak",all:"Setiap level"}},collapseBehavior:{name:"Ciutkan item",desc:"Pilih apa yang dipengaruhi tombol luaskan/ciutkan semua.",options:{all:"Semua",foldersOnly:"Folder saja",tagsOnly:"Tag saja",propertiesOnly:"Properti saja"}},smartCollapse:{name:"Pertahankan item yang dipilih tetap terbuka",desc:"Saat menciutkan, pertahankan item yang dipilih dan induknya tetap terbuka."},excludeVaultRootFromCollapse:{name:"Lewati root vault saat menciutkan",desc:"Saat menciutkan semua item, biarkan folder root vault tetap dalam keadaan saat ini."},navIndent:{name:"Indentasi pohon",desc:"Sesuaikan lebar indentasi untuk folder, tag, dan properti bersarang (piksel)."},navItemHeight:{name:"Tinggi item",desc:"Sesuaikan tinggi folder, tag, dan properti di panel navigasi (piksel)."},navItemHeightScaleText:{name:"Skalakan teks dengan tinggi item",desc:"Kurangi ukuran teks navigasi saat tinggi item dikurangi."},showIndentGuides:{name:"Tampilkan panduan indentasi",desc:"Tampilkan panduan indentasi untuk folder, tag, dan properti bersarang."},navCountLeaderStyle:{name:"Tampilkan tanda penghubung",desc:"Tampilkan titik, tanda hubung, atau garis antara nama item dan jumlah catatan.",options:{none:"Tidak ada",dots:"Titik (...)",dashes:"Tanda hubung (---)",line:"Garis"}},navRootSpacing:{name:"Spasi item root",desc:"Spasi antara folder, tag, dan properti tingkat root (piksel)."},showTags:{name:"Tampilkan tag",desc:"Tampilkan bagian tag di navigator."},showTagIcons:{name:"Tampilkan ikon tag",desc:"Tampilkan ikon di sebelah tag di panel navigasi."},inheritTagColors:{name:"Warisi warna tag",desc:"Tag anak mewarisi warna dari tag induk."},tagSortOrder:{name:"Urutan tag",desc:"Klik kanan pada tag mana pun untuk mengatur urutan pengurutan berbeda untuk isinya.",options:{alphaAsc:"A ke Z",alphaDesc:"Z ke A",frequency:"Frekuensi",lowToHigh:"rendah ke tinggi",highToLow:"tinggi ke rendah"}},showAllTagsFolder:{name:"Tampilkan folder tag",desc:'Tampilkan "Tag" sebagai folder yang dapat diciutkan.'},showUntagged:{name:"Tampilkan catatan tanpa tag",desc:'Tampilkan item "Tanpa tag" untuk catatan tanpa tag.'},scopeTagsToCurrentContext:{name:"Filter tag berdasarkan pilihan",desc:"Hanya tampilkan tag yang muncul di catatan dalam folder atau properti yang dipilih."},keepEmptyTagsProperty:{name:"Pertahankan properti tag setelah menghapus tag terakhir",desc:"Pertahankan properti tag frontmatter saat semua tag dihapus. Saat dinonaktifkan, properti tag dihapus dari frontmatter."},showProperties:{name:"Tampilkan properti",desc:"Tampilkan bagian properti di navigator.",propertyKeysInfoPrefix:"Konfigurasi properti di ",propertyKeysInfoLinkText:"Mulai > Kunci properti",propertyKeysInfoSuffix:""},showPropertyIcons:{name:"Tampilkan ikon properti",desc:"Tampilkan ikon di samping properti di panel navigasi."},inheritPropertyColors:{name:"Warisi warna properti",desc:"Nilai properti mewarisi warna dan latar belakang dari kunci propertinya."},propertySortOrder:{name:"Urutan sortir properti",desc:"Klik kanan pada properti mana saja untuk mengatur urutan sortir yang berbeda untuk nilainya.",options:{alphaAsc:"A ke Z",alphaDesc:"Z ke A",frequency:"Frekuensi",lowToHigh:"rendah ke tinggi",highToLow:"tinggi ke rendah"}},showAllPropertiesFolder:{name:"Tampilkan folder properti",desc:'Tampilkan "Properti" sebagai folder yang dapat dilipat.'},scopePropertiesToCurrentContext:{name:"Filter properti berdasarkan pilihan",desc:"Hanya tampilkan properti yang muncul di catatan dalam folder atau tag yang dipilih."},hiddenTags:{name:"Sembunyikan tag (profil vault)",desc:"Daftar pola tag yang dipisahkan koma. Pola nama: tag* (dimulai dengan), *tag (diakhiri dengan). Pola jalur: arsip (tag dan turunan), arsip/* (hanya turunan), proyek/*/draf (wildcard tengah).",placeholder:"arsip*, *draf, proyek/*/lama"},hiddenFileTags:{name:"Sembunyikan catatan dengan tag (profil vault)",desc:"Comma-separated list of tag patterns. Notes containing matching tags are hidden. Name patterns: tag* (starting with), *tag (ending with). Path patterns: archive (tag and descendants), archive/* (descendants only), projects/*/drafts (mid-segment wildcard).",placeholder:"archive*, *draft, projects/*/old"},enableFolderNotes:{name:"Aktifkan catatan folder",desc:"Folder dengan file catatan yang cocok ditampilkan sebagai tautan yang dapat diklik."},folderNoteType:{name:"Jenis catatan folder default",desc:"Jenis catatan folder yang dibuat dari menu konteks.",options:{ask:"Tanyakan saat membuat",markdown:"Markdown",canvas:"Canvas",base:"Base"}},folderNoteName:{name:"Nama catatan folder",desc:"Nama catatan folder tanpa ekstensi. Biarkan kosong untuk menggunakan nama yang sama dengan folder.",placeholder:"index"},folderNoteNamePattern:{name:"Pola nama catatan folder",desc:"Pola nama untuk catatan folder tanpa ekstensi. Gunakan {{folder}} untuk menyisipkan nama folder. Jika diatur, nama catatan folder tidak berlaku."},folderNoteTemplate:{name:"Templat catatan folder",desc:"File templat yang digunakan saat membuat catatan folder. Templat Markdown dapat menggunakan Templater. Templat Canvas dan Base disalin sebagai isi file. Atur lokasi folder templat di Operasi file > Templat.",formatWarning:"Format templat harus cocok dengan jenis catatan folder yang dipilih: .md, .canvas, atau .base."},enableFolderNoteLinks:{name:"Nama folder membuka catatan folder",desc:"Mengklik nama folder membuka catatan foldernya. Saat dinonaktifkan, catatan folder hanya menyediakan metadata folder seperti nama, ikon, dan warna."},hideFolderNoteInList:{name:"Sembunyikan catatan folder di daftar",desc:"Sembunyikan catatan folder dari daftar file."},pinCreatedFolderNote:{name:"Sematkan catatan folder yang dibuat",desc:"Sematkan catatan folder saat dibuat dari menu konteks."},folderNoteOpenLocation:{name:"Buka catatan folder di",desc:"Pilih tempat catatan folder dibuka saat mengklik tautan catatan folder.",options:{currentTab:"Tab saat ini",newTab:"Tab baru",rightSidebar:"Bilah sisi kanan"}},showNearestFolderNoteInSidebar:{name:"Bilah sisi kanan: Tampilkan catatan folder terdekat",desc:"Saat folder dipilih, bilah sisi kanan otomatis menampilkan catatan folder leluhur terdekat."},confirmBeforeDelete:{name:"Konfirmasi sebelum menghapus",desc:"Tampilkan dialog konfirmasi saat menghapus catatan atau folder"},deleteAttachments:{name:"Hapus lampiran saat menghapus file",desc:"Otomatis menghapus lampiran tertaut dan pratinjau gambar yang dihasilkan jika tidak digunakan di tempat lain",options:{ask:"Tanya setiap kali",always:"Selalu",never:"Tidak pernah"}},moveFileConflicts:{name:"Konflik pemindahan",desc:"Saat memindahkan file ke folder yang sudah memiliki file dengan nama yang sama. Tanya setiap kali (ganti nama, timpa, batal) atau selalu ganti nama.",options:{ask:"Tanya setiap kali",rename:"Selalu ganti nama"}},metadataCleanup:{name:"Bersihkan metadata",desc:"Menghapus metadata yatim yang ditinggalkan saat file, folder, tag, atau properti dihapus, dipindahkan, atau diganti nama di luar Obsidian. Ini hanya mempengaruhi file pengaturan Notebook Navigator.",buttonText:"Bersihkan metadata",error:"Pembersihan pengaturan gagal",loading:"Memeriksa metadata...",statusClean:"Tidak ada metadata untuk dibersihkan",statusCounts:"Item yatim: {folders} folder, {tags} tag, {properties} properti, {files} file, {pinned} pin, {separators} pemisah"},rebuildCache:{name:"Bangun ulang cache",desc:"Gunakan ini jika Anda mengalami tag yang hilang, pratinjau yang salah, atau gambar unggulan yang hilang. Ini dapat terjadi setelah konflik sinkronisasi atau penutupan yang tidak terduga.",buttonText:"Bangun ulang cache",error:"Gagal membangun ulang cache",indexingTitle:"Mengindeks vault...",progress:"Memperbarui cache Notebook Navigator."},externalIcons:{downloadButton:"Unduh",downloadingLabel:"Mengunduh...",removeButton:"Hapus",statusInstalled:"Diunduh (versi {version})",statusNotInstalled:"Belum diunduh",versionUnknown:"tidak diketahui",downloadFailed:"Gagal mengunduh {name}. Periksa koneksi Anda dan coba lagi.",removeFailed:"Gagal menghapus {name}.",infoNote:"Paket ikon yang diunduh menyinkronkan status instalasi di seluruh perangkat. Paket ikon tetap di database lokal di setiap perangkat; sinkronisasi hanya melacak apakah akan mengunduh atau menghapusnya. Paket ikon diunduh dari repositori Notebook Navigator (https://github.com/johansan/notebook-navigator/tree/main/icon-assets)."},useFrontmatterDates:{name:"Gunakan metadata frontmatter",desc:"Gunakan frontmatter untuk nama catatan, timestamp, ikon, dan warna"},frontmatterIconField:{name:"Field ikon",desc:"Field frontmatter untuk ikon file. Biarkan kosong untuk menggunakan ikon yang disimpan di pengaturan.",placeholder:"icon"},frontmatterColorField:{name:"Field warna",desc:"Field frontmatter untuk warna file. Biarkan kosong untuk menggunakan warna yang disimpan di pengaturan.",placeholder:"color"},frontmatterBackgroundField:{name:"Field latar belakang",desc:"Field frontmatter untuk warna latar belakang. Biarkan kosong untuk menggunakan warna latar belakang yang disimpan di pengaturan.",placeholder:"background"},frontmatterMigration:{name:"Migrasi ikon dan warna dari pengaturan",desc:"Disimpan di pengaturan: {icons} ikon, {colors} warna.",button:"Migrasi",buttonWorking:"Memigrasi...",noticeNone:"Tidak ada ikon atau warna file yang disimpan di pengaturan.",noticeDone:"Memigrasi {migratedIcons}/{icons} ikon, {migratedColors}/{colors} warna.",noticeFailures:"Entri gagal: {failures}.",noticeError:"Migrasi gagal. Periksa konsol untuk detail."},frontmatterNameField:{name:"Field-field nama",desc:"Daftar field frontmatter dipisahkan koma. Nilai tidak kosong pertama digunakan. Kembali ke nama file.",placeholder:"title, name"},frontmatterCreatedField:{name:"Field timestamp dibuat",desc:"Nama field frontmatter untuk timestamp dibuat. Biarkan kosong untuk hanya menggunakan tanggal sistem file.",placeholder:"created"},frontmatterModifiedField:{name:"Field timestamp dimodifikasi",desc:"Nama field frontmatter untuk timestamp dimodifikasi. Biarkan kosong untuk hanya menggunakan tanggal sistem file.",placeholder:"modified"},frontmatterDateFormat:{name:"Format timestamp",desc:"Format yang digunakan untuk mengurai timestamp di frontmatter. Biarkan kosong untuk menggunakan format ISO 8601",helpTooltip:"Format menggunakan Moment",momentLinkText:"format Moment",help:`Format umum:
YYYY-MM-DD[T]HH:mm:ss → 2025-01-04T14:30:45
YYYY-MM-DD[T]HH:mm:ssZ → 2025-08-07T16:53:39+02:00
DD/MM/YYYY HH:mm:ss → 04/01/2025 14:30:45
MM/DD/YYYY h:mm:ss a → 01/04/2025 2:30:45 PM`},supportDevelopment:{name:"Dukung pengembangan",desc:"Jika Anda menyukai Notebook Navigator, silakan pertimbangkan untuk mendukung pengembangan berkelanjutannya.",buttonText:"❤️ Sponsor",coffeeButton:"☕️ Traktir saya kopi"},updateCheckOnStart:{name:"Periksa versi baru saat mulai",desc:"Memeriksa rilis plugin baru saat startup dan menampilkan notifikasi saat pembaruan tersedia. Pemeriksaan terjadi paling banyak sekali sehari.",status:"Versi baru tersedia: {version}"},debugLogging:{name:"Log debug saat startup",desc:"Menulis diagnostik startup ke file Markdown bertanda waktu di root vault, lalu berhenti setelah startup stabil. File dapat disinkronkan dan dapat menyertakan jalur file."},whatsNew:{name:"Apa yang baru di Notebook Navigator {version}",desc:"Lihat pembaruan dan peningkatan terbaru",buttonText:"Lihat pembaruan terbaru"},masteringVideo:{name:"Menguasai Notebook Navigator (video)",desc:"Video ini membahas semua yang Anda butuhkan untuk produktif di Notebook Navigator, termasuk pintasan keyboard, pencarian, tag, dan kustomisasi lanjutan."},cacheStatistics:{localCache:"Cache lokal",items:"item",withTags:"dengan tag",withPreviewText:"dengan teks pratinjau",withFeatureImage:"dengan gambar unggulan",withMetadata:"dengan metadata"},metadataInfo:{successfullyParsed:"Berhasil diurai",itemsWithName:"item dengan nama",withCreatedDate:"dengan tanggal dibuat",withModifiedDate:"dengan tanggal dimodifikasi",withIcon:"dengan ikon",withColor:"dengan warna",failedToParse:"Gagal mengurai",createdDates:"tanggal dibuat",modifiedDates:"tanggal dimodifikasi",checkTimestampFormat:"Periksa format timestamp Anda.",exportFailed:"Ekspor kesalahan"}}},whatsNew:{title:"Apa yang baru di Notebook Navigator",openBannerImage:"Buka gambar banner rilis",supportMessage:"Jika Anda merasa Notebook Navigator membantu, silakan pertimbangkan untuk mendukung pengembangannya.",supportButton:"Traktir saya kopi",thanksButton:"Terima kasih!"}}});var L1={};In(L1,{STRINGS_IT:()=>Gie});var Gie,z1=U(()=>{Gie={common:{cancel:"Annulla",delete:"Elimina",clear:"Cancella",remove:"Rimuovi",restoreDefault:"Ripristina predefinito",submit:"Invia",save:"Salva",configure:"Configura",lightMode:"Modalità chiara",darkMode:"Modalità scura",noSelection:"Nessuna selezione",untagged:"Senza tag",featureImageAlt:"Immagine in evidenza",unknownError:"Errore sconosciuto",clipboardWriteError:"Impossibile scrivere negli appunti",updateBannerTitle:"Aggiornamento Notebook Navigator disponibile",updateBannerInstruction:"Aggiorna in Impostazioni -> Plugin della community",previous:"Precedente",next:"Successivo"},listPane:{emptyStateNoSelection:"Seleziona una cartella o un tag per visualizzare le note",emptyStateNoNotes:"Nessuna nota",pinnedSection:"Fissate",notesSection:"Note",filesSection:"File",hiddenItemAriaLabel:"{name} (nascosto)",collapseGroup:"Comprimi gruppo",expandGroup:"Espandi gruppo",manualSortTitle:"Ordinamento manuale: {property}",manualSortHint:`Trascina per riordinare. L'ordine è salvato come valori indice numerici nella proprietà "{property}".`,manualSortNonMarkdownHint:"I file non Markdown sono mostrati in fondo e non possono essere riordinati.",unsortedSection:"Non ordinato",manualSortDone:"Fatto",manualSortMultipleWriteFailure:"{count} file non riusciti; primo: {path}: {message}"},tagList:{untaggedLabel:"Senza tag",tags:"Tag"},navigationPane:{shortcutsHeader:"Scorciatoie",recentFilesHeader:"File recenti",properties:"Proprietà",reorderRootFoldersTitle:"Riordina navigazione",reorderRootFoldersHint:"Usa frecce o trascina per riordinare",vaultRootLabel:"Vault",resetRootToAlpha:"Ripristina ordine alfabetico",resetRootToFrequency:"Ripristina ordine per frequenza",pinShortcuts:"Fissa scorciatoie",pinShortcutsAndRecentFiles:"Fissa scorciatoie e file recenti",unpinShortcuts:"Rimuovi fissatura scorciatoie",unpinShortcutsAndRecentFiles:"Rimuovi fissatura scorciatoie e file recenti",profileMenuAria:"Cambia profilo vault"},navigationCalendar:{ariaLabel:"Calendario",dailyNotesNotEnabled:"Il plugin delle note giornaliere non è abilitato.",createDailyNote:{title:"Nuova nota giornaliera",message:"Il file {filename} non esiste. Vuoi crearlo?",confirmButton:"Crea"},helpModal:{title:"Scorciatoie del calendario",items:["Fai clic su un giorno per aprire o creare una nota giornaliera. Settimane, mesi, trimestri e anni funzionano allo stesso modo.","Un punto pieno sotto un giorno indica che ha una nota. Un punto vuoto indica che ha attività incomplete.","Se una nota ha un'immagine in evidenza, appare come sfondo del giorno."],dateFilterCmdCtrl:"`Cmd/Ctrl`+clic su una data per filtrare per quella data nell'elenco dei file.",dateFilterOptionAlt:"`Option/Alt`+clic su una data per filtrare per quella data nell'elenco dei file."}},dailyNotes:{templateReadFailed:"Impossibile leggere il modello della nota giornaliera.",createFailed:"Impossibile creare la nota giornaliera."},shortcuts:{folderExists:"Cartella già presente nelle scorciatoie",noteExists:"Nota già presente nelle scorciatoie",tagExists:"Tag già presente nelle scorciatoie",propertyExists:"Proprietà già presente nei preferiti",invalidProperty:"Scorciatoia proprietà non valida",searchExists:"Scorciatoia di ricerca già esistente",emptySearchQuery:"Inserisci una query di ricerca prima di salvare",emptySearchName:"Inserisci un nome prima di salvare la ricerca",add:"Aggiungi alle scorciatoie",addNotesCount:"Aggiungi {count} note alle scorciatoie",addFilesCount:"Aggiungi {count} file alle scorciatoie",rename:"Rinomina scorciatoia",remove:"Rimuovi dalle scorciatoie",removeAll:"Rimuovi tutte le scorciatoie",removeAllConfirm:"Rimuovere tutte le scorciatoie?",folderNotesPinned:"Fissate {count} note cartella"},paneHeader:{collapseAllFolders:"Comprimi elementi",expandAllFolders:"Espandi tutti gli elementi",showCalendar:"Mostra calendario",hideCalendar:"Nascondi calendario",newFolder:"Nuova cartella",newNote:"Nuova nota",mobileBackToNavigation:"Torna alla navigazione",changeChildSortOrder:"Cambia ordine",changeSortAndGroup:"Cambia ordine e raggruppamento",resetViewToDefaults:"Ripristina vista alle impostazioni predefinite",manualSort:"Ordinamento manuale",editSortOrder:"Modifica ordinamento...",removeSortProperty:"Rimuovi proprietà di ordinamento",descendants:"discendenti",subfolders:"sottocartelle",subtags:"sotto-tag",childValues:"valori figli",applySortAndGroupToDescendants:t=>`Applica ordinamento e raggruppamento a ${t}`,applyAppearanceToDescendants:t=>`Applica aspetto a ${t}`,showFolders:"Mostra navigazione",reorderRootFolders:"Riordina navigazione",finishRootFolderReorder:"Fatto",showExcludedItems:"Mostra cartelle, tag e note nascosti",hideExcludedItems:"Nascondi cartelle, tag e note nascosti",showDualPane:"Mostra doppio pannello",showSinglePane:"Mostra pannello singolo",dualPaneAutoFallbackNotice:'I pannelli doppi non sono disponibili quando la barra laterale è troppo stretta. Per modificarlo, imposta "Quando la barra laterale è troppo stretta" su "Non fare nulla" in Impostazioni > Aspetto e comportamento.',changeAppearance:"Cambia aspetto",showNotesFromSubfolders:"Mostra note da sottocartelle",showFilesFromSubfolders:"Mostra file da sottocartelle",showNotesFromDescendants:"Mostra note da discendenti",showFilesFromDescendants:"Mostra file da discendenti",search:"Cerca"},searchInput:{placeholder:"Cerca...",placeholderOmnisearch:"Omnisearch...",clearSearch:"Cancella ricerca",switchToFilterSearch:"Passa alla ricerca con filtro",switchToOmnisearch:"Passa a Omnisearch",saveSearchShortcut:"Salva scorciatoia ricerca",removeSearchShortcut:"Rimuovi scorciatoia ricerca",shortcutModalTitle:"Salva scorciatoia ricerca",shortcutNamePlaceholder:"Inserisci nome scorciatoia",shortcutStartIn:"Inizia sempre in: {path}",searchHelp:"Sintassi di ricerca",searchHelpTitle:"Sintassi di ricerca",searchHelpModal:{intro:"Combina nomi file, proprietà, tag, date e filtri in una query (es. `meeting .status=active #work @thisweek`). Installa il plugin Omnisearch per usare la ricerca full-text.",introSwitching:"Passa tra ricerca con filtro e Omnisearch usando i tasti freccia su/giù o cliccando sull'icona di ricerca.",sections:{fileNames:{title:"Nomi file",items:['`word` Trova note con "word" nel nome del file.',"`word1 word2` Ogni parola deve corrispondere al nome del file.",'`-word` Escludi note con "word" nel nome del file.']},tags:{title:"Tag",items:["`#tag` Includi note con tag (trova anche tag nidificati come `#tag/subtag`).","`#` Includi solo note con tag.","`-#tag` Escludi note con tag.","`-#` Includi solo note senza tag.","`#tag1 #tag2` Trova entrambi i tag (AND implicito).","`#tag1 AND #tag2` Trova entrambi i tag (AND esplicito).","`#tag1 OR #tag2` Trova uno dei tag.","`#a OR #b AND #c` AND ha priorità maggiore: trova `#a`, o entrambi `#b` e `#c`.","Cmd/Ctrl+Clic su un tag per aggiungere con AND. Cmd/Ctrl+Shift+Clic per aggiungere con OR."]},properties:{title:"Proprietà",items:["`.key` Includi note con chiave di proprietà.","`.key=value` Includi note in cui il valore della proprietà contiene `value`.",'`."Reading Status"` Includi note con una chiave di proprietà che contiene spazi.','`."Reading Status"="In Progress"` Chiavi e valori con spazi devono essere racchiusi tra virgolette doppie.',"`-.key` Escludi note con chiave di proprietà.","`-.key=value` Escludi note in cui il valore della proprietà contiene `value`.","Cmd/Ctrl+Clic su una proprietà per aggiungere con AND. Cmd/Ctrl+Shift+Clic per aggiungere con OR."]},tasks:{title:"Filtri",items:["`has:task` Includi note con attività non completate.","`-has:task` Escludi note con attività non completate.","`folder:meetings` Includi note in cui un nome di cartella contiene `meetings`.","`folder:/work/meetings` Includi note solo in `work/meetings` (non sottocartelle).","`folder:/` Includi note solo nella radice del vault.","`-folder:archive` Escludi note in cui un nome di cartella contiene `archive`.","`-folder:/archive` Escludi note solo in `archive` (non sottocartelle).","`ext:md` Includi note con estensione `md` (`ext:.md` è anche supportato).","`-ext:pdf` Escludi note con estensione `pdf`.","Combina con tag, nomi e date (ad esempio: `folder:/work/meetings ext:md @thisweek`)."]},connectors:{title:"Comportamento AND/OR",items:["`AND` e `OR` sono operatori solo nelle query composte esclusivamente da tag e proprietà.","Le query esclusive di tag e proprietà contengono solo filtri di tag e proprietà: `#tag`, `-#tag`, `#`, `-#`, `.key`, `-.key`, `.key=value`, `-.key=value`.","Se una query include nomi, date (`@...`), filtri attività (`has:task`), filtri cartella (`folder:...`) o filtri estensione (`ext:...`), `AND` e `OR` vengono cercati come parole.","Esempio di query con operatori: `#work OR .status=started`.","Esempio di query mista: `#work OR ext:md` (`OR` viene cercato nei nomi dei file)."]},dates:{title:"Date",items:["`@today` Trova note di oggi usando il campo data predefinito.","`@yesterday`, `@last7d`, `@last30d`, `@thisweek`, `@thismonth` Intervalli di date relativi.","`@2026-02-07` Trova un giorno specifico (supporta anche `@20260207`).","`@2026` Trova un anno solare.","`@2026-02` o `@202602` Trova un mese solare.","`@2026-W05` o `@2026W05` Trova una settimana ISO.","`@2026-Q2` o `@2026Q2` Trova un trimestre solare.","`@13/02/2026` Formati numerici con separatori (`@07022026` segue la tua locale in caso di ambiguità).","`@2026-02-01..2026-02-07` Trova un intervallo di giorni inclusivo (estremi aperti supportati).","`@c:...` o `@m:...` Indica data di creazione o modifica.","`-@...` Escludi una corrispondenza di data."]},omnisearch:{title:"Omnisearch",items:["Ricerca full-text nell'intero vault, filtrata per la cartella corrente o i tag selezionati.","Può essere lento con meno di 3 caratteri nei vault grandi.","Non può cercare percorsi con caratteri non-ASCII o cercare correttamente i sottopercorsi.","Restituisce risultati limitati prima del filtraggio per cartella, quindi file rilevanti potrebbero non apparire se esistono molte corrispondenze altrove.","Le anteprime delle note mostrano estratti di Omnisearch invece del testo di anteprima predefinito."]}}}},contextMenu:{file:{openInNewTab:"Apri in nuova scheda",openToRight:"Apri a destra",openInNewWindow:"Apri in nuova finestra",openMultipleInNewTabs:"Apri {count} note in nuove schede",openMultipleFilesInNewTabs:"Apri {count} file in nuove schede",openMultipleToRight:"Apri {count} note a destra",openMultipleFilesToRight:"Apri {count} file a destra",openMultipleInNewWindows:"Apri {count} note in nuove finestre",openMultipleFilesInNewWindows:"Apri {count} file in nuove finestre",pinNote:"Fissa nota",pinFile:"Fissa file",unpinNote:"Rimuovi fissatura nota",unpinFile:"Rimuovi fissatura file",pinMultipleNotes:"Fissa {count} note",pinMultipleFiles:"Fissa {count} file",unpinMultipleNotes:"Rimuovi fissatura {count} note",unpinMultipleFiles:"Rimuovi fissatura {count} file",duplicateNote:"Duplica nota",duplicateFile:"Duplica file",duplicateMultipleNotes:"Duplica {count} note",duplicateMultipleFiles:"Duplica {count} file",openVersionHistory:"Apri cronologia versioni",revealInFolder:"Mostra nella cartella",revealInFinder:"Mostra nel Finder",showInExplorer:"Mostra in esplora risorse",openInDefaultApp:"Apri nell'app predefinita",renameNote:"Rinomina nota",renameFile:"Rinomina file",deleteNote:"Elimina nota",deleteFile:"Elimina file",setCalendarHighlight:"Imposta evidenziazione",removeCalendarHighlight:"Rimuovi evidenziazione",deleteMultipleNotes:"Elimina {count} note",deleteMultipleFiles:"Elimina {count} file",moveNoteToFolder:"Sposta nota in...",moveFileToFolder:"Sposta file in...",moveMultipleNotesToFolder:"Sposta {count} note in...",moveMultipleFilesToFolder:"Sposta {count} file in...",mergeNotes:"Unisci {count} note...",mergeNotesInGroup:"Unisci note nel gruppo...",setManualSortGroupHeader:"Imposta intestazione gruppo",changeManualSortGroupHeader:"Cambia intestazione gruppo",manualSortGroupHeader:{title:"Intestazione gruppo",copyStyle:"Copia stile intestazione",pasteStyle:"Incolla stile intestazione",remove:"Rimuovi intestazione gruppo"},addTag:"Aggiungi tag",addPropertyKey:"Imposta proprietà",removeTag:"Rimuovi tag",removeAllTags:"Rimuovi tutti i tag",changeIcon:"Cambia icona",changeColor:"Cambia colore"},folder:{newNote:"Nuova nota",newNoteFromTemplate:"Nuova nota da modello",newFolder:"Nuova cartella",newCanvas:"Nuova canvas",newBase:"Nuovo base",newDrawing:"Nuovo disegno",newExcalidrawDrawing:"Nuovo disegno Excalidraw",newTldrawDrawing:"Nuovo disegno Tldraw",duplicateFolder:"Duplica cartella",searchInFolder:"Cerca nella cartella",createFolderNote:"Crea nota cartella",detachFolderNote:"Scollega nota cartella",deleteFolderNote:"Elimina nota cartella",changeIcon:"Cambia icona",changeColor:"Cambia colore",changeBackground:"Cambia sfondo",excludeFolder:"Nascondi cartella",unhideFolder:"Mostra cartella",moveFolder:"Sposta cartella in...",renameFolder:"Rinomina cartella",deleteFolder:"Elimina cartella"},tag:{changeIcon:"Cambia icona",changeColor:"Cambia colore",changeBackground:"Cambia sfondo",showTag:"Mostra tag",hideTag:"Nascondi tag"},property:{addKey:"Configura chiavi proprietà",renameKey:"Rinomina proprietà",deleteKey:"Elimina proprietà"},navigation:{addSeparator:"Aggiungi separatore",removeSeparator:"Rimuovi separatore"},copyPath:{title:"Copia percorso",asObsidianUrl:"come URL Obsidian",fromVaultFolder:"dalla cartella vault",fromSystemRoot:"dalla radice di sistema"},style:{title:"Stile",copy:"Copia stile",paste:"Incolla stile",removeIcon:"Rimuovi icona",removeColor:"Rimuovi colore",removeBackground:"Rimuovi sfondo",clear:"Cancella stile"}},folderAppearance:{appearance:"Aspetto",sortBy:"Ordina per",standardPreset:"Standard",compactPreset:"Compatto",defaultSuffix:"(predefinito)",defaultLabel:"Predefinito",titleRows:"Righe titolo",previewRows:"Righe anteprima",groupBy:"Raggruppa per",titleRowOption:t=>`${t} ${t===1?"riga":"righe"} titolo`,previewRowOption:t=>`${t} ${t===1?"riga":"righe"} anteprima`},modals:{bulkApply:{applyButton:"Applica",applySortAndGroupTitle:t=>`Applicare ordinamento e raggruppamento a ${t}?`,applyAppearanceTitle:t=>`Applicare aspetto a ${t}?`,affectedCountMessage:t=>`Sostituzioni esistenti che cambieranno: ${t}.`},manualSortConfirm:{propertySortTitle:"Usare l'ordinamento manuale?",propertySortMessage:(t,e)=>`Questo cambia la vista corrente all'ordinamento manuale usando "${t}". La modifica dell'ordine scrive valori indice numerici in quella proprietà in ${e} ${e===1?"nota":"note"} secondo necessità.`,propertySortConfirmButton:"Usa ordinamento manuale",removePropertyTitle:"Rimuovere la proprietà di ordinamento?",removePropertyMessage:(t,e)=>`Questo rimuove "${t}" da ${e} ${e===1?"nota":"note"} nella lista corrente. L'ordinamento manuale verrà cancellato per quelle note.`,removePropertyConfirmButton:"Rimuovi proprietà",compactTitle:"Compattare i valori indice?",compactMessage:t=>`Questo riordino richiede più spazio numerico. ${t} ${t===1?"nota riceverà":"note riceveranno"} nuovi valori indice.`,compactConfirmButton:"Compatta valori indice"},manualSortGroupHeader:{title:"Imposta intestazione gruppo",titleLabel:"Titolo",placeholder:"Intestazione gruppo",icon:"Icona",color:"Colore",wordCount:"Mostra il conteggio parole",wordCountTarget:"Conteggio parole obiettivo",wordCountTargetPlaceholder:"10,000",wordCountTargetDescription:"Quando questo campo è vuoto, l’obiettivo del gruppo usa la proprietà obiettivo impostata in Impostazioni > Note > Conteggio parole e caratteri. Sovrascrivila impostando un valore obiettivo per questo gruppo.",description:"Personalizza l'intestazione di gruppo per questa nota. Lascia il titolo vuoto per rimuovere l'intestazione."},mergeNotes:{title:"Unisci note",summary:"Crea una nota da {count} note in {folder}.",frontmatterRule:"Il frontmatter della prima nota viene mantenuto. Il frontmatter delle altre note viene rimosso.",crossFolderWarning:"Le note di origine si trovano in cartelle diverse. Link relativi e incorporamenti potrebbero smettere di funzionare nella nota unita.",outputName:"Nome di output",outputNameDesc:"La nota unita viene creata nella cartella mostrata sopra.",outputNamePlaceholder:"Note unite",separator:"Separatore",separatorDesc:"Inserito tra le note.",separatorOptions:{none:"Nessuno",blankLine:"Riga vuota",horizontalRule:"Linea orizzontale",heading:"Intestazione con titolo della nota"},moveSourcesToTrash:"Sposta le note di origine nel cestino dopo averle unite",mergeButton:"Unisci"},navRainbowSection:{title:t=>`Colori arcobaleno: ${t}`},iconPicker:{searchPlaceholder:"Cerca icone...",recentlyUsedHeader:"Usate di recente",emptyStateSearch:"Inizia a digitare per cercare icone",emptyStateNoResults:"Nessuna icona trovata",showingResultsInfo:"Mostrati 50 di {count} risultati. Digita di più per restringere.",emojiInstructions:"Digita o incolla qualsiasi emoji per usarla come icona",removeIcon:"Rimuovi icona",removeFromRecents:"Rimuovi dai recenti",allTabLabel:"Tutte"},fileIconRuleEditor:{addRuleAria:"Aggiungi regola"},interfaceIcons:{title:"Icone dell'interfaccia",fileItemsSection:"Elementi file",items:{"nav-shortcuts":"Scorciatoie","nav-recent-files":"File recenti","nav-expand-all":"Espandi tutto","nav-collapse-all":"Comprimi tutto","nav-calendar":"Calendario","nav-tree-expand":"Freccia albero: espandi","nav-tree-collapse":"Freccia albero: comprimi","nav-hidden-items":"Elementi nascosti","nav-root-reorder":"Riordina cartelle radice","nav-new-folder":"Nuova cartella","nav-show-single-pane":"Mostra pannello singolo","nav-show-dual-pane":"Mostra doppio pannello","nav-profile-chevron":"Freccia menu profilo","list-search":"Cerca","list-reveal-file":"Mostra file","list-descendants":"Note dalle sottocartelle","list-sort-ascending":"Ordine: crescente","list-sort-descending":"Ordine: decrescente","list-sort-modified":"Ordina per data di modifica","list-sort-created":"Ordina per data di creazione","list-sort-title":"Ordina per titolo","list-sort-filename":"Ordina per nome file","list-sort-property":"Ordina per proprietà","list-appearance":"Cambia aspetto","list-new-note":"Nuova nota","list-pinned":"Note fissate","nav-folder-open":"Cartella aperta","nav-folder-closed":"Cartella chiusa","nav-tags":"Tag","nav-tag":"Tag","nav-properties":"Proprietà","nav-property":"Proprietà","nav-property-value":"Valore","file-unfinished-task":"Attività incomplete","file-word-count":"Conteggio parole","file-character-count":"Conteggio caratteri"}},colorPicker:{currentColor:"Attuale",newColor:"Nuovo",paletteDefault:"Predefinito",paletteCustom:"Personalizzato",copyColors:"Copia colore",colorsCopied:"Colore copiato negli appunti",pasteColors:"Incolla colore",pasteClipboardError:"Impossibile leggere gli appunti",pasteInvalidFormat:"Previsto un valore colore hex",colorsPasted:"Colore incollato con successo",resetUserColors:"Cancella colori personalizzati",clearCustomColorsConfirm:"Rimuovere tutti i colori personalizzati?",userColorSlot:"Colore {slot}",recentColors:"Colori recenti",clearRecentColors:"Cancella colori recenti",removeRecentColor:"Rimuovi colore",apply:"Applica",pickerLabel:"Selettore",hexLabel:"HEX",hexInputLabel:"Valore colore esadecimale",saturationValueArea:"Saturazione e luminosità",hueSlider:"Tonalità",alphaSlider:"Trasparenza"},appearance:{tabIcon:"Icona",tabColor:"Colore",tabBackground:"Sfondo",resetIcon:"Rimuovi icona",resetColor:"Rimuovi colore",resetBackground:"Rimuovi sfondo",clear:"Cancella stile",apply:"Applica"},selectVaultProfile:{title:"Seleziona profilo vault",currentBadge:"Attivo",emptyState:"Nessun profilo vault disponibile."},tagOperation:{renameTitle:"Rinomina tag {tag}",deleteTitle:"Elimina tag {tag}",newTagPrompt:"Nuovo nome tag",newTagPlaceholder:"Inserisci nuovo nome tag",renameWarning:"Rinominando il tag {oldTag} verranno modificati {count} {files}.",deleteWarning:"Eliminando il tag {tag} verranno modificati {count} {files}.",modificationWarning:"Questo aggiornerà le date di modifica dei file.",affectedFiles:"File interessati:",andMore:"...e altri {count}",confirmRename:"Rinomina tag",renameUnchanged:"{tag} invariato",renameNoChanges:"{oldTag} → {newTag} ({countLabel})",renameBatchNotFinalized:"Rinominati {renamed}/{total}. Non aggiornati: {notUpdated}. Metadati e scorciatoie non aggiornati.",invalidTagName:"Inserisci un nome tag valido.",descendantRenameError:"Impossibile spostare un tag in sé stesso o in un discendente.",confirmDelete:"Elimina tag",deleteBatchNotFinalized:"Rimossi da {removed}/{total}. Non aggiornati: {notUpdated}. Metadati e scorciatoie non aggiornati.",checkConsoleForDetails:"Controlla la console per i dettagli.",file:"file",files:"file",inlineParsingWarning:{title:"Compatibilità dei tag inline",message:"{tag} contiene caratteri che Obsidian non può analizzare nei tag inline. I tag Frontmatter non sono interessati.",confirm:"Usa comunque"}},propertyOperation:{renameTitle:"Rinomina proprietà {property}",deleteTitle:"Elimina proprietà {property}",newKeyPrompt:"Nuovo nome proprietà",newKeyPlaceholder:"Inserisci il nuovo nome della proprietà",renameWarning:"Rinominare la proprietà {property} modificherà {count} {files}.",renameConflictWarning:"La proprietà {newKey} esiste già in {count} {files}. Rinominare {oldKey} sostituirà i valori esistenti di {newKey}.",deleteWarning:"Eliminare la proprietà {property} modificherà {count} {files}.",confirmRename:"Rinomina proprietà",confirmDelete:"Elimina proprietà",renameNoChanges:"{oldKey} → {newKey} (nessuna modifica)",renameSettingsUpdateFailed:"Proprietà {oldKey} → {newKey} rinominata. Impossibile aggiornare le impostazioni.",deleteSingleSuccess:"Proprietà {property} eliminata da 1 nota",deleteMultipleSuccess:"Proprietà {property} eliminata da {count} note",deleteSettingsUpdateFailed:"Proprietà {property} eliminata. Impossibile aggiornare le impostazioni.",invalidKeyName:"Inserisci un nome di proprietà valido."},fileSystem:{newFolderTitle:"Nuova cartella",renameFolderTitle:"Rinomina cartella",renameFileTitle:"Rinomina file",deleteFolderTitle:"Eliminare '{name}'?",deleteFileTitle:"Eliminare '{name}'?",deleteFileAttachmentsTitle:"Eliminare gli allegati del file?",moveFileConflictTitle:"Conflitto di spostamento",folderNamePrompt:"Inserisci nome cartella:",hideInOtherVaultProfiles:"Nascondi in altri profili vault",renamePrompt:"Inserisci nuovo nome:",renameVaultTitle:"Cambia nome visualizzato vault",renameVaultPrompt:"Inserisci nome visualizzato personalizzato (lascia vuoto per usare predefinito):",deleteFolderConfirm:"Sei sicuro di voler eliminare questa cartella e tutto il suo contenuto?",deleteFileConfirm:"Sei sicuro di voler eliminare questo file?",deleteFileAttachmentsDescriptionSingle:"Questo allegato non è più utilizzato in nessuna nota. Vuoi eliminarlo?",deleteFileAttachmentsDescriptionMultiple:"Questi allegati non sono più utilizzati in nessuna nota. Vuoi eliminarli?",deleteFileAttachmentsViewFileTreeAriaLabel:"Albero dei file",deleteFileAttachmentsViewGalleryAriaLabel:"Galleria",moveFileConflictDescriptionSingle:'Un conflitto di file è stato trovato in "{folder}".',moveFileConflictDescriptionMultiple:'{count} conflitti di file sono stati trovati in "{folder}".',moveFileConflictAffectedFiles:"File interessati",moveFileConflictItem:'"{name}" -> "{suggested}"{renameOnly}',moveFileConflictRenameOnly:"(solo rinomina)",moveFileConflictRename:"Rinomina",moveFileConflictOverwrite:"Sovrascrivi",removeAllTagsTitle:"Rimuovi tutti i tag",removeAllTagsFromNote:"Sei sicuro di voler rimuovere tutti i tag da questa nota?",removeAllTagsFromNotes:"Sei sicuro di voler rimuovere tutti i tag da {count} note?"},folderNoteType:{title:"Seleziona tipo nota cartella",folderLabel:"Cartella: {name}"},folderSuggest:{placeholder:t=>`Sposta ${t} nella cartella...`,multipleFilesLabel:t=>`${t} file`,navigatePlaceholder:"Vai alla cartella...",instructions:{navigate:"per navigare",move:"per spostare",select:"per selezionare",dismiss:"per chiudere"}},homepage:{placeholder:"Cerca file...",instructions:{navigate:"per navigare",select:"per impostare homepage",dismiss:"per chiudere"}},calendarTemplate:{placeholder:"Cerca modelli...",instructions:{navigate:"per navigare",select:"per selezionare il modello",dismiss:"per chiudere"}},navigationBanner:{placeholder:"Cerca immagini...",instructions:{navigate:"per navigare",select:"per impostare banner",dismiss:"per chiudere"}},tagSuggest:{navigatePlaceholder:"Vai al tag...",addPlaceholder:"Cerca tag da aggiungere...",removePlaceholder:"Seleziona tag da rimuovere...",createNewTag:"Crea nuovo tag: #{tag}",instructions:{navigate:"per navigare",select:"per selezionare",dismiss:"per chiudere",add:"per aggiungere tag",remove:"per rimuovere tag"}},propertySuggest:{placeholder:"Seleziona chiave proprietà...",navigatePlaceholder:"Vai alla proprietà...",instructions:{navigate:"per navigare",select:"per aggiungere proprietà",dismiss:"per chiudere"}},propertyKeyVisibility:{title:"Visibilità chiavi proprietà",description:"Controlla dove vengono mostrati i valori delle proprietà. Le colonne corrispondono al pannello di navigazione, al pannello elenco e al menu contestuale del file. Usa la riga in basso per attivare/disattivare tutte le righe di una colonna.",searchPlaceholder:"Cerca chiavi proprietà...",propertyColumnLabel:"Proprietà",showInNavigation:"Mostra nella navigazione",showInList:"Mostra nella lista",showInFileMenu:"Mostra nel menu file",toggleAllInNavigation:"Attiva/disattiva tutti nella navigazione",toggleAllInList:"Attiva/disattiva tutti nella lista",toggleAllInFileMenu:"Attiva/disattiva tutti nel menu file",applyButton:"Applica",emptyState:"Nessuna chiave proprietà trovata."},welcome:{title:"Benvenuto in {pluginName}",introText:`Ciao! Prima di iniziare, ti consiglio vivamente di guardare i primi cinque minuti del video qui sotto per capire come funzionano i pannelli e l'interruttore "Mostra note dalle sottocartelle".`,continueText:"Se hai altri cinque minuti, continua a guardare il video per capire le modalità di visualizzazione compatta e come configurare correttamente le scorciatoie e i tasti di scelta rapida importanti.",thanksText:"Grazie mille per aver scaricato e buon divertimento!",videoAlt:"Installare e padroneggiare Notebook Navigator",openVideoButton:"Riproduci video",closeButton:"Forse più tardi"}},fileSystem:{errors:{createFolder:"Impossibile creare cartella: {error}",createFile:"Impossibile creare file: {error}",renameFolder:"Impossibile rinominare cartella: {error}",renameFolderNoteConflict:'Impossibile rinominare: "{name}" esiste già in questa cartella',renameFile:"Impossibile rinominare file: {error}",deleteFolder:"Impossibile eliminare cartella: {error}",deleteFile:"Impossibile eliminare file: {error}",deleteAttachments:"Impossibile eliminare gli allegati: {error}",mergeNotes:"Impossibile unire le note: {error}",mergeNotesOpenOutput:"La nota unita è stata creata come {name}, ma non è stato possibile aprirla: {error}. Le note di origine non sono state modificate.",mergeNotesOpenSkipped:"Un’altra richiesta di apertura file ha avuto la precedenza.",mergeNotesTrashSources:"Nota unita creata. Impossibile spostare {count} note di origine nel cestino.",duplicateNote:"Impossibile duplicare nota: {error}",duplicateFolder:"Impossibile duplicare cartella: {error}",openVersionHistory:"Impossibile aprire cronologia versioni: {error}",versionHistoryNotFound:"Comando cronologia versioni non trovato. Assicurati che Obsidian Sync sia abilitato.",revealInExplorer:"Impossibile mostrare file in esplora risorse: {error}",openInDefaultApp:"Impossibile aprire nell'app predefinita: {error}",openInDefaultAppNotAvailable:"Apertura nell'app predefinita non disponibile su questa piattaforma",folderNoteAlreadyExists:"La nota cartella esiste già",folderAlreadyExists:'La cartella "{name}" esiste già',folderNotesDisabled:"Abilita le note cartella nelle impostazioni per convertire i file",folderNoteAlreadyLinked:"Questo file funge già da nota cartella",folderNoteNotFound:"Nessuna nota cartella nella cartella selezionata",folderNoteUnsupportedExtension:"Estensione file non supportata: {extension}",folderNoteMoveFailed:"Impossibile spostare file durante la conversione: {error}",folderNoteRenameConflict:'Un file chiamato "{name}" esiste già nella cartella',folderNoteConversionFailed:"Impossibile convertire file in nota cartella",folderNoteConversionFailedWithReason:"Impossibile convertire file in nota cartella: {error}",folderNoteOpenFailed:"File convertito ma impossibile aprire nota cartella: {error}",failedToDeleteFile:"Impossibile eliminare {name}: {error}",failedToDeleteMultipleFiles:"Impossibile eliminare {count} file",versionHistoryNotAvailable:"Servizio cronologia versioni non disponibile",drawingAlreadyExists:"Un disegno con questo nome esiste già",failedToCreateDrawing:"Impossibile creare disegno",noFolderSelected:"Nessuna cartella selezionata in Notebook Navigator",noFileSelected:"Nessun file selezionato"},warnings:{linkBreakingNameCharacters:"Questo nome include caratteri che interrompono i link di Obsidian: #, |, ^, %%, [[, ]].",forbiddenNameCharactersAllPlatforms:"I nomi non possono iniziare con un punto né includere : o /.",forbiddenNameCharactersWindows:'I caratteri riservati di Windows non sono consentiti: <, >, ", \\, |, ?, *.'},notices:{hideFolder:"Cartella nascosta: {name}",showFolder:"Cartella mostrata: {name}",mergeNotes:"Unite {count} note in {name}"},notifications:{deletedMultipleFiles:"Eliminati {count} file",movedMultipleFiles:"Spostati {count} file in {folder}",folderNoteConversionSuccess:'File convertito in nota cartella in "{name}"',folderMoved:'Spostata cartella "{name}"',deepLinkCopied:"URL Obsidian copiato negli appunti",pathCopied:"Percorso copiato negli appunti",relativePathCopied:"Percorso relativo copiato negli appunti",tagAddedToNote:"Tag aggiunto a 1 nota",tagAddedToNotes:"Tag aggiunto a {count} note",tagRemovedFromNote:"Tag rimosso da 1 nota",tagRemovedFromNotes:"Tag rimosso da {count} note",tagsClearedFromNote:"Rimossi tutti i tag da 1 nota",tagsClearedFromNotes:"Rimossi tutti i tag da {count} note",noTagsToRemove:"Nessun tag da rimuovere",noFilesSelected:"Nessun file selezionato",mergeNotesRequireMultipleMarkdown:"Seleziona almeno due note Markdown da unire",tagOperationsNotAvailable:"Operazioni tag non disponibili",propertyOperationsNotAvailable:"Operazioni sulle proprietà non disponibili",tagsRequireMarkdown:"I tag sono supportati solo nelle note Markdown",propertiesRequireMarkdown:"Le proprietà sono supportate solo nelle note Markdown",propertySetOnNote:"Proprietà aggiornata su 1 nota",propertySetOnNotes:"Proprietà aggiornata su {count} note",manualSortPropertyRemovedFromNote:"Proprietà di ordinamento rimossa da 1 nota",manualSortPropertyRemovedFromNotes:"Proprietà di ordinamento rimossa da {count} note",iconPackDownloaded:"{provider} scaricato",iconPackUpdated:"{provider} aggiornato ({version})",iconPackRemoved:"{provider} rimosso",iconPackLoadFailed:"Impossibile caricare {provider}",hiddenFileReveal:'Il file è nascosto. Abilita "Mostra elementi nascosti" per visualizzarlo'},confirmations:{deleteMultipleFiles:"Sei sicuro di voler eliminare {count} file?",deleteConfirmation:"Questa azione non può essere annullata."},defaultNames:{untitled:"Senza titolo"}},dragDrop:{errors:{cannotMoveIntoSelf:"Impossibile spostare una cartella in sé stessa o in una sottocartella.",itemAlreadyExists:'Un elemento chiamato "{name}" esiste già in questa posizione.',failedToMove:"Impossibile spostare: {error}",failedToAddTag:'Impossibile aggiungere tag "{tag}"',failedToSetProperty:"Aggiornamento proprietà non riuscito: {error}",failedToClearTags:"Impossibile rimuovere i tag",failedToMoveFolder:'Impossibile spostare cartella "{name}"',failedToImportFiles:"Impossibile importare: {names}"},notifications:{filesAlreadyExist:"{count} file esistono già nella destinazione",filesAlreadyHaveTag:"{count} file hanno già questo tag o uno più specifico",filesAlreadyHaveProperty:"{count} file hanno già questa proprietà",noTagsToClear:"Nessun tag da rimuovere",fileImported:"Importato 1 file",filesImported:"Importati {count} file"}},dateGroups:{today:"Oggi",yesterday:"Ieri",previous7Days:"Ultimi 7 giorni",previous30Days:"Ultimi 30 giorni"},commands:{open:"Apri",toggleLeftSidebar:"Attiva/disattiva barra laterale sinistra",openHomepage:"Apri homepage",openDailyNote:"Apri nota giornaliera",openWeeklyNote:"Apri nota settimanale",openMonthlyNote:"Apri nota mensile",openQuarterlyNote:"Apri nota trimestrale",openYearlyNote:"Apri nota annuale",revealFile:"Mostra file",search:"Cerca",searchVaultRoot:"Cerca nella radice del vault",toggleDualPane:"Attiva/disattiva doppio pannello",toggleDualPaneOrientation:"Cambia orientamento doppio pannello",toggleCalendar:"Attiva/disattiva calendario",selectVaultProfile:"Seleziona profilo vault",selectVaultProfile1:"Seleziona profilo vault 1",selectVaultProfile2:"Seleziona profilo vault 2",selectVaultProfile3:"Seleziona profilo vault 3",deleteFile:"Elimina file",createNewNote:"Crea nuova nota",createNewNoteFromTemplate:"Nuova nota da modello",moveFiles:"Sposta file",mergeNotes:"Unisci note",selectNextFile:"Seleziona file successivo",selectPreviousFile:"Seleziona file precedente",navigateBack:"Naviga indietro",navigateForward:"Naviga avanti",convertToFolderNote:"Converti in nota cartella",setAsFolderNote:"Imposta come nota cartella",detachFolderNote:"Scollega nota cartella",pinAllFolderNotes:"Fissa tutte le note cartella",navigateToFolder:"Vai alla cartella",navigateToTag:"Vai al tag",navigateToProperty:"Vai alla proprietà",addShortcut:"Aggiungi alle scorciatoie",openShortcut:"Apri scorciatoia {number}",toggleDescendants:"Attiva/disattiva discendenti",toggleHidden:"Attiva/disattiva cartelle, tag e note nascosti",toggleTagSort:"Attiva/disattiva ordinamento tag",toggleTagsBySelection:"Attiva/disattiva tag per selezione",togglePropertiesBySelection:"Attiva/disattiva proprietà per selezione",toggleCompactMode:"Attiva/disattiva modalità compatta",togglePinnedSection:"Attiva/disattiva sezione fissata",collapseExpand:"Comprimi / espandi tutti gli elementi",collapseExpandSelectedItem:"Comprimi / espandi l'elemento selezionato",addTag:"Aggiungi tag ai file selezionati",setProperty:"Imposta proprietà sui file selezionati",removeTag:"Rimuovi tag dai file selezionati",removeAllTags:"Rimuovi tutti i tag dai file selezionati",openAllFiles:"Apri tutti i file",rebuildCache:"Ricostruisci cache"},plugin:{viewName:"Notebook Navigator",calendarViewName:"Calendario",folderNoteSidebarViewName:"Nota cartella",ribbonTooltip:"Notebook Navigator",revealInNavigator:"Mostra in Notebook Navigator"},tooltips:{lastModifiedAt:"Ultima modifica",createdAt:"Creato il",file:"file",files:"file",folder:"cartella",folders:"cartelle",wordCount:"Conteggio parole"},fileCounts:{words:"{count} parole",characters:"{count} caratteri",separator:" · "},settings:{changeDefaultSettings:"Modifica impostazioni predefinite",metadataReport:{exportSuccess:"Report metadati falliti esportato in: {filename}",exportFailed:"Impossibile esportare report metadati"},sections:{general:"Generale",vaultFilters:"Filtri di visualizzazione",appearanceBehavior:"Aspetto e comportamento",navigationPane:"Pannello di navigazione",calendar:"Calendario",fileOperations:"Operazioni sui file",icons:"Pacchetti icone",folders:"Cartelle",folderNotes:"Note cartella",folderNoteFiles:"File note cartella",foldersAndFolderNotes:"Cartelle e note cartella",tagsAndProperties:"Tag e proprietà",tags:"Tag",listPane:"Pannello lista",notes:"Visualizzazione file",shortcutsAndRecentFiles:"Scorciatoie e file recenti",advanced:"Avanzate"},pageGroups:{configuration:"Configurazione",navigationAndContent:"Pannello di navigazione",notesAndLists:"Pannello lista",calendarAndTools:"Calendario e strumenti"},pageDescriptions:{general:"Note di rilascio, supporto, profilo vault, tipi di file e chiavi delle proprietà.",vaultFilters:"Cartelle, tag, file, tag dei file e regole delle proprietà nascosti.",appearanceBehavior:"Comportamento, navigazione da tastiera, pulsanti del mouse, aspetto e formattazione.",navigationPane:"Layout, aspetto, conteggio note, comportamento del collasso e colori arcobaleno.",shortcuts:"Visibilità delle scorciatoie, badge, file recenti ed elementi fissati.",calendar:"Visualizzazione calendario, note data, modelli, locale e posizionamento della barra laterale.",fileOperations:"Modelli, conferme di eliminazione, allegati e comportamento in caso di conflitti di spostamento dei file.",foldersAndFolderNotes:"Visualizzazione cartelle, note cartella, modelli di note cartella e comportamento delle note cartella.",tagsProperties:"Sezioni tag e proprietà, icone, ordinamento, ambito ed ereditarietà.",listPane:"Ordinamento, raggruppamento, modalità lista, note fissate e anteprime dei disegni.",frontmatter:"Campi frontmatter per nomi visualizzati, timestamp, icone e colori.",notes:"Titoli, testo anteprima, immagini in evidenza, tag, proprietà, date, conteggio parole e conteggio caratteri.",iconPacks:"Icone interfaccia, icone file e gestione pacchetti icone.",advanced:"Diagnostica, pulizia metadati, importazione/esportazione e ripristino."},groups:{general:{vaultConfiguration:"Configurazione vault",templates:"Modelli",behavior:"Comportamento",keyboardNavigation:"Navigazione da tastiera",mouseButtons:"Pulsanti del mouse",view:"Aspetto",icons:"Icone",desktopAppearance:"Aspetto desktop",mobileAppearance:"Aspetto mobile",formatting:"Formattazione"},advanced:{maintenance:"Manutenzione",resetSettings:"Reimposta impostazioni"},navigation:{appearance:"Aspetto",banner:"Banner",collapseItems:"Comprimi elementi",dragAndDrop:"Trascina e rilascia",noteCounts:"Conteggi note",rainbowColors:"Colori arcobaleno",leftSidebar:"Barra laterale sinistra",calendarIntegration:"Integrazione calendario"},list:{display:"Aspetto",groupHeaders:"Intestazioni di gruppo",propertySort:"Ordinamento per proprietà",manualSort:"Ordinamento manuale",pinnedNotes:"Note fissate",drawingPreviews:"Anteprime dei disegni"},notes:{frontmatter:"Campi frontmatter",tasks:"Attività",icon:"Icona",title:"Titolo",previewText:"Testo anteprima",featureImage:"Immagine in evidenza",tags:"Tag",properties:"Proprietà",date:"Data",parentFolder:"Cartella superiore",wordCount:"Conteggio parole e caratteri"}},syncMode:{notSynced:"(non sincronizzato)",switchToSynced:"Attiva sincronizzazione",switchToLocal:"Disattiva sincronizzazione"},items:{listPaneTitle:{name:"Titolo pannello lista",desc:"Scegli dove mostrare il titolo del pannello lista.",options:{header:"Mostra nell'intestazione",list:"Mostra nel pannello lista",hidden:"Non mostrare"}},sortNotesBy:{name:"Ordinamento predefinito",desc:"Scegli l'ordinamento predefinito per le note.",options:{"modified-desc":"Data modifica (più recenti in alto)","modified-asc":"Data modifica (più vecchie in alto)","created-desc":"Data creazione (più recenti in alto)","created-asc":"Data creazione (più vecchie in alto)","title-asc":"Titolo (A in alto)","title-desc":"Titolo (Z in alto)","filename-asc":"Nome file (A in alto)","filename-desc":"Nome file (Z in alto)"},directions:{asc:"Crescente",desc:"Decrescente"},fields:{modified:"Data di modifica",created:"Data di creazione",title:"Titolo",filename:"Nome file",property:"Proprietà"}},propertySortKey:{name:"Proprietà per ordinare",desc:"Proprietà frontmatter separate da virgola mostrate come opzioni di ordinamento per proprietà. I valori array vengono uniti in una singola stringa. Queste proprietà non vengono modificate.",placeholder:"published, author"},propertySortSecondary:{name:"Ordinamento secondario",desc:"Usato con l'ordinamento per proprietà quando le note hanno lo stesso valore di proprietà o nessun valore.",options:{title:"Titolo",filename:"Nome file",created:"Data di creazione",modified:"Data di modifica"}},propertySortInstructions:{intro:"Ogni proprietà elencata sopra appare come opzione di ordinamento nel menu di ordinamento nel pannello lista. Selezionandone una si ordinano le note per il suo valore frontmatter."},manualSortPropertyKey:{name:"Proprietà ordinamento manuale",desc:"Proprietà frontmatter usata per memorizzare i valori indice numerici per l'ordinamento manuale."},manualSortGroupHeaderProperty:{name:"Proprietà intestazione gruppo",desc:"Proprietà frontmatter usata per memorizzare le intestazioni di gruppo personalizzate."},groupHeadersInstructions:{intro:"Le intestazioni di gruppo personalizzate vengono visualizzate sopra le note nel pannello lista.",items:["Dal menu di ordinamento nel pannello lista, imposta il raggruppamento su **Personalizzato**.","Fai clic destro su una nota e scegli **Imposta intestazione gruppo** per aggiungere un'intestazione sopra di essa."]},manualSortNewNotePlacement:{name:"Posizionamento nuove note",desc:"Scegli dove sono posizionate le nuove note quando la lista corrente usa l'ordinamento manuale.",options:{top:"In alto",bottom:"In basso","below-selected-note":"Sotto la nota selezionata",unsorted:"Non ordinato"}},confirmBeforeManualSort:{name:"Conferma prima dell'ordinamento manuale",desc:"Mostra un avviso prima di scrivere la proprietà di ordinamento manuale nelle note per la prima volta. Quando disattivato, le note ricevono la proprietà senza avviso."},manualSortInstructions:{intro:"L'ordinamento manuale scrive un valore indice numerico in una proprietà frontmatter su ogni nota. Le note senza indice appaiono sotto Non ordinato.",items:["Abilita l'ordinamento manuale scegliendo **Ordinamento manuale** dal menu di ordinamento. Successivamente, ci sono due modi per riordinare le note.","Scegli **Modifica ordinamento...** dal menu di ordinamento per aprire una vista di riordinamento. Trascina le note con il mouse, o con il tocco su mobile. Su desktop, **Cmd/Ctrl** o **Shift** clic seleziona più note, quindi trascinandone una qualsiasi sposta l'intero gruppo.","Nel pannello lista, seleziona una nota o selezionane più, quindi premi **Cmd/Ctrl + Arrow Up/Down** per spostare la selezione su o giù."]},revealFileOnListChanges:{name:"Scorri al file selezionato quando la lista cambia",desc:"Scorri al file selezionato quando fissi note, mostri note discendenti, cambi l'aspetto cartella o esegui operazioni sui file."},includeDescendantNotes:{name:"Mostra note da sottocartelle / discendenti",desc:"Includi note da sottocartelle nidificate e discendenti di tag e proprietà quando visualizzi una cartella, tag o proprietà."},limitPinnedToCurrentFolder:{name:"Fissare le note solo nella loro cartella",desc:"Le note fissate appaiono fissate solo nella propria cartella. Utile per le note cartella o se hai molte note fissate. Non influisce sulle viste per tag o proprietà."},separateNoteCounts:{name:"Mostra conteggi note correnti e discendenti separatamente",desc:'Visualizza i conteggi note nel formato "correnti ▾ discendenti" per cartelle, tag e proprietà.'},groupNotes:{name:"Raggruppamento predefinito",desc:"Personalizzato mostra le intestazioni definite nel frontmatter. Data raggruppa le note per data. Cartella raggruppa le note per cartella. Le viste per tag e proprietà usano gruppi per data quando è selezionata una cartella.",options:{custom:"Personalizzato",date:"Data",folder:"Cartella"}},showSelectedNavigationPills:{name:"Mostra sempre tutti i badge di tag e proprietà",desc:'Quando disattivato, i badge corrispondenti alla selezione di navigazione corrente vengono nascosti (ad es. il badge del tag "ricette" viene nascosto durante la navigazione nel tag "ricette"). Attiva per mantenere tutti i badge visibili.'},stickyGroupHeaders:{name:"Intestazioni di gruppo fisse",desc:"Mantieni visibile l'intestazione corrente di data, cartella o sezione fissate mentre scorri."},showFolderGroupPaths:{name:"Mostra percorsi sottocartelle",desc:"Quando raggruppi per cartella nel pannello lista, mostra i percorsi delle sottocartelle invece dei soli nomi cartella."},showCurrentFolderFilesAtBottom:{name:"Raggruppamento per cartella: file della cartella corrente in basso",desc:"Quando il raggruppamento predefinito è Cartella, sposta i file direttamente nella cartella selezionata sotto i gruppi di sottocartelle."},defaultListMode:{name:"Modalità lista predefinita",desc:"Seleziona il layout lista predefinito. Standard mostra titolo, data, descrizione e testo anteprima. Compatto mostra solo il titolo. Sovrascrivi l'aspetto per cartella.",options:{standard:"Standard",compact:"Compatto"}},showFileIcons:{name:"Mostra icone file",desc:"Visualizza icone file con spaziatura allineata a sinistra. Disabilitando rimuove sia icone che indentazione. Priorità: icona attività incomplete > icona personalizzata > icona cartella > icona nome file > icona tipo file > icona predefinita."},useFolderIcon:{name:"Usa icona cartella",desc:"Visualizza l'icona della cartella genitore quando non è impostata un'icona file personalizzata. Il colore della cartella viene usato quando non è impostato un colore file personalizzato."},showFileIconUnfinishedTask:{name:"Icona attività incomplete",desc:"Mostra un'icona di attività quando una nota ha attività incomplete."},showFileBackgroundUnfinishedTask:{name:"Sfondo attività incomplete",desc:"Applica un colore di sfondo quando una nota ha attività incomplete."},unfinishedTaskBackgroundColor:{name:"Colore sfondo attività incomplete",desc:"Imposta il colore di sfondo usato quando una nota ha attività incomplete."},showFilenameMatchIcons:{name:"Icone per nome file",desc:"Assegna icone ai file in base al testo nei loro nomi."},fileNameIconMap:{name:"Mappa icone per nome",desc:"I file contenenti il testo ottengono l'icona specificata. Una mappatura per riga: testo=icona",placeholder:`# testo=icona
riunione=ph-calendar
fattura=ph-receipt`,editTooltip:"Modifica mappature"},showCategoryIcons:{name:"Icone per tipo file",desc:"Assegna icone ai file in base alla loro estensione."},fileTypeIconPreset:{name:"Preset icone file",desc:"Scegli le icone integrate o un preset di pacchetto icone. Le regole di estensione personalizzate sostituiscono questo preset.",options:{none:"Icone integrate"},notInstalledWarning:"Questo pacchetto icone non è installato. Vengono mostrate invece le icone integrate."},fileTypeIconMap:{name:"Mappa icone per tipo",desc:"I file con l'estensione ottengono l'icona specificata. Una mappatura per riga: estensione=icona",placeholder:`# Extension=icon
cpp=ph-file-code
pdf=ph-file-pdf`,editTooltip:"Modifica mappature"},compactItemHeight:{name:"Altezza elemento compatto",desc:"Imposta l'altezza degli elementi lista compatta su desktop e mobile (pixel).",resetTooltip:"Ripristina predefinito (28px)"},compactItemHeightScaleText:{name:"Scala testo con altezza elemento compatto",desc:"Scala il testo della lista compatta quando l'altezza elemento è ridotta."},showParentFolder:{name:"Mostra cartella genitore",desc:"Visualizza il nome della cartella genitore per note in sottocartelle, tag o proprietà."},showParentFolderFullPath:{name:"Mostra percorso completo",desc:"Visualizza il percorso completo della cartella genitore invece del solo nome della cartella."},parentFolderClickRevealsFile:{name:"Click su cartella genitore apre cartella",desc:"Cliccando sull'etichetta cartella genitore apre la cartella nel pannello elenco."},showParentFolderColor:{name:"Mostra colore cartella genitore",desc:"Usa i colori cartella sulle etichette cartella genitore."},showParentFolderIcon:{name:"Mostra icona cartella genitore",desc:"Mostra le icone delle cartelle accanto alle etichette cartella genitore."},showQuickActions:{name:"Mostra azioni rapide",desc:"Mostra pulsanti azione al passaggio del mouse sui file. I controlli pulsanti selezionano quali azioni appaiono."},dualPane:{name:"Layout doppio pannello",desc:"Mostra pannello navigazione e pannello lista affiancati su desktop."},dualPaneOrientation:{name:"Orientamento doppio pannello",desc:"Scegli layout orizzontale o verticale quando il doppio pannello è attivo.",options:{horizontal:"Divisione orizzontale",vertical:"Divisione verticale"}},narrowSidebarLayout:{name:"Quando la barra laterale è troppo stretta",desc:"Scegli cosa succede quando il pannello di navigazione e il pannello elenco non entrano affiancati.",options:{none:"Non fare nulla",singlePane:"Passa a pannello singolo",vertical:"Passa a divisione verticale"}},narrowSidebarTrigger:{name:"Soglia barra laterale stretta",desc:"Scegli come viene calcolata la soglia di larghezza della barra laterale.",options:{fitPanes:"Adatta pannelli",customWidth:"Larghezza personalizzata"}},narrowSidebarCustomWidth:{name:"Larghezza soglia barra laterale stretta",desc:"Passa quando la barra laterale è più stretta di questa larghezza.",resetTooltip:"Ripristina larghezza predefinita"},appearanceBackground:{name:"Colore sfondo",desc:"Scegli i colori sfondo per i pannelli navigazione e lista.",options:{separate:"Sfondi separati",primary:"Usa sfondo lista",secondary:"Usa sfondo navigazione"}},appearanceScale:{name:"Livello zoom",desc:"Controlla il livello di zoom complessivo di Notebook Navigator (percentuale)."},useFloatingToolbars:{name:"Usa barre degli strumenti flottanti su iOS/iPadOS",desc:"Si applica solo a iOS e iPadOS."},startView:{name:"Vista predefinita all'avvio",desc:"Scegli quale pannello visualizzare all'apertura di Notebook Navigator. Il pannello navigazione mostra scorciatoie, file recenti e albero cartelle. Il pannello lista mostra subito l'elenco file.",options:{navigation:"Pannello navigazione",files:"Pannello lista"}},toolbarButtons:{name:"Pulsanti barra strumenti",desc:"Scegli quali pulsanti appaiono nella barra strumenti. I pulsanti nascosti rimangono accessibili tramite comandi e menu.",navigationLabel:"Barra strumenti navigazione",listLabel:"Barra strumenti lista"},createNewNotesInNewTab:{name:"Apri nuove note in una nuova scheda",desc:"Quando attivo, il comando Crea nuova nota apre le note in una nuova scheda. Quando disattivo, le note sostituiscono la scheda corrente."},autoRevealActiveNote:{name:"Auto-mostra nota attiva",desc:"Mostra automaticamente le note quando aperte da Switcher rapido, link o ricerca."},autoRevealShortestPath:{name:"Rivelazione automatica: Usa il percorso più breve",desc:"Attivato: La rivelazione automatica seleziona la cartella antenata o il tag visibile più vicino. Disattivato: La rivelazione automatica seleziona la cartella effettiva del file e il tag esatto."},autoRevealIgnoreRightSidebar:{name:"Rivelazione automatica: Ignora eventi dalla barra laterale destra",desc:"Non cambiare nota attiva quando clicchi o cambi note nella barra laterale destra."},autoRevealIgnoreOtherWindows:{name:"Rivelazione automatica: Ignora eventi da altre finestre",desc:"Non cambiare nota attiva quando lavori con note in un'altra finestra."},paneTransitionDuration:{name:"Animazione pannello singolo",desc:"Durata della transizione quando si passa tra i pannelli in modalità pannello singolo (millisecondi).",resetTooltip:"Ripristina predefinito"},autoSelectFirstFileOnFocusChange:{name:"Auto-seleziona prima nota",desc:"Apri automaticamente la prima nota quando cambi cartella, tag o proprietà."},skipAutoScroll:{name:"Disabilita auto-scroll per scorciatoie",desc:"Non scorrere il pannello navigazione quando clicchi elementi nelle scorciatoie."},autoExpandNavItems:{name:"Espandi alla selezione",desc:"Espandi cartelle e tag quando selezionati. In modalità pannello singolo, la prima selezione espande, la seconda mostra i file."},collapseOtherBranchesOnExpand:{name:"Un ramo espanso",desc:"Comprimi gli altri rami dello stesso albero quando espandi una cartella, un tag o una proprietà."},springLoadedFolders:{name:"Espandi durante il trascinamento",desc:"Espandi cartelle e tag al passaggio del mouse durante il trascinamento."},springLoadedFoldersInitialDelay:{name:"Espandi durante il trascinamento: Ritardo prima espansione",desc:"Ritardo prima che la prima cartella o tag si espanda durante un trascinamento (secondi)."},springLoadedFoldersSubsequentDelay:{name:"Espandi durante il trascinamento: Ritardo espansioni successive",desc:"Ritardo prima di espandere cartelle o tag aggiuntivi durante lo stesso trascinamento (secondi)."},navigationBanner:{name:"Banner navigazione (profilo vault)",desc:"Visualizza un'immagine sopra il pannello navigazione. Cambia con il profilo vault selezionato.",current:"Banner attuale: {path}",chooseButton:"Scegli immagine"},pinNavigationBanner:{name:"Fissa banner",desc:"Fissa il banner di navigazione sopra l'albero di navigazione."},showShortcuts:{name:"Mostra scorciatoie",desc:"Visualizza la sezione scorciatoie nel pannello navigazione."},shortcutBadgeDisplay:{name:"Badge scorciatoia",desc:"Cosa visualizzare accanto alle scorciatoie. Usa i comandi 'Apri scorciatoia 1-9' per aprire le scorciatoie direttamente.",options:{index:"Posizione (1-9)",count:"Numero elementi",none:"Nessuno"}},showRecentNotes:{name:"Mostra file recenti",desc:"Visualizza la sezione file recenti nel pannello navigazione."},hideRecentNotes:{name:"Nascondi tipi di file dai file recenti",desc:"Scegli quali tipi di file nascondere nella sezione file recenti.",options:{none:"Nessuno",folderNotes:"Note cartella"}},recentNotesCount:{name:"Numero file recenti",desc:"Numero di file recenti da visualizzare."},pinRecentNotesWithShortcuts:{name:"Fissa file recenti con scorciatoie",desc:"Includi i file recenti quando le scorciatoie sono fissate."},calendarEnabled:{name:"Attiva calendario",desc:"Attivare le funzionalità del calendario di Notebook Navigator."},calendarPlacement:{name:"Posizione del calendario",desc:"Visualizza nella barra laterale sinistra o destra.",options:{leftSidebar:"Barra laterale sinistra",rightSidebar:"Barra laterale destra"}},calendarLeftPlacement:{name:"Posizione pannello singolo",desc:"Dove viene mostrato il calendario in modalità pannello singolo.",options:{navigationPane:"Pannello di navigazione",below:"Sotto i pannelli"}},calendarLocale:{name:"Lingua",desc:"Controlla la formattazione delle date del calendario, la numerazione delle settimane e il primo giorno della settimana.",weekPathMismatchWarning:"Il calendario visibile e i percorsi delle note settimanali utilizzano inizi settimana o numerazioni delle settimane diversi.",options:{systemDefault:"Predefinito"}},calendarWeekendDays:{name:"Giorni del fine settimana",desc:"Mostra i giorni del fine settimana con un colore di sfondo diverso.",options:{none:"Nessuno",satSun:"Sabato e domenica",friSat:"Venerdì e sabato",thuFri:"Giovedì e venerdì"}},calendarMonthHeadingFormat:{name:"Formato del nome del mese",desc:"Nome del mese lungo (gennaio) o abbreviato (gen).",options:{full:"gennaio (completo)",short:"gen (breve)"}},showInfoButtons:{name:"Mostra pulsanti informazioni",desc:"Mostra i pulsanti informazioni nella barra di ricerca e nell'intestazione del calendario."},calendarWeeksToShow:{name:"Settimane da mostrare nella barra laterale sinistra",desc:"Il calendario nella barra laterale destra mostra sempre il mese completo.",options:{fullMonth:"Mese intero",oneWeek:"1 settimana",weeksCount:"{count} settimane"}},calendarHighlightToday:{name:"Evidenzia la data di oggi",desc:"Evidenzia la data di oggi con un colore di sfondo e testo in grassetto."},calendarShowFeatureImage:{name:"Mostra immagine in evidenza",desc:"Visualizza le immagini in evidenza delle note nel calendario."},calendarShowWeekNumber:{name:"Mostra numero settimana",desc:"Aggiungi una colonna con il numero della settimana."},calendarShowQuarter:{name:"Mostra trimestre",desc:"Aggiungi un'etichetta del trimestre nell'intestazione del calendario."},calendarShowYearCalendar:{name:"Mostra calendario annuale",desc:"Mostra la navigazione annuale e la griglia dei mesi nella barra laterale destra."},calendarConfirmBeforeCreate:{name:"Conferma prima di creare",desc:"Mostra una finestra di conferma quando si crea una nuova nota giornaliera."},calendarIntegrationMode:{name:"Fonte note giornaliere",desc:"Fonte per le note del calendario.",options:{dailyNotes:"Note giornaliere (plug-in principale)",notebookNavigator:"Notebook Navigator"},info:{dailyNotes:"Cartella e formato data sono configurati nel plugin Note giornaliere."}},calendarPeriodicNotesLocale:{name:"Lingua delle note periodiche",desc:"Controlla i nomi localizzati di mesi, giorni della settimana, numeri di settimana e inizi settimana nei percorsi delle note periodiche di Notebook Navigator.",options:{calendar:"Calendario",obsidian:"Obsidian"}},calendarCustomRootFolder:{name:"Cartella radice",desc:"Cartella base per le note periodiche. I pattern di data possono includere sottocartelle. Cambia con il profilo del vault selezionato.",placeholder:"Personal/Diary"},calendarTemplateFolder:{name:"Posizione cartella modelli",desc:"Il selettore file modello mostra le note da questa cartella.",placeholder:"Templates",usage:"Usato dalle note calendario e dalle note cartella. Configura i modelli in Calendario > Integrazione calendario e Cartelle e note cartella > File note cartella."},calendarCustomFilePattern:{name:"Note giornaliere",desc:"Formatta percorso usando formato data Moment. Racchiudi i nomi delle sottocartelle tra parentesi quadre, es. [Work]/YYYY. Clicca sull'icona del modello per impostare un modello. Impostare la posizione della cartella modelli in Operazioni sui file > Modelli.",momentDescPrefix:"Formatta percorso usando ",momentLinkText:"formato data Moment",momentDescSuffix:". Racchiudi i nomi delle sottocartelle tra parentesi quadre, es. [Work]/YYYY. Clicca sull'icona del modello per impostare un modello. Impostare la posizione della cartella modelli in Operazioni sui file > Modelli.",templaterSupportInstalled:"✅ Il plugin Templater è installato con supporto completo ai modelli.",templaterSupportMissing:"⚠️ Installa il plugin Templater per il supporto completo ai modelli.",placeholder:"YYYY/YYYYMMDD",example:"Sintassi attuale: {path}",parsingError:"Il modello deve poter essere formattato e rianalizzato come una data completa (anno, mese, giorno)."},calendarCustomWeekPattern:{name:"Note settimanali",parsingError:"Il modello deve poter essere formattato e rianalizzato come una settimana completa (anno settimana, numero settimana).",weekPathMismatchWarning:'I percorsi delle note settimanali utilizzano la lingua delle note periodiche. Usa lingue corrispondenti, o usa "GGGG" con "WW" per settimane basate sul lunedì.',mixedWeekTokensWarning:'Questo modello mescola token di settimana basati sul lunedì ("W" o "G") con token di settimana basati sulla lingua ("w" o "g"). Usa un solo insieme in modo coerente: "GGGG" con "WW" per settimane basate sul lunedì, o "gggg" con "ww" se le note settimanali devono seguire la lingua selezionata.'},calendarCustomMonthPattern:{name:"Note mensili",parsingError:"Il modello deve poter essere formattato e rianalizzato come un mese completo (anno, mese)."},calendarCustomQuarterPattern:{name:"Note trimestrali",parsingError:"Il modello deve poter essere formattato e rianalizzato come un trimestre completo (anno, trimestre)."},calendarCustomYearPattern:{name:"Note annuali",parsingError:"Il modello deve poter essere formattato e rianalizzato come un anno completo (anno)."},calendarTemplateFile:{current:"File modello: {name}"},showTooltips:{name:"Mostra tooltip",desc:"Visualizza tooltip al passaggio del mouse con informazioni aggiuntive per note e cartelle."},showTooltipPath:{name:"Mostra percorso nei tooltip",desc:"Visualizza il percorso cartella sotto i nomi note nei tooltip."},showTooltipWordCount:{name:"Mostra conteggio parole nei tooltip",desc:"Visualizza il conteggio delle parole delle note nei tooltip."},resetPaneSeparator:{name:"Ripristina posizione separatore pannelli",desc:"Ripristina il separatore trascinabile tra pannello navigazione e pannello lista alla posizione predefinita.",buttonText:"Ripristina separatore",notice:"Posizione separatore ripristinata. Riavvia Obsidian o riapri Notebook Navigator per applicare."},settingsTransfer:{name:"Importa ed esporta impostazioni",desc:"Esporta o importa le impostazioni di Notebook Navigator come JSON. L’importazione sostituisce tutte le impostazioni.",importButtonText:"Importa",exportButtonText:"Esporta",import:{modalTitle:"Importa impostazioni",fileButtonName:"Importa da file",fileButtonDesc:"Carica un file JSON dal disco.",fileButtonText:"Importa da file",editorName:"JSON",editorDesc:"Incolla o modifica il JSON qui sotto. Le impostazioni non incluse vengono ripristinate ai valori predefiniti.",placeholder:`{
  "folderSortOrder": "alpha-desc"
}`,confirmButtonText:"Importa",successNotice:"Impostazioni importate.",errorNotice:"Impossibile importare le impostazioni: {message}",fileReadError:"Impossibile leggere il file: {message}"},export:{modalTitle:"Esporta impostazioni",editorName:"JSON",editorDesc:"Sono incluse solo le impostazioni modificate rispetto ai valori predefiniti.",placeholder:"{}",copyButtonText:"Copia negli appunti",downloadButtonText:"Scarica",copyNotice:"Impostazioni copiate negli appunti.",downloadNotice:"Impostazioni esportate.",downloadError:"Impossibile scaricare le impostazioni: {message}"}},resetAllSettings:{name:"Ripristina tutte le impostazioni",desc:"Ripristina tutte le impostazioni di Notebook Navigator ai valori predefiniti.",buttonText:"Ripristina tutte le impostazioni",confirmTitle:"Ripristinare tutte le impostazioni?",confirmMessage:"Questo ripristinerà tutte le impostazioni di Notebook Navigator ai valori predefiniti. Non può essere annullato.",confirmButtonText:"Ripristina tutte le impostazioni",notice:"Impostazioni ripristinate. Riavvia Obsidian o riapri Notebook Navigator per applicare.",error:"Impossibile ripristinare le impostazioni."},multiSelectModifier:{name:"Modificatore selezione multipla",desc:"Scegli quale tasto modificatore attiva la selezione multipla. Quando Option/Alt è selezionato, Cmd/Ctrl click apre le note in una nuova scheda.",options:{cmdCtrl:"Click Cmd/Ctrl",optionAlt:"Click Option/Alt"}},enterToOpenFiles:{name:"Premi Invio per aprire i file",desc:"Apri i file solo premendo Invio durante la navigazione da tastiera nell'elenco. Su macOS, questo impedisce a Invio di rinominare i file."},shiftEnterOpenContext:{name:"Shift+Invio",desc:"Scegli se Shift+Invio apre o rinomina il file selezionato."},cmdEnterOpenContext:{name:"Cmd+Invio",desc:"Scegli se Cmd+Invio apre o rinomina il file selezionato."},ctrlEnterOpenContext:{name:"Ctrl+Invio",desc:"Scegli se Ctrl+Invio apre o rinomina il file selezionato."},mouseBackForwardAction:{name:"Pulsanti indietro/avanti del mouse",desc:"Azione per i pulsanti indietro e avanti del mouse su desktop.",options:{none:"Usa impostazione predefinita di sistema",singlePaneSwitch:"Cambia pannello (pannello singolo)",history:"Naviga nella cronologia"}},fileVisibility:{name:"Mostra tipi file (profilo vault)",desc:"Filtra quali tipi di file vengono mostrati nel navigatore. I tipi file non supportati da Obsidian potrebbero aprirsi in applicazioni esterne.",options:{documents:"Documenti (.md, .canvas, .base)",supported:"Supportati (si aprono in Obsidian)",all:"Tutti (potrebbero aprirsi esternamente)"}},homepage:{name:"Homepage",desc:"Scegli cosa Notebook Navigator apre automaticamente all’avvio.",current:"Attuale: {path}",chooseButton:"Scegli file",options:{none:"Nessuno",file:"File",dailyNote:"Nota giornaliera",weeklyNote:"Nota settimanale",monthlyNote:"Nota mensile",quarterlyNote:"Nota trimestrale",yearlyNote:"Nota annuale"},file:{name:"Homepage: File di avvio",empty:"Nessun file selezionato"},createMissing:{name:"Homepage: Crea nota se mancante",desc:"Crea la nota periodica all'avvio o tramite comando se non esiste."}},excludedNotes:{name:"Nascondi note con regole di proprietà (profilo vault)",desc:"Lista di regole frontmatter separate da virgola. Usa voci `key` o `key=value` (es. status=done, published=true, archived).",placeholder:"status=done, published=true, archived"},excludedFileNamePatterns:{name:"Nascondi file (profilo vault)",desc:"Lista di pattern di nomi file separati da virgola da nascondere. Supporta caratteri jolly * e percorsi / (es. temp-*, *.png, /assets/*).",placeholder:"temp-*, *.png, /assets/*"},vaultProfiles:{name:"Profilo vault",desc:"I profili memorizzano visibilità tipi file, file nascosti, cartelle nascoste, tag nascosti, regole di proprietà per note nascoste, scorciatoie e banner navigazione. Cambia profilo dall'intestazione del pannello navigazione.",defaultName:"Predefinito",addButton:"Aggiungi profilo",editProfilesButton:"Modifica profili",addProfileOption:"Aggiungi profilo...",applyButton:"Applica",deleteButton:"Elimina profilo",addModalTitle:"Aggiungi profilo",editProfilesModalTitle:"Modifica profili",addModalPlaceholder:"Nome profilo",deleteModalTitle:"Elimina {name}",deleteModalMessage:"Rimuovere {name}? I filtri file, cartelle, tag e note basati su proprietà salvati in questo profilo saranno eliminati.",moveUp:"Sposta su",moveDown:"Sposta giù",errors:{emptyName:"Inserisci un nome profilo",duplicateName:"Nome profilo già esistente"}},vaultTitle:{name:"Posizione titolo vault",desc:"Scegli dove viene mostrato il titolo del vault.",options:{header:"Mostra nell'intestazione",navigation:"Mostra nel pannello di navigazione"}},excludedFolders:{name:"Nascondi cartelle (profilo vault)",desc:"Lista di cartelle da nascondere separate da virgola. Pattern nome: assets* (cartelle che iniziano con assets), *_temp (che finiscono con _temp). Pattern percorso: /archivio (solo archivio root), /res* (cartelle root che iniziano con res), /*/temp (cartelle temp un livello sotto), /progetti/* (tutte le cartelle in progetti).",placeholder:"modelli, assets*, /archivio, /res*"},showFileDate:{name:"Mostra data",desc:"Visualizza la data sotto i nomi note."},alphabeticalDateMode:{name:"Quando ordini per nome",desc:"Data da mostrare quando le note sono ordinate alfabeticamente.",options:{created:"Data creazione",modified:"Data modifica"}},showFileTags:{name:"Mostra tag file",desc:"Visualizza tag cliccabili negli elementi file."},showFileTagAncestors:{name:"Mostra percorsi tag completi",desc:"Visualizza percorsi gerarchia tag completi. Quando abilitato: 'ai/openai', 'lavoro/progetti/2024'. Quando disabilitato: 'openai', '2024'."},colorFileTags:{name:"Colora tag file",desc:"Applica colori tag ai badge tag sugli elementi file."},prioritizeColoredFileTags:{name:"Mostra tag colorati prima",desc:"Ordina i tag colorati prima degli altri tag sugli elementi file."},showFileTagsInCompactMode:{name:"Mostra tag file in modalità compatta",desc:"Visualizza tag quando data, anteprima e immagine sono nascosti."},showFileProperties:{name:"Mostra proprietà file",desc:'Visualizza le proprietà negli elementi file. Usa la finestra "Visibilità chiavi proprietà" per scegliere quali proprietà mostrare.'},colorFileProperties:{name:"Colora proprietà file",desc:"Applica i colori delle proprietà ai badge delle proprietà negli elementi file."},prioritizeColoredFileProperties:{name:"Mostra proprietà colorate prima",desc:"Ordina le proprietà colorate prima delle altre proprietà negli elementi file."},showFilePropertiesInCompactMode:{name:"Mostra proprietà in modalità compatta",desc:"Visualizza le proprietà quando la modalità compatta è attiva."},textCountDisplay:{name:"Tipo di conteggio",desc:"Scegli quali conteggi delle note mostrare negli elementi file.",options:{none:"Nessuno",words:"Conteggio parole",characters:"Conteggio caratteri",both:"Conteggio parole e caratteri"}},textCountPlacement:{name:"Posizione",desc:"Scegli dove mostrare i conteggi delle note.",options:{title:"Nel titolo",property:"Come proprietà"}},characterCountSpaces:{name:"Conteggio caratteri",desc:"Scegli se includere gli spazi nel conteggio caratteri.",options:{include:"Spazi inclusi",exclude:"Spazi esclusi"}},wordCountTargetProperty:{name:"Proprietà obiettivo",desc:"Chiave della proprietà frontmatter contenente l’obiettivo di conteggio parole. Lascia vuoto per nascondere gli obiettivi."},showWordCountPercentage:{name:"Mostra percentuale obiettivo",desc:"Mostra solo la percentuale di avanzamento quando è disponibile un obiettivo di conteggio parole."},propertyFields:{name:"Chiavi proprietà (profilo cassaforte)",desc:"Chiavi proprietà dei metadati, con visibilità per chiave per la navigazione e l'elenco file.",addButtonTooltip:"Configura chiavi proprietà",noneConfigured:"Nessuna proprietà configurata",singleConfigured:"1 proprietà configurata: {properties}",multipleConfigured:"{count} proprietà configurate: {properties}"},showPropertiesOnSeparateRows:{name:"Mostra proprietà su righe separate",desc:"Mostra ogni proprietà sulla propria riga."},enablePropertyInternalLinks:{name:"Collega le etichette proprietà alle note",desc:"Fai clic su un'etichetta proprietà per aprire la nota collegata."},enablePropertyExternalLinks:{name:"Collega le etichette proprietà agli URL",desc:"Fai clic su un'etichetta proprietà per aprire l'URL collegato."},dateFormat:{name:"Formato data",desc:"Formato per visualizzare le date (usa formato Moment).",placeholder:"D MMM YYYY",help:`Formati comuni:
D MMM YYYY = 25 mag 2022
DD/MM/YYYY = 25/05/2022
YYYY-MM-DD = 2022-05-25

Token:
YYYY/YY = anno
MMMM/MMM/MM = mese
DD/D = giorno
dddd/ddd = giorno settimana`,helpTooltip:"Formato con Moment",momentLinkText:"formato Moment"},timeFormat:{name:"Formato ora",desc:"Formato per visualizzare le ore (usa formato Moment).",placeholder:"HH:mm",help:`Formati comuni:
h:mm a = 2:30 PM (12 ore)
HH:mm = 14:30 (24 ore)
h:mm:ss a = 2:30:45 PM
HH:mm:ss = 14:30:45

Token:
HH/H = 24 ore
hh/h = 12 ore
mm = minuti
ss = secondi
a = AM/PM`,helpTooltip:"Formato con Moment",momentLinkText:"formato Moment"},showFilePreview:{name:"Mostra anteprima nota",desc:"Visualizza testo anteprima sotto i nomi note."},skipHeadingsInPreview:{name:"Salta intestazioni nell'anteprima",desc:"Salta righe intestazione quando generi testo anteprima."},skipCodeBlocksInPreview:{name:"Salta blocchi codice nell'anteprima",desc:"Salta blocchi codice quando generi testo anteprima."},stripHtmlInPreview:{name:"Rimuovi HTML nelle anteprime",desc:"Rimuove i tag HTML dal testo di anteprima. Potrebbe influire sulle prestazioni nelle note lunghe."},stripLatexInPreview:{name:"Rimuovi LaTeX nelle anteprime",desc:"Rimuove le espressioni LaTeX inline e a blocco dal testo di anteprima."},previewProperties:{name:"Proprietà anteprima",desc:"Lista di proprietà frontmatter separate da virgola da controllare per testo anteprima. La prima proprietà con testo sarà usata.",placeholder:"summary, description, abstract"},previewPropertiesFallback:{name:"Ricorri al contenuto della nota",desc:"Mostra il contenuto della nota come anteprima quando nessuna delle proprietà specificate contiene testo."},previewRows:{name:"Righe anteprima",desc:"Numero di righe da visualizzare per il testo anteprima.",options:{1:"1 riga",2:"2 righe",3:"3 righe",4:"4 righe",5:"5 righe"}},fileNameRows:{name:"Righe titolo",desc:"Numero di righe da visualizzare per i titoli note.",options:{1:"1 riga",2:"2 righe",3:"3 righe"}},useFolderColor:{name:"Usa colore cartella",desc:"Colora i titoli delle note e le icone file con il colore della cartella genitore quando non è impostato un colore file personalizzato. Priorità: colore file personalizzato > colore cartella > colore predefinito."},showFeatureImage:{name:"Mostra immagine in evidenza",desc:"Visualizza una miniatura della prima immagine trovata nella nota."},forceSquareFeatureImage:{name:"Forza immagine in evidenza quadrata",desc:"Renderizza immagini in evidenza come miniature quadrate."},featureImageProperties:{name:"Proprietà immagine",desc:"Lista di proprietà frontmatter separate da virgola da controllare per prime. Usa la prima immagine nel contenuto markdown come fallback.",placeholder:"thumbnail, featureResized, feature"},featureImageExcludeProperties:{name:"Escludi note con proprietà",desc:"Lista di proprietà frontmatter separate da virgola. Le note contenenti una di queste proprietà non memorizzano immagini di copertina.",placeholder:"private, confidential"},featureImageSize:{name:"Dimensione di visualizzazione dell'immagine in evidenza",desc:"Dimensione massima di rendering per le immagini in evidenza nelle liste di note.",options:{standard:"64 px",large:"96 px",extraLarge:"128 px"}},featureImagePixelSize:{name:"Dimensione in pixel dell'immagine in evidenza",desc:"Risoluzione utilizzata per generare le miniature memorizzate delle immagini in evidenza. Aumenta questo valore se le anteprime più grandi appaiono sfocate.",options:{standard:"256 x 144 px",large:"384 x 216 px",extraLarge:"512 x 288 px"}},downloadExternalFeatureImages:{name:"Scarica immagini esterne",desc:"Scarica immagini remote e miniature di YouTube per le immagini in evidenza."},hideDrawingPreviewImages:{name:"Nascondi le immagini di anteprima esportate",desc:'Nasconde i file PNG di anteprima dei disegni esportati. Attiva "Mostra elementi nascosti" per visualizzarli.'},drawingIntegrationInfo:{intro:"Notebook Navigator mostra i file PNG esportati da Excalidraw come anteprime dei disegni.",items:["Nelle **impostazioni di Excalidraw**, apri **Embedding Excalidraw into your Notes and Exporting**, poi **Export Settings**, poi **Auto-export Settings**.","Attiva **Auto-export PNG**. Facoltativamente, attiva **Export both dark- and light-themed image**.","Notebook Navigator cerca **Drawing.excalidraw.png**, **Drawing.excalidraw.dark.png** o **Drawing.excalidraw.light.png**.","Quando **Nascondi le immagini di anteprima esportate** è attivo, i file PNG vengono mostrati solo se anche **Mostra elementi nascosti** è attivo."]},showRootFolder:{name:"Mostra cartella root",desc:"Visualizza il nome vault come cartella root nell'albero."},showFolderIcons:{name:"Mostra icone cartelle",desc:"Visualizza icone accanto alle cartelle nel pannello navigazione."},inheritFolderColors:{name:"Eredita colori cartelle",desc:"Le sottocartelle ereditano il colore dalle cartelle genitore."},folderSortOrder:{name:"Ordine cartelle",desc:"Fai clic destro su una cartella per impostare un ordine diverso per i suoi elementi secondari.",options:{alphaAsc:"A a Z",alphaDesc:"Z a A"}},showNoteCount:{name:"Mostra conteggio note",desc:"Visualizza i conteggi note accanto a cartelle, tag e proprietà."},showSectionIcons:{name:"Mostra icone per scorciatoie e elementi recenti",desc:"Visualizza icone accanto agli elementi nelle sezioni Scorciatoie e Recenti."},interfaceIcons:{name:"Icone dell'interfaccia",desc:"Modifica icone di barra strumenti, cartelle, tag, proprietà, elementi fissati, ricerca e ordinamento.",buttonText:"Modifica icone"},showIconsColorOnly:{name:"Applica colore solo alle icone",desc:"Quando abilitato, i colori personalizzati sono applicati solo alle icone. Quando disabilitato, i colori sono applicati sia alle icone che alle etichette testo."},navRainbowMode:{name:"Modalità colori arcobaleno (profilo vault)",desc:"Applica colori arcobaleno nel pannello di navigazione.",options:{none:"Disattivato",foreground:"Colore del testo",background:"Colore di sfondo"}},navRainbowFirstColor:{name:"Primo colore",desc:"Primo colore nel gradiente arcobaleno."},navRainbowLastColor:{name:"Ultimo colore",desc:"Ultimo colore nel gradiente arcobaleno."},navRainbowTransitionStyle:{name:"Stile di transizione",desc:"Interpolazione utilizzata tra il primo e l'ultimo colore.",options:{hue:"Hue",rgb:"RGB"}},navRainbowApplyToShortcuts:{name:"Applica alle scorciatoie",desc:"Applica colori arcobaleno alle scorciatoie."},navRainbowApplyToRecent:{name:"Applica agli elementi recenti",desc:"Applica colori arcobaleno agli elementi recenti."},navRainbowApplyToFolders:{name:"Applica alle cartelle",desc:"Applica colori arcobaleno alle cartelle."},navRainbowFolderScope:{name:"Ambito cartelle",desc:"Seleziona quali livelli di cartella avviano le assegnazioni di colore.",options:{root:"Livello radice",child:"Livello figlio",all:"Ogni livello"}},navRainbowApplyToTags:{name:"Applica ai tag",desc:"Applica colori arcobaleno ai tag."},navRainbowTagScope:{name:"Ambito tag",desc:"Seleziona quali livelli di tag avviano le assegnazioni di colore.",options:{root:"Livello radice",child:"Livello figlio",all:"Ogni livello"}},navRainbowApplyToProperties:{name:"Applica alle proprietà",desc:"Applica colori arcobaleno alle proprietà."},navRainbowBalanceHueLuminance:{name:"Luminosità uniforme tra le tonalità",desc:"Interpola la luminosità tra i colori iniziale e finale durante le transizioni di tonalità."},navRainbowSeparateThemeColors:{name:"Colori separati per modalità chiara e scura",desc:"Usa colori arcobaleno diversi per la modalità chiara e la modalità scura."},navRainbowCopyLightToDark:"Copia il colore della modalità chiara nella modalità scura",navRainbowPropertyScope:{name:"Ambito proprietà",desc:"Seleziona quali livelli di proprietà avviano le assegnazioni di colore.",options:{root:"Livello radice",child:"Livello figlio",all:"Ogni livello"}},collapseBehavior:{name:"Comprimi elementi",desc:"Scegli cosa influenza il pulsante espandi/comprimi tutto.",options:{all:"Tutto",foldersOnly:"Solo cartelle",tagsOnly:"Solo tag",propertiesOnly:"Solo proprietà"}},smartCollapse:{name:"Mantieni elemento selezionato espanso",desc:"Quando comprimi, mantieni l'elemento selezionato e i suoi genitori espansi."},excludeVaultRootFromCollapse:{name:"Ignora la root del vault quando comprimi",desc:"Quando comprimi tutti gli elementi, lascia la cartella root del vault nello stato corrente."},navIndent:{name:"Indentazione albero",desc:"Regola la larghezza indentazione per cartelle, tag e proprietà nidificati (pixel)."},navItemHeight:{name:"Altezza elemento",desc:"Regola l'altezza di cartelle, tag e proprietà nel pannello navigazione (pixel)."},navItemHeightScaleText:{name:"Scala testo con altezza elemento",desc:"Riduci dimensione testo navigazione quando l'altezza elemento è ridotta."},showIndentGuides:{name:"Mostra guide di indentazione",desc:"Mostra guide di indentazione per cartelle, tag e proprietà nidificati."},navCountLeaderStyle:{name:"Mostra caratteri di riempimento",desc:"Mostra punti, trattini o una linea tra i nomi degli elementi e il numero di note.",options:{none:"Nessuno",dots:"Punti (...)",dashes:"Trattini (---)",line:"Linea"}},navRootSpacing:{name:"Spaziatura elementi root",desc:"Spaziatura tra cartelle, tag e proprietà di livello root (pixel)."},showTags:{name:"Mostra tag",desc:"Visualizza sezione tag nel navigatore."},showTagIcons:{name:"Mostra icone tag",desc:"Visualizza icone accanto ai tag nel pannello navigazione."},inheritTagColors:{name:"Eredita colori dei tag",desc:"I tag figli ereditano il colore dai tag genitori."},tagSortOrder:{name:"Ordine tag",desc:"Fai clic destro su un tag per impostare un ordine diverso per i suoi elementi secondari.",options:{alphaAsc:"A a Z",alphaDesc:"Z a A",frequency:"Frequenza",lowToHigh:"bassa ad alta",highToLow:"alta a bassa"}},showAllTagsFolder:{name:"Mostra cartella tag",desc:'Visualizza "Tag" come cartella comprimibile.'},showUntagged:{name:"Mostra note senza tag",desc:'Visualizza elemento "Senza tag" per note senza alcun tag.'},scopeTagsToCurrentContext:{name:"Filtra tag per selezione",desc:"Mostra solo i tag presenti nelle note nella cartella o proprietà selezionata."},keepEmptyTagsProperty:{name:"Mantieni proprietà tags dopo rimozione ultimo tag",desc:"Mantieni la proprietà tags frontmatter quando tutti i tag sono rimossi. Quando disabilitato, la proprietà tags è eliminata dal frontmatter."},showProperties:{name:"Mostra proprietà",desc:"Visualizza la sezione proprietà nel navigatore.",propertyKeysInfoPrefix:"Configura le proprietà in ",propertyKeysInfoLinkText:"Avvio > Chiavi proprietà",propertyKeysInfoSuffix:""},showPropertyIcons:{name:"Mostra icone proprietà",desc:"Visualizza le icone accanto alle proprietà nel pannello di navigazione."},inheritPropertyColors:{name:"Eredita colori proprietà",desc:"I valori delle proprietà ereditano colore e sfondo dalla loro chiave di proprietà."},propertySortOrder:{name:"Ordine di ordinamento proprietà",desc:"Fai clic destro su una proprietà per impostare un ordine di ordinamento diverso per i suoi valori.",options:{alphaAsc:"A a Z",alphaDesc:"Z a A",frequency:"Frequenza",lowToHigh:"dal basso all'alto",highToLow:"dall'alto al basso"}},showAllPropertiesFolder:{name:"Mostra cartella proprietà",desc:'Visualizza "Proprietà" come cartella comprimibile.'},scopePropertiesToCurrentContext:{name:"Filtra proprietà per selezione",desc:"Mostra solo le proprietà presenti nelle note nella cartella o tag selezionato."},hiddenTags:{name:"Nascondi tag (profilo vault)",desc:"Lista di pattern tag separati da virgola. Pattern nome: tag* (inizia con), *tag (finisce con). Pattern percorso: archivio (tag e discendenti), archivio/* (solo discendenti), progetti/*/bozze (wildcard intermedio).",placeholder:"archivio*, *bozza, progetti/*/vecchio"},hiddenFileTags:{name:"Nascondi note con tag (profilo vault)",desc:"Comma-separated list of tag patterns. Notes containing matching tags are hidden. Name patterns: tag* (starting with), *tag (ending with). Path patterns: archive (tag and descendants), archive/* (descendants only), projects/*/drafts (mid-segment wildcard).",placeholder:"archive*, *draft, projects/*/old"},enableFolderNotes:{name:"Abilita note cartella",desc:"Le cartelle con un file nota corrispondente vengono visualizzate come link cliccabili."},folderNoteType:{name:"Tipo nota cartella predefinito",desc:"Tipo nota cartella creata dal menu contestuale.",options:{ask:"Chiedi quando crei",markdown:"Markdown",canvas:"Canvas",base:"Base"}},folderNoteName:{name:"Nome nota cartella",desc:"Nome della nota cartella senza estensione. Lascia vuoto per usare lo stesso nome della cartella.",placeholder:"index"},folderNoteNamePattern:{name:"Modello nome nota cartella",desc:"Modello di nome per le note cartella senza estensione. Usa {{folder}} per inserire il nome della cartella. Se impostato, il nome della nota cartella non si applica."},folderNoteTemplate:{name:"Modello nota cartella",desc:"File modello usato durante la creazione delle note cartella. I modelli Markdown possono usare Templater. I modelli Canvas e Base vengono copiati come contenuto del file. Impostare la posizione della cartella modelli in Operazioni sui file > Modelli.",formatWarning:"Il formato del modello deve corrispondere al tipo di nota cartella selezionato: .md, .canvas o .base."},enableFolderNoteLinks:{name:"I nomi delle cartelle aprono note cartella",desc:"Facendo clic sul nome di una cartella si apre la relativa nota cartella. Quando disattivato, le note cartella forniscono solo metadati della cartella come nome, icona e colore."},hideFolderNoteInList:{name:"Nascondi note cartella nella lista",desc:"Nascondere le note cartella dall'elenco dei file."},pinCreatedFolderNote:{name:"Fissa note cartella create",desc:"Fissare le note cartella quando create dal menu contestuale."},folderNoteOpenLocation:{name:"Apri note cartella in",desc:"Scegli dove aprire le note cartella quando si fa clic sui link delle note cartella.",options:{currentTab:"Scheda corrente",newTab:"Nuova scheda",rightSidebar:"Barra laterale destra"}},showNearestFolderNoteInSidebar:{name:"Barra laterale destra: Mostra nota cartella più vicina",desc:"Quando viene selezionata una cartella, la barra laterale destra mostra automaticamente la nota cartella antenata più vicina."},confirmBeforeDelete:{name:"Conferma prima di eliminare",desc:"Mostra dialogo conferma quando elimini note o cartelle"},deleteAttachments:{name:"Elimina allegati quando si eliminano i file",desc:"Rimuovi automaticamente gli allegati collegati e le anteprime dei disegni generate se non sono utilizzati altrove",options:{ask:"Chiedi ogni volta",always:"Sempre",never:"Mai"}},moveFileConflicts:{name:"Conflitti di spostamento",desc:"Quando si sposta un file in una cartella dove esiste già un file con lo stesso nome. Chiedi ogni volta (rinomina, sovrascrivi, annulla) o rinomina sempre.",options:{ask:"Chiedi ogni volta",rename:"Rinomina sempre"}},metadataCleanup:{name:"Pulisci metadati",desc:"Rimuove metadati orfani lasciati quando file, cartelle, tag o proprietà sono eliminati, spostati o rinominati fuori da Obsidian. Questo influisce solo sul file impostazioni Notebook Navigator.",buttonText:"Pulisci metadati",error:"Pulizia impostazioni fallita",loading:"Controllo metadati...",statusClean:"Nessun metadato da pulire",statusCounts:"Elementi orfani: {folders} cartelle, {tags} tag, {properties} proprietà, {files} file, {pinned} fissati, {separators} separatori"},rebuildCache:{name:"Ricostruisci cache",desc:"Usa se riscontri tag mancanti, anteprime errate o immagini in evidenza mancanti. Questo può accadere dopo conflitti sync o chiusure inaspettate.",buttonText:"Ricostruisci cache",error:"Impossibile ricostruire cache",indexingTitle:"Indicizzazione del vault...",progress:"Aggiornamento della cache di Notebook Navigator."},externalIcons:{downloadButton:"Scarica",downloadingLabel:"Scaricamento...",removeButton:"Rimuovi",statusInstalled:"Scaricato (versione {version})",statusNotInstalled:"Non scaricato",versionUnknown:"sconosciuta",downloadFailed:"Impossibile scaricare {name}. Controlla la connessione e riprova.",removeFailed:"Impossibile rimuovere {name}.",infoNote:"I pacchetti icone scaricati sincronizzano lo stato installazione tra dispositivi. I pacchetti icone rimangono nel database locale su ogni dispositivo; la sync traccia solo se scaricarli o rimuoverli. I pacchetti icone si scaricano dal repository Notebook Navigator (https://github.com/johansan/notebook-navigator/tree/main/icon-assets)."},useFrontmatterDates:{name:"Usa metadati frontmatter",desc:"Usa frontmatter per nome nota, timestamp, icone e colori"},frontmatterIconField:{name:"Campo icona",desc:"Campo frontmatter per icone file. Lascia vuoto per usare icone salvate nelle impostazioni.",placeholder:"icon"},frontmatterColorField:{name:"Campo colore",desc:"Campo frontmatter per colori file. Lascia vuoto per usare colori salvati nelle impostazioni.",placeholder:"color"},frontmatterBackgroundField:{name:"Campo sfondo",desc:"Campo frontmatter per colori di sfondo. Lascia vuoto per usare colori di sfondo salvati nelle impostazioni.",placeholder:"background"},frontmatterMigration:{name:"Migra icone e colori dalle impostazioni",desc:"Salvati nelle impostazioni: {icons} icone, {colors} colori.",button:"Migra",buttonWorking:"Migrazione...",noticeNone:"Nessuna icona o colore file salvato nelle impostazioni.",noticeDone:"Migrati {migratedIcons}/{icons} icone, {migratedColors}/{colors} colori.",noticeFailures:"Voci fallite: {failures}.",noticeError:"Migrazione fallita. Controlla console per dettagli."},frontmatterNameField:{name:"Campi nome",desc:"Elenco di campi frontmatter separati da virgola. Viene usato il primo valore non vuoto. Usa il nome file come alternativa.",placeholder:"title, name"},frontmatterCreatedField:{name:"Campo timestamp creazione",desc:"Nome campo frontmatter per timestamp creazione. Lascia vuoto per usare solo data file system.",placeholder:"created"},frontmatterModifiedField:{name:"Campo timestamp modifica",desc:"Nome campo frontmatter per timestamp modifica. Lascia vuoto per usare solo data file system.",placeholder:"modified"},frontmatterDateFormat:{name:"Formato timestamp",desc:"Formato usato per parsare timestamp nel frontmatter. Lascia vuoto per usare parsing ISO 8601.",helpTooltip:"Formato con Moment",momentLinkText:"formato Moment",help:`Formati comuni:
YYYY-MM-DD[T]HH:mm:ss → 2025-01-04T14:30:45
YYYY-MM-DD[T]HH:mm:ssZ → 2025-08-07T16:53:39+02:00
DD/MM/YYYY HH:mm:ss → 04/01/2025 14:30:45
MM/DD/YYYY h:mm:ss a → 01/04/2025 2:30:45 PM`},supportDevelopment:{name:"Supporta lo sviluppo",desc:"Se ami usare Notebook Navigator, considera di supportare il suo sviluppo continuo.",buttonText:"❤️ Sponsorizza",coffeeButton:"☕️ Offrimi un caffè"},updateCheckOnStart:{name:"Controlla nuova versione all'avvio",desc:"Controlla nuovi rilasci plugin all'avvio e mostra notifica quando un aggiornamento è disponibile. I controlli avvengono al massimo una volta al giorno.",status:"Nuova versione disponibile: {version}"},debugLogging:{name:"Registro di debug all’avvio",desc:"Scrive la diagnostica di avvio in un file Markdown con data e ora nella radice del vault, poi si ferma quando l’avvio si stabilizza. Il file può essere sincronizzato e può includere percorsi di file."},whatsNew:{name:"Novità in Notebook Navigator {version}",desc:"Vedi aggiornamenti e miglioramenti recenti",buttonText:"Vedi aggiornamenti recenti"},masteringVideo:{name:"Padroneggiare Notebook Navigator (video)",desc:"Questo video copre tutto ciò che serve per essere produttivi in Notebook Navigator, incluse scorciatoie da tastiera, ricerca, tag e personalizzazione avanzata."},cacheStatistics:{localCache:"Cache locale",items:"elementi",withTags:"con tag",withPreviewText:"con testo anteprima",withFeatureImage:"con immagine in evidenza",withMetadata:"con metadati"},metadataInfo:{successfullyParsed:"Parsati con successo",itemsWithName:"elementi con nome",withCreatedDate:"con data creazione",withModifiedDate:"con data modifica",withIcon:"con icona",withColor:"con colore",failedToParse:"Impossibile parsare",createdDates:"date creazione",modifiedDates:"date modifica",checkTimestampFormat:"Controlla il formato timestamp.",exportFailed:"Esporta errori"}}},whatsNew:{title:"Novità in Notebook Navigator",openBannerImage:"Apri immagine banner della versione",supportMessage:"Se trovi Notebook Navigator utile, considera di supportare il suo sviluppo.",supportButton:"Offrimi un caffè",thanksButton:"Grazie!"}}});var B1={};In(B1,{STRINGS_JA:()=>qie});var qie,_1=U(()=>{qie={common:{cancel:"キャンセル",delete:"削除",clear:"クリア",remove:"削除",restoreDefault:"デフォルトに戻す",submit:"送信",save:"保存",configure:"設定",lightMode:"ライトモード",darkMode:"ダークモード",noSelection:"選択なし",untagged:"タグなし",featureImageAlt:"アイキャッチ画像",unknownError:"不明なエラー",clipboardWriteError:"クリップボードに書き込めませんでした",updateBannerTitle:"Notebook Navigator の更新があります",updateBannerInstruction:"設定 -> コミュニティプラグイン で更新",previous:"前へ",next:"次へ"},listPane:{emptyStateNoSelection:"フォルダまたはタグを選択してノートを表示",emptyStateNoNotes:"ノートなし",pinnedSection:"ピン留め",notesSection:"ノート",filesSection:"ファイル",hiddenItemAriaLabel:"{name} (非表示)",collapseGroup:"グループを折りたたむ",expandGroup:"グループを展開",manualSortTitle:"手動並べ替え: {property}",manualSortHint:"ドラッグして並べ替えます。並び順は数値インデックス値としてプロパティ「{property}」に保存されます。",manualSortNonMarkdownHint:"Markdown 以外のファイルは下部に表示され、並べ替えできません。",unsortedSection:"未ソート",manualSortDone:"完了",manualSortMultipleWriteFailure:"{count} 件のファイルが失敗しました。最初: {path}: {message}"},tagList:{untaggedLabel:"タグなし",tags:"タグ"},navigationPane:{shortcutsHeader:"ショートカット",recentFilesHeader:"最近のファイル",properties:"プロパティ",reorderRootFoldersTitle:"ナビゲーションを並び替え",reorderRootFoldersHint:"矢印またはドラッグで並び替え",vaultRootLabel:"ボールト",resetRootToAlpha:"アルファベット順にリセット",resetRootToFrequency:"頻度順にリセット",pinShortcuts:"ショートカットを固定",pinShortcutsAndRecentFiles:"ショートカットと最近のファイルを固定",unpinShortcuts:"ショートカットの固定を解除",unpinShortcutsAndRecentFiles:"ショートカットと最近のファイルの固定を解除",profileMenuAria:"保管庫のプロファイルを変更"},navigationCalendar:{ariaLabel:"カレンダー",dailyNotesNotEnabled:"デイリーノートプラグインが有効になっていません。",createDailyNote:{title:"新規デイリーノート",message:"ファイル {filename} は存在しません。作成しますか？",confirmButton:"作成"},helpModal:{title:"カレンダーのショートカット",items:["任意の日をクリックしてデイリーノートを開くか作成します。週、月、四半期、年も同様に機能します。","日付の下の塗りつぶされたドットはノートがあることを意味します。中空のドットは未完了のタスクがあることを意味します。","ノートにフィーチャー画像がある場合、その日の背景として表示されます。"],dateFilterCmdCtrl:"`Cmd/Ctrl`+クリックで日付をファイルリストのフィルターに追加します。",dateFilterOptionAlt:"`Option/Alt`+クリックで日付をファイルリストのフィルターに追加します。"}},dailyNotes:{templateReadFailed:"デイリーノートのテンプレートを読み込めませんでした。",createFailed:"デイリーノートを作成できませんでした。"},shortcuts:{folderExists:"フォルダは既にショートカットにあります",noteExists:"ノートは既にショートカットにあります",tagExists:"タグは既にショートカットにあります",propertyExists:"プロパティはすでにショートカットに追加されています",invalidProperty:"無効なプロパティショートカット",searchExists:"検索ショートカットは既に存在します",emptySearchQuery:"保存前に検索クエリを入力してください",emptySearchName:"検索を保存する前に名前を入力してください",add:"ショートカットに追加",addNotesCount:"ショートカットに{count}件のノートを追加",addFilesCount:"ショートカットに{count}件のファイルを追加",rename:"ショートカット名を変更",remove:"ショートカットから削除",removeAll:"すべてのショートカットを削除",removeAllConfirm:"すべてのショートカットを削除しますか？",folderNotesPinned:"フォルダノート {count} 件をピン留めしました"},paneHeader:{collapseAllFolders:"アイテムを折りたたむ",expandAllFolders:"すべてのアイテムを展開",showCalendar:"カレンダーを表示",hideCalendar:"カレンダーを非表示",newFolder:"新規フォルダ",newNote:"新規ノート",mobileBackToNavigation:"ナビゲーションに戻る",changeChildSortOrder:"並び順を変更",changeSortAndGroup:"並び順とグループを変更",resetViewToDefaults:"ビューをデフォルトに戻す",manualSort:"手動並べ替え",editSortOrder:"並べ替え順を編集...",removeSortProperty:"並べ替えプロパティを削除",descendants:"子孫",subfolders:"サブフォルダー",subtags:"サブタグ",childValues:"子の値",applySortAndGroupToDescendants:t=>`${t}に並び替えとグループ化を適用`,applyAppearanceToDescendants:t=>`${t}に外観を適用`,showFolders:"ナビゲーションを表示",reorderRootFolders:"ナビゲーションを並び替え",finishRootFolderReorder:"完了",showExcludedItems:"非表示のフォルダ・タグ・ノートを表示",hideExcludedItems:"非表示のフォルダ・タグ・ノートを非表示",showDualPane:"デュアルペインを表示",showSinglePane:"シングルペインを表示",dualPaneAutoFallbackNotice:"サイドバーが狭すぎる場合、デュアルペインは使用できません。変更するには、設定 > 外観と動作で「サイドバーが狭すぎる場合」を「何もしない」に設定してください。",changeAppearance:"外観を変更",showNotesFromSubfolders:"サブフォルダのノートを表示",showFilesFromSubfolders:"サブフォルダのファイルを表示",showNotesFromDescendants:"子孫のノートを表示",showFilesFromDescendants:"子孫のファイルを表示",search:"検索"},searchInput:{placeholder:"検索...",placeholderOmnisearch:"Omnisearch...",clearSearch:"検索をクリア",switchToFilterSearch:"フィルター検索に切り替え",switchToOmnisearch:"Omnisearchに切り替え",saveSearchShortcut:"検索をショートカットに保存",removeSearchShortcut:"ショートカットから検索を削除",shortcutModalTitle:"検索ショートカットを保存",shortcutNamePlaceholder:"ショートカット名を入力",shortcutStartIn:"常にここから開始: {path}",searchHelp:"検索構文",searchHelpTitle:"検索構文",searchHelpModal:{intro:"ファイル名、プロパティ、タグ、日付、フィルターを1つのクエリで組み合わせ可能（例：`meeting .status=active #work @thisweek`）。Omnisearch プラグインをインストールすると全文検索が使用できます。",introSwitching:"上下矢印キーまたは検索アイコンのクリックで、フィルター検索と Omnisearch を切り替えられます。",sections:{fileNames:{title:"ファイル名",items:["`word` ファイル名に「word」を含むノートを検索。","`word1 word2` すべての単語がファイル名に一致する必要があります。","`-word` ファイル名に「word」を含むノートを除外。"]},tags:{title:"タグ",items:["`#tag` タグを持つノートを含める（`#tag/subtag` のようなネストしたタグも一致）。","`#` タグ付きノートのみを含める。","`-#tag` タグを持つノートを除外。","`-#` タグなしノートのみを含める。","`#tag1 #tag2` 両方のタグに一致（暗黙のAND）。","`#tag1 AND #tag2` 両方のタグに一致（明示的なAND）。","`#tag1 OR #tag2` いずれかのタグに一致。","`#a OR #b AND #c` ANDは優先度が高い：`#a`、または`#b`と`#c`の両方に一致。","Cmd/Ctrl+クリックでタグを AND として追加。Cmd/Ctrl+Shift+クリックで OR として追加。"]},properties:{title:"プロパティ",items:["`.key` プロパティキーを持つノートを含める。","`.key=value` プロパティ値に `value` を含むノートを含める。",'`."Reading Status"` 空白を含むプロパティキーを持つノートを含める。','`."Reading Status"="In Progress"` 空白を含むキーと値はダブルクォートで囲む必要があります。',"`-.key` プロパティキーを持つノートを除外する。","`-.key=value` プロパティ値に `value` を含むノートを除外する。","Cmd/Ctrl+クリックでプロパティをANDで追加。Cmd/Ctrl+Shift+クリックでORで追加。"]},tasks:{title:"フィルター",items:["`has:task` 未完了のタスクを含むノートを表示。","`-has:task` 未完了のタスクを含むノートを除外。","`folder:meetings` フォルダ名に `meetings` を含むノートを表示。","`folder:/work/meetings` `work/meetings` 内のノートのみを表示（サブフォルダを除く）。","`folder:/` ボールトルート内のノートのみを表示。","`-folder:archive` フォルダ名に `archive` を含むノートを除外。","`-folder:/archive` `archive` 内のノートのみを除外（サブフォルダを除く）。","`ext:md` 拡張子が `md` のノートを表示（`ext:.md` もサポート）。","`-ext:pdf` 拡張子が `pdf` のノートを除外。","タグ、名前、日付と組み合わせて使用（例：`folder:/work/meetings ext:md @thisweek`）。"]},connectors:{title:"AND/ORの動作",items:["`AND`と`OR`はタグ/プロパティのみのクエリでのみ演算子として機能します。","タグ/プロパティのみのクエリにはタグとプロパティのフィルターのみが含まれます: `#tag`、`-#tag`、`#`、`-#`、`.key`、`-.key`、`.key=value`、`-.key=value`。","クエリに名前、日付（`@...`）、タスクフィルター（`has:task`）、フォルダフィルター（`folder:...`）、または拡張子フィルター（`ext:...`）が含まれる場合、`AND`と`OR`は単語として検索されます。","演算子クエリの例: `#work OR .status=started`。","混合クエリの例: `#work OR ext:md`（`OR`はファイル名で検索されます）。"]},dates:{title:"日付",items:["`@today` デフォルトの日付フィールドを使用して今日のノートを検索。","`@yesterday`、`@last7d`、`@last30d`、`@thisweek`、`@thismonth` 相対的な日付範囲。","`@2026-02-07` 特定の日を検索（`@20260207` もサポート）。","`@2026` 暦年を検索。","`@2026-02` または `@202602` 暦月を検索。","`@2026-W05` または `@2026W05` ISO週を検索。","`@2026-Q2` または `@2026Q2` 暦四半期を検索。","`@13/02/2026` 区切り文字付きの数値形式（`@07022026` は曖昧な場合にロケールに従います）。","`@2026-02-01..2026-02-07` 包括的な日付範囲を検索（開放端サポート）。","`@c:...` または `@m:...` 作成日または更新日を指定。","`-@...` 日付の一致を除外。"]},omnisearch:{title:"Omnisearch",items:["ボールト全体の全文検索。現在のフォルダまたは選択されたタグでフィルタリングされます。","大規模なボールトでは3文字未満の場合、動作が遅くなることがあります。","非ASCIIパスの検索やサブパスの正確な検索はできません。","フォルダフィルタリング前に返される結果数に制限があるため、他に多くの一致がある場合、関連ファイルが表示されないことがあります。","ノートプレビューはデフォルトのプレビューテキストの代わりに Omnisearch の抜粋を表示します。"]}}}},contextMenu:{file:{openInNewTab:"新しいタブで開く",openToRight:"右側で開く",openInNewWindow:"新しいウィンドウで開く",openMultipleInNewTabs:"{count}個のノートを新しいタブで開く",openMultipleToRight:"{count}個のノートを右側で開く",openMultipleInNewWindows:"{count}個のノートを新しいウィンドウで開く",pinNote:"ノートをピン留め",unpinNote:"ピン留めを解除",pinMultipleNotes:"{count}個のノートをピン留め",unpinMultipleNotes:"{count}個のノートのピン留めを解除",duplicateNote:"ノートを複製",duplicateMultipleNotes:"{count}個のノートを複製",openVersionHistory:"バージョン履歴を開く",revealInFolder:"フォルダで表示",revealInFinder:"Finderで表示",showInExplorer:"システムエクスプローラーで表示",openInDefaultApp:"デフォルトアプリで開く",renameNote:"ノートの名前を変更",deleteNote:"ノートを削除",deleteMultipleNotes:"{count}個のノートを削除",moveNoteToFolder:"ノートを移動先...",moveFileToFolder:"ファイルを移動先...",moveMultipleNotesToFolder:"{count}個のノートを移動先...",moveMultipleFilesToFolder:"{count}個のファイルを移動先...",mergeNotes:"{count}個のノートを結合...",mergeNotesInGroup:"グループ内のノートを結合...",setManualSortGroupHeader:"グループヘッダーを設定",changeManualSortGroupHeader:"グループヘッダーを変更",manualSortGroupHeader:{title:"グループヘッダー",copyStyle:"ヘッダースタイルをコピー",pasteStyle:"ヘッダースタイルを貼り付け",remove:"グループヘッダーを削除"},addTag:"タグを追加",addPropertyKey:"プロパティを設定",removeTag:"タグを削除",removeAllTags:"すべてのタグを削除",changeIcon:"アイコンを変更",changeColor:"色を変更",openMultipleFilesInNewTabs:"{count}個のファイルを新しいタブで開く",openMultipleFilesToRight:"{count}個のファイルを右側で開く",openMultipleFilesInNewWindows:"{count}個のファイルを新しいウィンドウで開く",pinFile:"ファイルをピン留め",unpinFile:"ピン留めを解除",pinMultipleFiles:"{count}個のファイルをピン留め",unpinMultipleFiles:"{count}個のファイルのピン留めを解除",duplicateFile:"ファイルを複製",duplicateMultipleFiles:"{count}個のファイルを複製",renameFile:"ファイルの名前を変更",deleteFile:"ファイルを削除",setCalendarHighlight:"ハイライトを設定",removeCalendarHighlight:"ハイライトを解除",deleteMultipleFiles:"{count}個のファイルを削除"},folder:{newNote:"新規ノート",newNoteFromTemplate:"テンプレートから新規ノート",newFolder:"新規フォルダ",newCanvas:"新規キャンバス",newBase:"新規データベース",newDrawing:"新規図面",newExcalidrawDrawing:"新規 Excalidraw 図面",newTldrawDrawing:"新規 Tldraw 図面",duplicateFolder:"フォルダを複製",searchInFolder:"フォルダ内を検索",createFolderNote:"フォルダノートを作成",detachFolderNote:"フォルダノートを解除",deleteFolderNote:"フォルダーノートを削除",changeIcon:"アイコンを変更",changeColor:"色を変更",changeBackground:"背景色を変更",excludeFolder:"フォルダを非表示",unhideFolder:"フォルダを表示",moveFolder:"フォルダを移動先...",renameFolder:"フォルダの名前を変更",deleteFolder:"フォルダを削除"},tag:{changeIcon:"アイコンを変更",changeColor:"色を変更",changeBackground:"背景色を変更",showTag:"タグを表示",hideTag:"タグを非表示"},property:{addKey:"プロパティキーを設定",renameKey:"プロパティの名前を変更",deleteKey:"プロパティを削除"},navigation:{addSeparator:"区切り線を追加",removeSeparator:"区切り線を削除"},copyPath:{title:"パスをコピー",asObsidianUrl:"Obsidian URL として",fromVaultFolder:"Vault フォルダから",fromSystemRoot:"システムルートから"},style:{title:"スタイル",copy:"スタイルをコピー",paste:"スタイルを貼り付け",removeIcon:"アイコンを削除",removeColor:"色を削除",removeBackground:"背景を削除",clear:"スタイルをクリア"}},folderAppearance:{appearance:"外観",sortBy:"並び替え",standardPreset:"標準",compactPreset:"コンパクト",defaultSuffix:"(デフォルト)",defaultLabel:"デフォルト",titleRows:"タイトル行数",previewRows:"プレビュー行数",groupBy:"グループ分け",titleRowOption:t=>`タイトル${t}行`,previewRowOption:t=>`プレビュー${t}行`},modals:{bulkApply:{applyButton:"適用",applySortAndGroupTitle:t=>`${t}に並び替えとグループ化を適用しますか？`,applyAppearanceTitle:t=>`${t}に外観を適用しますか？`,affectedCountMessage:t=>`変更される既存のオーバーライド: ${t}。`},manualSortConfirm:{propertySortTitle:"手動並べ替えを使用しますか？",propertySortMessage:(t,e)=>`現在のビューを「${t}」を使った手動並べ替えに切り替えます。並び順を編集すると、必要に応じて ${e} 件のノートのそのプロパティに数値インデックス値が書き込まれます。`,propertySortConfirmButton:"手動並べ替えを使用",removePropertyTitle:"並べ替えプロパティを削除しますか？",removePropertyMessage:(t,e)=>`現在のリストの ${e} 件のノートから「${t}」を削除します。それらのノートの手動並べ替え順はクリアされます。`,removePropertyConfirmButton:"プロパティを削除",compactTitle:"インデックス値を圧縮しますか？",compactMessage:t=>`この並べ替えにはより多くの数値領域が必要です。${t} 件のノートに新しいインデックス値が割り当てられます。`,compactConfirmButton:"インデックス値を圧縮"},manualSortGroupHeader:{title:"グループヘッダーを設定",titleLabel:"タイトル",placeholder:"グループヘッダー",icon:"アイコン",color:"色",wordCount:"ワード数を表示",wordCountTarget:"目標ワード数",wordCountTargetPlaceholder:"10,000",wordCountTargetDescription:"このフィールドが空の場合、グループ目標は 設定 > ノート > 単語数と文字数 で設定された目標プロパティを使用します。このグループに目標値を設定すると上書きできます。",description:"このノートのグループヘッダーをカスタマイズします。ヘッダーを削除するには、タイトルを空のままにします。"},mergeNotes:{title:"ノートを結合",summary:"{folder} の {count} 個のノートから1つのノートを作成します。",frontmatterRule:"最初のノートのフロントマターは保持されます。他のノートのフロントマターは削除されます。",crossFolderWarning:"元のノートが異なるフォルダにあります。結合されたノートでは相対リンクと埋め込みが機能しなくなる可能性があります。",outputName:"出力名",outputNameDesc:"結合されたノートは上に表示されたフォルダに作成されます。",outputNamePlaceholder:"結合されたノート",separator:"区切り",separatorDesc:"ノート間に挿入されます。",separatorOptions:{none:"なし",blankLine:"空行",horizontalRule:"水平線",heading:"ノートタイトル付き見出し"},moveSourcesToTrash:"結合後に元のノートをゴミ箱に移動",mergeButton:"結合"},navRainbowSection:{title:t=>`レインボーカラー: ${t}`},iconPicker:{searchPlaceholder:"アイコンを検索...",recentlyUsedHeader:"最近使用したアイコン",emptyStateSearch:"入力してアイコンを検索",emptyStateNoResults:"アイコンが見つかりません",showingResultsInfo:"{count}件中50件を表示中。絞り込むには続けて入力してください。",emojiInstructions:"絵文字を入力または貼り付けてアイコンとして使用",removeIcon:"アイコンを削除",removeFromRecents:"最近使用したアイコンから削除",allTabLabel:"すべて"},fileIconRuleEditor:{addRuleAria:"ルールを追加"},interfaceIcons:{title:"インターフェースアイコン",fileItemsSection:"ファイル項目",items:{"nav-shortcuts":"ショートカット","nav-recent-files":"最近のファイル","nav-expand-all":"すべて展開","nav-collapse-all":"すべて折りたたむ","nav-calendar":"カレンダー","nav-tree-expand":"ツリー矢印: 展開","nav-tree-collapse":"ツリー矢印: 折りたたみ","nav-hidden-items":"非表示項目","nav-root-reorder":"ルートフォルダの並べ替え","nav-new-folder":"新規フォルダ","nav-show-single-pane":"シングルペインを表示","nav-show-dual-pane":"デュアルペインを表示","nav-profile-chevron":"プロファイルメニュー矢印","list-search":"検索","list-reveal-file":"ファイルを表示","list-descendants":"サブフォルダからのノート","list-sort-ascending":"並べ替え: 昇順","list-sort-descending":"並べ替え: 降順","list-sort-modified":"更新日時で並べ替え","list-sort-created":"作成日時で並べ替え","list-sort-title":"タイトルで並べ替え","list-sort-filename":"ファイル名で並べ替え","list-sort-property":"プロパティで並べ替え","list-appearance":"外観を変更","list-new-note":"新規ノート","list-pinned":"ピン留めされたノート","nav-folder-open":"フォルダ（開）","nav-folder-closed":"フォルダ（閉）","nav-tags":"タグ","nav-tag":"タグ","nav-properties":"プロパティ","nav-property":"プロパティ","nav-property-value":"値","file-unfinished-task":"未完了タスク","file-word-count":"単語数","file-character-count":"文字数"}},colorPicker:{currentColor:"現在",newColor:"新規",paletteDefault:"デフォルト",paletteCustom:"カスタム",copyColors:"色をコピー",colorsCopied:"クリップボードにコピーしました",pasteColors:"色を貼り付け",pasteClipboardError:"クリップボードを読み取れませんでした",pasteInvalidFormat:"16進数の色の値が必要です",colorsPasted:"色を貼り付けました",resetUserColors:"カスタム色をクリア",clearCustomColorsConfirm:"すべてのカスタム色を削除しますか？",userColorSlot:"カラー {slot}",recentColors:"最近使用した色",clearRecentColors:"最近使用した色をクリア",removeRecentColor:"色を削除",apply:"適用",pickerLabel:"ピッカー",hexLabel:"HEX",hexInputLabel:"HEXカラー値",saturationValueArea:"彩度と明度",hueSlider:"色相",alphaSlider:"透明度"},appearance:{tabIcon:"アイコン",tabColor:"色",tabBackground:"背景",resetIcon:"アイコンを削除",resetColor:"色を削除",resetBackground:"背景を削除",clear:"スタイルをクリア",apply:"適用"},selectVaultProfile:{title:"保管庫のプロファイルを変更",currentBadge:"アクティブ",emptyState:"利用できる保管庫プロファイルがありません。"},tagOperation:{renameTitle:"タグ {tag} の名前を変更",deleteTitle:"タグ {tag} を削除",newTagPrompt:"新しいタグ名を入力：",newTagPlaceholder:"新しい名前",renameWarning:"タグ {oldTag} の名前変更により {count} 個の{files}が変更されます。",deleteWarning:"タグ {tag} の削除により {count} 個の{files}が変更されます。",modificationWarning:"これによりファイルの変更日が更新されます。",affectedFiles:"影響を受けるファイル:",andMore:"さらに{count}個...",confirmRename:"タグを名前変更",renameUnchanged:"{tag} は変更されませんでした",renameNoChanges:"{oldTag} → {newTag} ({countLabel})",renameBatchNotFinalized:"{renamed}/{total} を名前変更しました。未更新: {notUpdated}。メタデータとショートカットは更新されませんでした。",invalidTagName:"有効なタグ名を入力してください。",descendantRenameError:"タグを自身または子孫に移動することはできません。",confirmDelete:"タグを削除",deleteBatchNotFinalized:"{removed}/{total} から削除しました。未更新: {notUpdated}。メタデータとショートカットは更新されませんでした。",checkConsoleForDetails:"詳細はコンソールを確認してください。",file:"ファイル",files:"ファイル",inlineParsingWarning:{title:"インラインタグの互換性",message:"{tag} には Obsidian がインラインタグで解析できない文字が含まれています。Frontmatter タグには影響しません。",confirm:"そのまま使用"}},propertyOperation:{renameTitle:"プロパティ {property} の名前を変更",deleteTitle:"プロパティ {property} を削除",newKeyPrompt:"新しいプロパティ名",newKeyPlaceholder:"新しいプロパティ名を入力",renameWarning:"プロパティ {property} の名前変更は {count} {files}に影響します。",renameConflictWarning:"プロパティ {newKey} は既に {count} {files}に存在します。{oldKey} の名前変更は既存の {newKey} の値を置き換えます。",deleteWarning:"プロパティ {property} の削除は {count} {files}に影響します。",confirmRename:"プロパティの名前を変更",confirmDelete:"プロパティを削除",renameNoChanges:"{oldKey} → {newKey}（変更なし）",renameSettingsUpdateFailed:"プロパティ {oldKey} → {newKey} の名前を変更しました。設定の更新に失敗しました。",deleteSingleSuccess:"プロパティ {property} を1件のノートから削除しました",deleteMultipleSuccess:"プロパティ {property} を {count} 件のノートから削除しました",deleteSettingsUpdateFailed:"プロパティ {property} を削除しました。設定の更新に失敗しました。",invalidKeyName:"有効なプロパティ名を入力してください。"},fileSystem:{newFolderTitle:"新規フォルダ",renameFolderTitle:"フォルダの名前を変更",renameFileTitle:"ファイルの名前を変更",deleteFolderTitle:"'{name}'を削除しますか？",deleteFileTitle:"'{name}'を削除しますか？",deleteFileAttachmentsTitle:"ファイルの添付ファイルを削除しますか？",moveFileConflictTitle:"移動の競合",folderNamePrompt:"フォルダ名を入力：",hideInOtherVaultProfiles:"他の保管庫プロファイルで非表示にする",renamePrompt:"新しい名前を入力：",renameVaultTitle:"ボールトの表示名を変更",renameVaultPrompt:"カスタム表示名を入力（空にするとデフォルトを使用）：",deleteFolderConfirm:"このフォルダとそのすべての内容を削除してもよろしいですか？",deleteFileConfirm:"このファイルを削除してもよろしいですか？",deleteFileAttachmentsDescriptionSingle:"この添付ファイルはどのノートでも使用されていません。削除しますか？",deleteFileAttachmentsDescriptionMultiple:"これらの添付ファイルはどのノートでも使用されていません。削除しますか？",deleteFileAttachmentsViewFileTreeAriaLabel:"ファイルツリー",deleteFileAttachmentsViewGalleryAriaLabel:"ギャラリー",moveFileConflictDescriptionSingle:"「{folder}」でファイルの競合が見つかりました。",moveFileConflictDescriptionMultiple:"「{folder}」で{count}件のファイルの競合が見つかりました。",moveFileConflictAffectedFiles:"影響を受けるファイル",moveFileConflictItem:"「{name}」→「{suggested}」{renameOnly}",moveFileConflictRenameOnly:"（名前変更のみ）",moveFileConflictRename:"名前を変更",moveFileConflictOverwrite:"上書き",removeAllTagsTitle:"すべてのタグを削除",removeAllTagsFromNote:"このノートからすべてのタグを削除してもよろしいですか？",removeAllTagsFromNotes:"{count}個のノートからすべてのタグを削除してもよろしいですか？"},folderNoteType:{title:"フォルダノートの形式を選択",folderLabel:"フォルダ: {name}"},folderSuggest:{placeholder:t=>`${t} をフォルダに移動...`,multipleFilesLabel:t=>`${t} 個のファイル`,navigatePlaceholder:"フォルダにナビゲート...",instructions:{navigate:"でナビゲート",move:"で移動",select:"で選択",dismiss:"でキャンセル"}},homepage:{placeholder:"ファイルを検索...",instructions:{navigate:"でナビゲート",select:"でホームページを設定",dismiss:"でキャンセル"}},calendarTemplate:{placeholder:"テンプレートを検索...",instructions:{navigate:"でナビゲート",select:"でテンプレートを選択",dismiss:"でキャンセル"}},navigationBanner:{placeholder:"画像を検索...",instructions:{navigate:"でナビゲート",select:"でバナーを設定",dismiss:"でキャンセル"}},tagSuggest:{navigatePlaceholder:"タグにナビゲート...",addPlaceholder:"追加するタグを検索...",removePlaceholder:"削除するタグを選択...",createNewTag:"新しいタグを作成: #{tag}",instructions:{navigate:"でナビゲート",select:"で選択",dismiss:"でキャンセル",add:"タグを追加",remove:"タグを削除"}},propertySuggest:{placeholder:"プロパティキーを選択...",navigatePlaceholder:"プロパティに移動...",instructions:{navigate:"でナビゲート",select:"プロパティを追加",dismiss:"でキャンセル"}},propertyKeyVisibility:{title:"プロパティキーの表示設定",description:"プロパティ値の表示場所を制御します。列はナビゲーションペイン、リストペイン、ファイルコンテキストメニューに対応しています。下の行を使って列内のすべての行を切り替えます。",searchPlaceholder:"プロパティキーを検索...",propertyColumnLabel:"プロパティ",showInNavigation:"ナビゲーションに表示",showInList:"リストに表示",showInFileMenu:"ファイルメニューに表示",toggleAllInNavigation:"ナビゲーションの全てを切り替え",toggleAllInList:"リストの全てを切り替え",toggleAllInFileMenu:"ファイルメニューの全てを切り替え",applyButton:"適用",emptyState:"プロパティキーが見つかりません。"},welcome:{title:"{pluginName}へようこそ",introText:"こんにちは！始める前に、下のビデオの最初の5分間を見て、ペインとトグル「サブフォルダからノートを表示」の仕組みを理解することを強くお勧めします。",continueText:"さらに5分あれば、ビデオを続けて見て、コンパクト表示モードとショートカットや重要なホットキーの適切な設定方法を理解してください。",thanksText:"ダウンロードいただきありがとうございます。お楽しみください！",videoAlt:"Notebook Navigatorのインストールとマスター",openVideoButton:"ビデオを再生",closeButton:"また今度"}},fileSystem:{errors:{createFolder:"フォルダの作成に失敗しました：{error}",createFile:"ファイルの作成に失敗しました：{error}",renameFolder:"フォルダの名前変更に失敗しました：{error}",renameFolderNoteConflict:'名前を変更できません："{name}"はこのフォルダに既に存在します',renameFile:"ファイルの名前変更に失敗しました：{error}",deleteFolder:"フォルダの削除に失敗しました：{error}",deleteFile:"ファイルの削除に失敗しました：{error}",deleteAttachments:"添付ファイルの削除に失敗しました: {error}",mergeNotes:"ノートの結合に失敗しました: {error}",mergeNotesOpenOutput:"結合されたノートは {name} として作成されましたが、開けませんでした: {error}。元のノートは変更されませんでした。",mergeNotesOpenSkipped:"別のファイルを開くリクエストが優先されました。",mergeNotesTrashSources:"結合されたノートを作成しました。{count} 個の元ノートをゴミ箱に移動できませんでした。",duplicateNote:"ノートの複製に失敗しました：{error}",duplicateFolder:"フォルダの複製に失敗しました：{error}",openVersionHistory:"バージョン履歴を開くのに失敗しました：{error}",versionHistoryNotFound:"バージョン履歴コマンドが見つかりません。Obsidian Syncが有効になっていることを確認してください。",revealInExplorer:"システムエクスプローラーでファイルを表示できませんでした：{error}",openInDefaultApp:"デフォルトアプリで開けませんでした：{error}",openInDefaultAppNotAvailable:"このプラットフォームではデフォルトアプリで開く機能は利用できません",folderNoteAlreadyExists:"フォルダノートはすでに存在します",folderAlreadyExists:"フォルダ「{name}」は既に存在します",folderNotesDisabled:"ファイルを変換するには設定でフォルダノートを有効にしてください",folderNoteAlreadyLinked:"このファイルは既にフォルダノートとして機能しています",folderNoteNotFound:"選択したフォルダにフォルダノートがありません",folderNoteUnsupportedExtension:"サポートされていないファイル拡張子：{extension}",folderNoteMoveFailed:"変換中のファイル移動に失敗しました：{error}",folderNoteRenameConflict:"「{name}」という名前のファイルが既にフォルダ内に存在します",folderNoteConversionFailed:"フォルダノートへの変換に失敗しました",folderNoteConversionFailedWithReason:"フォルダノートへの変換に失敗しました：{error}",folderNoteOpenFailed:"ファイルは変換されましたが、フォルダノートを開くのに失敗しました：{error}",failedToDeleteFile:"{name}の削除に失敗しました: {error}",failedToDeleteMultipleFiles:"{count}個のファイルの削除に失敗しました",versionHistoryNotAvailable:"バージョン履歴サービスが利用できません",drawingAlreadyExists:"この名前の図面が既に存在します",failedToCreateDrawing:"図面の作成に失敗しました",noFolderSelected:"Notebook Navigatorでフォルダが選択されていません",noFileSelected:"ファイルが選択されていません"},warnings:{linkBreakingNameCharacters:"この名前には Obsidian のリンクを壊す文字が含まれています: #, |, ^, %%, [[, ]].",forbiddenNameCharactersAllPlatforms:"名前は . で始められず、: または / を含められません。",forbiddenNameCharactersWindows:'Windows で予約されている文字は使用できません: <, >, ", \\, |, ?, *.'},notices:{hideFolder:"フォルダを非表示: {name}",showFolder:"フォルダを表示: {name}",mergeNotes:"{count} 個のノートを {name} に結合しました"},notifications:{deletedMultipleFiles:"{count}個のファイルを削除しました",movedMultipleFiles:"{count}個のファイルを{folder}に移動しました",folderNoteConversionSuccess:"「{name}」内のフォルダノートにファイルを変換しました",folderMoved:"フォルダ「{name}」を移動しました",deepLinkCopied:"Obsidian URL をクリップボードにコピーしました",pathCopied:"パスをクリップボードにコピーしました",relativePathCopied:"相対パスをクリップボードにコピーしました",tagAddedToNote:"1個のノートにタグを追加しました",tagAddedToNotes:"{count}個のノートにタグを追加しました",tagRemovedFromNote:"1個のノートからタグを削除しました",tagRemovedFromNotes:"{count}個のノートからタグを削除しました",tagsClearedFromNote:"1個のノートからすべてのタグをクリアしました",tagsClearedFromNotes:"{count}個のノートからすべてのタグをクリアしました",noTagsToRemove:"削除するタグがありません",noFilesSelected:"ファイルが選択されていません",mergeNotesRequireMultipleMarkdown:"結合するには少なくとも2つのMarkdownノートを選択してください",tagOperationsNotAvailable:"タグ操作は利用できません",propertyOperationsNotAvailable:"プロパティ操作は利用できません",tagsRequireMarkdown:"タグはMarkdownノートでのみサポートされています",propertiesRequireMarkdown:"プロパティはMarkdownノートでのみサポートされています",propertySetOnNote:"1件のノートでプロパティを更新しました",propertySetOnNotes:"{count}件のノートでプロパティを更新しました",manualSortPropertyRemovedFromNote:"1件のノートから並べ替えプロパティを削除しました",manualSortPropertyRemovedFromNotes:"{count}件のノートから並べ替えプロパティを削除しました",iconPackDownloaded:"「{provider}」をダウンロードしました",iconPackUpdated:"「{provider}」を更新しました ({version})",iconPackRemoved:"「{provider}」を削除しました",iconPackLoadFailed:"「{provider}」を読み込めませんでした",hiddenFileReveal:"ファイルは非表示です。表示するには「非表示項目を表示」を有効にしてください"},confirmations:{deleteMultipleFiles:"本当に{count}個のファイルを削除しますか？",deleteConfirmation:"この操作は元に戻せません。"},defaultNames:{untitled:"無題"}},dragDrop:{errors:{cannotMoveIntoSelf:"フォルダを自分自身またはそのサブフォルダに移動することはできません。",itemAlreadyExists:'この場所に "{name}" という名前のアイテムがすでに存在します。',failedToMove:"移動に失敗しました：{error}",failedToAddTag:'タグ "{tag}" の追加に失敗しました',failedToSetProperty:"プロパティの更新に失敗しました: {error}",failedToClearTags:"タグのクリアに失敗しました",failedToMoveFolder:"フォルダ「{name}」の移動に失敗しました",failedToImportFiles:"インポートに失敗しました: {names}"},notifications:{filesAlreadyExist:"{count}個のファイルが移動先に既に存在します",filesAlreadyHaveTag:"{count}個のファイルには既にこのタグまたはより具体的なタグがあります",filesAlreadyHaveProperty:"{count}個のファイルにはすでにこのプロパティがあります",noTagsToClear:"クリアするタグがありません",fileImported:"1個のファイルをインポートしました",filesImported:"{count}個のファイルをインポートしました"}},dateGroups:{today:"今日",yesterday:"昨日",previous7Days:"過去7日間",previous30Days:"過去30日間"},commands:{open:"開く",toggleLeftSidebar:"左サイドバーの切り替え",openHomepage:"ホームページを開く",openDailyNote:"デイリーノートを開く",openWeeklyNote:"ウィークリーノートを開く",openMonthlyNote:"マンスリーノートを開く",openQuarterlyNote:"四半期ノートを開く",openYearlyNote:"年間ノートを開く",revealFile:"ファイルを表示",search:"検索",searchVaultRoot:"保管庫のルートで検索",toggleDualPane:"デュアルペインレイアウトを切り替え",toggleDualPaneOrientation:"デュアルペインの向きを切り替え",toggleCalendar:"カレンダーの切り替え",selectVaultProfile:"保管庫のプロファイルを変更",selectVaultProfile1:"保管庫プロファイル1を選択",selectVaultProfile2:"保管庫プロファイル2を選択",selectVaultProfile3:"保管庫プロファイル3を選択",deleteFile:"ファイルを削除",createNewNote:"新規ノートを作成",createNewNoteFromTemplate:"テンプレートから新規ノート",moveFiles:"ファイルを移動",mergeNotes:"ノートを結合",selectNextFile:"次のファイルを選択",selectPreviousFile:"前のファイルを選択",navigateBack:"前に戻る",navigateForward:"次に進む",convertToFolderNote:"フォルダノートに変換",setAsFolderNote:"フォルダノートとして設定",detachFolderNote:"フォルダノートを解除",pinAllFolderNotes:"フォルダノートをすべてピン留め",navigateToFolder:"フォルダにナビゲート",navigateToTag:"タグにナビゲート",navigateToProperty:"プロパティに移動",addShortcut:"ショートカットに追加",openShortcut:"ショートカット {number} を開く",toggleDescendants:"子孫切り替え",toggleHidden:"非表示のフォルダ・タグ・ノートを切り替え",toggleTagSort:"タグの並び順を切り替え",toggleTagsBySelection:"選択範囲でタグを切り替え",togglePropertiesBySelection:"選択範囲でプロパティを切り替え",toggleCompactMode:"コンパクトモードの切り替え",togglePinnedSection:"ピン留めセクションの切り替え",collapseExpand:"すべての項目を折りたたむ/展開",collapseExpandSelectedItem:"選択した項目を折りたたむ/展開",addTag:"選択したファイルにタグを追加",setProperty:"選択したファイルにプロパティを設定",removeTag:"選択したファイルからタグを削除",removeAllTags:"選択したファイルからすべてのタグを削除",openAllFiles:"すべてのファイルを開く",rebuildCache:"キャッシュを再構築"},plugin:{viewName:"ノートブックナビゲーター",calendarViewName:"カレンダー",folderNoteSidebarViewName:"フォルダノート",ribbonTooltip:"ノートブックナビゲーター",revealInNavigator:"ノートブックナビゲーターで表示"},tooltips:{lastModifiedAt:"最終更新",createdAt:"作成日時",file:"ファイル",files:"ファイル",folder:"フォルダ",folders:"フォルダ",wordCount:"単語数"},fileCounts:{words:"{count} 語",characters:"{count} 文字",separator:" · "},settings:{changeDefaultSettings:"デフォルト設定を変更",metadataReport:{exportSuccess:"失敗したメタデータレポートをエクスポートしました: {filename}",exportFailed:"メタデータレポートのエクスポートに失敗しました"},sections:{general:"一般設定",vaultFilters:"表示フィルター",appearanceBehavior:"外観と動作",navigationPane:"ナビゲーションペイン",calendar:"カレンダー",fileOperations:"ファイル操作",icons:"アイコンパック",folders:"フォルダノート",folderNotes:"フォルダノート",folderNoteFiles:"フォルダノートファイル",foldersAndFolderNotes:"フォルダとフォルダノート",tagsAndProperties:"タグとプロパティ",tags:"タグ表示",listPane:"リストペイン",notes:"ファイル表示",shortcutsAndRecentFiles:"ショートカットと最近のファイル",advanced:"詳細設定"},pageGroups:{configuration:"設定",navigationAndContent:"ナビゲーションペイン",notesAndLists:"リストペイン",calendarAndTools:"カレンダーとツール"},pageDescriptions:{general:"リリースノート、サポート、保管庫プロファイル、ファイルタイプ、プロパティキー。",vaultFilters:"非表示のフォルダ、タグ、ファイル、ファイルタグ、プロパティルール。",appearanceBehavior:"動作、キーボード操作、マウスボタン、外観、書式。",navigationPane:"レイアウト、外観、ノート数、折りたたみ動作、レインボーカラー。",shortcuts:"ショートカットの表示、バッジ、最近のファイル、ピン留めされた項目。",calendar:"カレンダー表示、日付ノート、テンプレート、ロケール、サイドバーの配置。",fileOperations:"テンプレート、削除確認、添付ファイル、ファイル移動時の競合動作。",foldersAndFolderNotes:"フォルダ表示、フォルダノート、フォルダノートのテンプレート、フォルダノートの動作。",tagsProperties:"タグとプロパティのセクション、アイコン、並べ替え、スコープ、継承。",listPane:"並べ替え、グループ化、リストモード、ピン留めされたノート、描画プレビュー。",frontmatter:"表示名、タイムスタンプ、アイコン、色のフロントマターフィールド。",notes:"タイトル、プレビューテキスト、アイキャッチ画像、タグ、プロパティ、日付、単語数、文字数。",iconPacks:"インターフェースアイコン、ファイルアイコン、アイコンパック管理。",advanced:"診断、メタデータのクリーンアップ、インポート/エクスポート、リセット。"},groups:{general:{vaultConfiguration:"保管庫のセットアップ",templates:"テンプレート",behavior:"動作",keyboardNavigation:"キーボード操作",mouseButtons:"マウスボタン",view:"外観",icons:"アイコン",desktopAppearance:"デスクトップの外観",mobileAppearance:"モバイルの外観",formatting:"書式"},advanced:{maintenance:"メンテナンス",resetSettings:"設定をリセット"},navigation:{appearance:"外観",banner:"バナー",collapseItems:"項目を折りたたむ",dragAndDrop:"ドラッグ＆ドロップ",noteCounts:"ノート数",rainbowColors:"レインボーカラー",leftSidebar:"左サイドバー",calendarIntegration:"カレンダー連携"},list:{display:"外観",groupHeaders:"グループヘッダー",propertySort:"プロパティで並べ替え",manualSort:"手動並べ替え",pinnedNotes:"ピン留めされたノート",drawingPreviews:"描画プレビュー"},notes:{frontmatter:"フロントマターフィールド",tasks:"タスク",icon:"アイコン",title:"タイトル",previewText:"プレビューテキスト",featureImage:"アイキャッチ画像",tags:"タグ",properties:"プロパティ",date:"日付",parentFolder:"親フォルダ",wordCount:"単語数と文字数"}},syncMode:{notSynced:"（未同期）",switchToSynced:"同期を有効化",switchToLocal:"同期を無効化"},items:{listPaneTitle:{name:"リストペインのタイトル",desc:"リストペインのタイトルを表示する場所を選択します。",options:{header:"ヘッダーに表示",list:"リストペインに表示",hidden:"表示しない"}},sortNotesBy:{name:"デフォルトの並び順",desc:"ノートのデフォルトの並び順を選択します。",options:{"modified-desc":"編集日時（新しいものが上）","modified-asc":"編集日時（古いものが上）","created-desc":"作成日時（新しいものが上）","created-asc":"作成日時（古いものが上）","title-asc":"タイトル（昇順）","title-desc":"タイトル（降順）","filename-asc":"ファイル名（昇順）","filename-desc":"ファイル名（降順）"},directions:{asc:"昇順",desc:"降順"},fields:{modified:"更新日時",created:"作成日時",title:"タイトル",filename:"ファイル名",property:"プロパティ"}},propertySortKey:{name:"ソートに使うプロパティ",desc:"プロパティソートオプションとして表示されるカンマ区切りのfrontmatterプロパティ。配列値は1つの文字列に結合されます。これらのプロパティは変更されません。",placeholder:"published, author"},propertySortSecondary:{name:"二次ソート",desc:"プロパティソート使用時、同じプロパティ値またはプロパティ値がないノートに適用されます。",options:{title:"タイトル",filename:"ファイル名",created:"作成日",modified:"編集日"}},propertySortInstructions:{intro:"上記の各プロパティは、リストペインの並べ替えメニューに並べ替えオプションとして表示されます。選択すると、そのフロントマターの値でノートが並べ替えられます。"},manualSortPropertyKey:{name:"手動並べ替え用プロパティ",desc:"手動並べ替えの数値インデックス値を保存するために使用される frontmatter プロパティ。"},manualSortGroupHeaderProperty:{name:"グループヘッダープロパティ",desc:"カスタムグループヘッダーを保存するために使用される frontmatter プロパティ。"},groupHeadersInstructions:{intro:"カスタムグループヘッダーは、リストペインでノートの上に表示されます。",items:["リストペインの並べ替えメニューから、グループ化を **カスタム** に設定します。","ノートを右クリックして **グループヘッダーを設定** を選ぶと、その上にヘッダーを追加できます。"]},manualSortNewNotePlacement:{name:"新規ノートの配置",desc:"現在のリストが手動並べ替えを使用しているときに、新規ノートを配置する場所を選択します。",options:{top:"先頭",bottom:"末尾","below-selected-note":"選択ノートの下",unsorted:"未ソート"}},confirmBeforeManualSort:{name:"手動並べ替えの前に確認",desc:"手動並べ替えプロパティを初めてノートに書き込む前に警告を表示します。無効にすると、ノートは警告なしでプロパティを受け取ります。"},manualSortInstructions:{intro:"手動並べ替えは、各ノートの frontmatter プロパティに数値インデックス値を書き込みます。インデックスのないノートは「未ソート」の下に表示されます。",items:["ソートメニューから **手動並べ替え** を選択して手動並べ替えを有効にします。その後、ノートを並べ替える方法は 2 つあります。","ソートメニューから **並べ替え順を編集...** を選んで並べ替えビューを開きます。マウスでドラッグするか、モバイルではタッチでドラッグします。デスクトップでは、**Cmd/Ctrl** または **Shift** クリックで複数のノートを選択し、いずれかをドラッグするとグループ全体が移動します。","リストペインで 1 つのノートを選択するか複数選択し、**Cmd/Ctrl + Arrow Up/Down** を押すと選択範囲を上下に移動できます。"]},revealFileOnListChanges:{name:"リスト変更時に選択ファイルへスクロール",desc:"ノートのピン留め、子孫ノートの表示、フォルダ外観の変更、ファイル操作の実行時に選択したファイルへスクロールします。"},includeDescendantNotes:{name:"サブフォルダ / 子孫のノートを表示",desc:"フォルダ、タグ、またはプロパティを表示するとき、入れ子のサブフォルダとタグおよびプロパティの子孫にあるノートを含めます。"},limitPinnedToCurrentFolder:{name:"ノートを自身のフォルダーでのみ固定",desc:"固定したノートは自身のフォルダーでのみ固定済みとして表示されます。フォルダーノートや固定ノートが多い場合に便利です。タグやプロパティビューには影響しません。"},separateNoteCounts:{name:"現在と子孫のノート数を個別に表示",desc:"フォルダ、タグ、プロパティのノート数を「現在 ▾ 子孫」形式で表示します。"},groupNotes:{name:"デフォルトのグループ化",desc:"カスタムは frontmatter で定義されたヘッダーを表示します。日付はノートを日付でグループ化します。フォルダはノートをフォルダでグループ化します。タグとプロパティビューでは、フォルダが選択されている場合は日付グループが使用されます。",options:{custom:"カスタム",date:"日付",folder:"フォルダ"}},showSelectedNavigationPills:{name:"タグとプロパティのピルを常に表示",desc:"無効の場合、現在のナビゲーション選択に一致するピルは非表示になります（例：「レシピ」タグを閲覧中は「レシピ」タグのピルが非表示になります）。有効にすると、すべてのピルが常に表示されます。"},stickyGroupHeaders:{name:"グループヘッダーを固定",desc:"スクロール中も現在の日付・フォルダ・ピン留めセクションのヘッダーを表示し続けます。"},showFolderGroupPaths:{name:"サブフォルダーのパスを表示",desc:"リストペインでフォルダー別にグループ化する場合、フォルダー名だけでなくサブフォルダーのパスを表示します。"},showCurrentFolderFilesAtBottom:{name:"フォルダーグループ化: 現在のフォルダーのファイルを下部に表示",desc:"デフォルトのグループ化がフォルダーの場合、選択したフォルダー直下のファイルをサブフォルダーグループの下に移動します。"},defaultListMode:{name:"リストのデフォルトモード",desc:"既定のリストレイアウトを選択します。標準はタイトル、日付、説明、プレビューテキストを表示します。コンパクトはタイトルのみを表示します。外観はフォルダごとに上書きできます。",options:{standard:"標準",compact:"コンパクト"}},showFileIcons:{name:"ファイルアイコンを表示",desc:"ファイルアイコンを左寄せ間隔で表示。無効化するとアイコンとインデントの両方が削除されます。優先順位: 未完了タスクアイコン > カスタムアイコン > フォルダアイコン > ファイル名アイコン > ファイルタイプアイコン > デフォルトアイコン。"},useFolderIcon:{name:"フォルダアイコンを使用",desc:"カスタムファイルアイコンが設定されていない場合に親フォルダのアイコンを表示します。カスタムファイル色が設定されていない場合はフォルダの色が使用されます。"},showFileIconUnfinishedTask:{name:"未完了タスクアイコン",desc:"ノートに未完了のタスクがある場合にタスクアイコンを表示します。"},showFileBackgroundUnfinishedTask:{name:"未完了タスク背景",desc:"ノートに未完了のタスクがある場合に背景色を適用します。"},unfinishedTaskBackgroundColor:{name:"未完了タスクの背景色",desc:"ノートに未完了のタスクがある場合に使用する背景色を設定します。"},showFilenameMatchIcons:{name:"ファイル名でアイコン設定",desc:"ファイル名のテキストに基づいてアイコンを割り当てます。"},fileNameIconMap:{name:"ファイル名アイコンマップ",desc:"テキストを含むファイルに指定したアイコンが適用されます。1行に1つのマッピング: テキスト=アイコン",placeholder:`# テキスト=アイコン
会議=ph-calendar
請求書=ph-receipt`,editTooltip:"マッピングを編集"},showCategoryIcons:{name:"ファイルタイプでアイコン設定",desc:"ファイルの拡張子に基づいてアイコンを割り当てます。"},fileTypeIconPreset:{name:"ファイルアイコンプリセット",desc:"内蔵アイコンまたはアイコンパックのプリセットを選択します。カスタム拡張子ルールはこのプリセットを上書きします。",options:{none:"内蔵アイコン"},notInstalledWarning:"このアイコンパックはインストールされていません。代わりに内蔵アイコンが表示されます。"},fileTypeIconMap:{name:"ファイルタイプアイコンマップ",desc:"拡張子を持つファイルに指定したアイコンが適用されます。1行に1つのマッピング: 拡張子=アイコン",placeholder:`# Extension=icon
cpp=ph-file-code
pdf=ph-file-pdf`,editTooltip:"マッピングを編集"},compactItemHeight:{name:"スリム表示の項目高さ",desc:"デスクトップとモバイルのスリム表示項目の高さを設定します（ピクセル）。",resetTooltip:"デフォルトに戻す (28px)"},compactItemHeightScaleText:{name:"スリム表示の文字サイズを高さに合わせる",desc:"項目の高さを下げたときにスリム表示の文字サイズを調整します。"},showParentFolder:{name:"親フォルダを表示",desc:"サブフォルダ、タグ、またはプロパティ内のノートに親フォルダ名を表示します。"},showParentFolderFullPath:{name:"フルパスを表示",desc:"フォルダ名のみではなく親フォルダのフルパスを表示します。"},parentFolderClickRevealsFile:{name:"親フォルダクリックでフォルダを開く",desc:"親フォルダラベルをクリックするとリストペインでフォルダを開きます。"},showParentFolderColor:{name:"親フォルダの色を表示",desc:"親フォルダラベルにフォルダの色を使用します。"},showParentFolderIcon:{name:"親フォルダのアイコンを表示",desc:"親フォルダラベルの横にフォルダアイコンを表示します。"},showQuickActions:{name:"クイックアクションを表示",desc:"ファイルにホバーしたときにアクションボタンを表示します。ボタンコントロールで表示するアクションを選択します。"},dualPane:{name:"デュアルペインレイアウト",desc:"デスクトップでナビゲーションペインとリストペインを並べて表示します。"},dualPaneOrientation:{name:"デュアルペインの向き",desc:"デュアルペイン使用時の水平または垂直レイアウトを選択します。",options:{horizontal:"水平分割",vertical:"垂直分割"}},narrowSidebarLayout:{name:"サイドバーが狭すぎる場合",desc:"ナビゲーションペインとリストペインを横に並べられない場合の動作を選択します。",options:{none:"何もしない",singlePane:"シングルペインに切り替え",vertical:"縦分割に切り替え"}},narrowSidebarTrigger:{name:"狭いサイドバーのしきい値",desc:"サイドバー幅のしきい値の計算方法を選択します。",options:{fitPanes:"ペインに合わせる",customWidth:"カスタム幅"}},narrowSidebarCustomWidth:{name:"狭いサイドバーのしきい値幅",desc:"サイドバーがこの幅より狭い場合に切り替えます。",resetTooltip:"既定の幅に戻す"},appearanceBackground:{name:"背景色",desc:"ナビゲーションペインとリストペインの背景色を選択します。",options:{separate:"背景を分ける",primary:"リストの背景を使用",secondary:"ナビゲーションの背景を使用"}},appearanceScale:{name:"ズームレベル",desc:"Notebook Navigator 全体のズームレベルを制御します（パーセント）。"},useFloatingToolbars:{name:"iOS/iPadOSでフローティングツールバーを使用",desc:"iOSおよびiPadOSでのみ適用されます。"},startView:{name:"デフォルト起動ビュー",desc:"Notebook Navigator を開いたときに表示するペインを選択します。ナビゲーションペインはショートカット、最近のファイル、フォルダ構造を表示します。リストペインはファイル一覧を表示します。",options:{navigation:"ナビゲーションペイン",files:"リストペイン"}},toolbarButtons:{name:"ツールバーボタン",desc:"ツールバーに表示するボタンを選択します。非表示のボタンはコマンドとメニューから引き続き利用できます。",navigationLabel:"ナビゲーションツールバー",listLabel:"リストツールバー"},createNewNotesInNewTab:{name:"新しいノートを新しいタブで開く",desc:"有効にすると、「新しいノートを作成」コマンドでノートが新しいタブに開きます。無効にすると、ノートは現在のタブに置き換わります。"},autoRevealActiveNote:{name:"アクティブなノートを自動表示",desc:"クイックスイッチャー、リンク、検索から開いたときに自動的にノートを表示します。"},autoRevealShortestPath:{name:"自動表示: 最短パスを使用",desc:"有効: 自動表示は最も近い表示中の親フォルダまたはタグを選択します。無効: 自動表示はファイルの実際のフォルダと正確なタグを選択します。"},autoRevealIgnoreRightSidebar:{name:"自動表示: 右サイドバーのイベントを無視",desc:"右サイドバーでのクリックやノートの変更時にアクティブノートを変更しません。"},autoRevealIgnoreOtherWindows:{name:"自動表示: 他のウィンドウのイベントを無視",desc:"別のウィンドウでノートを操作しているときにアクティブノートを変更しません。"},paneTransitionDuration:{name:"シングルペインアニメーション",desc:"シングルペインモードでペイン切り替え時のトランジション時間（ミリ秒）。",resetTooltip:"デフォルトにリセット"},autoSelectFirstFileOnFocusChange:{name:"最初のノートを自動選択",desc:"フォルダ、タグ、またはプロパティを切り替えた際に自動的に最初のノートを開きます。"},skipAutoScroll:{name:"ショートカットの自動スクロールを無効化",desc:"ショートカット内のアイテムをクリックしてもナビゲーションパネルをスクロールしない。"},autoExpandNavItems:{name:"選択時に展開",desc:"選択時にフォルダとタグを展開します。シングルペインモードでは、最初の選択で展開、2回目の選択でファイルを表示します。"},collapseOtherBranchesOnExpand:{name:"展開するブランチを1つにする",desc:"フォルダ、タグ、またはプロパティを展開するとき、同じツリー内の他のブランチを折りたたみます。"},springLoadedFolders:{name:"ドラッグ時に展開",desc:"ドラッグ操作中にホバーするとフォルダとタグを展開します。"},springLoadedFoldersInitialDelay:{name:"ドラッグ時に展開: 最初の展開遅延",desc:"ドラッグ操作中に最初のフォルダまたはタグを展開するまでの遅延（秒）。"},springLoadedFoldersSubsequentDelay:{name:"ドラッグ時に展開: 次の展開遅延",desc:"同じドラッグ操作中に追加のフォルダまたはタグを展開するまでの遅延（秒）。"},navigationBanner:{name:"ナビゲーションバナー（保管庫プロファイル）",desc:"ナビゲーションペイン上部に画像を表示します。選択された保管庫プロファイルに応じて変更されます。",current:"現在のバナー: {path}",chooseButton:"画像を選択"},pinNavigationBanner:{name:"バナーを固定",desc:"ナビゲーションバナーをナビゲーションツリーの上に固定します。"},showShortcuts:{name:"ショートカットを表示",desc:"ナビゲーションペインにショートカットセクションを表示します。"},shortcutBadgeDisplay:{name:"ショートカットバッジ",desc:"ショートカットの横に表示する内容。「ショートカット1-9を開く」コマンドでショートカットを直接開けます。",options:{index:"位置 (1-9)",count:"アイテム数",none:"なし"}},showRecentNotes:{name:"最近のファイルを表示",desc:"ナビゲーションペインに最近のファイルセクションを表示します。"},hideRecentNotes:{name:"最近のファイルからファイルの種類を非表示",desc:"最近のファイルセクションで非表示にするファイルの種類を選択します。",options:{none:"なし",folderNotes:"フォルダノート"}},recentNotesCount:{name:"最近のファイル数",desc:"表示する最近のファイルの数。"},pinRecentNotesWithShortcuts:{name:"最近のファイルをショートカットと一緒に固定",desc:"ショートカットを固定するときに最近のファイルを含める。"},calendarEnabled:{name:"カレンダーを有効化",desc:"Notebook Navigatorのカレンダー機能を有効にします。"},calendarPlacement:{name:"カレンダーの配置",desc:"左または右サイドバーに表示します。",options:{leftSidebar:"左サイドバー",rightSidebar:"右サイドバー"}},calendarLeftPlacement:{name:"シングルペイン配置",desc:"シングルペインモードでのカレンダー表示位置。",options:{navigationPane:"ナビゲーションペイン",below:"ペインの下"}},calendarLocale:{name:"ロケール",desc:"カレンダーの日付形式、週番号、週の開始曜日を制御します。",weekPathMismatchWarning:"表示されるカレンダーとウィークリーノートのパスで、週の開始曜日または週番号が異なります。",options:{systemDefault:"デフォルト"}},calendarWeekendDays:{name:"週末",desc:"週末を異なる背景色で表示します。",options:{none:"なし",satSun:"土曜日と日曜日",friSat:"金曜日と土曜日",thuFri:"木曜日と金曜日"}},calendarMonthHeadingFormat:{name:"月名の形式",desc:"月名を長い形式 (1月) または短い形式 (1月) で表示します。",options:{full:"1月 (完全)",short:"1月 (短縮)"}},showInfoButtons:{name:"情報ボタンを表示",desc:"検索バーとカレンダーヘッダーに情報ボタンを表示します。"},calendarWeeksToShow:{name:"左サイドバーの表示週数",desc:"右サイドバーのカレンダーは常に月全体を表示します。",options:{fullMonth:"月全体",oneWeek:"1週間",weeksCount:"{count}週間"}},calendarHighlightToday:{name:"今日の日付を強調表示",desc:"今日の日付を背景色と太字で強調表示します。"},calendarShowFeatureImage:{name:"アイキャッチ画像を表示",desc:"カレンダーでノートのアイキャッチ画像を表示します。"},calendarShowWeekNumber:{name:"週番号を表示",desc:"週番号の列を追加します。"},calendarShowQuarter:{name:"四半期を表示",desc:"カレンダーヘッダーに四半期ラベルを追加します。"},calendarShowYearCalendar:{name:"年間カレンダーを表示",desc:"右サイドバーに年ナビゲーションと月グリッドを表示します。"},calendarConfirmBeforeCreate:{name:"作成前に確認",desc:"新しいデイリーノートを作成する際に確認ダイアログを表示します。"},calendarIntegrationMode:{name:"デイリーノートのソース",desc:"カレンダーノートのソース。",options:{dailyNotes:"デイリーノート（コアプラグイン）",notebookNavigator:"Notebook Navigator"},info:{dailyNotes:"フォルダと日付形式はデイリーノートコアプラグインで設定されています。"}},calendarPeriodicNotesLocale:{name:"定期ノートのロケール",desc:"Notebook Navigator の定期ノートのパスでローカライズされた月名、曜日名、週番号、週の開始曜日を制御します。",options:{calendar:"カレンダー",obsidian:"Obsidian"}},calendarCustomRootFolder:{name:"ルートフォルダ",desc:"定期ノートの基本フォルダ。日付パターンにはサブフォルダを含めることができます。選択されたボールトプロファイルで変更されます。",placeholder:"Personal/Diary"},calendarTemplateFolder:{name:"テンプレートフォルダの場所",desc:"テンプレートファイルピッカーはこのフォルダからノートを表示します。",placeholder:"Templates",usage:"カレンダーノートとフォルダノートで使用されます。テンプレートは カレンダー > カレンダー連携 と フォルダとフォルダノート > フォルダノートファイル で設定します。"},calendarCustomFilePattern:{name:"デイリーノート",desc:"Moment 日付フォーマットを使用してパスを指定。サブフォルダ名は角括弧で囲みます（例：[Work]/YYYY）。テンプレートアイコンをクリックしてテンプレートを設定。 テンプレートフォルダの場所はファイル操作 > テンプレートで設定してください。",momentDescPrefix:"",momentLinkText:"Moment 日付フォーマット",momentDescSuffix:"を使用してパスを指定。サブフォルダ名は角括弧で囲みます（例：[Work]/YYYY）。テンプレートアイコンをクリックしてテンプレートを設定。 テンプレートフォルダの場所はファイル操作 > テンプレートで設定してください。",templaterSupportInstalled:"✅ Templater プラグインがインストールされており、テンプレートの完全サポートが利用できます。",templaterSupportMissing:"⚠️ テンプレートの完全サポートを利用するには、Templater プラグインをインストールしてください。",placeholder:"YYYY/YYYYMMDD",example:"現在の構文: {path}",parsingError:"パターンは完全な日付（年、月、日）としてフォーマットされ、再度パースできる必要があります。"},calendarCustomWeekPattern:{name:"ウィークリーノート",parsingError:"パターンは完全な週（週年、週番号）としてフォーマットされ、再度パースできる必要があります。",weekPathMismatchWarning:'ウィークリーノートのパスは定期ノートのロケールを使用します。一致するロケールを使用するか、月曜日から始まる週には "GGGG" と "WW" を使用してください。',mixedWeekTokensWarning:'このパターンは月曜日基準の週トークン（"W" または "G"）とロケール基準の週トークン（"w" または "g"）を混在させています。一貫して 1 つのセットを使用してください。月曜日から始まる週には "GGGG" と "WW"、ウィークリーノートが選択したロケールに従う場合は "gggg" と "ww" を使用してください。'},calendarCustomMonthPattern:{name:"マンスリーノート",parsingError:"パターンは完全な月（年、月）としてフォーマットされ、再度パースできる必要があります。"},calendarCustomQuarterPattern:{name:"四半期ノート",parsingError:"パターンは完全な四半期（年、四半期）としてフォーマットされ、再度パースできる必要があります。"},calendarCustomYearPattern:{name:"年次ノート",parsingError:"パターンは完全な年（年）としてフォーマットされ、再度パースできる必要があります。"},calendarTemplateFile:{current:"テンプレートファイル: {name}"},showTooltips:{name:"ツールチップを表示",desc:"ノートとフォルダの追加情報をホバー時にツールチップで表示します。"},showTooltipPath:{name:"ツールチップにパスを表示",desc:"ツールチップでノート名の下にフォルダパスを表示します。"},showTooltipWordCount:{name:"ツールチップに単語数を表示",desc:"ツールチップにノートの単語数を表示します。"},resetPaneSeparator:{name:"ペインセパレーターの位置をリセット",desc:"ナビゲーションペインとリストペーンの間のドラッグ可能なセパレーターをデフォルトの位置にリセットします。",buttonText:"セパレーターをリセット",notice:"セパレーターの位置がリセットされました。Obsidianを再起動するか、Notebook Navigatorを開き直して適用してください。"},settingsTransfer:{name:"設定のインポートとエクスポート",desc:"Notebook Navigatorの設定をJSONとしてエクスポートまたはインポートします。インポートするとすべての設定が置き換えられます。",importButtonText:"インポート",exportButtonText:"エクスポート",import:{modalTitle:"設定をインポート",fileButtonName:"ファイルからインポート",fileButtonDesc:"ディスクからJSONファイルを読み込みます。",fileButtonText:"ファイルからインポート",editorName:"JSON",editorDesc:"下にJSONを貼り付けまたは編集してください。含まれていない設定はデフォルトにリセットされます。",placeholder:`{
  "folderSortOrder": "alpha-desc"
}`,confirmButtonText:"インポート",successNotice:"設定がインポートされました。",errorNotice:"設定のインポートに失敗しました: {message}",fileReadError:"ファイルを読み込めませんでした: {message}"},export:{modalTitle:"設定をエクスポート",editorName:"JSON",editorDesc:"デフォルトから変更された設定のみが含まれます。",placeholder:"{}",copyButtonText:"クリップボードにコピー",downloadButtonText:"ダウンロード",copyNotice:"設定がクリップボードにコピーされました。",downloadNotice:"設定がエクスポートされました。",downloadError:"設定のダウンロードに失敗しました: {message}"}},resetAllSettings:{name:"すべての設定をリセット",desc:"Notebook Navigatorのすべての設定をデフォルト値にリセットします。",buttonText:"すべての設定をリセット",confirmTitle:"すべての設定をリセットしますか？",confirmMessage:"Notebook Navigatorのすべての設定がデフォルト値にリセットされます。元に戻せません。",confirmButtonText:"すべての設定をリセット",notice:"すべての設定がリセットされました。Obsidianを再起動するか、Notebook Navigatorを開き直して適用してください。",error:"設定のリセットに失敗しました。"},multiSelectModifier:{name:"複数選択モディファイア",desc:"複数選択を切り替えるモディファイアキーを選択します。Option/Altが選択されている場合、Cmd/Ctrlクリックでノートを新しいタブで開きます。",options:{cmdCtrl:"Cmd/Ctrl クリック",optionAlt:"Option/Alt クリック"}},enterToOpenFiles:{name:"Enterキーでファイルを開く",desc:"リストのキーボード操作中にEnterキーを押したときのみファイルを開きます。macOSでは、Enterキーでファイル名が変更されないようにします。"},shiftEnterOpenContext:{name:"Shift+Enter",desc:"Shift+Enterで選択したファイルを開くか名前を変更するかを選択します。"},cmdEnterOpenContext:{name:"Cmd+Enter",desc:"Cmd+Enterで選択したファイルを開くか名前を変更するかを選択します。"},ctrlEnterOpenContext:{name:"Ctrl+Enter",desc:"Ctrl+Enterで選択したファイルを開くか名前を変更するかを選択します。"},mouseBackForwardAction:{name:"マウスの戻る/進むボタン",desc:"デスクトップでのマウスの戻る/進むボタンの動作。",options:{none:"システムのデフォルトを使用",singlePaneSwitch:"ペイン切り替え（シングルペイン）",history:"履歴をナビゲート"}},excludedNotes:{name:"プロパティルールでノートを非表示 (ボルトプロファイル)",desc:"カンマ区切りのフロントマタールールのリスト。`key` または `key=value` エントリを使用します（例：status=done, published=true, archived）。",placeholder:"status=done, published=true, archived"},excludedFileNamePatterns:{name:"ファイルを非表示 (ボルトプロファイル)",desc:"非表示にするファイル名パターンのカンマ区切りリスト。* ワイルドカードと / パスをサポート（例：temp-*、*.png、/assets/*）。",placeholder:"temp-*, *.png, /assets/*"},vaultProfiles:{name:"保管庫プロファイル",desc:"プロファイルは、ファイルタイプの表示、非表示ファイル、非表示フォルダ、非表示タグ、非表示ノート用のプロパティルール、ショートカット、ナビゲーションバナーを保存します。ナビゲーションペインのヘッダーからプロファイルを切り替えます。",defaultName:"デフォルト",addButton:"プロファイルを追加",editProfilesButton:"プロファイルを編集",addProfileOption:"プロファイルを追加...",applyButton:"適用",deleteButton:"プロファイルを削除",addModalTitle:"プロファイルを追加",editProfilesModalTitle:"プロファイルを編集",addModalPlaceholder:"プロファイル名",deleteModalTitle:"{name}を削除",deleteModalMessage:"{name}を削除しますか？このプロファイルに保存されている非表示ファイル、フォルダ、タグ、プロパティベースのノートフィルタが削除されます。",moveUp:"上に移動",moveDown:"下に移動",errors:{emptyName:"プロファイル名を入力してください",duplicateName:"プロファイル名は既に存在します"}},vaultTitle:{name:"ボルトタイトルの配置",desc:"ボルトタイトルの表示場所を選択します。",options:{header:"ヘッダーに表示",navigation:"ナビゲーションペインに表示"}},excludedFolders:{name:"フォルダを非表示 (ボルトプロファイル)",desc:"非表示にするフォルダのカンマ区切りリスト。名前パターン: assets*（assetsで始まるフォルダ）、*_temp（_tempで終わる）。パスパターン: /archive（ルートのアーカイブのみ）、/res*（resで始まるルートフォルダ）、/*/temp（1階層下のtempフォルダ）、/projects/*（projects内のすべてのフォルダ）。",placeholder:"templates, assets*, /archive, /res*"},fileVisibility:{name:"ファイルタイプを表示 (ボルトプロファイル)",desc:"ナビゲーターに表示されるファイルタイプをフィルタリングします。Obsidianでサポートされていないファイルタイプは、外部アプリケーションで開かれる場合があります。",options:{documents:"ドキュメント (.md, .canvas, .base)",supported:"サポート (Obsidianで開く)",all:"すべて (外部で開く場合あり)"}},homepage:{name:"ホームページ",desc:"起動時に自動で開く対象を選択します。",current:"現在: {path}",chooseButton:"ファイルを選択",options:{none:"なし",file:"ファイル",dailyNote:"デイリーノート",weeklyNote:"ウィークリーノート",monthlyNote:"マンスリーノート",quarterlyNote:"クォータリーノート",yearlyNote:"イヤリーノート"},file:{name:"ホームページ: 起動ファイル",empty:"ファイルが選択されていません"},createMissing:{name:"ホームページ: ノートが存在しない場合に作成",desc:"起動時またはコマンド実行時に、定期ノートが存在しなければ作成します。"}},showFileDate:{name:"日付を表示",desc:"ノート名の下に日付を表示します。"},alphabeticalDateMode:{name:"名前でソート時",desc:"ノートが名前でソートされている場合に表示する日付。",options:{created:"作成日",modified:"更新日"}},showFileTags:{name:"ファイルタグを表示",desc:"ファイルアイテムにクリック可能なタグを表示します。"},showFileTagAncestors:{name:"完全なタグパスを表示",desc:"タグの完全な階層パスを表示します。有効時: 'ai/openai', 'work/projects/2024'。無効時: 'openai', '2024'。"},colorFileTags:{name:"ファイルタグに色を付ける",desc:"ファイルアイテムのタグバッジにタグの色を適用します。"},prioritizeColoredFileTags:{name:"色付きタグを先頭に配置",desc:"色付きタグを他のタグより前に並べ替えます。"},showFileTagsInCompactMode:{name:"スリムモードでファイルタグを表示",desc:"日付、プレビュー、画像が非表示のときにタグを表示します。"},showFileProperties:{name:"ファイルプロパティを表示",desc:"ファイル項目にプロパティを表示します。「プロパティキーの表示設定」ダイアログで表示するプロパティを選択してください。"},colorFileProperties:{name:"ファイルプロパティに色を付ける",desc:"ファイル項目のプロパティバッジにプロパティの色を適用します。"},prioritizeColoredFileProperties:{name:"色付きプロパティを先に表示",desc:"ファイル項目で色付きプロパティを他のプロパティより前に並べ替えます。"},showFilePropertiesInCompactMode:{name:"コンパクトモードでプロパティを表示",desc:"コンパクトモードが有効な時にプロパティを表示します。"},textCountDisplay:{name:"カウントの種類",desc:"ファイル項目に表示するノートのカウントを選択します。",options:{none:"なし",words:"単語数",characters:"文字数",both:"単語数と文字数"}},textCountPlacement:{name:"配置",desc:"ノートのカウントを表示する場所を選択します。",options:{title:"タイトル内",property:"プロパティとして"}},characterCountSpaces:{name:"文字数",desc:"文字数にスペースを含めるかを選択します。",options:{include:"スペースを含む",exclude:"スペースを除く"}},wordCountTargetProperty:{name:"目標プロパティ",desc:"目標単語数を含むフロントマターのプロパティキー。目標を非表示にするには空にします。"},showWordCountPercentage:{name:"目標パーセントを表示",desc:"目標単語数がある場合、進捗パーセントのみを表示します。"},propertyFields:{name:"プロパティキー（保管庫プロファイル）",desc:"フロントマターのプロパティキー。キーごとにナビゲーションとファイルリストの表示を設定できます。",addButtonTooltip:"プロパティキーを設定",noneConfigured:"プロパティが設定されていません",singleConfigured:"1件のプロパティが設定済み: {properties}",multipleConfigured:"{count}件のプロパティが設定済み: {properties}"},showPropertiesOnSeparateRows:{name:"プロパティを別の行に表示",desc:"各プロパティを個別の行に表示します。"},enablePropertyInternalLinks:{name:"プロパティピルをノートにリンク",desc:"プロパティピルをクリックしてリンク先のノートを開きます。"},enablePropertyExternalLinks:{name:"プロパティピルをURLにリンク",desc:"プロパティピルをクリックしてリンク先のURLを開きます。"},dateFormat:{name:"日付形式",desc:"日付表示の形式（Moment形式を使用）。",placeholder:"YYYY年M月D日",help:`一般的な形式：
YYYY年M月D日 = 2022年5月25日
YYYY-MM-DD = 2022-05-25
MM/DD/YYYY = 05/25/2022

トークン：
YYYY/YY = 年
MMMM/MMM/MM/M = 月
DD/D = 日
dddd/ddd = 曜日`,helpTooltip:"Moment形式",momentLinkText:"Moment フォーマット"},timeFormat:{name:"時刻形式",desc:"時刻を表示する形式（Moment形式を使用）。",placeholder:"HH:mm",help:`一般的な形式：
HH:mm = 14:30（24時間制）
h:mm a = 2:30 PM（12時間制）
HH:mm:ss = 14:30:45
h:mm:ss a = 2:30:45 PM

トークン：
HH/H = 24時間制
hh/h = 12時間制
mm = 分
ss = 秒
a = AM/PM`,helpTooltip:"Moment形式",momentLinkText:"Moment フォーマット"},showFilePreview:{name:"ノートプレビューを表示",desc:"ノート名の下にプレビューテキストを表示します。"},skipHeadingsInPreview:{name:"プレビューで見出しをスキップ",desc:"プレビューテキスト生成時に見出し行をスキップします。"},skipCodeBlocksInPreview:{name:"プレビューでコードブロックをスキップ",desc:"プレビューテキスト生成時にコードブロックをスキップします。"},stripHtmlInPreview:{name:"プレビューのHTMLを削除",desc:"プレビューテキストからHTMLタグを削除します。大きなノートではパフォーマンスに影響する場合があります。"},stripLatexInPreview:{name:"プレビューのLaTeXを削除",desc:"プレビューテキストからインラインおよびブロックLaTeX式を削除します。"},previewProperties:{name:"プレビュープロパティ",desc:"プレビューテキストを検索するフロントマタープロパティのカンマ区切りリスト。テキストがある最初のプロパティが使用されます。",placeholder:"summary, description, abstract"},previewPropertiesFallback:{name:"ノート内容にフォールバック",desc:"指定されたプロパティにテキストが含まれていない場合、ノート内容をプレビューとして表示します。"},previewRows:{name:"プレビュー行数",desc:"プレビューテキストの表示行数。",options:{1:"1行",2:"2行",3:"3行",4:"4行",5:"5行"}},fileNameRows:{name:"タイトル行数",desc:"ノートタイトルの表示行数。",options:{1:"1行",2:"2行",3:"3行"}},useFolderColor:{name:"フォルダの色を使用",desc:"カスタムファイル色が設定されていない場合に、ノートタイトルとファイルアイコンを親フォルダの色で表示します。優先順位: カスタムファイル色 > フォルダの色 > デフォルト色。"},showFeatureImage:{name:"アイキャッチ画像を表示",desc:"ノートで最初に見つかった画像のサムネイルを表示します。"},forceSquareFeatureImage:{name:"アイキャッチ画像を正方形に固定",desc:"アイキャッチ画像を正方形のサムネイルとして表示します。"},featureImageProperties:{name:"画像プロパティ",desc:"最初にチェックするフロントマタープロパティのカンマ区切りリスト。見つからない場合はmarkdownコンテンツの最初の画像を使用します。",placeholder:"thumbnail, featureResized, feature"},featureImageExcludeProperties:{name:"プロパティを持つノートを除外",desc:"フロントマタープロパティのカンマ区切りリスト。これらのプロパティを含むノートはフィーチャー画像を保存しません。",placeholder:"private, confidential"},featureImageSize:{name:"フィーチャー画像の表示サイズ",desc:"ノートリストでのフィーチャー画像の最大レンダリングサイズ。",options:{standard:"64 px",large:"96 px",extraLarge:"128 px"}},featureImagePixelSize:{name:"フィーチャー画像のピクセルサイズ",desc:"保存されるフィーチャー画像サムネイルの生成時に使用される解像度。大きなプレビューがぼやける場合はこの値を上げてください。",options:{standard:"256 x 144 px",large:"384 x 216 px",extraLarge:"512 x 288 px"}},downloadExternalFeatureImages:{name:"外部画像をダウンロード",desc:"リモート画像とYouTubeサムネイルをフィーチャー画像としてダウンロードします。"},hideDrawingPreviewImages:{name:"エクスポートされたプレビュー画像を非表示",desc:"エクスポートされた描画プレビューの PNG ファイルを非表示にします。表示するには「非表示の項目を表示」をオンにしてください。"},drawingIntegrationInfo:{intro:"Notebook Navigator は Excalidraw からエクスポートされた PNG ファイルを図のプレビューとして表示します。",items:["**Excalidraw 設定** で **Embedding Excalidraw into your Notes and Exporting** を開き、続いて **Export Settings**、次に **Auto-export Settings** を開きます。","**Auto-export PNG** を有効にします。必要に応じて **Export both dark- and light-themed image** も有効にできます。","Notebook Navigator は **Drawing.excalidraw.png**、**Drawing.excalidraw.dark.png**、**Drawing.excalidraw.light.png** のいずれかを探します。","**エクスポートされたプレビュー画像を非表示** が有効な間、PNG ファイルは **非表示の項目を表示** も有効な場合にのみ表示されます。"]},showRootFolder:{name:"ルートフォルダを表示",desc:"ツリーにルートフォルダ名を表示します。"},showFolderIcons:{name:"フォルダアイコンを表示",desc:"ナビゲーションペインのフォルダの横にアイコンを表示します。"},inheritFolderColors:{name:"フォルダの色を継承",desc:"サブフォルダが親フォルダから色を継承します。"},folderSortOrder:{name:"フォルダの並び順",desc:"フォルダを右クリックして、その子要素の並び順を個別に設定できます。",options:{alphaAsc:"A から Z",alphaDesc:"Z から A"}},showNoteCount:{name:"ノート数を表示",desc:"フォルダ、タグ、プロパティの横にノート数を表示します。"},showSectionIcons:{name:"ショートカットと最近の項目のアイコンを表示",desc:"ショートカットと最近使用したファイルセクション内の項目の横にアイコンを表示します。"},interfaceIcons:{name:"インターフェースアイコン",desc:"ツールバー、フォルダ、タグ、プロパティ、ピン留め、検索、並べ替えのアイコンを編集します。",buttonText:"アイコンを編集"},showIconsColorOnly:{name:"アイコンのみに色を適用",desc:"有効にすると、カスタムカラーはアイコンのみに適用されます。無効にすると、アイコンとテキストラベルの両方に色が適用されます。"},navRainbowMode:{name:"レインボーカラーモード（保管庫プロファイル）",desc:"ナビゲーションペインにレインボーカラーを適用します。",options:{none:"オフ",foreground:"テキストカラー",background:"背景色"}},navRainbowFirstColor:{name:"最初の色",desc:"レインボーグラデーションの最初の色。"},navRainbowLastColor:{name:"最後の色",desc:"レインボーグラデーションの最後の色。"},navRainbowTransitionStyle:{name:"トランジションスタイル",desc:"最初の色と最後の色の間で使用される補間。",options:{hue:"色相",rgb:"RGB"}},navRainbowApplyToShortcuts:{name:"ショートカットに適用",desc:"レインボーカラーをショートカットに適用します。"},navRainbowApplyToRecent:{name:"最近の項目に適用",desc:"レインボーカラーを最近の項目に適用します。"},navRainbowApplyToFolders:{name:"フォルダーに適用",desc:"レインボーカラーをフォルダーに適用します。"},navRainbowFolderScope:{name:"フォルダー範囲",desc:"カラー割り当てを開始するフォルダーレベルを選択します。",options:{root:"ルートレベル",child:"子レベル",all:"すべてのレベル"}},navRainbowApplyToTags:{name:"タグに適用",desc:"レインボーカラーをタグに適用します。"},navRainbowTagScope:{name:"タグ範囲",desc:"カラー割り当てを開始するタグレベルを選択します。",options:{root:"ルートレベル",child:"子レベル",all:"すべてのレベル"}},navRainbowApplyToProperties:{name:"プロパティに適用",desc:"レインボーカラーをプロパティに適用します。"},navRainbowBalanceHueLuminance:{name:"色相間で一貫した明るさ",desc:"色相の遷移中に開始色と終了色の間で明るさを補間します。"},navRainbowSeparateThemeColors:{name:"ライトモードとダークモードの色を分離",desc:"ライトモードとダークモードで異なるレインボーカラーを使用します。"},navRainbowCopyLightToDark:"ライトモードの色をダークモードにコピー",navRainbowPropertyScope:{name:"プロパティ範囲",desc:"カラー割り当てを開始するプロパティレベルを選択します。",options:{root:"ルートレベル",child:"子レベル",all:"すべてのレベル"}},collapseBehavior:{name:"項目を折りたたむ",desc:"展開/折りたたみボタンが影響する項目を選択します。",options:{all:"すべて",foldersOnly:"フォルダのみ",tagsOnly:"タグのみ",propertiesOnly:"プロパティのみ"}},smartCollapse:{name:"選択中の項目を展開したままにする",desc:"折りたたむ時、選択中の項目とその親を展開したままにします。"},excludeVaultRootFromCollapse:{name:"折りたたみ時にボールトのルートをスキップ",desc:"すべての項目を折りたたむ時、ボールトのルートフォルダを現在の状態のままにします。"},navIndent:{name:"ツリーインデント",desc:"ネストされたフォルダ、タグ、プロパティのインデント幅を調整します（ピクセル）。"},navItemHeight:{name:"行高",desc:"ナビゲーションペイン内のフォルダ、タグ、プロパティの高さを調整します（ピクセル）。"},navItemHeightScaleText:{name:"行高に合わせて文字サイズを調整",desc:"行高を下げたときにナビゲーションの文字サイズを小さくします。"},showIndentGuides:{name:"インデントガイドを表示",desc:"ネストされたフォルダー、タグ、プロパティのインデントガイドを表示します。"},navCountLeaderStyle:{name:"リーダーを表示",desc:"項目名とノート数の間に点、ダッシュ、または線を表示します。",options:{none:"なし",dots:"点 (...)",dashes:"ダッシュ (---)",line:"線"}},navRootSpacing:{name:"ルート要素の間隔",desc:"最上位のフォルダ、タグ、プロパティの間隔（ピクセル）。"},showTags:{name:"タグを表示",desc:"ナビゲーターにタグセクションを表示します。"},showTagIcons:{name:"タグアイコンを表示",desc:"ナビゲーションペインのタグの横にアイコンを表示します。"},inheritTagColors:{name:"タグの色を継承",desc:"子タグが親タグの色を継承します。"},tagSortOrder:{name:"タグの並び順",desc:"タグを右クリックして、その子要素の並び順を個別に設定できます。",options:{alphaAsc:"A から Z",alphaDesc:"Z から A",frequency:"頻度",lowToHigh:"低→高",highToLow:"高→低"}},showAllTagsFolder:{name:"タグフォルダを表示",desc:"「タグ」を折りたたみ可能なフォルダとして表示します。"},showUntagged:{name:"タグなしノートを表示",desc:"タグのないノート用に「タグなし」項目を表示します。"},scopeTagsToCurrentContext:{name:"選択内容でタグを絞り込む",desc:"選択したフォルダーまたはプロパティ内のノートに含まれるタグのみ表示します。"},keepEmptyTagsProperty:{name:"最後のタグを削除した後も tags プロパティを保持",desc:"すべてのタグが削除されても frontmatter の tags プロパティを保持します。無効にすると、tags プロパティは frontmatter から削除されます。"},showProperties:{name:"プロパティを表示",desc:"ナビゲーターにプロパティセクションを表示します。",propertyKeysInfoPrefix:"",propertyKeysInfoLinkText:"スタート > プロパティキー",propertyKeysInfoSuffix:"でプロパティを設定"},showPropertyIcons:{name:"プロパティアイコンを表示",desc:"ナビゲーションペインのプロパティの横にアイコンを表示します。"},inheritPropertyColors:{name:"プロパティの色を継承",desc:"プロパティ値がプロパティキーの色と背景色を継承します。"},propertySortOrder:{name:"プロパティの並べ替え順",desc:"任意のプロパティを右クリックして、その値に別の並べ替え順を設定します。",options:{alphaAsc:"A から Z",alphaDesc:"Z から A",frequency:"頻度",lowToHigh:"低い順",highToLow:"高い順"}},showAllPropertiesFolder:{name:"プロパティフォルダを表示",desc:"「プロパティ」を折りたたみ可能なフォルダとして表示します。"},scopePropertiesToCurrentContext:{name:"選択内容でプロパティを絞り込む",desc:"選択したフォルダーまたはタグ内のノートに含まれるプロパティのみ表示します。"},hiddenTags:{name:"タグを非表示 (ボルトプロファイル)",desc:"カンマ区切りのタグパターンリスト。名前パターン: tag*（で始まる）、*tag（で終わる）。パスパターン: archive（タグと子孫）、archive/*（子孫のみ）、projects/*/drafts（中間ワイルドカード）。",placeholder:"archive*, *draft, projects/*/old"},hiddenFileTags:{name:"タグ付きノートを非表示 (ボルトプロファイル)",desc:"Comma-separated list of tag patterns. Notes containing matching tags are hidden. Name patterns: tag* (starting with), *tag (ending with). Path patterns: archive (tag and descendants), archive/* (descendants only), projects/*/drafts (mid-segment wildcard).",placeholder:"archive*, *draft, projects/*/old"},enableFolderNotes:{name:"フォルダノートを有効化",desc:"一致するノートファイルを持つフォルダーがクリック可能なリンクとして表示されます。"},folderNoteType:{name:"既定のフォルダノート形式",desc:"コンテキストメニューで作成されるフォルダノートの形式です。",options:{ask:"作成時に確認",markdown:"Markdown",canvas:"Canvas",base:"Base"}},folderNoteName:{name:"フォルダノート名",desc:"フォルダノートの名前。空のままにするとフォルダと同じ名前を使用します。",placeholder:"index"},folderNoteNamePattern:{name:"フォルダノート名パターン",desc:"拡張子なしのフォルダノートの名前パターン。{{folder}} でフォルダ名を挿入します。設定すると、フォルダノート名は適用されません。"},folderNoteTemplate:{name:"フォルダノートテンプレート",desc:"フォルダノート作成時に使用するテンプレートファイル。MarkdownテンプレートではTemplaterを使用できます。CanvasとBaseテンプレートはファイル内容としてコピーされます。テンプレートフォルダの場所はファイル操作 > テンプレートで設定してください。",formatWarning:"テンプレート形式は選択したフォルダノートの種類と一致している必要があります: .md、.canvas、.base。"},enableFolderNoteLinks:{name:"フォルダ名でフォルダノートを開く",desc:"フォルダ名をクリックすると、そのフォルダノートを開きます。オフの場合、フォルダノートは名前、アイコン、色などのフォルダメタデータのみを提供します。"},hideFolderNoteInList:{name:"リストでフォルダノートを非表示",desc:"ファイルリストからフォルダーノートを非表示にする。"},pinCreatedFolderNote:{name:"作成したフォルダノートをピン留め",desc:"コンテキストメニューから作成時にフォルダーノートをピン留めする。"},folderNoteOpenLocation:{name:"フォルダノートを開く場所",desc:"フォルダノートリンクをクリックしたときにフォルダノートを開く場所を選択します。",options:{currentTab:"現在のタブ",newTab:"新しいタブ",rightSidebar:"右サイドバー"}},showNearestFolderNoteInSidebar:{name:"右サイドバー: 最も近いフォルダノートを表示",desc:"フォルダを選択すると、右サイドバーに最も近い上位フォルダノートが自動的に表示されます。"},confirmBeforeDelete:{name:"削除前に確認",desc:"ノートやフォルダを削除する際に確認ダイアログを表示"},deleteAttachments:{name:"ファイル削除時に添付ファイルを削除",desc:"リンクされた添付ファイルと生成された描画プレビューが他で使用されていない場合、自動的に削除する",options:{ask:"毎回確認",always:"常に",never:"しない"}},moveFileConflicts:{name:"移動の競合",desc:"同名のファイルが既に存在するフォルダーにファイルを移動する場合。毎回確認（名前変更、上書き、キャンセル）するか、常に名前を変更します。",options:{ask:"毎回確認",rename:"常に名前を変更"}},metadataCleanup:{name:"メタデータをクリーンアップ",desc:"Obsidian外でファイル、フォルダ、タグ、またはプロパティが削除、移動、または名前変更された際に残された孤立したメタデータを削除します。これはNotebook Navigatorの設定ファイルのみに影響します。",buttonText:"メタデータをクリーンアップ",error:"設定のクリーンアップに失敗しました",loading:"メタデータを確認中...",statusClean:"クリーンアップするメタデータはありません",statusCounts:"孤立した項目: {folders} フォルダ, {tags} タグ, {properties} プロパティ, {files} ファイル, {pinned} ピン, {separators} セパレーター"},rebuildCache:{name:"キャッシュを再構築",desc:"タグの欠落、不正確なプレビュー、画像の欠落がある場合に使用してください。同期の競合や予期しない終了後に発生することがあります。",buttonText:"キャッシュを再構築",error:"キャッシュの再構築に失敗しました",indexingTitle:"ボールトをインデックス中...",progress:"Notebook Navigator のキャッシュを更新しています."},externalIcons:{downloadButton:"ダウンロード",downloadingLabel:"ダウンロード中...",removeButton:"削除",statusInstalled:"ダウンロード済み (バージョン {version})",statusNotInstalled:"未ダウンロード",versionUnknown:"不明",downloadFailed:"{name}のダウンロードに失敗しました。接続を確認してもう一度お試しください。",removeFailed:"{name}の削除に失敗しました。",infoNote:"ダウンロードしたアイコンパックはデバイス間でインストール状態を同期します。アイコンパックは各デバイスのローカルデータベースに保存されます。同期はダウンロードまたは削除の必要性のみを追跡します。アイコンパックはNotebook Navigatorリポジトリからダウンロードされます (https://github.com/johansan/notebook-navigator/tree/main/icon-assets)。"},useFrontmatterDates:{name:"フロントマターメタデータを使用",desc:"ノート名、タイムスタンプ、アイコン、色にフロントマターを使用"},frontmatterNameField:{name:"名前フィールド（複数可）",desc:"フロントマターフィールドのカンマ区切りリスト。最初の空でない値を使用。ファイル名にフォールバック。",placeholder:"title, name"},frontmatterIconField:{name:"アイコンフィールド",desc:"ファイルアイコン用のフロントマターフィールド。空のままにすると設定に保存されたアイコンを使用。",placeholder:"icon"},frontmatterColorField:{name:"カラーフィールド",desc:"ファイルカラー用のフロントマターフィールド。空のままにすると設定に保存された色を使用。",placeholder:"color"},frontmatterBackgroundField:{name:"背景フィールド",desc:"背景色用のフロントマターフィールド。空のままにすると設定に保存された背景色を使用。",placeholder:"background"},frontmatterMigration:{name:"設定からアイコンと色を移行",desc:"設定に保存: アイコン {icons} 個、色 {colors} 個。",button:"移行",buttonWorking:"移行中...",noticeNone:"設定に保存されたファイルアイコンまたは色がありません。",noticeDone:"アイコン {migratedIcons}/{icons}、色 {migratedColors}/{colors} を移行しました。",noticeFailures:"失敗したエントリ: {failures}。",noticeError:"移行に失敗しました。詳細はコンソールを確認してください。"},frontmatterCreatedField:{name:"作成タイムスタンプフィールド",desc:"作成タイムスタンプのフロントマターフィールド名。空のままにするとファイルシステムの日付のみを使用。",placeholder:"created"},frontmatterModifiedField:{name:"変更タイムスタンプフィールド",desc:"変更タイムスタンプのフロントマターフィールド名。空のままにするとファイルシステムの日付のみを使用。",placeholder:"modified"},frontmatterDateFormat:{name:"タイムスタンプ形式",desc:"フロントマター内のタイムスタンプを解析するために使用される形式。空のままにするとISO 8601解析を使用。",helpTooltip:"Moment形式",momentLinkText:"Moment フォーマット",help:`一般的な形式:
YYYY-MM-DD[T]HH:mm:ss → 2025-01-04T14:30:45
YYYY-MM-DD[T]HH:mm:ssZ → 2025-08-07T16:53:39+02:00
DD/MM/YYYY HH:mm:ss → 04/01/2025 14:30:45
MM/DD/YYYY h:mm:ss a → 01/04/2025 2:30:45 PM`},supportDevelopment:{name:"開発をサポート",desc:"ノートブックナビゲーターを愛用していただいている場合は、継続的な開発をサポートすることをご検討ください。",buttonText:"❤️ スポンサーになる",coffeeButton:"☕️ コーヒーをおごる"},updateCheckOnStart:{name:"起動時に新しいバージョンを確認",desc:"起動時に新しいプラグインリリースを確認し、アップデートが利用可能な場合に通知を表示します。確認は最大1日1回行われます。",status:"新しいバージョンが利用可能: {version}"},debugLogging:{name:"起動デバッグログ",desc:"起動診断を保管庫のルートにタイムスタンプ付きの Markdown ファイルとして書き込み、起動が落ち着いた後に停止します。このファイルは同期される場合があり、ファイルパスを含むことがあります。"},whatsNew:{name:"Notebook Navigator {version} の新着情報",desc:"最近の更新と改善を確認",buttonText:"最近の更新を表示"},masteringVideo:{name:"Notebook Navigator をマスターする（動画）",desc:"この動画では、Notebook Navigator で生産性を高めるために必要なすべてを解説しています。ホットキー、検索、タグ、高度なカスタマイズなどが含まれます。"},cacheStatistics:{localCache:"ローカルキャッシュ",items:"項目",withTags:"タグ付き",withPreviewText:"プレビューテキスト付き",withFeatureImage:"フィーチャー画像付き",withMetadata:"メタデータ付き"},metadataInfo:{successfullyParsed:"正常に解析済み",itemsWithName:"名前付き項目",withCreatedDate:"作成日付き",withModifiedDate:"変更日付き",withIcon:"アイコン付き",withColor:"カラー付き",failedToParse:"解析に失敗",createdDates:"作成日",modifiedDates:"変更日",checkTimestampFormat:"タイムスタンプ形式を確認してください。",exportFailed:"エラーをエクスポート"}}},whatsNew:{title:"Notebook Navigatorの新機能",openBannerImage:"リリースバナー画像を開く",supportMessage:"Notebook Navigatorが役立つと思われる場合は、開発のサポートをご検討ください。",supportButton:"コーヒーをおごる",thanksButton:"ありがとう！"}}});var H1={};In(H1,{STRINGS_KO:()=>Yie});var Yie,V1=U(()=>{Yie={common:{cancel:"취소",delete:"삭제",clear:"지우기",remove:"제거",restoreDefault:"기본값 복원",submit:"제출",save:"저장",configure:"구성",lightMode:"라이트 모드",darkMode:"다크 모드",noSelection:"선택 없음",untagged:"태그 없음",featureImageAlt:"대표 이미지",unknownError:"알 수 없는 오류",clipboardWriteError:"클립보드에 쓸 수 없습니다",updateBannerTitle:"Notebook Navigator 업데이트 사용 가능",updateBannerInstruction:"설정 -> 커뮤니티 플러그인에서 업데이트",previous:"이전",next:"다음"},listPane:{emptyStateNoSelection:"노트를 보려면 폴더나 태그를 선택하세요",emptyStateNoNotes:"노트 없음",pinnedSection:"고정됨",notesSection:"노트",filesSection:"파일",hiddenItemAriaLabel:"{name} (숨김)",collapseGroup:"그룹 접기",expandGroup:"그룹 펼치기",manualSortTitle:"수동 정렬: {property}",manualSortHint:'드래그하여 순서를 변경하세요. 순서는 숫자 인덱스 값으로 속성 "{property}"에 저장됩니다.',manualSortNonMarkdownHint:"마크다운이 아닌 파일은 하단에 표시되며 순서를 변경할 수 없습니다.",unsortedSection:"정렬되지 않음",manualSortDone:"완료",manualSortMultipleWriteFailure:"{count}개 파일 실패; 첫 번째: {path}: {message}"},tagList:{untaggedLabel:"태그 없음",tags:"태그"},navigationPane:{shortcutsHeader:"바로가기",recentFilesHeader:"최근 파일",properties:"속성",reorderRootFoldersTitle:"내비게이션 재정렬",reorderRootFoldersHint:"화살표 또는 드래그로 재정렬",vaultRootLabel:"보관함",resetRootToAlpha:"알파벳 순서로 리셋",resetRootToFrequency:"빈도 순으로 리셋",pinShortcuts:"바로가기를 고정",pinShortcutsAndRecentFiles:"바로가기와 최근 파일을 고정",unpinShortcuts:"바로가기 고정을 해제",unpinShortcutsAndRecentFiles:"바로가기와 최근 파일 고정을 해제",profileMenuAria:"보관소 프로필 변경"},navigationCalendar:{ariaLabel:"달력",dailyNotesNotEnabled:"데일리 노트 코어 플러그인이 활성화되어 있지 않습니다.",createDailyNote:{title:"새 데일리 노트",message:"파일 {filename}이(가) 존재하지 않습니다. 생성하시겠습니까?",confirmButton:"생성"},helpModal:{title:"캘린더 단축키",items:["아무 날이나 클릭하여 일간 노트를 열거나 만듭니다. 주, 월, 분기, 연도도 같은 방식으로 작동합니다.","날짜 아래 채워진 점은 노트가 있음을 의미합니다. 빈 점은 미완료 작업이 있음을 의미합니다.","노트에 대표 이미지가 있으면 해당 날짜의 배경으로 표시됩니다."],dateFilterCmdCtrl:"`Cmd/Ctrl`+클릭으로 해당 날짜로 파일 목록을 필터링합니다.",dateFilterOptionAlt:"`Option/Alt`+클릭으로 해당 날짜로 파일 목록을 필터링합니다."}},dailyNotes:{templateReadFailed:"데일리 노트 템플릿을 읽을 수 없습니다.",createFailed:"데일리 노트를 생성할 수 없습니다."},shortcuts:{folderExists:"폴더가 이미 바로가기에 있습니다",noteExists:"노트가 이미 바로가기에 있습니다",tagExists:"태그가 이미 바로가기에 있습니다",propertyExists:"속성이 이미 바로가기에 있습니다",invalidProperty:"잘못된 속성 바로가기",searchExists:"검색 바로가기가 이미 존재합니다",emptySearchQuery:"저장하기 전에 검색 쿼리를 입력하세요",emptySearchName:"검색을 저장하기 전에 이름을 입력하세요",add:"바로가기에 추가",addNotesCount:"바로가기에 노트 {count}개 추가",addFilesCount:"바로가기에 파일 {count}개 추가",rename:"바로가기 이름 변경",remove:"바로가기에서 제거",removeAll:"모든 바로가기 제거",removeAllConfirm:"모든 바로가기를 제거하시겠습니까?",folderNotesPinned:"폴더 노트 {count}개를 고정했습니다"},paneHeader:{collapseAllFolders:"항목 접기",expandAllFolders:"모든 항목 펼치기",showCalendar:"달력 표시",hideCalendar:"달력 숨기기",newFolder:"새 폴더",newNote:"새 노트",mobileBackToNavigation:"탐색으로 돌아가기",changeChildSortOrder:"정렬 순서 변경",changeSortAndGroup:"정렬 및 그룹 변경",resetViewToDefaults:"보기를 기본값으로 재설정",manualSort:"수동 정렬",editSortOrder:"정렬 순서 편집...",removeSortProperty:"정렬 속성 제거",descendants:"하위 항목",subfolders:"하위 폴더",subtags:"하위 태그",childValues:"하위 값",applySortAndGroupToDescendants:t=>`${t}에 정렬 및 그룹 적용`,applyAppearanceToDescendants:t=>`${t}에 모양 적용`,showFolders:"탐색 표시",reorderRootFolders:"내비게이션 재정렬",finishRootFolderReorder:"완료",showExcludedItems:"숨긴 폴더, 태그, 노트 표시",hideExcludedItems:"숨긴 폴더, 태그, 노트 숨기기",showDualPane:"이중 창 표시",showSinglePane:"단일 창 표시",dualPaneAutoFallbackNotice:'사이드바가 너무 좁으면 이중 창을 사용할 수 없습니다. 이를 변경하려면 설정 > 모양 및 동작에서 "사이드바가 너무 좁을 때"를 "아무것도 하지 않음"으로 설정하세요.',changeAppearance:"모양 변경",showNotesFromSubfolders:"하위 폴더 노트 표시",showFilesFromSubfolders:"하위 폴더 파일 표시",showNotesFromDescendants:"하위 항목 노트 표시",showFilesFromDescendants:"하위 항목 파일 표시",search:"검색"},searchInput:{placeholder:"검색...",placeholderOmnisearch:"Omnisearch...",clearSearch:"검색 지우기",switchToFilterSearch:"필터 검색으로 전환",switchToOmnisearch:"Omnisearch로 전환",saveSearchShortcut:"검색을 바로가기에 저장",removeSearchShortcut:"바로가기에서 검색 제거",shortcutModalTitle:"검색 바로가기 저장",shortcutNamePlaceholder:"바로가기 이름을 입력하세요",shortcutStartIn:"항상 다음에서 시작: {path}",searchHelp:"검색 구문",searchHelpTitle:"검색 구문",searchHelpModal:{intro:"파일 이름, 속성, 태그, 날짜, 필터를 하나의 쿼리에서 결합 (예: `meeting .status=active #work @thisweek`). Omnisearch 플러그인을 설치하면 전체 텍스트 검색을 사용할 수 있습니다.",introSwitching:"위/아래 화살표 키 또는 검색 아이콘 클릭으로 필터 검색과 Omnisearch 간에 전환할 수 있습니다.",sections:{fileNames:{title:"파일 이름",items:['`word` 파일 이름에 "word"가 포함된 노트 찾기.',"`word1 word2` 모든 단어가 파일 이름과 일치해야 합니다.",'`-word` 파일 이름에 "word"가 포함된 노트 제외.']},tags:{title:"태그",items:["`#tag` 태그가 있는 노트 포함 (`#tag/subtag`와 같은 중첩 태그도 일치).","`#` 태그가 있는 노트만 포함.","`-#tag` 태그가 있는 노트 제외.","`-#` 태그가 없는 노트만 포함.","`#tag1 #tag2` 두 태그 모두 일치 (암시적 AND).","`#tag1 AND #tag2` 두 태그 모두 일치 (명시적 AND).","`#tag1 OR #tag2` 태그 중 하나와 일치.","`#a OR #b AND #c` AND가 우선순위가 높음: `#a` 또는 `#b`와 `#c` 모두 일치.","Cmd/Ctrl+클릭으로 AND로 태그 추가. Cmd/Ctrl+Shift+클릭으로 OR로 추가."]},properties:{title:"속성",items:["`.key` 속성 키가 있는 노트를 포함합니다.","`.key=value` 속성 값에 `value`가 포함된 노트를 포함합니다.",'`."Reading Status"` 공백이 포함된 속성 키가 있는 노트를 포함합니다.','`."Reading Status"="In Progress"` 공백이 포함된 키와 값은 큰따옴표로 묶어야 합니다.',"`-.key` 속성 키가 있는 노트를 제외합니다.","`-.key=value` 속성 값에 `value`가 포함된 노트를 제외합니다.","Cmd/Ctrl+클릭으로 속성을 AND로 추가. Cmd/Ctrl+Shift+클릭으로 OR로 추가."]},tasks:{title:"필터",items:["`has:task` 미완료 작업이 있는 노트를 포함.","`-has:task` 미완료 작업이 있는 노트를 제외.","`folder:meetings` 폴더 이름에 `meetings`를 포함하는 노트를 포함.","`folder:/work/meetings` `work/meetings` 내의 노트만 포함 (하위 폴더 제외).","`folder:/` 보관소 루트에 있는 노트만 포함.","`-folder:archive` 폴더 이름에 `archive`를 포함하는 노트를 제외.","`-folder:/archive` `archive` 내의 노트만 제외 (하위 폴더 제외).","`ext:md` 확장자가 `md`인 노트를 포함 (`ext:.md`도 지원).","`-ext:pdf` 확장자가 `pdf`인 노트를 제외.","태그, 이름, 날짜와 결합하여 사용 (예: `folder:/work/meetings ext:md @thisweek`)."]},connectors:{title:"AND/OR 동작",items:["`AND`와 `OR`는 태그/속성 전용 쿼리에서만 연산자로 작동합니다.","태그/속성 전용 쿼리에는 태그 및 속성 필터만 포함됩니다: `#tag`, `-#tag`, `#`, `-#`, `.key`, `-.key`, `.key=value`, `-.key=value`.","쿼리에 이름, 날짜(`@...`), 작업 필터(`has:task`), 폴더 필터(`folder:...`), 또는 확장자 필터(`ext:...`)가 포함되면 `AND`와 `OR`는 단어로 검색됩니다.","연산자 쿼리 예시: `#work OR .status=started`.","혼합 쿼리 예시: `#work OR ext:md` (`OR`가 파일 이름에서 검색됩니다)."]},dates:{title:"날짜",items:["`@today` 기본 날짜 필드를 사용하여 오늘의 노트 찾기.","`@yesterday`, `@last7d`, `@last30d`, `@thisweek`, `@thismonth` 상대적 날짜 범위.","`@2026-02-07` 특정 날짜 찾기 (`@20260207`도 지원).","`@2026` 달력 연도 찾기.","`@2026-02` 또는 `@202602` 달력 월 찾기.","`@2026-W05` 또는 `@2026W05` ISO 주 찾기.","`@2026-Q2` 또는 `@2026Q2` 달력 분기 찾기.","`@13/02/2026` 구분자가 있는 숫자 형식 (`@07022026`은 모호할 때 로케일을 따름).","`@2026-02-01..2026-02-07` 포함 날짜 범위 찾기 (열린 끝 지원).","`@c:...` 또는 `@m:...` 생성 또는 수정 날짜 지정.","`-@...` 날짜 일치 제외."]},omnisearch:{title:"Omnisearch",items:["보관소 전체의 전체 텍스트 검색. 현재 폴더 또는 선택된 태그로 필터링됩니다.","대규모 보관소에서 3자 미만일 경우 느릴 수 있습니다.","비ASCII 문자가 포함된 경로를 검색하거나 하위 경로를 올바르게 검색할 수 없습니다.","폴더 필터링 전에 제한된 결과를 반환하므로, 다른 곳에 많은 일치 항목이 있으면 관련 파일이 표시되지 않을 수 있습니다.","노트 미리보기에 기본 미리보기 텍스트 대신 Omnisearch 발췌문이 표시됩니다."]}}}},contextMenu:{file:{openInNewTab:"새 탭에서 열기",openToRight:"오른쪽에 열기",openInNewWindow:"새 창에서 열기",openMultipleInNewTabs:"{count}개의 노트를 새 탭에서 열기",openMultipleFilesInNewTabs:"{count}개의 파일을 새 탭에서 열기",openMultipleToRight:"{count}개의 노트를 오른쪽에 열기",openMultipleFilesToRight:"{count}개의 파일을 오른쪽에 열기",openMultipleInNewWindows:"{count}개의 노트를 새 창에서 열기",openMultipleFilesInNewWindows:"{count}개의 파일을 새 창에서 열기",pinNote:"노트 고정",pinFile:"파일 고정",unpinNote:"노트 고정 해제",unpinFile:"파일 고정 해제",pinMultipleNotes:"{count}개의 노트 고정",pinMultipleFiles:"{count}개의 파일 고정",unpinMultipleNotes:"{count}개의 노트 고정 해제",unpinMultipleFiles:"{count}개의 파일 고정 해제",duplicateNote:"노트 복제",duplicateFile:"파일 복제",duplicateMultipleNotes:"{count}개의 노트 복제",duplicateMultipleFiles:"{count}개의 파일 복제",openVersionHistory:"버전 기록 열기",revealInFolder:"폴더에서 표시",revealInFinder:"Finder에서 표시",showInExplorer:"시스템 탐색기에서 표시",openInDefaultApp:"기본 앱에서 열기",renameNote:"노트 이름 변경",renameFile:"파일 이름 변경",deleteNote:"노트 삭제",deleteFile:"파일 삭제",setCalendarHighlight:"하이라이트 설정",removeCalendarHighlight:"하이라이트 제거",deleteMultipleNotes:"{count}개의 노트 삭제",deleteMultipleFiles:"{count}개의 파일 삭제",moveNoteToFolder:"노트 이동...",moveFileToFolder:"파일 이동...",moveMultipleNotesToFolder:"{count}개의 노트 이동...",moveMultipleFilesToFolder:"{count}개의 파일 이동...",mergeNotes:"{count}개의 노트 병합...",mergeNotesInGroup:"그룹의 노트 병합...",setManualSortGroupHeader:"그룹 머리글 설정",changeManualSortGroupHeader:"그룹 머리글 변경",manualSortGroupHeader:{title:"그룹 머리글",copyStyle:"머리글 스타일 복사",pasteStyle:"머리글 스타일 붙여넣기",remove:"그룹 머리글 제거"},addTag:"태그 추가",addPropertyKey:"속성 설정",removeTag:"태그 제거",removeAllTags:"모든 태그 제거",changeIcon:"아이콘 변경",changeColor:"색상 변경"},folder:{newNote:"새 노트",newNoteFromTemplate:"템플릿으로 새 노트",newFolder:"새 폴더",newCanvas:"새 캔버스",newBase:"새 베이스",newDrawing:"새 드로잉",newExcalidrawDrawing:"새 Excalidraw 드로잉",newTldrawDrawing:"새 Tldraw 드로잉",duplicateFolder:"폴더 복제",searchInFolder:"폴더에서 검색",createFolderNote:"폴더 노트 만들기",detachFolderNote:"폴더 노트 해제",deleteFolderNote:"폴더 노트 삭제",changeIcon:"아이콘 변경",changeColor:"색상 변경",changeBackground:"배경색 변경",excludeFolder:"폴더 숨기기",unhideFolder:"폴더 표시",moveFolder:"폴더 이동...",renameFolder:"폴더 이름 변경",deleteFolder:"폴더 삭제"},tag:{changeIcon:"아이콘 변경",changeColor:"색상 변경",changeBackground:"배경색 변경",showTag:"태그 표시",hideTag:"태그 숨기기"},property:{addKey:"속성 키 구성",renameKey:"속성 이름 변경",deleteKey:"속성 삭제"},navigation:{addSeparator:"구분선 추가",removeSeparator:"구분선 제거"},copyPath:{title:"경로 복사",asObsidianUrl:"Obsidian URL로",fromVaultFolder:"Vault 폴더에서",fromSystemRoot:"시스템 루트에서"},style:{title:"스타일",copy:"스타일 복사",paste:"스타일 붙여넣기",removeIcon:"아이콘 제거",removeColor:"색상 제거",removeBackground:"배경 제거",clear:"스타일 지우기"}},folderAppearance:{appearance:"모양",sortBy:"정렬 기준",standardPreset:"표준",compactPreset:"컴팩트",defaultSuffix:"(기본값)",defaultLabel:"기본",titleRows:"제목 행",previewRows:"미리보기 행",groupBy:"그룹화 기준",titleRowOption:t=>`${t}개 제목 행`,previewRowOption:t=>`${t}개 미리보기 행`},modals:{bulkApply:{applyButton:"적용",applySortAndGroupTitle:t=>`${t}에 정렬 및 그룹을 적용하시겠습니까?`,applyAppearanceTitle:t=>`${t}에 모양을 적용하시겠습니까?`,affectedCountMessage:t=>`변경될 기존 재정의: ${t}.`},manualSortConfirm:{propertySortTitle:"수동 정렬을 사용하시겠습니까?",propertySortMessage:(t,e)=>`현재 보기를 "${t}"을(를) 사용한 수동 정렬로 전환합니다. 순서를 편집하면 필요에 따라 ${e}개 노트의 해당 속성에 숫자 인덱스 값이 기록됩니다.`,propertySortConfirmButton:"수동 정렬 사용",removePropertyTitle:"정렬 속성을 제거하시겠습니까?",removePropertyMessage:(t,e)=>`현재 목록의 ${e}개 노트에서 "${t}"을(를) 제거합니다. 해당 노트의 수동 정렬 순서가 초기화됩니다.`,removePropertyConfirmButton:"속성 제거",compactTitle:"인덱스 값을 압축하시겠습니까?",compactMessage:t=>`이 재정렬에는 더 많은 숫자 공간이 필요합니다. ${t}개 노트에 새로운 인덱스 값이 할당됩니다.`,compactConfirmButton:"인덱스 값 압축"},manualSortGroupHeader:{title:"그룹 머리글 설정",titleLabel:"제목",placeholder:"그룹 머리글",icon:"아이콘",color:"색상",wordCount:"단어 수 표시",wordCountTarget:"목표 단어 수",wordCountTargetPlaceholder:"10,000",wordCountTargetDescription:"이 필드가 비어 있으면 그룹 목표는 설정 > 노트 > 단어 및 문자 수에 설정된 목표 속성을 사용합니다. 이 그룹의 목표 값을 설정하여 재정의하세요.",description:"이 노트의 그룹 머리글을 사용자 지정합니다. 머리글을 제거하려면 제목을 비워 두세요."},mergeNotes:{title:"노트 병합",summary:"{folder}의 {count}개 노트에서 하나의 노트를 만듭니다.",frontmatterRule:"첫 번째 노트의 프론트매터는 유지됩니다. 다른 노트의 프론트매터는 제거됩니다.",crossFolderWarning:"원본 노트가 서로 다른 폴더에 있습니다. 병합된 노트에서 상대 링크와 임베드가 작동하지 않을 수 있습니다.",outputName:"출력 이름",outputNameDesc:"병합된 노트는 위에 표시된 폴더에 생성됩니다.",outputNamePlaceholder:"병합된 노트",separator:"구분자",separatorDesc:"노트 사이에 삽입됩니다.",separatorOptions:{none:"없음",blankLine:"빈 줄",horizontalRule:"수평선",heading:"노트 제목이 있는 헤딩"},moveSourcesToTrash:"병합 후 원본 노트를 휴지통으로 이동",mergeButton:"병합"},navRainbowSection:{title:t=>`무지개 색상: ${t}`},iconPicker:{searchPlaceholder:"아이콘 검색...",recentlyUsedHeader:"최근 사용",emptyStateSearch:"아이콘을 검색하려면 입력하세요",emptyStateNoResults:"아이콘을 찾을 수 없음",showingResultsInfo:"{count}개 중 50개 결과 표시. 더 좁혀서 검색하세요.",emojiInstructions:"이모지를 입력하거나 붙여넣어 아이콘으로 사용하세요",removeIcon:"아이콘 제거",removeFromRecents:"최근 아이콘에서 제거",allTabLabel:"모두"},fileIconRuleEditor:{addRuleAria:"규칙 추가"},interfaceIcons:{title:"인터페이스 아이콘",fileItemsSection:"파일 항목",items:{"nav-shortcuts":"바로가기","nav-recent-files":"최근 파일","nav-expand-all":"모두 펼치기","nav-collapse-all":"모두 접기","nav-calendar":"달력","nav-tree-expand":"트리 화살표: 펼치기","nav-tree-collapse":"트리 화살표: 접기","nav-hidden-items":"숨겨진 항목","nav-root-reorder":"루트 폴더 재정렬","nav-new-folder":"새 폴더","nav-show-single-pane":"단일 창 표시","nav-show-dual-pane":"이중 창 표시","nav-profile-chevron":"프로필 메뉴 화살표","list-search":"검색","list-reveal-file":"파일 표시","list-descendants":"하위 폴더의 노트","list-sort-ascending":"정렬 순서: 오름차순","list-sort-descending":"정렬 순서: 내림차순","list-sort-modified":"수정 날짜로 정렬","list-sort-created":"생성 날짜로 정렬","list-sort-title":"제목으로 정렬","list-sort-filename":"파일 이름으로 정렬","list-sort-property":"속성으로 정렬","list-appearance":"모양 변경","list-new-note":"새 노트","list-pinned":"고정된 노트","nav-folder-open":"열린 폴더","nav-folder-closed":"닫힌 폴더","nav-tags":"태그","nav-tag":"태그","nav-properties":"속성","nav-property":"속성","nav-property-value":"값","file-unfinished-task":"미완료 작업","file-word-count":"단어 수","file-character-count":"문자 수"}},colorPicker:{currentColor:"현재",newColor:"새로운",paletteDefault:"기본",paletteCustom:"사용자 정의",copyColors:"색상 복사",colorsCopied:"클립보드에 복사됨",pasteColors:"색상 붙여넣기",pasteClipboardError:"클립보드를 읽을 수 없습니다",pasteInvalidFormat:"16진수 색상 값이 필요합니다",colorsPasted:"색상을 붙여넣었습니다",resetUserColors:"사용자 정의 색상 지우기",clearCustomColorsConfirm:"모든 사용자 정의 색상을 제거하시겠습니까?",userColorSlot:"색상 {slot}",recentColors:"최근 색상",clearRecentColors:"최근 색상 지우기",removeRecentColor:"색상 제거",apply:"적용",pickerLabel:"선택기",hexLabel:"HEX",hexInputLabel:"HEX 색상 값",saturationValueArea:"채도 및 밝기",hueSlider:"색조",alphaSlider:"투명도"},appearance:{tabIcon:"아이콘",tabColor:"색상",tabBackground:"배경",resetIcon:"아이콘 제거",resetColor:"색상 제거",resetBackground:"배경 제거",clear:"스타일 지우기",apply:"적용"},selectVaultProfile:{title:"보관소 프로필 변경",currentBadge:"활성",emptyState:"사용 가능한 보관소 프로필이 없습니다."},tagOperation:{renameTitle:"태그 {tag} 이름 변경",deleteTitle:"태그 {tag} 삭제",newTagPrompt:"새 태그 이름",newTagPlaceholder:"새 태그 이름 입력",renameWarning:"태그 {oldTag}의 이름을 변경하면 {count}개의 {files}이(가) 수정됩니다.",deleteWarning:"태그 {tag}을(를) 삭제하면 {count}개의 {files}이(가) 수정됩니다.",modificationWarning:"파일 수정 날짜가 업데이트됩니다.",affectedFiles:"영향받는 파일:",andMore:"...그리고 {count}개 더",confirmRename:"태그 이름 변경",renameUnchanged:"{tag} 변경 없음",renameNoChanges:"{oldTag} → {newTag} ({countLabel})",renameBatchNotFinalized:"{renamed}/{total} 이름 변경됨. 업데이트되지 않음: {notUpdated}. 메타데이터와 단축키가 업데이트되지 않았습니다.",invalidTagName:"유효한 태그 이름을 입력하세요.",descendantRenameError:"태그를 자신 또는 하위 태그로 이동할 수 없습니다.",confirmDelete:"태그 삭제",deleteBatchNotFinalized:"{removed}/{total}에서 제거됨. 업데이트되지 않음: {notUpdated}. 메타데이터와 단축키가 업데이트되지 않았습니다.",checkConsoleForDetails:"자세한 내용은 콘솔을 확인하세요.",file:"파일",files:"파일",inlineParsingWarning:{title:"인라인 태그 호환성",message:"{tag}에 Obsidian이 인라인 태그에서 구문 분석할 수 없는 문자가 포함되어 있습니다. Frontmatter 태그는 영향을 받지 않습니다.",confirm:"그래도 사용"}},propertyOperation:{renameTitle:"속성 {property} 이름 변경",deleteTitle:"속성 {property} 삭제",newKeyPrompt:"새 속성 이름",newKeyPlaceholder:"새 속성 이름 입력",renameWarning:"속성 {property}의 이름을 변경하면 {count}개의 {files}이(가) 수정됩니다.",renameConflictWarning:"속성 {newKey}이(가) 이미 {count}개의 {files}에 존재합니다. {oldKey}의 이름을 변경하면 기존 {newKey} 값이 대체됩니다.",deleteWarning:"속성 {property}을(를) 삭제하면 {count}개의 {files}이(가) 수정됩니다.",confirmRename:"속성 이름 변경",confirmDelete:"속성 삭제",renameNoChanges:"{oldKey} → {newKey} (변경 없음)",renameSettingsUpdateFailed:"속성 {oldKey} → {newKey} 이름 변경됨. 설정 업데이트에 실패했습니다.",deleteSingleSuccess:"1개의 노트에서 속성 {property} 삭제됨",deleteMultipleSuccess:"{count}개의 노트에서 속성 {property} 삭제됨",deleteSettingsUpdateFailed:"속성 {property} 삭제됨. 설정 업데이트에 실패했습니다.",invalidKeyName:"유효한 속성 이름을 입력하세요."},fileSystem:{newFolderTitle:"새 폴더",renameFolderTitle:"폴더 이름 변경",renameFileTitle:"파일 이름 변경",deleteFolderTitle:"'{name}'을(를) 삭제하시겠습니까?",deleteFileTitle:"'{name}'을(를) 삭제하시겠습니까?",deleteFileAttachmentsTitle:"파일 첨부 파일을 삭제하시겠습니까?",moveFileConflictTitle:"이동 충돌",folderNamePrompt:"폴더 이름 입력:",hideInOtherVaultProfiles:"다른 보관소 프로필에서 숨기기",renamePrompt:"새 이름 입력:",renameVaultTitle:"보관함 표시 이름 변경",renameVaultPrompt:"사용자 정의 표시 이름 입력 (기본값을 사용하려면 비워두세요):",deleteFolderConfirm:"이 폴더와 모든 내용을 삭제하시겠습니까?",deleteFileConfirm:"이 파일을 삭제하시겠습니까?",deleteFileAttachmentsDescriptionSingle:"이 첨부 파일은 더 이상 어떤 노트에서도 사용되지 않습니다. 삭제하시겠습니까?",deleteFileAttachmentsDescriptionMultiple:"이 첨부 파일들은 더 이상 어떤 노트에서도 사용되지 않습니다. 삭제하시겠습니까?",deleteFileAttachmentsViewFileTreeAriaLabel:"파일 트리",deleteFileAttachmentsViewGalleryAriaLabel:"갤러리",moveFileConflictDescriptionSingle:'"{folder}"에서 파일 충돌이 발견되었습니다.',moveFileConflictDescriptionMultiple:'"{folder}"에서 {count}개의 파일 충돌이 발견되었습니다.',moveFileConflictAffectedFiles:"영향받는 파일",moveFileConflictItem:'"{name}" -> "{suggested}"{renameOnly}',moveFileConflictRenameOnly:"(이름 변경만)",moveFileConflictRename:"이름 변경",moveFileConflictOverwrite:"덮어쓰기",removeAllTagsTitle:"모든 태그 제거",removeAllTagsFromNote:"이 노트에서 모든 태그를 제거하시겠습니까?",removeAllTagsFromNotes:"{count}개의 노트에서 모든 태그를 제거하시겠습니까?"},folderNoteType:{title:"폴더 노트 형식 선택",folderLabel:"폴더: {name}"},folderSuggest:{placeholder:t=>`${t}를 폴더로 이동...`,multipleFilesLabel:t=>`${t}개의 파일`,navigatePlaceholder:"폴더로 이동...",instructions:{navigate:"이동",move:"이동",select:"선택",dismiss:"닫기"}},homepage:{placeholder:"파일 검색...",instructions:{navigate:"이동",select:"홈페이지 설정",dismiss:"닫기"}},calendarTemplate:{placeholder:"템플릿 검색...",instructions:{navigate:"이동",select:"템플릿 선택",dismiss:"닫기"}},navigationBanner:{placeholder:"이미지 검색...",instructions:{navigate:"이동",select:"배너 설정",dismiss:"닫기"}},tagSuggest:{navigatePlaceholder:"태그로 이동...",addPlaceholder:"추가할 태그 검색...",removePlaceholder:"제거할 태그 선택...",createNewTag:"새 태그 생성: #{tag}",instructions:{navigate:"이동",select:"선택",dismiss:"닫기",add:"태그 추가",remove:"태그 제거"}},propertySuggest:{placeholder:"속성 키 선택...",navigatePlaceholder:"속성으로 이동...",instructions:{navigate:"이동",select:"속성 추가",dismiss:"닫기"}},propertyKeyVisibility:{title:"속성 키 표시 설정",description:"속성 값이 표시되는 위치를 제어합니다. 열은 탐색 창, 목록 창, 파일 컨텍스트 메뉴에 해당합니다. 하단 행을 사용하여 열의 모든 행을 전환합니다.",searchPlaceholder:"속성 키 검색...",propertyColumnLabel:"속성",showInNavigation:"탐색에 표시",showInList:"목록에 표시",showInFileMenu:"파일 메뉴에 표시",toggleAllInNavigation:"탐색에서 모두 전환",toggleAllInList:"목록에서 모두 전환",toggleAllInFileMenu:"파일 메뉴에서 모두 전환",applyButton:"적용",emptyState:"속성 키를 찾을 수 없습니다."},welcome:{title:"{pluginName}에 오신 것을 환영합니다",introText:'안녕하세요! 시작하기 전에 아래 비디오의 첫 5분을 시청하여 패널과 토글 "하위 폴더의 노트 표시"가 어떻게 작동하는지 이해하는 것을 강력히 권장합니다.',continueText:"5분 더 있으시다면 비디오를 계속 시청하여 컴팩트 표시 모드와 바로가기 및 중요한 단축키를 올바르게 설정하는 방법을 이해해 주세요.",thanksText:"다운로드해 주셔서 감사합니다. 즐겁게 사용하세요!",videoAlt:"Notebook Navigator 설치 및 마스터하기",openVideoButton:"비디오 재생",closeButton:"나중에"}},fileSystem:{errors:{createFolder:"폴더 생성 실패: {error}",createFile:"파일 생성 실패: {error}",renameFolder:"폴더 이름 변경 실패: {error}",renameFolderNoteConflict:'이름 변경 불가: 이 폴더에 "{name}"이(가) 이미 존재합니다',renameFile:"파일 이름 변경 실패: {error}",deleteFolder:"폴더 삭제 실패: {error}",deleteFile:"파일 삭제 실패: {error}",deleteAttachments:"첨부 파일 삭제 실패: {error}",mergeNotes:"노트 병합 실패: {error}",mergeNotesOpenOutput:"병합된 노트가 {name}(으)로 생성되었지만 열 수 없습니다: {error}. 원본 노트는 변경되지 않았습니다.",mergeNotesOpenSkipped:"다른 파일 열기 요청이 우선되었습니다.",mergeNotesTrashSources:"병합된 노트가 생성되었습니다. 원본 노트 {count}개를 휴지통으로 이동하지 못했습니다.",duplicateNote:"노트 복제 실패: {error}",duplicateFolder:"폴더 복제 실패: {error}",openVersionHistory:"버전 기록 열기 실패: {error}",versionHistoryNotFound:"버전 기록 명령을 찾을 수 없습니다. Obsidian Sync가 활성화되어 있는지 확인하세요.",revealInExplorer:"시스템 탐색기에서 파일 표시 실패: {error}",openInDefaultApp:"기본 앱에서 열기 실패: {error}",openInDefaultAppNotAvailable:"이 플랫폼에서는 기본 앱에서 열기를 사용할 수 없습니다",folderNoteAlreadyExists:"폴더 노트가 이미 존재합니다",folderAlreadyExists:'폴더 "{name}"이(가) 이미 존재합니다',folderNotesDisabled:"파일을 변환하려면 설정에서 폴더 노트를 활성화하세요",folderNoteAlreadyLinked:"이 파일은 이미 폴더 노트로 작동하고 있습니다",folderNoteNotFound:"선택한 폴더에 폴더 노트가 없습니다",folderNoteUnsupportedExtension:"지원되지 않는 파일 확장자: {extension}",folderNoteMoveFailed:"변환 중 파일 이동 실패: {error}",folderNoteRenameConflict:'"{name}"이라는 이름의 파일이 이미 폴더에 존재합니다',folderNoteConversionFailed:"폴더 노트로 변환 실패",folderNoteConversionFailedWithReason:"폴더 노트로 변환 실패: {error}",folderNoteOpenFailed:"파일은 변환되었지만 폴더 노트 열기 실패: {error}",failedToDeleteFile:"{name} 삭제 실패: {error}",failedToDeleteMultipleFiles:"{count}개의 파일 삭제 실패",versionHistoryNotAvailable:"버전 기록 서비스를 사용할 수 없습니다",drawingAlreadyExists:"이 이름의 드로잉이 이미 존재합니다",failedToCreateDrawing:"드로잉 생성 실패",noFolderSelected:"Notebook Navigator에서 선택된 폴더가 없습니다",noFileSelected:"선택된 파일이 없습니다"},warnings:{linkBreakingNameCharacters:"이 이름에는 Obsidian 링크를 깨뜨리는 문자가 포함되어 있습니다: #, |, ^, %%, [[, ]].",forbiddenNameCharactersAllPlatforms:"이름은 . 로 시작할 수 없고 : 또는 / 를 포함할 수 없습니다.",forbiddenNameCharactersWindows:'Windows에서 예약된 문자는 허용되지 않습니다: <, >, ", \\, |, ?, *.'},notices:{hideFolder:"폴더 숨김: {name}",showFolder:"폴더 표시: {name}",mergeNotes:"{count}개 노트를 {name}에 병합했습니다"},notifications:{deletedMultipleFiles:"{count}개의 파일이 삭제됨",movedMultipleFiles:"{count}개의 파일이 {folder}로 이동됨",folderNoteConversionSuccess:'"{name}"에서 파일을 폴더 노트로 변환함',folderMoved:'폴더 "{name}"이(가) 이동됨',deepLinkCopied:"Obsidian URL이 클립보드에 복사됨",pathCopied:"경로가 클립보드에 복사됨",relativePathCopied:"상대 경로가 클립보드에 복사됨",tagAddedToNote:"1개의 노트에 태그 추가됨",tagAddedToNotes:"{count}개의 노트에 태그 추가됨",tagRemovedFromNote:"1개의 노트에서 태그 제거됨",tagRemovedFromNotes:"{count}개의 노트에서 태그 제거됨",tagsClearedFromNote:"1개의 노트에서 모든 태그 제거됨",tagsClearedFromNotes:"{count}개의 노트에서 모든 태그 제거됨",noTagsToRemove:"제거할 태그 없음",noFilesSelected:"선택된 파일 없음",mergeNotesRequireMultipleMarkdown:"병합할 Markdown 노트를 두 개 이상 선택하세요",tagOperationsNotAvailable:"태그 작업을 사용할 수 없음",propertyOperationsNotAvailable:"속성 작업을 사용할 수 없습니다",tagsRequireMarkdown:"태그는 마크다운 노트에서만 지원됩니다",propertiesRequireMarkdown:"속성은 Markdown 노트에서만 지원됩니다",propertySetOnNote:"1개 노트의 속성을 업데이트했습니다",propertySetOnNotes:"{count}개 노트의 속성을 업데이트했습니다",manualSortPropertyRemovedFromNote:"1개 노트에서 정렬 속성을 제거했습니다",manualSortPropertyRemovedFromNotes:"{count}개 노트에서 정렬 속성을 제거했습니다",iconPackDownloaded:"{provider} 다운로드됨",iconPackUpdated:"{provider} 업데이트됨 ({version})",iconPackRemoved:"{provider} 제거됨",iconPackLoadFailed:"{provider} 로드에 실패했습니다",hiddenFileReveal:'파일이 숨겨져 있습니다. 표시하려면 "숨겨진 항목 표시"를 활성화하세요'},confirmations:{deleteMultipleFiles:"{count}개의 파일을 삭제하시겠습니까?",deleteConfirmation:"이 작업은 취소할 수 없습니다."},defaultNames:{untitled:"제목 없음"}},dragDrop:{errors:{cannotMoveIntoSelf:"폴더를 자기 자신이나 하위 폴더로 이동할 수 없습니다.",itemAlreadyExists:'이 위치에 "{name}"이(가) 이미 존재합니다.',failedToMove:"이동 실패: {error}",failedToAddTag:'태그 "{tag}" 추가 실패',failedToSetProperty:"속성 업데이트 실패: {error}",failedToClearTags:"태그 지우기 실패",failedToMoveFolder:'폴더 "{name}" 이동 실패',failedToImportFiles:"가져오기 실패: {names}"},notifications:{filesAlreadyExist:"대상에 {count}개의 파일이 이미 존재합니다",filesAlreadyHaveTag:"{count}개의 파일이 이미 이 태그나 더 구체적인 태그를 가지고 있습니다",filesAlreadyHaveProperty:"{count}개 파일에 이미 이 속성이 있습니다",noTagsToClear:"지울 태그 없음",fileImported:"1개의 파일 가져옴",filesImported:"{count}개의 파일 가져옴"}},dateGroups:{today:"오늘",yesterday:"어제",previous7Days:"지난 7일",previous30Days:"지난 30일"},commands:{open:"열기",toggleLeftSidebar:"왼쪽 사이드바 전환",openHomepage:"홈페이지 열기",openDailyNote:"일일 노트 열기",openWeeklyNote:"주간 노트 열기",openMonthlyNote:"월간 노트 열기",openQuarterlyNote:"분기 노트 열기",openYearlyNote:"연간 노트 열기",revealFile:"파일 표시",search:"검색",searchVaultRoot:"보관소 루트에서 검색",toggleDualPane:"이중 창 레이아웃 전환",toggleDualPaneOrientation:"이중 창 방향 전환",toggleCalendar:"캘린더 전환",selectVaultProfile:"보관소 프로필 변경",selectVaultProfile1:"보관소 프로필 1 선택",selectVaultProfile2:"보관소 프로필 2 선택",selectVaultProfile3:"보관소 프로필 3 선택",deleteFile:"파일 삭제",createNewNote:"새 노트 만들기",createNewNoteFromTemplate:"템플릿으로 새 노트",moveFiles:"파일 이동",mergeNotes:"노트 병합",selectNextFile:"다음 파일 선택",selectPreviousFile:"이전 파일 선택",navigateBack:"뒤로 이동",navigateForward:"앞으로 이동",convertToFolderNote:"폴더 노트로 변환",setAsFolderNote:"폴더 노트로 설정",detachFolderNote:"폴더 노트 해제",pinAllFolderNotes:"폴더 노트를 모두 고정",navigateToFolder:"폴더로 이동",navigateToTag:"태그로 이동",navigateToProperty:"속성으로 이동",addShortcut:"바로가기에 추가",openShortcut:"바로가기 {number} 열기",toggleDescendants:"하위 항목 전환",toggleHidden:"숨긴 폴더, 태그, 노트 전환",toggleTagSort:"태그 정렬 전환",toggleTagsBySelection:"선택에 따라 태그 전환",togglePropertiesBySelection:"선택에 따라 속성 전환",toggleCompactMode:"컴팩트 모드 전환",togglePinnedSection:"고정 섹션 전환",collapseExpand:"모든 항목 접기 / 펼치기",collapseExpandSelectedItem:"선택한 항목 접기 / 펼치기",addTag:"선택한 파일에 태그 추가",setProperty:"선택한 파일에 속성 설정",removeTag:"선택한 파일에서 태그 제거",removeAllTags:"선택한 파일에서 모든 태그 제거",openAllFiles:"모든 파일 열기",rebuildCache:"캐시 다시 빌드"},plugin:{viewName:"Notebook Navigator",calendarViewName:"캘린더",folderNoteSidebarViewName:"폴더 노트",ribbonTooltip:"Notebook Navigator",revealInNavigator:"Notebook Navigator에서 표시"},tooltips:{lastModifiedAt:"마지막 수정",createdAt:"생성됨",file:"파일",files:"파일",folder:"폴더",folders:"폴더",wordCount:"단어 수"},fileCounts:{words:"{count}개 단어",characters:"{count}자",separator:" · "},settings:{changeDefaultSettings:"기본 설정 변경",metadataReport:{exportSuccess:"메타데이터 보고서 내보내기 실패: {filename}",exportFailed:"메타데이터 보고서 내보내기 실패"},sections:{general:"일반",vaultFilters:"표시 필터",appearanceBehavior:"모양 및 동작",navigationPane:"탐색 창",calendar:"달력",fileOperations:"파일 작업",icons:"아이콘 팩",folders:"폴더",folderNotes:"폴더 노트",folderNoteFiles:"폴더 노트 파일",foldersAndFolderNotes:"폴더 및 폴더 노트",tagsAndProperties:"태그 및 속성",tags:"태그",listPane:"목록 창",notes:"파일 표시",shortcutsAndRecentFiles:"바로 가기 및 최근 파일",advanced:"고급"},pageGroups:{configuration:"구성",navigationAndContent:"탐색 창",notesAndLists:"목록 창",calendarAndTools:"달력 및 도구"},pageDescriptions:{general:"릴리스 노트, 지원, 보관소 프로필, 파일 유형, 속성 키.",vaultFilters:"숨겨진 폴더, 태그, 파일, 파일 태그 및 속성 규칙.",appearanceBehavior:"동작, 키보드 탐색, 마우스 버튼, 모양 및 서식.",navigationPane:"레이아웃, 모양, 노트 수, 접기 동작 및 무지개 색상.",shortcuts:"바로 가기 표시, 배지, 최근 파일 및 고정된 항목.",calendar:"달력 표시, 날짜 노트, 템플릿, 로케일 및 사이드바 위치.",fileOperations:"템플릿, 삭제 확인, 첨부 파일 및 파일 이동 충돌 동작.",foldersAndFolderNotes:"폴더 표시, 폴더 노트, 폴더 노트 템플릿 및 폴더 노트 동작.",tagsProperties:"태그 및 속성 섹션, 아이콘, 정렬, 범위 및 상속.",listPane:"정렬, 그룹화, 목록 모드, 고정된 노트 및 그림 미리보기.",frontmatter:"표시 이름, 타임스탬프, 아이콘, 색상에 대한 프런트매터 필드.",notes:"제목, 미리보기 텍스트, 대표 이미지, 태그, 속성, 날짜, 단어 수 및 문자 수.",iconPacks:"인터페이스 아이콘, 파일 아이콘 및 아이콘 팩 관리.",advanced:"진단, 메타데이터 정리, 가져오기/내보내기 및 초기화."},groups:{general:{vaultConfiguration:"보관소 설정",templates:"템플릿",behavior:"동작",keyboardNavigation:"키보드 탐색",mouseButtons:"마우스 버튼",view:"모양",icons:"아이콘",desktopAppearance:"데스크톱 모양새",mobileAppearance:"모바일 모양",formatting:"서식"},advanced:{maintenance:"유지 관리",resetSettings:"설정 초기화"},navigation:{appearance:"모양",banner:"배너",collapseItems:"항목 접기",dragAndDrop:"끌어서 놓기",noteCounts:"노트 수",rainbowColors:"무지개 색상",leftSidebar:"왼쪽 사이드바",calendarIntegration:"캘린더 연동"},list:{display:"모양",groupHeaders:"그룹 머리글",propertySort:"속성 정렬",manualSort:"수동 정렬",pinnedNotes:"고정된 노트",drawingPreviews:"그림 미리보기"},notes:{frontmatter:"프런트매터 필드",tasks:"작업",icon:"아이콘",title:"제목",previewText:"미리보기 텍스트",featureImage:"대표 이미지",tags:"태그",properties:"속성",date:"날짜",parentFolder:"상위 폴더",wordCount:"단어 및 문자 수"}},syncMode:{notSynced:"(동기화되지 않음)",switchToSynced:"동기화 활성화",switchToLocal:"동기화 비활성화"},items:{listPaneTitle:{name:"목록 창 제목",desc:"목록 창 제목을 표시할 위치를 선택하세요.",options:{header:"헤더에 표시",list:"목록 창에 표시",hidden:"표시하지 않음"}},sortNotesBy:{name:"기본 정렬 순서",desc:"노트의 기본 정렬 순서를 선택하세요.",options:{"modified-desc":"수정 날짜 (최신 상위)","modified-asc":"수정 날짜 (오래된 상위)","created-desc":"생성 날짜 (최신 상위)","created-asc":"생성 날짜 (오래된 상위)","title-asc":"제목 (가나다 상위)","title-desc":"제목 (역순 상위)","filename-asc":"파일 이름 (가나다 상위)","filename-desc":"파일 이름 (역순 상위)"},directions:{asc:"오름차순",desc:"내림차순"},fields:{modified:"수정 날짜",created:"생성 날짜",title:"제목",filename:"파일 이름",property:"속성"}},propertySortKey:{name:"정렬에 사용할 속성",desc:"속성 정렬 옵션으로 표시되는 쉼표로 구분된 frontmatter 속성. 배열 값은 하나의 문자열로 결합됩니다. 이 속성들은 변경되지 않습니다.",placeholder:"published, author"},propertySortSecondary:{name:"보조 정렬",desc:"속성 정렬 사용 시 노트의 속성 값이 같거나 속성 값이 없을 때 적용됩니다.",options:{title:"제목",filename:"파일 이름",created:"생성 날짜",modified:"편집 날짜"}},propertySortInstructions:{intro:"위에 나열된 각 속성은 목록 창의 정렬 메뉴에 정렬 옵션으로 표시됩니다. 그중 하나를 선택하면 해당 frontmatter 값으로 노트가 정렬됩니다."},manualSortPropertyKey:{name:"수동 정렬 속성",desc:"수동 정렬에서 숫자 인덱스 값을 저장하는 데 사용되는 frontmatter 속성입니다."},manualSortGroupHeaderProperty:{name:"그룹 머리글 속성",desc:"사용자 지정 그룹 머리글을 저장하는 데 사용되는 frontmatter 속성입니다."},groupHeadersInstructions:{intro:"사용자 지정 그룹 머리글은 목록 창에서 노트 위에 표시됩니다.",items:["목록 창의 정렬 메뉴에서 그룹화를 **사용자 지정**으로 설정합니다.","노트를 마우스 오른쪽 버튼으로 클릭하고 **그룹 머리글 설정**을 선택하여 노트 위에 머리글을 추가합니다."]},manualSortNewNotePlacement:{name:"새 노트 배치",desc:"현재 목록이 수동 정렬을 사용할 때 새 노트가 배치될 위치를 선택하세요.",options:{top:"상단",bottom:"하단","below-selected-note":"선택한 노트 아래",unsorted:"정렬되지 않음"}},confirmBeforeManualSort:{name:"수동 정렬 전 확인",desc:"수동 정렬 속성을 처음으로 노트에 기록하기 전에 경고를 표시합니다. 비활성화하면 노트는 경고 없이 속성을 받습니다."},manualSortInstructions:{intro:"수동 정렬은 각 노트의 frontmatter 속성에 숫자 인덱스 값을 기록합니다. 인덱스가 없는 노트는 정렬되지 않음 아래에 표시됩니다.",items:["정렬 메뉴에서 **수동 정렬**을 선택하여 수동 정렬을 활성화합니다. 그 후 노트를 재정렬하는 두 가지 방법이 있습니다.","정렬 메뉴에서 **정렬 순서 편집...**을 선택하여 재정렬 보기를 엽니다. 마우스로, 또는 모바일에서는 터치로 노트를 드래그합니다. 데스크톱에서는 **Cmd/Ctrl** 또는 **Shift** 클릭으로 여러 노트를 선택한 다음, 그 중 하나를 드래그하여 전체 그룹을 이동합니다.","목록 창에서 한 노트를 선택하거나 여러 노트를 다중 선택한 다음, **Cmd/Ctrl + Arrow Up/Down**을 눌러 선택 항목을 위아래로 이동합니다."]},revealFileOnListChanges:{name:"목록 변경 시 선택된 파일로 스크롤",desc:"노트 고정, 하위 노트 표시, 폴더 모양 변경 또는 파일 작업 실행 시 선택된 파일로 스크롤합니다."},includeDescendantNotes:{name:"하위 폴더 / 하위 항목 노트 표시",desc:"폴더, 태그 또는 속성을 볼 때 중첩된 하위 폴더와 태그 및 속성 하위 항목의 노트를 포함합니다."},limitPinnedToCurrentFolder:{name:"노트를 해당 폴더에서만 고정",desc:"고정된 노트는 자신의 폴더에서만 고정된 것으로 표시됩니다. 폴더 노트이거나 고정된 노트가 많을 때 유용합니다. 태그 또는 속성 보기에는 영향을 주지 않습니다."},separateNoteCounts:{name:"현재와 하위 노트 수를 별도로 표시",desc:'폴더, 태그, 속성의 노트 수를 "현재 ▾ 하위" 형식으로 표시합니다.'},groupNotes:{name:"기본 그룹화",desc:"사용자 지정은 frontmatter에 정의된 머리글을 표시합니다. 날짜는 노트를 날짜별로 그룹화합니다. 폴더는 노트를 폴더별로 그룹화합니다. 태그와 속성 보기는 폴더가 선택되어 있으면 날짜 그룹을 사용합니다.",options:{custom:"사용자 지정",date:"날짜",folder:"폴더"}},showSelectedNavigationPills:{name:"태그 및 속성 필을 항상 표시",desc:'비활성화하면 현재 탐색 선택과 일치하는 필이 숨겨집니다(예: "레시피" 태그를 탐색할 때 "레시피" 태그 필이 숨겨짐). 활성화하면 모든 필이 항상 표시됩니다.'},stickyGroupHeaders:{name:"그룹 헤더 고정",desc:"스크롤하는 동안 현재 날짜, 폴더 또는 고정된 섹션 헤더를 계속 표시합니다."},showFolderGroupPaths:{name:"하위 폴더 경로 표시",desc:"목록 창에서 폴더별로 그룹화할 때 폴더 이름만 표시하는 대신 하위 폴더 경로를 표시합니다."},showCurrentFolderFilesAtBottom:{name:"폴더 그룹화: 현재 폴더 파일을 하단에 표시",desc:"기본 그룹화가 폴더인 경우 선택한 폴더 바로 아래의 파일을 하위 폴더 그룹 아래로 이동합니다."},defaultListMode:{name:"기본 목록 모드",desc:"기본 목록 레이아웃을 선택합니다. 표준은 제목, 날짜, 설명, 미리보기 텍스트를 표시합니다. 컴팩트는 제목만 표시합니다. 외형은 폴더별로 덮어쓸 수 있습니다.",options:{standard:"표준",compact:"컴팩트"}},showFileIcons:{name:"파일 아이콘 표시",desc:"파일 아이콘을 왼쪽 정렬 간격과 함께 표시. 비활성화하면 아이콘과 들여쓰기가 모두 제거됩니다. 우선순위: 미완료 작업 아이콘 > 사용자 지정 아이콘 > 폴더 아이콘 > 파일 이름 아이콘 > 파일 유형 아이콘 > 기본값 아이콘."},useFolderIcon:{name:"폴더 아이콘 사용",desc:"사용자 지정 파일 아이콘이 설정되지 않은 경우 상위 폴더 아이콘을 표시합니다. 사용자 지정 파일 색상이 설정되지 않은 경우 폴더 색상이 사용됩니다."},showFileIconUnfinishedTask:{name:"미완료 작업 아이콘",desc:"노트에 미완료 작업이 있을 때 작업 아이콘을 표시합니다."},showFileBackgroundUnfinishedTask:{name:"미완료 작업 배경",desc:"노트에 미완료 작업이 있을 때 배경색을 적용합니다."},unfinishedTaskBackgroundColor:{name:"미완료 작업 배경색",desc:"노트에 미완료 작업이 있을 때 사용할 배경색을 설정합니다."},showFilenameMatchIcons:{name:"파일 이름으로 아이콘 설정",desc:"파일 이름의 텍스트를 기반으로 아이콘을 지정합니다."},fileNameIconMap:{name:"파일 이름 아이콘 맵",desc:"텍스트를 포함하는 파일에 지정된 아이콘이 적용됩니다. 줄당 하나의 매핑: 텍스트=아이콘",placeholder:`# 텍스트=아이콘
회의=ph-calendar
청구서=ph-receipt`,editTooltip:"매핑 편집"},showCategoryIcons:{name:"파일 유형으로 아이콘 설정",desc:"파일 확장자를 기반으로 아이콘을 지정합니다."},fileTypeIconPreset:{name:"파일 아이콘 프리셋",desc:"기본 제공 아이콘 또는 아이콘 팩 프리셋을 선택합니다. 사용자 지정 확장자 규칙은 이 프리셋보다 우선합니다.",options:{none:"기본 제공 아이콘"},notInstalledWarning:"이 아이콘 팩이 설치되어 있지 않습니다. 대신 기본 제공 아이콘이 표시됩니다."},fileTypeIconMap:{name:"파일 유형 아이콘 맵",desc:"확장자가 있는 파일에 지정된 아이콘이 적용됩니다. 줄당 하나의 매핑: 확장자=아이콘",placeholder:`# Extension=icon
cpp=ph-file-code
pdf=ph-file-pdf`,editTooltip:"매핑 편집"},compactItemHeight:{name:"슬림 항목 높이",desc:"데스크톱과 모바일에서 슬림 목록 항목 높이를 설정합니다(픽셀).",resetTooltip:"기본값으로 복원 (28px)"},compactItemHeightScaleText:{name:"슬림 항목 높이에 맞춰 텍스트 크기 조정",desc:"항목 높이를 줄이면 슬림 목록 텍스트 크기를 조정합니다."},showParentFolder:{name:"상위 폴더 표시",desc:"하위 폴더, 태그 또는 속성의 노트에 상위 폴더 이름을 표시합니다."},showParentFolderFullPath:{name:"전체 경로 표시",desc:"폴더 이름만이 아니라 상위 폴더의 전체 경로를 표시합니다."},parentFolderClickRevealsFile:{name:"상위 폴더 클릭 시 폴더 열기",desc:"상위 폴더 레이블을 클릭하면 목록 창에서 폴더를 엽니다."},showParentFolderColor:{name:"상위 폴더 색상 표시",desc:"상위 폴더 레이블에 폴더 색상을 사용합니다."},showParentFolderIcon:{name:"상위 폴더 아이콘 표시",desc:"상위 폴더 레이블 옆에 폴더 아이콘을 표시합니다."},showQuickActions:{name:"빠른 작업 표시",desc:"파일 위에 마우스를 올리면 작업 버튼을 표시합니다. 버튼 컨트롤로 표시할 작업을 선택합니다."},dualPane:{name:"이중 창 레이아웃",desc:"데스크톱에서 탐색 창과 목록 창을 나란히 표시합니다."},dualPaneOrientation:{name:"듀얼 창 방향",desc:"듀얼 창이 활성화된 경우 가로 또는 세로 레이아웃을 선택합니다.",options:{horizontal:"가로 분할",vertical:"세로 분할"}},narrowSidebarLayout:{name:"사이드바가 너무 좁을 때",desc:"탐색 창과 목록 창이 나란히 맞지 않을 때의 동작을 선택합니다.",options:{none:"아무것도 하지 않음",singlePane:"단일 창으로 전환",vertical:"세로 분할로 전환"}},narrowSidebarTrigger:{name:"좁은 사이드바 임계값",desc:"사이드바 너비 임계값 계산 방법을 선택합니다.",options:{fitPanes:"창에 맞춤",customWidth:"사용자 지정 너비"}},narrowSidebarCustomWidth:{name:"좁은 사이드바 임계값 너비",desc:"사이드바가 이 너비보다 좁으면 전환합니다.",resetTooltip:"기본 너비로 재설정"},appearanceBackground:{name:"배경색",desc:"탐색 및 목록 패널의 배경색을 선택합니다.",options:{separate:"분리된 배경",primary:"목록 배경 사용",secondary:"탐색 배경 사용"}},appearanceScale:{name:"확대 수준",desc:"Notebook Navigator의 전체 확대 수준을 제어합니다(백분율)."},useFloatingToolbars:{name:"iOS/iPadOS에서 플로팅 툴바 사용",desc:"iOS 및 iPadOS에서만 적용됩니다."},startView:{name:"기본 시작 보기",desc:"Notebook Navigator를 열 때 표시할 창을 선택하세요. 탐색 창은 바로가기, 최근 파일, 폴더 구조를 표시합니다. 목록 창은 파일 목록을 표시합니다.",options:{navigation:"탐색 창",files:"목록 창"}},toolbarButtons:{name:"도구 모음 버튼",desc:"도구 모음에 표시할 버튼을 선택하세요. 숨겨진 버튼은 명령과 메뉴를 통해 계속 사용할 수 있습니다.",navigationLabel:"탐색 도구 모음",listLabel:"목록 도구 모음"},createNewNotesInNewTab:{name:"새 노트를 새 탭에서 열기",desc:"활성화하면 새 노트 만들기 명령이 새 탭에서 노트를 엽니다. 비활성화하면 노트가 현재 탭을 대체합니다."},autoRevealActiveNote:{name:"활성 노트 자동 표시",desc:"빠른 전환기, 링크 또는 검색에서 열 때 노트를 자동으로 표시합니다."},autoRevealShortestPath:{name:"자동 표시: 최단 경로 사용",desc:"활성화: 자동 표시가 가장 가까운 보이는 상위 폴더 또는 태그를 선택합니다. 비활성화: 자동 표시가 파일의 실제 폴더와 정확한 태그를 선택합니다."},autoRevealIgnoreRightSidebar:{name:"자동 표시: 오른쪽 사이드바의 이벤트 무시",desc:"오른쪽 사이드바에서 클릭하거나 노트를 변경할 때 활성 노트를 변경하지 않습니다."},autoRevealIgnoreOtherWindows:{name:"자동 표시: 다른 창의 이벤트 무시",desc:"다른 창에서 노트를 작업할 때 활성 노트를 변경하지 않습니다."},paneTransitionDuration:{name:"단일 창 애니메이션",desc:"단일 창 모드에서 창 전환 시 트랜지션 시간 (밀리초).",resetTooltip:"기본값으로 재설정"},autoSelectFirstFileOnFocusChange:{name:"첫 번째 노트 자동 선택",desc:"폴더, 태그 또는 속성을 전환할 때 첫 번째 노트를 자동으로 엽니다."},skipAutoScroll:{name:"바로가기 자동 스크롤 비활성화",desc:"바로가기 내 항목을 클릭할 때 탐색 패널을 스크롤하지 않습니다."},autoExpandNavItems:{name:"선택 시 확장",desc:"선택 시 폴더와 태그를 확장합니다. 단일 창 모드에서는 첫 번째 선택이 확장하고 두 번째 선택이 파일을 표시합니다."},collapseOtherBranchesOnExpand:{name:"하나의 펼친 분기",desc:"폴더, 태그 또는 속성을 펼칠 때 같은 트리의 다른 분기를 접습니다."},springLoadedFolders:{name:"드래그 중 확장",desc:"드래그 작업 중에 마우스를 올리면 폴더와 태그를 확장합니다."},springLoadedFoldersInitialDelay:{name:"드래그 중 확장: 첫 확장 지연",desc:"드래그 작업 중 첫 번째 폴더 또는 태그가 확장되기 전 지연(초)."},springLoadedFoldersSubsequentDelay:{name:"드래그 중 확장: 후속 확장 지연",desc:"같은 드래그 작업 중 추가 폴더 또는 태그가 확장되기 전 지연(초)."},navigationBanner:{name:"탐색 배너 (저장소 프로필)",desc:"탐색 창 상단에 이미지를 표시합니다. 선택한 저장소 프로필에 따라 변경됩니다.",current:"현재 배너: {path}",chooseButton:"이미지 선택"},pinNavigationBanner:{name:"배너 고정",desc:"탐색 배너를 탐색 트리 위에 고정합니다."},showShortcuts:{name:"바로가기 표시",desc:"탐색 창에 바로가기 섹션을 표시합니다."},shortcutBadgeDisplay:{name:"바로가기 배지",desc:"바로가기 옆에 표시할 내용. '바로가기 1-9 열기' 명령으로 바로가기를 직접 열 수 있습니다.",options:{index:"위치 (1-9)",count:"항목 수",none:"없음"}},showRecentNotes:{name:"최근 파일 표시",desc:"탐색 창에 최근 파일 섹션을 표시합니다."},hideRecentNotes:{name:"최근 파일에서 파일 유형 숨기기",desc:"최근 파일 섹션에서 숨길 파일 유형을 선택합니다.",options:{none:"없음",folderNotes:"폴더 노트"}},recentNotesCount:{name:"최근 파일 수",desc:"표시할 최근 파일의 수입니다."},pinRecentNotesWithShortcuts:{name:"바로가기와 함께 최근 파일 고정",desc:"바로가기를 고정할 때 최근 파일을 포함합니다."},calendarEnabled:{name:"캘린더 활성화",desc:"Notebook Navigator의 캘린더 기능을 활성화합니다."},calendarPlacement:{name:"캘린더 위치",desc:"왼쪽 또는 오른쪽 사이드바에 표시합니다.",options:{leftSidebar:"왼쪽 사이드바",rightSidebar:"오른쪽 사이드바"}},calendarLeftPlacement:{name:"단일 창 배치",desc:"단일 창 모드에서 캘린더가 표시되는 위치입니다.",options:{navigationPane:"탐색 창",below:"창 아래"}},calendarLocale:{name:"지역",desc:"달력 날짜 형식, 주 번호, 그리고 한 주의 첫 번째 요일을 제어합니다.",weekPathMismatchWarning:"표시되는 캘린더와 주간 노트 경로가 주의 시작 요일 또는 주 번호 매김이 서로 다릅니다.",options:{systemDefault:"기본값"}},calendarWeekendDays:{name:"주말",desc:"주말을 다른 배경색으로 표시합니다.",options:{none:"없음",satSun:"토요일과 일요일",friSat:"금요일과 토요일",thuFri:"목요일과 금요일"}},calendarMonthHeadingFormat:{name:"월 이름 형식",desc:"월 이름을 긴 형식(1월) 또는 짧은 형식(1월)으로 표시합니다.",options:{full:"1월 (전체)",short:"1월 (축약)"}},showInfoButtons:{name:"정보 버튼 표시",desc:"검색 바와 캘린더 헤더에 정보 버튼을 표시합니다."},calendarWeeksToShow:{name:"왼쪽 사이드바에 표시할 주",desc:"오른쪽 사이드바의 캘린더는 항상 전체 월을 표시합니다.",options:{fullMonth:"전체 월",oneWeek:"1주",weeksCount:"{count}주"}},calendarHighlightToday:{name:"오늘 날짜 강조 표시",desc:"오늘 날짜를 배경색과 굵은 텍스트로 강조 표시합니다."},calendarShowFeatureImage:{name:"대표 이미지 표시",desc:"캘린더에서 노트의 대표 이미지를 표시합니다."},calendarShowWeekNumber:{name:"주 번호 표시",desc:"주 번호 열을 추가합니다."},calendarShowQuarter:{name:"분기 표시",desc:"캘린더 헤더에 분기 레이블을 추가합니다."},calendarShowYearCalendar:{name:"연간 캘린더 표시",desc:"오른쪽 사이드바에 연도 탐색 및 월 그리드를 표시합니다."},calendarConfirmBeforeCreate:{name:"생성 전 확인",desc:"새 데일리 노트를 생성할 때 확인 대화 상자를 표시합니다."},calendarIntegrationMode:{name:"데일리 노트 소스",desc:"캘린더 노트 소스.",options:{dailyNotes:"데일리 노트(코어 플러그인)",notebookNavigator:"Notebook Navigator"},info:{dailyNotes:"폴더 및 날짜 형식은 데일리 노트 코어 플러그인에서 설정됩니다."}},calendarPeriodicNotesLocale:{name:"정기 노트 지역",desc:"Notebook Navigator의 정기 노트 경로에서 지역화된 월 이름, 요일 이름, 주 번호, 주의 시작 요일을 제어합니다.",options:{calendar:"캘린더",obsidian:"Obsidian"}},calendarCustomRootFolder:{name:"루트 폴더",desc:"정기 노트의 기본 폴더. 날짜 패턴에 하위 폴더를 포함할 수 있습니다. 선택한 보관소 프로필에 따라 변경됩니다.",placeholder:"Personal/Diary"},calendarTemplateFolder:{name:"템플릿 폴더 위치",desc:"템플릿 파일 선택기가 이 폴더의 노트를 표시합니다.",placeholder:"Templates",usage:"달력 노트와 폴더 노트에서 사용됩니다. 템플릿은 달력 > 캘린더 연동 및 폴더 및 폴더 노트 > 폴더 노트 파일에서 설정하세요."},calendarCustomFilePattern:{name:"일일 노트",desc:"Moment 날짜 형식을 사용하여 경로 지정. 하위 폴더 이름은 대괄호로 감싸세요, 예: [Work]/YYYY. 템플릿 아이콘을 클릭하여 템플릿을 설정하세요. 템플릿 폴더 위치는 파일 작업 > 템플릿에서 설정하세요.",momentDescPrefix:"",momentLinkText:"Moment 날짜 형식",momentDescSuffix:"을 사용하여 경로 지정. 하위 폴더 이름은 대괄호로 감싸세요, 예: [Work]/YYYY. 템플릿 아이콘을 클릭하여 템플릿을 설정하세요. 템플릿 폴더 위치는 파일 작업 > 템플릿에서 설정하세요.",templaterSupportInstalled:"✅ Templater 플러그인이 설치되어 전체 템플릿 지원을 사용할 수 있습니다.",templaterSupportMissing:"⚠️ 전체 템플릿 지원을 사용하려면 Templater 플러그인을 설치하세요.",placeholder:"YYYY/YYYYMMDD",example:"현재 구문: {path}",parsingError:"패턴은 전체 날짜(연, 월, 일)로 포맷되고 다시 파싱될 수 있어야 합니다."},calendarCustomWeekPattern:{name:"주간 노트",parsingError:"패턴은 전체 주(주 연도, 주 번호)로 포맷되고 다시 파싱될 수 있어야 합니다.",weekPathMismatchWarning:'주간 노트 경로는 정기 노트 지역을 사용합니다. 일치하는 지역을 사용하거나 월요일 기준 주에는 "GGGG"와 "WW"를 사용하세요.',mixedWeekTokensWarning:'이 패턴은 월요일 기준 주 토큰("W" 또는 "G")과 지역 기준 주 토큰("w" 또는 "g")을 혼합하여 사용합니다. 일관되게 한 가지 세트를 사용하세요. 월요일 기준 주에는 "GGGG"와 "WW", 주간 노트가 선택한 지역 설정을 따라야 하는 경우 "gggg"와 "ww"를 사용하세요.'},calendarCustomMonthPattern:{name:"월간 노트",parsingError:"패턴은 전체 월(연도, 월)로 포맷되고 다시 파싱될 수 있어야 합니다."},calendarCustomQuarterPattern:{name:"분기별 노트",parsingError:"패턴은 전체 분기(연도, 분기)로 포맷되고 다시 파싱될 수 있어야 합니다."},calendarCustomYearPattern:{name:"연간 노트",parsingError:"패턴은 전체 연도(연도)로 포맷되고 다시 파싱될 수 있어야 합니다."},calendarTemplateFile:{current:"템플릿 파일: {name}"},showTooltips:{name:"도구 설명 표시",desc:"노트와 폴더에 대한 추가 정보가 있는 호버 도구 설명을 표시합니다."},showTooltipPath:{name:"도구 설명에 경로 표시",desc:"도구 설명에서 노트 이름 아래에 폴더 경로를 표시합니다."},showTooltipWordCount:{name:"도구 설명에 단어 수 표시",desc:"도구 설명에 노트의 단어 수를 표시합니다."},resetPaneSeparator:{name:"창 구분선 위치 초기화",desc:"탐색 창과 목록 창 사이의 드래그 가능한 구분선을 기본 위치로 초기화합니다.",buttonText:"구분선 초기화",notice:"구분선 위치가 초기화되었습니다. Obsidian을 재시작하거나 Notebook Navigator를 다시 열어 적용하세요."},settingsTransfer:{name:"설정 가져오기 및 내보내기",desc:"Notebook Navigator 설정을 JSON으로 내보내거나 가져옵니다. 가져오기는 모든 설정을 대체합니다.",importButtonText:"가져오기",exportButtonText:"내보내기",import:{modalTitle:"설정 가져오기",fileButtonName:"파일에서 가져오기",fileButtonDesc:"디스크에서 JSON 파일을 불러옵니다.",fileButtonText:"파일에서 가져오기",editorName:"JSON",editorDesc:"아래에 JSON을 붙여넣거나 편집하세요. 포함되지 않은 설정은 기본값으로 초기화됩니다.",placeholder:`{
  "folderSortOrder": "alpha-desc"
}`,confirmButtonText:"가져오기",successNotice:"설정을 가져왔습니다.",errorNotice:"설정 가져오기에 실패했습니다: {message}",fileReadError:"파일을 읽을 수 없습니다: {message}"},export:{modalTitle:"설정 내보내기",editorName:"JSON",editorDesc:"기본값에서 변경된 설정만 포함됩니다.",placeholder:"{}",copyButtonText:"클립보드에 복사",downloadButtonText:"다운로드",copyNotice:"설정이 클립보드에 복사되었습니다.",downloadNotice:"설정이 내보내졌습니다.",downloadError:"설정 다운로드에 실패했습니다: {message}"}},resetAllSettings:{name:"모든 설정 초기화",desc:"Notebook Navigator의 모든 설정을 기본값으로 초기화합니다.",buttonText:"모든 설정 초기화",confirmTitle:"모든 설정을 초기화하시겠습니까?",confirmMessage:"Notebook Navigator의 모든 설정이 기본값으로 초기화됩니다. 되돌릴 수 없습니다.",confirmButtonText:"모든 설정 초기화",notice:"모든 설정이 초기화되었습니다. Obsidian을 재시작하거나 Notebook Navigator를 다시 열어 적용하세요.",error:"설정 초기화에 실패했습니다."},multiSelectModifier:{name:"다중 선택 수정자",desc:"다중 선택을 전환하는 수정자 키를 선택하세요. Option/Alt를 선택하면 Cmd/Ctrl 클릭이 새 탭에서 노트를 엽니다.",options:{cmdCtrl:"Cmd/Ctrl 클릭",optionAlt:"Option/Alt 클릭"}},enterToOpenFiles:{name:"Enter 키로 파일 열기",desc:"목록 키보드 탐색 중 Enter 키를 누를 때만 파일을 엽니다. macOS에서는 Enter 키가 파일 이름을 변경하지 않도록 합니다."},shiftEnterOpenContext:{name:"Shift+Enter",desc:"Shift+Enter를 누를 때 선택한 파일을 열지 이름을 변경할지 선택합니다."},cmdEnterOpenContext:{name:"Cmd+Enter",desc:"Cmd+Enter를 누를 때 선택한 파일을 열지 이름을 변경할지 선택합니다."},ctrlEnterOpenContext:{name:"Ctrl+Enter",desc:"Ctrl+Enter를 누를 때 선택한 파일을 열지 이름을 변경할지 선택합니다."},mouseBackForwardAction:{name:"마우스 뒤로/앞으로 버튼",desc:"데스크톱에서 마우스 뒤로/앞으로 버튼의 동작.",options:{none:"시스템 기본값 사용",singlePaneSwitch:"패널 전환 (단일 패널)",history:"기록 탐색"}},fileVisibility:{name:"파일 유형 표시 (볼트 프로필)",desc:"네비게이터에 표시할 파일 유형을 필터링합니다. Obsidian에서 지원하지 않는 파일 유형은 외부 응용 프로그램에서 열릴 수 있습니다.",options:{documents:"문서 (.md, .canvas, .base)",supported:"지원됨 (Obsidian에서 열림)",all:"모두 (외부에서 열릴 수 있음)"}},homepage:{name:"홈페이지",desc:"시작 시 자동으로 열 대상을 선택합니다.",current:"현재: {path}",chooseButton:"파일 선택",options:{none:"없음",file:"파일",dailyNote:"일간 노트",weeklyNote:"주간 노트",monthlyNote:"월간 노트",quarterlyNote:"분기 노트",yearlyNote:"연간 노트"},file:{name:"홈페이지: 시작 파일",empty:"선택된 파일 없음"},createMissing:{name:"홈페이지: 없으면 노트 생성",desc:"시작 시 또는 명령 실행 시 정기 노트가 없으면 생성합니다."}},excludedNotes:{name:"속성 규칙으로 노트 숨기기 (볼트 프로필)",desc:"쉼표로 구분된 frontmatter 규칙 목록입니다. `key` 또는 `key=value` 항목을 사용합니다 (예: status=done, published=true, archived).",placeholder:"status=done, published=true, archived"},excludedFileNamePatterns:{name:"파일 숨기기 (볼트 프로필)",desc:"숨길 파일 이름 패턴의 쉼표로 구분된 목록입니다. * 와일드카드와 / 경로를 지원합니다 (예: temp-*, *.png, /assets/*).",placeholder:"temp-*, *.png, /assets/*"},vaultProfiles:{name:"보관소 프로필",desc:"프로필은 파일 유형 가시성, 숨겨진 파일, 숨겨진 폴더, 숨겨진 태그, 숨겨진 노트용 속성 규칙, 바로가기, 탐색 배너를 저장합니다. 탐색 창 헤더에서 프로필을 전환합니다.",defaultName:"기본",addButton:"프로필 추가",editProfilesButton:"프로필 편집",addProfileOption:"프로필 추가...",applyButton:"적용",deleteButton:"프로필 삭제",addModalTitle:"프로필 추가",editProfilesModalTitle:"프로필 편집",addModalPlaceholder:"프로필 이름",deleteModalTitle:"{name} 삭제",deleteModalMessage:"{name}을(를) 제거하시겠습니까? 이 프로필에 저장된 숨겨진 파일, 폴더, 태그 및 속성 기반 노트 필터가 삭제됩니다.",moveUp:"위로 이동",moveDown:"아래로 이동",errors:{emptyName:"프로필 이름을 입력하세요",duplicateName:"프로필 이름이 이미 존재합니다"}},vaultTitle:{name:"볼트 제목 위치",desc:"볼트 제목이 표시되는 위치를 선택합니다.",options:{header:"헤더에 표시",navigation:"탐색 창에 표시"}},excludedFolders:{name:"폴더 숨기기 (볼트 프로필)",desc:"숨길 폴더의 쉼표로 구분된 목록입니다. 이름 패턴: assets* (assets로 시작하는 폴더), *_temp (_temp로 끝나는). 경로 패턴: /archive (루트 archive만), /res* (res로 시작하는 루트 폴더), /*/temp (한 레벨 깊이의 temp 폴더), /projects/* (projects 내부의 모든 폴더).",placeholder:"templates, assets*, /archive, /res*"},showFileDate:{name:"날짜 표시",desc:"노트 이름 아래에 날짜를 표시합니다."},alphabeticalDateMode:{name:"이름 정렬 시",desc:"노트가 이름순으로 정렬될 때 표시할 날짜.",options:{created:"생성일",modified:"수정일"}},showFileTags:{name:"파일 태그 표시",desc:"파일 항목에 클릭 가능한 태그를 표시합니다."},showFileTagAncestors:{name:"전체 태그 경로 표시",desc:"태그의 전체 계층 경로를 표시합니다. 활성화: 'ai/openai', 'work/projects/2024'. 비활성화: 'openai', '2024'."},colorFileTags:{name:"파일 태그 색상 지정",desc:"파일 항목의 태그 배지에 태그 색상을 적용합니다."},prioritizeColoredFileTags:{name:"색상 태그 우선 표시",desc:"색상 태그를 다른 태그보다 먼저 정렬합니다."},showFileTagsInCompactMode:{name:"슬림 모드에서 파일 태그 표시",desc:"날짜, 미리보기, 이미지가 숨겨져 있을 때 태그를 표시합니다."},showFileProperties:{name:"파일 속성 표시",desc:'파일 항목에 속성을 표시합니다. "속성 키 표시 설정" 대화상자에서 표시할 속성을 선택하세요.'},colorFileProperties:{name:"파일 속성에 색상 적용",desc:"파일 항목의 속성 배지에 속성 색상을 적용합니다."},prioritizeColoredFileProperties:{name:"색상 속성을 먼저 표시",desc:"파일 항목에서 색상 속성을 다른 속성보다 먼저 정렬합니다."},showFilePropertiesInCompactMode:{name:"간결 모드에서 속성 표시",desc:"간결 모드가 활성화되면 속성을 표시합니다."},textCountDisplay:{name:"카운트 유형",desc:"파일 항목에 표시할 노트 카운트를 선택합니다.",options:{none:"없음",words:"단어 수",characters:"문자 수",both:"단어 및 문자 수"}},textCountPlacement:{name:"배치",desc:"노트 카운트가 표시될 위치를 선택합니다.",options:{title:"제목 안",property:"속성으로"}},characterCountSpaces:{name:"문자 수",desc:"문자 수에 공백을 포함할지 선택합니다.",options:{include:"공백 포함",exclude:"공백 제외"}},wordCountTargetProperty:{name:"대상 속성",desc:"목표 단어 수가 들어 있는 프런트매터 속성 키입니다. 대상을 숨기려면 비워 두세요."},showWordCountPercentage:{name:"대상 백분율 표시",desc:"목표 단어 수가 있을 때 진행률 백분율만 표시합니다."},propertyFields:{name:"속성 키 (보관함 프로필)",desc:"프론트매터 속성 키. 키별로 탐색 창 및 파일 목록의 표시 여부를 설정할 수 있습니다.",addButtonTooltip:"속성 키 구성",noneConfigured:"구성된 속성 없음",singleConfigured:"1개 속성 구성됨: {properties}",multipleConfigured:"{count}개 속성 구성됨: {properties}"},showPropertiesOnSeparateRows:{name:"속성을 별도 행에 표시",desc:"각 속성을 개별 행에 표시합니다."},enablePropertyInternalLinks:{name:"속성 필을 노트에 연결",desc:"속성 필을 클릭하여 연결된 노트를 엽니다."},enablePropertyExternalLinks:{name:"속성 필을 URL에 연결",desc:"속성 필을 클릭하여 연결된 URL을 엽니다."},dateFormat:{name:"날짜 형식",desc:"날짜 표시 형식 (Moment 형식 사용).",placeholder:"YYYY년 M월 D일",help:`일반적인 형식:
YYYY년 M월 D일 = 2022년 5월 25일
DD/MM/YYYY = 25/05/2022
YYYY-MM-DD = 2022-05-25

토큰:
YYYY/YY = 년도
MMMM/MMM/MM = 월
DD/D = 일
dddd/ddd = 요일`,helpTooltip:"Moment 형식",momentLinkText:"Moment 형식"},timeFormat:{name:"시간 형식",desc:"시간 표시 형식 (Moment 형식 사용).",placeholder:"a h:mm",help:`일반적인 형식:
a h:mm = 오후 2:30 (12시간)
HH:mm = 14:30 (24시간)
a h:mm:ss = 오후 2:30:45
HH:mm:ss = 14:30:45

토큰:
HH/H = 24시간
hh/h = 12시간
mm = 분
ss = 초
a = 오전/오후`,helpTooltip:"Moment 형식",momentLinkText:"Moment 형식"},showFilePreview:{name:"노트 미리보기 표시",desc:"노트 이름 아래에 미리보기 텍스트를 표시합니다."},skipHeadingsInPreview:{name:"미리보기에서 제목 건너뛰기",desc:"미리보기 텍스트를 생성할 때 제목 줄을 건너뜁니다."},skipCodeBlocksInPreview:{name:"미리보기에서 코드 블록 건너뛰기",desc:"미리보기 텍스트를 생성할 때 코드 블록을 건너뜁니다."},stripHtmlInPreview:{name:"미리보기에서 HTML 제거",desc:"미리보기 텍스트에서 HTML 태그를 제거합니다. 큰 노트에서는 성능에 영향을 줄 수 있습니다."},stripLatexInPreview:{name:"미리보기에서 LaTeX 제거",desc:"미리보기 텍스트에서 인라인 및 블록 LaTeX 수식을 제거합니다."},previewProperties:{name:"미리보기 속성",desc:"미리보기 텍스트를 확인할 frontmatter 속성의 쉼표로 구분된 목록입니다. 텍스트가 있는 첫 번째 속성이 사용됩니다.",placeholder:"summary, description, abstract"},previewPropertiesFallback:{name:"노트 내용으로 대체",desc:"지정된 속성에 텍스트가 없을 때 노트 내용을 미리보기로 표시합니다."},previewRows:{name:"미리보기 행",desc:"미리보기 텍스트에 표시할 행 수입니다.",options:{1:"1행",2:"2행",3:"3행",4:"4행",5:"5행"}},fileNameRows:{name:"제목 행",desc:"노트 제목에 표시할 행 수입니다.",options:{1:"1행",2:"2행",3:"3행"}},useFolderColor:{name:"폴더 색상 사용",desc:"사용자 지정 파일 색상이 설정되지 않은 경우 노트 제목과 파일 아이콘에 상위 폴더 색상을 적용합니다. 우선순위: 사용자 지정 파일 색상 > 폴더 색상 > 기본 색상."},showFeatureImage:{name:"대표 이미지 표시",desc:"노트에서 발견된 첫 번째 이미지의 썸네일을 표시합니다."},forceSquareFeatureImage:{name:"대표 이미지를 정사각형으로 고정",desc:"대표 이미지를 정사각형 썸네일로 렌더링합니다."},featureImageProperties:{name:"이미지 속성",desc:"먼저 확인할 frontmatter 속성의 쉼표로 구분된 목록입니다. 없으면 마크다운 콘텐츠의 첫 번째 이미지를 사용합니다.",placeholder:"thumbnail, featureResized, feature"},featureImageExcludeProperties:{name:"속성이 있는 노트 제외",desc:"쉼표로 구분된 frontmatter 속성 목록입니다. 이러한 속성 중 하나라도 포함된 노트는 대표 이미지를 저장하지 않습니다.",placeholder:"private, confidential"},featureImageSize:{name:"대표 이미지 표시 크기",desc:"노트 목록에서 대표 이미지의 최대 렌더링 크기.",options:{standard:"64 px",large:"96 px",extraLarge:"128 px"}},featureImagePixelSize:{name:"대표 이미지 픽셀 크기",desc:"저장된 대표 이미지 썸네일을 생성할 때 사용되는 해상도. 큰 미리보기가 흐릿하게 보이면 이 값을 높이세요.",options:{standard:"256 x 144 px",large:"384 x 216 px",extraLarge:"512 x 288 px"}},downloadExternalFeatureImages:{name:"외부 이미지 다운로드",desc:"대표 이미지로 원격 이미지 및 YouTube 썸네일을 다운로드합니다."},hideDrawingPreviewImages:{name:"내보낸 미리보기 이미지 숨기기",desc:'내보낸 그리기 미리보기 PNG 파일을 숨깁니다. 표시하려면 "숨김 항목 표시"를 켜세요.'},drawingIntegrationInfo:{intro:"Notebook Navigator는 Excalidraw가 내보낸 PNG 파일을 드로잉 미리보기로 표시합니다.",items:["**Excalidraw 설정**에서 **Embedding Excalidraw into your Notes and Exporting**, 그다음 **Export Settings**, 그다음 **Auto-export Settings**를 엽니다.","**Auto-export PNG**를 활성화합니다. 선택적으로 **Export both dark- and light-themed image**를 활성화하세요.","Notebook Navigator는 **Drawing.excalidraw.png**, **Drawing.excalidraw.dark.png** 또는 **Drawing.excalidraw.light.png**를 찾습니다.","**내보낸 미리보기 이미지 숨기기**가 켜져 있는 동안에는 **숨김 항목 표시**도 켜져 있을 때만 PNG 파일이 나타납니다."]},showRootFolder:{name:"루트 폴더 표시",desc:"트리에서 보관함 이름을 루트 폴더로 표시합니다."},showFolderIcons:{name:"폴더 아이콘 표시",desc:"탐색 창의 폴더 옆에 아이콘을 표시합니다."},inheritFolderColors:{name:"폴더 색상 상속",desc:"하위 폴더가 상위 폴더에서 색상을 상속합니다."},folderSortOrder:{name:"폴더 정렬 순서",desc:"폴더를 마우스 오른쪽 버튼으로 클릭하여 하위 항목의 정렬 순서를 개별적으로 설정할 수 있습니다.",options:{alphaAsc:"A부터 Z까지",alphaDesc:"Z부터 A까지"}},showNoteCount:{name:"노트 수 표시",desc:"폴더, 태그, 속성 옆에 노트 수를 표시합니다."},showSectionIcons:{name:"바로 가기 및 최근 항목 아이콘 표시",desc:"바로 가기 및 최근 섹션의 항목 옆에 아이콘을 표시합니다."},interfaceIcons:{name:"인터페이스 아이콘",desc:"도구 모음, 폴더, 태그, 속성, 고정 항목, 검색, 정렬 아이콘을 편집합니다.",buttonText:"아이콘 편집"},showIconsColorOnly:{name:"아이콘에만 색상 적용",desc:"활성화하면 사용자 지정 색상이 아이콘에만 적용됩니다. 비활성화하면 아이콘과 텍스트 레이블 모두에 색상이 적용됩니다."},navRainbowMode:{name:"무지개 색상 모드 (보관소 프로필)",desc:"탐색 창에 무지개 색상을 적용합니다.",options:{none:"끄기",foreground:"텍스트 색상",background:"배경 색상"}},navRainbowFirstColor:{name:"첫 번째 색상",desc:"무지개 그라데이션의 첫 번째 색상."},navRainbowLastColor:{name:"마지막 색상",desc:"무지개 그라데이션의 마지막 색상."},navRainbowTransitionStyle:{name:"전환 스타일",desc:"첫 번째와 마지막 색상 사이에 사용되는 보간.",options:{hue:"색조",rgb:"RGB"}},navRainbowApplyToShortcuts:{name:"바로가기에 적용",desc:"무지개 색상을 바로가기에 적용합니다."},navRainbowApplyToRecent:{name:"최근 항목에 적용",desc:"무지개 색상을 최근 항목에 적용합니다."},navRainbowApplyToFolders:{name:"폴더에 적용",desc:"무지개 색상을 폴더에 적용합니다."},navRainbowFolderScope:{name:"폴더 범위",desc:"색상 할당을 시작할 폴더 수준을 선택합니다.",options:{root:"루트 수준",child:"하위 수준",all:"모든 수준"}},navRainbowApplyToTags:{name:"태그에 적용",desc:"무지개 색상을 태그에 적용합니다."},navRainbowTagScope:{name:"태그 범위",desc:"색상 할당을 시작할 태그 수준을 선택합니다.",options:{root:"루트 수준",child:"하위 수준",all:"모든 수준"}},navRainbowApplyToProperties:{name:"속성에 적용",desc:"무지개 색상을 속성에 적용합니다."},navRainbowBalanceHueLuminance:{name:"색상 간 일관된 밝기",desc:"색상 전환 중 시작 색상과 끝 색상 사이의 밝기를 보간합니다."},navRainbowSeparateThemeColors:{name:"라이트 및 다크 모드 색상 분리",desc:"라이트 모드와 다크 모드에서 서로 다른 레인보우 색상을 사용합니다."},navRainbowCopyLightToDark:"라이트 모드 색상을 다크 모드로 복사",navRainbowPropertyScope:{name:"속성 범위",desc:"색상 할당을 시작할 속성 수준을 선택합니다.",options:{root:"루트 수준",child:"하위 수준",all:"모든 수준"}},collapseBehavior:{name:"항목 접기",desc:"모두 펼치기/접기 버튼이 영향을 미치는 항목을 선택하세요.",options:{all:"모두",foldersOnly:"폴더만",tagsOnly:"태그만",propertiesOnly:"속성만"}},smartCollapse:{name:"선택한 항목 펼친 상태 유지",desc:"접을 때 선택한 항목과 상위 항목을 펼친 상태로 유지합니다."},excludeVaultRootFromCollapse:{name:"접을 때 보관소 루트 건너뛰기",desc:"모든 항목을 접을 때 보관소 루트 폴더를 현재 상태로 둡니다."},navIndent:{name:"트리 들여쓰기",desc:"중첩된 폴더, 태그, 속성의 들여쓰기 너비를 조정합니다(픽셀)."},navItemHeight:{name:"항목 높이",desc:"탐색 창에서 폴더, 태그, 속성의 높이를 조정합니다(픽셀)."},navItemHeightScaleText:{name:"항목 높이에 따라 글자 크기 조정",desc:"항목 높이를 줄이면 탐색 글자 크기를 작게 합니다."},showIndentGuides:{name:"들여쓰기 안내선 표시",desc:"중첩된 폴더, 태그, 속성의 들여쓰기 안내선을 표시합니다."},navCountLeaderStyle:{name:"리더 표시",desc:"항목 이름과 노트 수 사이에 점, 대시 또는 선을 표시합니다.",options:{none:"없음",dots:"점 (...)",dashes:"대시 (---)",line:"선"}},navRootSpacing:{name:"루트 항목 간격",desc:"최상위 폴더, 태그, 속성 사이의 간격(픽셀)."},showTags:{name:"태그 표시",desc:"네비게이터에서 태그 섹션을 표시합니다."},showTagIcons:{name:"태그 아이콘 표시",desc:"탐색 창의 태그 옆에 아이콘을 표시합니다."},inheritTagColors:{name:"태그 색상 상속",desc:"하위 태그가 상위 태그의 색상을 상속합니다."},tagSortOrder:{name:"태그 정렬 순서",desc:"태그를 마우스 오른쪽 버튼으로 클릭하여 하위 항목의 정렬 순서를 개별적으로 설정할 수 있습니다.",options:{alphaAsc:"A부터 Z까지",alphaDesc:"Z부터 A까지",frequency:"빈도",lowToHigh:"낮음 → 높음",highToLow:"높음 → 낮음"}},showAllTagsFolder:{name:"태그 폴더 표시",desc:'"태그"를 접을 수 있는 폴더로 표시합니다.'},showUntagged:{name:"태그 없는 노트 표시",desc:'태그가 없는 노트에 대해 "태그 없음" 항목을 표시합니다.'},scopeTagsToCurrentContext:{name:"선택 항목으로 태그 필터링",desc:"선택한 폴더 또는 속성 내 노트에 있는 태그만 표시합니다."},keepEmptyTagsProperty:{name:"마지막 태그 제거 후 tags 속성 유지",desc:"모든 태그가 제거될 때 frontmatter 의 tags 속성을 유지합니다. 비활성화하면 tags 속성이 frontmatter 에서 삭제됩니다."},showProperties:{name:"속성 표시",desc:"탐색기에 속성 섹션을 표시합니다.",propertyKeysInfoPrefix:"",propertyKeysInfoLinkText:"시작 > 속성 키",propertyKeysInfoSuffix:"에서 속성 구성"},showPropertyIcons:{name:"속성 아이콘 표시",desc:"탐색 창에서 속성 옆에 아이콘을 표시합니다."},inheritPropertyColors:{name:"속성 색상 상속",desc:"속성 값이 속성 키의 색상과 배경색을 상속합니다."},propertySortOrder:{name:"속성 정렬 순서",desc:"속성을 마우스 오른쪽 버튼으로 클릭하여 값의 정렬 순서를 변경합니다.",options:{alphaAsc:"가나다순",alphaDesc:"역가나다순",frequency:"빈도",lowToHigh:"낮은 순",highToLow:"높은 순"}},showAllPropertiesFolder:{name:"속성 폴더 표시",desc:'"속성"을 접을 수 있는 폴더로 표시합니다.'},scopePropertiesToCurrentContext:{name:"선택 항목으로 속성 필터링",desc:"선택한 폴더 또는 태그 내 노트에 있는 속성만 표시합니다."},hiddenTags:{name:"태그 숨기기 (볼트 프로필)",desc:"쉼표로 구분된 태그 패턴 목록입니다. 이름 패턴: tag* (시작), *tag (끝). 경로 패턴: archive (태그와 하위), archive/* (하위만), projects/*/drafts (중간 와일드카드).",placeholder:"archive*, *draft, projects/*/old"},hiddenFileTags:{name:"태그가 있는 노트 숨기기 (볼트 프로필)",desc:"Comma-separated list of tag patterns. Notes containing matching tags are hidden. Name patterns: tag* (starting with), *tag (ending with). Path patterns: archive (tag and descendants), archive/* (descendants only), projects/*/drafts (mid-segment wildcard).",placeholder:"archive*, *draft, projects/*/old"},enableFolderNotes:{name:"폴더 노트 활성화",desc:"일치하는 노트 파일이 있는 폴더가 클릭 가능한 링크로 표시됩니다."},folderNoteType:{name:"기본 폴더 노트 형식",desc:"컨텍스트 메뉴에서 생성되는 폴더 노트 형식입니다.",options:{ask:"생성 시 선택",markdown:"Markdown",canvas:"Canvas",base:"Base"}},folderNoteName:{name:"폴더 노트 이름",desc:"확장자 없는 폴더 노트의 이름입니다. 폴더와 같은 이름을 사용하려면 비워 두세요.",placeholder:"index"},folderNoteNamePattern:{name:"폴더 노트 이름 패턴",desc:"확장자 없는 폴더 노트 이름 패턴. {{folder}}을 사용하여 폴더 이름을 삽입합니다. 설정하면 폴더 노트 이름이 적용되지 않습니다."},folderNoteTemplate:{name:"폴더 노트 템플릿",desc:"폴더 노트를 만들 때 사용하는 템플릿 파일입니다. Markdown 템플릿은 Templater를 사용할 수 있습니다. Canvas 및 Base 템플릿은 파일 내용으로 복사됩니다. 템플릿 폴더 위치는 파일 작업 > 템플릿에서 설정하세요.",formatWarning:"템플릿 형식은 선택한 폴더 노트 유형과 일치해야 합니다: .md, .canvas 또는 .base."},enableFolderNoteLinks:{name:"폴더 이름으로 폴더 노트 열기",desc:"폴더 이름을 클릭하면 해당 폴더 노트를 엽니다. 끄면 폴더 노트는 이름, 아이콘, 색상 같은 폴더 메타데이터만 제공합니다."},hideFolderNoteInList:{name:"목록에서 폴더 노트 숨기기",desc:"파일 목록에서 폴더 노트를 숨깁니다."},pinCreatedFolderNote:{name:"생성된 폴더 노트 고정",desc:"컨텍스트 메뉴에서 생성 시 폴더 노트를 고정합니다."},folderNoteOpenLocation:{name:"폴더 노트 열 위치",desc:"폴더 노트 링크를 클릭할 때 폴더 노트를 열 위치를 선택합니다.",options:{currentTab:"현재 탭",newTab:"새 탭",rightSidebar:"오른쪽 사이드바"}},showNearestFolderNoteInSidebar:{name:"오른쪽 사이드바: 가장 가까운 폴더 노트 표시",desc:"폴더를 선택하면 오른쪽 사이드바에 가장 가까운 상위 폴더 노트가 자동으로 표시됩니다."},confirmBeforeDelete:{name:"삭제 전 확인",desc:"노트나 폴더를 삭제할 때 확인 대화 상자 표시"},deleteAttachments:{name:"파일 삭제 시 첨부 파일 삭제",desc:"연결된 첨부 파일과 생성된 그림 미리 보기가 다른 곳에서 사용되지 않는 경우 자동으로 제거",options:{ask:"매번 확인",always:"항상",never:"안 함"}},moveFileConflicts:{name:"이동 충돌",desc:"같은 이름의 파일이 이미 존재하는 폴더로 파일을 이동할 때. 매번 확인(이름 변경, 덮어쓰기, 취소)하거나 항상 이름을 변경합니다.",options:{ask:"매번 확인",rename:"항상 이름 변경"}},metadataCleanup:{name:"메타데이터 정리",desc:"Obsidian 외부에서 파일, 폴더, 태그 또는 속성이 삭제, 이동 또는 이름이 변경될 때 남겨진 고아 메타데이터를 제거합니다. 이는 Notebook Navigator 설정 파일에만 영향을 줍니다.",buttonText:"메타데이터 정리",error:"설정 정리에 실패했습니다",loading:"메타데이터 확인 중...",statusClean:"정리할 메타데이터가 없습니다",statusCounts:"고아 항목: {folders} 폴더, {tags} 태그, {properties} 속성, {files} 파일, {pinned} 고정, {separators} 구분선"},rebuildCache:{name:"캐시 다시 빌드",desc:"태그 누락, 잘못된 미리보기 또는 누락된 이미지가 있을 때 사용하세요. 동기화 충돌이나 예기치 않은 종료 후에 발생할 수 있습니다.",buttonText:"캐시 다시 빌드",error:"캐시 다시 빌드 실패",indexingTitle:"보관함을 인덱싱하는 중...",progress:"Notebook Navigator 캐시를 업데이트하는 중."},externalIcons:{downloadButton:"다운로드",downloadingLabel:"다운로드 중...",removeButton:"제거",statusInstalled:"다운로드됨 (버전 {version})",statusNotInstalled:"다운로드되지 않음",versionUnknown:"알 수 없음",downloadFailed:"{name} 다운로드에 실패했습니다. 연결을 확인하고 다시 시도해주세요.",removeFailed:"{name} 제거에 실패했습니다.",infoNote:"다운로드된 아이콘 팩은 기기 간 설치 상태를 동기화합니다. 아이콘 팩은 각 기기의 로컬 데이터베이스에 남아 있습니다. 동기화는 다운로드 또는 제거 여부만 추적합니다. 아이콘 팩은 Notebook Navigator 저장소에서 다운로드됩니다 (https://github.com/johansan/notebook-navigator/tree/main/icon-assets)."},useFrontmatterDates:{name:"frontmatter 메타데이터 사용",desc:"노트 이름, 타임스탬프, 아이콘, 색상에 frontmatter 사용"},frontmatterNameField:{name:"이름 필드들",desc:"쉼표로 구분된 frontmatter 필드 목록. 첫 번째 비어 있지 않은 값을 사용. 파일 이름으로 대체.",placeholder:"title, name"},frontmatterIconField:{name:"아이콘 필드",desc:"파일 아이콘용 frontmatter 필드입니다. 설정에 저장된 아이콘을 사용하려면 비워 두세요.",placeholder:"icon"},frontmatterColorField:{name:"색상 필드",desc:"파일 색상용 frontmatter 필드입니다. 설정에 저장된 색상을 사용하려면 비워 두세요.",placeholder:"color"},frontmatterBackgroundField:{name:"배경 필드",desc:"배경색용 frontmatter 필드입니다. 설정에 저장된 배경색을 사용하려면 비워 두세요.",placeholder:"background"},frontmatterMigration:{name:"설정에서 아이콘과 색상 이동",desc:"설정에 저장됨: 아이콘 {icons}개, 색상 {colors}개.",button:"이동",buttonWorking:"이동 중...",noticeNone:"설정에 저장된 파일 아이콘 또는 색상이 없습니다.",noticeDone:"아이콘 {migratedIcons}/{icons}개, 색상 {migratedColors}/{colors}개를 이동했습니다.",noticeFailures:"실패한 항목: {failures}.",noticeError:"이동에 실패했습니다. 자세한 내용은 콘솔을 확인하세요."},frontmatterCreatedField:{name:"생성 타임스탬프 필드",desc:"생성된 타임스탬프의 frontmatter 필드 이름입니다. 파일 시스템 날짜만 사용하려면 비워 두세요.",placeholder:"created"},frontmatterModifiedField:{name:"수정 타임스탬프 필드",desc:"수정된 타임스탬프의 frontmatter 필드 이름입니다. 파일 시스템 날짜만 사용하려면 비워 두세요.",placeholder:"modified"},frontmatterDateFormat:{name:"타임스탬프 형식",desc:"frontmatter에서 타임스탬프를 구문 분석하는 데 사용되는 형식입니다. ISO 8601 파싱을 사용하려면 비워 두세요.",helpTooltip:"Moment 형식",momentLinkText:"Moment 형식",help:`일반적인 형식:
YYYY-MM-DD[T]HH:mm:ss → 2025-01-04T14:30:45
YYYY-MM-DD[T]HH:mm:ssZ → 2025-08-07T16:53:39+02:00
DD/MM/YYYY HH:mm:ss → 04/01/2025 14:30:45
MM/DD/YYYY h:mm:ss a → 01/04/2025 2:30:45 PM`},supportDevelopment:{name:"개발 지원",desc:"Notebook Navigator를 사용하는 것을 좋아하신다면 지속적인 개발을 지원해 주시기 바랍니다.",buttonText:"❤️ 후원하기",coffeeButton:"☕️ 커피 한 잔 사주기"},updateCheckOnStart:{name:"시작 시 새 버전 확인",desc:"시작 시 새로운 플러그인 릴리스를 확인하고 업데이트가 있으면 알림을 표시합니다. 확인은 하루에 최대 한 번 수행됩니다.",status:"새 버전 사용 가능: {version}"},debugLogging:{name:"시작 디버그 로그",desc:"시작 진단 정보를 보관소 루트의 타임스탬프가 있는 Markdown 파일에 기록한 뒤 시작이 안정되면 중지합니다. 이 파일은 동기화될 수 있으며 파일 경로를 포함할 수 있습니다."},whatsNew:{name:"Notebook Navigator {version}의 새로운 기능",desc:"최근 업데이트와 개선 사항 보기",buttonText:"최근 업데이트 보기"},masteringVideo:{name:"Notebook Navigator 마스터하기 (동영상)",desc:"이 동영상에서는 Notebook Navigator를 효율적으로 사용하는 데 필요한 모든 것을 다룹니다. 단축키, 검색, 태그 및 고급 사용자 지정이 포함됩니다."},cacheStatistics:{localCache:"로컬 캐시",items:"항목",withTags:"태그 포함",withPreviewText:"미리보기 텍스트 포함",withFeatureImage:"대표 이미지 포함",withMetadata:"메타데이터 포함"},metadataInfo:{successfullyParsed:"성공적으로 구문 분석됨",itemsWithName:"이름이 있는 항목",withCreatedDate:"생성 날짜 포함",withModifiedDate:"수정 날짜 포함",withIcon:"아이콘 포함",withColor:"색상 포함",failedToParse:"구문 분석 실패",createdDates:"생성 날짜",modifiedDates:"수정 날짜",checkTimestampFormat:"타임스탬프 형식을 확인하세요.",exportFailed:"오류 내보내기"}}},whatsNew:{title:"Notebook Navigator의 새로운 기능",openBannerImage:"릴리스 배너 이미지 열기",supportMessage:"Notebook Navigator가 도움이 되신다면 개발을 지원해 주시기 바랍니다.",supportButton:"커피 사주기",thanksButton:"감사합니다!"}}});var U1={};In(U1,{STRINGS_NL:()=>$ie});var $ie,K1=U(()=>{$ie={common:{cancel:"Annuleren",delete:"Verwijderen",clear:"Wissen",remove:"Verwijderen",restoreDefault:"Standaard herstellen",submit:"Verzenden",save:"Opslaan",configure:"Configureren",lightMode:"Lichte modus",darkMode:"Donkere modus",noSelection:"Geen selectie",untagged:"Zonder tags",featureImageAlt:"Uitgelichte afbeelding",unknownError:"Onbekende fout",clipboardWriteError:"Kon niet naar klembord schrijven",updateBannerTitle:"Notebook Navigator update beschikbaar",updateBannerInstruction:"Werk bij in Instellingen -> Community plugins",previous:"Vorige",next:"Volgende"},listPane:{emptyStateNoSelection:"Selecteer een map of tag om notities te bekijken",emptyStateNoNotes:"Geen notities",pinnedSection:"Vastgepind",notesSection:"Notities",filesSection:"Bestanden",hiddenItemAriaLabel:"{name} (verborgen)",collapseGroup:"Groep samenvouwen",expandGroup:"Groep uitvouwen",manualSortTitle:"Handmatig sorteren: {property}",manualSortHint:'Sleep om opnieuw te ordenen. De volgorde wordt opgeslagen als numerieke indexwaarden in de eigenschap "{property}".',manualSortNonMarkdownHint:"Niet-Markdown-bestanden worden onderaan getoond en kunnen niet opnieuw worden geordend.",unsortedSection:"Niet gesorteerd",manualSortDone:"Klaar",manualSortMultipleWriteFailure:"{count} bestanden mislukt; eerste: {path}: {message}"},tagList:{untaggedLabel:"Zonder tags",tags:"Tags"},navigationPane:{shortcutsHeader:"Snelkoppelingen",recentFilesHeader:"Recente bestanden",properties:"Eigenschappen",reorderRootFoldersTitle:"Navigatie herschikken",reorderRootFoldersHint:"Gebruik pijlen of sleep om te herschikken",vaultRootLabel:"Kluis",resetRootToAlpha:"Terugzetten naar alfabetische volgorde",resetRootToFrequency:"Terugzetten naar frequentievolgorde",pinShortcuts:"Snelkoppelingen vastpinnen",pinShortcutsAndRecentFiles:"Snelkoppelingen en recente bestanden vastpinnen",unpinShortcuts:"Snelkoppelingen losmaken",unpinShortcutsAndRecentFiles:"Snelkoppelingen en recente bestanden losmaken",profileMenuAria:"Kluis profiel wijzigen"},navigationCalendar:{ariaLabel:"Kalender",dailyNotesNotEnabled:"De dagelijkse notities plugin is niet ingeschakeld.",createDailyNote:{title:"Nieuwe dagelijkse notitie",message:"Bestand {filename} bestaat niet. Wilt u het aanmaken?",confirmButton:"Aanmaken"},helpModal:{title:"Kalendersneltoetsen",items:["Klik op een dag om een dagnotitie te openen of aan te maken. Weken, maanden, kwartalen en jaren werken op dezelfde manier.","Een gevulde stip onder een dag betekent dat er een notitie is. Een holle stip betekent dat er onvoltooide taken zijn.","Als een notitie een uitgelichte afbeelding heeft, wordt deze weergegeven als achtergrond van de dag."],dateFilterCmdCtrl:"`Cmd/Ctrl`+klik op een datum om te filteren op die datum in de bestandenlijst.",dateFilterOptionAlt:"`Option/Alt`+klik op een datum om te filteren op die datum in de bestandenlijst."}},dailyNotes:{templateReadFailed:"Kan de sjabloon voor dagelijkse notities niet lezen.",createFailed:"Kan dagelijkse notitie niet aanmaken."},shortcuts:{folderExists:"Map staat al in snelkoppelingen",noteExists:"Notitie staat al in snelkoppelingen",tagExists:"Tag staat al in snelkoppelingen",propertyExists:"Eigenschap staat al in snelkoppelingen",invalidProperty:"Ongeldige eigenschapssnelkoppeling",searchExists:"Zoeksnelkoppeling bestaat al",emptySearchQuery:"Voer een zoekopdracht in voordat u deze opslaat",emptySearchName:"Voer een naam in voordat u de zoekopdracht opslaat",add:"Toevoegen aan snelkoppelingen",addNotesCount:"Voeg {count} notities toe aan snelkoppelingen",addFilesCount:"Voeg {count} bestanden toe aan snelkoppelingen",rename:"Snelkoppeling hernoemen",remove:"Verwijderen uit snelkoppelingen",removeAll:"Alle snelkoppelingen verwijderen",removeAllConfirm:"Alle snelkoppelingen verwijderen?",folderNotesPinned:"{count} mapnotities vastgepind"},paneHeader:{collapseAllFolders:"Items inklappen",expandAllFolders:"Alle items uitklappen",showCalendar:"Kalender tonen",hideCalendar:"Kalender verbergen",newFolder:"Nieuwe map",newNote:"Nieuwe notitie",mobileBackToNavigation:"Terug naar navigatie",changeChildSortOrder:"Sorteervolgorde wijzigen",changeSortAndGroup:"Sortering en groepering wijzigen",resetViewToDefaults:"Weergave terugzetten naar standaardwaarden",manualSort:"Handmatig sorteren",editSortOrder:"Sorteervolgorde bewerken...",removeSortProperty:"Sorteereigenschap verwijderen",descendants:"subelementen",subfolders:"submappen",subtags:"subtags",childValues:"onderliggende waarden",applySortAndGroupToDescendants:t=>`Sortering en groepering toepassen op ${t}`,applyAppearanceToDescendants:t=>`Weergave toepassen op ${t}`,showFolders:"Navigatie tonen",reorderRootFolders:"Navigatie herschikken",finishRootFolderReorder:"Klaar",showExcludedItems:"Verborgen mappen, tags en notities tonen",hideExcludedItems:"Verborgen mappen, tags en notities verbergen",showDualPane:"Dubbel paneel tonen",showSinglePane:"Enkel paneel tonen",dualPaneAutoFallbackNotice:'Dubbele panelen zijn niet beschikbaar wanneer de zijbalk te smal is. Stel "Wanneer de zijbalk te smal is" in op "Niets doen" in Instellingen > Uiterlijk & gedrag om dit te wijzigen.',changeAppearance:"Uiterlijk wijzigen",showNotesFromSubfolders:"Notities uit submappen tonen",showFilesFromSubfolders:"Bestanden uit submappen tonen",showNotesFromDescendants:"Notities uit afstammelingen tonen",showFilesFromDescendants:"Bestanden uit afstammelingen tonen",search:"Zoeken"},searchInput:{placeholder:"Zoeken...",placeholderOmnisearch:"Omnisearch...",clearSearch:"Zoekopdracht wissen",switchToFilterSearch:"Overschakelen naar filterzoeken",switchToOmnisearch:"Overschakelen naar Omnisearch",saveSearchShortcut:"Zoeksnelkoppeling opslaan",removeSearchShortcut:"Zoeksnelkoppeling verwijderen",shortcutModalTitle:"Zoeksnelkoppeling opslaan",shortcutNamePlaceholder:"Voer naam snelkoppeling in",shortcutStartIn:"Altijd starten in: {path}",searchHelp:"Zoeksyntax",searchHelpTitle:"Zoeksyntax",searchHelpModal:{intro:"Combineer bestandsnamen, eigenschappen, tags, datums en filters in één zoekopdracht (bijv. `meeting .status=active #work @thisweek`). Installeer de Omnisearch-plugin om zoeken in volledige tekst te gebruiken.",introSwitching:"Schakel tussen filterzoeken en Omnisearch met de pijltoetsen omhoog/omlaag of door op het zoekpictogram te klikken.",sections:{fileNames:{title:"Bestandsnamen",items:['`word` Notities met "word" in de bestandsnaam vinden.',"`word1 word2` Elk woord moet overeenkomen met de bestandsnaam.",'`-word` Notities met "word" in de bestandsnaam uitsluiten.']},tags:{title:"Tags",items:["`#tag` Notities met tag opnemen (vindt ook geneste tags zoals `#tag/subtag`).","`#` Alleen notities met tags opnemen.","`-#tag` Notities met tag uitsluiten.","`-#` Alleen notities zonder tags opnemen.","`#tag1 #tag2` Beide tags vinden (impliciete AND).","`#tag1 AND #tag2` Beide tags vinden (expliciete AND).","`#tag1 OR #tag2` Een van beide tags vinden.","`#a OR #b AND #c` AND heeft hogere prioriteit: vindt `#a`, of beide `#b` en `#c`.","Cmd/Ctrl+Klik op een tag om toe te voegen met AND. Cmd/Ctrl+Shift+Klik om toe te voegen met OR."]},properties:{title:"Eigenschappen",items:["`.key` Notities met eigenschapssleutel opnemen.","`.key=value` Notities opnemen waarvan de eigenschapswaarde `value` bevat.",'`."Reading Status"` Notities opnemen met een eigenschapssleutel die spaties bevat.','`."Reading Status"="In Progress"` Sleutels en waarden met spaties moeten tussen dubbele aanhalingstekens staan.',"`-.key` Notities met eigenschapssleutel uitsluiten.","`-.key=value` Notities uitsluiten waarvan de eigenschapswaarde `value` bevat.","Cmd/Ctrl+Klik op een eigenschap om toe te voegen met AND. Cmd/Ctrl+Shift+Klik om toe te voegen met OR."]},tasks:{title:"Filters",items:["`has:task` Notities met onvoltooide taken opnemen.","`-has:task` Notities met onvoltooide taken uitsluiten.","`folder:meetings` Notities opnemen waarvan een mapnaam `meetings` bevat.","`folder:/work/meetings` Notities alleen in `work/meetings` opnemen (geen submappen).","`folder:/` Notities alleen in de vault-root opnemen.","`-folder:archive` Notities uitsluiten waarvan een mapnaam `archive` bevat.","`-folder:/archive` Notities alleen in `archive` uitsluiten (geen submappen).","`ext:md` Notities met extensie `md` opnemen (`ext:.md` wordt ook ondersteund).","`-ext:pdf` Notities met extensie `pdf` uitsluiten.","Combineer met tags, namen en datums (bijvoorbeeld: `folder:/work/meetings ext:md @thisweek`)."]},connectors:{title:"AND/OR-gedrag",items:["`AND` en `OR` zijn alleen operatoren in query's met uitsluitend tags en eigenschappen.","Query's met uitsluitend tags en eigenschappen bevatten alleen tag- en eigenschapsfilters: `#tag`, `-#tag`, `#`, `-#`, `.key`, `-.key`, `.key=value`, `-.key=value`.","Als een zoekopdracht namen, datums (`@...`), taakfilters (`has:task`), mapfilters (`folder:...`) of extensiefilters (`ext:...`) bevat, worden `AND` en `OR` als woorden gezocht.","Voorbeeld operatorquery: `#work OR .status=started`.","Voorbeeld gemengde zoekopdracht: `#work OR ext:md` (`OR` wordt gezocht in bestandsnamen)."]},dates:{title:"Datums",items:["`@today` Notities van vandaag vinden met het standaard datumveld.","`@yesterday`, `@last7d`, `@last30d`, `@thisweek`, `@thismonth` Relatieve datumbereiken.","`@2026-02-07` Een specifieke dag vinden (ondersteunt ook `@20260207`).","`@2026` Een kalenderjaar vinden.","`@2026-02` of `@202602` Een kalendermaand vinden.","`@2026-W05` of `@2026W05` Een ISO-week vinden.","`@2026-Q2` of `@2026Q2` Een kalenderkwartaal vinden.","`@13/02/2026` Numerieke formaten met scheidingstekens (`@07022026` volgt uw landinstelling bij onduidelijkheid).","`@2026-02-01..2026-02-07` Een inclusief dagenbereik vinden (open einden ondersteund).","`@c:...` of `@m:...` Aanmaak- of wijzigingsdatum targeten.","`-@...` Een datumovereenkomst uitsluiten."]},omnisearch:{title:"Omnisearch",items:["Zoeken in volledige tekst door de hele vault, gefilterd op de huidige map of geselecteerde tags.","Kan traag zijn met minder dan 3 tekens in grote vaults.","Kan geen paden met niet-ASCII-tekens doorzoeken of subpaden correct doorzoeken.","Geeft beperkte resultaten terug vóór mapfiltering, waardoor relevante bestanden mogelijk niet verschijnen als er elders veel overeenkomsten bestaan.","Notitievoorbeelden tonen Omnisearch-fragmenten in plaats van de standaard voorbeeldtekst."]}}}},contextMenu:{file:{openInNewTab:"Openen in nieuw tabblad",openToRight:"Openen aan de rechterkant",openInNewWindow:"Openen in nieuw venster",openMultipleInNewTabs:"{count} notities openen in nieuwe tabbladen",openMultipleFilesInNewTabs:"{count} bestanden openen in nieuwe tabbladen",openMultipleToRight:"{count} notities openen aan de rechterkant",openMultipleFilesToRight:"{count} bestanden openen aan de rechterkant",openMultipleInNewWindows:"{count} notities openen in nieuwe vensters",openMultipleFilesInNewWindows:"{count} bestanden openen in nieuwe vensters",pinNote:"Notitie vastpinnen",pinFile:"Bestand vastpinnen",unpinNote:"Notitie losmaken",unpinFile:"Bestand losmaken",pinMultipleNotes:"{count} notities vastpinnen",pinMultipleFiles:"{count} bestanden vastpinnen",unpinMultipleNotes:"{count} notities losmaken",unpinMultipleFiles:"{count} bestanden losmaken",duplicateNote:"Notitie dupliceren",duplicateFile:"Bestand dupliceren",duplicateMultipleNotes:"{count} notities dupliceren",duplicateMultipleFiles:"{count} bestanden dupliceren",openVersionHistory:"Versiegeschiedenis openen",revealInFolder:"Tonen in map",revealInFinder:"Tonen in Finder",showInExplorer:"Tonen in systeemverkenner",openInDefaultApp:"Openen in standaardapp",renameNote:"Notitie hernoemen",renameFile:"Bestand hernoemen",deleteNote:"Notitie verwijderen",deleteFile:"Bestand verwijderen",setCalendarHighlight:"Markering instellen",removeCalendarHighlight:"Markering verwijderen",deleteMultipleNotes:"{count} notities verwijderen",deleteMultipleFiles:"{count} bestanden verwijderen",moveNoteToFolder:"Notitie verplaatsen naar...",moveFileToFolder:"Bestand verplaatsen naar...",moveMultipleNotesToFolder:"{count} notities verplaatsen naar...",moveMultipleFilesToFolder:"{count} bestanden verplaatsen naar...",mergeNotes:"{count} notities samenvoegen...",mergeNotesInGroup:"Notities in groep samenvoegen...",setManualSortGroupHeader:"Groepskop instellen",changeManualSortGroupHeader:"Groepskop wijzigen",manualSortGroupHeader:{title:"Groepskop",copyStyle:"Kopstijl kopiëren",pasteStyle:"Kopstijl plakken",remove:"Groepskop verwijderen"},addTag:"Tag toevoegen",addPropertyKey:"Eigenschap instellen",removeTag:"Tag verwijderen",removeAllTags:"Alle tags verwijderen",changeIcon:"Pictogram wijzigen",changeColor:"Kleur wijzigen"},folder:{newNote:"Nieuwe notitie",newNoteFromTemplate:"Nieuwe notitie uit sjabloon",newFolder:"Nieuwe map",newCanvas:"Nieuw canvas",newBase:"Nieuwe base",newDrawing:"Nieuwe tekening",newExcalidrawDrawing:"Nieuwe Excalidraw-tekening",newTldrawDrawing:"Nieuwe Tldraw-tekening",duplicateFolder:"Map dupliceren",searchInFolder:"Zoeken in map",createFolderNote:"Mapnotitie maken",detachFolderNote:"Mapnotitie loskoppelen",deleteFolderNote:"Mapnotitie verwijderen",changeIcon:"Pictogram wijzigen",changeColor:"Kleur wijzigen",changeBackground:"Achtergrond wijzigen",excludeFolder:"Map verbergen",unhideFolder:"Map zichtbaar maken",moveFolder:"Map verplaatsen naar...",renameFolder:"Map hernoemen",deleteFolder:"Map verwijderen"},tag:{changeIcon:"Pictogram wijzigen",changeColor:"Kleur wijzigen",changeBackground:"Achtergrond wijzigen",showTag:"Tag tonen",hideTag:"Tag verbergen"},property:{addKey:"Eigenschapssleutels configureren",renameKey:"Eigenschap hernoemen",deleteKey:"Eigenschap verwijderen"},navigation:{addSeparator:"Scheidingslijn toevoegen",removeSeparator:"Scheidingslijn verwijderen"},copyPath:{title:"Pad kopiëren",asObsidianUrl:"als Obsidian URL",fromVaultFolder:"vanuit vault-map",fromSystemRoot:"vanaf systeemroot"},style:{title:"Stijl",copy:"Stijl kopiëren",paste:"Stijl plakken",removeIcon:"Pictogram verwijderen",removeColor:"Kleur verwijderen",removeBackground:"Achtergrond verwijderen",clear:"Stijl wissen"}},folderAppearance:{appearance:"Uiterlijk",sortBy:"Sorteren op",standardPreset:"Standaard",compactPreset:"Compact",defaultSuffix:"(standaard)",defaultLabel:"Standaard",titleRows:"Titelrijen",previewRows:"Voorbeeldrijen",groupBy:"Groeperen op",titleRowOption:t=>`${t} titelrij${t===1?"":"en"}`,previewRowOption:t=>`${t} voorbeeldrij${t===1?"":"en"}`},modals:{bulkApply:{applyButton:"Toepassen",applySortAndGroupTitle:t=>`Sortering en groepering toepassen op ${t}?`,applyAppearanceTitle:t=>`Weergave toepassen op ${t}?`,affectedCountMessage:t=>`Bestaande overschrijvingen die wijzigen: ${t}.`},manualSortConfirm:{propertySortTitle:"Handmatig sorteren gebruiken?",propertySortMessage:(t,e)=>`Dit schakelt de huidige weergave over naar handmatig sorteren met "${t}". Bij het bewerken van de volgorde worden indien nodig numerieke indexwaarden naar die eigenschap geschreven in ${e} ${e===1?"notitie":"notities"}.`,propertySortConfirmButton:"Handmatig sorteren gebruiken",removePropertyTitle:"Sorteereigenschap verwijderen?",removePropertyMessage:(t,e)=>`Dit verwijdert "${t}" uit ${e} ${e===1?"notitie":"notities"} in de huidige lijst. Voor die notities wordt de handmatige sorteervolgorde gewist.`,removePropertyConfirmButton:"Eigenschap verwijderen",compactTitle:"Indexwaarden comprimeren?",compactMessage:t=>`Deze herordening heeft meer numerieke ruimte nodig. ${t} ${t===1?"notitie krijgt":"notities krijgen"} nieuwe indexwaarden.`,compactConfirmButton:"Indexwaarden comprimeren"},manualSortGroupHeader:{title:"Groepskop instellen",titleLabel:"Titel",placeholder:"Groepskop",icon:"Pictogram",color:"Kleur",wordCount:"Aantal woorden tonen",wordCountTarget:"Doel aantal woorden",wordCountTargetPlaceholder:"10,000",wordCountTargetDescription:"Wanneer dit veld leeg is, gebruikt het groepsdoel de doeleigenschap die is ingesteld in Instellingen > Notities > Aantal woorden en tekens. Overschrijf dit door een doelwaarde voor deze groep in te stellen.",description:"Pas de groepskop voor deze notitie aan. Laat de titel leeg om de kop te verwijderen."},mergeNotes:{title:"Notities samenvoegen",summary:"Maak één notitie van {count} notities in {folder}.",frontmatterRule:"Frontmatter van de eerste notitie blijft behouden. Frontmatter van de andere notities wordt verwijderd.",crossFolderWarning:"Bronnotities staan in verschillende mappen. Relatieve links en embeds werken mogelijk niet meer in de samengevoegde notitie.",outputName:"Uitvoernaam",outputNameDesc:"De samengevoegde notitie wordt gemaakt in de hierboven weergegeven map.",outputNamePlaceholder:"Samengevoegde notities",separator:"Scheiding",separatorDesc:"Ingevoegd tussen notities.",separatorOptions:{none:"Geen",blankLine:"Lege regel",horizontalRule:"Horizontale lijn",heading:"Kop met notitietitel"},moveSourcesToTrash:"Bronnotities naar prullenbak verplaatsen na samenvoegen",mergeButton:"Samenvoegen"},navRainbowSection:{title:t=>`Regenboogkleuren: ${t}`},iconPicker:{searchPlaceholder:"Pictogrammen zoeken...",recentlyUsedHeader:"Recent gebruikt",emptyStateSearch:"Begin met typen om pictogrammen te zoeken",emptyStateNoResults:"Geen pictogrammen gevonden",showingResultsInfo:"50 van {count} resultaten weergegeven. Typ meer om te verfijnen.",emojiInstructions:"Typ of plak een emoji om deze als pictogram te gebruiken",removeIcon:"Pictogram verwijderen",removeFromRecents:"Verwijderen uit recent",allTabLabel:"Alle"},fileIconRuleEditor:{addRuleAria:"Regel toevoegen"},interfaceIcons:{title:"Interface-iconen",fileItemsSection:"Bestandsitems",items:{"nav-shortcuts":"Snelkoppelingen","nav-recent-files":"Recente bestanden","nav-expand-all":"Alles uitvouwen","nav-collapse-all":"Alles invouwen","nav-calendar":"Kalender","nav-tree-expand":"Boompijl: uitvouwen","nav-tree-collapse":"Boompijl: invouwen","nav-hidden-items":"Verborgen items","nav-root-reorder":"Hoofdmappen herschikken","nav-new-folder":"Nieuwe map","nav-show-single-pane":"Enkel paneel tonen","nav-show-dual-pane":"Dubbel paneel tonen","nav-profile-chevron":"Profielmenu-pijl","list-search":"Zoeken","list-reveal-file":"Bestand tonen","list-descendants":"Notities uit submappen","list-sort-ascending":"Sorteervolgorde: oplopend","list-sort-descending":"Sorteervolgorde: aflopend","list-sort-modified":"Sorteren op bewerkingsdatum","list-sort-created":"Sorteren op aanmaakdatum","list-sort-title":"Sorteren op titel","list-sort-filename":"Sorteren op bestandsnaam","list-sort-property":"Sorteren op eigenschap","list-appearance":"Uiterlijk wijzigen","list-new-note":"Nieuwe notitie","list-pinned":"Vastgezette notities","nav-folder-open":"Map open","nav-folder-closed":"Map gesloten","nav-tags":"Tags","nav-tag":"Tag","nav-properties":"Eigenschappen","nav-property":"Eigenschap","nav-property-value":"Waarde","file-unfinished-task":"Onvoltooide taken","file-word-count":"Aantal woorden","file-character-count":"Aantal tekens"}},colorPicker:{currentColor:"Huidig",newColor:"Nieuw",paletteDefault:"Standaard",paletteCustom:"Aangepast",copyColors:"Kleur kopiëren",colorsCopied:"Kleur gekopieerd naar klembord",pasteColors:"Kleur plakken",pasteClipboardError:"Kan klembord niet lezen",pasteInvalidFormat:"Een hex kleurwaarde verwacht",colorsPasted:"Kleur succesvol geplakt",resetUserColors:"Aangepaste kleuren wissen",clearCustomColorsConfirm:"Alle aangepaste kleuren verwijderen?",userColorSlot:"Kleur {slot}",recentColors:"Recente kleuren",clearRecentColors:"Recente kleuren wissen",removeRecentColor:"Kleur verwijderen",apply:"Toepassen",pickerLabel:"Kiezer",hexLabel:"HEX",hexInputLabel:"Hex-kleurwaarde",saturationValueArea:"Verzadiging en helderheid",hueSlider:"Tint",alphaSlider:"Transparantie"},appearance:{tabIcon:"Pictogram",tabColor:"Kleur",tabBackground:"Achtergrond",resetIcon:"Pictogram verwijderen",resetColor:"Kleur verwijderen",resetBackground:"Achtergrond verwijderen",clear:"Stijl wissen",apply:"Toepassen"},selectVaultProfile:{title:"Kluisprofiel wijzigen",currentBadge:"Actief",emptyState:"Geen kluisprofielen beschikbaar."},tagOperation:{renameTitle:"Tag {tag} hernoemen",deleteTitle:"Tag {tag} verwijderen",newTagPrompt:"Nieuwe tagnaam",newTagPlaceholder:"Voer nieuwe tagnaam in",renameWarning:"Het hernoemen van tag {oldTag} wijzigt {count} {files}.",deleteWarning:"Het verwijderen van tag {tag} wijzigt {count} {files}.",modificationWarning:"Dit werkt de wijzigingsdatums van bestanden bij.",affectedFiles:"Betreffende bestanden:",andMore:"...en {count} meer",confirmRename:"Tag hernoemen",renameUnchanged:"{tag} niet gewijzigd",renameNoChanges:"{oldTag} → {newTag} ({countLabel})",renameBatchNotFinalized:"Hernoemd {renamed}/{total}. Niet bijgewerkt: {notUpdated}. Metadata en snelkoppelingen zijn niet bijgewerkt.",invalidTagName:"Voer een geldige tagnaam in.",descendantRenameError:"Een tag kan niet in zichzelf of een afstammeling worden verplaatst.",confirmDelete:"Tag verwijderen",deleteBatchNotFinalized:"Verwijderd uit {removed}/{total}. Niet bijgewerkt: {notUpdated}. Metadata en snelkoppelingen zijn niet bijgewerkt.",checkConsoleForDetails:"Controleer de console voor details.",file:"bestand",files:"bestanden",inlineParsingWarning:{title:"Inline-tagcompatibiliteit",message:"{tag} bevat tekens die Obsidian niet kan verwerken in inline-tags. Frontmatter-tags worden niet beïnvloed.",confirm:"Toch gebruiken"}},propertyOperation:{renameTitle:"Eigenschap {property} hernoemen",deleteTitle:"Eigenschap {property} verwijderen",newKeyPrompt:"Nieuwe eigenschapnaam",newKeyPlaceholder:"Voer de nieuwe eigenschapnaam in",renameWarning:"Het hernoemen van eigenschap {property} wijzigt {count} {files}.",renameConflictWarning:"Eigenschap {newKey} bestaat al in {count} {files}. Het hernoemen van {oldKey} vervangt bestaande {newKey}-waarden.",deleteWarning:"Het verwijderen van eigenschap {property} wijzigt {count} {files}.",confirmRename:"Eigenschap hernoemen",confirmDelete:"Eigenschap verwijderen",renameNoChanges:"{oldKey} → {newKey} (geen wijzigingen)",renameSettingsUpdateFailed:"Eigenschap {oldKey} → {newKey} hernoemd. Instellingen konden niet worden bijgewerkt.",deleteSingleSuccess:"Eigenschap {property} verwijderd uit 1 notitie",deleteMultipleSuccess:"Eigenschap {property} verwijderd uit {count} notities",deleteSettingsUpdateFailed:"Eigenschap {property} verwijderd. Instellingen konden niet worden bijgewerkt.",invalidKeyName:"Voer een geldige eigenschapnaam in."},fileSystem:{newFolderTitle:"Nieuwe map",renameFolderTitle:"Map hernoemen",renameFileTitle:"Bestand hernoemen",deleteFolderTitle:"'{name}' verwijderen?",deleteFileTitle:"'{name}' verwijderen?",deleteFileAttachmentsTitle:"Bestandsbijlagen verwijderen?",moveFileConflictTitle:"Verplaatsingsconflict",folderNamePrompt:"Voer mapnaam in:",hideInOtherVaultProfiles:"Verbergen in andere kluisprofielen",renamePrompt:"Voer nieuwe naam in:",renameVaultTitle:"Weergavenaam kluis wijzigen",renameVaultPrompt:"Voer aangepaste weergavenaam in (laat leeg voor standaard):",deleteFolderConfirm:"Weet u zeker dat u deze map en alle inhoud wilt verwijderen?",deleteFileConfirm:"Weet u zeker dat u dit bestand wilt verwijderen?",deleteFileAttachmentsDescriptionSingle:"Deze bijlage wordt niet meer gebruikt in notities. Wilt u deze verwijderen?",deleteFileAttachmentsDescriptionMultiple:"Deze bijlagen worden niet meer gebruikt in notities. Wilt u ze verwijderen?",deleteFileAttachmentsViewFileTreeAriaLabel:"Bestandsboom",deleteFileAttachmentsViewGalleryAriaLabel:"Galerij",moveFileConflictDescriptionSingle:'Een bestandsconflict is gevonden in "{folder}".',moveFileConflictDescriptionMultiple:'{count} bestandsconflicten zijn gevonden in "{folder}".',moveFileConflictAffectedFiles:"Betrokken bestanden",moveFileConflictItem:'"{name}" -> "{suggested}"{renameOnly}',moveFileConflictRenameOnly:"(alleen hernoemen)",moveFileConflictRename:"Hernoemen",moveFileConflictOverwrite:"Overschrijven",removeAllTagsTitle:"Alle tags verwijderen",removeAllTagsFromNote:"Weet u zeker dat u alle tags van deze notitie wilt verwijderen?",removeAllTagsFromNotes:"Weet u zeker dat u alle tags van {count} notities wilt verwijderen?"},folderNoteType:{title:"Selecteer type mapnotitie",folderLabel:"Map: {name}"},folderSuggest:{placeholder:t=>`Verplaats ${t} naar map...`,multipleFilesLabel:t=>`${t} bestanden`,navigatePlaceholder:"Navigeren naar map...",instructions:{navigate:"om te navigeren",move:"om te verplaatsen",select:"om te selecteren",dismiss:"om te sluiten"}},homepage:{placeholder:"Bestanden zoeken...",instructions:{navigate:"om te navigeren",select:"om startpagina in te stellen",dismiss:"om te sluiten"}},calendarTemplate:{placeholder:"Sjablonen zoeken...",instructions:{navigate:"om te navigeren",select:"om sjabloon te selecteren",dismiss:"om te sluiten"}},navigationBanner:{placeholder:"Afbeeldingen zoeken...",instructions:{navigate:"om te navigeren",select:"om banner in te stellen",dismiss:"om te sluiten"}},tagSuggest:{navigatePlaceholder:"Navigeren naar tag...",addPlaceholder:"Zoeken naar tag om toe te voegen...",removePlaceholder:"Selecteer tag om te verwijderen...",createNewTag:"Nieuwe tag maken: #{tag}",instructions:{navigate:"om te navigeren",select:"om te selecteren",dismiss:"om te sluiten",add:"om tag toe te voegen",remove:"om tag te verwijderen"}},propertySuggest:{placeholder:"Eigenschap selecteren...",navigatePlaceholder:"Navigeer naar eigenschap...",instructions:{navigate:"om te navigeren",select:"om eigenschap toe te voegen",dismiss:"om te sluiten"}},propertyKeyVisibility:{title:"Zichtbaarheid van eigenschapssleutels",description:"Bepaal waar eigenschapswaarden worden weergegeven. De kolommen komen overeen met het navigatiepaneel, het lijstpaneel en het contextmenu van bestanden. Gebruik de onderste rij om alle rijen in een kolom om te schakelen.",searchPlaceholder:"Eigenschapssleutels zoeken...",propertyColumnLabel:"Eigenschap",showInNavigation:"Tonen in navigatie",showInList:"Tonen in lijst",showInFileMenu:"Tonen in bestandsmenu",toggleAllInNavigation:"Alles in navigatie omschakelen",toggleAllInList:"Alles in lijst omschakelen",toggleAllInFileMenu:"Alles in bestandsmenu omschakelen",applyButton:"Toepassen",emptyState:"Geen eigenschapssleutels gevonden."},welcome:{title:"Welkom bij {pluginName}",introText:'Hallo! Voordat je begint, raad ik je sterk aan om de eerste vijf minuten van de onderstaande video te bekijken om te begrijpen hoe de panelen en de schakelaar "Notities uit submappen weergeven" werken.',continueText:"Als je nog vijf minuten hebt, bekijk dan de rest van de video om de compacte weergavemodi te begrijpen en hoe je snelkoppelingen en belangrijke sneltoetsen correct instelt.",thanksText:"Heel erg bedankt voor het downloaden en veel plezier!",videoAlt:"Notebook Navigator installeren en beheersen",openVideoButton:"Video afspelen",closeButton:"Misschien later"}},fileSystem:{errors:{createFolder:"Kan map niet maken: {error}",createFile:"Kan bestand niet maken: {error}",renameFolder:"Kan map niet hernoemen: {error}",renameFolderNoteConflict:'Kan niet hernoemen: "{name}" bestaat al in deze map',renameFile:"Kan bestand niet hernoemen: {error}",deleteFolder:"Kan map niet verwijderen: {error}",deleteFile:"Kan bestand niet verwijderen: {error}",deleteAttachments:"Kan bijlagen niet verwijderen: {error}",mergeNotes:"Kan notities niet samenvoegen: {error}",mergeNotesOpenOutput:"Samengevoegde notitie gemaakt als {name}, maar deze kon niet worden geopend: {error}. Bronnotities zijn niet gewijzigd.",mergeNotesOpenSkipped:"Een ander verzoek om een bestand te openen kreeg voorrang.",mergeNotesTrashSources:"Samengevoegde notitie gemaakt. Kan {count} bronnotities niet naar prullenbak verplaatsen.",duplicateNote:"Kan notitie niet dupliceren: {error}",duplicateFolder:"Kan map niet dupliceren: {error}",openVersionHistory:"Kan versiegeschiedenis niet openen: {error}",versionHistoryNotFound:"Versiegeschiedenis commando niet gevonden. Zorg dat Obsidian Sync is ingeschakeld.",revealInExplorer:"Kan bestand niet tonen in systeemverkenner: {error}",openInDefaultApp:"Kan niet openen in standaardapp: {error}",openInDefaultAppNotAvailable:"Openen in standaardapp is niet beschikbaar op dit platform",folderNoteAlreadyExists:"Mapnotitie bestaat al",folderAlreadyExists:'Map "{name}" bestaat al',folderNotesDisabled:"Schakel mapnotities in via instellingen om bestanden te converteren",folderNoteAlreadyLinked:"Dit bestand fungeert al als mapnotitie",folderNoteNotFound:"Geen mapnotitie in de geselecteerde map",folderNoteUnsupportedExtension:"Niet-ondersteunde bestandsextensie: {extension}",folderNoteMoveFailed:"Kan bestand niet verplaatsen tijdens conversie: {error}",folderNoteRenameConflict:'Een bestand met de naam "{name}" bestaat al in de map',folderNoteConversionFailed:"Kan bestand niet converteren naar mapnotitie",folderNoteConversionFailedWithReason:"Kan bestand niet converteren naar mapnotitie: {error}",folderNoteOpenFailed:"Bestand geconverteerd maar kan mapnotitie niet openen: {error}",failedToDeleteFile:"Kan {name} niet verwijderen: {error}",failedToDeleteMultipleFiles:"Kan {count} bestanden niet verwijderen",versionHistoryNotAvailable:"Versiegeschiedenis niet beschikbaar",drawingAlreadyExists:"Een tekening met deze naam bestaat al",failedToCreateDrawing:"Kan tekening niet maken",noFolderSelected:"Geen map geselecteerd in Notebook Navigator",noFileSelected:"Geen bestand geselecteerd"},warnings:{linkBreakingNameCharacters:"Deze naam bevat tekens die Obsidian-links verbreken: #, |, ^, %%, [[, ]].",forbiddenNameCharactersAllPlatforms:"Namen mogen niet met een punt beginnen of : of / bevatten.",forbiddenNameCharactersWindows:'Door Windows gereserveerde tekens zijn niet toegestaan: <, >, ", \\, |, ?, *.'},notices:{hideFolder:"Map verborgen: {name}",showFolder:"Map zichtbaar: {name}",mergeNotes:"{count} notities samengevoegd in {name}"},notifications:{deletedMultipleFiles:"{count} bestanden verwijderd",movedMultipleFiles:"{count} bestanden verplaatst naar {folder}",folderNoteConversionSuccess:'Bestand geconverteerd naar mapnotitie in "{name}"',folderMoved:'Map "{name}" verplaatst',deepLinkCopied:"Obsidian URL gekopieerd naar klembord",pathCopied:"Pad gekopieerd naar klembord",relativePathCopied:"Relatief pad gekopieerd naar klembord",tagAddedToNote:"Tag toegevoegd aan 1 notitie",tagAddedToNotes:"Tag toegevoegd aan {count} notities",tagRemovedFromNote:"Tag verwijderd van 1 notitie",tagRemovedFromNotes:"Tag verwijderd van {count} notities",tagsClearedFromNote:"Alle tags verwijderd van 1 notitie",tagsClearedFromNotes:"Alle tags verwijderd van {count} notities",noTagsToRemove:"Geen tags om te verwijderen",noFilesSelected:"Geen bestanden geselecteerd",mergeNotesRequireMultipleMarkdown:"Selecteer ten minste twee Markdown-notities om samen te voegen",tagOperationsNotAvailable:"Tagbewerkingen niet beschikbaar",propertyOperationsNotAvailable:"Eigenschapbewerkingen niet beschikbaar",tagsRequireMarkdown:"Tags worden alleen ondersteund op Markdown-notities",propertiesRequireMarkdown:"Eigenschappen worden alleen ondersteund in Markdown-notities",propertySetOnNote:"Eigenschap bijgewerkt op 1 notitie",propertySetOnNotes:"Eigenschap bijgewerkt op {count} notities",manualSortPropertyRemovedFromNote:"Sorteereigenschap verwijderd uit 1 notitie",manualSortPropertyRemovedFromNotes:"Sorteereigenschap verwijderd uit {count} notities",iconPackDownloaded:"{provider} gedownload",iconPackUpdated:"{provider} bijgewerkt ({version})",iconPackRemoved:"{provider} verwijderd",iconPackLoadFailed:"Kan {provider} niet laden",hiddenFileReveal:'Bestand is verborgen. Schakel "Verborgen items tonen" in om het weer te geven'},confirmations:{deleteMultipleFiles:"Weet u zeker dat u {count} bestanden wilt verwijderen?",deleteConfirmation:"Deze actie kan niet ongedaan worden gemaakt."},defaultNames:{untitled:"Zonder titel"}},dragDrop:{errors:{cannotMoveIntoSelf:"Kan een map niet in zichzelf of een submap verplaatsen.",itemAlreadyExists:'Een item met de naam "{name}" bestaat al op deze locatie.',failedToMove:"Verplaatsen mislukt: {error}",failedToAddTag:'Kan tag "{tag}" niet toevoegen',failedToSetProperty:"Kan eigenschap niet bijwerken: {error}",failedToClearTags:"Kan tags niet wissen",failedToMoveFolder:'Kan map "{name}" niet verplaatsen',failedToImportFiles:"Importeren mislukt: {names}"},notifications:{filesAlreadyExist:"{count} bestanden bestaan al op de bestemming",filesAlreadyHaveTag:"{count} bestanden hebben deze tag of een specifiekere al",filesAlreadyHaveProperty:"{count} bestanden hebben deze eigenschap al",noTagsToClear:"Geen tags om te wissen",fileImported:"1 bestand geïmporteerd",filesImported:"{count} bestanden geïmporteerd"}},dateGroups:{today:"Vandaag",yesterday:"Gisteren",previous7Days:"Afgelopen 7 dagen",previous30Days:"Afgelopen 30 dagen"},commands:{open:"Openen",toggleLeftSidebar:"Linker zijbalk in-/uitschakelen",openHomepage:"Startpagina openen",openDailyNote:"Dagelijkse notitie openen",openWeeklyNote:"Wekelijkse notitie openen",openMonthlyNote:"Maandelijkse notitie openen",openQuarterlyNote:"Kwartaalnotitie openen",openYearlyNote:"Jaarlijkse notitie openen",revealFile:"Bestand tonen",search:"Zoeken",searchVaultRoot:"Zoeken in kluisroot",toggleDualPane:"Dubbel paneel in-/uitschakelen",toggleDualPaneOrientation:"Dubbel paneel oriëntatie wisselen",toggleCalendar:"Kalender in-/uitschakelen",selectVaultProfile:"Kluisprofiel wijzigen",selectVaultProfile1:"Kluisprofiel 1 selecteren",selectVaultProfile2:"Kluisprofiel 2 selecteren",selectVaultProfile3:"Kluisprofiel 3 selecteren",deleteFile:"Bestanden verwijderen",createNewNote:"Nieuwe notitie maken",createNewNoteFromTemplate:"Nieuwe notitie uit sjabloon",moveFiles:"Bestanden verplaatsen",mergeNotes:"Notities samenvoegen",selectNextFile:"Volgend bestand selecteren",selectPreviousFile:"Vorig bestand selecteren",navigateBack:"Terug navigeren",navigateForward:"Vooruit navigeren",convertToFolderNote:"Converteren naar mapnotitie",setAsFolderNote:"Als mapnotitie instellen",detachFolderNote:"Mapnotitie loskoppelen",pinAllFolderNotes:"Alle mapnotities vastpinnen",navigateToFolder:"Navigeren naar map",navigateToTag:"Navigeren naar tag",navigateToProperty:"Navigeer naar eigenschap",addShortcut:"Toevoegen aan snelkoppelingen",openShortcut:"Snelkoppeling {number} openen",toggleDescendants:"Afstammelingen in-/uitschakelen",toggleHidden:"Verborgen mappen, tags en notities in-/uitschakelen",toggleTagSort:"Tag sorteervolgorde in-/uitschakelen",toggleTagsBySelection:"Tags op selectie in-/uitschakelen",togglePropertiesBySelection:"Eigenschappen op selectie in-/uitschakelen",toggleCompactMode:"Compacte modus in-/uitschakelen",togglePinnedSection:"Vastgemaakt gedeelte in-/uitschakelen",collapseExpand:"Alle items in-/uitklappen",collapseExpandSelectedItem:"Geselecteerd item in-/uitklappen",addTag:"Tag toevoegen aan geselecteerde bestanden",setProperty:"Eigenschap instellen op geselecteerde bestanden",removeTag:"Tag verwijderen van geselecteerde bestanden",removeAllTags:"Alle tags verwijderen van geselecteerde bestanden",openAllFiles:"Alle bestanden openen",rebuildCache:"Cache opnieuw opbouwen"},plugin:{viewName:"Notebook Navigator",calendarViewName:"Kalender",folderNoteSidebarViewName:"Mapnotitie",ribbonTooltip:"Notebook Navigator",revealInNavigator:"Tonen in Notebook Navigator"},tooltips:{lastModifiedAt:"Laatst gewijzigd op",createdAt:"Gemaakt op",file:"bestand",files:"bestanden",folder:"map",folders:"mappen",wordCount:"Aantal woorden"},fileCounts:{words:"{count} woorden",characters:"{count} tekens",separator:" · "},settings:{changeDefaultSettings:"Standaardinstellingen wijzigen",metadataReport:{exportSuccess:"Metadatarapport met fouten geëxporteerd naar: {filename}",exportFailed:"Kan metadatarapport niet exporteren"},sections:{general:"Algemeen",vaultFilters:"Weergavefilters",appearanceBehavior:"Uiterlijk & gedrag",navigationPane:"Navigatiepaneel",calendar:"Kalender",fileOperations:"Bestandsbewerkingen",icons:"Pictogrampakketten",folders:"Mappen",folderNotes:"Mapnotities",folderNoteFiles:"Mapnotitiebestanden",foldersAndFolderNotes:"Mappen & mapnotities",tagsAndProperties:"Tags & eigenschappen",tags:"Tags",listPane:"Lijstpaneel",notes:"Bestandsweergave",shortcutsAndRecentFiles:"Snelkoppelingen & recente bestanden",advanced:"Geavanceerd"},pageGroups:{configuration:"Configuratie",navigationAndContent:"Navigatiepaneel",notesAndLists:"Lijstpaneel",calendarAndTools:"Kalender en hulpmiddelen"},pageDescriptions:{general:"Releasenotities, ondersteuning, kluisprofiel, bestandstypen en eigenschapssleutels.",vaultFilters:"Verborgen mappen, tags, bestanden, bestandstags en eigenschapsregels.",appearanceBehavior:"Gedrag, toetsenbordnavigatie, muisknoppen, uiterlijk en opmaak.",navigationPane:"Indeling, uiterlijk, aantal notities, inklapgedrag en regenboogkleuren.",shortcuts:"Zichtbaarheid van snelkoppelingen, badges, recente bestanden en vastgezette items.",calendar:"Kalenderweergave, datumnotities, sjablonen, taalinstellingen en zijbalkplaatsing.",fileOperations:"Sjablonen, verwijderingsbevestigingen, bijlagen en gedrag bij bestandsverplaatsingsconflicten.",foldersAndFolderNotes:"Mapweergave, mapnotities, mapnotitiesjablonen en mapnotitiegedrag.",tagsProperties:"Tag- en eigenschapssecties, pictogrammen, sortering, bereik en overerving.",listPane:"Sortering, groepering, lijstmodi, vastgezette notities en tekeningvoorbeelden.",frontmatter:"Frontmattervelden voor weergavenamen, tijdstempels, pictogrammen en kleuren.",notes:"Titels, voorbeeldtekst, uitgelichte afbeeldingen, tags, eigenschappen, datums, aantal woorden en aantal tekens.",iconPacks:"Interfacepictogrammen, bestandspictogrammen en beheer van pictogrampakketten.",advanced:"Diagnostiek, opschonen van metadata, import/export en herstellen."},groups:{general:{vaultConfiguration:"Kluisinstelling",templates:"Sjablonen",behavior:"Gedrag",keyboardNavigation:"Toetsenbordnavigatie",mouseButtons:"Muisknoppen",view:"Uiterlijk",icons:"Iconen",desktopAppearance:"Desktop-uiterlijk",mobileAppearance:"Mobiele weergave",formatting:"Opmaak"},advanced:{maintenance:"Onderhoud",resetSettings:"Instellingen resetten"},navigation:{appearance:"Uiterlijk",banner:"Banner",collapseItems:"Items inklappen",dragAndDrop:"Slepen en neerzetten",noteCounts:"Notitietellingen",rainbowColors:"Regenboogkleuren",leftSidebar:"Linkerzijbalk",calendarIntegration:"Kalenderintegratie"},list:{display:"Uiterlijk",groupHeaders:"Groepskoppen",propertySort:"Sorteren op eigenschap",manualSort:"Handmatig sorteren",pinnedNotes:"Vastgezette notities",drawingPreviews:"Tekeningvoorbeelden"},notes:{frontmatter:"Frontmattervelden",tasks:"Taken",icon:"Icoon",title:"Titel",previewText:"Voorbeeldtekst",featureImage:"Uitgelichte afbeelding",tags:"Tags",properties:"Eigenschappen",date:"Datum",parentFolder:"Bovenliggende map",wordCount:"Aantal woorden en tekens"}},syncMode:{notSynced:"(niet gesynchroniseerd)",switchToSynced:"Synchronisatie inschakelen",switchToLocal:"Synchronisatie uitschakelen"},items:{listPaneTitle:{name:"Titel lijstpaneel",desc:"Kies waar de titel van het lijstpaneel wordt weergegeven.",options:{header:"Tonen in koptekst",list:"Tonen in lijstpaneel",hidden:"Niet tonen"}},sortNotesBy:{name:"Standaard sorteervolgorde",desc:"Kies de standaard sorteervolgorde voor notities.",options:{"modified-desc":"Datum bewerkt (nieuwste bovenaan)","modified-asc":"Datum bewerkt (oudste bovenaan)","created-desc":"Datum gemaakt (nieuwste bovenaan)","created-asc":"Datum gemaakt (oudste bovenaan)","title-asc":"Titel (A bovenaan)","title-desc":"Titel (Z bovenaan)","filename-asc":"Bestandsnaam (A bovenaan)","filename-desc":"Bestandsnaam (Z bovenaan)"},directions:{asc:"Oplopend",desc:"Aflopend"},fields:{modified:"Datum bewerkt",created:"Datum gemaakt",title:"Titel",filename:"Bestandsnaam",property:"Eigenschap"}},propertySortKey:{name:"Eigenschappen om op te sorteren",desc:"Door komma's gescheiden frontmatter-eigenschappen die worden weergegeven als sorteeropties op eigenschap. Arraywaarden worden samengevoegd tot één string. Deze eigenschappen worden niet gewijzigd.",placeholder:"published, author"},propertySortSecondary:{name:"Secundaire sortering",desc:"Gebruikt bij Eigenschap-sortering wanneer notities dezelfde eigenschapswaarde of geen eigenschapswaarde hebben.",options:{title:"Titel",filename:"Bestandsnaam",created:"Aanmaakdatum",modified:"Bewerkingsdatum"}},propertySortInstructions:{intro:"Elke hierboven vermelde eigenschap verschijnt als sorteeroptie in het sorteermenu van het lijstpaneel. Een keuze sorteert notities op de frontmatter-waarde ervan."},manualSortPropertyKey:{name:"Eigenschap voor handmatig sorteren",desc:"Frontmatter-eigenschap gebruikt om numerieke indexwaarden voor handmatig sorteren op te slaan."},manualSortGroupHeaderProperty:{name:"Eigenschap voor groepskop",desc:"Frontmatter-eigenschap gebruikt om aangepaste groepskoppen op te slaan."},groupHeadersInstructions:{intro:"Aangepaste groepskoppen verschijnen boven notities in het lijstpaneel.",items:["Stel in het sorteermenu van het lijstpaneel groepering in op **Aangepast**.","Klik met de rechtermuisknop op een notitie en kies **Groepskop instellen** om een kop boven de notitie te plaatsen."]},manualSortNewNotePlacement:{name:"Plaatsing nieuwe notitie",desc:"Kies waar nieuwe notities worden geplaatst wanneer de huidige lijst handmatig sorteren gebruikt.",options:{top:"Bovenaan",bottom:"Onderaan","below-selected-note":"Onder geselecteerde notitie",unsorted:"Niet gesorteerd"}},confirmBeforeManualSort:{name:"Bevestigen voor handmatig sorteren",desc:"Toon een waarschuwing voordat de eigenschap voor handmatig sorteren voor het eerst naar notities wordt geschreven. Wanneer uitgeschakeld, ontvangen notities de eigenschap zonder waarschuwing."},manualSortInstructions:{intro:"Handmatig sorteren schrijft een numerieke indexwaarde naar een frontmatter-eigenschap op elke notitie. Notities zonder index verschijnen onder Niet gesorteerd.",items:["Schakel handmatig sorteren in door **Handmatig sorteren** te kiezen uit het sorteermenu. Daarna zijn er twee manieren om notities te herschikken.","Kies **Sorteervolgorde bewerken...** uit het sorteermenu om een herschikweergave te openen. Sleep notities met de muis, of met aanraking op mobiel. Op desktop selecteert **Cmd/Ctrl** of **Shift** klikken meerdere notities, daarna verplaatst slepen van een ervan de hele groep.","Selecteer in het lijstpaneel één notitie of selecteer er meerdere, en druk vervolgens op **Cmd/Ctrl + Arrow Up/Down** om de selectie omhoog of omlaag te verplaatsen."]},revealFileOnListChanges:{name:"Scroll naar geselecteerd bestand bij lijstwijzigingen",desc:"Scroll naar het geselecteerde bestand bij het vastpinnen van notities, tonen van afstammelingen-notities, wijzigen van mapweergave of uitvoeren van bestandsoperaties."},includeDescendantNotes:{name:"Notities uit submappen / afstammelingen tonen",desc:"Notities uit geneste submappen en tag- en eigenschap-afstammelingen opnemen bij het bekijken van een map, tag of eigenschap."},limitPinnedToCurrentFolder:{name:"Notities alleen in hun map vastmaken",desc:"Vastgemaakte notities worden alleen als vastgemaakt weergegeven in hun eigen map. Handig voor mapnotities of als je veel vastgemaakte notities hebt. Heeft geen invloed op tag- of eigenschapweergaven."},separateNoteCounts:{name:"Huidige en afstammeling-notitietellingen apart tonen",desc:'Notitietellingen weergeven in "huidig ▾ afstammelingen" formaat voor mappen, tags en eigenschappen.'},groupNotes:{name:"Standaard groepering",desc:"Aangepast toont koppen gedefinieerd in frontmatter. Datum groepeert notities op datum. Map groepeert notities op map. Tag- en eigenschapweergaven gebruiken datumgroepen wanneer een map is geselecteerd.",options:{custom:"Aangepast",date:"Datum",folder:"Map"}},showSelectedNavigationPills:{name:"Tag- en eigenschapspillen altijd tonen",desc:'Wanneer uitgeschakeld, worden pillen die overeenkomen met de huidige navigatieselectie verborgen (bijv. de "recepten"-tagpil wordt verborgen bij het bladeren door de "recepten"-tag). Inschakelen om alle pillen zichtbaar te houden.'},stickyGroupHeaders:{name:"Plakkerige groepskoppen",desc:"Houd de huidige datum-, map- of vastgepinde sectiekop zichtbaar tijdens het scrollen."},showFolderGroupPaths:{name:"Submappaden tonen",desc:"Toont bij groeperen op map in het lijstpaneel submappaden in plaats van alleen mapnamen."},showCurrentFolderFilesAtBottom:{name:"Mapgroepering: bestanden van huidige map onderaan",desc:"Wanneer de standaardgroepering Map is, worden bestanden direct in de geselecteerde map onder submapgroepen geplaatst."},defaultListMode:{name:"Standaard lijstmodus",desc:"Selecteer de standaard lijstindeling. Standaard toont titel, datum, beschrijving en voorbeeldtekst. Compact toont alleen de titel. Uiterlijk kan per map worden overschreven.",options:{standard:"Standaard",compact:"Compact"}},showFileIcons:{name:"Bestandspictogrammen tonen",desc:"Bestandspictogrammen tonen met links uitgelijnde ruimte. Uitschakelen verwijdert zowel pictogrammen als inspringing. Prioriteit: onvoltooide taken-pictogram > aangepast pictogram > mappictogram > bestandsnaam-pictogram > bestandstype-pictogram > standaardpictogram."},useFolderIcon:{name:"Mappictogram gebruiken",desc:"Het pictogram van de bovenliggende map weergeven wanneer er geen aangepast bestandspictogram is ingesteld. De mapkleur wordt gebruikt wanneer er geen aangepaste bestandskleur is ingesteld."},showFileIconUnfinishedTask:{name:"Onvoltooide taken-pictogram",desc:"Een taakpictogram weergeven wanneer een notitie onvoltooide taken bevat."},showFileBackgroundUnfinishedTask:{name:"Onvoltooide taken-achtergrond",desc:"Een achtergrondkleur toepassen wanneer een notitie onvoltooide taken bevat."},unfinishedTaskBackgroundColor:{name:"Achtergrondkleur voor onvoltooide taken",desc:"De achtergrondkleur instellen die wordt gebruikt wanneer een notitie onvoltooide taken bevat."},showFilenameMatchIcons:{name:"Pictogrammen op bestandsnaam",desc:"Pictogrammen toewijzen aan bestanden op basis van tekst in hun namen."},fileNameIconMap:{name:"Bestandsnaam-pictogram toewijzing",desc:"Bestanden met de tekst krijgen het opgegeven pictogram. Eén toewijzing per regel: tekst=pictogram",placeholder:`# tekst=pictogram
vergadering=ph-calendar
factuur=ph-receipt`,editTooltip:"Toewijzingen bewerken"},showCategoryIcons:{name:"Pictogrammen op bestandstype",desc:"Pictogrammen toewijzen aan bestanden op basis van hun extensie."},fileTypeIconPreset:{name:"Voorinstelling voor bestandspictogrammen",desc:"Kies de ingebouwde pictogrammen of een voorinstelling voor pictogrampakketten. Aangepaste extensieregels overschrijven deze voorinstelling.",options:{none:"Ingebouwde pictogrammen"},notInstalledWarning:"Dit pictogrampakket is niet geïnstalleerd. In plaats daarvan worden ingebouwde pictogrammen getoond."},fileTypeIconMap:{name:"Bestandstype-pictogram toewijzing",desc:"Bestanden met de extensie krijgen het opgegeven pictogram. Eén toewijzing per regel: extensie=pictogram",placeholder:`# Extension=icon
cpp=ph-file-code
pdf=ph-file-pdf`,editTooltip:"Toewijzingen bewerken"},compactItemHeight:{name:"Compacte itemhoogte",desc:"Stel de hoogte van compacte lijstitems in op desktop en mobiel (pixels).",resetTooltip:"Herstellen naar standaard (28px)"},compactItemHeightScaleText:{name:"Tekst schalen met compacte itemhoogte",desc:"Compacte lijsttekst schalen wanneer de itemhoogte wordt verminderd."},showParentFolder:{name:"Bovenliggende map tonen",desc:"De naam van de bovenliggende map weergeven voor notities in submappen, tags of eigenschappen."},showParentFolderFullPath:{name:"Volledig pad tonen",desc:"Het volledige pad van de bovenliggende map weergeven in plaats van alleen de mapnaam."},parentFolderClickRevealsFile:{name:"Klik op bovenliggende map opent map",desc:"Klik op het label van de bovenliggende map om de map te openen in het lijstpaneel."},showParentFolderColor:{name:"Bovenliggende mapkleur tonen",desc:"Mapkleuren gebruiken voor labels van bovenliggende mappen."},showParentFolderIcon:{name:"Bovenliggende mapicoon tonen",desc:"Mapiconen tonen naast labels van bovenliggende mappen."},showQuickActions:{name:"Snelle acties tonen",desc:"Actieknoppen tonen bij zweven over bestanden. Knopbediening selecteert welke acties verschijnen."},dualPane:{name:"Dubbel paneellay-out",desc:"Navigatiepaneel en lijstpaneel naast elkaar tonen op desktop."},dualPaneOrientation:{name:"Dubbel paneel oriëntatie",desc:"Kies horizontale of verticale lay-out wanneer dubbel paneel actief is.",options:{horizontal:"Horizontale splitsing",vertical:"Verticale splitsing"}},narrowSidebarLayout:{name:"Wanneer de zijbalk te smal is",desc:"Kies wat er gebeurt wanneer het navigatiepaneel en lijstpaneel niet naast elkaar passen.",options:{none:"Niets doen",singlePane:"Overschakelen naar enkel paneel",vertical:"Overschakelen naar verticale splitsing"}},narrowSidebarTrigger:{name:"Drempel voor smalle zijbalk",desc:"Kies hoe de breedtedrempel van de zijbalk wordt berekend.",options:{fitPanes:"Panelen laten passen",customWidth:"Aangepaste breedte"}},narrowSidebarCustomWidth:{name:"Breedtedrempel voor smalle zijbalk",desc:"Schakel om wanneer de zijbalk smaller is dan deze breedte.",resetTooltip:"Standaardbreedte herstellen"},appearanceBackground:{name:"Achtergrondkleur",desc:"Kies achtergrondkleuren voor navigatie- en lijstpanelen.",options:{separate:"Afzonderlijke achtergronden",primary:"Gebruik lijstachtergrond",secondary:"Gebruik navigatieachtergrond"}},appearanceScale:{name:"Zoomniveau",desc:"Regelt het algemene zoomniveau van Notebook Navigator (procent)."},useFloatingToolbars:{name:"Zwevende werkbalken gebruiken op iOS/iPadOS",desc:"Geldt alleen op iOS en iPadOS."},startView:{name:"Standaard opstartweergave",desc:"Kies welk paneel wordt weergegeven bij het openen van Notebook Navigator. Navigatiepaneel toont snelkoppelingen, recente bestanden en mappenstructuur. Lijstpaneel toont direct de bestandenlijst.",options:{navigation:"Navigatiepaneel",files:"Lijstpaneel"}},toolbarButtons:{name:"Werkbalkknoppen",desc:"Kies welke knoppen in de werkbalk worden weergegeven. Verborgen knoppen blijven toegankelijk via opdrachten en menu's.",navigationLabel:"Navigatiewerkbalk",listLabel:"Lijstwerkbalk"},createNewNotesInNewTab:{name:"Nieuwe notities in nieuw tabblad openen",desc:"Wanneer ingeschakeld opent de opdracht Nieuwe notitie maken notities in een nieuw tabblad. Wanneer uitgeschakeld vervangen notities het huidige tabblad."},autoRevealActiveNote:{name:"Actieve notitie automatisch tonen",desc:"Notities automatisch tonen wanneer geopend vanuit Snelle Wisselaar, links of zoeken."},autoRevealShortestPath:{name:"Automatisch tonen: Kortste pad gebruiken",desc:"Ingeschakeld: Automatisch tonen selecteert de dichtstbijzijnde zichtbare bovenliggende map of tag. Uitgeschakeld: Automatisch tonen selecteert de werkelijke map en exacte tag van het bestand."},autoRevealIgnoreRightSidebar:{name:"Automatisch tonen: Gebeurtenissen van rechter zijbalk negeren",desc:"Actieve notitie niet wijzigen bij klikken of wijzigen van notities in de rechter zijbalk."},autoRevealIgnoreOtherWindows:{name:"Automatisch tonen: Gebeurtenissen van andere vensters negeren",desc:"Actieve notitie niet wijzigen bij het werken met notities in een ander venster."},paneTransitionDuration:{name:"Enkelvoudig paneel animatie",desc:"Transitieduur bij het wisselen tussen panelen in enkelvoudig-paneel-modus (milliseconden).",resetTooltip:"Herstellen naar standaard"},autoSelectFirstFileOnFocusChange:{name:"Eerste notitie automatisch selecteren",desc:"Automatisch de eerste notitie openen bij het wisselen van mappen, tags of eigenschappen."},skipAutoScroll:{name:"Automatisch scrollen voor snelkoppelingen uitschakelen",desc:"Het navigatiepaneel niet scrollen bij klikken op items in snelkoppelingen."},autoExpandNavItems:{name:"Uitvouwen bij selectie",desc:"Mappen en tags uitvouwen bij selectie. In enkelvoudige paneelmodus: eerste selectie vouwt uit, tweede selectie toont bestanden."},collapseOtherBranchesOnExpand:{name:"Een uitgevouwen tak",desc:"Vouw andere takken in dezelfde boom samen bij het uitvouwen van een map, tag of eigenschap."},springLoadedFolders:{name:"Uitvouwen bij slepen",desc:"Mappen en tags uitvouwen bij zweven tijdens slepen."},springLoadedFoldersInitialDelay:{name:"Uitvouwen bij slepen: Vertraging bij eerste uitvouw",desc:"Vertraging voordat de eerste map of tag uitvouwt tijdens slepen (seconden)."},springLoadedFoldersSubsequentDelay:{name:"Uitvouwen bij slepen: Vertraging bij volgende uitvouwen",desc:"Vertraging voordat extra mappen of tags uitvouwen tijdens dezelfde sleepactie (seconden)."},navigationBanner:{name:"Navigatiebanner (kluisprofiel)",desc:"Een afbeelding weergeven boven het navigatiepaneel. Verandert met het geselecteerde kluisprofiel.",current:"Huidige banner: {path}",chooseButton:"Afbeelding kiezen"},pinNavigationBanner:{name:"Banner vastpinnen",desc:"Pin de navigatiebanner boven de navigatieboom."},showShortcuts:{name:"Snelkoppelingen tonen",desc:"De sectie snelkoppelingen weergeven in het navigatiepaneel."},shortcutBadgeDisplay:{name:"Snelkoppeling badge",desc:"Wat naast snelkoppelingen weergeven. Gebruik de commando's 'Snelkoppeling 1-9 openen' om snelkoppelingen direct te openen.",options:{index:"Positie (1-9)",count:"Aantal items",none:"Geen"}},showRecentNotes:{name:"Recente bestanden tonen",desc:"De sectie recente bestanden weergeven in het navigatiepaneel."},hideRecentNotes:{name:"Bestandstypen uit recente bestanden verbergen",desc:"Kies welke soorten bestanden verborgen worden in de sectie recente bestanden.",options:{none:"Geen",folderNotes:"Mapnotities"}},recentNotesCount:{name:"Aantal recente bestanden",desc:"Aantal weer te geven recente bestanden."},pinRecentNotesWithShortcuts:{name:"Recente bestanden met snelkoppelingen vastpinnen",desc:"Recente bestanden opnemen wanneer snelkoppelingen zijn vastgepind."},calendarEnabled:{name:"Kalender inschakelen",desc:"Kalenderfuncties van Notebook Navigator inschakelen."},calendarPlacement:{name:"Kalenderpositie",desc:"Weergeven in de linker of rechter zijbalk.",options:{leftSidebar:"Linker zijbalk",rightSidebar:"Rechter zijbalk"}},calendarLeftPlacement:{name:"Enkele paneel plaatsing",desc:"Waar de kalender wordt weergegeven in enkele paneelmodus.",options:{navigationPane:"Navigatiepaneel",below:"Onder panelen"}},calendarLocale:{name:"Taal",desc:"Bepaalt datumopmaak van de kalender, weeknummering en eerste dag van de week.",weekPathMismatchWarning:"De zichtbare kalender en de paden voor wekelijkse notities gebruiken verschillende weekbegindagen of weeknummering.",options:{systemDefault:"Standaard"}},calendarWeekendDays:{name:"Weekenddagen",desc:"Toon weekenddagen met een andere achtergrondkleur.",options:{none:"Geen",satSun:"Zaterdag en zondag",friSat:"Vrijdag en zaterdag",thuFri:"Donderdag en vrijdag"}},calendarMonthHeadingFormat:{name:"Maandnaam-indeling",desc:"Lange (januari) of korte (jan.) maandnaam.",options:{full:"januari (volledig)",short:"jan. (kort)"}},showInfoButtons:{name:"Infoknoppen tonen",desc:"Infoknoppen weergeven in de zoekbalk en de kalenderheader."},calendarWeeksToShow:{name:"Weken om te tonen in linker zijbalk",desc:"De kalender in de rechter zijbalk toont altijd de volledige maand.",options:{fullMonth:"Volledige maand",oneWeek:"1 week",weeksCount:"{count} weken"}},calendarHighlightToday:{name:"Datum van vandaag markeren",desc:"Markeer de datum van vandaag met een achtergrondkleur en vetgedrukte tekst."},calendarShowFeatureImage:{name:"Uitgelichte afbeelding tonen",desc:"Toon uitgelichte afbeeldingen voor notities in de kalender."},calendarShowWeekNumber:{name:"Weeknummer tonen",desc:"Voeg een kolom toe met het weeknummer."},calendarShowQuarter:{name:"Kwartaal tonen",desc:"Voeg een kwartaallabel toe in de kalender-header."},calendarShowYearCalendar:{name:"Jaarkalender tonen",desc:"Jaarnavigatie en maandraster weergeven in de rechter zijbalk."},calendarConfirmBeforeCreate:{name:"Bevestigen voor aanmaken",desc:"Toon een bevestigingsdialoog bij het aanmaken van een nieuwe dagelijkse notitie."},calendarIntegrationMode:{name:"Dagelijkse notitie bron",desc:"Bron voor kalendernotities.",options:{dailyNotes:"Dagelijkse notities (core plug-in)",notebookNavigator:"Notebook Navigator"},info:{dailyNotes:"Map en datumformaat worden geconfigureerd in de Daily Notes core plugin."}},calendarPeriodicNotesLocale:{name:"Taal voor periodieke notities",desc:"Bepaalt gelokaliseerde maandnamen, dagnamen, weeknummers en weekbegindagen in de paden voor periodieke notities van Notebook Navigator.",options:{calendar:"Kalender",obsidian:"Obsidian"}},calendarCustomRootFolder:{name:"Hoofdmap",desc:"Basismap voor periodieke notities. Datumpatronen kunnen submappen bevatten. Wijzigt met het geselecteerde kluisprofiel.",placeholder:"Personal/Diary"},calendarTemplateFolder:{name:"Sjabloonmaplocatie",desc:"De sjabloonbestandskiezer toont notities uit deze map.",placeholder:"Templates",usage:"Gebruikt door kalendernotities en mapnotities. Configureer sjablonen in Kalender > Kalenderintegratie en Mappen & mapnotities > Mapnotitiebestanden."},calendarCustomFilePattern:{name:"Dagelijkse notities",desc:"Pad formatteren met Moment-datumnotatie. Zet submapnamen tussen haakjes, bijv. [Work]/YYYY. Klik op het sjabloonpictogram om een sjabloon in te stellen. Stel de sjabloonmaplocatie in bij Bestandsbewerkingen > Sjablonen.",momentDescPrefix:"Pad formatteren met ",momentLinkText:"Moment-datumnotatie",momentDescSuffix:". Zet submapnamen tussen haakjes, bijv. [Work]/YYYY. Klik op het sjabloonpictogram om een sjabloon in te stellen. Stel de sjabloonmaplocatie in bij Bestandsbewerkingen > Sjablonen.",templaterSupportInstalled:"✅ De Templater-plug-in is geïnstalleerd met volledige sjabloonondersteuning.",templaterSupportMissing:"⚠️ Installeer de Templater-plug-in voor volledige sjabloonondersteuning.",placeholder:"YYYY/YYYYMMDD",example:"Huidige syntaxis: {path}",parsingError:"Het patroon moet kunnen formatteren en terug-parsen naar een volledige datum (jaar, maand, dag)."},calendarCustomWeekPattern:{name:"Wekelijkse notities",parsingError:"Het patroon moet kunnen formatteren en terug-parsen naar een volledige week (weekjaar, weeknummer).",weekPathMismatchWarning:'De paden voor wekelijkse notities gebruiken de taal voor periodieke notities. Gebruik overeenkomende talen, of gebruik "GGGG" met "WW" voor maandag-gebaseerde weken.',mixedWeekTokensWarning:'Dit patroon combineert maandag-gebaseerde weektokens ("W" of "G") met taal-gebaseerde weektokens ("w" of "g"). Gebruik consistent één set: "GGGG" met "WW" voor maandag-gebaseerde weken, of "gggg" met "ww" als wekelijkse notities de geselecteerde taal moeten volgen.'},calendarCustomMonthPattern:{name:"Maandelijkse notities",parsingError:"Het patroon moet kunnen formatteren en terug-parsen naar een volledige maand (jaar, maand)."},calendarCustomQuarterPattern:{name:"Kwartaalnotities",parsingError:"Het patroon moet kunnen formatteren en terug-parsen naar een volledig kwartaal (jaar, kwartaal)."},calendarCustomYearPattern:{name:"Jaarlijkse notities",parsingError:"Het patroon moet kunnen formatteren en terug-parsen naar een volledig jaar (jaar)."},calendarTemplateFile:{current:"Sjabloonbestand: {name}"},showTooltips:{name:"Tooltips tonen",desc:"Zweeftips met extra informatie weergeven voor notities en mappen."},showTooltipPath:{name:"Pad in tooltips tonen",desc:"Het mappad onder notitienamen in tooltips weergeven."},showTooltipWordCount:{name:"Aantal woorden in tooltips tonen",desc:"Het aantal woorden van notities in tooltips weergeven."},resetPaneSeparator:{name:"Paneelscheidingspositie resetten",desc:"De versleepbare scheiding tussen navigatiepaneel en lijstpaneel resetten naar standaardpositie.",buttonText:"Scheiding resetten",notice:"Scheidingspositie gereset. Herstart Obsidian of heropen Notebook Navigator om toe te passen."},settingsTransfer:{name:"Instellingen importeren en exporteren",desc:"Notebook Navigator-instellingen exporteren of importeren als JSON. Importeren vervangt alle instellingen.",importButtonText:"Importeren",exportButtonText:"Exporteren",import:{modalTitle:"Instellingen importeren",fileButtonName:"Importeren uit bestand",fileButtonDesc:"Een JSON-bestand laden vanaf schijf.",fileButtonText:"Importeren uit bestand",editorName:"JSON",editorDesc:"Plak of bewerk JSON hieronder. Niet-opgenomen instellingen worden teruggezet naar de standaardwaarden.",placeholder:`{
  "folderSortOrder": "alpha-desc"
}`,confirmButtonText:"Importeren",successNotice:"Instellingen geïmporteerd.",errorNotice:"Importeren van instellingen mislukt: {message}",fileReadError:"Kan bestand niet lezen: {message}"},export:{modalTitle:"Instellingen exporteren",editorName:"JSON",editorDesc:"Alleen instellingen die afwijken van standaardwaarden zijn opgenomen.",placeholder:"{}",copyButtonText:"Kopiëren naar klembord",downloadButtonText:"Downloaden",copyNotice:"Instellingen gekopieerd naar klembord.",downloadNotice:"Instellingen geëxporteerd.",downloadError:"Downloaden van instellingen mislukt: {message}"}},resetAllSettings:{name:"Alle instellingen resetten",desc:"Alle Notebook Navigator-instellingen resetten naar standaardwaarden.",buttonText:"Alle instellingen resetten",confirmTitle:"Alle instellingen resetten?",confirmMessage:"Dit zal alle Notebook Navigator-instellingen resetten naar standaardwaarden. Dit kan niet ongedaan worden gemaakt.",confirmButtonText:"Alle instellingen resetten",notice:"Alle instellingen gereset. Herstart Obsidian of heropen Notebook Navigator om toe te passen.",error:"Instellingen resetten mislukt."},multiSelectModifier:{name:"Meervoudige selectie modifier",desc:"Kies welke modificatortoets meervoudige selectie in-/uitschakelt. Wanneer Option/Alt is geselecteerd, opent Cmd/Ctrl klik notities in een nieuw tabblad.",options:{cmdCtrl:"Cmd/Ctrl klik",optionAlt:"Option/Alt klik"}},enterToOpenFiles:{name:"Druk op Enter om bestanden te openen",desc:"Open bestanden alleen door op Enter te drukken tijdens toetsenbordnavigatie in de lijst. Op macOS voorkomt dit dat Enter bestanden hernoemt."},shiftEnterOpenContext:{name:"Shift+Enter",desc:"Kies of Shift+Enter het geselecteerde bestand opent of hernoemt."},cmdEnterOpenContext:{name:"Cmd+Enter",desc:"Kies of Cmd+Enter het geselecteerde bestand opent of hernoemt."},ctrlEnterOpenContext:{name:"Ctrl+Enter",desc:"Kies of Ctrl+Enter het geselecteerde bestand opent of hernoemt."},mouseBackForwardAction:{name:"Muisknoppen terug/vooruit",desc:"Actie voor de terug- en vooruitknoppen van de muis op desktop.",options:{none:"Systeemstandaard gebruiken",singlePaneSwitch:"Panelen wisselen (enkelvoudig paneel)",history:"Geschiedenis navigeren"}},fileVisibility:{name:"Bestandstypes tonen (kluisprofiel)",desc:"Filter welke bestandstypes worden weergegeven in de navigator. Bestandstypes die niet door Obsidian worden ondersteund, kunnen in externe applicaties worden geopend.",options:{documents:"Documenten (.md, .canvas, .base)",supported:"Ondersteund (opent in Obsidian)",all:"Alle (kan extern openen)"}},homepage:{name:"Startpagina",desc:"Kies wat Notebook Navigator automatisch opent bij het opstarten.",current:"Huidig: {path}",chooseButton:"Bestand kiezen",options:{none:"Geen",file:"Bestand",dailyNote:"Dagnotitie",weeklyNote:"Weeknotitie",monthlyNote:"Maandnotitie",quarterlyNote:"Kwartaalnotitie",yearlyNote:"Jaarnotitie"},file:{name:"Startpagina: Opstartbestand",empty:"Geen bestand geselecteerd"},createMissing:{name:"Startpagina: Notitie aanmaken als deze ontbreekt",desc:"Maakt de periodieke notitie aan bij opstarten of via opdracht als deze niet bestaat."}},excludedNotes:{name:"Notities verbergen met eigenschapsregels (kluisprofiel)",desc:"Kommagescheiden lijst van frontmatter-regels. Gebruik `key` of `key=value` items (bijv. status=done, published=true, archived).",placeholder:"status=done, published=true, archived"},excludedFileNamePatterns:{name:"Bestanden verbergen (kluisprofiel)",desc:"Kommagescheiden lijst van bestandsnaampatronen om te verbergen. Ondersteunt * jokertekens en / paden (bijv. temp-*, *.png, /assets/*).",placeholder:"temp-*, *.png, /assets/*"},vaultProfiles:{name:"Kluis profiel",desc:"Profielen bewaren bestandstypezichtbaarheid, verborgen bestanden, verborgen mappen, verborgen labels, eigenschapsregels voor verborgen notities, snelkoppelingen en navigatiebanner. Wissel van profiel via de koptekst van het navigatiepaneel.",defaultName:"Standaard",addButton:"Profiel toevoegen",editProfilesButton:"Profielen bewerken",addProfileOption:"Profiel toevoegen...",applyButton:"Toepassen",deleteButton:"Profiel verwijderen",addModalTitle:"Profiel toevoegen",editProfilesModalTitle:"Profielen bewerken",addModalPlaceholder:"Profielnaam",deleteModalTitle:"{name} verwijderen",deleteModalMessage:"{name} verwijderen? Verborgen bestands-, map-, label- en eigenschapsgebaseerde notitiefilters opgeslagen in dit profiel worden verwijderd.",moveUp:"Omhoog verplaatsen",moveDown:"Omlaag verplaatsen",errors:{emptyName:"Voer een profielnaam in",duplicateName:"Profielnaam bestaat al"}},vaultTitle:{name:"Kluistitel plaatsing",desc:"Kies waar de kluistitel wordt weergegeven.",options:{header:"Weergeven in header",navigation:"Weergeven in navigatiepaneel"}},excludedFolders:{name:"Mappen verbergen (kluisprofiel)",desc:"Kommagescheiden lijst van te verbergen mappen. Naampatronen: assets* (mappen beginnend met assets), *_temp (eindigend met _temp). Padpatronen: /archive (alleen root archive), /res* (root mappen beginnend met res), /*/temp (temp mappen één niveau diep), /projects/* (alle mappen binnen projects).",placeholder:"templates, assets*, /archive, /res*"},showFileDate:{name:"Datum tonen",desc:"De datum onder notitienamen weergeven."},alphabeticalDateMode:{name:"Bij sorteren op naam",desc:"Weer te geven datum wanneer notities alfabetisch zijn gesorteerd.",options:{created:"Aanmaakdatum",modified:"Wijzigingsdatum"}},showFileTags:{name:"Bestandstags tonen",desc:"Klikbare tags weergeven in bestandsitems."},showFileTagAncestors:{name:"Volledige tagpaden tonen",desc:"Volledige tag-hiërarchie paden weergeven. Ingeschakeld: 'ai/openai', 'werk/projecten/2024'. Uitgeschakeld: 'openai', '2024'."},colorFileTags:{name:"Bestandstags kleuren",desc:"Tagkleuren toepassen op tagbadges op bestandsitems."},prioritizeColoredFileTags:{name:"Gekleurde tags eerst tonen",desc:"Sorteert gekleurde tags vóór andere tags in bestandsitems."},showFileTagsInCompactMode:{name:"Bestandstags tonen in compacte modus",desc:"Tags weergeven wanneer datum, voorbeeld en afbeelding verborgen zijn."},showFileProperties:{name:"Bestandseigenschappen tonen",desc:'Eigenschappen weergeven in bestandsitems. Gebruik het dialoogvenster "Zichtbaarheid van eigenschapssleutels" om te kiezen welke eigenschappen worden getoond.'},colorFileProperties:{name:"Bestandseigenschappen kleuren",desc:"Eigenschapkleuren toepassen op eigenschapbadges in bestandsitems."},prioritizeColoredFileProperties:{name:"Gekleurde eigenschappen eerst tonen",desc:"Gekleurde eigenschappen sorteren vóór andere eigenschappen in bestandsitems."},showFilePropertiesInCompactMode:{name:"Eigenschappen tonen in compacte modus",desc:"Eigenschappen weergeven wanneer de compacte modus actief is."},textCountDisplay:{name:"Type telling",desc:"Kies welke notitietellingen in bestandsitems verschijnen.",options:{none:"Geen",words:"Aantal woorden",characters:"Aantal tekens",both:"Aantal woorden en tekens"}},textCountPlacement:{name:"Plaatsing",desc:"Kies waar notitietellingen verschijnen.",options:{title:"In titel",property:"Als eigenschap"}},characterCountSpaces:{name:"Aantal tekens",desc:"Kies of spaties worden meegeteld in het aantal tekens.",options:{include:"Inclusief spaties",exclude:"Exclusief spaties"}},wordCountTargetProperty:{name:"Doeleigenschap",desc:"Frontmatter-eigenschapssleutel met het doelaantal woorden. Laat leeg om doelen te verbergen."},showWordCountPercentage:{name:"Doelpercentage tonen",desc:"Toon alleen het voortgangspercentage wanneer een doelaantal woorden beschikbaar is."},propertyFields:{name:"Eigenschapssleutels (kluisprofiel)",desc:"Frontmatter-eigenschapssleutels, met zichtbaarheid per sleutel voor navigatie en bestandslijst.",addButtonTooltip:"Eigenschapssleutels configureren",noneConfigured:"Geen eigenschappen geconfigureerd",singleConfigured:"1 eigenschap geconfigureerd: {properties}",multipleConfigured:"{count} eigenschappen geconfigureerd: {properties}"},showPropertiesOnSeparateRows:{name:"Eigenschappen op afzonderlijke regels tonen",desc:"Toon elke eigenschap op een eigen regel."},enablePropertyInternalLinks:{name:"Eigenschap-pills koppelen aan notities",desc:"Klik op een eigenschap-pill om de gekoppelde notitie te openen."},enablePropertyExternalLinks:{name:"Eigenschap-pills koppelen aan URL's",desc:"Klik op een eigenschap-pill om de gekoppelde URL te openen."},dateFormat:{name:"Datumformaat",desc:"Formaat voor het weergeven van datums (gebruikt Moment-formaat).",placeholder:"D MMM YYYY",help:`Veelvoorkomende formaten:
D MMM YYYY = 25 mei 2022
DD/MM/YYYY = 25/05/2022
YYYY-MM-DD = 2022-05-25

Tokens:
YYYY/YY = jaar
MMMM/MMM/MM = maand
DD/D = dag
dddd/ddd = weekdag`,helpTooltip:"Formaat met Moment",momentLinkText:"Moment-formaat"},timeFormat:{name:"Tijdformaat",desc:"Formaat voor het weergeven van tijden (gebruikt Moment-formaat).",placeholder:"HH:mm",help:`Veelvoorkomende formaten:
HH:mm = 14:30 (24-uurs)
h:mm a = 2:30 PM (12-uurs)
HH:mm:ss = 14:30:45
h:mm:ss a = 2:30:45 PM

Tokens:
HH/H = 24-uurs
hh/h = 12-uurs
mm = minuten
ss = seconden
a = AM/PM`,helpTooltip:"Formaat met Moment",momentLinkText:"Moment-formaat"},showFilePreview:{name:"Notitievoorbeeld tonen",desc:"Voorbeeldtekst onder notitienamen weergeven."},skipHeadingsInPreview:{name:"Koppen overslaan in voorbeeld",desc:"Kopregels overslaan bij het genereren van voorbeeldtekst."},skipCodeBlocksInPreview:{name:"Codeblokken overslaan in voorbeeld",desc:"Codeblokken overslaan bij het genereren van voorbeeldtekst."},stripHtmlInPreview:{name:"HTML verwijderen in voorbeelden",desc:"HTML-tags uit de voorbeeldtekst verwijderen. Kan de prestaties bij grote notities beïnvloeden."},stripLatexInPreview:{name:"LaTeX verwijderen in voorbeelden",desc:"Inline- en blok-LaTeX-expressies uit de voorbeeldtekst verwijderen."},previewProperties:{name:"Voorbeeldeigenschappen",desc:"Kommagescheiden lijst van frontmatter-eigenschappen om te controleren op voorbeeldtekst. De eerste eigenschap met tekst wordt gebruikt.",placeholder:"summary, description, abstract"},previewPropertiesFallback:{name:"Terugvallen op notitie-inhoud",desc:"Toon notitie-inhoud als voorbeeld wanneer geen van de opgegeven eigenschappen tekst bevat."},previewRows:{name:"Voorbeeldrijen",desc:"Aantal weer te geven rijen voor voorbeeldtekst.",options:{1:"1 rij",2:"2 rijen",3:"3 rijen",4:"4 rijen",5:"5 rijen"}},fileNameRows:{name:"Titelrijen",desc:"Aantal weer te geven rijen voor notitietitels.",options:{1:"1 rij",2:"2 rijen",3:"3 rijen"}},useFolderColor:{name:"Mapkleur gebruiken",desc:"Notitietitels en bestandspictogrammen kleuren met de kleur van de bovenliggende map wanneer er geen aangepaste bestandskleur is ingesteld. Prioriteit: aangepaste bestandskleur > mapkleur > standaardkleur."},showFeatureImage:{name:"Uitgelichte afbeelding tonen",desc:"Toont een miniatuur van de eerste afbeelding in de notitie."},forceSquareFeatureImage:{name:"Vierkante uitgelichte afbeelding afdwingen",desc:"Uitgelichte afbeeldingen weergeven als vierkante miniaturen."},featureImageProperties:{name:"Afbeeldingseigenschappen",desc:"Kommagescheiden lijst van frontmatter-eigenschappen om eerst te controleren. Valt terug op de eerste afbeelding in de markdown-inhoud.",placeholder:"thumbnail, featureResized, feature"},featureImageExcludeProperties:{name:"Notities met eigenschappen uitsluiten",desc:"Kommagescheiden lijst van frontmatter-eigenschappen. Notities met een van deze eigenschappen slaan geen uitgelichte afbeeldingen op.",placeholder:"private, confidential"},featureImageSize:{name:"Weergavegrootte uitgelichte afbeelding",desc:"Maximale weergavegrootte voor uitgelichte afbeeldingen in notitie-overzichten.",options:{standard:"64 px",large:"96 px",extraLarge:"128 px"}},featureImagePixelSize:{name:"Pixelgrootte uitgelichte afbeelding",desc:"Resolutie voor opgeslagen miniaturen van uitgelichte afbeeldingen. Verhoog deze waarde als grotere voorbeelden wazig lijken.",options:{standard:"256 x 144 px",large:"384 x 216 px",extraLarge:"512 x 288 px"}},downloadExternalFeatureImages:{name:"Externe afbeeldingen downloaden",desc:"Download externe afbeeldingen en YouTube-miniaturen voor uitgelichte afbeeldingen."},hideDrawingPreviewImages:{name:"Geëxporteerde voorbeeldafbeeldingen verbergen",desc:'Verberg geëxporteerde PNG-bestanden met tekeningvoorbeelden. Schakel "Verborgen items tonen" in om ze weer te geven.'},drawingIntegrationInfo:{intro:"Notebook Navigator toont door Excalidraw geëxporteerde PNG-bestanden als tekeningvoorbeelden.",items:["Open in de **Excalidraw-instellingen** **Embedding Excalidraw into your Notes and Exporting**, daarna **Export Settings**, daarna **Auto-export Settings**.","Schakel **Auto-export PNG** in. Schakel eventueel **Export both dark- and light-themed image** in.","Notebook Navigator zoekt naar **Drawing.excalidraw.png**, **Drawing.excalidraw.dark.png** of **Drawing.excalidraw.light.png**.","Zolang **Geëxporteerde voorbeeldafbeeldingen verbergen** aanstaat, verschijnen de PNG-bestanden alleen als ook **Verborgen items tonen** aanstaat."]},showRootFolder:{name:"Hoofdmap tonen",desc:"De kluisnaam als hoofdmap in de structuur weergeven."},showFolderIcons:{name:"Mappictogrammen tonen",desc:"Pictogrammen naast mappen in navigatiepaneel weergeven."},inheritFolderColors:{name:"Mapkleuren overerven",desc:"Submappen erven kleur van bovenliggende mappen."},folderSortOrder:{name:"Map sorteervolgorde",desc:"Klik met de rechtermuisknop op een map om een andere sorteervolgorde in te stellen voor de onderliggende items.",options:{alphaAsc:"A tot Z",alphaDesc:"Z tot A"}},showNoteCount:{name:"Notitietelling tonen",desc:"Notitietellingen naast mappen, tags en eigenschappen weergeven."},showSectionIcons:{name:"Pictogrammen tonen voor snelkoppelingen en recente items",desc:"Pictogrammen naast items in de secties Snelkoppelingen en Recent weergeven."},interfaceIcons:{name:"Interface-iconen",desc:"Bewerk werkbalk-, map-, tag-, eigenschap-, vastgezette, zoek- en sorteerichtogrammen.",buttonText:"Iconen bewerken"},showIconsColorOnly:{name:"Kleur alleen op pictogrammen toepassen",desc:"Indien ingeschakeld, worden aangepaste kleuren alleen op pictogrammen toegepast. Indien uitgeschakeld, worden kleuren toegepast op zowel pictogrammen als tekstlabels."},navRainbowMode:{name:"Regenboogkleurmodus (kluis profiel)",desc:"Regenboogkleuren toepassen in het navigatievenster.",options:{none:"Uit",foreground:"Tekstkleur",background:"Achtergrondkleur"}},navRainbowFirstColor:{name:"Eerste kleur",desc:"Eerste kleur in het regenboogverloop."},navRainbowLastColor:{name:"Laatste kleur",desc:"Laatste kleur in het regenboogverloop."},navRainbowTransitionStyle:{name:"Overgangsstijl",desc:"Interpolatie tussen de eerste en laatste kleur.",options:{hue:"Hue",rgb:"RGB"}},navRainbowApplyToShortcuts:{name:"Toepassen op snelkoppelingen",desc:"Regenboogkleuren toepassen op snelkoppelingen."},navRainbowApplyToRecent:{name:"Toepassen op recente items",desc:"Regenboogkleuren toepassen op recente items."},navRainbowApplyToFolders:{name:"Toepassen op mappen",desc:"Regenboogkleuren toepassen op mappen."},navRainbowFolderScope:{name:"Mappenbereik",desc:"Selecteer welke mapniveaus kleurtoewijzingen starten.",options:{root:"Hoofdniveau",child:"Subniveau",all:"Elk niveau"}},navRainbowApplyToTags:{name:"Toepassen op tags",desc:"Regenboogkleuren toepassen op tags."},navRainbowTagScope:{name:"Tagbereik",desc:"Selecteer welke tagniveaus kleurtoewijzingen starten.",options:{root:"Hoofdniveau",child:"Subniveau",all:"Elk niveau"}},navRainbowApplyToProperties:{name:"Toepassen op eigenschappen",desc:"Regenboogkleuren toepassen op eigenschappen."},navRainbowBalanceHueLuminance:{name:"Consistente helderheid over kleurtonen",desc:"Interpoleert de helderheid tussen de begin- en eindkleuren tijdens kleurtoenovergangen."},navRainbowSeparateThemeColors:{name:"Aparte kleuren voor lichte en donkere modus",desc:"Gebruik verschillende regenboogkleuren voor de lichte en donkere modus."},navRainbowCopyLightToDark:"Kleur van lichte modus naar donkere modus kopiëren",navRainbowPropertyScope:{name:"Eigenschappenbereik",desc:"Selecteer welke eigenschapsniveaus kleurtoewijzingen starten.",options:{root:"Hoofdniveau",child:"Subniveau",all:"Elk niveau"}},collapseBehavior:{name:"Items inklappen",desc:"Kies wat de uitklappen/inklappen alle knop beïnvloedt.",options:{all:"Alles",foldersOnly:"Alleen mappen",tagsOnly:"Alleen tags",propertiesOnly:"Alleen eigenschappen"}},smartCollapse:{name:"Geselecteerd item uitgeklapt houden",desc:"Bij het inklappen het geselecteerde item en de bovenliggende items uitgeklapt houden."},excludeVaultRootFromCollapse:{name:"Kluisroot overslaan bij inklappen",desc:"Bij het inklappen van alle items blijft de rootmap van de kluis in de huidige staat."},navIndent:{name:"Structuurinspringing",desc:"De inspringbreedte aanpassen voor geneste mappen, tags en eigenschappen (pixels)."},navItemHeight:{name:"Itemhoogte",desc:"De hoogte van mappen, tags en eigenschappen in het navigatiepaneel aanpassen (pixels)."},navItemHeightScaleText:{name:"Tekst schalen met itemhoogte",desc:"Navigatietekstgrootte verminderen wanneer itemhoogte wordt verminderd."},showIndentGuides:{name:"Inspringlijnen tonen",desc:"Inspringlijnen weergeven voor geneste mappen, tags en eigenschappen."},navCountLeaderStyle:{name:"Opvultekens tonen",desc:"Punten, streepjes of een lijn weergeven tussen itemnamen en notitie-aantallen.",options:{none:"Geen",dots:"Punten (...)",dashes:"Streepjes (---)",line:"Lijn"}},navRootSpacing:{name:"Hoofditem-afstand",desc:"Afstand tussen mappen, tags en eigenschappen op hoofdniveau (pixels)."},showTags:{name:"Tags tonen",desc:"Tagsectie in de navigator weergeven."},showTagIcons:{name:"Tagpictogrammen tonen",desc:"Pictogrammen naast tags in navigatiepaneel weergeven."},inheritTagColors:{name:"Tagkleuren overnemen",desc:"Onderliggende tags nemen de kleur over van bovenliggende tags."},tagSortOrder:{name:"Tag sorteervolgorde",desc:"Klik met de rechtermuisknop op een tag om een andere sorteervolgorde in te stellen voor de onderliggende items.",options:{alphaAsc:"A tot Z",alphaDesc:"Z tot A",frequency:"Frequentie",lowToHigh:"laag naar hoog",highToLow:"hoog naar laag"}},showAllTagsFolder:{name:"Tags-map tonen",desc:'"Tags" weergeven als inklapbare map.'},showUntagged:{name:"Notities zonder tags tonen",desc:'"Zonder tags" item weergeven voor notities zonder tags.'},scopeTagsToCurrentContext:{name:"Tags filteren op selectie",desc:"Alleen tags tonen die voorkomen in notities in de geselecteerde map of eigenschap."},keepEmptyTagsProperty:{name:"Tags-eigenschap behouden na verwijderen laatste tag",desc:"De tags frontmatter-eigenschap behouden wanneer alle tags worden verwijderd. Indien uitgeschakeld, wordt de tags-eigenschap verwijderd uit frontmatter."},showProperties:{name:"Eigenschappen tonen",desc:"Eigenschappensectie tonen in de navigator.",propertyKeysInfoPrefix:"Configureer eigenschappen in ",propertyKeysInfoLinkText:"Start > Eigenschapssleutels",propertyKeysInfoSuffix:""},showPropertyIcons:{name:"Eigenschapspictogrammen tonen",desc:"Pictogrammen naast eigenschappen in het navigatiepaneel tonen."},inheritPropertyColors:{name:"Eigenschapkleuren overnemen",desc:"Eigenschapwaarden nemen de kleur en achtergrond over van hun eigenschapsleutel."},propertySortOrder:{name:"Sorteervolgorde eigenschappen",desc:"Klik met de rechtermuisknop op een eigenschap om een andere sorteervolgorde voor de waarden in te stellen.",options:{alphaAsc:"A tot Z",alphaDesc:"Z tot A",frequency:"Frequentie",lowToHigh:"laag naar hoog",highToLow:"hoog naar laag"}},showAllPropertiesFolder:{name:"Eigenschappenmap tonen",desc:'"Eigenschappen" als een inklapbare map tonen.'},scopePropertiesToCurrentContext:{name:"Eigenschappen filteren op selectie",desc:"Alleen eigenschappen tonen die voorkomen in notities in de geselecteerde map of tag."},hiddenTags:{name:"Tags verbergen (kluisprofiel)",desc:"Kommagescheiden lijst van tagpatronen. Naampatronen: tag* (begint met), *tag (eindigt met). Padpatronen: archief (tag en afstammelingen), archief/* (alleen afstammelingen), projecten/*/concepten (wildcard in het midden).",placeholder:"archief*, *concept, projecten/*/oud"},hiddenFileTags:{name:"Notities met tags verbergen (kluisprofiel)",desc:"Comma-separated list of tag patterns. Notes containing matching tags are hidden. Name patterns: tag* (starting with), *tag (ending with). Path patterns: archive (tag and descendants), archive/* (descendants only), projects/*/drafts (mid-segment wildcard).",placeholder:"archive*, *draft, projects/*/old"},enableFolderNotes:{name:"Mapnotities inschakelen",desc:"Mappen met een overeenkomstig notitiebestand worden weergegeven als klikbare koppelingen."},folderNoteType:{name:"Standaard mapnotitie-type",desc:"Mapnotitie-type aangemaakt vanuit het contextmenu.",options:{ask:"Vragen bij aanmaken",markdown:"Markdown",canvas:"Canvas",base:"Base"}},folderNoteName:{name:"Mapnotitienaam",desc:"Naam van de mapnotitie zonder extensie. Laat leeg om dezelfde naam als de map te gebruiken.",placeholder:"index"},folderNoteNamePattern:{name:"Naampatroon mapnotitie",desc:"Naampatroon voor mapnotities zonder extensie. Gebruik {{folder}} om de mapnaam in te voegen. Indien ingesteld, is de mapnotitiesnaam niet van toepassing."},folderNoteTemplate:{name:"Mapnotitiesjabloon",desc:"Sjabloonbestand dat wordt gebruikt bij het maken van mapnotities. Markdown-sjablonen kunnen Templater gebruiken. Canvas- en Base-sjablonen worden als bestandsinhoud gekopieerd. Stel de sjabloonmaplocatie in bij Bestandsbewerkingen > Sjablonen.",formatWarning:"De sjabloonindeling moet overeenkomen met het geselecteerde type mapnotitie: .md, .canvas of .base."},enableFolderNoteLinks:{name:"Mapnamen openen mapnotities",desc:"Klikken op een mapnaam opent de mapnotitie. Wanneer uitgeschakeld, leveren mapnotities alleen mapmetadata zoals naam, pictogram en kleur."},hideFolderNoteInList:{name:"Mapnotities in lijst verbergen",desc:"Mapnotities verbergen in de bestandslijst."},pinCreatedFolderNote:{name:"Aangemaakte mapnotities vastpinnen",desc:"Mapnotities vastmaken wanneer ze via het contextmenu worden aangemaakt."},folderNoteOpenLocation:{name:"Mapnotities openen in",desc:"Kies waar mapnotities worden geopend bij het klikken op mapnotitiekoppelingen.",options:{currentTab:"Huidig tabblad",newTab:"Nieuw tabblad",rightSidebar:"Rechterzijbalk"}},showNearestFolderNoteInSidebar:{name:"Rechterzijbalk: Dichtstbijzijnde mapnotitie tonen",desc:"Wanneer een map wordt geselecteerd, toont de rechterzijbalk automatisch de dichtstbijzijnde bovenliggende mapnotitie."},confirmBeforeDelete:{name:"Bevestigen voor verwijderen",desc:"Bevestigingsdialoog tonen bij het verwijderen van notities of mappen"},deleteAttachments:{name:"Bijlagen verwijderen bij het verwijderen van bestanden",desc:"Automatisch gekoppelde bijlagen en gegenereerde tekeningvoorbeelden verwijderen als ze niet elders worden gebruikt",options:{ask:"Elke keer vragen",always:"Altijd",never:"Nooit"}},moveFileConflicts:{name:"Verplaatsingsconflicten",desc:"Bij het verplaatsen van een bestand naar een map waar al een bestand met dezelfde naam bestaat. Elke keer vragen (hernoemen, overschrijven, annuleren) of altijd hernoemen.",options:{ask:"Elke keer vragen",rename:"Altijd hernoemen"}},metadataCleanup:{name:"Metadata opschonen",desc:"Verwijdert verweesde metadata die achterblijft wanneer bestanden, mappen, tags of eigenschappen worden verwijderd, verplaatst of hernoemd buiten Obsidian. Dit beïnvloedt alleen het Notebook Navigator-instellingenbestand.",buttonText:"Metadata opschonen",error:"Opschonen van instellingen mislukt",loading:"Metadata controleren...",statusClean:"Geen metadata om op te schonen",statusCounts:"Verweesde items: {folders} mappen, {tags} tags, {properties} eigenschappen, {files} bestanden, {pinned} pins, {separators} scheidingslijnen"},rebuildCache:{name:"Cache opnieuw opbouwen",desc:"Gebruik dit als u ontbrekende tags, onjuiste voorbeelden of ontbrekende uitgelichte afbeeldingen ervaart. Dit kan gebeuren na synchronisatieconflicten of onverwachte afsluitingen.",buttonText:"Cache opnieuw opbouwen",error:"Kan cache niet opnieuw opbouwen",indexingTitle:"Kluis wordt geïndexeerd...",progress:"Notebook Navigator-cache wordt bijgewerkt."},externalIcons:{downloadButton:"Downloaden",downloadingLabel:"Downloaden...",removeButton:"Verwijderen",statusInstalled:"Gedownload (versie {version})",statusNotInstalled:"Niet gedownload",versionUnknown:"onbekend",downloadFailed:"Kan {name} niet downloaden. Controleer uw verbinding en probeer opnieuw.",removeFailed:"Kan {name} niet verwijderen.",infoNote:"Gedownloade pictogrampakketten synchroniseren installatiestatus tussen apparaten. Pictogrampakketten blijven in de lokale database op elk apparaat; synchronisatie houdt alleen bij of ze moeten worden gedownload of verwijderd. Pictogrampakketten downloaden van de Notebook Navigator repository (https://github.com/johansan/notebook-navigator/tree/main/icon-assets)."},useFrontmatterDates:{name:"Frontmatter metadata gebruiken",desc:"Frontmatter gebruiken voor notitienaam, tijdstempels, pictogrammen en kleuren"},frontmatterIconField:{name:"Pictogramveld",desc:"Frontmatter-veld voor bestandspictogrammen. Laat leeg om pictogrammen te gebruiken die zijn opgeslagen in instellingen.",placeholder:"icon"},frontmatterColorField:{name:"Kleurveld",desc:"Frontmatter-veld voor bestandskleuren. Laat leeg om kleuren te gebruiken die zijn opgeslagen in instellingen.",placeholder:"color"},frontmatterBackgroundField:{name:"Achtergrondveld",desc:"Frontmatter-veld voor achtergrondkleuren. Laat leeg om achtergrondkleuren te gebruiken die zijn opgeslagen in instellingen.",placeholder:"background"},frontmatterMigration:{name:"Pictogrammen en kleuren migreren vanuit instellingen",desc:"Opgeslagen in instellingen: {icons} pictogrammen, {colors} kleuren.",button:"Migreren",buttonWorking:"Migreren...",noticeNone:"Geen bestandspictogrammen of kleuren opgeslagen in instellingen.",noticeDone:"{migratedIcons}/{icons} pictogrammen, {migratedColors}/{colors} kleuren gemigreerd.",noticeFailures:"Mislukte vermeldingen: {failures}.",noticeError:"Migratie mislukt. Controleer console voor details."},frontmatterNameField:{name:"Naamvelden",desc:"Kommagescheiden lijst van frontmatter-velden. Eerste niet-lege waarde wordt gebruikt. Valt terug op bestandsnaam.",placeholder:"title, name"},frontmatterCreatedField:{name:"Aangemaakt tijdstempelveld",desc:"Frontmatter-veldnaam voor de aangemaakt tijdstempel. Laat leeg om alleen bestandssysteemdatum te gebruiken.",placeholder:"created"},frontmatterModifiedField:{name:"Gewijzigd tijdstempelveld",desc:"Frontmatter-veldnaam voor de gewijzigd tijdstempel. Laat leeg om alleen bestandssysteemdatum te gebruiken.",placeholder:"modified"},frontmatterDateFormat:{name:"Tijdstempelformaat",desc:"Formaat gebruikt om tijdstempels in frontmatter te parseren. Laat leeg om ISO 8601 parsing te gebruiken.",helpTooltip:"Formaat met Moment",momentLinkText:"Moment-formaat",help:`Veelvoorkomende formaten:
YYYY-MM-DD[T]HH:mm:ss → 2025-01-04T14:30:45
YYYY-MM-DD[T]HH:mm:ssZ → 2025-08-07T16:53:39+02:00
DD/MM/YYYY HH:mm:ss → 04/01/2025 14:30:45
MM/DD/YYYY h:mm:ss a → 01/04/2025 2:30:45 PM`},supportDevelopment:{name:"Ontwikkeling ondersteunen",desc:"Als u graag Notebook Navigator gebruikt, overweeg dan om de voortdurende ontwikkeling te ondersteunen.",buttonText:"❤️ Sponsor",coffeeButton:"☕️ Koop me een koffie"},updateCheckOnStart:{name:"Controleren op nieuwe versie bij opstarten",desc:"Controleert bij het opstarten op nieuwe plugin-releases en toont een melding wanneer een update beschikbaar is. Controles vinden hooguit één keer per dag plaats.",status:"Nieuwe versie beschikbaar: {version}"},debugLogging:{name:"Debuglogboek bij opstarten",desc:"Schrijft opstartdiagnoses naar een Markdown-bestand met tijdstempel in de hoofdmap van de vault en stopt nadat het opstarten is gestabiliseerd. Het bestand kan worden gesynchroniseerd en bestandspaden bevatten."},whatsNew:{name:"Wat is er nieuw in Notebook Navigator {version}",desc:"Bekijk recente updates en verbeteringen",buttonText:"Bekijk recente updates"},masteringVideo:{name:"Notebook Navigator beheersen (video)",desc:"Deze video behandelt alles wat je nodig hebt om productief te zijn in Notebook Navigator, inclusief sneltoetsen, zoeken, tags en geavanceerde aanpassingen."},cacheStatistics:{localCache:"Lokale cache",items:"items",withTags:"met tags",withPreviewText:"met voorbeeldtekst",withFeatureImage:"met uitgelichte afbeelding",withMetadata:"met metadata"},metadataInfo:{successfullyParsed:"Succesvol geparsed",itemsWithName:"items met naam",withCreatedDate:"met aanmaakdatum",withModifiedDate:"met wijzigingsdatum",withIcon:"met pictogram",withColor:"met kleur",failedToParse:"Parseren mislukt",createdDates:"aanmaakdatums",modifiedDates:"wijzigingsdatums",checkTimestampFormat:"Controleer uw tijdstempelformaat.",exportFailed:"Exportfouten"}}},whatsNew:{title:"Wat is er nieuw in Notebook Navigator",openBannerImage:"Releasebannerafbeelding openen",supportMessage:"Als u Notebook Navigator nuttig vindt, overweeg dan om de ontwikkeling te ondersteunen.",supportButton:"Koop me een koffie",thanksButton:"Bedankt!"}}});var W1={};In(W1,{STRINGS_PL:()=>Xie});var Xie,j1=U(()=>{Xie={common:{cancel:"Anuluj",delete:"Usuń",clear:"Wyczyść",remove:"Usuń",restoreDefault:"Przywróć domyślne",submit:"Wyślij",save:"Zapisz",configure:"Konfiguruj",lightMode:"Tryb jasny",darkMode:"Tryb ciemny",noSelection:"Nie wybrano",untagged:"Bez tagów",featureImageAlt:"Wyróżniony obraz",unknownError:"Nieznany błąd",clipboardWriteError:"Nie można zapisać do schowka",updateBannerTitle:"Aktualizacja Notebook Navigator dostępna",updateBannerInstruction:"Zaktualizuj w Ustawienia → Wtyczki społeczności",previous:"Poprzedni",next:"Następny"},listPane:{emptyStateNoSelection:"Wybierz folder lub tag, aby wyświetlić notatki",emptyStateNoNotes:"Brak notatek",pinnedSection:"Przypięte",notesSection:"Notatki",filesSection:"Pliki",hiddenItemAriaLabel:"{name} (ukryte)",collapseGroup:"Zwiń grupę",expandGroup:"Rozwiń grupę",manualSortTitle:"Sortowanie ręczne: {property}",manualSortHint:"Przeciągnij, aby zmienić kolejność. Kolejność jest zapisywana jako wartości indeksu liczbowego w atrybucie „{property}”.",manualSortNonMarkdownHint:"Pliki inne niż Markdown są wyświetlane na dole i nie można zmieniać ich kolejności.",unsortedSection:"Nieposortowane",manualSortDone:"Gotowe",manualSortMultipleWriteFailure:"{count} plików nie powiodło się; pierwszy: {path}: {message}"},tagList:{untaggedLabel:"Bez tagów",tags:"Tagi"},navigationPane:{shortcutsHeader:"Skróty",recentFilesHeader:"Ostatnie pliki",properties:"Atrybuty",reorderRootFoldersTitle:"Zmień kolejność elementów",reorderRootFoldersHint:"Użyj strzałek lub przeciągnij, aby zmienić kolejność",vaultRootLabel:"Sejf",resetRootToAlpha:"Ustaw alfabetycznie",resetRootToFrequency:"Ustaw ostatnie",pinShortcuts:"Przypnij skróty",pinShortcutsAndRecentFiles:"Przypnij skróty i ostatnie pliki",unpinShortcuts:"Odepnij skróty",unpinShortcutsAndRecentFiles:"Odepnij skróty i ostatnie pliki",profileMenuAria:"Zmień profil sejfu"},navigationCalendar:{ariaLabel:"Kalendarz",dailyNotesNotEnabled:"Wbudowana wtyczka Dziennik jest wyłączona.",createDailyNote:{title:"Nowy dziennik",message:"Plik {filename} nie istnieje. Czy chcesz go utworzyć?",confirmButton:"Utwórz"},helpModal:{title:"Skróty kalendarza",items:["Kliknij dowolny dzień, aby otworzyć lub utworzyć dziennik. Tygodnie, miesiące, kwartały i lata działają w ten sam sposób.","Wypełniona kropka pod dniem oznacza, że jest do niego dołączona notatka. Pusta kropka oznacza, że są do niego przypisane zadania do wykonania.","Jeśli notatka zawiera obrazek, pojawia się on jako tło dnia."],dateFilterCmdCtrl:"Kliknij datę z Cmd/Ctrl, aby filtrować według tej daty na liście plików.",dateFilterOptionAlt:"Kliknij datę z Option/Alt, aby filtrować według tej daty na liście plików."}},dailyNotes:{templateReadFailed:"Nie udało się odczytać szablonu dziennika.",createFailed:"Nie można utworzyć dziennika."},shortcuts:{folderExists:"Folder jest już w skrótach",noteExists:"Notatka jest już w skrótach",tagExists:"Tag jest już w skrótach",propertyExists:"Atrybut jest już w skrótach",invalidProperty:"Nieprawidłowy atrybut",searchExists:"Skrót wyszukiwania już istnieje",emptySearchQuery:"Wprowadź wyszukiwanie przed zapisaniem",emptySearchName:"Wprowadź nazwę przed zapisaniem wyszukiwania",add:"Dodaj do skrótów",addNotesCount:"Dodaj notatki do skrótów: {count}",addFilesCount:"Dodaj pliki do skrótów: {count}",rename:"Zmień nazwę skrótu",remove:"Usuń ze skrótów",removeAll:"Usuń wszystkie skróty",removeAllConfirm:"Usunąć wszystkie skróty?",folderNotesPinned:"Przypięte notatki folderu: {count}"},paneHeader:{collapseAllFolders:"Zwiń elementy",expandAllFolders:"Rozwiń wszystkie elementy",showCalendar:"Pokaż kalendarz",hideCalendar:"Ukryj kalendarz",newFolder:"Nowy folder",newNote:"Nowa notatka",mobileBackToNavigation:"Wróć do nawigacji",changeChildSortOrder:"Zmień kolejność sortowania",changeSortAndGroup:"Zmień sortowanie i grupowanie",resetViewToDefaults:"Przywróć widok do ustawień domyślnych",manualSort:"Sortowanie ręczne",editSortOrder:"Edytuj kolejność sortowania...",removeSortProperty:"Usuń atrybut sortowania",descendants:"potomków",subfolders:"podfolderów",subtags:"podtagów",childValues:"wartości podrzędnych",applySortAndGroupToDescendants:t=>`Zastosuj sortowanie i grupowanie dla ${t}`,applyAppearanceToDescendants:t=>`Zastosuj wygląd dla ${t}`,showFolders:"Pokaż nawigację",reorderRootFolders:"Zmień kolejność elementów",finishRootFolderReorder:"Gotowe",showExcludedItems:"Pokaż ukryte foldery, tagi i notatki",hideExcludedItems:"Ukryj ukryte foldery, tagi i notatki",showDualPane:"Pokaż oba panele",showSinglePane:"Pokaż jeden panel",dualPaneAutoFallbackNotice:"Podwójne panele są niedostępne, gdy pasek boczny jest zbyt wąski. Aby to zmienić, ustaw „Gdy pasek boczny jest zbyt wąski” na „Nic nie rób” w Ustawienia > Wygląd i zachowanie.",changeAppearance:"Zmień wygląd",showNotesFromSubfolders:"Pokaż notatki z podfolderów",showFilesFromSubfolders:"Pokaż pliki z podfolderów",showNotesFromDescendants:"Pokaż notatki z potomnych",showFilesFromDescendants:"Pokaż pliki z potomnych",search:"Szukaj"},searchInput:{placeholder:"Szukaj...",placeholderOmnisearch:"Omnisearch...",clearSearch:"Wyczyść wyszukiwanie",switchToFilterSearch:"Przełącz na wyszukiwanie z filtrem",switchToOmnisearch:"Przełącz na Omnisearch",saveSearchShortcut:"Zapisz wyszukiwanie w skrótach",removeSearchShortcut:"Usuń wyszukiwanie ze skrótów",shortcutModalTitle:"Zapisz wyszukiwanie",shortcutNamePlaceholder:"Wprowadź nazwę skrótu",shortcutStartIn:"Zawsze rozpocznij w: {path}",searchHelp:"Składnia wyszukiwania",searchHelpTitle:"Składnia wyszukiwania",searchHelpModal:{intro:"Połącz nazwy plików, atrybuty, tagi, daty i filtry w jednym zapytaniu (np. „meeting .status=active #work @thisweek”). Zainstaluj wtyczkę Omnisearch, aby korzystać z wyszukiwania pełnotekstowego.",introSwitching:"Przełączaj się między wyszukiwaniem z filtrem a Omnisearch za pomocą strzałek w górę i w dół lub klikając ikonę wyszukiwania.",sections:{fileNames:{title:"Nazwy plików",items:['`word` Dopasuj notatki ze słowem "word" w nazwie pliku.',"`word1 word2` Każde słowo musi pasować do nazwy pliku.",'`-word` Wyklucz notatki zawierające słowo "word" w nazwie pliku.']},tags:{title:"Tagi",items:["`#tag` Uwzględnij notatki z tagiem (pasuje również do zagnieżdżonych tagów, takich jak `#tag/subtag`).","`#` Uwzględnij tylko otagowane notatki.","`-#tag` Wyklucz notatki z tym tagiem.","`-#` Uwzględnij tylko nieotagowane notatki.","`#tag1 #tag2` Znajdź oba tagi (niejawne AND).","`#tag1 AND #tag2` Znajdź oba tagi (jawne AND).","`#tag1 OR #tag2` Znajdź którykolwiek z tagów.","`#a OR #b AND #c` AND ma wyższy priorytet: pasuje do `#a` lub zarówno do `#b`, jak i do `#c`.","Kliknij tag z Cmd/Ctrl, aby dodać go operatorem AND. Kliknij tag z Cmd/Ctrl+Shift, aby dodać go operatorem OR."]},properties:{title:"Atrybuty",items:["`.key` Uwzględnij notatki z atrybutem.","`.key=value` Uwzględnij notatki, których wartość atrybutu zawiera `value`.",'`."Reading Status"` Uwzględnij notatki z atrybutem zawierającym spacje.','`."Reading Status"="In Progress"` Atrybuty i ich wartości ze spacjami muszą być w podwójnych cudzysłowach.',"`-.key` Wyklucz notatki z atrybutem.","`-.key=value` Wyklucz notatki, których wartość atrybutu zawiera `value`.","Kliknij atrybut z Cmd/Ctrl, aby dodać go operatorem AND. Kliknij atrybut z Cmd/Ctrl+Shift, aby dodać go operatorem OR."]},tasks:{title:"Filtry",items:["`has:task` Uwzględnij notatki z nieukończonymi zadaniami.","`-has:task` Wyklucz notatki z nieukończonymi zadaniami.","`folder:meetings` Uwzględnij notatki z folderu o nazwie `meetings`.","`folder:/work/meetings` Uwzględnij notatki tylko z `work/meetings` (bez podfolderów).","`folder:/` Uwzględnij notatki tylko z folderu głównego sejfu.","`-folder:archive` Wyklucz notatki z folderu o nazwie `archive`.","`-folder:/archive` Wyklucz notatki tylko z `archive` (bez podfolderów).","`ext:md` Uwzględnij notatki z rozszerzeniem `md` (`ext:.md` jest również obsługiwane).","`-ext:pdf` Wyklucz notatki z rozszerzeniem `pdf`.","Łącz z tagami, nazwami i datami (na przykład: `folder:/work/meetings ext:md @thisweek`)."]},connectors:{title:"Zachowanie AND/OR",items:["`AND` i `OR` są operatorami stosowanymi wyłącznie w zapytaniach zawierających tylko tagi.","Zapytania zawierające wyłącznie tagi zawierają tylko filtry tagów: `#tag`, `-#tag`, `#`, `-#`.","Jeśli zapytanie zawiera nazwy, daty (`@...`), filtry zadań (`has:task`), filtry folderów (`folder:...`) lub filtry rozszerzeń (`ext:...`), `AND` i `OR` są dopasowywane jako słowa.","Przykładowe zapytanie z operatorem: `#work OR #home`.","Przykładowe zapytanie mieszane: `#work OR ext:md` (`OR` jest wyszukiwane w nazwach plików)."]},dates:{title:"Daty",items:["`@today` Znajdź dzisiejsze notatki, korzystając z domyślnego pola daty.","`@yesterday`, `@last7d`, `@last30d`, `@thisweek`, `@thismonth` Względne zakresy dat.","`@2026-02-07` Znajdź konkretny dzień (obsługuje też `@20260207`).","`@2026` Znajdź rok kalendarzowy.","`@2026-02` lub `@202602` Znajdź miesiąc kalendarzowy.","`@2026-W05` lub `@2026W05` Znajdź tydzień ISO.","`@2026-Q2` lub `@2026Q2` Znajdź kwartał kalendarzowy.","`@13/02/2026` Formaty numeryczne z separatorami (`@07022026` jest zgodny z ustawieniami regionalnymi, w razie niejednoznaczności).","`@2026-02-01..2026-02-07` Znajdź zakres dat włącznie z dniami granicznymi (obsługiwane są daty bez początku lub końca).","`@c:...` lub `@m:...` Wyszukaj według daty utworzenia lub modyfikacji.","`-@...` Wyklucz dopasowanie daty."]},omnisearch:{title:"Omnisearch",items:["Wyszukiwanie pełnotekstowe w całym sejfie, filtrowane według bieżącego folderu lub wybranych tagów.","Może działać wolno w przypadku mniej niż 3 znaków w dużych sejfach.","Nie można wyszukiwać ścieżek zawierających znaki spoza ASCII ani poprawnie wyszukiwać podścieżek.","Zwraca ograniczone wyniki przed filtrowaniem folderów, więc odpowiednie pliki mogą nie pojawić się, jeśli istnieje wiele dopasowań w innych miejscach.","Podgląd notatek pokazuje fragmenty Omnisearch zamiast domyślnego tekstu podglądu."]}}}},contextMenu:{file:{openInNewTab:"Otwórz w nowej karcie",openToRight:"Otwórz po prawej",openInNewWindow:"Otwórz w nowym oknie",openMultipleInNewTabs:"Otwórz notatki w nowych kartach: {count}",openMultipleFilesInNewTabs:"Otwórz pliki w nowych kartach: {count}",openMultipleToRight:"Otwórz notatki po prawej: {count}",openMultipleFilesToRight:"Otwórz pliki po prawej: {count}",openMultipleInNewWindows:"Otwórz notatki w nowych oknach: {count}",openMultipleFilesInNewWindows:"Otwórz pliki w nowych oknach: {count}",pinNote:"Przypnij notatkę",pinFile:"Przypnij plik",unpinNote:"Odepnij notatkę",unpinFile:"Odepnij plik",pinMultipleNotes:"Przypnij notatki: {count}",pinMultipleFiles:"Przypnij pliki: {count}",unpinMultipleNotes:"Odepnij notatki: {count}",unpinMultipleFiles:"Odepnij pliki: {count}",duplicateNote:"Duplikuj notatkę",duplicateFile:"Duplikuj plik",duplicateMultipleNotes:"Duplikuj notatki: {count}",duplicateMultipleFiles:"Duplikuj pliki: {count}",openVersionHistory:"Otwórz historię wersji",revealInFolder:"Pokaż w folderze",revealInFinder:"Pokaż w Finderze",showInExplorer:"Pokaż w eksploratorze systemowym",openInDefaultApp:"Otwórz w domyślnej aplikacji",renameNote:"Zmień nazwę notatki",renameFile:"Zmień nazwę pliku",deleteNote:"Usuń notatkę",deleteFile:"Usuń plik",setCalendarHighlight:"Ustaw podświetlenie",removeCalendarHighlight:"Usuń podświetlenie",deleteMultipleNotes:"Usuń notatki: {count}",deleteMultipleFiles:"Usuń pliki: {count}",moveNoteToFolder:"Przenieś notatkę do...",moveFileToFolder:"Przenieś plik do...",moveMultipleNotesToFolder:"Przenieś notatki ({count}) do...",moveMultipleFilesToFolder:"Przenieś pliki ({count}) do...",mergeNotes:"Scal notatki ({count})...",mergeNotesInGroup:"Scal notatki w grupie...",setManualSortGroupHeader:"Ustaw nagłówek grupy",changeManualSortGroupHeader:"Zmień nagłówek grupy",manualSortGroupHeader:{title:"Nagłówek grupy",copyStyle:"Kopiuj styl nagłówka",pasteStyle:"Wklej styl nagłówka",remove:"Usuń nagłówek grupy"},addTag:"Dodaj tag",addPropertyKey:"Ustaw atrybut",removeTag:"Usuń tag",removeAllTags:"Usuń wszystkie tagi",changeIcon:"Zmień ikonkę",changeColor:"Zmień kolor"},folder:{newNote:"Nowa notatka",newNoteFromTemplate:"Nowa notatka na podstawie szablonu",newFolder:"Nowy folder",newCanvas:"Nowa tablica",newBase:"Nowa baza danych",newDrawing:"Nowy rysunek",newExcalidrawDrawing:"Nowy rysunek Excalidraw",newTldrawDrawing:"Nowy rysunek Tldraw",duplicateFolder:"Duplikuj folder",searchInFolder:"Szukaj w folderze",createFolderNote:"Utwórz notatkę folderu",detachFolderNote:"Odłącz notatkę folderu",deleteFolderNote:"Usuń notatkę folderu",changeIcon:"Zmień ikonkę",changeColor:"Zmień kolor ikonki",changeBackground:"Zmień tło",excludeFolder:"Ukryj folder",unhideFolder:"Pokaż folder",moveFolder:"Przenieś folder do...",renameFolder:"Zmień nazwę folderu",deleteFolder:"Usuń folder"},tag:{changeIcon:"Zmień ikonkę",changeColor:"Zmień kolor",changeBackground:"Zmień tło",showTag:"Pokaż tag",hideTag:"Ukryj tag"},property:{addKey:"Konfiguruj klucze atrybutów",renameKey:"Zmień nazwę atrybutu",deleteKey:"Usuń atrybut"},navigation:{addSeparator:"Dodaj separator",removeSeparator:"Usuń separator"},copyPath:{title:"Kopiuj ścieżkę",asObsidianUrl:"jako adres URL Obsidian",fromVaultFolder:"z folderu sejfu",fromSystemRoot:"z folderu systemu"},style:{title:"Styl",copy:"Kopiuj styl",paste:"Wklej styl",removeIcon:"Usuń ikonkę",removeColor:"Usuń kolor",removeBackground:"Usuń tło",clear:"Wyczyść styl"}},folderAppearance:{appearance:"Wygląd",sortBy:"Sortuj według",standardPreset:"Standardowy",compactPreset:"Kompaktowy",defaultSuffix:"(domyślne)",defaultLabel:"Domyślne",titleRows:"Wiersze tytułu",previewRows:"Wiersze podglądu",groupBy:"Grupuj według",titleRowOption:t=>`${t} ${t===1?"wiersz":t===2||t===3||t===4?"wiersze":"wierszy"} tytułu`,previewRowOption:t=>`${t} ${t===1?"wiersz":t===2||t===3||t===4?"wiersze":"wierszy"} podglądu`},modals:{bulkApply:{applyButton:"Zastosuj",applySortAndGroupTitle:t=>`Zastosuj sortowanie i grupowanie dla ${t}?`,applyAppearanceTitle:t=>`Zastosuj wygląd dla ${t}?`,affectedCountMessage:t=>`Istniejące nadpisania do zmiany: ${t}.`},manualSortConfirm:{propertySortTitle:"Użyć sortowania ręcznego?",propertySortMessage:(t,e)=>`Przełącza bieżący widok na sortowanie ręczne z użyciem „${t}”. Edycja kolejności w razie potrzeby zapisuje wartości indeksu liczbowego do tego atrybutu w ${e} ${e===1?"notatce":"notatkach"}.`,propertySortConfirmButton:"Użyj sortowania ręcznego",removePropertyTitle:"Usunąć atrybut sortowania?",removePropertyMessage:(t,e)=>`Usuwa „${t}” z ${e} ${e===1?"notatki":"notatek"} na bieżącej liście. Kolejność sortowania ręcznego zostanie wyczyszczona dla tych notatek.`,removePropertyConfirmButton:"Usuń atrybut",compactTitle:"Zagęścić wartości indeksu?",compactMessage:t=>`Ta zmiana kolejności wymaga więcej miejsca na wartości liczbowe. ${t} ${t===1?"notatka otrzyma":"notatek otrzyma"} nowe wartości indeksu.`,compactConfirmButton:"Zagęść wartości indeksu"},manualSortGroupHeader:{title:"Ustaw nagłówek grupy",titleLabel:"Tytuł",placeholder:"Nagłówek grupy",icon:"Ikona",color:"Kolor",wordCount:"Pokaż liczbę słów",wordCountTarget:"Docelowa liczba słów",wordCountTargetPlaceholder:"10,000",wordCountTargetDescription:"Gdy to pole jest puste, cel grupy używa atrybutu celu ustawionego w Ustawienia > Notatki > Liczba słów i znaków. Nadpisz go, ustawiając wartość celu dla tej grupy.",description:"Dostosuj nagłówek grupy dla tej notatki. Pozostaw tytuł pusty, aby usunąć nagłówek."},mergeNotes:{title:"Scal notatki",summary:"Utwórz jedną notatkę z {count} notatek w {folder}.",frontmatterRule:"Frontmatter z pierwszej notatki zostaje zachowany. Frontmatter z pozostałych notatek zostaje usunięty.",crossFolderWarning:"Notatki źródłowe znajdują się w różnych folderach. Linki względne i osadzenia mogą przestać działać w scalonej notatce.",outputName:"Nazwa wyjściowa",outputNameDesc:"Scalona notatka zostanie utworzona w folderze pokazanym powyżej.",outputNamePlaceholder:"Scalone notatki",separator:"Separator",separatorDesc:"Wstawiany między notatkami.",separatorOptions:{none:"Brak",blankLine:"Pusty wiersz",horizontalRule:"Linia pozioma",heading:"Nagłówek z tytułem notatki"},moveSourcesToTrash:"Przenieś notatki źródłowe do kosza po scaleniu",mergeButton:"Scal"},navRainbowSection:{title:t=>`Kolory tęczy: ${t}`},iconPicker:{searchPlaceholder:"Wyszukaj ikonki...",recentlyUsedHeader:"Ostatnio używane",emptyStateSearch:"Zacznij pisać, aby wyszukać ikonki",emptyStateNoResults:"Nie znaleziono ikonek",showingResultsInfo:"Wyświetlono 50 wyników z {count}. Wpisz więcej, aby zawęzić wyniki.",emojiInstructions:"Wpisz lub wklej dowolną emotkę, aby użyć jej jako ikonki",removeIcon:"Usuń ikonkę",removeFromRecents:"Usuń z ostatnich",allTabLabel:"Wszystkie"},fileIconRuleEditor:{addRuleAria:"Dodaj regułę"},interfaceIcons:{title:"Ikonki interfejsu",fileItemsSection:"Elementy pliku",items:{"nav-shortcuts":"Skróty","nav-recent-files":"Ostatnie pliki","nav-expand-all":"Rozwiń wszystkie","nav-collapse-all":"Zwiń wszystkie","nav-calendar":"Kalendarz","nav-tree-expand":"Strzałka drzewka: rozwiń","nav-tree-collapse":"Strzałka drzewka: zwiń","nav-hidden-items":"Ukryte elementy","nav-root-reorder":"Zmień kolejność folderów głównych","nav-new-folder":"Nowy folder","nav-show-single-pane":"Pokaż jeden panel","nav-show-dual-pane":"Pokaż oba panele","nav-profile-chevron":"Strzałka menu profilu","list-search":"Szukaj","list-reveal-file":"Pokaż plik","list-descendants":"Notatki z podfolderów","list-sort-ascending":"Kolejność: rosnąco","list-sort-descending":"Kolejność: malejąco","list-sort-modified":"Sortuj według daty modyfikacji","list-sort-created":"Sortuj według daty utworzenia","list-sort-title":"Sortuj według tytułu","list-sort-filename":"Sortuj według nazwy pliku","list-sort-property":"Sortuj według atrybutu","list-appearance":"Zmień wygląd","list-new-note":"Nowa notatka","list-pinned":"Przypięte notatki","nav-folder-open":"Folder otwarty","nav-folder-closed":"Folder zamknięty","nav-tags":"Tagi","nav-tag":"Tag","nav-properties":"Atrybuty","nav-property":"Atrybut","nav-property-value":"Wartość","file-unfinished-task":"Nieukończone zadania","file-word-count":"Liczba słów","file-character-count":"Liczba znaków"}},colorPicker:{currentColor:"Aktywny",newColor:"Nowy",paletteDefault:"Domyślne",paletteCustom:"Własne",copyColors:"Kopiuj kolor",colorsCopied:"Kolor skopiowany do schowka",pasteColors:"Wklej kolor",pasteClipboardError:"Nie można odczytać schowka",pasteInvalidFormat:"Oczekiwano wartości koloru hex",colorsPasted:"Kolor wklejony pomyślnie",resetUserColors:"Wyczyść kolory niestandardowe",clearCustomColorsConfirm:"Usunąć wszystkie kolory niestandardowe?",userColorSlot:"Kolor {slot}",recentColors:"Ostatnio używane kolory",clearRecentColors:"Wyczyść ostatnie kolory",removeRecentColor:"Usuń kolor",apply:"Zastosuj",pickerLabel:"Selektor",hexLabel:"HEX",hexInputLabel:"Wartość koloru HEX",saturationValueArea:"Nasycenie i jasność",hueSlider:"Odcień",alphaSlider:"Przezroczystość"},appearance:{tabIcon:"Ikona",tabColor:"Kolor",tabBackground:"Tło",resetIcon:"Usuń ikonkę",resetColor:"Usuń kolor",resetBackground:"Usuń tło",clear:"Wyczyść styl",apply:"Zastosuj"},selectVaultProfile:{title:"Zmień profil sejfu",currentBadge:"Aktywny",emptyState:"Brak dostępnych profili sejfu."},tagOperation:{renameTitle:"Zmień nazwę tagu {tag}",deleteTitle:"Usuń tag {tag}",newTagPrompt:"Nowa nazwa tagu",newTagPlaceholder:"Wprowadź nową nazwę tagu",renameWarning:"Zmiana nazwy tagu {oldTag} zmodyfikuje {files}: {count}.",deleteWarning:"Usunięcie tagu {tag} zmodyfikuje {files}: {count}.",modificationWarning:"Spowoduje to aktualizację dat modyfikacji plików.",affectedFiles:"Pliki, na które to wpłynie:",andMore:"…i jeszcze {count}",confirmRename:"Zmień nazwę tagu",renameUnchanged:"{tag} bez zmian",renameNoChanges:"{oldTag} → {newTag} ({countLabel})",renameBatchNotFinalized:"Zmieniono nazwę {renamed}/{total}. Nie zaktualizowano: {notUpdated}. Metadane i skróty nie zostały zaktualizowane.",invalidTagName:"Wprowadź prawidłową nazwę tagu.",descendantRenameError:"Nie można przenieść do tego samego lub podrzędnego tagu.",confirmDelete:"Usuń tag",deleteBatchNotFinalized:"Usunięto z {removed}/{total}. Nie zaktualizowano: {notUpdated}. Metadane i skróty nie zostały zaktualizowane.",checkConsoleForDetails:"Sprawdź konsolę, aby uzyskać szczegóły.",file:"plik",files:"pliki",inlineParsingWarning:{title:"Zgodność tagów w treści",message:"{tag} zawiera znaki, których Obsidian nie może przetworzyć w tagach w treści. Nie ma to wpływu na tagi w atrybutach.",confirm:"Użyj mimo to"}},propertyOperation:{renameTitle:"Zmień nazwę atrybutu {property}",deleteTitle:"Usuń atrybut {property}",newKeyPrompt:"Nowa nazwa atrybutu",newKeyPlaceholder:"Wprowadź nową nazwę atrybutu",renameWarning:"Zmiana nazwy atrybutu {property} zmodyfikuje {count} {files}.",renameConflictWarning:"Atrybut {newKey} już istnieje w {count} {files}. Zmiana nazwy {oldKey} zastąpi istniejące wartości {newKey}.",deleteWarning:"Usunięcie atrybutu {property} zmodyfikuje {count} {files}.",confirmRename:"Zmień nazwę atrybutu",confirmDelete:"Usuń atrybut",renameNoChanges:"{oldKey} → {newKey} (bez zmian)",renameSettingsUpdateFailed:"Zmieniono nazwę atrybutu {oldKey} → {newKey}. Nie udało się zaktualizować ustawień.",deleteSingleSuccess:"Usunięto atrybut {property} z 1 notatki",deleteMultipleSuccess:"Usunięto atrybut {property} z {count} notatek",deleteSettingsUpdateFailed:"Usunięto atrybut {property}. Nie udało się zaktualizować ustawień.",invalidKeyName:"Wprowadź prawidłową nazwę atrybutu."},fileSystem:{newFolderTitle:"Nowy folder",renameFolderTitle:"Zmień nazwę folderu",renameFileTitle:"Zmień nazwę pliku",deleteFolderTitle:"Usunąć '{name}'?",deleteFileTitle:"Usunąć '{name}'?",deleteFileAttachmentsTitle:"Usunąć załączniki pliku?",moveFileConflictTitle:"Konflikt przenoszenia",folderNamePrompt:"Wprowadź nazwę folderu:",hideInOtherVaultProfiles:"Ukryj w innych profilach sejfu",renamePrompt:"Wprowadź nową nazwę:",renameVaultTitle:"Zmień widoczną nazwę sejfu",renameVaultPrompt:"Wprowadź niestandardową nazwę (pozostaw puste, aby użyć nazwy domyślnej):",deleteFolderConfirm:"Czy na pewno chcesz usunąć ten folder i całą jego zawartość?",deleteFileConfirm:"Czy na pewno chcesz usunąć ten plik?",deleteFileAttachmentsDescriptionSingle:"Ten załącznik nie jest już używany w żadnej notatce. Czy chcesz go usunąć?",deleteFileAttachmentsDescriptionMultiple:"Te załączniki nie są już używane w żadnej notatce. Czy chcesz je usunąć?",deleteFileAttachmentsViewFileTreeAriaLabel:"Drzewo plików",deleteFileAttachmentsViewGalleryAriaLabel:"Galeria",moveFileConflictDescriptionSingle:"Znaleziono konflikt pliku w „{folder}”.",moveFileConflictDescriptionMultiple:"Znaleziono {count} konfliktów plików w „{folder}”.",moveFileConflictAffectedFiles:"Dotknięte pliki",moveFileConflictItem:"„{name}” → „{suggested}”{renameOnly}",moveFileConflictRenameOnly:"(tylko zmiana nazwy)",moveFileConflictRename:"Zmień nazwę",moveFileConflictOverwrite:"Nadpisz",removeAllTagsTitle:"Usuń wszystkie tagi",removeAllTagsFromNote:"Czy na pewno chcesz usunąć wszystkie tagi z tej notatki?",removeAllTagsFromNotes:"Czy na pewno chcesz usunąć wszystkie tagi ({count}) z notatek?"},folderNoteType:{title:"Wybierz typ notatki folderu",folderLabel:"Folder: {name}"},folderSuggest:{placeholder:t=>`Przenieś ${t} do folderu...`,multipleFilesLabel:t=>`pliki: ${t}`,navigatePlaceholder:"Przejdź do folderu...",instructions:{navigate:"aby przejść",move:"aby przenieść",select:"aby wybrać",dismiss:"aby anulować"}},homepage:{placeholder:"Wyszukaj pliki...",instructions:{navigate:"aby przejść",select:"aby ustawić stronę główną",dismiss:"aby anulować"}},calendarTemplate:{placeholder:"Wyszukaj szablony...",instructions:{navigate:"aby przejść",select:"aby wybrać szablon",dismiss:"aby anulować"}},navigationBanner:{placeholder:"Wyszukaj obrazy...",instructions:{navigate:"aby przejść",select:"aby ustawić baner",dismiss:"aby anulować"}},tagSuggest:{navigatePlaceholder:"Przejdź do tagu...",addPlaceholder:"Wyszukaj tag, który chcesz dodać...",removePlaceholder:"Wybierz tag do usunięcia...",createNewTag:"Utwórz nowy tag: #{tag}",instructions:{navigate:"aby przejść",select:"aby wybrać",dismiss:"aby anulować",add:"aby dodać tag",remove:"aby usunąć tag"}},propertySuggest:{placeholder:"Wybierz atrybut...",navigatePlaceholder:"Przejdź do atrybutu...",instructions:{navigate:"aby nawigować",select:"aby dodać atrybut",dismiss:"aby anulować"}},propertyKeyVisibility:{title:"Widoczność kluczy atrybutów",description:"Kontroluj, gdzie wyświetlane są wartości atrybutów. Kolumny odpowiadają panelowi nawigacji, panelowi listy i menu kontekstowemu pliku. Użyj dolnego wiersza, aby przełączyć wszystkie wiersze w kolumnie.",searchPlaceholder:"Szukaj kluczy atrybutów...",propertyColumnLabel:"Atrybut",showInNavigation:"Pokaż w nawigacji",showInList:"Pokaż na liście",showInFileMenu:"Pokaż w menu pliku",toggleAllInNavigation:"Przełącz wszystkie w nawigacji",toggleAllInList:"Przełącz wszystkie na liście",toggleAllInFileMenu:"Przełącz wszystkie w menu pliku",applyButton:"Zastosuj",emptyState:"Nie znaleziono kluczy atrybutów."},welcome:{title:"Witaj w {pluginName}",introText:"Cześć! Zanim zaczniesz, gorąco polecam obejrzenie pierwszych pięciu minut poniższego filmu, aby zrozumieć, jak działają panele i przełącznik „Pokaż notatki z podfolderów”.",continueText:"Jeśli masz jeszcze pięć minut, obejrzyj film, aby zrozumieć kompaktowe tryby wyświetlania oraz dowiedzieć się, jak prawidłowo skonfigurować skróty i ważne kombinacje klawiszy.",thanksText:"Dziękujemy za pobranie i życzymy miłego korzystania!",videoAlt:"Instalacja i obsługa Notebook Navigator",openVideoButton:"Odtwórz wideo",closeButton:"Może później"}},fileSystem:{errors:{createFolder:"Nie udało się utworzyć folderu: {error}",createFile:"Nie udało się utworzyć pliku: {error}",renameFolder:"Nie udało się zmienić nazwy folderu: {error}",renameFolderNoteConflict:'Nie można zmienić nazwy: "{name}" już istnieje w tym folderze',renameFile:"Nie udało się zmienić nazwy pliku: {error}",deleteFolder:"Nie udało się usunąć folderu: {error}",deleteFile:"Nie udało się usunąć pliku: {error}",deleteAttachments:"Nie udało się usunąć załączników: {error}",mergeNotes:"Nie udało się scalić notatek: {error}",mergeNotesOpenOutput:"Scalona notatka została utworzona jako {name}, ale nie można jej otworzyć: {error}. Notatki źródłowe nie zostały zmienione.",mergeNotesOpenSkipped:"Inne żądanie otwarcia pliku miało pierwszeństwo.",mergeNotesTrashSources:"Utworzono scaloną notatkę. Nie udało się przenieść {count} notatek źródłowych do kosza.",duplicateNote:"Nie udało się zduplikować notatki: {error}",duplicateFolder:"Nie udało się zduplikować folderu: {error}",openVersionHistory:"Nie udało się otworzyć historii wersji: {error}",versionHistoryNotFound:"Nie znaleziono polecenia historii wersji. Upewnij się, że Obsidian Sync jest włączony.",revealInExplorer:"Nie udało się pokazać pliku w eksploratorze systemowym: {error}",openInDefaultApp:"Nie udało się otworzyć w domyślnej aplikacji: {error}",openInDefaultAppNotAvailable:"Otwieranie w domyślnej aplikacji nie jest dostępne na tej platformie",folderNoteAlreadyExists:"Notatka folderu już istnieje",folderAlreadyExists:'Folder "{name}" już istnieje',folderNotesDisabled:"Włącz notatki folderu w ustawieniach, aby przekształcić pliki",folderNoteAlreadyLinked:"Ten plik pełni już funkcję notatki folderu",folderNoteNotFound:"Brak notatki folderu w wybranym folderze",folderNoteUnsupportedExtension:"Nieobsługiwane rozszerzenie pliku: {extension}",folderNoteMoveFailed:"Nie udało się przenieść pliku podczas konwersji: {error}",folderNoteRenameConflict:'Plik o nazwie "{name}" już istnieje w folderze',folderNoteConversionFailed:"Nie udało się przekształcić pliku na notatkę folderu",folderNoteConversionFailedWithReason:"Nie udało się przekształcić pliku na notatkę folderu: {error}",folderNoteOpenFailed:"Przekształcono plik, ale nie udało się otworzyć notatki folderu: {error}",failedToDeleteFile:"Nie udało się usunąć {name}: {error}",failedToDeleteMultipleFiles:"Nie udało się usunąć plików: {count}",versionHistoryNotAvailable:"Historia wersji nie jest dostępna",drawingAlreadyExists:"Rysunek o tej nazwie już istnieje",failedToCreateDrawing:"Nie udało się utworzyć rysunku",noFolderSelected:"Żaden folder nie jest wybrany w Notebook Navigator",noFileSelected:"Żaden plik nie jest wybrany"},warnings:{linkBreakingNameCharacters:"Ta nazwa zawiera znaki, które psują linki Obsidian: #, |, ^, %%, [[, ]].",forbiddenNameCharactersAllPlatforms:"Nazwy nie mogą zaczynać się od kropki ani zawierać : lub /.",forbiddenNameCharactersWindows:'Znaki zarezerwowane przez system Windows są niedozwolone: <, >, ", \\, |, ?, *.'},notices:{hideFolder:"Ukryty folder: {name}",showFolder:"Widoczny folder: {name}",mergeNotes:"Scalono {count} notatek w {name}"},notifications:{deletedMultipleFiles:"Usunięto pliki: {count}",movedMultipleFiles:"Przeniesiono pliki ({count}) do {folder}",folderNoteConversionSuccess:'Przekształcono plik na notatkę folderu w "{name}"',folderMoved:'Przeniesiono folder "{name}"',deepLinkCopied:"Adres URL Obsidian skopiowany do schowka",pathCopied:"Ścieżka skopiowana do schowka",relativePathCopied:"Ścieżka względna skopiowana do schowka",tagAddedToNote:"Dodano tag do 1 notatki",tagAddedToNotes:"Dodano tag do wielu ({count}) notatek",tagRemovedFromNote:"Usunięto tag z 1 notatki",tagRemovedFromNotes:"Usunięto tag z wielu ({count}) notatek",tagsClearedFromNote:"Wyczyszczono wszystkie tagi z 1 notatki",tagsClearedFromNotes:"Wyczyszczono wszystkie tagi z wielu ({count}) notatek",noTagsToRemove:"Brak tagów do usunięcia",noFilesSelected:"Nie wybrano plików",mergeNotesRequireMultipleMarkdown:"Wybierz co najmniej dwie notatki Markdown do scalenia",tagOperationsNotAvailable:"Operacje na tagach niedostępne",propertyOperationsNotAvailable:"Operacje na atrybutach niedostępne",tagsRequireMarkdown:"Tagi są obsługiwane tylko w notatkach Markdown",propertiesRequireMarkdown:"Atrybuty są obsługiwane tylko w notatkach Markdown",propertySetOnNote:"Zaktualizowano atrybut w 1 notatce",propertySetOnNotes:"Zaktualizowano atrybut w wielu ({count}) notatkach",manualSortPropertyRemovedFromNote:"Usunięto atrybut sortowania z 1 notatki",manualSortPropertyRemovedFromNotes:"Usunięto atrybut sortowania z {count} notatek",iconPackDownloaded:"{provider} pobrano",iconPackUpdated:"{provider} zaktualizowano ({version})",iconPackRemoved:"{provider} usunięto",iconPackLoadFailed:"Nie udało się wczytać {provider}",hiddenFileReveal:'Plik jest ukryty. Aby go wyświetlić, włącz opcję "Pokaż ukryte elementy".'},confirmations:{deleteMultipleFiles:"Czy na pewno chcesz usunąć wiele ({count}) plików?",deleteConfirmation:"Nie można cofnąć tej czynności."},defaultNames:{untitled:"Bez nazwy"}},dragDrop:{errors:{cannotMoveIntoSelf:"Nie można przenieść do tego samego lub podrzędnego folderu.",itemAlreadyExists:'Element o nazwie "{name}" już istnieje w tej lokalizacji.',failedToMove:"Nie udało się przenieść: {error}",failedToAddTag:'Nie udało się dodać tagu "{tag}"',failedToSetProperty:"Nie udało się zaktualizować atrybutu: {error}",failedToClearTags:"Nie udało się wyczyścić tagów",failedToMoveFolder:'Nie udało się przenieść folderu "{name}"',failedToImportFiles:"Nie udało się zaimportować: {names}"},notifications:{filesAlreadyExist:"Wiele plików ({count}) już istnieje w miejscu docelowym",filesAlreadyHaveTag:"Wiele plików ({count}) już ma ten lub bardziej szczegółowy tag",filesAlreadyHaveProperty:"Wiele plików ({count}) ma już ten atrybut",noTagsToClear:"Brak tagów do wyczyszczenia",fileImported:"Zaimportowano 1 plik",filesImported:"Zaimportowano wiele plików ({count})"}},dateGroups:{today:"Dzisiaj",yesterday:"Wczoraj",previous7Days:"Poprzednie 7 dni",previous30Days:"Poprzednie 30 dni"},commands:{open:"Otwórz",toggleLeftSidebar:"Przełącz lewy panel boczny",openHomepage:"Otwórz stronę główną",openDailyNote:"Otwórz dziennik",openWeeklyNote:"Otwórz notatkę tygodnia",openMonthlyNote:"Otwórz notatkę miesiąca",openQuarterlyNote:"Otwórz notatkę kwartału",openYearlyNote:"Otwórz notatkę roku",revealFile:"Pokaż plik",search:"Szukaj",searchVaultRoot:"Szukaj w katalogu głównym sejfu",toggleDualPane:"Przełącz układ podwójnego panelu",toggleDualPaneOrientation:"Przełącz orientację podwójnego panelu",toggleCalendar:"Przełącz kalendarz",selectVaultProfile:"Wybierz profil sejfu",selectVaultProfile1:"Wybierz profil sejfu 1",selectVaultProfile2:"Wybierz profil sejfu 2",selectVaultProfile3:"Wybierz profil sejfu 3",deleteFile:"Usuń plik",createNewNote:"Utwórz nową notatkę",createNewNoteFromTemplate:"Utwórz nową notatkę na podstawie szablonu",moveFiles:"Przenieś pliki",mergeNotes:"Scal notatki",selectNextFile:"Wybierz następny plik",selectPreviousFile:"Wybierz poprzedni plik",navigateBack:"Nawiguj wstecz",navigateForward:"Nawiguj do przodu",convertToFolderNote:"Przekształć na notatkę folderu",setAsFolderNote:"Ustaw jako notatkę folderu",detachFolderNote:"Odłącz notatkę folderu",pinAllFolderNotes:"Przypnij wszystkie notatki folderu",navigateToFolder:"Przejdź do folderu",navigateToTag:"Przejdź do tagu",navigateToProperty:"Przejdź do atrybutu",addShortcut:"Dodaj do skrótów",openShortcut:"Otwórz skrót {number}",toggleDescendants:"Przełącz podfoldery",toggleHidden:"Przełącz ukryte foldery, tagi i notatki",toggleTagSort:"Przełącz sortowanie tagów",toggleTagsBySelection:"Przełącz tagi według wyboru",togglePropertiesBySelection:"Przełącz atrybuty według wyboru",toggleCompactMode:"Przełącz tryb kompaktowy",togglePinnedSection:"Przełącz przypiętą sekcję",collapseExpand:"Zwiń / rozwiń wszystkie elementy",collapseExpandSelectedItem:"Zwiń / rozwiń wybrany element",addTag:"Dodaj tag do wybranych plików",setProperty:"Ustaw atrybut dla wybranych plików",removeTag:"Usuń tag z wybranych plików",removeAllTags:"Usuń wszystkie tagi z wybranych plików",openAllFiles:"Otwórz wszystkie pliki",rebuildCache:"Odbuduj pamięć podręczną"},plugin:{viewName:"Notebook Navigator",calendarViewName:"Kalendarz",folderNoteSidebarViewName:"Notatka folderu",ribbonTooltip:"Notebook Navigator",revealInNavigator:"Pokaż w Notebook Navigator"},tooltips:{lastModifiedAt:"Zmodyfikowano",createdAt:"Utworzono",file:"plik",files:"pliki",folder:"folder",folders:"foldery",wordCount:"Liczba słów"},fileCounts:{words:"{count} słów",characters:"{count} znaków",separator:" · "},settings:{changeDefaultSettings:"Zmień ustawienia domyślne",metadataReport:{exportSuccess:"Raport nieprawidłowych metadanych wyeksportowany do: {filename}",exportFailed:"Nie udało się wyeksportować raportu metadanych"},sections:{general:"Ogólne",vaultFilters:"Filtry wyświetlania",appearanceBehavior:"Wygląd i zachowanie",navigationPane:"Panel nawigacji",calendar:"Kalendarz",fileOperations:"Operacje na plikach",icons:"Pakiety ikon",folders:"Foldery",folderNotes:"Notatki folderu",folderNoteFiles:"Pliki notatek folderów",foldersAndFolderNotes:"Foldery i notatki folderu",tagsAndProperties:"Tagi i atrybuty",tags:"Tagi",listPane:"Panel listy",notes:"Wyświetlanie plików",shortcutsAndRecentFiles:"Skróty i ostatnie pliki",advanced:"Zaawansowane"},pageGroups:{configuration:"Konfiguracja",navigationAndContent:"Panel nawigacji",notesAndLists:"Panel listy",calendarAndTools:"Kalendarz i narzędzia"},pageDescriptions:{general:"Informacje o wydaniu, wsparcie, profil sejfu, typy plików i klucze atrybutów.",vaultFilters:"Ukryte foldery, tagi, pliki, tagi plików i reguły atrybutów.",appearanceBehavior:"Zachowanie, nawigacja klawiaturą, przyciski myszy, wygląd i formatowanie.",navigationPane:"Układ, wygląd, liczba notatek, zachowanie zwijania i kolory tęczy.",shortcuts:"Widoczność skrótów, odznaki, ostatnie pliki i przypięte elementy.",calendar:"Wyświetlanie kalendarza, notatki dat, szablony, lokalizacja i położenie paska bocznego.",fileOperations:"Szablony, potwierdzenia usunięcia, załączniki i zachowanie przy konflikcie przenoszenia plików.",foldersAndFolderNotes:"Wyświetlanie folderów, notatki folderu, szablony notatek folderu i zachowanie notatek folderu.",tagsProperties:"Sekcje tagów i atrybutów, ikony, sortowanie, zakres i dziedziczenie.",listPane:"Sortowanie, grupowanie, tryby listy, przypięte notatki i podglądy rysunków.",frontmatter:"Pola metadanych dla nazw wyświetlanych, znaczników czasu, ikon i kolorów.",notes:"Tytuły, tekst podglądu, wyróżnione obrazy, tagi, atrybuty, daty, liczba słów i liczba znaków.",iconPacks:"Ikony interfejsu, ikony plików i zarządzanie pakietami ikon.",advanced:"Diagnostyka, czyszczenie metadanych, import/eksport i resetowanie."},groups:{general:{vaultConfiguration:"Konfiguracja sejfu",templates:"Szablony",behavior:"Zachowanie",keyboardNavigation:"Nawigacja klawiaturą",mouseButtons:"Przyciski myszy",view:"Wygląd",icons:"Ikonki",desktopAppearance:"Wygląd na komputerze",mobileAppearance:"Wygląd mobilny",formatting:"Formatowanie"},advanced:{maintenance:"Konserwacja",resetSettings:"Resetowanie ustawień"},navigation:{appearance:"Wygląd",banner:"Baner",collapseItems:"Zwiń elementy",dragAndDrop:"Przeciągnij i upuść",noteCounts:"Liczba notatek",rainbowColors:"Kolory tęczy",leftSidebar:"Lewy panel boczny",calendarIntegration:"Integracja z kalendarzem"},list:{display:"Wygląd",groupHeaders:"Nagłówki grup",propertySort:"Sortowanie według atrybutów",manualSort:"Sortowanie ręczne",pinnedNotes:"Przypięte notatki",drawingPreviews:"Podglądy rysunków"},notes:{frontmatter:"Pola metadanych",tasks:"Zadania",icon:"Ikonka",title:"Tytuł",previewText:"Tekst podglądu",featureImage:"Wyróżniony obraz",tags:"Tagi",properties:"Atrybuty",date:"Data",parentFolder:"Folder nadrzędny",wordCount:"Liczba słów i znaków"}},syncMode:{notSynced:"(niezsynchronizowane)",switchToSynced:"Włącz synchronizację",switchToLocal:"Wyłącz synchronizację"},items:{listPaneTitle:{name:"Tytuł panelu listy",desc:"Wybierz, gdzie ma być widoczny tytuł panelu listy.",options:{header:"Pokaż w nagłówku",list:"Pokaż w panelu listy",hidden:"Ukryj"}},sortNotesBy:{name:"Domyślny porządek sortowania",desc:"Wybierz domyślny porządek sortowania notatek.",options:{"modified-desc":"daty edycji (od najnowszych)","modified-asc":"daty edycji (od najstarszych)","created-desc":"daty utworzenia (od najnowszych)","created-asc":"daty utworzenia (od najstarszych)","title-asc":"tytułu (od A do Z)","title-desc":"tytułu (od Z do A)","filename-asc":"nazwy (od A do Z)","filename-desc":"nazwy (od Z do A)"},directions:{asc:"Rosnąco",desc:"Malejąco"},fields:{modified:"Data edycji",created:"Data utworzenia",title:"Tytuł",filename:"Nazwa pliku",property:"Atrybut"}},propertySortKey:{name:"Atrybuty do sortowania",desc:"Rozdzielone przecinkami atrybuty frontmatter pokazywane jako opcje sortowania według atrybutów. Tablice są łączone w jeden ciąg. Te atrybuty nie są zmieniane.",placeholder:"published, author"},propertySortSecondary:{name:"Sortowanie drugorzędne",desc:"Używane z sortowaniem według atrybutów, gdy notatki mają taką samą wartość lub jej nie mają.",options:{title:"Tytuł",filename:"Nazwa pliku",created:"Data utworzenia",modified:"Data edycji"}},propertySortInstructions:{intro:"Każdy wymieniony powyżej atrybut pojawia się jako opcja sortowania w menu sortowania w panelu listy. Wybranie jednego sortuje notatki według jego wartości frontmatter."},manualSortPropertyKey:{name:"Atrybut sortowania ręcznego",desc:"Atrybut frontmatter używany do przechowywania wartości indeksu liczbowego dla sortowania ręcznego."},manualSortGroupHeaderProperty:{name:"Atrybut nagłówka grupy",desc:"Atrybut frontmatter używany do przechowywania niestandardowych nagłówków grup."},groupHeadersInstructions:{intro:"Niestandardowe nagłówki grup wyświetlają się nad notatkami w panelu listy.",items:["W menu sortowania w panelu listy ustaw grupowanie na **Niestandardowe**.","Kliknij notatkę prawym przyciskiem myszy i wybierz **Ustaw nagłówek grupy**, aby dodać nagłówek nad nią."]},manualSortNewNotePlacement:{name:"Umiejscowienie nowych notatek",desc:"Wybierz, gdzie umieszczane są nowe notatki, gdy bieżąca lista używa sortowania ręcznego.",options:{top:"Na górze",bottom:"Na dole","below-selected-note":"Pod wybraną notatką",unsorted:"Nieposortowane"}},confirmBeforeManualSort:{name:"Potwierdzaj przed sortowaniem ręcznym",desc:"Pokaż ostrzeżenie przed pierwszym zapisaniem atrybutu sortowania ręcznego w notatkach. Po wyłączeniu notatki otrzymują atrybut bez ostrzeżenia."},manualSortInstructions:{intro:"Sortowanie ręczne zapisuje wartość indeksu liczbowego do atrybutu frontmatter w każdej notatce. Notatki bez indeksu pojawiają się w sekcji Nieposortowane.",items:["Włącz sortowanie ręczne, wybierając **Sortowanie ręczne** z menu sortowania. Następnie istnieją dwa sposoby zmiany kolejności notatek.","Wybierz **Edytuj kolejność sortowania...** z menu sortowania, aby otworzyć widok zmiany kolejności. Przeciągaj notatki myszą lub dotykiem na urządzeniach mobilnych. Na komputerze kliknięcie z **Cmd/Ctrl** lub **Shift** zaznacza wiele notatek, a następnie przeciągnięcie którejkolwiek z nich przenosi całą grupę.","W panelu listy zaznacz jedną notatkę lub zaznacz wiele, a następnie naciśnij **Cmd/Ctrl + Arrow Up/Down**, aby przesunąć zaznaczenie w górę lub w dół."]},revealFileOnListChanges:{name:"Przewiń do wybranego pliku podczas zmian na liście",desc:"Przewiń do wybranego pliku podczas przypinania notatek, wyświetlania notatek podrzędnych, zmiany wyglądu folderu lub wykonywania operacji na plikach."},includeDescendantNotes:{name:"Pokaż notatki z podfolderów / elementów podrzędnych",desc:"Podczas przeglądania folderu, tagu lub właściwości uwzględnij notatki z podfolderów oraz elementów podrzędnych tagów i właściwości."},limitPinnedToCurrentFolder:{name:"Przypinaj notatki tylko w ich folderze",desc:"Przypięte notatki są wyświetlane jako przypięte tylko w swoim własnym folderze. Przydatne dla notatek folderów lub jeśli masz wiele przypiętych notatek. Nie wpływa na widoki tagów ani atrybutów."},separateNoteCounts:{name:"Pokaż bieżącą i podrzędną liczbę notatek oddzielnie",desc:'Wyświetla liczbę notatek jako "nadrzędne ▾ podrzędne" dla folderów, tagów i właściwości.'},groupNotes:{name:"Domyślne grupowanie",desc:"Niestandardowe wyświetla nagłówki zdefiniowane w metadanych. Data grupuje notatki według daty. Folder grupuje notatki według folderu. Widoki tagów i atrybutów używają grup dat, gdy wybrany jest folder.",options:{custom:"Niestandardowe",date:"Data",folder:"Folder"}},showSelectedNavigationPills:{name:"Zawsze pokazuj wszystkie etykiety tagów i atrybutów",desc:"Po wyłączeniu etykiety odpowiadające bieżącemu wyborowi nawigacji są ukrywane (np. etykieta tagu „przepisy” jest ukrywana podczas przeglądania tagu „przepisy”). Włącz, aby wszystkie etykiety były zawsze widoczne."},stickyGroupHeaders:{name:"Przyklejone nagłówki grup",desc:"Bieżący nagłówek sekcji daty, folderu lub przypiętej pozostaje widoczny podczas przewijania."},showFolderGroupPaths:{name:"Pokaż ścieżki podfolderów",desc:"Podczas grupowania według folderu w panelu listy pokazuj ścieżki podfolderów zamiast samych nazw folderów."},showCurrentFolderFilesAtBottom:{name:"Grupowanie folderów: pliki bieżącego folderu na dole",desc:"Gdy domyślne grupowanie to Folder, przenieś pliki znajdujące się bezpośrednio w wybranym folderze pod grupy podfolderów."},defaultListMode:{name:"Domyślny tryb listy",desc:'Wybierz domyślny układ listy. Opcja "Standardowy" wyświetla tytuł, datę, opis i tekst podglądu. Opcja "Kompaktowy" wyświetla tylko tytuł. Można to zmienić dla konkretnych folderów.',options:{standard:"Standardowy",compact:"Kompaktowy"}},showFileIcons:{name:"Pokaż ikonki plików",desc:"Wyświetla ikonki plików z wyrównaniem do lewej strony. Wyłączenie tej opcji powoduje usunięcie zarówno ikonek, jak i wcięć. Priorytet: ikonka nieukończonych zadań > ikonka niestandardowa > ikonka folderu > ikonka nazwy pliku > ikonka typu pliku > ikonka domyślna."},useFolderIcon:{name:"Użyj ikonki folderu",desc:"Wyświetla ikonkę folderu nadrzędnego, gdy nie ustawiono niestandardowej ikonki pliku. Kolor folderu jest używany, gdy nie ustawiono niestandardowego koloru pliku."},showFileIconUnfinishedTask:{name:"Ikona nieukończonych zadań",desc:"Wyświetla ikonkę, gdy notatka zawiera niezakończone zadania."},showFileBackgroundUnfinishedTask:{name:"Tło nieukończonych zadań",desc:"Zastosuj kolor tła, gdy notatka zawiera nieukończone zadania."},unfinishedTaskBackgroundColor:{name:"Kolor tła nieukończonych zadań",desc:"Ustaw kolor tła używany, gdy notatka zawiera nieukończone zadania."},showFilenameMatchIcons:{name:"Ikonki na podstawie nazwy pliku",desc:"Przypisuje ikonki do plików na podstawie tekstu w ich nazwach."},fileNameIconMap:{name:"Przypisanie ikonek na podstawie nazwy pliku",desc:"Pliki zawierające dany tekst otrzymują określoną ikonkę. Jedno przypisanie na linię: tekst=ikonka",placeholder:`# tekst=ikona
spotkanie=ph-calendar
faktura=ph-receipt`,editTooltip:"Edytuj przypisania"},showCategoryIcons:{name:"Ikonki według typu pliku",desc:"Przypisuje ikonki do plików na podstawie ich rozszerzeń."},fileTypeIconPreset:{name:"Ustawienie wstępne ikonek plików",desc:"Wybierz wbudowane ikonki lub ustawienie wstępne pakietu ikonek. Niestandardowe reguły rozszerzeń zastępują to ustawienie wstępne.",options:{none:"Wbudowane ikonki"},notInstalledWarning:"Ten pakiet ikonek nie jest zainstalowany. Zamiast niego są wyświetlane wbudowane ikonki."},fileTypeIconMap:{name:"Przypisanie ikonek na podstawie typu pliku",desc:"Pliki z danym rozszerzeniem otrzymują określoną ikonkę. Jedno przypisanie na linię: rozszerzenie=ikonka",placeholder:`# rozszerzenie=ikonka
cpp=ph-file-code
pdf=ph-file-pdf`,editTooltip:"Edytuj przypisania"},compactItemHeight:{name:"Wysokość elementów w trybie kompaktowym",desc:"Ustawia wysokość elementów kompaktowej listy na komputerach stacjonarnych i urządzeniach mobilnych (piksele).",resetTooltip:"Przywróć wartość domyślną (28px)"},compactItemHeightScaleText:{name:"Skalowanie tekstu z wysokością trybu kompaktowego",desc:"Skaluje tekst na kompaktowej liście, gdy wysokość elementu zostanie zmniejszona."},showParentFolder:{name:"Pokaż folder nadrzędny",desc:"Wyświetla nazwę folderu nadrzędnego dla notatek w podfolderach, tagach lub właściwościach."},showParentFolderFullPath:{name:"Pokaż pełną ścieżkę",desc:"Wyświetla pełną ścieżkę folderu nadrzędnego zamiast tylko nazwy folderu."},parentFolderClickRevealsFile:{name:"Kliknięcie folderu nadrzędnego otwiera folder",desc:"Kliknięcie etykiety folderu nadrzędnego otwiera folder w panelu listy."},showParentFolderColor:{name:"Pokaż kolor folderu nadrzędnego",desc:"Używa kolorów folderów na etykietach folderów nadrzędnych."},showParentFolderIcon:{name:"Pokaż ikonkę folderu nadrzędnego",desc:"Wyświetla ikonki folderów obok etykiet folderów nadrzędnych."},showQuickActions:{name:"Pokaż szybkie czynności",desc:"Wyświetla przyciski akcji po najechaniu kursorem na pliki. Wyróżnij ikonkę, aby wyświetlić czynność."},dualPane:{name:"Układ podwójnego panelu",desc:"Wyświetla panel nawigacji i panel listy obok siebie na komputerze."},dualPaneOrientation:{name:"Orientacja trybu podwójnego",desc:"Wybierz układ poziomy lub pionowy, gdy aktywny jest podwójny panel.",options:{horizontal:"Podział poziomy",vertical:"Podział pionowy"}},narrowSidebarLayout:{name:"Gdy pasek boczny jest zbyt wąski",desc:"Wybierz, co się dzieje, gdy panel nawigacji i panel listy nie mieszczą się obok siebie.",options:{none:"Nic nie rób",singlePane:"Przełącz na jeden panel",vertical:"Przełącz na podział pionowy"}},narrowSidebarTrigger:{name:"Próg wąskiego paska bocznego",desc:"Wybierz sposób obliczania progu szerokości paska bocznego.",options:{fitPanes:"Dopasuj panele",customWidth:"Niestandardowa szerokość"}},narrowSidebarCustomWidth:{name:"Szerokość progu wąskiego paska bocznego",desc:"Przełączaj, gdy pasek boczny jest węższy niż ta szerokość.",resetTooltip:"Przywróć domyślną szerokość"},appearanceBackground:{name:"Kolor tła",desc:"Wybierz kolory tła dla panelu nawigacji i listy.",options:{separate:"Oddzielne tła",primary:"Użyj tła listy",secondary:"Użyj tła nawigacji"}},appearanceScale:{name:"Poziom przybliżenia",desc:"Kontroluje ogólny poziom przybliżenia Notebook Navigator (procent)."},useFloatingToolbars:{name:"Użyj pływających pasków narzędzi w systemie iOS/iPadOS",desc:"Dotyczy tylko iOS i iPadOS."},startView:{name:"Domyślny widok początkowy",desc:"Wybierz, który panel ma być widoczny po otwarciu Notebook Navigator. Panel nawigacji pokazuje skróty, ostatnie pliki i strukturę folderów. Panel listy od razu pokazuje listę plików.",options:{navigation:"Panel nawigacji",files:"Panel listy"}},toolbarButtons:{name:"Przyciski paska narzędzi",desc:"Wybierz, które przyciski mają być wyświetlane na pasku narzędzi. Ukryte przyciski pozostają dostępne za pośrednictwem palety poleceń i w menu.",navigationLabel:"Panel nawigacji",listLabel:"Panel listy"},createNewNotesInNewTab:{name:"Otwieraj nowe notatki w nowej karcie",desc:"Gdy włączone, polecenie Utwórz nową notatkę otwiera notatki w nowej karcie. Gdy wyłączone, notatki zastępują bieżącą kartę."},autoRevealActiveNote:{name:"Pokaż aktywną notatkę",desc:"Automatycznie wyświetla notatki po otwarciu za pomocą okna szybkiego wyboru, linków lub wyszukiwania."},autoRevealShortestPath:{name:"Automatyczne ujawnianie: Użyj najkrótszej ścieżki",desc:"Włączone: Automatyczne ujawnianie wybiera najbliższy widoczny folder nadrzędny lub tag. Wyłączone: Automatyczne ujawnianie wybiera rzeczywisty folder pliku i dokładny tag."},autoRevealIgnoreRightSidebar:{name:"Automatyczne ujawnianie: Ignoruj zdarzenia z prawego paska bocznego",desc:"Nie zmieniaj aktywnej notatki podczas klikania lub zmiany notatek w prawym pasku bocznym."},autoRevealIgnoreOtherWindows:{name:"Automatyczne ujawnianie: Ignoruj zdarzenia z innych okien",desc:"Nie zmieniaj aktywnej notatki podczas pracy z notatkami w innym oknie."},paneTransitionDuration:{name:"Animacja pojedynczego panelu",desc:"Czas trwania przejścia podczas przełączania paneli w trybie pojedynczego panelu (w milisekundach).",resetTooltip:"Przywróć domyślne"},autoSelectFirstFileOnFocusChange:{name:"Automatycznie wybierz pierwszą notatkę",desc:"Automatycznie otwiera pierwszą notatkę po zmianie folderu, tagu lub właściwości."},skipAutoScroll:{name:"Wyłącz automatyczne przewijanie skrótów",desc:"Nie przewijaj panelu nawigacji podczas klikania elementów w skrótach."},autoExpandNavItems:{name:"Rozwiń podczas zaznaczania",desc:"Rozwija foldery, tagi i atrybuty po zaznaczeniu. W trybie pojedynczego panelu pierwsze zaznaczenie powoduje rozwinięcie, drugie zaznaczenie powoduje wyświetlenie plików."},collapseOtherBranchesOnExpand:{name:"Jedna rozwinięta gałąź",desc:"Zwijaj inne gałęzie w tym samym drzewie podczas rozwijania folderu, tagu lub atrybutu."},springLoadedFolders:{name:"Rozwiń podczas przeciągania",desc:"Rozwija foldery i tagi po najechaniu kursorem podczas przeciągania."},springLoadedFoldersInitialDelay:{name:"Rozwiń podczas przeciągania: Opóźnienie pierwszego rozwinięcia",desc:"Opóźnienie przed rozwinięciem pierwszego folderu lub tagu podczas przeciągania (w sekundach)."},springLoadedFoldersSubsequentDelay:{name:"Rozwiń podczas przeciągania: Opóźnienie kolejnych rozwinięć",desc:"Opóźnienie przed rozwinięciem kolejnych folderów lub tagów podczas tego samego przeciągania (w sekundach)."},navigationBanner:{name:"Baner nawigacji (profil sejfu)",desc:"Wyświetla obraz nad panelem nawigacji. Zmienia się wraz z wybranym profilem sejfu.",current:"Aktywny baner: {path}",chooseButton:"Wybierz obraz"},pinNavigationBanner:{name:"Przypnij baner",desc:"Przypnij baner nad panelem nawigacji."},showShortcuts:{name:"Pokaż skróty",desc:"Wyświetla sekcję skrótów w panelu nawigacji."},shortcutBadgeDisplay:{name:"Plakietka skrótu",desc:"Co ma być widoczne obok skrótów. Użyj poleceń 'Otwórz skrót 1-9', aby otworzyć skróty bezpośrednio.",options:{index:"Pozycja (1-9)",count:"Liczba elementów",none:"Brak"}},showRecentNotes:{name:"Pokaż ostatnie pliki",desc:"Wyświetla sekcję ostatnich plików w panelu nawigacji."},hideRecentNotes:{name:"Ukryj typy plików z ostatnich plików",desc:"Wybierz typy plików do ukrycia w sekcji ostatnich plików.",options:{none:"Brak",folderNotes:"Notatki folderów"}},recentNotesCount:{name:"Liczba ostatnich plików",desc:"Liczba ostatnich plików do wyświetlenia."},pinRecentNotesWithShortcuts:{name:"Przypnij ostatnie pliki razem ze skrótami",desc:"Dołącz ostatnie pliki podczas przypinania skrótów."},calendarEnabled:{name:"Włącz kalendarz",desc:"Włącz funkcje kalendarza w Notebook Navigator."},calendarPlacement:{name:"Położenie kalendarza",desc:"Umieść kalendarz w lewym lub prawym panelu bocznym.",options:{leftSidebar:"Lewy panel boczny",rightSidebar:"Prawy panel boczny"}},calendarLeftPlacement:{name:"Pozycja w trybie pojedynczego panelu",desc:"Gdzie kalendarz jest wyświetlany w trybie pojedynczego panelu.",options:{navigationPane:"Panel nawigacji",below:"Pod panelami"}},calendarLocale:{name:"Ustawienia regionalne",desc:"Kontroluje formatowanie dat kalendarza, numerację tygodni i pierwszy dzień tygodnia.",weekPathMismatchWarning:"Widoczny kalendarz i ścieżki notatek tygodniowych używają różnych początków tygodni lub numeracji tygodni.",options:{systemDefault:"Domyślne"}},calendarWeekendDays:{name:"Dni weekendowe",desc:"Wyświetla dni weekendowe z innym kolorem tła.",options:{none:"Brak",satSun:"sobota i niedziela",friSat:"piątek i sobota",thuFri:"czwartek i piątek"}},calendarMonthHeadingFormat:{name:"Format nazwy miesiąca",desc:"Pełna (styczeń) lub skrócona (sty) nazwa miesiąca.",options:{full:"styczeń (pełna)",short:"sty (krótka)"}},showInfoButtons:{name:"Pokaż przyciski informacyjne",desc:"Wyświetla przyciski informacyjne w pasku wyszukiwania i nagłówku kalendarza."},calendarWeeksToShow:{name:"Tygodnie widoczne w lewym pasku bocznym",desc:"Kalendarz w prawym pasku bocznym zawsze wyświetla cały miesiąc.",options:{fullMonth:"Cały miesiąc",oneWeek:"1 tydzień",weeksCount:"tygodnie: {count}"}},calendarHighlightToday:{name:"Wyróżnij dzisiejszą datę",desc:"Wyróżnij dzisiejszą datę kolorem tła i pogrubioną czcionką."},calendarShowFeatureImage:{name:"Pokaż wyróżniony obraz",desc:"Wyświetla wyróżnione obrazy notatek w kalendarzu."},calendarShowWeekNumber:{name:"Pokaż numer tygodnia",desc:"Dodaje kolumnę z numerem tygodnia."},calendarShowQuarter:{name:"Pokaż kwartał",desc:"Dodaje etykietę kwartału w nagłówku kalendarza."},calendarShowYearCalendar:{name:"Pokaż kalendarz roczny",desc:"Wyświetla nawigację roczną i siatkę miesięczną w prawym pasku bocznym."},calendarConfirmBeforeCreate:{name:"Potwierdź przed utworzeniem",desc:"Wyświetla możliwość potwierdzenia podczas tworzenia nowej notatki dziennika."},calendarIntegrationMode:{name:"Źródło notatek",desc:"Źródło notatek kalendarza.",options:{dailyNotes:"Dziennik (wbudowana wtyczka)",notebookNavigator:"Notebook Navigator"},info:{dailyNotes:"Folder i format daty można zmienić w ustawieniach wtyczki Dziennik."}},calendarPeriodicNotesLocale:{name:"Ustawienia regionalne notatek okresowych",desc:"Kontroluje zlokalizowane nazwy miesięcy, dni tygodnia, numery tygodni oraz początki tygodni w ścieżkach notatek okresowych Notebook Navigator.",options:{calendar:"Kalendarz",obsidian:"Obsidian"}},calendarCustomRootFolder:{name:"Folder główny",desc:"Folder bazowy dla notatek okresowych. Wzory dat mogą zawierać podfoldery. Zmienia się wraz z wybranym profilem sejfu.",placeholder:"Personal/Diary"},calendarTemplateFolder:{name:"Lokalizacja folderu szablonów",desc:"Wybór pliku szablonu pokazuje notatki z tego folderu.",placeholder:"Templates",usage:"Używane przez notatki kalendarza i notatki folderów. Skonfiguruj szablony w Kalendarz > Integracja z kalendarzem oraz Foldery i notatki folderu > Pliki notatek folderów."},calendarCustomFilePattern:{name:"Notatki dziennika",desc:"Sformatuj ścieżkę przy użyciu formatu daty Moment. Nazwy podfolderów umieść w nawiasach, np. [Work]/YYYY. Kliknij ikonkę szablonu, aby ustawić szablon. Ustaw lokalizację folderu szablonów w sekcji Operacje na plikach > Szablony.",momentDescPrefix:"Sformatuj ścieżkę przy użyciu ",momentLinkText:"formatu daty Moment",momentDescSuffix:". Nazwy podfolderów umieść w nawiasach, np. [Work]/YYYY. Kliknij ikonkę szablonu, aby ustawić szablon. Ustaw lokalizację folderu szablonów w sekcji Operacje na plikach > Szablony.",templaterSupportInstalled:"✅ Wtyczka Templater jest zainstalowana i zapewnia pełną obsługę szablonów.",templaterSupportMissing:"⚠️ Zainstaluj wtyczkę Templater, aby uzyskać pełną obsługę szablonów.",placeholder:"YYYY/YYYYMMDD",example:"Aktywna składnia: {path}",parsingError:"Wzór musi być tak sformatowany, aby można było odczytać kompletną datę (rok, miesiąc, dzień)."},calendarCustomWeekPattern:{name:"Notatki tygodniowe",parsingError:"Wzór musi być tak sformatowany, aby można było odczytać kompletną datę (rok tygodnia, numer tygodnia).",weekPathMismatchWarning:'Ścieżki notatek tygodniowych używają ustawień regionalnych notatek okresowych. Użyj pasujących ustawień regionalnych lub użyj "GGGG" z "WW" dla tygodni rozpoczynających się w poniedziałek.',mixedWeekTokensWarning:'Ten wzór miesza tokeny tygodnia rozpoczynające się w poniedziałek ("W" lub "G") z tokenami tygodnia opartymi na ustawieniach regionalnych ("w" lub "g"). Użyj konsekwentnie jednego zestawu: "GGGG" z "WW" dla tygodni rozpoczynających się w poniedziałek lub "gggg" z "ww", jeśli notatki tygodniowe mają być zgodne z wybranymi ustawieniami regionalnymi.'},calendarCustomMonthPattern:{name:"Notatki miesięczne",parsingError:"Wzór musi być tak sformatowany, aby można było odczytać kompletną datę (rok, miesiąc)."},calendarCustomQuarterPattern:{name:"Notatki kwartalne",parsingError:"Wzór musi być tak sformatowany, aby można było odczytać kompletną datę (rok, kwartał)."},calendarCustomYearPattern:{name:"Notatki roczne",parsingError:"Wzór musi być tak sformatowany, aby można było odczytać kompletną datę (rok)."},calendarTemplateFile:{current:"Plik szablonu: {name}"},showTooltips:{name:"Pokaż informacje",desc:"Po najechaniu kursorem wyświetla dodatkowe informacje dotyczące notatek i folderów."},showTooltipPath:{name:"Pokaż ścieżkę w podpowiedziach",desc:"Po najechaniu kursorem wyświetla ścieżkę folderu pod nazwami notatek."},showTooltipWordCount:{name:"Pokaż liczbę słów w podpowiedziach",desc:"Wyświetla liczbę słów notatek w podpowiedziach."},resetPaneSeparator:{name:"Przywróć położenie separatora paneli",desc:"Przywraca domyślne położenie separatora oddzielającego panel nawigacji i panel listy.",buttonText:"Przywróć separator",notice:"Przywrócono pozycję separatora. Uruchom ponownie Obsidian lub ponownie otwórz Notebook Navigator, aby zastosować zmiany."},settingsTransfer:{name:"Importuj i eksportuj ustawienia",desc:"Eksportuj lub importuj ustawienia Notebook Navigator jako JSON. Import zastępuje wszystkie ustawienia.",importButtonText:"Importuj",exportButtonText:"Eksportuj",import:{modalTitle:"Importuj ustawienia",fileButtonName:"Importuj z pliku",fileButtonDesc:"Wczytaj plik JSON z dysku.",fileButtonText:"Importuj z pliku",editorName:"JSON",editorDesc:"Wklej lub edytuj JSON poniżej. Nieuwzględnione ustawienia zostaną zresetowane do wartości domyślnych.",placeholder:`{
  "folderSortOrder": "alpha-desc"
}`,confirmButtonText:"Importuj",successNotice:"Ustawienia zaimportowane.",errorNotice:"Nie udało się zaimportować ustawień: {message}",fileReadError:"Nie można odczytać pliku: {message}"},export:{modalTitle:"Eksportuj ustawienia",editorName:"JSON",editorDesc:"Uwzględnione są tylko ustawienia zmienione w stosunku do wartości domyślnych.",placeholder:"{}",copyButtonText:"Kopiuj do schowka",downloadButtonText:"Pobierz",copyNotice:"Ustawienia skopiowane do schowka.",downloadNotice:"Ustawienia wyeksportowane.",downloadError:"Nie udało się pobrać ustawień: {message}"}},resetAllSettings:{name:"Przywróć wszystkie ustawienia",desc:"Przywraca wszystkie ustawienia Notebook Navigator do wartości domyślnych.",buttonText:"Przywróć wszystkie ustawienia",confirmTitle:"Przywrócić wszystkie ustawienia?",confirmMessage:"Spowoduje to przywrócenie wszystkich ustawień Notebook Navigator do wartości domyślnych. Nie można cofnąć tej czynności.",confirmButtonText:"Przywróć wszystkie ustawienia",notice:"Przywrócono wszystkie ustawienia. Uruchom ponownie Obsidian lub ponownie otwórz Notebook Navigator, aby zastosować zmiany.",error:"Nie udało się przywrócić ustawień."},multiSelectModifier:{name:"Zaznaczanie wielu elementów",desc:"Wybierz, który klawisz umożliwia zaznaczanie wielu elementów. Gdy wybrano Option/Alt, kliknięcie z Cmd/Ctrl otwiera notatki w nowej karcie.",options:{cmdCtrl:"kliknięcie z Cmd/Ctrl",optionAlt:"kliknięcie z Option/Alt"}},enterToOpenFiles:{name:"Naciśnij Enter, aby otworzyć pliki",desc:"Otwieraj pliki tylko po naciśnięciu Enter podczas nawigacji po liście za pomocą klawiatury. W macOS zapobiega to zmianie nazw plików klawiszem Enter."},shiftEnterOpenContext:{name:"Shift+Enter",desc:"Wybierz, czy Shift+Enter otwiera, czy zmienia nazwę wybranego pliku."},cmdEnterOpenContext:{name:"Cmd+Enter",desc:"Wybierz, czy Cmd+Enter otwiera, czy zmienia nazwę wybranego pliku."},ctrlEnterOpenContext:{name:"Ctrl+Enter",desc:"Wybierz, czy Ctrl+Enter otwiera, czy zmienia nazwę wybranego pliku."},mouseBackForwardAction:{name:"Przyciski wstecz/dalej myszy",desc:"Działanie przycisków wstecz i dalej myszy na komputerze.",options:{none:"Użyj domyślnych systemu",singlePaneSwitch:"Przełącz panele (jeden panel)",history:"Nawiguj historię"}},fileVisibility:{name:"Pokaż typy plików (profil sejfu)",desc:"Filtruj typy plików widoczne w przeglądarce. Pliki nieobsługiwane przez Obsidian mogą być otwierane w aplikacjach zewnętrznych.",options:{documents:"Dokumenty (.md, .canvas, .base)",supported:"Obsługiwane (otwiera się w Obsidian)",all:"Wszystkie (mogą otworzyć się zewnętrznie)"}},homepage:{name:"Strona główna",desc:"Wybierz, co Notebook Navigator otwiera automatycznie przy uruchomieniu.",current:"Aktywny: {path}",chooseButton:"Wybierz plik",options:{none:"Brak",file:"Plik",dailyNote:"Dziennik",weeklyNote:"Notatka tygodniowa",monthlyNote:"Notatka miesięczna",quarterlyNote:"Notatka kwartalna",yearlyNote:"Notatka roczna"},file:{name:"Strona główna: Plik startowy",empty:"Nie wybrano pliku"},createMissing:{name:"Strona główna: Utwórz notatkę, jeśli jej brak",desc:"Tworzy notatkę okresową podczas uruchamiania lub po wywołaniu polecenia, jeśli nie istnieje."}},excludedNotes:{name:"Ukryj notatki na podstawie reguł atrybutów (profil sejfu)",desc:"Lista reguł atrybutów rozdzielonych przecinkami. Użyj `key` lub `key=value` (np. status=done, published=true, archived).",placeholder:"status=done, published=true, archived"},excludedFileNamePatterns:{name:"Ukryj pliki (profil sejfu)",desc:"Lista nazw plików oddzielonych przecinkami. Obsługuje symbole wieloznaczne * i ścieżki / (np. temp-*, *.png, /assets/*).",placeholder:"temp-*, *.png, /assets/*"},vaultProfiles:{name:"Profil sejfu",desc:"Profile przechowują widoczność typów plików, ukryte pliki, ukryte foldery, ukryte tagi, reguły właściwości dla ukrytych notatek, skróty i panel nawigacji. Przełącz profile w nagłówku panelu nawigacji.",defaultName:"Domyślny",addButton:"Dodaj profil",editProfilesButton:"Edytuj profile",addProfileOption:"Dodaj profil...",applyButton:"Zastosuj",deleteButton:"Usuń profil",addModalTitle:"Dodaj profil",editProfilesModalTitle:"Edytuj profile",addModalPlaceholder:"Nazwa profilu",deleteModalTitle:"Usuń {name}",deleteModalMessage:"Usunąć {name}? Filtry ukrytych plików, folderów, tagów i notatek oparte na właściwościach zapisane w tym profilu zostaną usunięte.",moveUp:"Przesuń w górę",moveDown:"Przesuń w dół",errors:{emptyName:"Wprowadź nazwę profilu",duplicateName:"Nazwa profilu już istnieje"}},vaultTitle:{name:"Położenie tytułu sejfu",desc:"Wybierz, gdzie jest widoczny tytuł sejfu.",options:{header:"Pokaż w nagłówku",navigation:"Pokaż w panelu nawigacji"}},excludedFolders:{name:"Ukryj foldery (profil sejfu)",desc:"Lista folderów rozdzielonych przecinkami. Wzory nazw: assets* (foldery zaczynające się od assets), *_temp (kończące się na _temp). Wzory ścieżek: /archive (folder nadrzędny o nazwie archive), /res* (folder nadrzędny o nazwie zaczynającej się od res), /*/temp (foldery podrzędne o nazwie temp), /projects/* (wszystkie foldery wewnątrz folderu projects).",placeholder:"templates, assets*, /archive, /res*"},showFileDate:{name:"Pokaż datę",desc:"Wyświetla datę pod nazwami notatek."},alphabeticalDateMode:{name:"Podczas sortowania według nazwy",desc:"Data widoczna, gdy notatki są sortowane alfabetycznie.",options:{created:"Data utworzenia",modified:"Data modyfikacji"}},showFileTags:{name:"Pokaż tagi plików",desc:"Wyświetla klikalne tagi w elementach plików."},showFileTagAncestors:{name:"Pokaż kompletne ścieżki tagów",desc:"Wyświetla kompletne ścieżki hierarchii tagów. Po włączeniu: 'ai/openai', 'praca/projekty/2024'. Po wyłączeniu: 'openai', '2024'."},colorFileTags:{name:"Koloruj tagi plików",desc:"Zastosuj kolory do tagów w elementach plików."},prioritizeColoredFileTags:{name:"Pokaż kolorowe tagi jako pierwsze",desc:"Wyświetla kolorowe tagi przed innymi w elementach plików."},showFileTagsInCompactMode:{name:"Pokaż tagi plików w trybie kompaktowym",desc:"Wyświetla tagi, gdy data, podgląd i obraz są ukryte."},showFileProperties:{name:"Pokaż atrybuty plików",desc:"Wyświetl atrybuty w elementach plików. Użyj okna „Widoczność kluczy atrybutów”, aby wybrać, które atrybuty są pokazywane."},colorFileProperties:{name:"Koloruj atrybuty plików",desc:"Zastosuj kolory do etykiet atrybutów w elementach plików."},prioritizeColoredFileProperties:{name:"Wyświetl kolorowe atrybuty jako pierwsze",desc:"Sortuj kolorowe atrybuty przed pozostałymi w elementach plików."},showFilePropertiesInCompactMode:{name:"Pokaż atrybuty w trybie kompaktowym",desc:"Wyświetlaj atrybuty, gdy tryb kompaktowy jest aktywny."},textCountDisplay:{name:"Typ licznika",desc:"Wybierz, które liczniki notatek pojawiają się w elementach plików.",options:{none:"Brak",words:"Liczba słów",characters:"Liczba znaków",both:"Liczba słów i znaków"}},textCountPlacement:{name:"Położenie",desc:"Wybierz, gdzie pojawiają się liczniki notatek.",options:{title:"W tytule",property:"Jako atrybut"}},characterCountSpaces:{name:"Liczba znaków",desc:"Wybierz, czy spacje są uwzględniane w liczbie znaków.",options:{include:"Ze spacjami",exclude:"Bez spacji"}},wordCountTargetProperty:{name:"Atrybut celu",desc:"Klucz atrybutu frontmatter zawierający docelową liczbę słów. Pozostaw puste, aby ukryć cele."},showWordCountPercentage:{name:"Pokaż procent celu",desc:"Wyświetlaj tylko procent postępu, gdy dostępna jest docelowa liczba słów."},propertyFields:{name:"Klucze atrybutów (profil sejfu)",desc:"Klucze atrybutów frontmatter z kontrolą widoczności per klucz dla nawigacji i listy plików.",addButtonTooltip:"Konfiguruj klucze atrybutów",noneConfigured:"Brak skonfigurowanych atrybutów",singleConfigured:"1 atrybut skonfigurowany: {properties}",multipleConfigured:"{count} atrybutów skonfigurowanych: {properties}"},showPropertiesOnSeparateRows:{name:"Pokaż atrybuty w osobnych wierszach",desc:"Wyświetl każdy atrybut w osobnym wierszu."},enablePropertyInternalLinks:{name:"Połącz etykiety atrybutów z notatkami",desc:"Kliknij etykietę atrybutu, aby otworzyć powiązaną notatkę."},enablePropertyExternalLinks:{name:"Połącz etykiety atrybutów z adresami URL",desc:"Kliknij etykietę atrybutu, aby otworzyć powiązany adres URL."},dateFormat:{name:"Format daty",desc:"Format widocznych dat (format Moment).",placeholder:"DD.MM.YYYY",help:`Popularne formaty:
DD.MM.YYYY = 25.05.2022
DD/MM/YYYY = 25/05/2022
YYYY-MM-DD = 2022-05-25

Tokeny:
YYYY/YY = rok
MMMM/MMM/MM = miesiąc
DD/D = dzień
dddd/ddd = dzień tygodnia`,helpTooltip:"Format z Moment",momentLinkText:"format Moment"},timeFormat:{name:"Format czasu",desc:"Format widocznego czasu (format Moment).",placeholder:"HH:mm",help:`Popularne formaty:
HH:mm = 14:30 (24-godzinny)
h:mm a = 2:30 PM (12-godzinny)
HH:mm:ss = 14:30:45
h:mm:ss a = 2:30:45 PM

Tokeny:
HH/H = 24-godzinny
hh/h = 12-godzinny
mm = minuty
ss = sekundy
a = AM/PM`,helpTooltip:"Format z Moment",momentLinkText:"format Moment"},showFilePreview:{name:"Pokaż podgląd notatki",desc:"Wyświetla tekst podglądu pod nazwami notatek."},skipHeadingsInPreview:{name:"Pomiń nagłówki w podglądzie",desc:"Pomija wiersze nagłówków podczas generowania tekstu podglądu."},skipCodeBlocksInPreview:{name:"Pomiń bloki kodu w podglądzie",desc:"Pomija bloki kodu podczas generowania tekstu podglądu."},stripHtmlInPreview:{name:"Usuń HTML w podglądach",desc:"Usuń znaczniki HTML z tekstu podglądu. Może wpływać na wydajność przy dużych notatkach."},stripLatexInPreview:{name:"Usuń LaTeX w podglądach",desc:"Usuń wyrażenia LaTeX inline i blokowe z tekstu podglądu."},previewProperties:{name:"Podgląd atrybutów",desc:"Lista atrybutów rozdzielonych przecinkami do sprawdzenia dla tekstu podglądu. Zostanie użyty pierwszy atrybut z tekstem.",placeholder:"summary, description, abstract"},previewPropertiesFallback:{name:"Użyj treści notatki zastępczo",desc:"Wyświetl treść notatki jako podgląd, gdy żaden ze wskazanych atrybutów nie zawiera tekstu."},previewRows:{name:"Wiersze podglądu",desc:"Liczba widocznych wierszy w podglądzie.",options:{1:"1 wiersz",2:"2 wiersze",3:"3 wiersze",4:"4 wiersze",5:"5 wierszy"}},fileNameRows:{name:"Wiersze tytułu",desc:"Liczba widocznych wierszy tytułów notatek.",options:{1:"1 wiersz",2:"2 wiersze",3:"3 wiersze"}},useFolderColor:{name:"Użyj koloru folderu",desc:"Koloruje tytuły notatek i ikonki plików kolorem folderu nadrzędnego, gdy nie ustawiono niestandardowego koloru pliku. Priorytet: niestandardowy kolor pliku > kolor folderu > kolor domyślny."},showFeatureImage:{name:"Pokaż wyróżniony obraz",desc:"Wyświetla miniaturę pierwszego obrazu znalezionego w notatce."},forceSquareFeatureImage:{name:"Wymuś kwadratowy wyróżniony obraz",desc:"Wyświetla wyróżnione obrazy jako kwadratowe miniatury."},featureImageProperties:{name:"Atrybuty obrazu",desc:"Lista atrybutów rozdzielonych przecinkami do sprawdzenia w pierwszej kolejności. Używa pierwszego obrazu z treści markdown, jeśli nie określono.",placeholder:"thumbnail, featureResized, feature"},featureImageExcludeProperties:{name:"Wyklucz notatki z atrybutami",desc:"Lista atrybutów rozdzielonych przecinkami. Notatki zawierające którykolwiek z tych atrybutów nie wyświetlają wyróżnionych obrazów.",placeholder:"private, confidential"},featureImageSize:{name:"Rozmiar wyświetlania obrazu wyróżniającego",desc:"Maksymalny rozmiar renderowania wyróżnionych obrazów na listach notatek.",options:{standard:"64 px",large:"96 px",extraLarge:"128 px"}},featureImagePixelSize:{name:"Rozmiar pikseli obrazu wyróżniającego",desc:"Rozdzielczość używana podczas generowania przechowywanych miniatur wyróżnionych obrazów. Zwiększ tę wartość, jeśli większe podglądy wyglądają na rozmyte.",options:{standard:"256 x 144 px",large:"384 x 216 px",extraLarge:"512 x 288 px"}},downloadExternalFeatureImages:{name:"Pobierz obrazy zewnętrzne",desc:"Pobiera zdalne obrazy i miniatury YouTube wyróżnionych obrazów."},hideDrawingPreviewImages:{name:"Ukryj wyeksportowane obrazy podglądu",desc:"Ukrywa wyeksportowane pliki PNG podglądu rysunków. Włącz „Pokaż ukryte elementy”, aby je wyświetlić."},drawingIntegrationInfo:{intro:"Notebook Navigator wyświetla pliki PNG wyeksportowane przez Excalidraw jako podglądy rysunków.",items:["W **ustawieniach Excalidraw** otwórz **Embedding Excalidraw into your Notes and Exporting**, następnie **Export Settings**, następnie **Auto-export Settings**.","Włącz **Auto-export PNG**. Opcjonalnie włącz **Export both dark- and light-themed image**.","Notebook Navigator szuka **Drawing.excalidraw.png**, **Drawing.excalidraw.dark.png** lub **Drawing.excalidraw.light.png**.","Gdy **Ukryj wyeksportowane obrazy podglądu** jest włączone, pliki PNG pojawiają się tylko wtedy, gdy włączone jest również **Pokaż ukryte elementy**."]},showRootFolder:{name:"Pokaż folder główny",desc:"Wyświetla nazwę sejfu jako folder główny w strukturze folderów."},showFolderIcons:{name:"Pokaż ikonki folderów",desc:"Wyświetla ikonki obok folderów w panelu nawigacji."},inheritFolderColors:{name:"Dziedzicz kolory folderów",desc:"Podfoldery dziedziczą kolor z folderów nadrzędnych."},folderSortOrder:{name:"Kolejność sortowania folderów",desc:"Kliknij folder prawym przyciskiem myszy, aby ustawić inną kolejność sortowania dla jego elementów podrzędnych.",options:{alphaAsc:"od A do Z",alphaDesc:"od Z do A"}},showNoteCount:{name:"Pokaż liczbę notatek",desc:"Wyświetla liczbę notatek obok folderów, tagów i właściwości."},showSectionIcons:{name:"Pokaż ikonki skrótów i ostatnich elementów",desc:"Wyświetla ikonki obok elementów w sekcjach Skróty i Ostatnie."},interfaceIcons:{name:"Ikonki interfejsu",desc:"Edytuj ikonki paska narzędzi, folderów, tagów, właściwości, przypiętych elementów, wyszukiwania i sortowania.",buttonText:"Edytuj ikonki"},showIconsColorOnly:{name:"Zastosuj kolor tylko do ikonek",desc:"Po włączeniu niestandardowe kolory są stosowane tylko do ikonek. Po wyłączeniu kolory są stosowane zarówno do ikonek, jak i etykiet tekstowych."},navRainbowMode:{name:"Tryb kolorów tęczy (profil sejfu)",desc:"Zastosuj kolory tęczy w panelu nawigacji.",options:{none:"Wyłączone",foreground:"Kolor tekstu",background:"Kolor tła"}},navRainbowFirstColor:{name:"Pierwszy kolor",desc:"Pierwszy kolor w gradiencie tęczy."},navRainbowLastColor:{name:"Ostatni kolor",desc:"Ostatni kolor w gradiencie tęczy."},navRainbowTransitionStyle:{name:"Styl przejścia",desc:"Interpolacja między pierwszym a ostatnim kolorem.",options:{hue:"Barwa",rgb:"RGB"}},navRainbowApplyToShortcuts:{name:"Zastosuj do skrótów",desc:"Zastosuj kolory tęczy do skrótów."},navRainbowApplyToRecent:{name:"Zastosuj do ostatnich elementów",desc:"Zastosuj kolory tęczy do ostatnich elementów."},navRainbowApplyToFolders:{name:"Zastosuj do folderów",desc:"Zastosuj kolory tęczy do folderów."},navRainbowFolderScope:{name:"Zakres folderów",desc:"Wybierz, które poziomy folderów rozpoczynają przypisywanie kolorów.",options:{root:"Poziom główny",child:"Poziom podrzędny",all:"Każdy poziom"}},navRainbowApplyToTags:{name:"Zastosuj do tagów",desc:"Zastosuj kolory tęczy do tagów."},navRainbowTagScope:{name:"Zakres tagów",desc:"Wybierz, które poziomy tagów rozpoczynają przypisywanie kolorów.",options:{root:"Poziom główny",child:"Poziom podrzędny",all:"Każdy poziom"}},navRainbowApplyToProperties:{name:"Zastosuj do atrybutów",desc:"Zastosuj kolory tęczy do atrybutów."},navRainbowBalanceHueLuminance:{name:"Spójna jasność dla odcieni",desc:"Interpoluje jasność między kolorami początkowymi i końcowymi podczas przejść odcieni."},navRainbowSeparateThemeColors:{name:"Oddzielne kolory dla trybu jasnego i ciemnego",desc:"Użyj różnych kolorów tęczy dla trybu jasnego i trybu ciemnego."},navRainbowCopyLightToDark:"Kopiuj kolor trybu jasnego do trybu ciemnego",navRainbowPropertyScope:{name:"Zakres atrybutów",desc:"Wybierz, które poziomy atrybutów rozpoczynają przypisywanie kolorów.",options:{root:"Poziom główny",child:"Poziom podrzędny",all:"Każdy poziom"}},collapseBehavior:{name:"Zwiń elementy",desc:"Wybierz na co wpływa przycisk służący do zwijania i rozwijania elementów.",options:{all:"Wszystko",foldersOnly:"Tylko foldery",tagsOnly:"Tylko tagi",propertiesOnly:"Tylko atrybuty"}},smartCollapse:{name:"Zachowaj wybrany element rozwinięty",desc:"Podczas zwijania, zachowaj wybrany element oraz elementy nadrzędne rozwinięte."},excludeVaultRootFromCollapse:{name:"Pomiń katalog główny sejfu podczas zwijania",desc:"Podczas zwijania wszystkich elementów pozostaw folder główny sejfu w bieżącym stanie."},navIndent:{name:"Wcięcie w strukturze",desc:"Dostosuj szerokość wcięcia w strukturze folderów, tagów i właściwości (piksele)."},navItemHeight:{name:"Wysokość elementu",desc:"Dostosuj wysokość folderów, tagów i właściwości w panelu nawigacji (piksele)."},navItemHeightScaleText:{name:"Skaluj tekst z wysokością elementu",desc:"Zmniejsza tekst nawigacji, gdy wysokość elementu jest obniżona."},showIndentGuides:{name:"Pokaż linie wcięć",desc:"Wyświetla linie wcięć w strukturze folderów, tagów i właściwości."},navCountLeaderStyle:{name:"Pokaż znaki wiodące",desc:"Wyświetla kropki, kreski lub linię między nazwami elementów a liczbą notatek.",options:{none:"Brak",dots:"Kropki (...)",dashes:"Kreski (---)",line:"Linia"}},navRootSpacing:{name:"Odstęp elementów głównych",desc:"Odstęp między nadrzędnymi folderami, tagami i właściwościami (piksele)."},showTags:{name:"Pokaż tagi",desc:"Wyświetla sekcję tagów w panelu nawigacji."},showTagIcons:{name:"Pokaż ikonki tagów",desc:"Wyświetla ikonki obok tagów w panelu nawigacji."},inheritTagColors:{name:"Dziedzicz kolory tagów",desc:"Tagi podrzędne dziedziczą kolor tagów nadrzędnych."},tagSortOrder:{name:"Kolejność sortowania tagów",desc:"Kliknij tag prawym przyciskiem myszy, aby ustawić inną kolejność sortowania dla jego elementów podrzędnych.",options:{alphaAsc:"od A do Z",alphaDesc:"od Z do A",frequency:"liczba wystąpień",lowToHigh:"rosnąco",highToLow:"malejąco"}},showAllTagsFolder:{name:"Pokaż folder tagów",desc:'Wyświetla "Tagi" jako folder, który można zwinąć.'},showUntagged:{name:"Pokaż nieotagowane notatki",desc:'Nieotagowane notatki zawierają etykietę "Bez tagów".'},scopeTagsToCurrentContext:{name:"Filtruj tagi według wyboru",desc:"Pokaż tylko tagi występujące w notatkach w wybranym folderze lub atrybucie."},keepEmptyTagsProperty:{name:"Zachowaj atrybut tags po usunięciu ostatniego tagu",desc:"Zachowuje atrybut tags, gdy wszystkie tagi zostaną usunięte. Gdy wyłączone, atrybut tags również zostanie usunięty."},showProperties:{name:"Pokaż atrybuty",desc:"Wyświetl sekcję atrybutów w panelu nawigacji.",propertyKeysInfoPrefix:"Konfiguruj atrybuty w ",propertyKeysInfoLinkText:"Start > Klucze atrybutów",propertyKeysInfoSuffix:""},showPropertyIcons:{name:"Pokaż ikonki atrybutów",desc:"Wyświetl ikonki obok atrybutów w panelu nawigacji."},inheritPropertyColors:{name:"Dziedzicz kolory atrybutów",desc:"Wartości dziedziczą kolor i tło atrybutu."},propertySortOrder:{name:"Kolejność sortowania atrybutów",desc:"Kliknij prawym przyciskiem atrybut, aby zmienić kolejność sortowania wartości.",options:{alphaAsc:"A do Z",alphaDesc:"Z do A",frequency:"liczba wystąpień",lowToHigh:"rosnąco",highToLow:"malejąco"}},showAllPropertiesFolder:{name:"Pokaż folder atrybutów",desc:'Wyświetl "Atrybuty" jako zwijany folder.'},scopePropertiesToCurrentContext:{name:"Filtruj atrybuty według wyboru",desc:"Pokaż tylko atrybuty występujące w notatkach w wybranym folderze lub tagu."},hiddenTags:{name:"Ukryj tagi (profil sejfu)",desc:"Lista tagów rozdzielonych przecinkami. Format nazw: tag* (zaczynające się od), *tag (kończące się na). Format ścieżek: archiwum (tag i elementy podrzędne), archiwum/* (tylko elementy podrzędne), projekty/*/szkice (dowolne w środku).",placeholder:"archiwum*, *szkic, projekty/*/stare"},hiddenFileTags:{name:"Ukryj notatki z tagami (profil sejfu)",desc:"Lista tagów rozdzielonych przecinkami. Notatki zawierające pasujące tagi są ukryte. Format nazw: tag* (zaczynające się od), *tag (kończące się na). Format ścieżek: archiwum (tag i elementy podrzędne), archiwum/* (tylko elementy podrzędne), projekty/*/szkice (dowolne w środku).",placeholder:"archiwum*, *szkic, projekty/*/stare"},enableFolderNotes:{name:"Włącz notatki folderów",desc:"Foldery z pasującym plikiem notatki są wyświetlane jako klikalne linki."},folderNoteType:{name:"Domyślny rodzaj notatki folderu",desc:"Rodzaj notatki folderu tworzony za pomocą menu kontekstowego.",options:{ask:"Pytaj przy tworzeniu",markdown:"Markdown",canvas:"Tablica",base:"Baza danych"}},folderNoteName:{name:"Nazwa notatki folderu",desc:"Nazwa notatki folderu bez rozszerzenia. Zostaw puste, aby użyć takiej samej nazwy jak folder.",placeholder:"index"},folderNoteNamePattern:{name:"Format nazwy notatki folderu",desc:"Format nazwy notatek folderów bez rozszerzenia. Użyj {{folder}}, aby wstawić nazwę folderu. Po ustawieniu nazwa notatki folderu nie ma zastosowania."},folderNoteTemplate:{name:"Szablon notatki folderu",desc:"Plik szablonu używany podczas tworzenia notatek folderów. Szablony Markdown mogą używać Templatera. Szablony Canvas i Base są kopiowane jako zawartość pliku. Ustaw lokalizację folderu szablonów w Operacje na plikach > Szablony.",formatWarning:"Format szablonu musi odpowiadać wybranemu typowi notatki folderu: .md, .canvas lub .base."},enableFolderNoteLinks:{name:"Nazwy folderów otwierają notatki folderów",desc:"Kliknięcie nazwy folderu otwiera jego notatkę folderu. Po wyłączeniu notatki folderów dostarczają tylko metadane folderu, takie jak nazwa, ikona i kolor."},hideFolderNoteInList:{name:"Ukryj notatki folderów na liście",desc:"Ukryj notatki folderów z listy plików."},pinCreatedFolderNote:{name:"Przypnij utworzone notatki folderów",desc:"Przypnij notatki folderów podczas tworzenia z menu kontekstowego."},folderNoteOpenLocation:{name:"Otwieraj notatki folderów w",desc:"Wybierz, gdzie otwierają się notatki folderów po kliknięciu linków notatek folderów.",options:{currentTab:"Bieżąca karta",newTab:"Nowa karta",rightSidebar:"Prawy pasek boczny"}},showNearestFolderNoteInSidebar:{name:"Prawy pasek boczny: Pokaż najbliższą notatkę folderu",desc:"Po wybraniu folderu prawy pasek boczny automatycznie pokazuje najbliższą nadrzędną notatkę folderu."},confirmBeforeDelete:{name:"Potwierdź przed usunięciem",desc:"Wyświetla możliwość potwierdzenia podczas usuwania notatek lub folderów"},deleteAttachments:{name:"Usuń załączniki przy usuwaniu plików",desc:"Automatycznie usuwaj powiązane załączniki i wygenerowane podglądy rysunków, jeśli nie są używane gdzie indziej",options:{ask:"Pytaj za każdym razem",always:"Zawsze",never:"Nigdy"}},moveFileConflicts:{name:"Konflikty przenoszenia",desc:"Podczas przenoszenia pliku do folderu, w którym istnieje już plik o tej samej nazwie. Pytaj za każdym razem (zmień nazwę, nadpisz, anuluj) lub zawsze zmieniaj nazwę.",options:{ask:"Pytaj za każdym razem",rename:"Zawsze zmieniaj nazwę"}},metadataCleanup:{name:"Wyczyść metadane",desc:"Usuwa niepowiązane metadane pozostałe po usunięciu, przeniesieniu lub zmianie nazwy plików, folderów, tagów lub właściwości poza Obsidian. Dotyczy to wyłącznie pliku ustawień Notebook Navigator.",buttonText:"Wyczyść metadane",error:"Czyszczenie ustawień nie powiodło się",loading:"Sprawdzanie metadanych...",statusClean:"Brak metadanych do wyczyszczenia",statusCounts:"Niepowiązane elementy: foldery {folders}, tagi {tags}, atrybuty {properties}, pliki {files}, przypięte {pinned}, separatory {separators}"},rebuildCache:{name:"Odbuduj pamięć podręczną",desc:"Użyj tej opcji, jeśli zauważysz brakujące tagi, nieprawidłowe podglądy lub brakujące wyróżnione obrazy. Może tak być w przypadku konfliktów synchronizacji lub po nieoczekiwanych zamknięciach.",buttonText:"Odbuduj pamięć podręczną",error:"Nie udało się odbudować pamięci podręcznej",indexingTitle:"Indeksowanie sejfu...",progress:"Aktualizowanie pamięci podręcznej Notebook Navigator."},externalIcons:{downloadButton:"Pobierz",downloadingLabel:"Pobieranie...",removeButton:"Usuń",statusInstalled:"Pobrano (wersja {version})",statusNotInstalled:"Nie pobrano",versionUnknown:"nieznana",downloadFailed:"Nie udało się pobrać {name}. Sprawdź połączenie i spróbuj ponownie.",removeFailed:"Nie udało się usunąć {name}.",infoNote:"Pobrane pakiety ikonek synchronizują się między urządzeniami. Pakiety ikonek są przechowywane lokalnie na każdym urządzeniu; synchronizacja śledzi jedynie, czy należy je pobrać, czy usunąć. Pakiety ikonek są pobierane z repozytorium Notebook Navigator (https://github.com/johansan/notebook-navigator/tree/main/icon-assets)."},useFrontmatterDates:{name:"Używaj metadanych",desc:"Używaj metadanych dla nazwy notatki, znaczników czasu, ikonek i kolorów"},frontmatterIconField:{name:"Pole ikonki",desc:"Pole metadanych dla ikonek plików. Pozostaw puste, aby użyć ikonek zapisanych w ustawieniach.",placeholder:"icon"},frontmatterColorField:{name:"Pole koloru",desc:"Pole metadanych dla kolorów plików. Pozostaw puste, aby użyć kolorów zapisanych w ustawieniach.",placeholder:"color"},frontmatterBackgroundField:{name:"Pole tła",desc:"Pole metadanych dla kolorów tła. Pozostaw puste, aby użyć kolorów tła zapisanych w ustawieniach.",placeholder:"background"},frontmatterMigration:{name:"Przenieś ikonki i kolory z ustawień",desc:"Zapisane w ustawieniach: ikonki {icons}, kolory {colors}.",button:"Przenieś",buttonWorking:"Przenoszenie...",noticeNone:"W ustawieniach nie ma zapisanych żadnych ikonek plików ani kolorów.",noticeDone:"Przeniesione: ikonki {migratedIcons}/{icons}, kolory {migratedColors}/{colors}.",noticeFailures:"Niepowodzenie: {failures}.",noticeError:"Przenoszenie nie powiodło się. Sprawdź konsolę, aby uzyskać więcej informacji."},frontmatterNameField:{name:"Pola nazwy",desc:"Lista pól metadanych rozdzielonych przecinkami. Używana jest pierwsza poprawna wartość. W przypadku braku wartości używana jest nazwa pliku.",placeholder:"tytuł, nazwa"},frontmatterCreatedField:{name:"Pole znacznika czasu utworzenia",desc:"Nazwa pola metadanych dla znacznika czasu utworzenia. Pozostaw puste, aby używać tylko daty systemu plików.",placeholder:"created"},frontmatterModifiedField:{name:"Pole znacznika czasu modyfikacji",desc:"Nazwa pola metadanych dla znacznika czasu modyfikacji. Pozostaw puste, aby używać tylko daty systemu plików.",placeholder:"modified"},frontmatterDateFormat:{name:"Format znacznika czasu",desc:"Format używany do przetwarzania znaczników czasu w metadanych. Pozostaw puste, aby użyć formatu ISO 8601.",helpTooltip:"Format z Moment",momentLinkText:"format Moment",help:`Popularne formaty:
YYYY-MM-DD[T]HH:mm:ss → 2025-01-04T14:30:45
YYYY-MM-DD[T]HH:mm:ssZ → 2025-08-07T16:53:39+02:00
DD/MM/YYYY HH:mm:ss → 04/01/2025 14:30:45
MM/DD/YYYY h:mm:ss a → 01/04/2025 2:30:45 PM`},supportDevelopment:{name:"Wspieraj rozwój",desc:"Jeśli lubisz korzystać z Notebook Navigator, rozważ wsparcie jego dalszego rozwoju.",buttonText:"❤️ Wesprzyj",coffeeButton:"☕️ Postaw kawę"},updateCheckOnStart:{name:"Sprawdź nową wersję podczas uruchamiania",desc:"Sprawdza dostępność nowych wersji wtyczki podczas uruchamiania i wyświetla powiadomienie, gdy dostępna jest aktualizacja. Sprawdzanie odbywa się maksymalnie raz dziennie.",status:"Nowa wersja dostępna: {version}"},debugLogging:{name:"Rejestrowanie debugowania przy starcie",desc:"Zapisuje diagnostykę startu w pliku Markdown ze znacznikiem czasu w katalogu głównym sejfu, a następnie zatrzymuje się po ustabilizowaniu startu. Plik może być synchronizowany i zawierać ścieżki plików."},whatsNew:{name:"Co nowego w Notebook Navigator {version}",desc:"Zobacz najnowsze aktualizacje i ulepszenia",buttonText:"Zobacz ostatnie aktualizacje"},masteringVideo:{name:"Poradnik do Notebook Navigator (wideo)",desc:"Ten film przedstawia wszystko, co jest potrzebne do wydajnej pracy w Notebook Navigator, w tym skróty klawiszowe, wyszukiwanie, tagi i ustawienia zaawansowane."},cacheStatistics:{localCache:"Lokalna pamięć podręczna",items:"elementy",withTags:"z tagami",withPreviewText:"z tekstem podglądu",withFeatureImage:"z wyróżnionym obrazem",withMetadata:"z metadanymi"},metadataInfo:{successfullyParsed:"Pomyślnie przetworzono elementy",itemsWithName:"z nazwą",withCreatedDate:"z datą utworzenia",withModifiedDate:"z datą modyfikacji",withIcon:"z ikonką",withColor:"z kolorem",failedToParse:"Nie udało się przetworzyć",createdDates:"dat utworzenia",modifiedDates:"dat modyfikacji",checkTimestampFormat:"Sprawdź format znacznika czasu.",exportFailed:"Eksportuj błędy"}}},whatsNew:{title:"Co nowego w Notebook Navigator",openBannerImage:"Otwórz obraz banera wydania",supportMessage:"Jeśli uważasz, że Notebook Navigator jest pomocny, rozważ wsparcie jego rozwoju.",supportButton:"Postaw kawę",thanksButton:"Dzięki!"}}});var G1={};In(G1,{STRINGS_PT:()=>Qie});var Qie,q1=U(()=>{Qie={common:{cancel:"Cancelar",delete:"Eliminar",clear:"Limpar",remove:"Remover",restoreDefault:"Restaurar padrão",submit:"Submeter",save:"Guardar",configure:"Configurar",lightMode:"Modo claro",darkMode:"Modo escuro",noSelection:"Sem seleção",untagged:"Sem etiquetas",featureImageAlt:"Imagem de destaque",unknownError:"Erro desconhecido",clipboardWriteError:"Não foi possível escrever na área de transferência",updateBannerTitle:"Atualização do Notebook Navigator disponível",updateBannerInstruction:"Atualize em Definições -> Plugins da comunidade",previous:"Anterior",next:"Seguinte"},listPane:{emptyStateNoSelection:"Selecione uma pasta ou etiqueta para ver notas",emptyStateNoNotes:"Sem notas",pinnedSection:"Fixadas",notesSection:"Notas",filesSection:"Ficheiros",hiddenItemAriaLabel:"{name} (oculto)",collapseGroup:"Recolher grupo",expandGroup:"Expandir grupo",manualSortTitle:"Ordenação manual: {property}",manualSortHint:'Arraste para reordenar. A ordem é guardada como valores de índice numéricos na propriedade "{property}".',manualSortNonMarkdownHint:"Os ficheiros não Markdown são mostrados no fundo e não podem ser reordenados.",unsortedSection:"Sem ordenação",manualSortDone:"Concluído",manualSortMultipleWriteFailure:"{count} ficheiros falharam; primeiro: {path}: {message}"},tagList:{untaggedLabel:"Sem etiquetas",tags:"Etiquetas"},navigationPane:{shortcutsHeader:"Atalhos",recentFilesHeader:"Ficheiros recentes",properties:"Propriedades",reorderRootFoldersTitle:"Reordenar navegação",reorderRootFoldersHint:"Use setas ou arraste para reordenar",vaultRootLabel:"Cofre",resetRootToAlpha:"Repor ordem alfabética",resetRootToFrequency:"Repor ordem por frequência",pinShortcuts:"Fixar atalhos",pinShortcutsAndRecentFiles:"Fixar atalhos e ficheiros recentes",unpinShortcuts:"Desafixar atalhos",unpinShortcutsAndRecentFiles:"Desafixar atalhos e ficheiros recentes",profileMenuAria:"Alterar perfil do cofre"},navigationCalendar:{ariaLabel:"Calendário",dailyNotesNotEnabled:"O plugin de notas diárias não está ativado.",createDailyNote:{title:"Nova nota diária",message:"O ficheiro {filename} não existe. Deseja criá-lo?",confirmButton:"Criar"},helpModal:{title:"Atalhos do calendário",items:["Clique em qualquer dia para abrir ou criar uma nota diária. Semanas, meses, trimestres e anos funcionam da mesma forma.","Um ponto preenchido sob um dia significa que tem uma nota. Um ponto oco significa que tem tarefas inacabadas.","Se uma nota tiver uma imagem de destaque, ela aparece como fundo do dia."],dateFilterCmdCtrl:"`Cmd/Ctrl`+clique numa data para filtrar por essa data na lista de ficheiros.",dateFilterOptionAlt:"`Option/Alt`+clique numa data para filtrar por essa data na lista de ficheiros."}},dailyNotes:{templateReadFailed:"Falha ao ler o modelo de nota diária.",createFailed:"Não foi possível criar a nota diária."},shortcuts:{folderExists:"Pasta já está nos atalhos",noteExists:"Nota já está nos atalhos",tagExists:"Etiqueta já está nos atalhos",propertyExists:"Propriedade já está nos atalhos",invalidProperty:"Atalho de propriedade inválido",searchExists:"Atalho de pesquisa já existe",emptySearchQuery:"Introduza uma consulta de pesquisa antes de guardar",emptySearchName:"Introduza um nome antes de guardar a pesquisa",add:"Adicionar aos atalhos",addNotesCount:"Adicionar {count} notas aos atalhos",addFilesCount:"Adicionar {count} ficheiros aos atalhos",rename:"Renomear atalho",remove:"Remover dos atalhos",removeAll:"Remover todos os atalhos",removeAllConfirm:"Remover todos os atalhos?",folderNotesPinned:"{count} notas de pasta fixadas"},paneHeader:{collapseAllFolders:"Recolher itens",expandAllFolders:"Expandir todos os itens",showCalendar:"Mostrar calendário",hideCalendar:"Ocultar calendário",newFolder:"Nova pasta",newNote:"Nova nota",mobileBackToNavigation:"Voltar à navegação",changeChildSortOrder:"Alterar ordem de ordenação",changeSortAndGroup:"Alterar ordenação e agrupamento",resetViewToDefaults:"Repor vista para predefinições",manualSort:"Ordenação manual",editSortOrder:"Editar ordenação...",removeSortProperty:"Remover propriedade de ordenação",descendants:"descendentes",subfolders:"subpastas",subtags:"subetiquetas",childValues:"valores secundários",applySortAndGroupToDescendants:t=>`Aplicar ordenação e agrupamento a ${t}`,applyAppearanceToDescendants:t=>`Aplicar aparência a ${t}`,showFolders:"Mostrar navegação",reorderRootFolders:"Reordenar navegação",finishRootFolderReorder:"Concluído",showExcludedItems:"Mostrar pastas, etiquetas e notas ocultas",hideExcludedItems:"Ocultar pastas, etiquetas e notas ocultas",showDualPane:"Mostrar painéis duplos",showSinglePane:"Mostrar painel único",dualPaneAutoFallbackNotice:'Os painéis duplos não estão disponíveis quando a barra lateral é demasiado estreita. Para alterar isto, defina "Quando a barra lateral é demasiado estreita" como "Não fazer nada" em Definições > Aparência e comportamento.',changeAppearance:"Alterar aparência",showNotesFromSubfolders:"Mostrar notas de subpastas",showFilesFromSubfolders:"Mostrar ficheiros de subpastas",showNotesFromDescendants:"Mostrar notas de descendentes",showFilesFromDescendants:"Mostrar ficheiros de descendentes",search:"Pesquisar"},searchInput:{placeholder:"Pesquisar...",placeholderOmnisearch:"Omnisearch...",clearSearch:"Limpar pesquisa",switchToFilterSearch:"Mudar para pesquisa por filtro",switchToOmnisearch:"Mudar para Omnisearch",saveSearchShortcut:"Guardar atalho de pesquisa",removeSearchShortcut:"Remover atalho de pesquisa",shortcutModalTitle:"Guardar atalho de pesquisa",shortcutNamePlaceholder:"Introduza o nome do atalho",shortcutStartIn:"Iniciar sempre em: {path}",searchHelp:"Sintaxe de pesquisa",searchHelpTitle:"Sintaxe de pesquisa",searchHelpModal:{intro:"Combine nomes de ficheiros, propriedades, etiquetas, datas e filtros numa consulta (ex. `meeting .status=active #work @thisweek`). Instale o plugin Omnisearch para usar pesquisa de texto completo.",introSwitching:"Alterne entre pesquisa por filtro e Omnisearch usando as teclas de seta para cima/baixo ou clicando no ícone de pesquisa.",sections:{fileNames:{title:"Nomes de ficheiros",items:['`word` Encontrar notas com "word" no nome do ficheiro.',"`word1 word2` Cada palavra deve corresponder ao nome do ficheiro.",'`-word` Excluir notas com "word" no nome do ficheiro.']},tags:{title:"Etiquetas",items:["`#tag` Incluir notas com etiqueta (também corresponde a etiquetas aninhadas como `#tag/subtag`).","`#` Incluir apenas notas com etiquetas.","`-#tag` Excluir notas com etiqueta.","`-#` Incluir apenas notas sem etiquetas.","`#tag1 #tag2` Corresponder a ambas as etiquetas (AND implícito).","`#tag1 AND #tag2` Corresponder a ambas as etiquetas (AND explícito).","`#tag1 OR #tag2` Corresponder a qualquer uma das etiquetas.","`#a OR #b AND #c` AND tem precedência maior: corresponde a `#a`, ou ambos `#b` e `#c`.","Cmd/Ctrl+Clique numa etiqueta para adicionar com AND. Cmd/Ctrl+Shift+Clique para adicionar com OR."]},properties:{title:"Propriedades",items:["`.key` Incluir notas com chave de propriedade.","`.key=value` Incluir notas cujo valor de propriedade contenha `value`.",'`."Reading Status"` Incluir notas com uma chave de propriedade que contém espaços.','`."Reading Status"="In Progress"` Chaves e valores com espaços devem estar entre aspas duplas.',"`-.key` Excluir notas com chave de propriedade.","`-.key=value` Excluir notas cujo valor de propriedade contenha `value`.","Cmd/Ctrl+Clique numa propriedade para adicionar com AND. Cmd/Ctrl+Shift+Clique para adicionar com OR."]},tasks:{title:"Filtros",items:["`has:task` Incluir notas com tarefas por concluir.","`-has:task` Excluir notas com tarefas por concluir.","`folder:meetings` Incluir notas onde um nome de pasta contém `meetings`.","`folder:/work/meetings` Incluir notas apenas em `work/meetings` (não subpastas).","`folder:/` Incluir notas apenas na raiz do cofre.","`-folder:archive` Excluir notas onde um nome de pasta contém `archive`.","`-folder:/archive` Excluir notas apenas em `archive` (não subpastas).","`ext:md` Incluir notas com extensão `md` (`ext:.md` também é suportado).","`-ext:pdf` Excluir notas com extensão `pdf`.","Combinar com etiquetas, nomes e datas (por exemplo: `folder:/work/meetings ext:md @thisweek`)."]},connectors:{title:"Comportamento AND/OR",items:["`AND` e `OR` são operadores apenas em consultas exclusivas de tags e propriedades.","As consultas exclusivas de tags e propriedades contêm apenas filtros de tags e propriedades: `#tag`, `-#tag`, `#`, `-#`, `.key`, `-.key`, `.key=value`, `-.key=value`.","Se uma consulta incluir nomes, datas (`@...`), filtros de tarefas (`has:task`), filtros de pasta (`folder:...`) ou filtros de extensão (`ext:...`), `AND` e `OR` são pesquisados como palavras.","Exemplo de consulta com operadores: `#work OR .status=started`.","Exemplo de consulta mista: `#work OR ext:md` (`OR` é pesquisado nos nomes dos ficheiros)."]},dates:{title:"Datas",items:["`@today` Encontrar notas de hoje usando o campo de data predefinido.","`@yesterday`, `@last7d`, `@last30d`, `@thisweek`, `@thismonth` Intervalos de datas relativos.","`@2026-02-07` Encontrar um dia específico (também suporta `@20260207`).","`@2026` Encontrar um ano civil.","`@2026-02` ou `@202602` Encontrar um mês civil.","`@2026-W05` ou `@2026W05` Encontrar uma semana ISO.","`@2026-Q2` ou `@2026Q2` Encontrar um trimestre civil.","`@13/02/2026` Formatos numéricos com separadores (`@07022026` segue a sua localização quando ambíguo).","`@2026-02-01..2026-02-07` Encontrar um intervalo de dias inclusivo (extremos abertos suportados).","`@c:...` ou `@m:...` Visar data de criação ou modificação.","`-@...` Excluir uma correspondência de data."]},omnisearch:{title:"Omnisearch",items:["Pesquisa de texto completo em todo o cofre, filtrada pela pasta atual ou etiquetas selecionadas.","Pode ser lento com menos de 3 caracteres em cofres grandes.","Não consegue pesquisar caminhos com caracteres não-ASCII ou pesquisar subcaminhos corretamente.","Retorna resultados limitados antes da filtragem por pasta, pelo que ficheiros relevantes podem não aparecer se existirem muitas correspondências noutros locais.","As pré-visualizações das notas mostram excertos do Omnisearch em vez do texto de pré-visualização predefinido."]}}}},contextMenu:{file:{openInNewTab:"Abrir em novo separador",openToRight:"Abrir à direita",openInNewWindow:"Abrir em nova janela",openMultipleInNewTabs:"Abrir {count} notas em novos separadores",openMultipleFilesInNewTabs:"Abrir {count} ficheiros em novos separadores",openMultipleToRight:"Abrir {count} notas à direita",openMultipleFilesToRight:"Abrir {count} ficheiros à direita",openMultipleInNewWindows:"Abrir {count} notas em novas janelas",openMultipleFilesInNewWindows:"Abrir {count} ficheiros em novas janelas",pinNote:"Fixar nota",pinFile:"Fixar ficheiro",unpinNote:"Desafixar nota",unpinFile:"Desafixar ficheiro",pinMultipleNotes:"Fixar {count} notas",pinMultipleFiles:"Fixar {count} ficheiros",unpinMultipleNotes:"Desafixar {count} notas",unpinMultipleFiles:"Desafixar {count} ficheiros",duplicateNote:"Duplicar nota",duplicateFile:"Duplicar ficheiro",duplicateMultipleNotes:"Duplicar {count} notas",duplicateMultipleFiles:"Duplicar {count} ficheiros",openVersionHistory:"Abrir histórico de versões",revealInFolder:"Revelar na pasta",revealInFinder:"Revelar no Finder",showInExplorer:"Mostrar no explorador do sistema",openInDefaultApp:"Abrir na aplicação predefinida",renameNote:"Renomear nota",renameFile:"Renomear ficheiro",deleteNote:"Eliminar nota",deleteFile:"Eliminar ficheiro",setCalendarHighlight:"Definir destaque",removeCalendarHighlight:"Remover destaque",deleteMultipleNotes:"Eliminar {count} notas",deleteMultipleFiles:"Eliminar {count} ficheiros",moveNoteToFolder:"Mover nota para...",moveFileToFolder:"Mover ficheiro para...",moveMultipleNotesToFolder:"Mover {count} notas para...",moveMultipleFilesToFolder:"Mover {count} ficheiros para...",mergeNotes:"Unir {count} notas...",mergeNotesInGroup:"Unir notas no grupo...",setManualSortGroupHeader:"Definir cabeçalho de grupo",changeManualSortGroupHeader:"Alterar cabeçalho de grupo",manualSortGroupHeader:{title:"Cabeçalho de grupo",copyStyle:"Copiar estilo de cabeçalho",pasteStyle:"Colar estilo de cabeçalho",remove:"Remover cabeçalho de grupo"},addTag:"Adicionar etiqueta",addPropertyKey:"Definir propriedade",removeTag:"Remover etiqueta",removeAllTags:"Remover todas as etiquetas",changeIcon:"Alterar ícone",changeColor:"Alterar cor"},folder:{newNote:"Nova nota",newNoteFromTemplate:"Nova nota a partir de modelo",newFolder:"Nova pasta",newCanvas:"Nova tela",newBase:"Nova base de dados",newDrawing:"Novo desenho",newExcalidrawDrawing:"Novo desenho Excalidraw",newTldrawDrawing:"Novo desenho Tldraw",duplicateFolder:"Duplicar pasta",searchInFolder:"Pesquisar na pasta",createFolderNote:"Criar nota de pasta",detachFolderNote:"Desvincular nota de pasta",deleteFolderNote:"Eliminar nota de pasta",changeIcon:"Alterar ícone",changeColor:"Alterar cor",changeBackground:"Alterar fundo",excludeFolder:"Ocultar pasta",unhideFolder:"Mostrar pasta",moveFolder:"Mover pasta para...",renameFolder:"Renomear pasta",deleteFolder:"Eliminar pasta"},tag:{changeIcon:"Alterar ícone",changeColor:"Alterar cor",changeBackground:"Alterar fundo",showTag:"Mostrar etiqueta",hideTag:"Ocultar etiqueta"},property:{addKey:"Configurar chaves de propriedade",renameKey:"Renomear propriedade",deleteKey:"Eliminar propriedade"},navigation:{addSeparator:"Adicionar separador",removeSeparator:"Remover separador"},copyPath:{title:"Copiar caminho",asObsidianUrl:"como URL do Obsidian",fromVaultFolder:"a partir da pasta do cofre",fromSystemRoot:"a partir da raiz do sistema"},style:{title:"Estilo",copy:"Copiar estilo",paste:"Colar estilo",removeIcon:"Remover ícone",removeColor:"Remover cor",removeBackground:"Remover fundo",clear:"Limpar estilo"}},folderAppearance:{appearance:"Aparência",sortBy:"Ordenar por",standardPreset:"Padrão",compactPreset:"Compacto",defaultSuffix:"(predefinido)",defaultLabel:"Predefinido",titleRows:"Linhas de título",previewRows:"Linhas de pré-visualização",groupBy:"Agrupar por",titleRowOption:t=>`${t} linha${t===1?"":"s"} de título`,previewRowOption:t=>`${t} linha${t===1?"":"s"} de pré-visualização`},modals:{bulkApply:{applyButton:"Aplicar",applySortAndGroupTitle:t=>`Aplicar ordenação e agrupamento a ${t}?`,applyAppearanceTitle:t=>`Aplicar aparência a ${t}?`,affectedCountMessage:t=>`Substituições existentes que serão alteradas: ${t}.`},manualSortConfirm:{propertySortTitle:"Usar ordenação manual?",propertySortMessage:(t,e)=>`Isto muda a vista atual para ordenação manual usando "${t}". Editar a ordem escreve valores de índice numéricos nessa propriedade em ${e} ${e===1?"nota":"notas"} conforme necessário.`,propertySortConfirmButton:"Usar ordenação manual",removePropertyTitle:"Remover propriedade de ordenação?",removePropertyMessage:(t,e)=>`Isto remove "${t}" de ${e} ${e===1?"nota":"notas"} na lista atual. A ordem de ordenação manual será apagada para essas notas.`,removePropertyConfirmButton:"Remover propriedade",compactTitle:"Compactar valores de índice?",compactMessage:t=>`Esta reordenação precisa de mais espaço numérico. ${t} ${t===1?"nota receberá":"notas receberão"} novos valores de índice.`,compactConfirmButton:"Compactar valores de índice"},manualSortGroupHeader:{title:"Definir cabeçalho de grupo",titleLabel:"Título",placeholder:"Cabeçalho de grupo",icon:"Ícone",color:"Cor",wordCount:"Mostrar contagem de palavras",wordCountTarget:"Contagem de palavras objetivo",wordCountTargetPlaceholder:"10,000",wordCountTargetDescription:"Quando este campo está vazio, o objetivo do grupo usa a propriedade de objetivo definida em Definições > Notas > Contagem de palavras e caracteres. Substitua-a definindo um valor de objetivo para este grupo.",description:"Personalize o cabeçalho de grupo para esta nota. Deixe o título vazio para remover o cabeçalho."},mergeNotes:{title:"Unir notas",summary:"Criar uma nota a partir de {count} notas em {folder}.",frontmatterRule:"O frontmatter da primeira nota é mantido. O frontmatter das outras notas é removido.",crossFolderWarning:"As notas de origem estão em pastas diferentes. Links relativos e incorporações podem deixar de funcionar na nota unida.",outputName:"Nome de saída",outputNameDesc:"A nota unida é criada na pasta mostrada acima.",outputNamePlaceholder:"Notas unidas",separator:"Separador",separatorDesc:"Inserido entre notas.",separatorOptions:{none:"Nenhum",blankLine:"Linha em branco",horizontalRule:"Linha horizontal",heading:"Cabeçalho com o título da nota"},moveSourcesToTrash:"Mover notas de origem para o lixo após unir",mergeButton:"Unir"},navRainbowSection:{title:t=>`Cores arco-íris: ${t}`},iconPicker:{searchPlaceholder:"Pesquisar ícones...",recentlyUsedHeader:"Usados recentemente",emptyStateSearch:"Comece a escrever para pesquisar ícones",emptyStateNoResults:"Nenhum ícone encontrado",showingResultsInfo:"A mostrar 50 de {count} resultados. Escreva mais para refinar.",emojiInstructions:"Escreva ou cole qualquer emoji para usar como ícone",removeIcon:"Remover ícone",removeFromRecents:"Remover dos recentes",allTabLabel:"Todos"},fileIconRuleEditor:{addRuleAria:"Adicionar regra"},interfaceIcons:{title:"Ícones de interface",fileItemsSection:"Itens de ficheiro",items:{"nav-shortcuts":"Atalhos","nav-recent-files":"Ficheiros recentes","nav-expand-all":"Expandir tudo","nav-collapse-all":"Recolher tudo","nav-calendar":"Calendário","nav-tree-expand":"Seta da árvore: expandir","nav-tree-collapse":"Seta da árvore: recolher","nav-hidden-items":"Itens ocultos","nav-root-reorder":"Reordenar pastas raiz","nav-new-folder":"Nova pasta","nav-show-single-pane":"Mostrar painel único","nav-show-dual-pane":"Mostrar painéis duplos","nav-profile-chevron":"Seta do menu de perfil","list-search":"Pesquisar","list-reveal-file":"Revelar ficheiro","list-descendants":"Notas de subpastas","list-sort-ascending":"Ordem: crescente","list-sort-descending":"Ordem: decrescente","list-sort-modified":"Ordenar por data de edição","list-sort-created":"Ordenar por data de criação","list-sort-title":"Ordenar por título","list-sort-filename":"Ordenar por nome do ficheiro","list-sort-property":"Ordenar por propriedade","list-appearance":"Alterar aparência","list-new-note":"Nova nota","list-pinned":"Notas fixadas","nav-folder-open":"Pasta aberta","nav-folder-closed":"Pasta fechada","nav-tags":"Etiquetas","nav-tag":"Etiqueta","nav-properties":"Propriedades","nav-property":"Propriedade","nav-property-value":"Valor","file-unfinished-task":"Tarefas inacabadas","file-word-count":"Contagem de palavras","file-character-count":"Contagem de caracteres"}},colorPicker:{currentColor:"Atual",newColor:"Nova",paletteDefault:"Predefinido",paletteCustom:"Personalizado",copyColors:"Copiar cor",colorsCopied:"Cor copiada para a área de transferência",pasteColors:"Colar cor",pasteClipboardError:"Não foi possível ler a área de transferência",pasteInvalidFormat:"Esperado um valor de cor hex",colorsPasted:"Cor colada com sucesso",resetUserColors:"Limpar cores personalizadas",clearCustomColorsConfirm:"Remover todas as cores personalizadas?",userColorSlot:"Cor {slot}",recentColors:"Cores recentes",clearRecentColors:"Limpar cores recentes",removeRecentColor:"Remover cor",apply:"Aplicar",pickerLabel:"Seletor",hexLabel:"HEX",hexInputLabel:"Valor de cor hexadecimal",saturationValueArea:"Saturação e brilho",hueSlider:"Matiz",alphaSlider:"Transparência"},appearance:{tabIcon:"Ícone",tabColor:"Cor",tabBackground:"Fundo",resetIcon:"Remover ícone",resetColor:"Remover cor",resetBackground:"Remover fundo",clear:"Limpar estilo",apply:"Aplicar"},selectVaultProfile:{title:"Selecionar perfil do cofre",currentBadge:"Ativo",emptyState:"Nenhum perfil de cofre disponível."},tagOperation:{renameTitle:"Renomear etiqueta {tag}",deleteTitle:"Eliminar etiqueta {tag}",newTagPrompt:"Novo nome da etiqueta",newTagPlaceholder:"Introduza o novo nome da etiqueta",renameWarning:"Renomear a etiqueta {oldTag} irá modificar {count} {files}.",deleteWarning:"Eliminar a etiqueta {tag} irá modificar {count} {files}.",modificationWarning:"Isto irá atualizar as datas de modificação dos ficheiros.",affectedFiles:"Ficheiros afetados:",andMore:"...e mais {count}",confirmRename:"Renomear etiqueta",renameUnchanged:"{tag} inalterado",renameNoChanges:"{oldTag} → {newTag} ({countLabel})",renameBatchNotFinalized:"Renomeados {renamed}/{total}. Não atualizados: {notUpdated}. Metadados e atalhos não foram atualizados.",invalidTagName:"Introduza um nome de etiqueta válido.",descendantRenameError:"Não é possível mover uma etiqueta para si mesma ou um descendente.",confirmDelete:"Eliminar etiqueta",deleteBatchNotFinalized:"Removidos de {removed}/{total}. Não atualizados: {notUpdated}. Metadados e atalhos não foram atualizados.",checkConsoleForDetails:"Consulte a consola para mais detalhes.",file:"ficheiro",files:"ficheiros",inlineParsingWarning:{title:"Compatibilidade de etiquetas inline",message:"{tag} contém caracteres que o Obsidian não consegue analisar em etiquetas inline. As etiquetas de Frontmatter não são afetadas.",confirm:"Usar mesmo assim"}},propertyOperation:{renameTitle:"Renomear propriedade {property}",deleteTitle:"Eliminar propriedade {property}",newKeyPrompt:"Novo nome da propriedade",newKeyPlaceholder:"Introduza o novo nome da propriedade",renameWarning:"Renomear a propriedade {property} irá modificar {count} {files}.",renameConflictWarning:"A propriedade {newKey} já existe em {count} {files}. Renomear {oldKey} substituirá os valores existentes de {newKey}.",deleteWarning:"Eliminar a propriedade {property} irá modificar {count} {files}.",confirmRename:"Renomear propriedade",confirmDelete:"Eliminar propriedade",renameNoChanges:"{oldKey} → {newKey} (sem alterações)",renameSettingsUpdateFailed:"Propriedade {oldKey} → {newKey} renomeada. Não foi possível atualizar as definições.",deleteSingleSuccess:"Propriedade {property} eliminada de 1 nota",deleteMultipleSuccess:"Propriedade {property} eliminada de {count} notas",deleteSettingsUpdateFailed:"Propriedade {property} eliminada. Não foi possível atualizar as definições.",invalidKeyName:"Introduza um nome de propriedade válido."},fileSystem:{newFolderTitle:"Nova pasta",renameFolderTitle:"Renomear pasta",renameFileTitle:"Renomear ficheiro",deleteFolderTitle:"Eliminar '{name}'?",deleteFileTitle:"Eliminar '{name}'?",deleteFileAttachmentsTitle:"Eliminar anexos do ficheiro?",moveFileConflictTitle:"Conflito de movimentação",folderNamePrompt:"Introduza o nome da pasta:",hideInOtherVaultProfiles:"Ocultar noutros perfis do cofre",renamePrompt:"Introduza o novo nome:",renameVaultTitle:"Alterar nome de exibição do cofre",renameVaultPrompt:"Introduza um nome de exibição personalizado (deixe vazio para usar o predefinido):",deleteFolderConfirm:"Tem a certeza de que deseja eliminar esta pasta e todo o seu conteúdo?",deleteFileConfirm:"Tem a certeza de que deseja eliminar este ficheiro?",deleteFileAttachmentsDescriptionSingle:"Este anexo já não é utilizado em nenhuma nota. Deseja eliminá-lo?",deleteFileAttachmentsDescriptionMultiple:"Estes anexos já não são utilizados em nenhuma nota. Deseja eliminá-los?",deleteFileAttachmentsViewFileTreeAriaLabel:"Árvore de ficheiros",deleteFileAttachmentsViewGalleryAriaLabel:"Galeria",moveFileConflictDescriptionSingle:'Um conflito de ficheiro foi encontrado em "{folder}".',moveFileConflictDescriptionMultiple:'{count} conflitos de ficheiros foram encontrados em "{folder}".',moveFileConflictAffectedFiles:"Ficheiros afetados",moveFileConflictItem:'"{name}" -> "{suggested}"{renameOnly}',moveFileConflictRenameOnly:"(apenas renomear)",moveFileConflictRename:"Renomear",moveFileConflictOverwrite:"Substituir",removeAllTagsTitle:"Remover todas as etiquetas",removeAllTagsFromNote:"Tem a certeza de que deseja remover todas as etiquetas desta nota?",removeAllTagsFromNotes:"Tem a certeza de que deseja remover todas as etiquetas de {count} notas?"},folderNoteType:{title:"Selecionar tipo de nota de pasta",folderLabel:"Pasta: {name}"},folderSuggest:{placeholder:t=>`Mover ${t} para pasta...`,multipleFilesLabel:t=>`${t} ficheiros`,navigatePlaceholder:"Navegar para pasta...",instructions:{navigate:"para navegar",move:"para mover",select:"para selecionar",dismiss:"para fechar"}},homepage:{placeholder:"Pesquisar ficheiros...",instructions:{navigate:"para navegar",select:"para definir página inicial",dismiss:"para fechar"}},calendarTemplate:{placeholder:"Pesquisar modelos...",instructions:{navigate:"para navegar",select:"para selecionar o modelo",dismiss:"para fechar"}},navigationBanner:{placeholder:"Pesquisar imagens...",instructions:{navigate:"para navegar",select:"para definir banner",dismiss:"para fechar"}},tagSuggest:{navigatePlaceholder:"Navegar para etiqueta...",addPlaceholder:"Pesquisar etiqueta para adicionar...",removePlaceholder:"Selecionar etiqueta para remover...",createNewTag:"Criar nova etiqueta: #{tag}",instructions:{navigate:"para navegar",select:"para selecionar",dismiss:"para fechar",add:"para adicionar etiqueta",remove:"para remover etiqueta"}},propertySuggest:{placeholder:"Selecionar chave de propriedade...",navigatePlaceholder:"Navegar para propriedade...",instructions:{navigate:"para navegar",select:"para adicionar propriedade",dismiss:"para fechar"}},propertyKeyVisibility:{title:"Visibilidade das chaves de propriedade",description:"Controle onde os valores de propriedade são apresentados. As colunas correspondem ao painel de navegação, painel de lista e menu de contexto do ficheiro. Use a linha inferior para alternar todas as linhas de uma coluna.",searchPlaceholder:"Pesquisar chaves de propriedade...",propertyColumnLabel:"Propriedade",showInNavigation:"Mostrar na navegação",showInList:"Mostrar na lista",showInFileMenu:"Mostrar no menu do ficheiro",toggleAllInNavigation:"Alternar todos na navegação",toggleAllInList:"Alternar todos na lista",toggleAllInFileMenu:"Alternar todos no menu do ficheiro",applyButton:"Aplicar",emptyState:"Nenhuma chave de propriedade encontrada."},welcome:{title:"Bem-vindo ao {pluginName}",introText:'Olá! Antes de começar, recomendo vivamente que veja os primeiros cinco minutos do vídeo abaixo para compreender como funcionam os painéis e o botão "Mostrar notas das subpastas".',continueText:"Se tiver mais cinco minutos, continue a ver o vídeo para compreender os modos de visualização compacta e como configurar corretamente os atalhos e teclas de atalho importantes.",thanksText:"Muito obrigado por descarregar e divirta-se!",videoAlt:"Instalar e dominar o Notebook Navigator",openVideoButton:"Reproduzir vídeo",closeButton:"Talvez mais tarde"}},fileSystem:{errors:{createFolder:"Falha ao criar pasta: {error}",createFile:"Falha ao criar ficheiro: {error}",renameFolder:"Falha ao renomear pasta: {error}",renameFolderNoteConflict:'Não é possível renomear: "{name}" já existe nesta pasta',renameFile:"Falha ao renomear ficheiro: {error}",deleteFolder:"Falha ao eliminar pasta: {error}",deleteFile:"Falha ao eliminar ficheiro: {error}",deleteAttachments:"Falha ao eliminar os anexos: {error}",mergeNotes:"Falha ao unir notas: {error}",mergeNotesOpenOutput:"A nota unida foi criada como {name}, mas não foi possível abri-la: {error}. As notas de origem não foram alteradas.",mergeNotesOpenSkipped:"Outro pedido para abrir ficheiro teve prioridade.",mergeNotesTrashSources:"Nota unida criada. Falha ao mover {count} notas de origem para o lixo.",duplicateNote:"Falha ao duplicar nota: {error}",duplicateFolder:"Falha ao duplicar pasta: {error}",openVersionHistory:"Falha ao abrir histórico de versões: {error}",versionHistoryNotFound:"Comando de histórico de versões não encontrado. Certifique-se de que o Obsidian Sync está ativado.",revealInExplorer:"Falha ao revelar ficheiro no explorador do sistema: {error}",openInDefaultApp:"Falha ao abrir na aplicação predefinida: {error}",openInDefaultAppNotAvailable:"Abrir na aplicação predefinida não está disponível nesta plataforma",folderNoteAlreadyExists:"A nota de pasta já existe",folderAlreadyExists:'A pasta "{name}" já existe',folderNotesDisabled:"Ative as notas de pasta nas definições para converter ficheiros",folderNoteAlreadyLinked:"Este ficheiro já funciona como nota de pasta",folderNoteNotFound:"Nenhuma nota de pasta na pasta selecionada",folderNoteUnsupportedExtension:"Extensão de ficheiro não suportada: {extension}",folderNoteMoveFailed:"Falha ao mover ficheiro durante a conversão: {error}",folderNoteRenameConflict:'Já existe um ficheiro com o nome "{name}" na pasta',folderNoteConversionFailed:"Falha ao converter ficheiro em nota de pasta",folderNoteConversionFailedWithReason:"Falha ao converter ficheiro em nota de pasta: {error}",folderNoteOpenFailed:"Ficheiro convertido mas falha ao abrir nota de pasta: {error}",failedToDeleteFile:"Falha ao eliminar {name}: {error}",failedToDeleteMultipleFiles:"Falha ao eliminar {count} ficheiros",versionHistoryNotAvailable:"Serviço de histórico de versões não disponível",drawingAlreadyExists:"Já existe um desenho com este nome",failedToCreateDrawing:"Falha ao criar desenho",noFolderSelected:"Nenhuma pasta selecionada no Notebook Navigator",noFileSelected:"Nenhum ficheiro selecionado"},warnings:{linkBreakingNameCharacters:"Este nome inclui caracteres que quebram ligações do Obsidian: #, |, ^, %%, [[, ]].",forbiddenNameCharactersAllPlatforms:"Os nomes não podem começar com um ponto nem incluir : ou /.",forbiddenNameCharactersWindows:'Caracteres reservados do Windows não são permitidos: <, >, ", \\, |, ?, *.'},notices:{hideFolder:"Pasta ocultada: {name}",showFolder:"Pasta mostrada: {name}",mergeNotes:"Unidas {count} notas em {name}"},notifications:{deletedMultipleFiles:"{count} ficheiros eliminados",movedMultipleFiles:"{count} ficheiros movidos para {folder}",folderNoteConversionSuccess:'Ficheiro convertido em nota de pasta em "{name}"',folderMoved:'Pasta "{name}" movida',deepLinkCopied:"URL do Obsidian copiado para a área de transferência",pathCopied:"Caminho copiado para a área de transferência",relativePathCopied:"Caminho relativo copiado para a área de transferência",tagAddedToNote:"Etiqueta adicionada a 1 nota",tagAddedToNotes:"Etiqueta adicionada a {count} notas",tagRemovedFromNote:"Etiqueta removida de 1 nota",tagRemovedFromNotes:"Etiqueta removida de {count} notas",tagsClearedFromNote:"Todas as etiquetas removidas de 1 nota",tagsClearedFromNotes:"Todas as etiquetas removidas de {count} notas",noTagsToRemove:"Sem etiquetas para remover",noFilesSelected:"Nenhum ficheiro selecionado",mergeNotesRequireMultipleMarkdown:"Selecione pelo menos duas notas Markdown para unir",tagOperationsNotAvailable:"Operações de etiqueta não disponíveis",propertyOperationsNotAvailable:"Operações de propriedades não disponíveis",tagsRequireMarkdown:"As etiquetas são suportadas apenas em notas Markdown",propertiesRequireMarkdown:"As propriedades só são suportadas em notas Markdown",propertySetOnNote:"Propriedade atualizada em 1 nota",propertySetOnNotes:"Propriedade atualizada em {count} notas",manualSortPropertyRemovedFromNote:"Propriedade de ordenação removida de 1 nota",manualSortPropertyRemovedFromNotes:"Propriedade de ordenação removida de {count} notas",iconPackDownloaded:"{provider} transferido",iconPackUpdated:"{provider} atualizado ({version})",iconPackRemoved:"{provider} removido",iconPackLoadFailed:"Falha ao carregar {provider}",hiddenFileReveal:'O ficheiro está oculto. Ative "Mostrar itens ocultos" para o exibir'},confirmations:{deleteMultipleFiles:"Tem a certeza de que deseja eliminar {count} ficheiros?",deleteConfirmation:"Esta ação não pode ser anulada."},defaultNames:{untitled:"Sem título"}},dragDrop:{errors:{cannotMoveIntoSelf:"Não é possível mover uma pasta para si mesma ou uma subpasta.",itemAlreadyExists:'Já existe um item com o nome "{name}" nesta localização.',failedToMove:"Falha ao mover: {error}",failedToAddTag:'Falha ao adicionar etiqueta "{tag}"',failedToSetProperty:"Falha ao atualizar propriedade: {error}",failedToClearTags:"Falha ao limpar etiquetas",failedToMoveFolder:'Falha ao mover pasta "{name}"',failedToImportFiles:"Falha ao importar: {names}"},notifications:{filesAlreadyExist:"{count} ficheiros já existem no destino",filesAlreadyHaveTag:"{count} ficheiros já têm esta etiqueta ou uma mais específica",filesAlreadyHaveProperty:"{count} ficheiros já têm esta propriedade",noTagsToClear:"Sem etiquetas para limpar",fileImported:"1 ficheiro importado",filesImported:"{count} ficheiros importados"}},dateGroups:{today:"Hoje",yesterday:"Ontem",previous7Days:"Últimos 7 dias",previous30Days:"Últimos 30 dias"},commands:{open:"Abrir",toggleLeftSidebar:"Alternar barra lateral esquerda",openHomepage:"Abrir página inicial",openDailyNote:"Abrir nota diária",openWeeklyNote:"Abrir nota semanal",openMonthlyNote:"Abrir nota mensal",openQuarterlyNote:"Abrir nota trimestral",openYearlyNote:"Abrir nota anual",revealFile:"Revelar ficheiro",search:"Pesquisar",searchVaultRoot:"Pesquisar na raiz do cofre",toggleDualPane:"Alternar layout de painel duplo",toggleDualPaneOrientation:"Alternar orientação do painel duplo",toggleCalendar:"Alternar calendário",selectVaultProfile:"Selecionar perfil do cofre",selectVaultProfile1:"Selecionar perfil do cofre 1",selectVaultProfile2:"Selecionar perfil do cofre 2",selectVaultProfile3:"Selecionar perfil do cofre 3",deleteFile:"Eliminar ficheiros",createNewNote:"Criar nova nota",createNewNoteFromTemplate:"Nova nota a partir de modelo",moveFiles:"Mover ficheiros",mergeNotes:"Unir notas",selectNextFile:"Selecionar ficheiro seguinte",selectPreviousFile:"Selecionar ficheiro anterior",navigateBack:"Navegar para trás",navigateForward:"Navegar para a frente",convertToFolderNote:"Converter em nota de pasta",setAsFolderNote:"Definir como nota de pasta",detachFolderNote:"Desvincular nota de pasta",pinAllFolderNotes:"Fixar todas as notas de pasta",navigateToFolder:"Navegar para pasta",navigateToTag:"Navegar para etiqueta",navigateToProperty:"Navegar para propriedade",addShortcut:"Adicionar aos atalhos",openShortcut:"Abrir atalho {number}",toggleDescendants:"Alternar descendentes",toggleHidden:"Alternar pastas, etiquetas e notas ocultas",toggleTagSort:"Alternar ordem de ordenação de etiquetas",toggleTagsBySelection:"Alternar etiquetas por seleção",togglePropertiesBySelection:"Alternar propriedades por seleção",toggleCompactMode:"Alternar modo compacto",togglePinnedSection:"Alternar secção fixada",collapseExpand:"Recolher / expandir todos os itens",collapseExpandSelectedItem:"Recolher / expandir o item selecionado",addTag:"Adicionar etiqueta aos ficheiros selecionados",setProperty:"Definir propriedade nos ficheiros selecionados",removeTag:"Remover etiqueta dos ficheiros selecionados",removeAllTags:"Remover todas as etiquetas dos ficheiros selecionados",openAllFiles:"Abrir todos os ficheiros",rebuildCache:"Reconstruir cache"},plugin:{viewName:"Notebook Navigator",calendarViewName:"Calendário",folderNoteSidebarViewName:"Nota de pasta",ribbonTooltip:"Notebook Navigator",revealInNavigator:"Revelar no Notebook Navigator"},tooltips:{lastModifiedAt:"Última modificação em",createdAt:"Criado em",file:"ficheiro",files:"ficheiros",folder:"pasta",folders:"pastas",wordCount:"Contagem de palavras"},fileCounts:{words:"{count} palavras",characters:"{count} caracteres",separator:" · "},settings:{changeDefaultSettings:"Alterar definições predefinidas",metadataReport:{exportSuccess:"Relatório de metadados falhados exportado para: {filename}",exportFailed:"Falha ao exportar relatório de metadados"},sections:{general:"Geral",vaultFilters:"Filtros de exibição",appearanceBehavior:"Aparência e comportamento",navigationPane:"Painel de navegação",calendar:"Calendário",fileOperations:"Operações de ficheiros",icons:"Pacotes de ícones",folders:"Pastas",folderNotes:"Notas de pasta",folderNoteFiles:"Ficheiros de notas de pasta",foldersAndFolderNotes:"Pastas e notas de pasta",tagsAndProperties:"Etiquetas e propriedades",tags:"Etiquetas",listPane:"Painel de lista",notes:"Exibição de ficheiros",shortcutsAndRecentFiles:"Atalhos e ficheiros recentes",advanced:"Avançado"},pageGroups:{configuration:"Configuração",navigationAndContent:"Painel de navegação",notesAndLists:"Painel de lista",calendarAndTools:"Calendário e ferramentas"},pageDescriptions:{general:"Notas de versão, suporte, perfil do cofre, tipos de ficheiro e chaves de propriedades.",vaultFilters:"Pastas, etiquetas, ficheiros, etiquetas de ficheiro e regras de propriedades ocultas.",appearanceBehavior:"Comportamento, navegação por teclado, botões do rato, aparência e formatação.",navigationPane:"Esquema, aparência, contagem de notas, comportamento de recolha e cores arco-íris.",shortcuts:"Visibilidade de atalhos, distintivos, ficheiros recentes e itens fixados.",calendar:"Exibição do calendário, notas de data, modelos, localização e posicionamento da barra lateral.",fileOperations:"Modelos, confirmações de eliminação, anexos e comportamento de conflitos ao mover ficheiros.",foldersAndFolderNotes:"Exibição de pastas, notas de pasta, modelos de notas de pasta e comportamento das notas de pasta.",tagsProperties:"Secções de etiquetas e propriedades, ícones, ordenação, âmbito e herança.",listPane:"Ordenação, agrupamento, modos de lista, notas fixadas e pré-visualizações de desenhos.",frontmatter:"Campos de frontmatter para nomes de exibição, carimbos de data/hora, ícones e cores.",notes:"Títulos, texto de pré-visualização, imagens de destaque, etiquetas, propriedades, datas, contagem de palavras e contagem de caracteres.",iconPacks:"Ícones de interface, ícones de ficheiros e gestão de pacotes de ícones.",advanced:"Diagnósticos, limpeza de metadados, importação/exportação e reposição."},groups:{general:{vaultConfiguration:"Configuração do cofre",templates:"Modelos",behavior:"Comportamento",keyboardNavigation:"Navegação por teclado",mouseButtons:"Botões do rato",view:"Aparência",icons:"Ícones",desktopAppearance:"Aparência no computador",mobileAppearance:"Aparência móvel",formatting:"Formatação"},advanced:{maintenance:"Manutenção",resetSettings:"Repor definições"},navigation:{appearance:"Aparência",banner:"Banner",collapseItems:"Recolher itens",dragAndDrop:"Arrastar e largar",noteCounts:"Contagens de notas",rainbowColors:"Cores arco-íris",leftSidebar:"Barra lateral esquerda",calendarIntegration:"Integração do calendário"},list:{display:"Aparência",groupHeaders:"Cabeçalhos de grupo",propertySort:"Ordenação por propriedade",manualSort:"Ordenação manual",pinnedNotes:"Notas fixadas",drawingPreviews:"Pré-visualizações de desenhos"},notes:{frontmatter:"Campos de frontmatter",tasks:"Tarefas",icon:"Ícone",title:"Título",previewText:"Texto de pré-visualização",featureImage:"Imagem de destaque",tags:"Etiquetas",properties:"Propriedades",date:"Data",parentFolder:"Pasta superior",wordCount:"Contagem de palavras e caracteres"}},syncMode:{notSynced:"(não sincronizado)",switchToSynced:"Ativar sincronização",switchToLocal:"Desativar sincronização"},items:{listPaneTitle:{name:"Título do painel de lista",desc:"Escolha onde mostrar o título do painel de lista.",options:{header:"Mostrar no cabeçalho",list:"Mostrar no painel de lista",hidden:"Não mostrar"}},sortNotesBy:{name:"Ordem de ordenação predefinida",desc:"Escolha a ordem de ordenação predefinida para notas.",options:{"modified-desc":"Data de edição (mais recente no topo)","modified-asc":"Data de edição (mais antiga no topo)","created-desc":"Data de criação (mais recente no topo)","created-asc":"Data de criação (mais antiga no topo)","title-asc":"Título (A no topo)","title-desc":"Título (Z no topo)","filename-asc":"Nome do ficheiro (A no topo)","filename-desc":"Nome do ficheiro (Z no topo)"},directions:{asc:"Ascendente",desc:"Descendente"},fields:{modified:"Data de edição",created:"Data de criação",title:"Título",filename:"Nome do ficheiro",property:"Propriedade"}},propertySortKey:{name:"Propriedades para ordenar",desc:"Propriedades frontmatter separadas por vírgulas mostradas como opções de ordenação por propriedade. Os valores de array são juntos numa única cadeia. Estas propriedades não são alteradas.",placeholder:"published, author"},propertySortSecondary:{name:"Ordenação secundária",desc:"Usada com a ordenação por propriedade quando as notas têm o mesmo valor de propriedade ou não têm valor.",options:{title:"Título",filename:"Nome do ficheiro",created:"Data de criação",modified:"Data de edição"}},propertySortInstructions:{intro:"Cada propriedade listada acima aparece como uma opção de ordenação no menu de ordenação do painel de lista. Ao selecionar uma, as notas são ordenadas pelo seu valor frontmatter."},manualSortPropertyKey:{name:"Propriedade de ordenação manual",desc:"Propriedade frontmatter usada para guardar valores de índice numéricos para ordenação manual."},manualSortGroupHeaderProperty:{name:"Propriedade de cabeçalho de grupo",desc:"Propriedade frontmatter usada para guardar cabeçalhos de grupo personalizados."},groupHeadersInstructions:{intro:"Os cabeçalhos de grupo personalizados são exibidos acima das notas no painel de lista.",items:["No menu de ordenação do painel de lista, defina o agrupamento como **Personalizado**.","Clique com o botão direito numa nota e escolha **Definir cabeçalho de grupo** para adicionar um cabeçalho acima dela."]},manualSortNewNotePlacement:{name:"Colocação de novas notas",desc:"Escolha onde as novas notas são colocadas quando a lista atual usa ordenação manual.",options:{top:"Topo",bottom:"Fundo","below-selected-note":"Abaixo da nota selecionada",unsorted:"Sem ordenação"}},confirmBeforeManualSort:{name:"Confirmar antes da ordenação manual",desc:"Mostrar um aviso antes de escrever a propriedade de ordenação manual nas notas pela primeira vez. Quando desativado, as notas recebem a propriedade sem aviso."},manualSortInstructions:{intro:"A ordenação manual escreve um valor de índice numérico numa propriedade frontmatter em cada nota. As notas sem índice aparecem em Sem ordenação.",items:["Ative a ordenação manual escolhendo **Ordenação manual** no menu de ordenação. Depois, há duas formas de reorganizar as notas.","Selecione **Editar ordenação...** no menu de ordenação para abrir uma vista de reordenação. Arraste notas com o rato, ou com toque no telemóvel. No computador, **Cmd/Ctrl** ou **Shift** clique seleciona várias notas, e ao arrastar qualquer uma delas move o grupo inteiro.","No painel de lista, selecione uma nota ou várias notas, e prima **Cmd/Ctrl + Arrow Up/Down** para mover a seleção para cima ou para baixo."]},revealFileOnListChanges:{name:"Deslocar para ficheiro selecionado em alterações da lista",desc:"Deslocar para o ficheiro selecionado ao fixar notas, mostrar notas descendentes, alterar aparência da pasta ou executar operações de ficheiros."},includeDescendantNotes:{name:"Mostrar notas de subpastas / descendentes",desc:"Incluir notas de subpastas aninhadas e descendentes de etiquetas e propriedades ao visualizar uma pasta, etiqueta ou propriedade."},limitPinnedToCurrentFolder:{name:"Fixar notas apenas na sua pasta",desc:"As notas fixadas aparecem fixadas apenas na sua própria pasta. Útil para notas de pasta ou se tiver muitas notas fixadas. Não afeta as vistas de etiquetas ou propriedades."},separateNoteCounts:{name:"Mostrar contagens de notas atuais e descendentes separadamente",desc:'Exibir contagens de notas no formato "atuais ▾ descendentes" para pastas, etiquetas e propriedades.'},groupNotes:{name:"Agrupamento predefinido",desc:"Personalizado mostra cabeçalhos definidos no frontmatter. Data agrupa as notas por data. Pasta agrupa as notas por pasta. As vistas de etiqueta e propriedade usam grupos de data quando uma pasta está selecionada.",options:{custom:"Personalizado",date:"Data",folder:"Pasta"}},showSelectedNavigationPills:{name:"Mostrar sempre todas as etiquetas e propriedades",desc:'Quando desativado, as etiquetas que correspondem à seleção de navegação atual ficam ocultas (por exemplo, a etiqueta "receitas" fica oculta ao navegar na etiqueta "receitas"). Ative para manter todas as etiquetas visíveis.'},stickyGroupHeaders:{name:"Cabeçalhos de grupo fixos",desc:"Mantém o cabeçalho atual de data, pasta ou secção fixada visível ao deslocar."},showFolderGroupPaths:{name:"Mostrar caminhos das subpastas",desc:"Ao agrupar por pasta no painel de lista, mostrar caminhos das subpastas em vez de apenas nomes de pastas."},showCurrentFolderFilesAtBottom:{name:"Agrupamento por pasta: ficheiros da pasta atual no fundo",desc:"Quando o agrupamento predefinido é Pasta, mover os ficheiros diretamente na pasta selecionada para baixo dos grupos de subpastas."},defaultListMode:{name:"Modo de lista predefinido",desc:"Selecione o layout de lista predefinido. Padrão mostra título, data, descrição e texto de pré-visualização. Compacto mostra apenas o título. Substitua a aparência por pasta.",options:{standard:"Padrão",compact:"Compacto"}},showFileIcons:{name:"Mostrar ícones de ficheiros",desc:"Exibir ícones de ficheiros com espaçamento alinhado à esquerda. Desativar remove ícones e indentação. Prioridade: ícone de tarefas inacabadas > ícone personalizado > ícone de pasta > ícone de nome de ficheiro > ícone de tipo de ficheiro > ícone predefinido."},useFolderIcon:{name:"Usar ícone de pasta",desc:"Exibir o ícone da pasta pai quando não está definido um ícone de ficheiro personalizado. A cor da pasta é usada quando não está definida uma cor de ficheiro personalizada."},showFileIconUnfinishedTask:{name:"Ícone de tarefas inacabadas",desc:"Apresentar um ícone de tarefa quando uma nota tem tarefas inacabadas."},showFileBackgroundUnfinishedTask:{name:"Fundo de tarefas inacabadas",desc:"Aplicar uma cor de fundo quando uma nota tem tarefas inacabadas."},unfinishedTaskBackgroundColor:{name:"Cor de fundo de tarefas inacabadas",desc:"Definir a cor de fundo usada quando uma nota tem tarefas inacabadas."},showFilenameMatchIcons:{name:"Ícones por nome de ficheiro",desc:"Atribuir ícones a ficheiros com base no texto nos seus nomes."},fileNameIconMap:{name:"Mapa de ícones por nome",desc:"Os ficheiros contendo o texto recebem o ícone especificado. Um mapeamento por linha: texto=ícone",placeholder:`# texto=ícone
reunião=ph-calendar
fatura=ph-receipt`,editTooltip:"Editar mapeamentos"},showCategoryIcons:{name:"Ícones por tipo de ficheiro",desc:"Atribuir ícones a ficheiros com base na sua extensão."},fileTypeIconPreset:{name:"Predefinição de ícones de ficheiro",desc:"Escolher os ícones integrados ou uma predefinição de pacote de ícones. As regras de extensão personalizadas substituem esta predefinição.",options:{none:"Ícones integrados"},notInstalledWarning:"Este pacote de ícones não está instalado. Em vez disso, são mostrados os ícones integrados."},fileTypeIconMap:{name:"Mapa de ícones por tipo",desc:"Os ficheiros com a extensão recebem o ícone especificado. Um mapeamento por linha: extensão=ícone",placeholder:`# Extension=icon
cpp=ph-file-code
pdf=ph-file-pdf`,editTooltip:"Editar mapeamentos"},compactItemHeight:{name:"Altura do item compacto",desc:"Definir a altura dos itens de lista compacta no computador e telemóvel (pixels).",resetTooltip:"Restaurar para predefinido (28px)"},compactItemHeightScaleText:{name:"Escalar texto com altura do item compacto",desc:"Escalar texto da lista compacta quando a altura do item é reduzida."},showParentFolder:{name:"Mostrar pasta pai",desc:"Exibir o nome da pasta pai para notas em subpastas, etiquetas ou propriedades."},showParentFolderFullPath:{name:"Mostrar caminho completo",desc:"Exibir o caminho completo da pasta pai em vez de apenas o nome da pasta."},parentFolderClickRevealsFile:{name:"Clicar na pasta pai abre pasta",desc:"Clicar na etiqueta da pasta pai abre a pasta no painel de lista."},showParentFolderColor:{name:"Mostrar cor da pasta pai",desc:"Usar cores de pasta nas etiquetas de pasta pai."},showParentFolderIcon:{name:"Mostrar ícone da pasta pai",desc:"Mostrar ícones de pasta ao lado das etiquetas da pasta pai."},showQuickActions:{name:"Mostrar ações rápidas",desc:"Mostrar botões de ação ao passar sobre ficheiros. Os controlos dos botões selecionam quais ações aparecem."},dualPane:{name:"Layout de painel duplo",desc:"Mostrar painel de navegação e painel de lista lado a lado no computador."},dualPaneOrientation:{name:"Orientação do painel duplo",desc:"Escolha layout horizontal ou vertical quando o painel duplo está ativo.",options:{horizontal:"Divisão horizontal",vertical:"Divisão vertical"}},narrowSidebarLayout:{name:"Quando a barra lateral é demasiado estreita",desc:"Escolha o que acontece quando o painel de navegação e o painel de lista não cabem lado a lado.",options:{none:"Não fazer nada",singlePane:"Mudar para painel único",vertical:"Mudar para divisão vertical"}},narrowSidebarTrigger:{name:"Limite de barra lateral estreita",desc:"Escolha como o limite de largura da barra lateral é calculado.",options:{fitPanes:"Ajustar painéis",customWidth:"Largura personalizada"}},narrowSidebarCustomWidth:{name:"Largura do limite de barra lateral estreita",desc:"Mudar quando a barra lateral for mais estreita do que esta largura.",resetTooltip:"Repor para a largura predefinida"},appearanceBackground:{name:"Cor de fundo",desc:"Escolha cores de fundo para os painéis de navegação e lista.",options:{separate:"Fundos separados",primary:"Usar fundo da lista",secondary:"Usar fundo da navegação"}},appearanceScale:{name:"Nível de zoom",desc:"Controla o nível de zoom geral do Notebook Navigator (percentagem)."},useFloatingToolbars:{name:"Usar barras de ferramentas flutuantes no iOS/iPadOS",desc:"Aplica-se apenas ao iOS e iPadOS."},startView:{name:"Vista de arranque predefinida",desc:"Escolha qual painel exibir ao abrir o Notebook Navigator. O painel de navegação mostra atalhos, ficheiros recentes e árvore de pastas. O painel de lista mostra a lista de ficheiros imediatamente.",options:{navigation:"Painel de navegação",files:"Painel de lista"}},toolbarButtons:{name:"Botões da barra de ferramentas",desc:"Escolha quais botões aparecem na barra de ferramentas. Os botões ocultos permanecem acessíveis através de comandos e menus.",navigationLabel:"Barra de ferramentas de navegação",listLabel:"Barra de ferramentas da lista"},createNewNotesInNewTab:{name:"Abrir novas notas num novo separador",desc:"Quando ativado, o comando Criar nova nota abre as notas num novo separador. Quando desativado, as notas substituem o separador atual."},autoRevealActiveNote:{name:"Revelar nota ativa automaticamente",desc:"Revelar notas automaticamente quando abertas pelo Alternador Rápido, links ou pesquisa."},autoRevealShortestPath:{name:"Revelação automática: Usar caminho mais curto",desc:"Ativado: A revelação automática seleciona a pasta ancestral ou etiqueta visível mais próxima. Desativado: A revelação automática seleciona a pasta real do ficheiro e a etiqueta exata."},autoRevealIgnoreRightSidebar:{name:"Revelação automática: Ignorar eventos da barra lateral direita",desc:"Não alterar a nota ativa ao clicar ou alterar notas na barra lateral direita."},autoRevealIgnoreOtherWindows:{name:"Revelação automática: Ignorar eventos de outras janelas",desc:"Não alterar a nota ativa ao trabalhar com notas numa janela diferente."},paneTransitionDuration:{name:"Animação de painel único",desc:"Duração da transição ao alternar entre painéis no modo de painel único (milissegundos).",resetTooltip:"Repor predefinição"},autoSelectFirstFileOnFocusChange:{name:"Selecionar primeira nota automaticamente",desc:"Abrir automaticamente a primeira nota ao mudar de pastas, etiquetas ou propriedades."},skipAutoScroll:{name:"Desativar deslocamento automático para atalhos",desc:"Não deslocar o painel de navegação ao clicar em itens nos atalhos."},autoExpandNavItems:{name:"Expandir ao selecionar",desc:"Expandir pastas e etiquetas quando selecionadas. No modo de painel único, a primeira seleção expande, a segunda mostra ficheiros."},collapseOtherBranchesOnExpand:{name:"Um ramo expandido",desc:"Recolher outros ramos na mesma árvore ao expandir uma pasta, etiqueta ou propriedade."},springLoadedFolders:{name:"Expandir ao arrastar",desc:"Expandir pastas e etiquetas ao passar sobre elas durante o arrasto."},springLoadedFoldersInitialDelay:{name:"Expandir ao arrastar: Atraso da primeira expansão",desc:"Atraso antes de expandir a primeira pasta ou etiqueta durante um arrasto (segundos)."},springLoadedFoldersSubsequentDelay:{name:"Expandir ao arrastar: Atraso das expansões seguintes",desc:"Atraso antes de expandir pastas ou etiquetas adicionais durante o mesmo arrasto (segundos)."},navigationBanner:{name:"Banner de navegação (perfil do cofre)",desc:"Exibir uma imagem acima do painel de navegação. Muda com o perfil do cofre selecionado.",current:"Banner atual: {path}",chooseButton:"Escolher imagem"},pinNavigationBanner:{name:"Fixar banner",desc:"Fixar o banner de navegação acima da árvore de navegação."},showShortcuts:{name:"Mostrar atalhos",desc:"Exibir a secção de atalhos no painel de navegação."},shortcutBadgeDisplay:{name:"Distintivo de atalho",desc:"O que exibir ao lado dos atalhos. Use os comandos 'Abrir atalho 1-9' para abrir atalhos diretamente.",options:{index:"Posição (1-9)",count:"Contagem de itens",none:"Nenhum"}},showRecentNotes:{name:"Mostrar ficheiros recentes",desc:"Exibir a secção de ficheiros recentes no painel de navegação."},hideRecentNotes:{name:"Ocultar tipos de ficheiros dos ficheiros recentes",desc:"Escolher os tipos de ficheiros a ocultar na secção de ficheiros recentes.",options:{none:"Nenhum",folderNotes:"Notas de pasta"}},recentNotesCount:{name:"Número de ficheiros recentes",desc:"Número de ficheiros recentes a exibir."},pinRecentNotesWithShortcuts:{name:"Fixar ficheiros recentes com atalhos",desc:"Incluir ficheiros recentes quando os atalhos estão fixos."},calendarEnabled:{name:"Ativar calendário",desc:"Ativar funcionalidades de calendário do Notebook Navigator."},calendarPlacement:{name:"Posição do calendário",desc:"Exibir na barra lateral esquerda ou direita.",options:{leftSidebar:"Barra lateral esquerda",rightSidebar:"Barra lateral direita"}},calendarLeftPlacement:{name:"Posicionamento em painel único",desc:"Onde o calendário é exibido no modo de painel único.",options:{navigationPane:"Painel de navegação",below:"Abaixo dos painéis"}},calendarLocale:{name:"Idioma",desc:"Controla a formatação das datas do calendário, a numeração das semanas e o primeiro dia da semana.",weekPathMismatchWarning:"O calendário visível e os caminhos das notas semanais usam inícios de semana ou numeração de semana diferentes.",options:{systemDefault:"Predefinido"}},calendarWeekendDays:{name:"Dias de fim de semana",desc:"Mostrar dias de fim de semana com uma cor de fundo diferente.",options:{none:"Nenhum",satSun:"Sábado e domingo",friSat:"Sexta-feira e sábado",thuFri:"Quinta-feira e sexta-feira"}},calendarMonthHeadingFormat:{name:"Formato do nome do mês",desc:"Nome do mês completo (janeiro) ou abreviado (jan).",options:{full:"janeiro (completo)",short:"jan (curto)"}},showInfoButtons:{name:"Mostrar botões de informação",desc:"Mostrar botões de informação na barra de pesquisa e no cabeçalho do calendário."},calendarWeeksToShow:{name:"Semanas a mostrar na barra lateral esquerda",desc:"O calendário na barra lateral direita mostra sempre o mês completo.",options:{fullMonth:"Mês completo",oneWeek:"1 semana",weeksCount:"{count} semanas"}},calendarHighlightToday:{name:"Realçar a data de hoje",desc:"Realçar a data de hoje com uma cor de fundo e texto em negrito."},calendarShowFeatureImage:{name:"Mostrar imagem de destaque",desc:"Mostrar imagens de destaque das notas no calendário."},calendarShowWeekNumber:{name:"Mostrar número da semana",desc:"Adicionar uma coluna com o número da semana."},calendarShowQuarter:{name:"Mostrar trimestre",desc:"Adicionar uma etiqueta de trimestre no cabeçalho do calendário."},calendarShowYearCalendar:{name:"Mostrar calendário anual",desc:"Apresentar navegação anual e grelha de meses na barra lateral direita."},calendarConfirmBeforeCreate:{name:"Confirmar antes de criar",desc:"Mostrar uma caixa de diálogo de confirmação ao criar uma nova nota diária."},calendarIntegrationMode:{name:"Fonte de notas diárias",desc:"Fonte para notas do calendário.",options:{dailyNotes:"Notas diárias (plug-in principal)",notebookNavigator:"Notebook Navigator"},info:{dailyNotes:"Pasta e formato de data são configurados no plugin Daily Notes."}},calendarPeriodicNotesLocale:{name:"Idioma das notas periódicas",desc:"Controla nomes de meses, nomes de dias da semana, números de semana e inícios de semana localizados nos caminhos das notas periódicas do Notebook Navigator.",options:{calendar:"Calendário",obsidian:"Obsidian"}},calendarCustomRootFolder:{name:"Pasta raiz",desc:"Pasta base para notas periódicas. Padrões de data podem incluir subpastas. Muda com o perfil do cofre selecionado.",placeholder:"Personal/Diary"},calendarTemplateFolder:{name:"Localização da pasta de modelos",desc:"O seletor de arquivos de modelo mostra notas desta pasta.",placeholder:"Templates",usage:"Usada por notas de calendário e notas de pasta. Configure os modelos em Calendário > Integração do calendário e Pastas e notas de pasta > Ficheiros de notas de pasta."},calendarCustomFilePattern:{name:"Notas diárias",desc:"Formatar caminho usando formato de data Moment. Coloque nomes de subpastas entre colchetes, ex. [Work]/YYYY. Clique no ícone de modelo para definir um modelo. Definir localização da pasta de modelos em Operações de ficheiros > Modelos.",momentDescPrefix:"Formatar caminho usando ",momentLinkText:"formato de data Moment",momentDescSuffix:". Coloque nomes de subpastas entre colchetes, ex. [Work]/YYYY. Clique no ícone de modelo para definir um modelo. Definir localização da pasta de modelos em Operações de ficheiros > Modelos.",templaterSupportInstalled:"✅ O plug-in Templater está instalado com suporte completo de modelos.",templaterSupportMissing:"⚠️ Instale o plug-in Templater para suporte completo de modelos.",placeholder:"YYYY/YYYYMMDD",example:"Sintaxe atual: {path}",parsingError:"O padrão deve ser formatado e analisado novamente como uma data completa (ano, mês, dia)."},calendarCustomWeekPattern:{name:"Notas semanais",parsingError:"O padrão deve ser formatado e analisado novamente como uma semana completa (ano da semana, número da semana).",weekPathMismatchWarning:'Os caminhos das notas semanais usam o idioma das notas periódicas. Use idiomas correspondentes ou use "GGGG" com "WW" para semanas baseadas na segunda-feira.',mixedWeekTokensWarning:'Este padrão mistura tokens de semana baseados na segunda-feira ("W" ou "G") com tokens de semana baseados no idioma ("w" ou "g"). Use um conjunto de forma consistente: "GGGG" com "WW" para semanas baseadas na segunda-feira, ou "gggg" com "ww" se as notas semanais devem seguir a língua selecionada.'},calendarCustomMonthPattern:{name:"Notas mensais",parsingError:"O padrão deve ser formatado e analisado novamente como um mês completo (ano, mês)."},calendarCustomQuarterPattern:{name:"Notas trimestrais",parsingError:"O padrão deve ser formatado e analisado novamente como um trimestre completo (ano, trimestre)."},calendarCustomYearPattern:{name:"Notas anuais",parsingError:"O padrão deve ser formatado e analisado novamente como um ano completo (ano)."},calendarTemplateFile:{current:"Arquivo de modelo: {name}"},showTooltips:{name:"Mostrar dicas",desc:"Exibir dicas ao passar com informações adicionais para notas e pastas."},showTooltipPath:{name:"Mostrar caminho nas dicas",desc:"Exibir o caminho da pasta abaixo dos nomes das notas nas dicas."},showTooltipWordCount:{name:"Mostrar contagem de palavras nas dicas",desc:"Exibir a contagem de palavras das notas nas dicas."},resetPaneSeparator:{name:"Repor posição do separador de painéis",desc:"Repor o separador arrastável entre o painel de navegação e o painel de lista para a posição predefinida.",buttonText:"Repor separador",notice:"Posição do separador reposta. Reinicie o Obsidian ou reabra o Notebook Navigator para aplicar."},settingsTransfer:{name:"Importar e exportar definições",desc:"Exportar ou importar definições do Notebook Navigator como JSON. A importação substitui todas as definições.",importButtonText:"Importar",exportButtonText:"Exportar",import:{modalTitle:"Importar definições",fileButtonName:"Importar de ficheiro",fileButtonDesc:"Carregar um ficheiro JSON do disco.",fileButtonText:"Importar de ficheiro",editorName:"JSON",editorDesc:"Cole ou edite o JSON abaixo. As definições não incluídas são repostas nos valores predefinidos.",placeholder:`{
  "folderSortOrder": "alpha-desc"
}`,confirmButtonText:"Importar",successNotice:"Definições importadas.",errorNotice:"Falha ao importar definições: {message}",fileReadError:"Não foi possível ler o ficheiro: {message}"},export:{modalTitle:"Exportar definições",editorName:"JSON",editorDesc:"Apenas as definições alteradas em relação aos valores predefinidos são incluídas.",placeholder:"{}",copyButtonText:"Copiar para a área de transferência",downloadButtonText:"Descarregar",copyNotice:"Definições copiadas para a área de transferência.",downloadNotice:"Definições exportadas.",downloadError:"Falha ao descarregar definições: {message}"}},resetAllSettings:{name:"Repor todas as definições",desc:"Repor todas as definições do Notebook Navigator para os valores predefinidos.",buttonText:"Repor todas as definições",confirmTitle:"Repor todas as definições?",confirmMessage:"Isto irá repor todas as definições do Notebook Navigator para os valores predefinidos. Não pode ser desfeito.",confirmButtonText:"Repor todas as definições",notice:"Todas as definições repostas. Reinicie o Obsidian ou reabra o Notebook Navigator para aplicar.",error:"Falha ao repor as definições."},multiSelectModifier:{name:"Modificador de seleção múltipla",desc:"Escolha qual tecla modificadora alterna a seleção múltipla. Quando Option/Alt é selecionado, Cmd/Ctrl abre notas num novo separador.",options:{cmdCtrl:"Clique Cmd/Ctrl",optionAlt:"Clique Option/Alt"}},enterToOpenFiles:{name:"Pressionar Enter para abrir ficheiros",desc:"Abrir ficheiros apenas ao pressionar Enter durante a navegação por teclado na lista. No macOS, isto impede que Enter renomeie ficheiros."},shiftEnterOpenContext:{name:"Shift+Enter",desc:"Escolher se Shift+Enter abre ou renomeia o ficheiro selecionado."},cmdEnterOpenContext:{name:"Cmd+Enter",desc:"Escolher se Cmd+Enter abre ou renomeia o ficheiro selecionado."},ctrlEnterOpenContext:{name:"Ctrl+Enter",desc:"Escolher se Ctrl+Enter abre ou renomeia o ficheiro selecionado."},mouseBackForwardAction:{name:"Botões voltar/avançar do rato",desc:"Ação dos botões voltar e avançar do rato no ambiente de trabalho.",options:{none:"Usar predefinição do sistema",singlePaneSwitch:"Alternar painéis (painel único)",history:"Navegar no histórico"}},fileVisibility:{name:"Mostrar tipos de ficheiro (perfil do cofre)",desc:"Filtrar quais tipos de ficheiro são mostrados no navegador. Tipos de ficheiro não suportados pelo Obsidian podem abrir em aplicações externas.",options:{documents:"Documentos (.md, .canvas, .base)",supported:"Suportados (abre no Obsidian)",all:"Todos (pode abrir externamente)"}},homepage:{name:"Página inicial",desc:"Escolha o que o Notebook Navigator abre automaticamente ao iniciar.",current:"Atual: {path}",chooseButton:"Escolher ficheiro",options:{none:"Nenhum",file:"Ficheiro",dailyNote:"Nota diária",weeklyNote:"Nota semanal",monthlyNote:"Nota mensal",quarterlyNote:"Nota trimestral",yearlyNote:"Nota anual"},file:{name:"Página inicial: Ficheiro de arranque",empty:"Nenhum ficheiro selecionado"},createMissing:{name:"Página inicial: Criar nota se não existir",desc:"Cria a nota periódica ao iniciar ou através do comando se não existir."}},excludedNotes:{name:"Ocultar notas com regras de propriedades (perfil do cofre)",desc:"Lista de regras de frontmatter separadas por vírgulas. Use entradas `key` ou `key=value` (ex: status=done, published=true, archived).",placeholder:"status=done, published=true, archived"},excludedFileNamePatterns:{name:"Ocultar ficheiros (perfil do cofre)",desc:"Lista de padrões de nomes de ficheiros separados por vírgulas para ocultar. Suporta curingas * e caminhos / (ex: temp-*, *.png, /assets/*).",placeholder:"temp-*, *.png, /assets/*"},vaultProfiles:{name:"Perfil do cofre",desc:"Os perfis armazenam visibilidade de tipos de ficheiro, ficheiros ocultos, pastas ocultas, etiquetas ocultas, regras de propriedades para notas ocultas, atalhos e banner de navegação. Mude de perfis a partir do cabeçalho do painel de navegação.",defaultName:"Predefinido",addButton:"Adicionar perfil",editProfilesButton:"Editar perfis",addProfileOption:"Adicionar perfil...",applyButton:"Aplicar",deleteButton:"Eliminar perfil",addModalTitle:"Adicionar perfil",editProfilesModalTitle:"Editar perfis",addModalPlaceholder:"Nome do perfil",deleteModalTitle:"Eliminar {name}",deleteModalMessage:"Remover {name}? Os filtros de ficheiros, pastas, etiquetas e notas baseados em propriedades guardados neste perfil serão eliminados.",moveUp:"Mover para cima",moveDown:"Mover para baixo",errors:{emptyName:"Introduza um nome de perfil",duplicateName:"Nome de perfil já existe"}},vaultTitle:{name:"Posição do título do cofre",desc:"Escolha onde o título do cofre é mostrado.",options:{header:"Mostrar no cabeçalho",navigation:"Mostrar no painel de navegação"}},excludedFolders:{name:"Ocultar pastas (perfil do cofre)",desc:"Lista de pastas a ocultar separadas por vírgulas. Padrões de nome: assets* (pastas começando com assets), *_temp (terminando com _temp). Padrões de caminho: /arquivo (apenas arquivo raiz), /res* (pastas raiz começando com res), /*/temp (pastas temp um nível abaixo), /projetos/* (todas as pastas dentro de projetos).",placeholder:"modelos, assets*, /arquivo, /res*"},showFileDate:{name:"Mostrar data",desc:"Exibir a data abaixo dos nomes das notas."},alphabeticalDateMode:{name:"Ao ordenar por nome",desc:"Data a mostrar quando as notas são ordenadas alfabeticamente.",options:{created:"Data de criação",modified:"Data de modificação"}},showFileTags:{name:"Mostrar etiquetas de ficheiros",desc:"Exibir etiquetas clicáveis nos itens de ficheiros."},showFileTagAncestors:{name:"Mostrar caminhos completos de etiquetas",desc:"Exibir caminhos completos da hierarquia de etiquetas. Quando ativado: 'ai/openai', 'trabalho/projetos/2024'. Quando desativado: 'openai', '2024'."},colorFileTags:{name:"Colorir etiquetas de ficheiros",desc:"Aplicar cores de etiquetas às badges de etiquetas nos itens de ficheiros."},prioritizeColoredFileTags:{name:"Mostrar etiquetas coloridas primeiro",desc:"Ordenar etiquetas coloridas antes de outras etiquetas nos itens de ficheiros."},showFileTagsInCompactMode:{name:"Mostrar etiquetas de ficheiros no modo compacto",desc:"Exibir etiquetas quando data, pré-visualização e imagem estão ocultas."},showFileProperties:{name:"Mostrar propriedades de ficheiros",desc:'Exibir propriedades nos itens de ficheiro. Usa o diálogo "Visibilidade das chaves de propriedade" para escolher que propriedades são mostradas.'},colorFileProperties:{name:"Colorir propriedades de ficheiros",desc:"Aplicar cores de propriedade aos emblemas de propriedade nos itens de ficheiro."},prioritizeColoredFileProperties:{name:"Mostrar propriedades coloridas primeiro",desc:"Ordenar propriedades coloridas antes de outras propriedades nos itens de ficheiro."},showFilePropertiesInCompactMode:{name:"Mostrar propriedades no modo compacto",desc:"Exibir propriedades quando o modo compacto está ativo."},textCountDisplay:{name:"Tipo de contagem",desc:"Escolha que contagens de notas aparecem nos itens de ficheiro.",options:{none:"Nenhuma",words:"Contagem de palavras",characters:"Contagem de caracteres",both:"Contagem de palavras e caracteres"}},textCountPlacement:{name:"Posicionamento",desc:"Escolha onde aparecem as contagens de notas.",options:{title:"No título",property:"Como propriedade"}},characterCountSpaces:{name:"Contagem de caracteres",desc:"Escolha se os espaços são incluídos na contagem de caracteres.",options:{include:"Incluindo espaços",exclude:"Excluindo espaços"}},wordCountTargetProperty:{name:"Propriedade de destino",desc:"Chave da propriedade frontmatter que contém a contagem de palavras de destino. Deixe em branco para ocultar destinos."},showWordCountPercentage:{name:"Mostrar percentagem de destino",desc:"Mostrar apenas a percentagem de progresso quando houver uma contagem de palavras de destino disponível."},propertyFields:{name:"Chaves de propriedades (perfil do cofre)",desc:"Chaves de propriedades de metadados, com visibilidade por chave para navegação e lista de ficheiros.",addButtonTooltip:"Configurar chaves de propriedade",noneConfigured:"Nenhuma propriedade configurada",singleConfigured:"1 propriedade configurada: {properties}",multipleConfigured:"{count} propriedades configuradas: {properties}"},showPropertiesOnSeparateRows:{name:"Mostrar propriedades em linhas separadas",desc:"Mostrar cada propriedade na sua própria linha."},enablePropertyInternalLinks:{name:"Ligar etiquetas de propriedade a notas",desc:"Clique numa etiqueta de propriedade para abrir a nota ligada."},enablePropertyExternalLinks:{name:"Ligar etiquetas de propriedade a URLs",desc:"Clique numa etiqueta de propriedade para abrir o URL ligado."},dateFormat:{name:"Formato de data",desc:"Formato para exibir datas (usa formato Moment).",placeholder:"D MMM YYYY",help:`Formatos comuns:
D MMM YYYY = 25 Mai 2022
DD/MM/YYYY = 25/05/2022
YYYY-MM-DD = 2022-05-25

Tokens:
YYYY/YY = ano
MMMM/MMM/MM = mês
DD/D = dia
dddd/ddd = dia da semana`,helpTooltip:"Formato usando Moment",momentLinkText:"formato Moment"},timeFormat:{name:"Formato de hora",desc:"Formato para exibir horas (usa formato Moment).",placeholder:"HH:mm",help:`Formatos comuns:
h:mm a = 2:30 PM (12 horas)
HH:mm = 14:30 (24 horas)
h:mm:ss a = 2:30:45 PM
HH:mm:ss = 14:30:45

Tokens:
HH/H = 24 horas
hh/h = 12 horas
mm = minutos
ss = segundos
a = AM/PM`,helpTooltip:"Formato usando Moment",momentLinkText:"formato Moment"},showFilePreview:{name:"Mostrar pré-visualização da nota",desc:"Exibir texto de pré-visualização abaixo dos nomes das notas."},skipHeadingsInPreview:{name:"Saltar cabeçalhos na pré-visualização",desc:"Saltar linhas de cabeçalho ao gerar texto de pré-visualização."},skipCodeBlocksInPreview:{name:"Saltar blocos de código na pré-visualização",desc:"Saltar blocos de código ao gerar texto de pré-visualização."},stripHtmlInPreview:{name:"Remover HTML nas pré-visualizações",desc:"Remover etiquetas HTML do texto de pré-visualização. Pode afetar o desempenho em notas grandes."},stripLatexInPreview:{name:"Remover LaTeX nas pré-visualizações",desc:"Remover expressões LaTeX inline e em bloco do texto de pré-visualização."},previewProperties:{name:"Propriedades de pré-visualização",desc:"Lista de propriedades frontmatter separadas por vírgulas para verificar texto de pré-visualização. A primeira propriedade com texto será usada.",placeholder:"summary, description, abstract"},previewPropertiesFallback:{name:"Recorrer ao conteúdo da nota",desc:"Mostrar o conteúdo da nota como pré-visualização quando nenhuma das propriedades especificadas contém texto."},previewRows:{name:"Linhas de pré-visualização",desc:"Número de linhas a exibir para texto de pré-visualização.",options:{1:"1 linha",2:"2 linhas",3:"3 linhas",4:"4 linhas",5:"5 linhas"}},fileNameRows:{name:"Linhas de título",desc:"Número de linhas a exibir para títulos de notas.",options:{1:"1 linha",2:"2 linhas",3:"3 linhas"}},useFolderColor:{name:"Usar cor da pasta",desc:"Colorir títulos de notas e ícones de ficheiros com a cor da pasta pai quando não está definida uma cor de ficheiro personalizada. Prioridade: cor de ficheiro personalizada > cor da pasta > cor predefinida."},showFeatureImage:{name:"Mostrar imagem de destaque",desc:"Exibe uma miniatura da primeira imagem encontrada na nota."},forceSquareFeatureImage:{name:"Forçar imagem de destaque quadrada",desc:"Renderizar imagens de destaque como miniaturas quadradas."},featureImageProperties:{name:"Propriedades de imagem",desc:"Lista separada por vírgulas de propriedades frontmatter a verificar primeiro. Usa a primeira imagem no conteúdo markdown como alternativa.",placeholder:"thumbnail, featureResized, feature"},featureImageExcludeProperties:{name:"Excluir notas com propriedades",desc:"Lista separada por vírgulas de propriedades frontmatter. Notas contendo qualquer uma destas propriedades não armazenam imagens de destaque.",placeholder:"private, confidential"},featureImageSize:{name:"Tamanho de exibição da imagem de destaque",desc:"Tamanho máximo de renderização para imagens de destaque em listas de notas.",options:{standard:"64 px",large:"96 px",extraLarge:"128 px"}},featureImagePixelSize:{name:"Tamanho em pixels da imagem de destaque",desc:"Resolução utilizada ao gerar miniaturas armazenadas de imagens de destaque. Aumente este valor se as pré-visualizações maiores parecerem desfocadas.",options:{standard:"256 x 144 px",large:"384 x 216 px",extraLarge:"512 x 288 px"}},downloadExternalFeatureImages:{name:"Transferir imagens externas",desc:"Transferir imagens remotas e miniaturas do YouTube para imagens de destaque."},hideDrawingPreviewImages:{name:"Ocultar imagens de pré-visualização exportadas",desc:'Oculta ficheiros PNG de pré-visualização de desenhos exportados. Ative "Mostrar itens ocultos" para os apresentar.'},drawingIntegrationInfo:{intro:"O Notebook Navigator apresenta ficheiros PNG exportados pelo Excalidraw como pré-visualizações de desenhos.",items:["Nas **definições do Excalidraw**, abra **Embedding Excalidraw into your Notes and Exporting**, depois **Export Settings**, depois **Auto-export Settings**.","Ative **Auto-export PNG**. Opcionalmente, ative **Export both dark- and light-themed image**.","O Notebook Navigator procura **Drawing.excalidraw.png**, **Drawing.excalidraw.dark.png** ou **Drawing.excalidraw.light.png**.","Enquanto **Ocultar imagens de pré-visualização exportadas** estiver ativo, os ficheiros PNG aparecem apenas quando **Mostrar itens ocultos** também estiver ativo."]},showRootFolder:{name:"Mostrar pasta raiz",desc:"Exibir o nome do cofre como a pasta raiz na árvore."},showFolderIcons:{name:"Mostrar ícones de pastas",desc:"Exibir ícones junto às pastas no painel de navegação."},inheritFolderColors:{name:"Herdar cores de pastas",desc:"Pastas filhas herdam a cor das pastas pai."},folderSortOrder:{name:"Ordem de ordenação de pastas",desc:"Clique com o botão direito em qualquer pasta para definir uma ordem de classificação diferente para os seus subitens.",options:{alphaAsc:"A a Z",alphaDesc:"Z a A"}},showNoteCount:{name:"Mostrar contagem de notas",desc:"Exibir contagens de notas junto a pastas, etiquetas e propriedades."},showSectionIcons:{name:"Mostrar ícones para atalhos e itens recentes",desc:"Exibir ícones junto aos itens nas secções Atalhos e Recentes."},interfaceIcons:{name:"Ícones de interface",desc:"Editar ícones da barra de ferramentas, pastas, etiquetas, propriedades, itens fixados, pesquisa e ordenação.",buttonText:"Editar ícones"},showIconsColorOnly:{name:"Aplicar cor apenas aos ícones",desc:"Quando ativado, as cores personalizadas são aplicadas apenas aos ícones. Quando desativado, as cores são aplicadas aos ícones e às etiquetas de texto."},navRainbowMode:{name:"Modo de cores arco-íris (perfil do cofre)",desc:"Aplicar cores arco-íris no painel de navegação.",options:{none:"Desativado",foreground:"Cor do texto",background:"Cor de fundo"}},navRainbowFirstColor:{name:"Primeira cor",desc:"Primeira cor no gradiente arco-íris."},navRainbowLastColor:{name:"Última cor",desc:"Última cor no gradiente arco-íris."},navRainbowTransitionStyle:{name:"Estilo de transição",desc:"Interpolação utilizada entre a primeira e a última cor.",options:{hue:"Matiz",rgb:"RGB"}},navRainbowApplyToShortcuts:{name:"Aplicar a atalhos",desc:"Aplicar cores arco-íris aos atalhos."},navRainbowApplyToRecent:{name:"Aplicar a itens recentes",desc:"Aplicar cores arco-íris aos itens recentes."},navRainbowApplyToFolders:{name:"Aplicar a pastas",desc:"Aplicar cores arco-íris às pastas."},navRainbowFolderScope:{name:"Âmbito de pastas",desc:"Selecionar quais níveis de pasta iniciam atribuições de cor.",options:{root:"Nível raiz",child:"Nível secundário",all:"Todos os níveis"}},navRainbowApplyToTags:{name:"Aplicar a etiquetas",desc:"Aplicar cores arco-íris às etiquetas."},navRainbowTagScope:{name:"Âmbito de etiquetas",desc:"Selecionar quais níveis de etiqueta iniciam atribuições de cor.",options:{root:"Nível raiz",child:"Nível secundário",all:"Todos os níveis"}},navRainbowApplyToProperties:{name:"Aplicar a propriedades",desc:"Aplicar cores arco-íris às propriedades."},navRainbowBalanceHueLuminance:{name:"Brilho consistente entre matizes",desc:"Interpola o brilho entre as cores inicial e final durante as transições de matiz."},navRainbowSeparateThemeColors:{name:"Cores separadas para modo claro e escuro",desc:"Usar cores de arco-íris diferentes para o modo claro e o modo escuro."},navRainbowCopyLightToDark:"Copiar cor do modo claro para o modo escuro",navRainbowPropertyScope:{name:"Âmbito de propriedades",desc:"Selecionar quais níveis de propriedade iniciam atribuições de cor.",options:{root:"Nível raiz",child:"Nível secundário",all:"Todos os níveis"}},collapseBehavior:{name:"Recolher itens",desc:"Escolha o que o botão expandir/recolher tudo afeta.",options:{all:"Tudo",foldersOnly:"Apenas pastas",tagsOnly:"Apenas etiquetas",propertiesOnly:"Apenas propriedades"}},smartCollapse:{name:"Manter item selecionado expandido",desc:"Ao recolher, manter o item selecionado e os seus pais expandidos."},excludeVaultRootFromCollapse:{name:"Ignorar raiz do cofre ao recolher",desc:"Ao recolher todos os itens, deixe a pasta raiz do cofre no estado atual."},navIndent:{name:"Indentação da árvore",desc:"Ajustar a largura de indentação para pastas, etiquetas e propriedades aninhadas (pixels)."},navItemHeight:{name:"Altura do item",desc:"Ajustar a altura das pastas, etiquetas e propriedades no painel de navegação (pixels)."},navItemHeightScaleText:{name:"Escalar texto com altura do item",desc:"Reduzir o tamanho do texto de navegação quando a altura do item é diminuída."},showIndentGuides:{name:"Mostrar guias de indentação",desc:"Apresentar guias de indentação para pastas, etiquetas e propriedades aninhadas."},navCountLeaderStyle:{name:"Mostrar carateres de preenchimento",desc:"Apresentar pontos, traços ou uma linha entre os nomes dos itens e o número de notas.",options:{none:"Nenhum",dots:"Pontos (...)",dashes:"Traços (---)",line:"Linha"}},navRootSpacing:{name:"Espaçamento de itens raiz",desc:"Espaçamento entre pastas, etiquetas e propriedades de nível raiz (pixels)."},showTags:{name:"Mostrar etiquetas",desc:"Exibir a secção de etiquetas no navegador."},showTagIcons:{name:"Mostrar ícones de etiquetas",desc:"Exibir ícones junto às etiquetas no painel de navegação."},inheritTagColors:{name:"Herdar cores das etiquetas",desc:"As etiquetas filhas herdam a cor das etiquetas pai."},tagSortOrder:{name:"Ordem de ordenação de etiquetas",desc:"Clique com o botão direito em qualquer etiqueta para definir uma ordem de classificação diferente para os seus subitens.",options:{alphaAsc:"A a Z",alphaDesc:"Z a A",frequency:"Frequência",lowToHigh:"baixa para alta",highToLow:"alta para baixa"}},showAllTagsFolder:{name:"Mostrar pasta de etiquetas",desc:'Exibir "Etiquetas" como uma pasta recolhível.'},showUntagged:{name:"Mostrar notas sem etiquetas",desc:'Exibir item "Sem etiquetas" para notas sem etiquetas.'},scopeTagsToCurrentContext:{name:"Filtrar etiquetas por seleção",desc:"Mostrar apenas etiquetas que aparecem em notas na pasta ou propriedade selecionada."},keepEmptyTagsProperty:{name:"Manter propriedade tags após remover última etiqueta",desc:"Manter a propriedade tags do frontmatter quando todas as etiquetas são removidas. Quando desativado, a propriedade tags é eliminada do frontmatter."},showProperties:{name:"Mostrar propriedades",desc:"Exibir a secção de propriedades no navegador.",propertyKeysInfoPrefix:"Configurar propriedades em ",propertyKeysInfoLinkText:"Início > Chaves de propriedades",propertyKeysInfoSuffix:""},showPropertyIcons:{name:"Mostrar ícones de propriedades",desc:"Exibir ícones ao lado das propriedades no painel de navegação."},inheritPropertyColors:{name:"Herdar cores de propriedade",desc:"Os valores de propriedade herdam a cor e o fundo da sua chave de propriedade."},propertySortOrder:{name:"Ordem de classificação de propriedades",desc:"Clique com o botão direito em qualquer propriedade para definir uma ordem de classificação diferente para os seus valores.",options:{alphaAsc:"A a Z",alphaDesc:"Z a A",frequency:"Frequência",lowToHigh:"baixo a alto",highToLow:"alto a baixo"}},showAllPropertiesFolder:{name:"Mostrar pasta de propriedades",desc:'Exibir "Propriedades" como uma pasta recolhível.'},scopePropertiesToCurrentContext:{name:"Filtrar propriedades por seleção",desc:"Mostrar apenas propriedades que aparecem em notas na pasta ou etiqueta selecionada."},hiddenTags:{name:"Ocultar etiquetas (perfil do cofre)",desc:"Lista de padrões de etiquetas separados por vírgulas. Padrões de nome: tag* (começa com), *tag (termina com). Padrões de caminho: arquivo (etiqueta e descendentes), arquivo/* (apenas descendentes), projetos/*/rascunhos (curinga intermédio).",placeholder:"arquivo*, *rascunho, projetos/*/antigo"},hiddenFileTags:{name:"Ocultar notas com tags (perfil do cofre)",desc:"Comma-separated list of tag patterns. Notes containing matching tags are hidden. Name patterns: tag* (starting with), *tag (ending with). Path patterns: archive (tag and descendants), archive/* (descendants only), projects/*/drafts (mid-segment wildcard).",placeholder:"archive*, *draft, projects/*/old"},enableFolderNotes:{name:"Ativar notas de pasta",desc:"As pastas com um ficheiro de nota correspondente são apresentadas como ligações clicáveis."},folderNoteType:{name:"Tipo de nota de pasta predefinido",desc:"Tipo de nota de pasta criada a partir do menu de contexto.",options:{ask:"Perguntar ao criar",markdown:"Markdown",canvas:"Canvas",base:"Base"}},folderNoteName:{name:"Nome da nota de pasta",desc:"Nome da nota de pasta sem extensão. Deixe vazio para usar o mesmo nome que a pasta.",placeholder:"index"},folderNoteNamePattern:{name:"Padrão de nome da nota de pasta",desc:"Padrão de nome para notas de pasta sem extensão. Use {{folder}} para inserir o nome da pasta. Quando definido, o nome da nota de pasta não se aplica."},folderNoteTemplate:{name:"Modelo de nota de pasta",desc:"Ficheiro de modelo usado ao criar notas de pasta. Os modelos Markdown podem usar Templater. Os modelos Canvas e Base são copiados como conteúdo do ficheiro. Definir localização da pasta de modelos em Operações de ficheiros > Modelos.",formatWarning:"O formato do modelo deve corresponder ao tipo de nota de pasta selecionado: .md, .canvas ou .base."},enableFolderNoteLinks:{name:"Nomes de pastas abrem notas de pasta",desc:"Clicar no nome de uma pasta abre a respetiva nota de pasta. Quando desativado, as notas de pasta fornecem apenas metadados da pasta, como nome, ícone e cor."},hideFolderNoteInList:{name:"Ocultar nota de pasta na lista",desc:"Ocultar notas de pasta da lista de ficheiros."},pinCreatedFolderNote:{name:"Fixar notas de pasta criadas",desc:"Fixar notas de pasta ao criá-las a partir do menu de contexto."},folderNoteOpenLocation:{name:"Abrir notas de pasta em",desc:"Escolha onde as notas de pasta abrem ao clicar em ligações de notas de pasta.",options:{currentTab:"Separador atual",newTab:"Novo separador",rightSidebar:"Barra lateral direita"}},showNearestFolderNoteInSidebar:{name:"Barra lateral direita: Mostrar nota de pasta mais próxima",desc:"Quando uma pasta é selecionada, a barra lateral direita mostra automaticamente a nota de pasta ancestral mais próxima."},confirmBeforeDelete:{name:"Confirmar antes de eliminar",desc:"Mostrar diálogo de confirmação ao eliminar notas ou pastas"},deleteAttachments:{name:"Eliminar anexos ao eliminar ficheiros",desc:"Remover automaticamente os anexos associados e as pré-visualizações de desenhos geradas se não forem utilizados noutro local",options:{ask:"Perguntar sempre",always:"Sempre",never:"Nunca"}},moveFileConflicts:{name:"Conflitos de movimentação",desc:"Ao mover um ficheiro para uma pasta onde já existe um ficheiro com o mesmo nome. Perguntar sempre (renomear, substituir, cancelar) ou renomear sempre.",options:{ask:"Perguntar sempre",rename:"Renomear sempre"}},metadataCleanup:{name:"Limpar metadados",desc:"Remove metadados órfãos deixados quando ficheiros, pastas, etiquetas ou propriedades são eliminados, movidos ou renomeados fora do Obsidian. Isto afeta apenas o ficheiro de definições do Notebook Navigator.",buttonText:"Limpar metadados",error:"Falha na limpeza de definições",loading:"A verificar metadados...",statusClean:"Sem metadados para limpar",statusCounts:"Itens órfãos: {folders} pastas, {tags} etiquetas, {properties} propriedades, {files} ficheiros, {pinned} fixados, {separators} separadores"},rebuildCache:{name:"Reconstruir cache",desc:"Use isto se tiver etiquetas em falta, pré-visualizações incorretas ou imagens de destaque em falta. Isto pode acontecer após conflitos de sincronização ou encerramentos inesperados.",buttonText:"Reconstruir cache",error:"Falha ao reconstruir cache",indexingTitle:"A indexar o cofre...",progress:"A atualizar a cache do Notebook Navigator."},externalIcons:{downloadButton:"Transferir",downloadingLabel:"A transferir...",removeButton:"Remover",statusInstalled:"Transferido (versão {version})",statusNotInstalled:"Não transferido",versionUnknown:"desconhecido",downloadFailed:"Falha ao transferir {name}. Verifique a sua ligação e tente novamente.",removeFailed:"Falha ao remover {name}.",infoNote:"Os pacotes de ícones transferidos sincronizam o estado de instalação entre dispositivos. Os pacotes de ícones permanecem na base de dados local em cada dispositivo; a sincronização apenas rastreia se devem ser transferidos ou removidos. Os pacotes de ícones são transferidos do repositório Notebook Navigator (https://github.com/johansan/notebook-navigator/tree/main/icon-assets)."},useFrontmatterDates:{name:"Usar metadados frontmatter",desc:"Usar frontmatter para nome da nota, timestamps, ícones e cores"},frontmatterIconField:{name:"Campo de ícone",desc:"Campo frontmatter para ícones de ficheiros. Deixe vazio para usar ícones guardados nas definições.",placeholder:"icon"},frontmatterColorField:{name:"Campo de cor",desc:"Campo frontmatter para cores de ficheiros. Deixe vazio para usar cores guardadas nas definições.",placeholder:"color"},frontmatterBackgroundField:{name:"Campo de fundo",desc:"Campo frontmatter para cores de fundo. Deixe vazio para usar cores de fundo guardadas nas definições.",placeholder:"background"},frontmatterMigration:{name:"Migrar ícones e cores das definições",desc:"Guardados nas definições: {icons} ícones, {colors} cores.",button:"Migrar",buttonWorking:"A migrar...",noticeNone:"Nenhum ícone ou cor de ficheiro guardado nas definições.",noticeDone:"Migrados {migratedIcons}/{icons} ícones, {migratedColors}/{colors} cores.",noticeFailures:"Entradas falhadas: {failures}.",noticeError:"Migração falhou. Verifique a consola para detalhes."},frontmatterNameField:{name:"Campos de nome",desc:"Lista de campos frontmatter separados por vírgula. O primeiro valor não vazio é usado. Usa o nome do ficheiro como alternativa.",placeholder:"title, name"},frontmatterCreatedField:{name:"Campo de timestamp de criação",desc:"Nome do campo frontmatter para o timestamp de criação. Deixe vazio para usar apenas a data do sistema de ficheiros.",placeholder:"created"},frontmatterModifiedField:{name:"Campo de timestamp de modificação",desc:"Nome do campo frontmatter para o timestamp de modificação. Deixe vazio para usar apenas a data do sistema de ficheiros.",placeholder:"modified"},frontmatterDateFormat:{name:"Formato de timestamp",desc:"Formato usado para analisar timestamps no frontmatter. Deixe vazio para usar parsing ISO 8601.",helpTooltip:"Formato usando Moment",momentLinkText:"formato Moment",help:`Formatos comuns:
YYYY-MM-DD[T]HH:mm:ss → 2025-01-04T14:30:45
YYYY-MM-DD[T]HH:mm:ssZ → 2025-08-07T16:53:39+02:00
DD/MM/YYYY HH:mm:ss → 04/01/2025 14:30:45
MM/DD/YYYY h:mm:ss a → 01/04/2025 2:30:45 PM`},supportDevelopment:{name:"Apoiar desenvolvimento",desc:"Se gosta de usar o Notebook Navigator, por favor considere apoiar o seu desenvolvimento contínuo.",buttonText:"❤️ Patrocinar",coffeeButton:"☕️ Compre-me um café"},updateCheckOnStart:{name:"Verificar nova versão ao iniciar",desc:"Verifica novos lançamentos do plugin ao iniciar e mostra uma notificação quando uma atualização está disponível. As verificações ocorrem no máximo uma vez por dia.",status:"Nova versão disponível: {version}"},debugLogging:{name:"Registo de depuração no arranque",desc:"Escreve diagnósticos de arranque num ficheiro Markdown com carimbo de data/hora na raiz do cofre e para depois de o arranque estabilizar. O ficheiro pode ser sincronizado e pode incluir caminhos de ficheiros."},whatsNew:{name:"Novidades no Notebook Navigator {version}",desc:"Ver atualizações e melhorias recentes",buttonText:"Ver atualizações recentes"},masteringVideo:{name:"Dominar o Notebook Navigator (vídeo)",desc:"Este vídeo abrange tudo o que precisa para ser produtivo no Notebook Navigator, incluindo teclas de atalho, pesquisa, etiquetas e personalização avançada."},cacheStatistics:{localCache:"Cache local",items:"itens",withTags:"com etiquetas",withPreviewText:"com texto de pré-visualização",withFeatureImage:"com imagem de destaque",withMetadata:"com metadados"},metadataInfo:{successfullyParsed:"Analisados com sucesso",itemsWithName:"itens com nome",withCreatedDate:"com data de criação",withModifiedDate:"com data de modificação",withIcon:"com ícone",withColor:"com cor",failedToParse:"Falha ao analisar",createdDates:"datas de criação",modifiedDates:"datas de modificação",checkTimestampFormat:"Verifique o seu formato de timestamp.",exportFailed:"Exportar erros"}}},whatsNew:{title:"Novidades no Notebook Navigator",openBannerImage:"Abrir imagem do banner da versão",supportMessage:"Se acha o Notebook Navigator útil, por favor considere apoiar o seu desenvolvimento.",supportButton:"Compre-me um café",thanksButton:"Obrigado!"}}});var Y1={};In(Y1,{STRINGS_PT_BR:()=>Zie});var Zie,$1=U(()=>{Zie={common:{cancel:"Cancelar",delete:"Excluir",clear:"Limpar",remove:"Remover",restoreDefault:"Restaurar padrão",submit:"Enviar",save:"Salvar",configure:"Configurar",lightMode:"Modo claro",darkMode:"Modo escuro",noSelection:"Nenhuma seleção",untagged:"Sem tags",featureImageAlt:"Imagem destacada",unknownError:"Erro desconhecido",clipboardWriteError:"Não foi possível gravar na área de transferência",updateBannerTitle:"Atualização do Notebook Navigator disponível",updateBannerInstruction:"Atualize em Configurações -> Plugins da comunidade",previous:"Anterior",next:"Próximo"},listPane:{emptyStateNoSelection:"Selecione uma pasta ou tag para ver notas",emptyStateNoNotes:"Sem notas",pinnedSection:"Fixadas",notesSection:"Notas",filesSection:"Arquivos",hiddenItemAriaLabel:"{name} (oculto)",collapseGroup:"Recolher grupo",expandGroup:"Expandir grupo",manualSortTitle:"Classificação manual: {property}",manualSortHint:'Arraste para reordenar. A ordem é salva como valores numéricos de índice na propriedade "{property}".',manualSortNonMarkdownHint:"Arquivos não Markdown são exibidos no final e não podem ser reordenados.",unsortedSection:"Não classificados",manualSortDone:"Concluído",manualSortMultipleWriteFailure:"{count} arquivos falharam; primeiro: {path}: {message}"},tagList:{untaggedLabel:"Sem tags",tags:"Tags"},navigationPane:{shortcutsHeader:"Atalhos",recentFilesHeader:"Arquivos recentes",properties:"Propriedades",reorderRootFoldersTitle:"Reordenar navegação",reorderRootFoldersHint:"Use setas ou arraste para reordenar",vaultRootLabel:"Cofre",resetRootToAlpha:"Redefinir para ordem alfabética",resetRootToFrequency:"Redefinir para ordem de frequência",pinShortcuts:"Fixar atalhos",pinShortcutsAndRecentFiles:"Fixar atalhos e arquivos recentes",unpinShortcuts:"Desafixar atalhos",unpinShortcutsAndRecentFiles:"Desafixar atalhos e arquivos recentes",profileMenuAria:"Alterar perfil do cofre"},navigationCalendar:{ariaLabel:"Calendário",dailyNotesNotEnabled:"O plugin de notas diárias não está ativado.",createDailyNote:{title:"Nova nota diária",message:"O arquivo {filename} não existe. Deseja criá-lo?",confirmButton:"Criar"},helpModal:{title:"Atalhos do calendário",items:["Clique em qualquer dia para abrir ou criar uma nota diária. Semanas, meses, trimestres e anos funcionam da mesma forma.","Um ponto preenchido abaixo de um dia significa que ele tem uma nota. Um ponto oco significa que ele tem tarefas pendentes.","Se uma nota tiver uma imagem de destaque, ela aparece como plano de fundo do dia."],dateFilterCmdCtrl:"`Cmd/Ctrl`+clique em uma data para filtrar por essa data na lista de arquivos.",dateFilterOptionAlt:"`Option/Alt`+clique em uma data para filtrar por essa data na lista de arquivos."}},dailyNotes:{templateReadFailed:"Falha ao ler o modelo de nota diária.",createFailed:"Não foi possível criar a nota diária."},shortcuts:{folderExists:"Pasta já está nos atalhos",noteExists:"Nota já está nos atalhos",tagExists:"Tag já está nos atalhos",propertyExists:"Propriedade já está nos atalhos",invalidProperty:"Atalho de propriedade inválido",searchExists:"Atalho de pesquisa já existe",emptySearchQuery:"Digite uma consulta antes de salvar",emptySearchName:"Digite um nome antes de salvar a pesquisa",add:"Adicionar aos atalhos",addNotesCount:"Adicionar {count} notas aos atalhos",addFilesCount:"Adicionar {count} arquivos aos atalhos",rename:"Renomear atalho",remove:"Remover dos atalhos",removeAll:"Remover todos os atalhos",removeAllConfirm:"Remover todos os atalhos?",folderNotesPinned:"{count} notas de pasta fixadas"},paneHeader:{collapseAllFolders:"Recolher itens",expandAllFolders:"Expandir todos os itens",showCalendar:"Mostrar calendário",hideCalendar:"Ocultar calendário",newFolder:"Nova pasta",newNote:"Nova nota",mobileBackToNavigation:"Voltar à navegação",changeChildSortOrder:"Alterar ordem de classificação",changeSortAndGroup:"Alterar classificação e agrupamento",resetViewToDefaults:"Redefinir visualização para o padrão",manualSort:"Classificação manual",editSortOrder:"Editar ordem de classificação...",removeSortProperty:"Remover propriedade de classificação",descendants:"descendentes",subfolders:"subpastas",subtags:"subtags",childValues:"valores filhos",applySortAndGroupToDescendants:t=>`Aplicar classificação e agrupamento a ${t}`,applyAppearanceToDescendants:t=>`Aplicar aparência a ${t}`,showFolders:"Mostrar navegação",reorderRootFolders:"Reordenar navegação",finishRootFolderReorder:"Concluído",showExcludedItems:"Mostrar pastas, tags e notas ocultas",hideExcludedItems:"Ocultar pastas, tags e notas ocultas",showDualPane:"Mostrar painéis duplos",showSinglePane:"Mostrar painel único",dualPaneAutoFallbackNotice:'Os painéis duplos não estão disponíveis quando a barra lateral está estreita demais. Para mudar isso, defina "Quando a barra lateral está estreita demais" como "Não fazer nada" em Configurações > Aparência e comportamento.',changeAppearance:"Alterar aparência",showNotesFromSubfolders:"Mostrar notas de subpastas",showFilesFromSubfolders:"Mostrar arquivos de subpastas",showNotesFromDescendants:"Mostrar notas de descendentes",showFilesFromDescendants:"Mostrar arquivos de descendentes",search:"Pesquisar"},searchInput:{placeholder:"Pesquisar...",placeholderOmnisearch:"Omnisearch...",clearSearch:"Limpar pesquisa",switchToFilterSearch:"Mudar para pesquisa por filtro",switchToOmnisearch:"Mudar para Omnisearch",saveSearchShortcut:"Salvar atalho de pesquisa",removeSearchShortcut:"Remover atalho de pesquisa",shortcutModalTitle:"Salvar atalho de pesquisa",shortcutNamePlaceholder:"Digite o nome do atalho",shortcutStartIn:"Sempre iniciar em: {path}",searchHelp:"Sintaxe de pesquisa",searchHelpTitle:"Sintaxe de pesquisa",searchHelpModal:{intro:"Combine nomes de arquivos, propriedades, tags, datas e filtros em uma consulta (ex. `meeting .status=active #work @thisweek`). Instale o plugin Omnisearch para usar pesquisa de texto completo.",introSwitching:"Alterne entre pesquisa por filtro e Omnisearch usando as teclas de seta para cima/baixo ou clicando no ícone de pesquisa.",sections:{fileNames:{title:"Nomes de arquivos",items:['`word` Encontrar notas com "word" no nome do arquivo.',"`word1 word2` Cada palavra deve corresponder ao nome do arquivo.",'`-word` Excluir notas com "word" no nome do arquivo.']},tags:{title:"Tags",items:["`#tag` Incluir notas com tag (também corresponde a tags aninhadas como `#tag/subtag`).","`#` Incluir apenas notas com tags.","`-#tag` Excluir notas com tag.","`-#` Incluir apenas notas sem tags.","`#tag1 #tag2` Corresponder a ambas as tags (AND implícito).","`#tag1 AND #tag2` Corresponder a ambas as tags (AND explícito).","`#tag1 OR #tag2` Corresponder a qualquer uma das tags.","`#a OR #b AND #c` AND tem precedência maior: corresponde a `#a`, ou ambos `#b` e `#c`.","Cmd/Ctrl+Clique em uma tag para adicionar com AND. Cmd/Ctrl+Shift+Clique para adicionar com OR."]},properties:{title:"Propriedades",items:["`.key` Incluir notas com chave de propriedade.","`.key=value` Incluir notas cujo valor de propriedade contenha `value`.",'`."Reading Status"` Incluir notas com uma chave de propriedade que contém espaços.','`."Reading Status"="In Progress"` Chaves e valores com espaços devem estar entre aspas duplas.',"`-.key` Excluir notas com chave de propriedade.","`-.key=value` Excluir notas cujo valor de propriedade contenha `value`.","Cmd/Ctrl+Clique em uma propriedade para adicionar com AND. Cmd/Ctrl+Shift+Clique para adicionar com OR."]},tasks:{title:"Filtros",items:["`has:task` Incluir notas com tarefas pendentes.","`-has:task` Excluir notas com tarefas pendentes.","`folder:meetings` Incluir notas onde um nome de pasta contém `meetings`.","`folder:/work/meetings` Incluir notas apenas em `work/meetings` (não subpastas).","`folder:/` Incluir notas apenas na raiz do cofre.","`-folder:archive` Excluir notas onde um nome de pasta contém `archive`.","`-folder:/archive` Excluir notas apenas em `archive` (não subpastas).","`ext:md` Incluir notas com extensão `md` (`ext:.md` também é suportado).","`-ext:pdf` Excluir notas com extensão `pdf`.","Combinar com tags, nomes e datas (por exemplo: `folder:/work/meetings ext:md @thisweek`)."]},connectors:{title:"Comportamento AND/OR",items:["`AND` e `OR` são operadores apenas em consultas exclusivas de tags e propriedades.","As consultas exclusivas de tags e propriedades contêm apenas filtros de tags e propriedades: `#tag`, `-#tag`, `#`, `-#`, `.key`, `-.key`, `.key=value`, `-.key=value`.","Se uma consulta incluir nomes, datas (`@...`), filtros de tarefas (`has:task`), filtros de pasta (`folder:...`) ou filtros de extensão (`ext:...`), `AND` e `OR` são pesquisados como palavras.","Exemplo de consulta com operadores: `#work OR .status=started`.","Exemplo de consulta mista: `#work OR ext:md` (`OR` é pesquisado nos nomes dos arquivos)."]},dates:{title:"Datas",items:["`@today` Encontrar notas de hoje usando o campo de data padrão.","`@yesterday`, `@last7d`, `@last30d`, `@thisweek`, `@thismonth` Intervalos de datas relativos.","`@2026-02-07` Encontrar um dia específico (também suporta `@20260207`).","`@2026` Encontrar um ano calendário.","`@2026-02` ou `@202602` Encontrar um mês calendário.","`@2026-W05` ou `@2026W05` Encontrar uma semana ISO.","`@2026-Q2` ou `@2026Q2` Encontrar um trimestre calendário.","`@13/02/2026` Formatos numéricos com separadores (`@07022026` segue sua localização quando ambíguo).","`@2026-02-01..2026-02-07` Encontrar um intervalo de dias inclusivo (extremos abertos suportados).","`@c:...` ou `@m:...` Apontar para data de criação ou modificação.","`-@...` Excluir uma correspondência de data."]},omnisearch:{title:"Omnisearch",items:["Pesquisa de texto completo em todo o cofre, filtrada pela pasta atual ou tags selecionadas.","Pode ser lento com menos de 3 caracteres em cofres grandes.","Não consegue pesquisar caminhos com caracteres não-ASCII ou pesquisar subcaminhos corretamente.","Retorna resultados limitados antes da filtragem por pasta, então arquivos relevantes podem não aparecer se muitas correspondências existirem em outros locais.","As prévias das notas mostram trechos do Omnisearch em vez do texto de prévia padrão."]}}}},contextMenu:{file:{openInNewTab:"Abrir em nova aba",openToRight:"Abrir à direita",openInNewWindow:"Abrir em nova janela",openMultipleInNewTabs:"Abrir {count} notas em novas abas",openMultipleFilesInNewTabs:"Abrir {count} arquivos em novas abas",openMultipleToRight:"Abrir {count} notas à direita",openMultipleFilesToRight:"Abrir {count} arquivos à direita",openMultipleInNewWindows:"Abrir {count} notas em novas janelas",openMultipleFilesInNewWindows:"Abrir {count} arquivos em novas janelas",pinNote:"Fixar nota",pinFile:"Fixar arquivo",unpinNote:"Desafixar nota",unpinFile:"Desafixar arquivo",pinMultipleNotes:"Fixar {count} notas",pinMultipleFiles:"Fixar {count} arquivos",unpinMultipleNotes:"Desafixar {count} notas",unpinMultipleFiles:"Desafixar {count} arquivos",duplicateNote:"Duplicar nota",duplicateFile:"Duplicar arquivo",duplicateMultipleNotes:"Duplicar {count} notas",duplicateMultipleFiles:"Duplicar {count} arquivos",openVersionHistory:"Abrir histórico de versões",revealInFolder:"Revelar na pasta",revealInFinder:"Revelar no Finder",showInExplorer:"Mostrar no explorador de arquivos",openInDefaultApp:"Abrir no aplicativo padrão",renameNote:"Renomear nota",renameFile:"Renomear arquivo",deleteNote:"Excluir nota",deleteFile:"Excluir arquivo",setCalendarHighlight:"Definir destaque",removeCalendarHighlight:"Remover destaque",deleteMultipleNotes:"Excluir {count} notas",deleteMultipleFiles:"Excluir {count} arquivos",moveNoteToFolder:"Mover nota para...",moveFileToFolder:"Mover arquivo para...",moveMultipleNotesToFolder:"Mover {count} notas para...",moveMultipleFilesToFolder:"Mover {count} arquivos para...",mergeNotes:"Mesclar {count} notas...",mergeNotesInGroup:"Mesclar notas no grupo...",setManualSortGroupHeader:"Definir cabeçalho de grupo",changeManualSortGroupHeader:"Alterar cabeçalho de grupo",manualSortGroupHeader:{title:"Cabeçalho de grupo",copyStyle:"Copiar estilo do cabeçalho",pasteStyle:"Colar estilo do cabeçalho",remove:"Remover cabeçalho de grupo"},addTag:"Adicionar tag",addPropertyKey:"Definir propriedade",removeTag:"Remover tag",removeAllTags:"Remover todas as tags",changeIcon:"Alterar ícone",changeColor:"Alterar cor"},folder:{newNote:"Nova nota",newNoteFromTemplate:"Nova nota a partir de modelo",newFolder:"Nova pasta",newCanvas:"Nova tela",newBase:"Nova base",newDrawing:"Novo desenho",newExcalidrawDrawing:"Novo desenho Excalidraw",newTldrawDrawing:"Novo desenho Tldraw",duplicateFolder:"Duplicar pasta",searchInFolder:"Pesquisar na pasta",createFolderNote:"Criar nota de pasta",detachFolderNote:"Desvincular nota de pasta",deleteFolderNote:"Excluir nota de pasta",changeIcon:"Alterar ícone",changeColor:"Alterar cor",changeBackground:"Alterar plano de fundo",excludeFolder:"Ocultar pasta",unhideFolder:"Reexibir pasta",moveFolder:"Mover pasta para...",renameFolder:"Renomear pasta",deleteFolder:"Excluir pasta"},tag:{changeIcon:"Alterar ícone",changeColor:"Alterar cor",changeBackground:"Alterar plano de fundo",showTag:"Mostrar tag",hideTag:"Ocultar tag"},property:{addKey:"Configurar chaves de propriedade",renameKey:"Renomear propriedade",deleteKey:"Excluir propriedade"},navigation:{addSeparator:"Adicionar separador",removeSeparator:"Remover separador"},copyPath:{title:"Copiar caminho",asObsidianUrl:"como URL do Obsidian",fromVaultFolder:"a partir da pasta do cofre",fromSystemRoot:"a partir da raiz do sistema"},style:{title:"Estilo",copy:"Copiar estilo",paste:"Colar estilo",removeIcon:"Remover ícone",removeColor:"Remover cor",removeBackground:"Remover plano de fundo",clear:"Limpar estilo"}},folderAppearance:{appearance:"Aparência",sortBy:"Classificar por",standardPreset:"Padrão",compactPreset:"Compacto",defaultSuffix:"(padrão)",defaultLabel:"Padrão",titleRows:"Linhas do título",previewRows:"Linhas de visualização",groupBy:"Agrupar por",titleRowOption:t=>`${t} linha${t===1?"":"s"} de título`,previewRowOption:t=>`${t} linha${t===1?"":"s"} de visualização`},modals:{bulkApply:{applyButton:"Aplicar",applySortAndGroupTitle:t=>`Aplicar classificação e agrupamento a ${t}?`,applyAppearanceTitle:t=>`Aplicar aparência a ${t}?`,affectedCountMessage:t=>`Substituições existentes que serão alteradas: ${t}.`},manualSortConfirm:{propertySortTitle:"Usar classificação manual?",propertySortMessage:(t,e)=>`Isso muda a visualização atual para classificação manual usando "${t}". Editar a ordem grava valores numéricos de índice nessa propriedade em ${e} ${e===1?"nota":"notas"} conforme necessário.`,propertySortConfirmButton:"Usar classificação manual",removePropertyTitle:"Remover propriedade de classificação?",removePropertyMessage:(t,e)=>`Isso remove "${t}" de ${e} ${e===1?"nota":"notas"} na lista atual. A ordem de classificação manual será limpa para essas notas.`,removePropertyConfirmButton:"Remover propriedade",compactTitle:"Compactar valores de índice?",compactMessage:t=>`Esta reordenação precisa de mais espaço numérico. ${t} ${t===1?"nota receberá":"notas receberão"} novos valores de índice.`,compactConfirmButton:"Compactar valores de índice"},manualSortGroupHeader:{title:"Definir cabeçalho de grupo",titleLabel:"Título",placeholder:"Cabeçalho de grupo",icon:"Ícone",color:"Cor",wordCount:"Mostrar contagem de palavras",wordCountTarget:"Contagem de palavras alvo",wordCountTargetPlaceholder:"10,000",wordCountTargetDescription:"Quando este campo está vazio, a meta do grupo usa a propriedade de meta definida em Configurações > Notas > Contagem de palavras e caracteres. Substitua definindo um valor de meta para este grupo.",description:"Personalize o cabeçalho de grupo para esta nota. Deixe o título em branco para remover o cabeçalho."},mergeNotes:{title:"Mesclar notas",summary:"Criar uma nota a partir de {count} notas em {folder}.",frontmatterRule:"O frontmatter da primeira nota é mantido. O frontmatter das outras notas é removido.",crossFolderWarning:"As notas de origem estão em pastas diferentes. Links relativos e incorporações podem parar de funcionar na nota mesclada.",outputName:"Nome de saída",outputNameDesc:"A nota mesclada é criada na pasta mostrada acima.",outputNamePlaceholder:"Notas mescladas",separator:"Separador",separatorDesc:"Inserido entre notas.",separatorOptions:{none:"Nenhum",blankLine:"Linha em branco",horizontalRule:"Linha horizontal",heading:"Cabeçalho com o título da nota"},moveSourcesToTrash:"Mover notas de origem para a lixeira após mesclar",mergeButton:"Mesclar"},navRainbowSection:{title:t=>`Cores arco-íris: ${t}`},iconPicker:{searchPlaceholder:"Pesquisar ícones...",recentlyUsedHeader:"Usados recentemente",emptyStateSearch:"Digite para pesquisar ícones",emptyStateNoResults:"Nenhum ícone encontrado",showingResultsInfo:"Mostrando 50 de {count} resultados. Digite mais para refinar.",emojiInstructions:"Digite ou cole qualquer emoji para usá-lo como ícone",removeIcon:"Remover ícone",removeFromRecents:"Remover dos recentes",allTabLabel:"Todos"},fileIconRuleEditor:{addRuleAria:"Adicionar regra"},interfaceIcons:{title:"Ícones da interface",fileItemsSection:"Itens de arquivo",items:{"nav-shortcuts":"Atalhos","nav-recent-files":"Arquivos recentes","nav-expand-all":"Expandir tudo","nav-collapse-all":"Recolher tudo","nav-calendar":"Calendário","nav-tree-expand":"Seta da árvore: expandir","nav-tree-collapse":"Seta da árvore: recolher","nav-hidden-items":"Itens ocultos","nav-root-reorder":"Reordenar pastas raiz","nav-new-folder":"Nova pasta","nav-show-single-pane":"Mostrar painel único","nav-show-dual-pane":"Mostrar painéis duplos","nav-profile-chevron":"Seta do menu de perfil","list-search":"Pesquisar","list-reveal-file":"Revelar arquivo","list-descendants":"Notas de subpastas","list-sort-ascending":"Ordem: crescente","list-sort-descending":"Ordem: decrescente","list-sort-modified":"Classificar por data de edição","list-sort-created":"Classificar por data de criação","list-sort-title":"Classificar por título","list-sort-filename":"Classificar por nome do arquivo","list-sort-property":"Classificar por propriedade","list-appearance":"Alterar aparência","list-new-note":"Nova nota","list-pinned":"Notas fixadas","nav-folder-open":"Pasta aberta","nav-folder-closed":"Pasta fechada","nav-tags":"Tags","nav-tag":"Tag","nav-properties":"Propriedades","nav-property":"Propriedade","nav-property-value":"Valor","file-unfinished-task":"Tarefas inacabadas","file-word-count":"Contagem de palavras","file-character-count":"Contagem de caracteres"}},colorPicker:{currentColor:"Atual",newColor:"Nova",paletteDefault:"Padrão",paletteCustom:"Personalizado",copyColors:"Copiar cor",colorsCopied:"Cor copiada para a área de transferência",pasteColors:"Colar cor",pasteClipboardError:"Não foi possível ler a área de transferência",pasteInvalidFormat:"Esperado um valor de cor hex",colorsPasted:"Cor colada com sucesso",resetUserColors:"Limpar cores personalizadas",clearCustomColorsConfirm:"Remover todas as cores personalizadas?",userColorSlot:"Cor {slot}",recentColors:"Cores recentes",clearRecentColors:"Limpar cores recentes",removeRecentColor:"Remover cor",apply:"Aplicar",pickerLabel:"Seletor",hexLabel:"HEX",hexInputLabel:"Valor de cor hexadecimal",saturationValueArea:"Saturação e brilho",hueSlider:"Matiz",alphaSlider:"Transparência"},appearance:{tabIcon:"Ícone",tabColor:"Cor",tabBackground:"Plano de fundo",resetIcon:"Remover ícone",resetColor:"Remover cor",resetBackground:"Remover plano de fundo",clear:"Limpar estilo",apply:"Aplicar"},selectVaultProfile:{title:"Alterar perfil do cofre",currentBadge:"Ativo",emptyState:"Nenhum perfil de cofre disponível."},tagOperation:{renameTitle:"Renomear tag {tag}",deleteTitle:"Excluir tag {tag}",newTagPrompt:"Novo nome da tag",newTagPlaceholder:"Digite o novo nome da tag",renameWarning:"Renomear a tag {oldTag} modificará {count} {files}.",deleteWarning:"Excluir a tag {tag} modificará {count} {files}.",modificationWarning:"Isso atualizará as datas de modificação dos arquivos.",affectedFiles:"Arquivos afetados:",andMore:"...e mais {count}",confirmRename:"Renomear tag",renameUnchanged:"{tag} sem alterações",renameNoChanges:"{oldTag} → {newTag} ({countLabel})",renameBatchNotFinalized:"Renomeados {renamed}/{total}. Não atualizados: {notUpdated}. Metadados e atalhos não foram atualizados.",invalidTagName:"Digite um nome de tag válido.",descendantRenameError:"Não é possível mover uma tag para dentro de si mesma ou um descendente.",confirmDelete:"Excluir tag",deleteBatchNotFinalized:"Removidos de {removed}/{total}. Não atualizados: {notUpdated}. Metadados e atalhos não foram atualizados.",checkConsoleForDetails:"Verifique o console para mais detalhes.",file:"arquivo",files:"arquivos",inlineParsingWarning:{title:"Compatibilidade de tags inline",message:"{tag} contém caracteres que o Obsidian não consegue analisar em tags inline. As tags de Frontmatter não são afetadas.",confirm:"Usar mesmo assim"}},propertyOperation:{renameTitle:"Renomear propriedade {property}",deleteTitle:"Excluir propriedade {property}",newKeyPrompt:"Novo nome da propriedade",newKeyPlaceholder:"Digite o novo nome da propriedade",renameWarning:"Renomear a propriedade {property} modificará {count} {files}.",renameConflictWarning:"A propriedade {newKey} já existe em {count} {files}. Renomear {oldKey} substituirá os valores existentes de {newKey}.",deleteWarning:"Excluir a propriedade {property} modificará {count} {files}.",confirmRename:"Renomear propriedade",confirmDelete:"Excluir propriedade",renameNoChanges:"{oldKey} → {newKey} (sem alterações)",renameSettingsUpdateFailed:"Propriedade {oldKey} → {newKey} renomeada. Não foi possível atualizar as configurações.",deleteSingleSuccess:"Propriedade {property} excluída de 1 nota",deleteMultipleSuccess:"Propriedade {property} excluída de {count} notas",deleteSettingsUpdateFailed:"Propriedade {property} excluída. Não foi possível atualizar as configurações.",invalidKeyName:"Digite um nome de propriedade válido."},fileSystem:{newFolderTitle:"Nova pasta",renameFolderTitle:"Renomear pasta",renameFileTitle:"Renomear arquivo",deleteFolderTitle:"Excluir '{name}'?",deleteFileTitle:"Excluir '{name}'?",deleteFileAttachmentsTitle:"Excluir anexos do arquivo?",moveFileConflictTitle:"Conflito de movimentação",folderNamePrompt:"Digite o nome da pasta:",hideInOtherVaultProfiles:"Ocultar em outros perfis do cofre",renamePrompt:"Digite o novo nome:",renameVaultTitle:"Alterar nome de exibição do cofre",renameVaultPrompt:"Digite um nome de exibição personalizado (deixe em branco para usar o padrão):",deleteFolderConfirm:"Tem certeza de que deseja excluir esta pasta e todo o seu conteúdo?",deleteFileConfirm:"Tem certeza de que deseja excluir este arquivo?",deleteFileAttachmentsDescriptionSingle:"Este anexo não é mais usado em nenhuma nota. Deseja excluí-lo?",deleteFileAttachmentsDescriptionMultiple:"Estes anexos não são mais usados em nenhuma nota. Deseja excluí-los?",deleteFileAttachmentsViewFileTreeAriaLabel:"Árvore de arquivos",deleteFileAttachmentsViewGalleryAriaLabel:"Galeria",moveFileConflictDescriptionSingle:'Um conflito de arquivo foi encontrado em "{folder}".',moveFileConflictDescriptionMultiple:'{count} conflitos de arquivos foram encontrados em "{folder}".',moveFileConflictAffectedFiles:"Arquivos afetados",moveFileConflictItem:'"{name}" -> "{suggested}"{renameOnly}',moveFileConflictRenameOnly:"(apenas renomear)",moveFileConflictRename:"Renomear",moveFileConflictOverwrite:"Sobrescrever",removeAllTagsTitle:"Remover todas as tags",removeAllTagsFromNote:"Tem certeza de que deseja remover todas as tags desta nota?",removeAllTagsFromNotes:"Tem certeza de que deseja remover todas as tags de {count} notas?"},folderNoteType:{title:"Selecione o tipo de nota de pasta",folderLabel:"Pasta: {name}"},folderSuggest:{placeholder:t=>`Mover ${t} para pasta...`,multipleFilesLabel:t=>`${t} arquivos`,navigatePlaceholder:"Navegar para pasta...",instructions:{navigate:"para navegar",move:"para mover",select:"para selecionar",dismiss:"para descartar"}},homepage:{placeholder:"Pesquisar arquivos...",instructions:{navigate:"para navegar",select:"para definir página inicial",dismiss:"para descartar"}},calendarTemplate:{placeholder:"Pesquisar modelos...",instructions:{navigate:"para navegar",select:"para selecionar o modelo",dismiss:"para descartar"}},navigationBanner:{placeholder:"Pesquisar imagens...",instructions:{navigate:"para navegar",select:"para definir banner",dismiss:"para descartar"}},tagSuggest:{navigatePlaceholder:"Navegar para tag...",addPlaceholder:"Pesquisar tag para adicionar...",removePlaceholder:"Selecionar tag para remover...",createNewTag:"Criar nova tag: #{tag}",instructions:{navigate:"para navegar",select:"para selecionar",dismiss:"para descartar",add:"para adicionar tag",remove:"para remover tag"}},propertySuggest:{placeholder:"Selecionar chave de propriedade...",navigatePlaceholder:"Navegar para propriedade...",instructions:{navigate:"para navegar",select:"para adicionar propriedade",dismiss:"para descartar"}},propertyKeyVisibility:{title:"Visibilidade das chaves de propriedade",description:"Controle onde os valores de propriedade são exibidos. As colunas correspondem ao painel de navegação, painel de lista e menu de contexto do arquivo. Use a linha inferior para alternar todas as linhas de uma coluna.",searchPlaceholder:"Pesquisar chaves de propriedade...",propertyColumnLabel:"Propriedade",showInNavigation:"Mostrar na navegação",showInList:"Mostrar na lista",showInFileMenu:"Mostrar no menu do arquivo",toggleAllInNavigation:"Alternar todos na navegação",toggleAllInList:"Alternar todos na lista",toggleAllInFileMenu:"Alternar todos no menu do arquivo",applyButton:"Aplicar",emptyState:"Nenhuma chave de propriedade encontrada."},welcome:{title:"Bem-vindo ao {pluginName}",introText:'Olá! Antes de começar, recomendo que você assista aos primeiros cinco minutos do vídeo abaixo para entender como funcionam os painéis e o botão "Mostrar notas das subpastas".',continueText:"Se você tiver mais cinco minutos, continue assistindo ao vídeo para entender os modos de exibição compacta e como configurar corretamente os atalhos e teclas de atalho importantes.",thanksText:"Muito obrigado por baixar e aproveite!",videoAlt:"Instalando e dominando o Notebook Navigator",openVideoButton:"Reproduzir vídeo",closeButton:"Talvez depois"}},fileSystem:{errors:{createFolder:"Falha ao criar pasta: {error}",createFile:"Falha ao criar arquivo: {error}",renameFolder:"Falha ao renomear pasta: {error}",renameFolderNoteConflict:'Não é possível renomear: "{name}" já existe nesta pasta',renameFile:"Falha ao renomear arquivo: {error}",deleteFolder:"Falha ao excluir pasta: {error}",deleteFile:"Falha ao excluir arquivo: {error}",deleteAttachments:"Falha ao excluir os anexos: {error}",mergeNotes:"Falha ao mesclar notas: {error}",mergeNotesOpenOutput:"A nota mesclada foi criada como {name}, mas não pôde ser aberta: {error}. As notas de origem não foram alteradas.",mergeNotesOpenSkipped:"Outra solicitação para abrir arquivo teve prioridade.",mergeNotesTrashSources:"Nota mesclada criada. Falha ao mover {count} notas de origem para a lixeira.",duplicateNote:"Falha ao duplicar nota: {error}",duplicateFolder:"Falha ao duplicar pasta: {error}",openVersionHistory:"Falha ao abrir histórico de versões: {error}",versionHistoryNotFound:"Comando de histórico de versões não encontrado. Certifique-se de que o Obsidian Sync está ativado.",revealInExplorer:"Falha ao revelar arquivo no explorador: {error}",openInDefaultApp:"Falha ao abrir no aplicativo padrão: {error}",openInDefaultAppNotAvailable:"Abrir no aplicativo padrão não está disponível nesta plataforma",folderNoteAlreadyExists:"Nota de pasta já existe",folderAlreadyExists:'A pasta "{name}" já existe',folderNotesDisabled:"Ative as notas de pasta nas configurações para converter arquivos",folderNoteAlreadyLinked:"Este arquivo já funciona como uma nota de pasta",folderNoteNotFound:"Nenhuma nota de pasta na pasta selecionada",folderNoteUnsupportedExtension:"Extensão de arquivo não suportada: {extension}",folderNoteMoveFailed:"Falha ao mover arquivo durante conversão: {error}",folderNoteRenameConflict:'Um arquivo chamado "{name}" já existe na pasta',folderNoteConversionFailed:"Falha ao converter arquivo em nota de pasta",folderNoteConversionFailedWithReason:"Falha ao converter arquivo em nota de pasta: {error}",folderNoteOpenFailed:"Arquivo convertido, mas falha ao abrir nota de pasta: {error}",failedToDeleteFile:"Falha ao excluir {name}: {error}",failedToDeleteMultipleFiles:"Falha ao excluir {count} arquivos",versionHistoryNotAvailable:"Serviço de histórico de versões não disponível",drawingAlreadyExists:"Já existe um desenho com este nome",failedToCreateDrawing:"Falha ao criar desenho",noFolderSelected:"Nenhuma pasta está selecionada no Notebook Navigator",noFileSelected:"Nenhum arquivo está selecionado"},warnings:{linkBreakingNameCharacters:"Este nome inclui caracteres que quebram links do Obsidian: #, |, ^, %%, [[, ]].",forbiddenNameCharactersAllPlatforms:"Os nomes não podem começar com um ponto nem incluir : ou /.",forbiddenNameCharactersWindows:'Caracteres reservados do Windows não são permitidos: <, >, ", \\, |, ?, *.'},notices:{hideFolder:"Pasta oculta: {name}",showFolder:"Pasta exibida: {name}",mergeNotes:"{count} notas mescladas em {name}"},notifications:{deletedMultipleFiles:"{count} arquivos excluídos",movedMultipleFiles:"{count} arquivos movidos para {folder}",folderNoteConversionSuccess:'Arquivo convertido em nota de pasta em "{name}"',folderMoved:'Pasta "{name}" movida',deepLinkCopied:"URL do Obsidian copiada para a área de transferência",pathCopied:"Caminho copiado para a área de transferência",relativePathCopied:"Caminho relativo copiado para a área de transferência",tagAddedToNote:"Tag adicionada a 1 nota",tagAddedToNotes:"Tag adicionada a {count} notas",tagRemovedFromNote:"Tag removida de 1 nota",tagRemovedFromNotes:"Tag removida de {count} notas",tagsClearedFromNote:"Todas as tags removidas de 1 nota",tagsClearedFromNotes:"Todas as tags removidas de {count} notas",noTagsToRemove:"Sem tags para remover",noFilesSelected:"Nenhum arquivo selecionado",mergeNotesRequireMultipleMarkdown:"Selecione pelo menos duas notas Markdown para mesclar",tagOperationsNotAvailable:"Operações de tag não disponíveis",propertyOperationsNotAvailable:"Operações de propriedades não disponíveis",tagsRequireMarkdown:"Tags só são suportadas em notas Markdown",propertiesRequireMarkdown:"As propriedades só são suportadas em notas Markdown",propertySetOnNote:"Propriedade atualizada em 1 nota",propertySetOnNotes:"Propriedade atualizada em {count} notas",manualSortPropertyRemovedFromNote:"Propriedade de classificação removida de 1 nota",manualSortPropertyRemovedFromNotes:"Propriedade de classificação removida de {count} notas",iconPackDownloaded:"{provider} baixado",iconPackUpdated:"{provider} atualizado ({version})",iconPackRemoved:"{provider} removido",iconPackLoadFailed:"Falha ao carregar {provider}",hiddenFileReveal:'Arquivo está oculto. Ative "Mostrar itens ocultos" para exibi-lo'},confirmations:{deleteMultipleFiles:"Tem certeza de que deseja excluir {count} arquivos?",deleteConfirmation:"Esta ação não pode ser desfeita."},defaultNames:{untitled:"Sem título"}},dragDrop:{errors:{cannotMoveIntoSelf:"Não é possível mover uma pasta para dentro de si mesma ou de uma subpasta.",itemAlreadyExists:'Um item chamado "{name}" já existe neste local.',failedToMove:"Falha ao mover: {error}",failedToAddTag:'Falha ao adicionar tag "{tag}"',failedToSetProperty:"Falha ao atualizar propriedade: {error}",failedToClearTags:"Falha ao limpar tags",failedToMoveFolder:'Falha ao mover pasta "{name}"',failedToImportFiles:"Falha ao importar: {names}"},notifications:{filesAlreadyExist:"{count} arquivos já existem no destino",filesAlreadyHaveTag:"{count} arquivos já têm esta tag ou uma mais específica",filesAlreadyHaveProperty:"{count} arquivos já possuem esta propriedade",noTagsToClear:"Sem tags para remover",fileImported:"1 arquivo importado",filesImported:"{count} arquivos importados"}},dateGroups:{today:"Hoje",yesterday:"Ontem",previous7Days:"Últimos 7 dias",previous30Days:"Últimos 30 dias"},commands:{open:"Abrir",toggleLeftSidebar:"Alternar barra lateral esquerda",openHomepage:"Abrir página inicial",openDailyNote:"Abrir nota diária",openWeeklyNote:"Abrir nota semanal",openMonthlyNote:"Abrir nota mensal",openQuarterlyNote:"Abrir nota trimestral",openYearlyNote:"Abrir nota anual",revealFile:"Revelar arquivo",search:"Pesquisar",searchVaultRoot:"Pesquisar na raiz do cofre",toggleDualPane:"Alternar layout de painel duplo",toggleDualPaneOrientation:"Alternar orientação do painel duplo",toggleCalendar:"Alternar calendário",selectVaultProfile:"Alterar perfil do cofre",selectVaultProfile1:"Alterar para o perfil do cofre 1",selectVaultProfile2:"Alterar para o perfil do cofre 2",selectVaultProfile3:"Alterar para o perfil do cofre 3",deleteFile:"Excluir arquivos",createNewNote:"Criar nova nota",createNewNoteFromTemplate:"Nova nota a partir de modelo",moveFiles:"Mover arquivos",mergeNotes:"Mesclar notas",selectNextFile:"Selecionar próximo arquivo",selectPreviousFile:"Selecionar arquivo anterior",navigateBack:"Navegar para trás",navigateForward:"Navegar para frente",convertToFolderNote:"Converter em nota de pasta",setAsFolderNote:"Definir como nota de pasta",detachFolderNote:"Desvincular nota de pasta",pinAllFolderNotes:"Fixar todas as notas de pasta",navigateToFolder:"Navegar para pasta",navigateToTag:"Navegar para tag",navigateToProperty:"Navegar para propriedade",addShortcut:"Adicionar aos atalhos",openShortcut:"Abrir atalho {number}",toggleDescendants:"Alternar descendentes",toggleHidden:"Alternar pastas, tags e notas ocultas",toggleTagSort:"Alternar ordem de classificação de tags",toggleTagsBySelection:"Alternar tags por seleção",togglePropertiesBySelection:"Alternar propriedades por seleção",toggleCompactMode:"Alternar modo compacto",togglePinnedSection:"Alternar seção fixada",collapseExpand:"Recolher / expandir todos os itens",collapseExpandSelectedItem:"Recolher / expandir o item selecionado",addTag:"Adicionar tag aos arquivos selecionados",setProperty:"Definir propriedade nos arquivos selecionados",removeTag:"Remover tag dos arquivos selecionados",removeAllTags:"Remover todas as tags dos arquivos selecionados",openAllFiles:"Abrir todos os arquivos",rebuildCache:"Reconstruir cache"},plugin:{viewName:"Notebook Navigator",calendarViewName:"Calendário",folderNoteSidebarViewName:"Nota de pasta",ribbonTooltip:"Notebook Navigator",revealInNavigator:"Revelar no Notebook Navigator"},tooltips:{lastModifiedAt:"Última modificação em",createdAt:"Criado em",file:"arquivo",files:"arquivos",folder:"pasta",folders:"pastas",wordCount:"Contagem de palavras"},fileCounts:{words:"{count} palavras",characters:"{count} caracteres",separator:" · "},settings:{changeDefaultSettings:"Alterar configurações padrão",metadataReport:{exportSuccess:"Relatório de metadados com falhas exportado para: {filename}",exportFailed:"Falha ao exportar relatório de metadados"},sections:{general:"Geral",vaultFilters:"Filtros de exibição",appearanceBehavior:"Aparência e comportamento",navigationPane:"Painel de navegação",calendar:"Calendário",fileOperations:"Operações de arquivo",icons:"Pacotes de ícones",folders:"Pastas",folderNotes:"Notas de pasta",folderNoteFiles:"Arquivos de notas de pasta",foldersAndFolderNotes:"Pastas e notas de pasta",tagsAndProperties:"Tags e propriedades",tags:"Tags",listPane:"Painel de lista",notes:"Exibição de arquivos",shortcutsAndRecentFiles:"Atalhos e arquivos recentes",advanced:"Avançado"},pageGroups:{configuration:"Configuração",navigationAndContent:"Painel de navegação",notesAndLists:"Painel de lista",calendarAndTools:"Calendário e ferramentas"},pageDescriptions:{general:"Notas de versão, suporte, perfil do cofre, tipos de arquivo e chaves de propriedades.",vaultFilters:"Pastas, tags, arquivos, tags de arquivo e regras de propriedades ocultas.",appearanceBehavior:"Comportamento, navegação por teclado, botões do mouse, aparência e formatação.",navigationPane:"Layout, aparência, contagem de notas, comportamento de recolhimento e cores arco-íris.",shortcuts:"Visibilidade de atalhos, distintivos, arquivos recentes e itens fixados.",calendar:"Exibição do calendário, notas de data, modelos, localidade e posicionamento da barra lateral.",fileOperations:"Modelos, confirmações de exclusão, anexos e comportamento de conflito ao mover arquivos.",foldersAndFolderNotes:"Exibição de pastas, notas de pasta, modelos de notas de pasta e comportamento das notas de pasta.",tagsProperties:"Seções de tags e propriedades, ícones, classificação, escopo e herança.",listPane:"Classificação, agrupamento, modos de lista, notas fixadas e pré-visualizações de desenhos.",frontmatter:"Campos de frontmatter para nomes de exibição, carimbos de data/hora, ícones e cores.",notes:"Títulos, texto de pré-visualização, imagens de destaque, tags, propriedades, datas, contagem de palavras e contagem de caracteres.",iconPacks:"Ícones de interface, ícones de arquivo e gerenciamento de pacotes de ícones.",advanced:"Diagnóstico, limpeza de metadados, importação/exportação e redefinição."},groups:{general:{vaultConfiguration:"Configuração do cofre",templates:"Modelos",behavior:"Comportamento",keyboardNavigation:"Navegação por teclado",mouseButtons:"Botões do mouse",view:"Aparência",icons:"Ícones",desktopAppearance:"Aparência do desktop",mobileAppearance:"Aparência móvel",formatting:"Formatação"},advanced:{maintenance:"Manutenção",resetSettings:"Redefinir configurações"},navigation:{appearance:"Aparência",banner:"Banner",collapseItems:"Recolher itens",dragAndDrop:"Arrastar e soltar",noteCounts:"Contagens de notas",rainbowColors:"Cores arco-íris",leftSidebar:"Barra lateral esquerda",calendarIntegration:"Integração do calendário"},list:{display:"Aparência",groupHeaders:"Cabeçalhos de grupo",propertySort:"Classificação por propriedade",manualSort:"Classificação manual",pinnedNotes:"Notas fixadas",drawingPreviews:"Pré-visualizações de desenhos"},notes:{frontmatter:"Campos de frontmatter",tasks:"Tarefas",icon:"Ícone",title:"Título",previewText:"Texto de pré-visualização",featureImage:"Imagem de destaque",tags:"Tags",properties:"Propriedades",date:"Data",parentFolder:"Pasta superior",wordCount:"Contagem de palavras e caracteres"}},syncMode:{notSynced:"(não sincronizado)",switchToSynced:"Ativar sincronização",switchToLocal:"Desativar sincronização"},items:{listPaneTitle:{name:"Título do painel de lista",desc:"Escolha onde o título do painel de lista é mostrado.",options:{header:"Mostrar no cabeçalho",list:"Mostrar no painel de lista",hidden:"Não mostrar"}},sortNotesBy:{name:"Ordem de classificação padrão",desc:"Escolha a ordem de classificação padrão para as notas.",options:{"modified-desc":"Data de edição (mais recente no topo)","modified-asc":"Data de edição (mais antiga no topo)","created-desc":"Data de criação (mais recente no topo)","created-asc":"Data de criação (mais antiga no topo)","title-asc":"Título (A no topo)","title-desc":"Título (Z no topo)","filename-asc":"Nome do arquivo (A no topo)","filename-desc":"Nome do arquivo (Z no topo)"},directions:{asc:"Ascendente",desc:"Descendente"},fields:{modified:"Data de edição",created:"Data de criação",title:"Título",filename:"Nome do arquivo",property:"Propriedade"}},propertySortKey:{name:"Propriedades para ordenar",desc:"Propriedades frontmatter separadas por vírgulas exibidas como opções de classificação por propriedade. Valores em array são unidos em uma única string. Essas propriedades não são alteradas.",placeholder:"published, author"},propertySortSecondary:{name:"Ordenação secundária",desc:"Usada com a ordenação por propriedade quando as notas têm o mesmo valor de propriedade ou não têm valor.",options:{title:"Título",filename:"Nome do arquivo",created:"Data de criação",modified:"Data de edição"}},propertySortInstructions:{intro:"Cada propriedade listada acima aparece como uma opção de classificação no menu de ordenação no painel de lista. Selecionar uma classifica as notas pelo valor do frontmatter."},manualSortPropertyKey:{name:"Propriedade da classificação manual",desc:"Propriedade frontmatter usada para armazenar valores numéricos de índice para a classificação manual."},manualSortGroupHeaderProperty:{name:"Propriedade do cabeçalho de grupo",desc:"Propriedade frontmatter usada para armazenar cabeçalhos personalizados de grupo."},groupHeadersInstructions:{intro:"Cabeçalhos personalizados de grupo são exibidos acima das notas no painel de lista.",items:["No menu de ordenação no painel de lista, defina o agrupamento como **Personalizado**.","Clique com o botão direito em uma nota e escolha **Definir cabeçalho de grupo** para adicionar um cabeçalho acima dela."]},manualSortNewNotePlacement:{name:"Posicionamento de novas notas",desc:"Escolha onde as novas notas são colocadas quando a lista atual usa classificação manual.",options:{top:"Topo",bottom:"Final","below-selected-note":"Abaixo da nota selecionada",unsorted:"Não classificadas"}},confirmBeforeManualSort:{name:"Confirmar antes da classificação manual",desc:"Mostrar um aviso antes de gravar a propriedade de classificação manual nas notas pela primeira vez. Quando desativado, as notas recebem a propriedade sem aviso."},manualSortInstructions:{intro:"A classificação manual grava um valor numérico de índice em uma propriedade frontmatter de cada nota. Notas sem índice aparecem em Não classificadas.",items:["Ative a classificação manual escolhendo **Classificação manual** no menu de ordenação. Depois disso, há duas formas de reorganizar as notas.","Escolha **Editar ordem de classificação...** no menu de ordenação para abrir uma visualização de reordenação. Arraste notas com o mouse ou com toque no celular. No desktop, **Cmd/Ctrl** ou **Shift** clique seleciona várias notas, e arrastar qualquer uma delas move o grupo inteiro.","No painel de lista, selecione uma nota ou várias com seleção múltipla e pressione **Cmd/Ctrl + Arrow Up/Down** para mover a seleção para cima ou para baixo."]},revealFileOnListChanges:{name:"Rolar para o arquivo selecionado em mudanças da lista",desc:"Rolar para o arquivo selecionado ao fixar notas, mostrar notas descendentes, mudar aparência de pastas ou executar operações de arquivo."},includeDescendantNotes:{name:"Mostrar notas de subpastas / descendentes",desc:"Incluir notas de subpastas aninhadas e descendentes de tags e propriedades ao visualizar uma pasta, tag ou propriedade."},limitPinnedToCurrentFolder:{name:"Fixar notas apenas na sua pasta",desc:"Notas fixadas aparecem fixadas apenas na sua própria pasta. Útil para notas de pasta ou se você tem muitas notas fixadas. Não afeta as visualizações de tags ou propriedades."},separateNoteCounts:{name:"Mostrar contagens de notas atuais e descendentes separadamente",desc:'Exibir contagens de notas no formato "atual ▾ descendentes" para pastas, tags e propriedades.'},groupNotes:{name:"Agrupamento padrão",desc:"Personalizado mostra cabeçalhos definidos no frontmatter. Data agrupa as notas por data. Pasta agrupa as notas por pasta. Visualizações de tag e propriedade usam grupos de data quando uma pasta está selecionada.",options:{custom:"Personalizado",date:"Data",folder:"Pasta"}},showSelectedNavigationPills:{name:"Sempre mostrar todas as etiquetas e propriedades",desc:'Quando desativado, as etiquetas que correspondem à seleção de navegação atual ficam ocultas (por exemplo, a etiqueta "receitas" fica oculta ao navegar na etiqueta "receitas"). Ative para manter todas as etiquetas visíveis.'},stickyGroupHeaders:{name:"Cabeçalhos de grupo fixos",desc:"Mantém o cabeçalho atual de data, pasta ou seção fixada visível ao rolar."},showFolderGroupPaths:{name:"Mostrar caminhos das subpastas",desc:"Ao agrupar por pasta no painel de lista, exibir caminhos das subpastas em vez de apenas nomes de pastas."},showCurrentFolderFilesAtBottom:{name:"Agrupamento por pasta: arquivos da pasta atual embaixo",desc:"Quando o agrupamento padrão for Pasta, mova os arquivos diretamente na pasta selecionada para baixo dos grupos de subpastas."},defaultListMode:{name:"Modo padrão da lista",desc:"Selecione o layout padrão da lista. Padrão mostra título, data, descrição e texto de visualização. Compacto mostra apenas o título. A aparência pode ser substituída por pasta.",options:{standard:"Padrão",compact:"Compacto"}},showFileIcons:{name:"Mostrar ícones de arquivo",desc:"Exibir ícones de arquivo com espaçamento alinhado à esquerda. Desativar remove tanto ícones quanto recuo. Prioridade: ícone de tarefas inacabadas > ícone personalizado > ícone de pasta > ícone de nome de arquivo > ícone de tipo de arquivo > ícone padrão."},useFolderIcon:{name:"Usar ícone de pasta",desc:"Exibir o ícone da pasta pai quando não há um ícone de arquivo personalizado definido. A cor da pasta é usada quando não há uma cor de arquivo personalizada definida."},showFileIconUnfinishedTask:{name:"Ícone de tarefas inacabadas",desc:"Exibir um ícone de tarefa quando uma nota possui tarefas inacabadas."},showFileBackgroundUnfinishedTask:{name:"Fundo de tarefas inacabadas",desc:"Aplicar uma cor de fundo quando uma nota possui tarefas inacabadas."},unfinishedTaskBackgroundColor:{name:"Cor de fundo de tarefas inacabadas",desc:"Definir a cor de fundo usada quando uma nota possui tarefas inacabadas."},showFilenameMatchIcons:{name:"Ícones por nome de arquivo",desc:"Atribuir ícones a arquivos com base no texto em seus nomes."},fileNameIconMap:{name:"Mapa de ícones por nome",desc:"Os arquivos contendo o texto recebem o ícone especificado. Um mapeamento por linha: texto=ícone",placeholder:`# texto=ícone
reunião=ph-calendar
fatura=ph-receipt`,editTooltip:"Editar mapeamentos"},showCategoryIcons:{name:"Ícones por tipo de arquivo",desc:"Atribuir ícones a arquivos com base em sua extensão."},fileTypeIconPreset:{name:"Predefinição de ícones de arquivo",desc:"Escolha os ícones integrados ou uma predefinição de pacote de ícones. Regras de extensão personalizadas substituem esta predefinição.",options:{none:"Ícones integrados"},notInstalledWarning:"Este pacote de ícones não está instalado. Em vez disso, os ícones integrados são exibidos."},fileTypeIconMap:{name:"Mapa de ícones por tipo",desc:"Os arquivos com a extensão recebem o ícone especificado. Um mapeamento por linha: extensão=ícone",placeholder:`# Extension=icon
cpp=ph-file-code
pdf=ph-file-pdf`,editTooltip:"Editar mapeamentos"},compactItemHeight:{name:"Altura do item compacto",desc:"Defina a altura dos itens de lista compactos no desktop e celular (pixels).",resetTooltip:"Restaurar para padrão (28px)"},compactItemHeightScaleText:{name:"Dimensionar texto com altura do item compacto",desc:"Dimensionar texto da lista compacta quando a altura do item é reduzida."},showParentFolder:{name:"Mostrar pasta pai",desc:"Exibir o nome da pasta pai para notas em subpastas, tags ou propriedades."},showParentFolderFullPath:{name:"Mostrar caminho completo",desc:"Exibir o caminho completo da pasta pai em vez de apenas o nome da pasta."},parentFolderClickRevealsFile:{name:"Clique na pasta pai abre pasta",desc:"Clicar no rótulo da pasta pai abre a pasta no painel de lista."},showParentFolderColor:{name:"Mostrar cor de pasta pai",desc:"Usar cores de pasta em rótulos de pastas pai."},showParentFolderIcon:{name:"Mostrar ícone da pasta pai",desc:"Mostrar ícones de pasta ao lado dos rótulos de pastas pai."},showQuickActions:{name:"Mostrar ações rápidas",desc:"Mostrar botões de ação ao passar sobre arquivos. Controles de botão selecionam quais ações aparecem."},dualPane:{name:"Layout de painel duplo",desc:"Mostrar painel de navegação e painel de lista lado a lado no desktop."},dualPaneOrientation:{name:"Orientação do painel duplo",desc:"Escolha layout horizontal ou vertical quando o painel duplo estiver ativo.",options:{horizontal:"Divisão horizontal",vertical:"Divisão vertical"}},narrowSidebarLayout:{name:"Quando a barra lateral está estreita demais",desc:"Escolha o que acontece quando o painel de navegação e o painel de lista não cabem lado a lado.",options:{none:"Não fazer nada",singlePane:"Mudar para painel único",vertical:"Mudar para divisão vertical"}},narrowSidebarTrigger:{name:"Limite de barra lateral estreita",desc:"Escolha como o limite de largura da barra lateral é calculado.",options:{fitPanes:"Ajustar painéis",customWidth:"Largura personalizada"}},narrowSidebarCustomWidth:{name:"Largura do limite de barra lateral estreita",desc:"Mudar quando a barra lateral estiver mais estreita que esta largura.",resetTooltip:"Redefinir para a largura padrão"},appearanceBackground:{name:"Cor de fundo",desc:"Escolha cores de fundo para painéis de navegação e lista.",options:{separate:"Fundos separados",primary:"Usar fundo da lista",secondary:"Usar fundo da navegação"}},appearanceScale:{name:"Nível de zoom",desc:"Controla o nível de zoom geral do Notebook Navigator (porcentagem)."},useFloatingToolbars:{name:"Usar barras de ferramentas flutuantes no iOS/iPadOS",desc:"Aplica-se apenas ao iOS e iPadOS."},startView:{name:"Visualização inicial padrão",desc:"Escolha qual painel exibir ao abrir o Notebook Navigator. O painel de navegação mostra atalhos, arquivos recentes e árvore de pastas. O painel de lista mostra a lista de arquivos imediatamente.",options:{navigation:"Painel de navegação",files:"Painel de lista"}},toolbarButtons:{name:"Botões da barra de ferramentas",desc:"Escolha quais botões aparecem na barra de ferramentas. Botões ocultos permanecem acessíveis via comandos e menus.",navigationLabel:"Barra de navegação",listLabel:"Barra de lista"},createNewNotesInNewTab:{name:"Abrir novas notas em nova aba",desc:"Quando ativado, o comando Criar nova nota abre as notas em uma nova aba. Quando desativado, as notas substituem a aba atual."},autoRevealActiveNote:{name:"Revelar automaticamente a nota ativa",desc:"Revelar automaticamente notas quando abertas pelo Alternador Rápido, links ou pesquisa."},autoRevealShortestPath:{name:"Revelação automática: Usar caminho mais curto",desc:"Ativado: A revelação automática seleciona a pasta ancestral ou tag visível mais próxima. Desativado: A revelação automática seleciona a pasta real do arquivo e a tag exata."},autoRevealIgnoreRightSidebar:{name:"Revelação automática: Ignorar eventos da barra lateral direita",desc:"Não alterar a nota ativa ao clicar ou alterar notas na barra lateral direita."},autoRevealIgnoreOtherWindows:{name:"Revelação automática: Ignorar eventos de outras janelas",desc:"Não alterar a nota ativa ao trabalhar com notas em uma janela diferente."},paneTransitionDuration:{name:"Animação de painel único",desc:"Duração da transição ao alternar entre painéis no modo de painel único (milissegundos).",resetTooltip:"Restaurar padrão"},autoSelectFirstFileOnFocusChange:{name:"Selecionar automaticamente a primeira nota",desc:"Abrir automaticamente a primeira nota ao alternar pastas, tags ou propriedades."},skipAutoScroll:{name:"Desativar rolagem automática para atalhos",desc:"Não rolar o painel de navegação ao clicar em itens nos atalhos."},autoExpandNavItems:{name:"Expandir ao selecionar",desc:"Expandir pastas e tags ao selecionar. No modo de painel único, a primeira seleção expande, a segunda mostra arquivos."},collapseOtherBranchesOnExpand:{name:"Uma ramificação expandida",desc:"Recolher outras ramificações na mesma árvore ao expandir uma pasta, tag ou propriedade."},springLoadedFolders:{name:"Expandir ao arrastar",desc:"Expandir pastas e tags ao passar o mouse sobre elas durante o arraste."},springLoadedFoldersInitialDelay:{name:"Expandir ao arrastar: Atraso da primeira expansão",desc:"Atraso antes de expandir a primeira pasta ou tag durante um arraste (segundos)."},springLoadedFoldersSubsequentDelay:{name:"Expandir ao arrastar: Atraso das expansões seguintes",desc:"Atraso antes de expandir pastas ou tags adicionais durante o mesmo arraste (segundos)."},navigationBanner:{name:"Banner de navegação (perfil de cofre)",desc:"Exibir uma imagem acima do painel de navegação. Muda com o perfil de cofre selecionado.",current:"Banner atual: {path}",chooseButton:"Escolher imagem"},pinNavigationBanner:{name:"Fixar banner",desc:"Fixar o banner de navegação acima da árvore de navegação."},showShortcuts:{name:"Mostrar atalhos",desc:"Exibir a seção de atalhos no painel de navegação."},shortcutBadgeDisplay:{name:"Distintivo de atalho",desc:"O que exibir ao lado dos atalhos. Use os comandos 'Abrir atalho 1-9' para abrir atalhos diretamente.",options:{index:"Posição (1-9)",count:"Contagem de itens",none:"Nenhum"}},showRecentNotes:{name:"Mostrar arquivos recentes",desc:"Exibir a seção de arquivos recentes no painel de navegação."},hideRecentNotes:{name:"Ocultar tipos de arquivos dos arquivos recentes",desc:"Escolher os tipos de arquivos a ocultar na seção de arquivos recentes.",options:{none:"Nenhum",folderNotes:"Notas de pasta"}},recentNotesCount:{name:"Contagem de arquivos recentes",desc:"Número de arquivos recentes a exibir."},pinRecentNotesWithShortcuts:{name:"Fixar arquivos recentes com atalhos",desc:"Incluir arquivos recentes quando os atalhos estiverem fixados."},calendarEnabled:{name:"Ativar calendário",desc:"Ativar funcionalidades de calendário do Notebook Navigator."},calendarPlacement:{name:"Posição do calendário",desc:"Exibir na barra lateral esquerda ou direita.",options:{leftSidebar:"Barra lateral esquerda",rightSidebar:"Barra lateral direita"}},calendarLeftPlacement:{name:"Posicionamento em painel único",desc:"Onde o calendário é exibido no modo de painel único.",options:{navigationPane:"Painel de navegação",below:"Abaixo dos painéis"}},calendarLocale:{name:"Idioma",desc:"Controla a formatação das datas do calendário, a numeração das semanas e o primeiro dia da semana.",weekPathMismatchWarning:"O calendário visível e os caminhos das notas semanais usam inícios de semana ou numeração de semana diferentes.",options:{systemDefault:"Padrão"}},calendarWeekendDays:{name:"Dias de fim de semana",desc:"Mostrar dias de fim de semana com uma cor de fundo diferente.",options:{none:"Nenhum",satSun:"Sábado e domingo",friSat:"Sexta-feira e sábado",thuFri:"Quinta-feira e sexta-feira"}},calendarMonthHeadingFormat:{name:"Formato do nome do mês",desc:"Nome do mês completo (janeiro) ou abreviado (jan).",options:{full:"janeiro (completo)",short:"jan (curto)"}},showInfoButtons:{name:"Mostrar botões de informação",desc:"Exibir botões de informação na barra de pesquisa e no cabeçalho do calendário."},calendarWeeksToShow:{name:"Semanas a exibir na barra lateral esquerda",desc:"O calendário na barra lateral direita sempre exibe o mês completo.",options:{fullMonth:"Mês completo",oneWeek:"1 semana",weeksCount:"{count} semanas"}},calendarHighlightToday:{name:"Destacar a data de hoje",desc:"Destacar a data de hoje com uma cor de fundo e texto em negrito."},calendarShowFeatureImage:{name:"Mostrar imagem de destaque",desc:"Mostrar imagens de destaque das notas no calendário."},calendarShowWeekNumber:{name:"Mostrar número da semana",desc:"Adicionar uma coluna com o número da semana."},calendarShowQuarter:{name:"Mostrar trimestre",desc:"Adicionar uma etiqueta de trimestre no cabeçalho do calendário."},calendarShowYearCalendar:{name:"Mostrar calendário anual",desc:"Exibir navegação anual e grade de meses na barra lateral direita."},calendarConfirmBeforeCreate:{name:"Confirmar antes de criar",desc:"Mostrar uma caixa de diálogo de confirmação ao criar uma nova nota diária."},calendarIntegrationMode:{name:"Fonte de notas diárias",desc:"Fonte para notas do calendário.",options:{dailyNotes:"Notas diárias (plug-in principal)",notebookNavigator:"Notebook Navigator"},info:{dailyNotes:"Pasta e formato de data são configurados no plugin Daily Notes."}},calendarPeriodicNotesLocale:{name:"Idioma das notas periódicas",desc:"Controla nomes de meses, nomes de dias da semana, números de semana e inícios de semana localizados nos caminhos das notas periódicas do Notebook Navigator.",options:{calendar:"Calendário",obsidian:"Obsidian"}},calendarCustomRootFolder:{name:"Pasta raiz",desc:"Pasta base para notas periódicas. Padrões de data podem incluir subpastas. Muda com o perfil do cofre selecionado.",placeholder:"Personal/Diary"},calendarTemplateFolder:{name:"Localização da pasta de modelos",desc:"O seletor de arquivos de modelo mostra notas desta pasta.",placeholder:"Templates",usage:"Usada por notas de calendário e notas de pasta. Configure os modelos em Calendário > Integração do calendário e Pastas e notas de pasta > Arquivos de notas de pasta."},calendarCustomFilePattern:{name:"Notas diárias",desc:"Formatar caminho usando formato de data Moment. Coloque nomes de subpastas entre colchetes, ex. [Work]/YYYY. Clique no ícone de modelo para definir um modelo. Definir localização da pasta de modelos em Operações de arquivo > Modelos.",momentDescPrefix:"Formatar caminho usando ",momentLinkText:"formato de data Moment",momentDescSuffix:". Coloque nomes de subpastas entre colchetes, ex. [Work]/YYYY. Clique no ícone de modelo para definir um modelo. Definir localização da pasta de modelos em Operações de arquivo > Modelos.",templaterSupportInstalled:"✅ O plugin Templater está instalado com suporte completo a modelos.",templaterSupportMissing:"⚠️ Instale o plugin Templater para suporte completo a modelos.",placeholder:"YYYY/YYYYMMDD",example:"Sintaxe atual: {path}",parsingError:"O padrão deve ser formatado e analisado novamente como uma data completa (ano, mês, dia)."},calendarCustomWeekPattern:{name:"Notas semanais",parsingError:"O padrão deve ser formatado e analisado novamente como uma semana completa (ano da semana, número da semana).",weekPathMismatchWarning:'Os caminhos das notas semanais usam o idioma das notas periódicas. Use idiomas correspondentes ou use "GGGG" com "WW" para semanas baseadas na segunda-feira.',mixedWeekTokensWarning:'Este padrão mistura tokens de semana baseados na segunda-feira ("W" ou "G") com tokens de semana baseados no idioma ("w" ou "g"). Use um conjunto de forma consistente: "GGGG" com "WW" para semanas baseadas na segunda-feira, ou "gggg" com "ww" se as notas semanais devem seguir o idioma selecionado.'},calendarCustomMonthPattern:{name:"Notas mensais",parsingError:"O padrão deve ser formatado e analisado novamente como um mês completo (ano, mês)."},calendarCustomQuarterPattern:{name:"Notas trimestrais",parsingError:"O padrão deve ser formatado e analisado novamente como um trimestre completo (ano, trimestre)."},calendarCustomYearPattern:{name:"Notas anuais",parsingError:"O padrão deve ser formatado e analisado novamente como um ano completo (ano)."},calendarTemplateFile:{current:"Arquivo de modelo: {name}"},showTooltips:{name:"Mostrar dicas",desc:"Exibir dicas de ferramentas ao passar o mouse com informações adicionais para notas e pastas."},showTooltipPath:{name:"Mostrar caminho nas dicas de ferramentas",desc:"Exibir o caminho da pasta abaixo dos nomes de notas nas dicas de ferramentas."},showTooltipWordCount:{name:"Mostrar contagem de palavras nas dicas de ferramentas",desc:"Exibir a contagem de palavras das notas nas dicas de ferramentas."},resetPaneSeparator:{name:"Redefinir posição do separador de painéis",desc:"Redefinir o separador arrastável entre o painel de navegação e o painel de lista para a posição padrão.",buttonText:"Redefinir separador",notice:"Posição do separador redefinida. Reinicie o Obsidian ou reabra o Notebook Navigator para aplicar."},settingsTransfer:{name:"Importar e exportar configurações",desc:"Exportar ou importar configurações do Notebook Navigator como JSON. A importação substitui todas as configurações.",importButtonText:"Importar",exportButtonText:"Exportar",import:{modalTitle:"Importar configurações",fileButtonName:"Importar de arquivo",fileButtonDesc:"Carregar um arquivo JSON do disco.",fileButtonText:"Importar de arquivo",editorName:"JSON",editorDesc:"Cole ou edite o JSON abaixo. As configurações não incluídas são redefinidas para os valores padrão.",placeholder:`{
  "folderSortOrder": "alpha-desc"
}`,confirmButtonText:"Importar",successNotice:"Configurações importadas.",errorNotice:"Falha ao importar configurações: {message}",fileReadError:"Não foi possível ler o arquivo: {message}"},export:{modalTitle:"Exportar configurações",editorName:"JSON",editorDesc:"Apenas as configurações alteradas em relação aos valores padrão são incluídas.",placeholder:"{}",copyButtonText:"Copiar para a área de transferência",downloadButtonText:"Baixar",copyNotice:"Configurações copiadas para a área de transferência.",downloadNotice:"Configurações exportadas.",downloadError:"Falha ao baixar configurações: {message}"}},resetAllSettings:{name:"Redefinir todas as configurações",desc:"Redefinir todas as configurações do Notebook Navigator para os valores padrão.",buttonText:"Redefinir todas as configurações",confirmTitle:"Redefinir todas as configurações?",confirmMessage:"Isso redefinirá todas as configurações do Notebook Navigator para os valores padrão. Não pode ser desfeito.",confirmButtonText:"Redefinir todas as configurações",notice:"Configurações redefinidas. Reinicie o Obsidian ou reabra o Notebook Navigator para aplicar.",error:"Falha ao redefinir as configurações."},multiSelectModifier:{name:"Modificador de seleção múltipla",desc:"Escolha qual tecla modificadora alterna a seleção múltipla. Quando Opção/Alt está selecionado, Cmd/Ctrl clique abre notas em uma nova aba.",options:{cmdCtrl:"Cmd/Ctrl clique",optionAlt:"Opção/Alt clique"}},enterToOpenFiles:{name:"Pressionar Enter para abrir arquivos",desc:"Abrir arquivos apenas ao pressionar Enter durante a navegação por teclado na lista. No macOS, isso impede que Enter renomeie arquivos."},shiftEnterOpenContext:{name:"Shift+Enter",desc:"Escolha se Shift+Enter abre ou renomeia o arquivo selecionado."},cmdEnterOpenContext:{name:"Cmd+Enter",desc:"Escolha se Cmd+Enter abre ou renomeia o arquivo selecionado."},ctrlEnterOpenContext:{name:"Ctrl+Enter",desc:"Escolha se Ctrl+Enter abre ou renomeia o arquivo selecionado."},mouseBackForwardAction:{name:"Botões voltar/avançar do mouse",desc:"Ação dos botões voltar e avançar do mouse no desktop.",options:{none:"Usar padrão do sistema",singlePaneSwitch:"Alternar painéis (painel único)",history:"Navegar no histórico"}},fileVisibility:{name:"Mostrar tipos de arquivo (perfil do cofre)",desc:"Filtrar quais tipos de arquivo são mostrados no navegador. Tipos de arquivo não suportados pelo Obsidian podem abrir em aplicativos externos.",options:{documents:"Documentos (.md, .canvas, .base)",supported:"Suportados (abre no Obsidian)",all:"Todos (pode abrir externamente)"}},homepage:{name:"Página inicial",desc:"Escolha o que o Notebook Navigator abre automaticamente ao iniciar.",current:"Atual: {path}",chooseButton:"Escolher arquivo",options:{none:"Nenhum",file:"Arquivo",dailyNote:"Nota diária",weeklyNote:"Nota semanal",monthlyNote:"Nota mensal",quarterlyNote:"Nota trimestral",yearlyNote:"Nota anual"},file:{name:"Página inicial: Arquivo de inicialização",empty:"Nenhum arquivo selecionado"},createMissing:{name:"Página inicial: Criar nota se não existir",desc:"Cria a nota periódica ao iniciar ou via comando se não existir."}},excludedNotes:{name:"Ocultar notas com regras de propriedade (perfil do cofre)",desc:"Lista separada por vírgulas de regras de frontmatter. Use entradas `key` ou `key=value` (por exemplo, status=done, published=true, archived).",placeholder:"status=done, published=true, archived"},excludedFileNamePatterns:{name:"Ocultar arquivos (perfil do cofre)",desc:"Lista separada por vírgulas de padrões de nomes de arquivos para ocultar. Suporta curingas * e caminhos / (por exemplo, temp-*, *.png, /assets/*).",placeholder:"temp-*, *.png, /assets/*"},vaultProfiles:{name:"Perfil do cofre",desc:"Perfis armazenam visibilidade de tipos de arquivo, arquivos ocultos, pastas ocultas, tags ocultas, regras de propriedades para notas ocultas, atalhos e banner de navegação. Alterne perfis pelo cabeçalho do painel de navegação.",defaultName:"Padrão",addButton:"Adicionar perfil",editProfilesButton:"Editar perfis",addProfileOption:"Adicionar perfil...",applyButton:"Aplicar",deleteButton:"Excluir perfil",addModalTitle:"Adicionar perfil",editProfilesModalTitle:"Editar perfis",addModalPlaceholder:"Nome do perfil",deleteModalTitle:"Excluir {name}",deleteModalMessage:"Remover {name}? Os filtros de arquivos, pastas, tags e notas baseados em propriedades salvos neste perfil serão excluídos.",moveUp:"Mover para cima",moveDown:"Mover para baixo",errors:{emptyName:"Digite um nome de perfil",duplicateName:"Nome do perfil já existe"}},vaultTitle:{name:"Posição do título do cofre",desc:"Escolha onde o título do cofre é mostrado.",options:{header:"Mostrar no cabeçalho",navigation:"Mostrar no painel de navegação"}},excludedFolders:{name:"Ocultar pastas (perfil do cofre)",desc:"Lista separada por vírgulas de pastas a ocultar. Padrões de nome: assets* (pastas que começam com assets), *_temp (terminam com _temp). Padrões de caminho: /arquivo (apenas arquivo raiz), /res* (pastas raiz que começam com res), /*/temp (pastas temp um nível abaixo), /projetos/* (todas as pastas dentro de projetos).",placeholder:"modelos, assets*, /arquivo, /res*"},showFileDate:{name:"Mostrar data",desc:"Exibir a data abaixo dos nomes das notas."},alphabeticalDateMode:{name:"Ao ordenar por nome",desc:"Data a mostrar quando as notas são ordenadas alfabeticamente.",options:{created:"Data de criação",modified:"Data de modificação"}},showFileTags:{name:"Mostrar tags de arquivo",desc:"Exibir tags clicáveis em itens de arquivo."},showFileTagAncestors:{name:"Mostrar caminhos completos de tags",desc:"Exibir caminhos completos da hierarquia de tags. Ativado: 'ai/openai', 'trabalho/projetos/2024'. Desativado: 'openai', '2024'."},colorFileTags:{name:"Colorir tags de arquivo",desc:"Aplicar cores de tag aos emblemas de tag em itens de arquivo."},prioritizeColoredFileTags:{name:"Mostrar tags coloridas primeiro",desc:"Ordena as tags coloridas antes das outras tags nos itens de arquivo."},showFileTagsInCompactMode:{name:"Mostrar tags de arquivo no modo compacto",desc:"Exibir tags quando data, visualização e imagem estão ocultas."},showFileProperties:{name:"Mostrar propriedades de arquivo",desc:'Exibir propriedades nos itens de arquivo. Use o diálogo "Visibilidade das chaves de propriedade" para escolher quais propriedades são mostradas.'},colorFileProperties:{name:"Colorir propriedades de arquivo",desc:"Aplicar cores de propriedade aos emblemas de propriedade nos itens de arquivo."},prioritizeColoredFileProperties:{name:"Mostrar propriedades coloridas primeiro",desc:"Ordenar propriedades coloridas antes de outras propriedades nos itens de arquivo."},showFilePropertiesInCompactMode:{name:"Mostrar propriedades no modo compacto",desc:"Exibir propriedades quando o modo compacto está ativo."},textCountDisplay:{name:"Tipo de contagem",desc:"Escolha quais contagens da nota aparecem nos itens de arquivo.",options:{none:"Nenhuma",words:"Contagem de palavras",characters:"Contagem de caracteres",both:"Contagem de palavras e caracteres"}},textCountPlacement:{name:"Posicionamento",desc:"Escolha onde as contagens da nota aparecem.",options:{title:"No título",property:"Como propriedade"}},characterCountSpaces:{name:"Contagem de caracteres",desc:"Escolha se os espaços são incluídos na contagem de caracteres.",options:{include:"Incluindo espaços",exclude:"Excluindo espaços"}},wordCountTargetProperty:{name:"Propriedade alvo",desc:"Chave da propriedade frontmatter que contém a contagem de palavras alvo. Deixe em branco para ocultar alvos."},showWordCountPercentage:{name:"Mostrar porcentagem da meta",desc:"Mostrar apenas a porcentagem de progresso quando houver uma contagem de palavras alvo disponível."},propertyFields:{name:"Chaves de propriedades (perfil do cofre)",desc:"Chaves de propriedades de metadados, com visibilidade por chave para navegação e lista de arquivos.",addButtonTooltip:"Configurar chaves de propriedade",noneConfigured:"Nenhuma propriedade configurada",singleConfigured:"1 propriedade configurada: {properties}",multipleConfigured:"{count} propriedades configuradas: {properties}"},showPropertiesOnSeparateRows:{name:"Mostrar propriedades em linhas separadas",desc:"Mostrar cada propriedade na sua própria linha."},enablePropertyInternalLinks:{name:"Vincular etiquetas de propriedade a notas",desc:"Clique em uma etiqueta de propriedade para abrir a nota vinculada."},enablePropertyExternalLinks:{name:"Vincular etiquetas de propriedade a URLs",desc:"Clique em uma etiqueta de propriedade para abrir a URL vinculada."},dateFormat:{name:"Formato de data",desc:"Formato para exibir datas (usa formato Moment).",placeholder:"DD/MM/YYYY",help:`Formatos comuns:
DD/MM/YYYY = 25/05/2022
D [de] MMMM [de] YYYY = 25 de maio de 2022
YYYY-MM-DD = 2022-05-25

Tokens:
YYYY/YY = ano
MMMM/MMM/MM = mês
DD/D = dia
dddd/ddd = dia da semana`,helpTooltip:"Formato usando Moment",momentLinkText:"formato Moment"},timeFormat:{name:"Formato de hora",desc:"Formato para exibir horas (usa formato Moment).",placeholder:"HH:mm",help:`Formatos comuns:
h:mm a = 2:30 PM (12 horas)
HH:mm = 14:30 (24 horas)
h:mm:ss a = 2:30:45 PM
HH:mm:ss = 14:30:45

Tokens:
HH/H = 24 horas
hh/h = 12 horas
mm = minutos
ss = segundos
a = AM/PM`,helpTooltip:"Formato usando Moment",momentLinkText:"formato Moment"},showFilePreview:{name:"Mostrar visualização de nota",desc:"Exibir texto de visualização abaixo dos nomes das notas."},skipHeadingsInPreview:{name:"Pular cabeçalhos na visualização",desc:"Pular linhas de cabeçalho ao gerar texto de visualização."},skipCodeBlocksInPreview:{name:"Pular blocos de código na visualização",desc:"Pular blocos de código ao gerar texto de visualização."},stripHtmlInPreview:{name:"Remover HTML nas visualizações",desc:"Remover tags HTML do texto de visualização. Pode afetar o desempenho em notas grandes."},stripLatexInPreview:{name:"Remover LaTeX nas visualizações",desc:"Remover expressões LaTeX inline e em bloco do texto de visualização."},previewProperties:{name:"Propriedades de visualização",desc:"Lista separada por vírgulas de propriedades do frontmatter para verificar texto de visualização. A primeira propriedade com texto será usada.",placeholder:"summary, description, abstract"},previewPropertiesFallback:{name:"Recorrer ao conteúdo da nota",desc:"Mostrar o conteúdo da nota como visualização quando nenhuma das propriedades especificadas contém texto."},previewRows:{name:"Linhas de visualização",desc:"Número de linhas a exibir para texto de visualização.",options:{1:"1 linha",2:"2 linhas",3:"3 linhas",4:"4 linhas",5:"5 linhas"}},fileNameRows:{name:"Linhas de título",desc:"Número de linhas a exibir para títulos de notas.",options:{1:"1 linha",2:"2 linhas",3:"3 linhas"}},useFolderColor:{name:"Usar cor da pasta",desc:"Colorir títulos de notas e ícones de arquivos com a cor da pasta pai quando não há uma cor de arquivo personalizada definida. Prioridade: cor de arquivo personalizada > cor da pasta > cor padrão."},showFeatureImage:{name:"Mostrar imagem destacada",desc:"Exibe uma miniatura da primeira imagem encontrada na nota."},forceSquareFeatureImage:{name:"Forçar imagem destacada quadrada",desc:"Renderizar imagens destacadas como miniaturas quadradas."},featureImageProperties:{name:"Propriedades de imagem",desc:"Lista separada por vírgulas de propriedades do frontmatter a verificar primeiro. Usa a primeira imagem no conteúdo markdown como alternativa.",placeholder:"miniatura, featureRedimensionado, feature"},featureImageExcludeProperties:{name:"Excluir notas com propriedades",desc:"Lista separada por vírgulas de propriedades do frontmatter. Notas contendo qualquer uma dessas propriedades não armazenam imagens de destaque.",placeholder:"private, confidential"},featureImageSize:{name:"Tamanho de exibição da imagem de destaque",desc:"Tamanho máximo de renderização para imagens de destaque em listas de notas.",options:{standard:"64 px",large:"96 px",extraLarge:"128 px"}},featureImagePixelSize:{name:"Tamanho em pixels da imagem de destaque",desc:"Resolução usada ao gerar miniaturas armazenadas de imagens de destaque. Aumente esse valor se as visualizações maiores ficarem borradas.",options:{standard:"256 x 144 px",large:"384 x 216 px",extraLarge:"512 x 288 px"}},downloadExternalFeatureImages:{name:"Baixar imagens externas",desc:"Baixar imagens remotas e miniaturas do YouTube para imagens de destaque."},hideDrawingPreviewImages:{name:"Ocultar imagens de pré-visualização exportadas",desc:'Oculta arquivos PNG de pré-visualização de desenhos exportados. Ative "Mostrar itens ocultos" para exibi-los.'},drawingIntegrationInfo:{intro:"O Notebook Navigator exibe arquivos PNG exportados pelo Excalidraw como pré-visualizações de desenhos.",items:["Nas **configurações do Excalidraw**, abra **Embedding Excalidraw into your Notes and Exporting**, depois **Export Settings**, depois **Auto-export Settings**.","Ative **Auto-export PNG**. Opcionalmente, ative **Export both dark- and light-themed image**.","O Notebook Navigator procura **Drawing.excalidraw.png**, **Drawing.excalidraw.dark.png** ou **Drawing.excalidraw.light.png**.","Enquanto **Ocultar imagens de pré-visualização exportadas** estiver ativo, os arquivos PNG aparecem apenas quando **Mostrar itens ocultos** também estiver ativo."]},showRootFolder:{name:"Mostrar pasta raiz",desc:"Exibir o nome do cofre como a pasta raiz na árvore."},showFolderIcons:{name:"Mostrar ícones de pastas",desc:"Exibir ícones ao lado das pastas no painel de navegação."},inheritFolderColors:{name:"Herdar cores de pastas",desc:"Pastas filhas herdam cor das pastas pai."},folderSortOrder:{name:"Ordem de classificação de pastas",desc:"Clique com o botão direito em qualquer pasta para definir uma ordem de classificação diferente para seus subitens.",options:{alphaAsc:"A a Z",alphaDesc:"Z a A"}},showNoteCount:{name:"Mostrar contagem de notas",desc:"Exibir contagens de notas ao lado de pastas, tags e propriedades."},showSectionIcons:{name:"Mostrar ícones para atalhos e itens recentes",desc:"Exibir ícones ao lado dos itens nas seções Atalhos e Recentes."},interfaceIcons:{name:"Ícones da interface",desc:"Editar ícones da barra de ferramentas, pastas, tags, propriedades, itens fixados, pesquisa e ordenação.",buttonText:"Editar ícones"},showIconsColorOnly:{name:"Aplicar cor apenas aos ícones",desc:"Quando ativado, cores personalizadas são aplicadas apenas aos ícones. Quando desativado, as cores são aplicadas aos ícones e aos rótulos de texto."},navRainbowMode:{name:"Modo de cores arco-íris (perfil do cofre)",desc:"Aplicar cores arco-íris no painel de navegação.",options:{none:"Desativado",foreground:"Cor do texto",background:"Cor de fundo"}},navRainbowFirstColor:{name:"Primeira cor",desc:"Primeira cor no gradiente arco-íris."},navRainbowLastColor:{name:"Última cor",desc:"Última cor no gradiente arco-íris."},navRainbowTransitionStyle:{name:"Estilo de transição",desc:"Interpolação utilizada entre a primeira e a última cor.",options:{hue:"Matiz",rgb:"RGB"}},navRainbowApplyToShortcuts:{name:"Aplicar aos atalhos",desc:"Aplicar cores arco-íris aos atalhos."},navRainbowApplyToRecent:{name:"Aplicar aos itens recentes",desc:"Aplicar cores arco-íris aos itens recentes."},navRainbowApplyToFolders:{name:"Aplicar às pastas",desc:"Aplicar cores arco-íris às pastas."},navRainbowFolderScope:{name:"Escopo de pastas",desc:"Selecionar quais níveis de pasta iniciam atribuições de cor.",options:{root:"Nível raiz",child:"Nível filho",all:"Todos os níveis"}},navRainbowApplyToTags:{name:"Aplicar às tags",desc:"Aplicar cores arco-íris às tags."},navRainbowTagScope:{name:"Escopo de tags",desc:"Selecionar quais níveis de tag iniciam atribuições de cor.",options:{root:"Nível raiz",child:"Nível filho",all:"Todos os níveis"}},navRainbowApplyToProperties:{name:"Aplicar às propriedades",desc:"Aplicar cores arco-íris às propriedades."},navRainbowBalanceHueLuminance:{name:"Brilho consistente entre matizes",desc:"Interpola o brilho entre as cores inicial e final durante as transições de matiz."},navRainbowSeparateThemeColors:{name:"Cores separadas para modo claro e escuro",desc:"Usar cores de arco-íris diferentes para o modo claro e o modo escuro."},navRainbowCopyLightToDark:"Copiar cor do modo claro para o modo escuro",navRainbowPropertyScope:{name:"Escopo de propriedades",desc:"Selecionar quais níveis de propriedade iniciam atribuições de cor.",options:{root:"Nível raiz",child:"Nível filho",all:"Todos os níveis"}},collapseBehavior:{name:"Recolher itens",desc:"Escolha o que o botão expandir/recolher tudo afeta.",options:{all:"Tudo",foldersOnly:"Apenas pastas",tagsOnly:"Apenas tags",propertiesOnly:"Apenas propriedades"}},smartCollapse:{name:"Manter item selecionado expandido",desc:"Ao recolher, manter o item selecionado e seus pais expandidos."},excludeVaultRootFromCollapse:{name:"Ignorar raiz do cofre ao recolher",desc:"Ao recolher todos os itens, deixe a pasta raiz do cofre no estado atual."},navIndent:{name:"Indentação da árvore",desc:"Ajustar a largura da indentação para pastas, tags e propriedades aninhadas (pixels)."},navItemHeight:{name:"Altura do item",desc:"Ajustar a altura de pastas, tags e propriedades no painel de navegação (pixels)."},navItemHeightScaleText:{name:"Dimensionar texto com altura do item",desc:"Reduzir o tamanho do texto de navegação quando a altura do item é diminuída."},showIndentGuides:{name:"Mostrar guias de recuo",desc:"Exibir guias de recuo para pastas, tags e propriedades aninhadas."},navCountLeaderStyle:{name:"Mostrar caracteres de preenchimento",desc:"Exibir pontos, traços ou uma linha entre os nomes dos itens e a contagem de notas.",options:{none:"Nenhum",dots:"Pontos (...)",dashes:"Traços (---)",line:"Linha"}},navRootSpacing:{name:"Espaçamento de item raiz",desc:"Espaçamento entre pastas, tags e propriedades de nível raiz (pixels)."},showTags:{name:"Mostrar tags",desc:"Exibir seção de tags no navegador."},showTagIcons:{name:"Mostrar ícones de tags",desc:"Exibir ícones ao lado das tags no painel de navegação."},inheritTagColors:{name:"Herdar cores das tags",desc:"As tags filhas herdam a cor das tags pai."},tagSortOrder:{name:"Ordem de classificação de tags",desc:"Clique com o botão direito em qualquer tag para definir uma ordem de classificação diferente para seus subitens.",options:{alphaAsc:"A a Z",alphaDesc:"Z a A",frequency:"Frequência",lowToHigh:"baixa para alta",highToLow:"alta para baixa"}},showAllTagsFolder:{name:"Mostrar pasta de tags",desc:'Exibir "Tags" como uma pasta recolhível.'},showUntagged:{name:"Mostrar notas sem tags",desc:'Exibir item "Sem tags" para notas sem tags.'},scopeTagsToCurrentContext:{name:"Filtrar tags por seleção",desc:"Mostrar apenas tags que aparecem em notas na pasta ou propriedade selecionada."},keepEmptyTagsProperty:{name:"Manter propriedade de tags após remover última tag",desc:"Manter a propriedade de tags do frontmatter quando todas as tags forem removidas. Quando desativado, a propriedade de tags é excluída do frontmatter."},showProperties:{name:"Mostrar propriedades",desc:"Exibir a seção de propriedades no navegador.",propertyKeysInfoPrefix:"Configurar propriedades em ",propertyKeysInfoLinkText:"Início > Chaves de propriedades",propertyKeysInfoSuffix:""},showPropertyIcons:{name:"Mostrar ícones de propriedades",desc:"Exibir ícones ao lado das propriedades no painel de navegação."},inheritPropertyColors:{name:"Herdar cores de propriedade",desc:"Os valores de propriedade herdam a cor e o fundo da sua chave de propriedade."},propertySortOrder:{name:"Ordem de classificação de propriedades",desc:"Clique com o botão direito em qualquer propriedade para definir uma ordem de classificação diferente para seus valores.",options:{alphaAsc:"A a Z",alphaDesc:"Z a A",frequency:"Frequência",lowToHigh:"baixo a alto",highToLow:"alto a baixo"}},showAllPropertiesFolder:{name:"Mostrar pasta de propriedades",desc:'Exibir "Propriedades" como uma pasta recolhível.'},scopePropertiesToCurrentContext:{name:"Filtrar propriedades por seleção",desc:"Mostrar apenas propriedades que aparecem em notas na pasta ou tag selecionada."},hiddenTags:{name:"Ocultar tags (perfil do cofre)",desc:"Lista de padrões de tags separados por vírgulas. Padrões de nome: tag* (começa com), *tag (termina com). Padrões de caminho: arquivo (tag e descendentes), arquivo/* (apenas descendentes), projetos/*/rascunhos (curinga intermediário).",placeholder:"arquivo*, *rascunho, projetos/*/antigo"},hiddenFileTags:{name:"Ocultar notas com tags (perfil do cofre)",desc:"Comma-separated list of tag patterns. Notes containing matching tags are hidden. Name patterns: tag* (starting with), *tag (ending with). Path patterns: archive (tag and descendants), archive/* (descendants only), projects/*/drafts (mid-segment wildcard).",placeholder:"archive*, *draft, projects/*/old"},enableFolderNotes:{name:"Ativar notas de pasta",desc:"As pastas com um arquivo de nota correspondente são exibidas como links clicáveis."},folderNoteType:{name:"Tipo de nota de pasta padrão",desc:"Tipo de nota de pasta criado a partir do menu de contexto.",options:{ask:"Perguntar ao criar",markdown:"Markdown",canvas:"Tela",base:"Base"}},folderNoteName:{name:"Nome da nota de pasta",desc:"Nome da nota de pasta sem extensão. Deixe em branco para usar o mesmo nome da pasta.",placeholder:"index"},folderNoteNamePattern:{name:"Padrão de nome da nota de pasta",desc:"Padrão de nome para notas de pasta sem extensão. Use {{folder}} para inserir o nome da pasta. Quando definido, o nome da nota de pasta não se aplica."},folderNoteTemplate:{name:"Modelo de nota de pasta",desc:"Arquivo de modelo usado ao criar notas de pasta. Os modelos Markdown podem usar o Templater. Os modelos Canvas e Base são copiados como conteúdo do arquivo. Definir localização da pasta de modelos em Operações de arquivo > Modelos.",formatWarning:"O formato do modelo deve corresponder ao tipo de nota de pasta selecionado: .md, .canvas ou .base."},enableFolderNoteLinks:{name:"Nomes de pastas abrem notas de pasta",desc:"Clicar no nome de uma pasta abre a nota de pasta correspondente. Quando desativado, as notas de pasta fornecem apenas metadados da pasta, como nome, ícone e cor."},hideFolderNoteInList:{name:"Ocultar notas de pasta na lista",desc:"Ocultar notas de pasta da lista de arquivos."},pinCreatedFolderNote:{name:"Fixar notas de pasta criadas",desc:"Fixar notas de pasta ao criá-las pelo menu de contexto."},folderNoteOpenLocation:{name:"Abrir notas de pasta em",desc:"Escolha onde as notas de pasta são abertas ao clicar em links de notas de pasta.",options:{currentTab:"Aba atual",newTab:"Nova aba",rightSidebar:"Barra lateral direita"}},showNearestFolderNoteInSidebar:{name:"Barra lateral direita: Mostrar nota de pasta mais próxima",desc:"Quando uma pasta é selecionada, a barra lateral direita mostra automaticamente a nota de pasta ancestral mais próxima."},confirmBeforeDelete:{name:"Confirmar antes de excluir",desc:"Mostrar diálogo de confirmação ao excluir notas ou pastas"},deleteAttachments:{name:"Excluir anexos ao excluir arquivos",desc:"Remover automaticamente os anexos vinculados e as prévias de desenhos geradas se não forem usados em outro lugar",options:{ask:"Perguntar sempre",always:"Sempre",never:"Nunca"}},moveFileConflicts:{name:"Conflitos de movimentação",desc:"Ao mover um arquivo para uma pasta onde já existe um arquivo com o mesmo nome. Perguntar sempre (renomear, sobrescrever, cancelar) ou sempre renomear.",options:{ask:"Perguntar sempre",rename:"Sempre renomear"}},metadataCleanup:{name:"Limpar metadados",desc:"Remove metadados órfãos deixados para trás quando arquivos, pastas, tags ou propriedades são excluídos, movidos ou renomeados fora do Obsidian. Isso afeta apenas o arquivo de configurações do Notebook Navigator.",buttonText:"Limpar metadados",error:"Falha na limpeza de configurações",loading:"Verificando metadados...",statusClean:"Sem metadados para limpar",statusCounts:"Itens órfãos: {folders} pastas, {tags} tags, {properties} propriedades, {files} arquivos, {pinned} fixações, {separators} separadores"},rebuildCache:{name:"Reconstruir cache",desc:"Use isso se você tiver tags ausentes, visualizações incorretas ou imagens destacadas ausentes. Isso pode acontecer após conflitos de sincronização ou fechamentos inesperados.",buttonText:"Reconstruir cache",error:"Falha ao reconstruir cache",indexingTitle:"Indexando o cofre...",progress:"Atualizando o cache do Notebook Navigator."},externalIcons:{downloadButton:"Baixar",downloadingLabel:"Baixando...",removeButton:"Remover",statusInstalled:"Baixado (versão {version})",statusNotInstalled:"Não baixado",versionUnknown:"desconhecida",downloadFailed:"Falha ao baixar {name}. Verifique sua conexão e tente novamente.",removeFailed:"Falha ao remover {name}.",infoNote:"Pacotes de ícones baixados sincronizam o estado de instalação entre dispositivos. Os pacotes de ícones permanecem no banco de dados local em cada dispositivo; a sincronização apenas rastreia se devem ser baixados ou removidos. Pacotes de ícones são baixados do repositório Notebook Navigator (https://github.com/johansan/notebook-navigator/tree/main/icon-assets)."},useFrontmatterDates:{name:"Usar metadados do frontmatter",desc:"Usar frontmatter para nome da nota, timestamps, ícones e cores"},frontmatterIconField:{name:"Campo de ícone",desc:"Campo do frontmatter para ícones de arquivo. Deixe em branco para usar ícones armazenados nas configurações.",placeholder:"icon"},frontmatterColorField:{name:"Campo de cor",desc:"Campo do frontmatter para cores de arquivo. Deixe em branco para usar cores armazenadas nas configurações.",placeholder:"color"},frontmatterBackgroundField:{name:"Campo de fundo",desc:"Campo do frontmatter para cores de fundo. Deixe em branco para usar cores de fundo armazenadas nas configurações.",placeholder:"background"},frontmatterMigration:{name:"Migrar ícones e cores das configurações",desc:"Armazenado nas configurações: {icons} ícones, {colors} cores.",button:"Migrar",buttonWorking:"Migrando...",noticeNone:"Sem ícones ou cores de arquivo armazenados nas configurações.",noticeDone:"Migrados {migratedIcons}/{icons} ícones, {migratedColors}/{colors} cores.",noticeFailures:"Entradas com falha: {failures}.",noticeError:"Falha na migração. Verifique o console para detalhes."},frontmatterNameField:{name:"Campos de nome",desc:"Lista de campos frontmatter separados por vírgula. O primeiro valor não vazio é usado. Usa o nome do arquivo como alternativa.",placeholder:"title, name"},frontmatterCreatedField:{name:"Campo de timestamp de criação",desc:"Nome do campo do frontmatter para o timestamp de criação. Deixe em branco para usar apenas a data do sistema de arquivos.",placeholder:"created"},frontmatterModifiedField:{name:"Campo de timestamp de modificação",desc:"Nome do campo do frontmatter para o timestamp de modificação. Deixe em branco para usar apenas a data do sistema de arquivos.",placeholder:"modified"},frontmatterDateFormat:{name:"Formato de timestamp",desc:"Formato usado para analisar timestamps no frontmatter. Deixe em branco para usar parsing ISO 8601.",helpTooltip:"Formato usando Moment",momentLinkText:"formato Moment",help:`Formatos comuns:
YYYY-MM-DD[T]HH:mm:ss → 2025-01-04T14:30:45
YYYY-MM-DD[T]HH:mm:ssZ → 2025-08-07T16:53:39+02:00
DD/MM/YYYY HH:mm:ss → 04/01/2025 14:30:45
MM/DD/YYYY h:mm:ss a → 01/04/2025 2:30:45 PM`},supportDevelopment:{name:"Apoiar o desenvolvimento",desc:"Se você adora usar o Notebook Navigator, considere apoiar seu desenvolvimento contínuo.",buttonText:"❤️ Patrocinar",coffeeButton:"☕️ Me pague um café"},updateCheckOnStart:{name:"Verificar nova versão ao iniciar",desc:"Verifica novas versões do plugin na inicialização e mostra uma notificação quando uma atualização está disponível. As verificações ocorrem no máximo uma vez por dia.",status:"Nova versão disponível: {version}"},debugLogging:{name:"Registro de depuração na inicialização",desc:"Grava diagnósticos de inicialização em um arquivo Markdown com carimbo de data/hora na raiz do cofre e para depois que a inicialização se estabiliza. O arquivo pode ser sincronizado e pode incluir caminhos de arquivos."},whatsNew:{name:"O que há de novo no Notebook Navigator {version}",desc:"Veja atualizações e melhorias recentes",buttonText:"Ver atualizações recentes"},masteringVideo:{name:"Dominando o Notebook Navigator (vídeo)",desc:"Este vídeo cobre tudo o que você precisa para ser produtivo no Notebook Navigator, incluindo atalhos de teclado, busca, tags e personalização avançada."},cacheStatistics:{localCache:"Cache local",items:"itens",withTags:"com tags",withPreviewText:"com texto de visualização",withFeatureImage:"com imagem destacada",withMetadata:"com metadados"},metadataInfo:{successfullyParsed:"Analisados com sucesso",itemsWithName:"itens com nome",withCreatedDate:"com data de criação",withModifiedDate:"com data de modificação",withIcon:"com ícone",withColor:"com cor",failedToParse:"Falha ao analisar",createdDates:"datas de criação",modifiedDates:"datas de modificação",checkTimestampFormat:"Verifique seu formato de timestamp.",exportFailed:"Exportar erros"}}},whatsNew:{title:"O que há de novo no Notebook Navigator",openBannerImage:"Abrir imagem do banner da versão",supportMessage:"Se você acha o Notebook Navigator útil, considere apoiar seu desenvolvimento.",supportButton:"Me pague um café",thanksButton:"Obrigado!"}}});var X1={};In(X1,{STRINGS_RU:()=>Jie});var Jie,Q1=U(()=>{Jie={common:{cancel:"Отмена",delete:"Удалить",clear:"Очистить",remove:"Убрать",restoreDefault:"Восстановить по умолчанию",submit:"Отправить",save:"Сохранить",configure:"Настроить",lightMode:"Светлый режим",darkMode:"Тёмный режим",noSelection:"Ничего не выбрано",untagged:"Без тегов",featureImageAlt:"Изображение",unknownError:"Неизвестная ошибка",clipboardWriteError:"Не удалось записать в буфер обмена",updateBannerTitle:"Доступно обновление Notebook Navigator",updateBannerInstruction:"Обновите в Настройки -> Сторонние плагины",previous:"Назад",next:"Вперёд"},listPane:{emptyStateNoSelection:"Выберите папку или тег для просмотра заметок",emptyStateNoNotes:"Нет заметок",pinnedSection:"Закреплённые",notesSection:"Заметки",filesSection:"Файлы",hiddenItemAriaLabel:"{name} (скрыто)",collapseGroup:"Свернуть группу",expandGroup:"Развернуть группу",manualSortTitle:"Ручная сортировка: {property}",manualSortHint:"Перетащите для изменения порядка. Порядок сохраняется как числовые значения индекса в свойстве «{property}».",manualSortNonMarkdownHint:"Файлы, отличные от Markdown, показаны внизу и их порядок изменить нельзя.",unsortedSection:"Без сортировки",manualSortDone:"Готово",manualSortMultipleWriteFailure:"{count} файлов не удалось обработать; первый: {path}: {message}"},tagList:{untaggedLabel:"Без тегов",tags:"Теги"},navigationPane:{shortcutsHeader:"Ярлыки",recentFilesHeader:"Недавние файлы",properties:"Свойства",reorderRootFoldersTitle:"Изменить порядок навигации",reorderRootFoldersHint:"Используйте стрелки или перетаскивание",vaultRootLabel:"Хранилище",resetRootToAlpha:"Сбросить в алфавитный порядок",resetRootToFrequency:"Сбросить по частоте",pinShortcuts:"Закрепить ярлыки",pinShortcutsAndRecentFiles:"Закрепить ярлыки и недавние файлы",unpinShortcuts:"Открепить ярлыки",unpinShortcutsAndRecentFiles:"Открепить ярлыки и недавние файлы",profileMenuAria:"Сменить профиль хранилища"},navigationCalendar:{ariaLabel:"Календарь",dailyNotesNotEnabled:"Плагин ежедневных заметок не включён.",createDailyNote:{title:"Новая ежедневная заметка",message:"Файл {filename} не существует. Хотите создать его?",confirmButton:"Создать"},helpModal:{title:"Горячие клавиши календаря",items:["Нажмите на любой день, чтобы открыть или создать ежедневную заметку. Недели, месяцы, кварталы и годы работают таким же образом.","Закрашенная точка под днём означает наличие заметки. Пустая точка означает наличие незавершённых задач.","Если у заметки есть изображение-обложка, оно отображается как фон дня."],dateFilterCmdCtrl:"`Cmd/Ctrl`+клик по дате для фильтрации по этой дате в списке файлов.",dateFilterOptionAlt:"`Option/Alt`+клик по дате для фильтрации по этой дате в списке файлов."}},dailyNotes:{templateReadFailed:"Не удалось прочитать шаблон ежедневной заметки.",createFailed:"Невозможно создать ежедневную заметку."},shortcuts:{folderExists:"Папка уже в ярлыках",noteExists:"Заметка уже в ярлыках",tagExists:"Тег уже в ярлыках",propertyExists:"Свойство уже в закладках",invalidProperty:"Недопустимая закладка свойства",searchExists:"Ярлык поиска уже существует",emptySearchQuery:"Введите поисковый запрос перед сохранением",emptySearchName:"Введите название перед сохранением поиска",add:"Добавить в ярлыки",addNotesCount:"Добавить {count} заметок в ярлыки",addFilesCount:"Добавить {count} файлов в ярлыки",rename:"Переименовать ярлык",remove:"Убрать из ярлыков",removeAll:"Удалить все ярлыки",removeAllConfirm:"Удалить все ярлыки?",folderNotesPinned:"Закреплено заметок папок: {count}"},paneHeader:{collapseAllFolders:"Свернуть элементы",expandAllFolders:"Развернуть все элементы",showCalendar:"Показать календарь",hideCalendar:"Скрыть календарь",newFolder:"Новая папка",newNote:"Новая заметка",mobileBackToNavigation:"Назад к навигации",changeChildSortOrder:"Изменить сортировку",changeSortAndGroup:"Изменить сортировку и группировку",resetViewToDefaults:"Сбросить вид к настройкам по умолчанию",manualSort:"Ручная сортировка",editSortOrder:"Изменить порядок сортировки...",removeSortProperty:"Удалить свойство сортировки",descendants:"потомков",subfolders:"подпапок",subtags:"подтегов",childValues:"дочерних значений",applySortAndGroupToDescendants:t=>`Применить сортировку и группировку для ${t}`,applyAppearanceToDescendants:t=>`Применить оформление для ${t}`,showFolders:"Показать навигацию",reorderRootFolders:"Изменить порядок навигации",finishRootFolderReorder:"Готово",showExcludedItems:"Показать скрытые папки, теги и заметки",hideExcludedItems:"Скрыть скрытые папки, теги и заметки",showDualPane:"Показать двойную панель",showSinglePane:"Показать одну панель",dualPaneAutoFallbackNotice:"Две панели недоступны, когда боковая панель слишком узкая. Чтобы изменить это, установите «Когда боковая панель слишком узкая» в значение «Ничего не делать» в Настройки > Внешний вид и поведение.",changeAppearance:"Изменить внешний вид",showNotesFromSubfolders:"Показать заметки из подпапок",showFilesFromSubfolders:"Показать файлы из подпапок",showNotesFromDescendants:"Показать заметки из потомков",showFilesFromDescendants:"Показать файлы из потомков",search:"Поиск"},searchInput:{placeholder:"Поиск...",placeholderOmnisearch:"Omnisearch...",clearSearch:"Очистить поиск",switchToFilterSearch:"Переключить на поиск с фильтром",switchToOmnisearch:"Переключить на Omnisearch",saveSearchShortcut:"Сохранить ярлык поиска",removeSearchShortcut:"Удалить ярлык поиска",shortcutModalTitle:"Сохранить ярлык поиска",shortcutNamePlaceholder:"Введите название ярлыка",shortcutStartIn:"Всегда начинать в: {path}",searchHelp:"Синтаксис поиска",searchHelpTitle:"Синтаксис поиска",searchHelpModal:{intro:"Комбинируйте имена файлов, свойства, теги, даты и фильтры в одном запросе (напр. `meeting .status=active #work @thisweek`). Установите плагин Omnisearch для полнотекстового поиска.",introSwitching:"Переключайтесь между поиском по фильтру и Omnisearch с помощью клавиш стрелок вверх/вниз или нажав на значок поиска.",sections:{fileNames:{title:"Имена файлов",items:['`word` Найти заметки со словом "word" в имени файла.',"`word1 word2` Каждое слово должно соответствовать имени файла.",'`-word` Исключить заметки со словом "word" в имени файла.']},tags:{title:"Теги",items:["`#tag` Включить заметки с тегом (также находит вложенные теги как `#tag/subtag`).","`#` Включить только заметки с тегами.","`-#tag` Исключить заметки с тегом.","`-#` Включить только заметки без тегов.","`#tag1 #tag2` Найти оба тега (неявное AND).","`#tag1 AND #tag2` Найти оба тега (явное AND).","`#tag1 OR #tag2` Найти любой из тегов.","`#a OR #b AND #c` AND имеет больший приоритет: находит `#a`, или оба `#b` и `#c`.","Cmd/Ctrl+Клик по тегу для добавления с AND. Cmd/Ctrl+Shift+Клик для добавления с OR."]},properties:{title:"Свойства",items:["`.key` Включить заметки с ключом свойства.","`.key=value` Включить заметки, у которых значение свойства содержит `value`.",'`."Reading Status"` Включить заметки с ключом свойства, содержащим пробелы.','`."Reading Status"="In Progress"` Ключи и значения с пробелами должны быть заключены в двойные кавычки.',"`-.key` Исключить заметки с ключом свойства.","`-.key=value` Исключить заметки, у которых значение свойства содержит `value`.","Cmd/Ctrl+Клик по свойству для добавления с AND. Cmd/Ctrl+Shift+Клик для добавления с OR."]},tasks:{title:"Фильтры",items:["`has:task` Включить заметки с незавершёнными задачами.","`-has:task` Исключить заметки с незавершёнными задачами.","`folder:meetings` Включить заметки, где имя папки содержит `meetings`.","`folder:/work/meetings` Включить заметки только в `work/meetings` (не подпапки).","`folder:/` Включить заметки только в корне хранилища.","`-folder:archive` Исключить заметки, где имя папки содержит `archive`.","`-folder:/archive` Исключить заметки только в `archive` (не подпапки).","`ext:md` Включить заметки с расширением `md` (`ext:.md` также поддерживается).","`-ext:pdf` Исключить заметки с расширением `pdf`.","Комбинируйте с тегами, именами и датами (например: `folder:/work/meetings ext:md @thisweek`)."]},connectors:{title:"Поведение AND/OR",items:["`AND` и `OR` являются операторами только в запросах, состоящих исключительно из тегов и свойств.","Запросы только с тегами и свойствами содержат только фильтры тегов и свойств: `#tag`, `-#tag`, `#`, `-#`, `.key`, `-.key`, `.key=value`, `-.key=value`.","Если запрос включает имена, даты (`@...`), фильтры задач (`has:task`), фильтры папок (`folder:...`) или фильтры расширений (`ext:...`), `AND` и `OR` ищутся как слова.","Пример запроса с операторами: `#work OR .status=started`.","Пример смешанного запроса: `#work OR ext:md` (`OR` ищется в именах файлов)."]},dates:{title:"Даты",items:["`@today` Найти заметки за сегодня, используя поле даты по умолчанию.","`@yesterday`, `@last7d`, `@last30d`, `@thisweek`, `@thismonth` Относительные диапазоны дат.","`@2026-02-07` Найти конкретный день (также поддерживает `@20260207`).","`@2026` Найти календарный год.","`@2026-02` или `@202602` Найти календарный месяц.","`@2026-W05` или `@2026W05` Найти ISO-неделю.","`@2026-Q2` или `@2026Q2` Найти календарный квартал.","`@13/02/2026` Числовые форматы с разделителями (`@07022026` следует вашей локали при неоднозначности).","`@2026-02-01..2026-02-07` Найти включительный диапазон дней (открытые концы поддерживаются).","`@c:...` или `@m:...` Указать дату создания или изменения.","`-@...` Исключить совпадение даты."]},omnisearch:{title:"Omnisearch",items:["Полнотекстовый поиск по всему хранилищу с фильтрацией по текущей папке или выбранным тегам.","Может быть медленным при менее чем 3 символах в больших хранилищах.","Не может искать пути с не-ASCII символами или корректно искать подпути.","Возвращает ограниченные результаты до фильтрации по папкам, поэтому релевантные файлы могут не отобразиться, если много совпадений в других местах.","Превью заметок показывают фрагменты Omnisearch вместо текста превью по умолчанию."]}}}},contextMenu:{file:{openInNewTab:"Открыть в новой вкладке",openToRight:"Открыть справа",openInNewWindow:"Открыть в новом окне",openMultipleInNewTabs:"Открыть {count} заметок в новых вкладках",openMultipleFilesInNewTabs:"Открыть {count} файлов в новых вкладках",openMultipleToRight:"Открыть {count} заметок справа",openMultipleFilesToRight:"Открыть {count} файлов справа",openMultipleInNewWindows:"Открыть {count} заметок в новых окнах",openMultipleFilesInNewWindows:"Открыть {count} файлов в новых окнах",pinNote:"Закрепить заметку",pinFile:"Закрепить файл",unpinNote:"Открепить заметку",unpinFile:"Открепить файл",pinMultipleNotes:"Закрепить {count} заметок",pinMultipleFiles:"Закрепить {count} файлов",unpinMultipleNotes:"Открепить {count} заметок",unpinMultipleFiles:"Открепить {count} файлов",duplicateNote:"Дублировать заметку",duplicateFile:"Дублировать файл",duplicateMultipleNotes:"Дублировать {count} заметок",duplicateMultipleFiles:"Дублировать {count} файлов",openVersionHistory:"Открыть историю версий",revealInFolder:"Показать в папке",revealInFinder:"Показать в Finder",showInExplorer:"Показать в проводнике",openInDefaultApp:"Открыть в приложении по умолчанию",renameNote:"Переименовать заметку",renameFile:"Переименовать файл",deleteNote:"Удалить заметку",deleteFile:"Удалить файл",setCalendarHighlight:"Установить выделение",removeCalendarHighlight:"Убрать выделение",deleteMultipleNotes:"Удалить {count} заметок",deleteMultipleFiles:"Удалить {count} файлов",moveNoteToFolder:"Переместить заметку в...",moveFileToFolder:"Переместить файл в...",moveMultipleNotesToFolder:"Переместить {count} заметок в...",moveMultipleFilesToFolder:"Переместить {count} файлов в...",mergeNotes:"Объединить {count} заметок...",mergeNotesInGroup:"Объединить заметки в группе...",setManualSortGroupHeader:"Задать заголовок группы",changeManualSortGroupHeader:"Изменить заголовок группы",manualSortGroupHeader:{title:"Заголовок группы",copyStyle:"Копировать стиль заголовка",pasteStyle:"Вставить стиль заголовка",remove:"Удалить заголовок группы"},addTag:"Добавить тег",addPropertyKey:"Задать свойство",removeTag:"Удалить тег",removeAllTags:"Удалить все теги",changeIcon:"Изменить иконку",changeColor:"Изменить цвет"},folder:{newNote:"Новая заметка",newNoteFromTemplate:"Новая заметка из шаблона",newFolder:"Новая папка",newCanvas:"Новый холст",newBase:"Новая база",newDrawing:"Новый рисунок",newExcalidrawDrawing:"Новый рисунок Excalidraw",newTldrawDrawing:"Новый рисунок Tldraw",duplicateFolder:"Дублировать папку",searchInFolder:"Искать в папке",createFolderNote:"Создать заметку папки",detachFolderNote:"Отвязать заметку папки",deleteFolderNote:"Удалить заметку папки",changeIcon:"Изменить иконку",changeColor:"Изменить цвет",changeBackground:"Изменить фон",excludeFolder:"Скрыть папку",unhideFolder:"Показать папку",moveFolder:"Переместить папку в...",renameFolder:"Переименовать папку",deleteFolder:"Удалить папку"},tag:{changeIcon:"Изменить иконку",changeColor:"Изменить цвет",changeBackground:"Изменить фон",showTag:"Показать тег",hideTag:"Скрыть тег"},property:{addKey:"Настроить ключи свойств",renameKey:"Переименовать свойство",deleteKey:"Удалить свойство"},navigation:{addSeparator:"Добавить разделитель",removeSeparator:"Удалить разделитель"},copyPath:{title:"Копировать путь",asObsidianUrl:"как URL Obsidian",fromVaultFolder:"из папки хранилища",fromSystemRoot:"из корня системы"},style:{title:"Стиль",copy:"Копировать стиль",paste:"Вставить стиль",removeIcon:"Удалить иконку",removeColor:"Удалить цвет",removeBackground:"Удалить фон",clear:"Очистить стиль"}},folderAppearance:{appearance:"Внешний вид",sortBy:"Сортировать по",standardPreset:"Стандартный",compactPreset:"Компактный",defaultSuffix:"(по умолчанию)",defaultLabel:"По умолчанию",titleRows:"Строки заголовка",previewRows:"Строки превью",groupBy:"Группировать по",titleRowOption:t=>`${t} ${t===1?"строка":t<5?"строки":"строк"} заголовка`,previewRowOption:t=>`${t} ${t===1?"строка":t<5?"строки":"строк"} превью`},modals:{bulkApply:{applyButton:"Применить",applySortAndGroupTitle:t=>`Применить сортировку и группировку для ${t}?`,applyAppearanceTitle:t=>`Применить оформление для ${t}?`,affectedCountMessage:t=>`Существующих переопределений, которые изменятся: ${t}.`},manualSortConfirm:{propertySortTitle:"Использовать ручную сортировку?",propertySortMessage:(t,e)=>`Переключает текущий вид на ручную сортировку с использованием «${t}». При изменении порядка числовые значения индекса записываются в это свойство в ${e} ${e===1?"заметке":"заметках"} по мере необходимости.`,propertySortConfirmButton:"Использовать ручную сортировку",removePropertyTitle:"Удалить свойство сортировки?",removePropertyMessage:(t,e)=>`Это удалит «${t}» из ${e} ${e===1?"заметки":"заметок"} в текущем списке. Порядок ручной сортировки будет сброшен для этих заметок.`,removePropertyConfirmButton:"Удалить свойство",compactTitle:"Сжать значения индекса?",compactMessage:t=>`Эта перестановка требует больше числового пространства. ${t} ${t===1?"заметка получит":"заметок получат"} новые значения индекса.`,compactConfirmButton:"Сжать значения индекса"},manualSortGroupHeader:{title:"Задать заголовок группы",titleLabel:"Заголовок",placeholder:"Заголовок группы",icon:"Значок",color:"Цвет",wordCount:"Показывать количество слов",wordCountTarget:"Целевое количество слов",wordCountTargetPlaceholder:"10,000",wordCountTargetDescription:"Если это поле пустое, цель группы использует целевое свойство, заданное в Настройки > Заметки > Количество слов и символов. Переопределите его, задав целевое значение для этой группы.",description:"Настройте заголовок группы для этой заметки. Оставьте заголовок пустым, чтобы удалить его."},mergeNotes:{title:"Объединить заметки",summary:"Создать одну заметку из {count} заметок в {folder}.",frontmatterRule:"Frontmatter из первой заметки сохраняется. Frontmatter из остальных заметок удаляется.",crossFolderWarning:"Исходные заметки находятся в разных папках. Относительные ссылки и встраивания могут перестать работать в объединенной заметке.",outputName:"Имя результата",outputNameDesc:"Объединенная заметка будет создана в папке, показанной выше.",outputNamePlaceholder:"Объединенные заметки",separator:"Разделитель",separatorDesc:"Вставляется между заметками.",separatorOptions:{none:"Нет",blankLine:"Пустая строка",horizontalRule:"Горизонтальная линия",heading:"Заголовок с названием заметки"},moveSourcesToTrash:"Переместить исходные заметки в корзину после объединения",mergeButton:"Объединить"},navRainbowSection:{title:t=>`Цвета радуги: ${t}`},iconPicker:{searchPlaceholder:"Поиск иконок...",recentlyUsedHeader:"Недавно использованные",emptyStateSearch:"Начните вводить для поиска иконок",emptyStateNoResults:"Иконки не найдены",showingResultsInfo:"Показано 50 из {count} результатов. Введите больше для уточнения.",emojiInstructions:"Введите или вставьте любой эмодзи, чтобы использовать его как иконку",removeIcon:"Удалить иконку",removeFromRecents:"Удалить из недавних",allTabLabel:"Все"},fileIconRuleEditor:{addRuleAria:"Добавить правило"},interfaceIcons:{title:"Иконки интерфейса",fileItemsSection:"Элементы файла",items:{"nav-shortcuts":"Ярлыки","nav-recent-files":"Недавние файлы","nav-expand-all":"Развернуть все","nav-collapse-all":"Свернуть все","nav-calendar":"Календарь","nav-tree-expand":"Стрелка дерева: развернуть","nav-tree-collapse":"Стрелка дерева: свернуть","nav-hidden-items":"Скрытые элементы","nav-root-reorder":"Изменить порядок корневых папок","nav-new-folder":"Новая папка","nav-show-single-pane":"Показать одну панель","nav-show-dual-pane":"Показать двойную панель","nav-profile-chevron":"Стрелка меню профиля","list-search":"Поиск","list-reveal-file":"Показать файл","list-descendants":"Заметки из подпапок","list-sort-ascending":"Порядок сортировки: по возрастанию","list-sort-descending":"Порядок сортировки: по убыванию","list-sort-modified":"Сортировать по дате изменения","list-sort-created":"Сортировать по дате создания","list-sort-title":"Сортировать по заголовку","list-sort-filename":"Сортировать по имени файла","list-sort-property":"Сортировать по свойству","list-appearance":"Изменить вид","list-new-note":"Новая заметка","list-pinned":"Закреплённые заметки","nav-folder-open":"Папка открыта","nav-folder-closed":"Папка закрыта","nav-tags":"Теги","nav-tag":"Тег","nav-properties":"Свойства","nav-property":"Свойство","nav-property-value":"Значение","file-unfinished-task":"Незавершённые задачи","file-word-count":"Количество слов","file-character-count":"Количество символов"}},colorPicker:{currentColor:"Текущий",newColor:"Новый",paletteDefault:"По умолчанию",paletteCustom:"Пользовательские",copyColors:"Копировать цвет",colorsCopied:"Цвет скопирован в буфер обмена",pasteColors:"Вставить цвет",pasteClipboardError:"Не удалось прочитать буфер обмена",pasteInvalidFormat:"Ожидалось hex-значение цвета",colorsPasted:"Цвет успешно вставлен",resetUserColors:"Очистить пользовательские цвета",clearCustomColorsConfirm:"Удалить все пользовательские цвета?",userColorSlot:"Цвет {slot}",recentColors:"Недавние цвета",clearRecentColors:"Очистить недавние цвета",removeRecentColor:"Удалить цвет",apply:"Применить",pickerLabel:"Выбор",hexLabel:"HEX",hexInputLabel:"HEX-значение цвета",saturationValueArea:"Насыщенность и яркость",hueSlider:"Оттенок",alphaSlider:"Прозрачность"},appearance:{tabIcon:"Значок",tabColor:"Цвет",tabBackground:"Фон",resetIcon:"Удалить иконку",resetColor:"Удалить цвет",resetBackground:"Удалить фон",clear:"Очистить стиль",apply:"Применить"},selectVaultProfile:{title:"Выбор профиля хранилища",currentBadge:"Активный",emptyState:"Нет доступных профилей хранилища."},tagOperation:{renameTitle:"Переименовать тег {tag}",deleteTitle:"Удалить тег {tag}",newTagPrompt:"Новое название тега",newTagPlaceholder:"Введите новое название тега",renameWarning:"Переименование тега {oldTag} изменит {count} {files}.",deleteWarning:"Удаление тега {tag} изменит {count} {files}.",modificationWarning:"Это обновит даты изменения файлов.",affectedFiles:"Затронутые файлы:",andMore:"...и ещё {count}",confirmRename:"Переименовать тег",renameUnchanged:"{tag} не изменён",renameNoChanges:"{oldTag} → {newTag} ({countLabel})",renameBatchNotFinalized:"Переименовано {renamed}/{total}. Не обновлено: {notUpdated}. Метаданные и ярлыки не были обновлены.",invalidTagName:"Введите корректное название тега.",descendantRenameError:"Нельзя переместить тег в себя или в потомка.",confirmDelete:"Удалить тег",deleteBatchNotFinalized:"Удалено из {removed}/{total}. Не обновлено: {notUpdated}. Метаданные и ярлыки не были обновлены.",checkConsoleForDetails:"Подробности в консоли.",file:"файл",files:"файлов",inlineParsingWarning:{title:"Совместимость встроенных тегов",message:"{tag} содержит символы, которые Obsidian не может обработать во встроенных тегах. Теги Frontmatter не затронуты.",confirm:"Всё равно использовать"}},propertyOperation:{renameTitle:"Переименовать свойство {property}",deleteTitle:"Удалить свойство {property}",newKeyPrompt:"Новое имя свойства",newKeyPlaceholder:"Введите новое имя свойства",renameWarning:"Переименование свойства {property} изменит {count} {files}.",renameConflictWarning:"Свойство {newKey} уже существует в {count} {files}. Переименование {oldKey} заменит существующие значения {newKey}.",deleteWarning:"Удаление свойства {property} изменит {count} {files}.",confirmRename:"Переименовать свойство",confirmDelete:"Удалить свойство",renameNoChanges:"{oldKey} → {newKey} (без изменений)",renameSettingsUpdateFailed:"Свойство {oldKey} → {newKey} переименовано. Не удалось обновить настройки.",deleteSingleSuccess:"Свойство {property} удалено из 1 заметки",deleteMultipleSuccess:"Свойство {property} удалено из {count} заметок",deleteSettingsUpdateFailed:"Свойство {property} удалено. Не удалось обновить настройки.",invalidKeyName:"Введите допустимое имя свойства."},fileSystem:{newFolderTitle:"Новая папка",renameFolderTitle:"Переименовать папку",renameFileTitle:"Переименовать файл",deleteFolderTitle:"Удалить '{name}'?",deleteFileTitle:"Удалить '{name}'?",deleteFileAttachmentsTitle:"Удалить вложения файла?",moveFileConflictTitle:"Конфликт перемещения",folderNamePrompt:"Введите название папки:",hideInOtherVaultProfiles:"Скрыть в других профилях хранилища",renamePrompt:"Введите новое название:",renameVaultTitle:"Изменить отображаемое имя хранилища",renameVaultPrompt:"Введите пользовательское имя (оставьте пустым для использования по умолчанию):",deleteFolderConfirm:"Вы уверены, что хотите удалить эту папку и всё её содержимое?",deleteFileConfirm:"Вы уверены, что хотите удалить этот файл?",deleteFileAttachmentsDescriptionSingle:"Это вложение больше не используется ни в одной заметке. Хотите его удалить?",deleteFileAttachmentsDescriptionMultiple:"Эти вложения больше не используются ни в одной заметке. Хотите их удалить?",deleteFileAttachmentsViewFileTreeAriaLabel:"Дерево файлов",deleteFileAttachmentsViewGalleryAriaLabel:"Галерея",moveFileConflictDescriptionSingle:"Обнаружен конфликт файла в «{folder}».",moveFileConflictDescriptionMultiple:"Обнаружено {count} конфликтов файлов в «{folder}».",moveFileConflictAffectedFiles:"Затронутые файлы",moveFileConflictItem:"«{name}» -> «{suggested}»{renameOnly}",moveFileConflictRenameOnly:"(только переименование)",moveFileConflictRename:"Переименовать",moveFileConflictOverwrite:"Перезаписать",removeAllTagsTitle:"Удалить все теги",removeAllTagsFromNote:"Вы уверены, что хотите удалить все теги из этой заметки?",removeAllTagsFromNotes:"Вы уверены, что хотите удалить все теги из {count} заметок?"},folderNoteType:{title:"Выберите тип заметки папки",folderLabel:"Папка: {name}"},folderSuggest:{placeholder:t=>`Переместить ${t} в папку...`,multipleFilesLabel:t=>`${t} файлов`,navigatePlaceholder:"Перейти к папке...",instructions:{navigate:"для навигации",move:"для перемещения",select:"для выбора",dismiss:"для закрытия"}},homepage:{placeholder:"Поиск файлов...",instructions:{navigate:"для навигации",select:"для установки домашней страницы",dismiss:"для закрытия"}},calendarTemplate:{placeholder:"Поиск шаблонов...",instructions:{navigate:"для навигации",select:"для выбора шаблона",dismiss:"для закрытия"}},navigationBanner:{placeholder:"Поиск изображений...",instructions:{navigate:"для навигации",select:"для установки баннера",dismiss:"для закрытия"}},tagSuggest:{navigatePlaceholder:"Перейти к тегу...",addPlaceholder:"Найти тег для добавления...",removePlaceholder:"Выберите тег для удаления...",createNewTag:"Создать новый тег: #{tag}",instructions:{navigate:"для навигации",select:"для выбора",dismiss:"для закрытия",add:"для добавления тега",remove:"для удаления тега"}},propertySuggest:{placeholder:"Выберите ключ свойства...",navigatePlaceholder:"Перейти к свойству...",instructions:{navigate:"для навигации",select:"для добавления свойства",dismiss:"для закрытия"}},propertyKeyVisibility:{title:"Видимость ключей свойств",description:"Управление отображением значений свойств. Столбцы соответствуют панели навигации, панели списка и контекстному меню файла. Используйте нижнюю строку для переключения всех строк в столбце.",searchPlaceholder:"Поиск ключей свойств...",propertyColumnLabel:"Свойство",showInNavigation:"Показать в навигации",showInList:"Показать в списке",showInFileMenu:"Показать в меню файла",toggleAllInNavigation:"Переключить все в навигации",toggleAllInList:"Переключить все в списке",toggleAllInFileMenu:"Переключить все в меню файла",applyButton:"Применить",emptyState:"Ключи свойств не найдены."},welcome:{title:"Добро пожаловать в {pluginName}",introText:"Привет! Перед началом работы настоятельно рекомендую посмотреть первые пять минут видео ниже, чтобы понять, как работают панели и переключатель «Показывать заметки из подпапок».",continueText:"Если у вас есть ещё пять минут, продолжите просмотр видео, чтобы понять компактные режимы отображения и как правильно настроить закладки и важные горячие клавиши.",thanksText:"Большое спасибо за загрузку, приятного использования!",videoAlt:"Установка и освоение Notebook Navigator",openVideoButton:"Воспроизвести видео",closeButton:"Может, позже"}},fileSystem:{errors:{createFolder:"Не удалось создать папку: {error}",createFile:"Не удалось создать файл: {error}",renameFolder:"Не удалось переименовать папку: {error}",renameFolderNoteConflict:'Невозможно переименовать: "{name}" уже существует в этой папке',renameFile:"Не удалось переименовать файл: {error}",deleteFolder:"Не удалось удалить папку: {error}",deleteFile:"Не удалось удалить файл: {error}",deleteAttachments:"Не удалось удалить вложения: {error}",mergeNotes:"Не удалось объединить заметки: {error}",mergeNotesOpenOutput:"Объединенная заметка создана как {name}, но ее не удалось открыть: {error}. Исходные заметки не изменены.",mergeNotesOpenSkipped:"Другой запрос на открытие файла получил приоритет.",mergeNotesTrashSources:"Объединенная заметка создана. Не удалось переместить {count} исходных заметок в корзину.",duplicateNote:"Не удалось дублировать заметку: {error}",duplicateFolder:"Не удалось дублировать папку: {error}",openVersionHistory:"Не удалось открыть историю версий: {error}",versionHistoryNotFound:"Команда истории версий не найдена. Убедитесь, что Obsidian Sync включён.",revealInExplorer:"Не удалось показать файл в проводнике: {error}",openInDefaultApp:"Не удалось открыть в приложении по умолчанию: {error}",openInDefaultAppNotAvailable:"Открытие в приложении по умолчанию недоступно на этой платформе",folderNoteAlreadyExists:"Заметка папки уже существует",folderAlreadyExists:'Папка "{name}" уже существует',folderNotesDisabled:"Включите заметки папок в настройках для конвертации файлов",folderNoteAlreadyLinked:"Этот файл уже является заметкой папки",folderNoteNotFound:"В выбранной папке нет заметки папки",folderNoteUnsupportedExtension:"Неподдерживаемое расширение файла: {extension}",folderNoteMoveFailed:"Не удалось переместить файл при конвертации: {error}",folderNoteRenameConflict:'Файл с именем "{name}" уже существует в папке',folderNoteConversionFailed:"Не удалось конвертировать файл в заметку папки",folderNoteConversionFailedWithReason:"Не удалось конвертировать файл в заметку папки: {error}",folderNoteOpenFailed:"Файл конвертирован, но не удалось открыть заметку папки: {error}",failedToDeleteFile:"Не удалось удалить {name}: {error}",failedToDeleteMultipleFiles:"Не удалось удалить {count} файлов",versionHistoryNotAvailable:"Служба истории версий недоступна",drawingAlreadyExists:"Рисунок с таким именем уже существует",failedToCreateDrawing:"Не удалось создать рисунок",noFolderSelected:"В Notebook Navigator не выбрана папка",noFileSelected:"Файл не выбран"},warnings:{linkBreakingNameCharacters:"Это имя содержит символы, которые ломают ссылки Obsidian: #, |, ^, %%, [[, ]].",forbiddenNameCharactersAllPlatforms:"Имена не могут начинаться с точки или содержать : или /.",forbiddenNameCharactersWindows:'Зарезервированные в Windows символы не разрешены: <, >, ", \\, |, ?, *.'},notices:{hideFolder:"Папка скрыта: {name}",showFolder:"Папка показана: {name}",mergeNotes:"Объединено {count} заметок в {name}"},notifications:{deletedMultipleFiles:"Удалено файлов: {count}",movedMultipleFiles:"Перемещено {count} файлов в {folder}",folderNoteConversionSuccess:'Файл конвертирован в заметку папки в "{name}"',folderMoved:'Папка "{name}" перемещена',deepLinkCopied:"URL Obsidian скопирован в буфер обмена",pathCopied:"Путь скопирован в буфер обмена",relativePathCopied:"Относительный путь скопирован в буфер обмена",tagAddedToNote:"Тег добавлен к 1 заметке",tagAddedToNotes:"Тег добавлен к {count} заметкам",tagRemovedFromNote:"Тег удалён из 1 заметки",tagRemovedFromNotes:"Тег удалён из {count} заметок",tagsClearedFromNote:"Все теги удалены из 1 заметки",tagsClearedFromNotes:"Все теги удалены из {count} заметок",noTagsToRemove:"Нет тегов для удаления",noFilesSelected:"Файлы не выбраны",mergeNotesRequireMultipleMarkdown:"Выберите не менее двух Markdown-заметок для объединения",tagOperationsNotAvailable:"Операции с тегами недоступны",propertyOperationsNotAvailable:"Операции со свойствами недоступны",tagsRequireMarkdown:"Теги поддерживаются только для Markdown-заметок",propertiesRequireMarkdown:"Свойства поддерживаются только в заметках Markdown",propertySetOnNote:"Свойство обновлено в 1 заметке",propertySetOnNotes:"Свойство обновлено в {count} заметках",manualSortPropertyRemovedFromNote:"Свойство сортировки удалено из 1 заметки",manualSortPropertyRemovedFromNotes:"Свойство сортировки удалено из {count} заметок",iconPackDownloaded:"{provider} загружен",iconPackUpdated:"{provider} обновлён ({version})",iconPackRemoved:"{provider} удалён",iconPackLoadFailed:"Не удалось загрузить {provider}",hiddenFileReveal:'Файл скрыт. Включите "Показать скрытые элементы" для отображения'},confirmations:{deleteMultipleFiles:"Вы уверены, что хотите удалить {count} файлов?",deleteConfirmation:"Это действие нельзя отменить."},defaultNames:{untitled:"Без названия"}},dragDrop:{errors:{cannotMoveIntoSelf:"Нельзя переместить папку в себя или в подпапку.",itemAlreadyExists:'Элемент с именем "{name}" уже существует в этом месте.',failedToMove:"Не удалось переместить: {error}",failedToAddTag:'Не удалось добавить тег "{tag}"',failedToSetProperty:"Не удалось обновить свойство: {error}",failedToClearTags:"Не удалось очистить теги",failedToMoveFolder:'Не удалось переместить папку "{name}"',failedToImportFiles:"Не удалось импортировать: {names}"},notifications:{filesAlreadyExist:"{count} файлов уже существуют в месте назначения",filesAlreadyHaveTag:"{count} файлов уже имеют этот тег или более специфичный",filesAlreadyHaveProperty:"{count} файлов уже имеют это свойство",noTagsToClear:"Нет тегов для очистки",fileImported:"Импортирован 1 файл",filesImported:"Импортировано файлов: {count}"}},dateGroups:{today:"Сегодня",yesterday:"Вчера",previous7Days:"Последние 7 дней",previous30Days:"Последние 30 дней"},commands:{open:"Открыть",toggleLeftSidebar:"Переключить левую боковую панель",openHomepage:"Открыть домашнюю страницу",openDailyNote:"Открыть ежедневную заметку",openWeeklyNote:"Открыть еженедельную заметку",openMonthlyNote:"Открыть ежемесячную заметку",openQuarterlyNote:"Открыть квартальную заметку",openYearlyNote:"Открыть годовую заметку",revealFile:"Показать файл",search:"Поиск",searchVaultRoot:"Поиск в корне хранилища",toggleDualPane:"Переключить двухпанельный режим",toggleDualPaneOrientation:"Переключить ориентацию двухпанельного режима",toggleCalendar:"Переключить календарь",selectVaultProfile:"Выбрать профиль хранилища",selectVaultProfile1:"Выбрать профиль хранилища 1",selectVaultProfile2:"Выбрать профиль хранилища 2",selectVaultProfile3:"Выбрать профиль хранилища 3",deleteFile:"Удалить файлы",createNewNote:"Создать новую заметку",createNewNoteFromTemplate:"Новая заметка из шаблона",moveFiles:"Переместить файлы",mergeNotes:"Объединить заметки",selectNextFile:"Выбрать следующий файл",selectPreviousFile:"Выбрать предыдущий файл",navigateBack:"Назад",navigateForward:"Вперёд",convertToFolderNote:"Конвертировать в заметку папки",setAsFolderNote:"Назначить заметкой папки",detachFolderNote:"Отвязать заметку папки",pinAllFolderNotes:"Закрепить все заметки папок",navigateToFolder:"Перейти к папке",navigateToTag:"Перейти к тегу",navigateToProperty:"Перейти к свойству",addShortcut:"Добавить в ярлыки",openShortcut:"Открыть ярлык {number}",toggleDescendants:"Переключить потомков",toggleHidden:"Переключить скрытые папки, теги и заметки",toggleTagSort:"Переключить сортировку тегов",toggleTagsBySelection:"Переключить теги по выбору",togglePropertiesBySelection:"Переключить свойства по выбору",toggleCompactMode:"Переключить компактный режим",togglePinnedSection:"Переключить закреплённый раздел",collapseExpand:"Свернуть / развернуть все элементы",collapseExpandSelectedItem:"Свернуть / развернуть выбранный элемент",addTag:"Добавить тег к выбранным файлам",setProperty:"Задать свойство для выбранных файлов",removeTag:"Удалить тег из выбранных файлов",removeAllTags:"Удалить все теги из выбранных файлов",openAllFiles:"Открыть все файлы",rebuildCache:"Пересобрать кэш"},plugin:{viewName:"Notebook Navigator",calendarViewName:"Календарь",folderNoteSidebarViewName:"Заметка папки",ribbonTooltip:"Notebook Navigator",revealInNavigator:"Показать в Notebook Navigator"},tooltips:{lastModifiedAt:"Последнее изменение",createdAt:"Создано",file:"файл",files:"файлов",folder:"папка",folders:"папок",wordCount:"Количество слов"},fileCounts:{words:"{count} слов",characters:"{count} символов",separator:" · "},settings:{changeDefaultSettings:"Изменить настройки по умолчанию",metadataReport:{exportSuccess:"Отчёт о неудачных метаданных экспортирован в: {filename}",exportFailed:"Не удалось экспортировать отчёт о метаданных"},sections:{general:"Общие",vaultFilters:"Фильтры отображения",appearanceBehavior:"Внешний вид и поведение",navigationPane:"Панель навигации",calendar:"Календарь",fileOperations:"Операции с файлами",icons:"Наборы иконок",folders:"Папки",folderNotes:"Заметки папок",folderNoteFiles:"Файлы заметок папок",foldersAndFolderNotes:"Папки и заметки папок",tagsAndProperties:"Теги и свойства",tags:"Теги",listPane:"Панель списка",notes:"Отображение файлов",shortcutsAndRecentFiles:"Ярлыки и недавние файлы",advanced:"Расширенные"},pageGroups:{configuration:"Конфигурация",navigationAndContent:"Панель навигации",notesAndLists:"Панель списка",calendarAndTools:"Календарь и инструменты"},pageDescriptions:{general:"Заметки о выпуске, поддержка, профиль хранилища, типы файлов и ключи свойств.",vaultFilters:"Скрытые папки, теги, файлы, теги файлов и правила свойств.",appearanceBehavior:"Поведение, навигация с клавиатуры, кнопки мыши, внешний вид и форматирование.",navigationPane:"Компоновка, внешний вид, количество заметок, поведение сворачивания и цвета радуги.",shortcuts:"Видимость ярлыков, значки, недавние файлы и закреплённые элементы.",calendar:"Отображение календаря, заметки дат, шаблоны, локаль и размещение боковой панели.",fileOperations:"Шаблоны, подтверждения удаления, вложения и поведение при конфликтах перемещения файлов.",foldersAndFolderNotes:"Отображение папок, заметки папок, шаблоны заметок папок и поведение заметок папок.",tagsProperties:"Разделы тегов и свойств, иконки, сортировка, область действия и наследование.",listPane:"Сортировка, группировка, режимы списка, закреплённые заметки и предпросмотр рисунков.",frontmatter:"Поля frontmatter для отображаемых имён, временных меток, иконок и цветов.",notes:"Заголовки, текст превью, изображения записей, теги, свойства, даты, количество слов и количество символов.",iconPacks:"Иконки интерфейса, иконки файлов и управление наборами иконок.",advanced:"Диагностика, очистка метаданных, импорт/экспорт и сброс."},groups:{general:{vaultConfiguration:"Настройка хранилища",templates:"Шаблоны",behavior:"Поведение",keyboardNavigation:"Навигация с клавиатуры",mouseButtons:"Кнопки мыши",view:"Внешний вид",icons:"Иконки",desktopAppearance:"Внешний вид на компьютере",mobileAppearance:"Мобильный вид",formatting:"Форматирование"},advanced:{maintenance:"Обслуживание",resetSettings:"Сброс настроек"},navigation:{appearance:"Внешний вид",banner:"Баннер",collapseItems:"Сворачивание элементов",dragAndDrop:"Перетаскивание",noteCounts:"Количество заметок",rainbowColors:"Цвета радуги",leftSidebar:"Левая боковая панель",calendarIntegration:"Интеграция с календарём"},list:{display:"Внешний вид",groupHeaders:"Заголовки групп",propertySort:"Сортировка по свойству",manualSort:"Ручная сортировка",pinnedNotes:"Закреплённые заметки",drawingPreviews:"Предпросмотр рисунков"},notes:{frontmatter:"Поля frontmatter",tasks:"Задачи",icon:"Иконка",title:"Заголовок",previewText:"Текст превью",featureImage:"Изображение записи",tags:"Теги",properties:"Свойства",date:"Дата",parentFolder:"Родительская папка",wordCount:"Количество слов и символов"}},syncMode:{notSynced:"(не синхронизировано)",switchToSynced:"Включить синхронизацию",switchToLocal:"Отключить синхронизацию"},items:{listPaneTitle:{name:"Заголовок панели списка",desc:"Выберите, где отображается заголовок панели списка.",options:{header:"Показывать в заголовке",list:"Показывать в панели списка",hidden:"Не показывать"}},sortNotesBy:{name:"Сортировка по умолчанию",desc:"Выберите порядок сортировки заметок по умолчанию.",options:{"modified-desc":"По дате изменения (новые сверху)","modified-asc":"По дате изменения (старые сверху)","created-desc":"По дате создания (новые сверху)","created-asc":"По дате создания (старые сверху)","title-asc":"По названию (А сверху)","title-desc":"По названию (Я сверху)","filename-asc":"Имя файла (А сверху)","filename-desc":"Имя файла (Я сверху)"},directions:{asc:"По возрастанию",desc:"По убыванию"},fields:{modified:"Дата изменения",created:"Дата создания",title:"Название",filename:"Имя файла",property:"Свойство"}},propertySortKey:{name:"Свойства для сортировки",desc:"Разделённые запятыми свойства frontmatter, отображаемые как варианты сортировки по свойству. Массивы объединяются в одну строку. Эти свойства не изменяются.",placeholder:"published, author"},propertySortSecondary:{name:"Вторичная сортировка",desc:"Используется при сортировке по свойству, когда у заметок одинаковое значение свойства или значение отсутствует.",options:{title:"Заголовок",filename:"Имя файла",created:"Дата создания",modified:"Дата редактирования"}},propertySortInstructions:{intro:"Каждое свойство, перечисленное выше, отображается как вариант сортировки в меню сортировки на панели списка. Выбор одного из них сортирует заметки по значению свойства frontmatter."},manualSortPropertyKey:{name:"Свойство ручной сортировки",desc:"Свойство frontmatter, используемое для хранения числовых значений индекса для ручной сортировки."},manualSortGroupHeaderProperty:{name:"Свойство заголовка группы",desc:"Свойство frontmatter, используемое для хранения произвольных заголовков групп."},groupHeadersInstructions:{intro:"Произвольные заголовки групп отображаются над заметками на панели списка.",items:["В меню сортировки на панели списка установите группировку **Произвольная**.","Щёлкните правой кнопкой мыши по заметке и выберите **Задать заголовок группы**, чтобы добавить заголовок над ней."]},manualSortNewNotePlacement:{name:"Размещение новых заметок",desc:"Выберите, где размещаются новые заметки, когда текущий список использует ручную сортировку.",options:{top:"Сверху",bottom:"Снизу","below-selected-note":"Под выбранной заметкой",unsorted:"Без сортировки"}},confirmBeforeManualSort:{name:"Подтверждать перед ручной сортировкой",desc:"Показывать предупреждение перед первой записью свойства ручной сортировки в заметки. Когда отключено, заметки получают свойство без предупреждения."},manualSortInstructions:{intro:"Ручная сортировка записывает числовое значение индекса в свойство frontmatter каждой заметки. Заметки без индекса отображаются в разделе «Без сортировки».",items:["Включите ручную сортировку, выбрав **Ручная сортировка** в меню сортировки. После этого есть два способа изменить порядок заметок.","Выберите **Изменить порядок сортировки...** в меню сортировки, чтобы открыть представление для изменения порядка. Перетаскивайте заметки мышью или касанием на мобильных устройствах. На компьютере **Cmd/Ctrl** или **Shift** клик выбирает несколько заметок, после чего перетаскивание любой из них перемещает всю группу.","В панели списка выберите одну заметку или несколько, затем нажмите **Cmd/Ctrl + Arrow Up/Down**, чтобы переместить выделение вверх или вниз."]},revealFileOnListChanges:{name:"Прокрутка к выбранному файлу при изменениях списка",desc:"Прокручивать к выбранному файлу при закреплении заметок, показе потомков, изменении внешнего вида папки или выполнении файловых операций."},includeDescendantNotes:{name:"Показывать заметки из подпапок / потомков",desc:"Включать заметки из вложенных подпапок и потомков тегов и свойств при просмотре папки, тега или свойства."},limitPinnedToCurrentFolder:{name:"Закреплять заметки только в их папке",desc:"Закреплённые заметки отображаются закреплёнными только в своей собственной папке. Полезно для заметок-папок или если у вас много закреплённых заметок. Не влияет на представления тегов или свойств."},separateNoteCounts:{name:"Показывать текущие заметки и заметки потомков отдельно",desc:'Отображать количество заметок в формате "текущие ▾ потомки" для папок, тегов и свойств.'},groupNotes:{name:"Группировка по умолчанию",desc:"Произвольная отображает заголовки, заданные в frontmatter. По дате группирует заметки по дате. По папке группирует заметки по папке. В представлениях тегов и свойств используются группы по дате, когда выбрана группировка по папке.",options:{custom:"Произвольная",date:"По дате",folder:"По папке"}},showSelectedNavigationPills:{name:"Всегда показывать все метки тегов и свойств",desc:"При отключении метки, совпадающие с текущим выбором навигации, скрываются (например, метка тега «рецепты» скрывается при просмотре тега «рецепты»). Включите, чтобы все метки оставались видимыми."},stickyGroupHeaders:{name:"Закреплённые заголовки групп",desc:"Сохранять видимым заголовок текущей даты, папки или раздела закреплённых при прокрутке."},showFolderGroupPaths:{name:"Показывать пути подпапок",desc:"При группировке по папке в панели списка показывать пути подпапок вместо только названий папок."},showCurrentFolderFilesAtBottom:{name:"Группировка по папкам: файлы текущей папки внизу",desc:"Если для группировки по умолчанию выбран вариант «Папка», файлы непосредственно в выбранной папке будут показаны ниже групп вложенных папок."},defaultListMode:{name:"Режим списка по умолчанию",desc:"Выберите стандартную разметку списка. Стандартный показывает название, дату, описание и превью. Компактный показывает только название. Можно переопределить внешний вид для каждой папки.",options:{standard:"Стандартный",compact:"Компактный"}},showFileIcons:{name:"Показывать иконки файлов",desc:"Отображать иконки файлов с выравниванием по левому краю. Отключение убирает и иконки, и отступы. Приоритет: значок незавершённых задач > пользовательский значок > значок папки > значок имени файла > значок типа файла > значок по умолчанию."},useFolderIcon:{name:"Использовать значок папки",desc:"Отображать значок родительской папки, когда не задан пользовательский значок файла. Цвет папки используется, когда не задан пользовательский цвет файла."},showFileIconUnfinishedTask:{name:"Значок незавершённых задач",desc:"Отображать значок задачи, когда заметка содержит незавершённые задачи."},showFileBackgroundUnfinishedTask:{name:"Фон незавершённых задач",desc:"Применять цвет фона, когда заметка содержит незавершённые задачи."},unfinishedTaskBackgroundColor:{name:"Цвет фона незавершённых задач",desc:"Задать цвет фона, используемый когда заметка содержит незавершённые задачи."},showFilenameMatchIcons:{name:"Иконки по имени файла",desc:"Назначить иконки файлам на основе текста в их именах."},fileNameIconMap:{name:"Сопоставление имён и иконок",desc:"Файлы, содержащие текст, получают указанную иконку. Одно сопоставление на строку: текст=иконка",placeholder:`# текст=иконка
встреча=ph-calendar
счёт=ph-receipt`,editTooltip:"Редактировать сопоставления"},showCategoryIcons:{name:"Иконки по типу файла",desc:"Назначить иконки файлам на основе их расширения."},fileTypeIconPreset:{name:"Предустановка иконок файлов",desc:"Выберите встроенные иконки или предустановку пакета иконок. Пользовательские правила расширений переопределяют эту предустановку.",options:{none:"Встроенные иконки"},notInstalledWarning:"Этот пакет иконок не установлен. Вместо него отображаются встроенные иконки."},fileTypeIconMap:{name:"Сопоставление типов и иконок",desc:"Файлы с расширением получают указанную иконку. Одно сопоставление на строку: расширение=иконка",placeholder:`# Extension=icon
cpp=ph-file-code
pdf=ph-file-pdf`,editTooltip:"Редактировать сопоставления"},compactItemHeight:{name:"Высота компактных элементов",desc:"Установите высоту компактных элементов списка на компьютере и мобильном (в пикселях).",resetTooltip:"Восстановить по умолчанию (28px)"},compactItemHeightScaleText:{name:"Масштабировать текст с высотой компактных элементов",desc:"Масштабировать текст компактного списка при уменьшении высоты элементов."},showParentFolder:{name:"Показывать родительскую папку",desc:"Отображать название родительской папки для заметок в подпапках, тегах или свойствах."},showParentFolderFullPath:{name:"Показывать полный путь",desc:"Отображать полный путь к родительской папке вместо только названия папки."},parentFolderClickRevealsFile:{name:"Клик по родительской папке открывает папку",desc:"Клик по метке родительской папки открывает папку в панели списка."},showParentFolderColor:{name:"Показывать цвет родительской папки",desc:"Использовать цвета папок на метках родительских папок."},showParentFolderIcon:{name:"Показывать иконку родительской папки",desc:"Показывать иконки папок рядом с метками родительских папок."},showQuickActions:{name:"Показывать быстрые действия",desc:"Показывать кнопки действий при наведении на файлы. Элементы управления выбирают, какие действия отображаются."},dualPane:{name:"Двухпанельный режим",desc:"Показывать панель навигации и панель списка рядом на компьютере."},dualPaneOrientation:{name:"Ориентация двухпанельного режима",desc:"Выберите горизонтальную или вертикальную разметку при активном двухпанельном режиме.",options:{horizontal:"Горизонтальное разделение",vertical:"Вертикальное разделение"}},narrowSidebarLayout:{name:"Когда боковая панель слишком узкая",desc:"Выберите, что происходит, когда панель навигации и панель списка не помещаются рядом.",options:{none:"Ничего не делать",singlePane:"Переключиться на одну панель",vertical:"Переключиться на вертикальное разделение"}},narrowSidebarTrigger:{name:"Порог узкой боковой панели",desc:"Выберите, как рассчитывается порог ширины боковой панели.",options:{fitPanes:"Уместить панели",customWidth:"Пользовательская ширина"}},narrowSidebarCustomWidth:{name:"Ширина порога узкой боковой панели",desc:"Переключаться, когда боковая панель уже этой ширины.",resetTooltip:"Сбросить до ширины по умолчанию"},appearanceBackground:{name:"Цвет фона",desc:"Выберите цвета фона для панелей навигации и списка.",options:{separate:"Раздельные фоны",primary:"Использовать фон списка",secondary:"Использовать фон навигации"}},appearanceScale:{name:"Уровень масштабирования",desc:"Управляет общим масштабом Notebook Navigator (в процентах)."},useFloatingToolbars:{name:"Использовать плавающие панели инструментов на iOS/iPadOS",desc:"Применяется только на iOS и iPadOS."},startView:{name:"Начальный вид по умолчанию",desc:"Выберите, какая панель отображается при открытии Notebook Navigator. Панель навигации показывает ярлыки, недавние файлы и дерево папок. Панель списка сразу показывает список файлов.",options:{navigation:"Панель навигации",files:"Панель списка"}},toolbarButtons:{name:"Кнопки панели инструментов",desc:"Выберите, какие кнопки отображаются на панели инструментов. Скрытые кнопки остаются доступными через команды и меню.",navigationLabel:"Панель навигации",listLabel:"Панель списка"},createNewNotesInNewTab:{name:"Открывать новые заметки в новой вкладке",desc:"Если включено, команда «Создать новую заметку» открывает заметки в новой вкладке. Если выключено, заметки заменяют текущую вкладку."},autoRevealActiveNote:{name:"Автопоказ активной заметки",desc:"Автоматически показывать заметки, открытые из быстрого переключателя, ссылок или поиска."},autoRevealShortestPath:{name:"Автопоказ: Использовать кратчайший путь",desc:"Включено: Автопоказ выбирает ближайшую видимую родительскую папку или тег. Выключено: Автопоказ выбирает фактическую папку файла и точный тег."},autoRevealIgnoreRightSidebar:{name:"Автопоказ: Игнорировать события из правой боковой панели",desc:"Не менять активную заметку при клике или изменении заметок в правой боковой панели."},autoRevealIgnoreOtherWindows:{name:"Автопоказ: Игнорировать события из других окон",desc:"Не менять активную заметку при работе с заметками в другом окне."},paneTransitionDuration:{name:"Анимация одиночной панели",desc:"Длительность перехода при переключении панелей в режиме одиночной панели (миллисекунды).",resetTooltip:"Сбросить по умолчанию"},autoSelectFirstFileOnFocusChange:{name:"Автовыбор первой заметки",desc:"Автоматически открывать первую заметку при смене папок, тегов или свойств."},skipAutoScroll:{name:"Отключить автопрокрутку для ярлыков",desc:"Не прокручивать панель навигации при клике по элементам в ярлыках."},autoExpandNavItems:{name:"Разворачивать при выборе",desc:"Разворачивать папки и теги при выборе. В однопанельном режиме первый выбор разворачивает, второй показывает файлы."},collapseOtherBranchesOnExpand:{name:"Одна развернутая ветка",desc:"Сворачивать другие ветки в том же дереве при разворачивании папки, тега или свойства."},springLoadedFolders:{name:"Разворачивать при перетаскивании",desc:"Разворачивать папки и теги при наведении во время перетаскивания."},springLoadedFoldersInitialDelay:{name:"Разворачивать при перетаскивании: Задержка первого разворачивания",desc:"Задержка перед разворачиванием первой папки или тега во время перетаскивания (секунды)."},springLoadedFoldersSubsequentDelay:{name:"Разворачивать при перетаскивании: Задержка последующих разворачиваний",desc:"Задержка перед разворачиванием дополнительных папок или тегов во время того же перетаскивания (секунды)."},navigationBanner:{name:"Баннер навигации (профиль хранилища)",desc:"Показывать изображение над панелью навигации. Меняется с выбранным профилем хранилища.",current:"Текущий баннер: {path}",chooseButton:"Выбрать изображение"},pinNavigationBanner:{name:"Закрепить баннер",desc:"Закрепить баннер навигации над деревом навигации."},showShortcuts:{name:"Показывать ярлыки",desc:"Отображать раздел ярлыков в панели навигации."},shortcutBadgeDisplay:{name:"Значок ярлыка",desc:"Что отображать рядом с ярлыками. Используйте команды 'Открыть ярлык 1-9' для прямого открытия ярлыков.",options:{index:"Позиция (1-9)",count:"Количество элементов",none:"Нет"}},showRecentNotes:{name:"Показывать недавние файлы",desc:"Отображать раздел недавних файлов в панели навигации."},hideRecentNotes:{name:"Скрыть типы файлов из недавних файлов",desc:"Выберите типы файлов для скрытия в разделе недавних файлов.",options:{none:"Нет",folderNotes:"Заметки папок"}},recentNotesCount:{name:"Количество недавних файлов",desc:"Количество отображаемых недавних файлов."},pinRecentNotesWithShortcuts:{name:"Закрепить недавние файлы вместе с ярлыками",desc:"Включать недавние файлы при закреплении ярлыков."},calendarEnabled:{name:"Включить календарь",desc:"Включить функции календаря в Notebook Navigator."},calendarPlacement:{name:"Расположение календаря",desc:"Отображать на левой или правой боковой панели.",options:{leftSidebar:"Левая боковая панель",rightSidebar:"Правая боковая панель"}},calendarLeftPlacement:{name:"Расположение в режиме одной панели",desc:"Где отображается календарь в режиме одной панели.",options:{navigationPane:"Панель навигации",below:"Под панелями"}},calendarLocale:{name:"Язык",desc:"Управляет форматированием дат календаря, нумерацией недель и первым днём недели.",weekPathMismatchWarning:"Видимый календарь и пути еженедельных заметок используют разные начала недели или разную нумерацию недель.",options:{systemDefault:"По умолчанию"}},calendarWeekendDays:{name:"Выходные дни",desc:"Отображать выходные дни с другим цветом фона.",options:{none:"Нет",satSun:"Суббота и воскресенье",friSat:"Пятница и суббота",thuFri:"Четверг и пятница"}},calendarMonthHeadingFormat:{name:"Формат названия месяца",desc:"Полное (январь) или сокращённое (янв.) название месяца.",options:{full:"январь (полный)",short:"янв. (короткий)"}},showInfoButtons:{name:"Показать кнопки информации",desc:"Отображать кнопки информации в строке поиска и заголовке календаря."},calendarWeeksToShow:{name:"Недель для отображения на левой боковой панели",desc:"Календарь на правой боковой панели всегда отображает полный месяц.",options:{fullMonth:"Полный месяц",oneWeek:"1 неделя",weeksCount:"{count} недель"}},calendarHighlightToday:{name:"Выделять сегодняшнюю дату",desc:"Выделять сегодняшнюю дату цветом фона и жирным текстом."},calendarShowFeatureImage:{name:"Показать изображение-обложку",desc:"Отображать изображения-обложки заметок в календаре."},calendarShowWeekNumber:{name:"Показать номер недели",desc:"Добавить колонку с номером недели."},calendarShowQuarter:{name:"Показать квартал",desc:"Добавить метку квартала в заголовок календаря."},calendarShowYearCalendar:{name:"Показать годовой календарь",desc:"Отображать навигацию по годам и сетку месяцев в правой боковой панели."},calendarConfirmBeforeCreate:{name:"Подтвердить перед созданием",desc:"Показать диалог подтверждения при создании новой ежедневной заметки."},calendarIntegrationMode:{name:"Источник ежедневных заметок",desc:"Источник для заметок календаря.",options:{dailyNotes:"Ежедневные заметки (основной плагин)",notebookNavigator:"Notebook Navigator"},info:{dailyNotes:"Папка и формат даты настраиваются в плагине Daily Notes."}},calendarPeriodicNotesLocale:{name:"Язык периодических заметок",desc:"Управляет локализованными названиями месяцев, названиями дней недели, номерами недель и началом недели в путях периодических заметок Notebook Navigator.",options:{calendar:"Календарь",obsidian:"Obsidian"}},calendarCustomRootFolder:{name:"Корневая папка",desc:"Базовая папка для периодических заметок. Шаблоны дат могут включать подпапки. Изменяется с выбранным профилем хранилища.",placeholder:"Personal/Diary"},calendarTemplateFolder:{name:"Расположение папки шаблонов",desc:"Выбор файла шаблона показывает заметки из этой папки.",placeholder:"Templates",usage:"Используется заметками календаря и заметками папок. Настройте шаблоны в Календарь > Интеграция с календарём и Папки и заметки папок > Файлы заметок папок."},calendarCustomFilePattern:{name:"Ежедневные заметки",desc:"Формат пути с использованием формата даты Moment. Заключайте названия подпапок в скобки, напр. [Work]/YYYY. Нажмите на значок шаблона, чтобы задать шаблон. Укажите расположение папки шаблонов в Операции с файлами > Шаблоны.",momentDescPrefix:"Формат пути с использованием ",momentLinkText:"формата даты Moment",momentDescSuffix:". Заключайте названия подпапок в скобки, напр. [Work]/YYYY. Нажмите на значок шаблона, чтобы задать шаблон. Укажите расположение папки шаблонов в Операции с файлами > Шаблоны.",templaterSupportInstalled:"✅ Плагин Templater установлен с полной поддержкой шаблонов.",templaterSupportMissing:"⚠️ Установите плагин Templater для полной поддержки шаблонов.",placeholder:"YYYY/YYYYMMDD",example:"Текущий синтаксис: {path}",parsingError:"Шаблон должен форматироваться и разбираться обратно как полная дата (год, месяц, день)."},calendarCustomWeekPattern:{name:"Еженедельные заметки",parsingError:"Шаблон должен форматироваться и разбираться обратно как полная неделя (год недели, номер недели).",weekPathMismatchWarning:'Пути еженедельных заметок используют язык периодических заметок. Используйте совпадающие языки или используйте "GGGG" с "WW" для недель, начинающихся с понедельника.',mixedWeekTokensWarning:'Этот шаблон смешивает токены недели, начинающейся с понедельника ("W" или "G"), с токенами недели на основе локали ("w" или "g"). Используйте один набор последовательно: "GGGG" с "WW" для недель, начинающихся с понедельника, или "gggg" с "ww", если еженедельные заметки должны соответствовать выбранной локали.'},calendarCustomMonthPattern:{name:"Ежемесячные заметки",parsingError:"Шаблон должен форматироваться и разбираться обратно как полный месяц (год, месяц)."},calendarCustomQuarterPattern:{name:"Квартальные заметки",parsingError:"Шаблон должен форматироваться и разбираться обратно как полный квартал (год, квартал)."},calendarCustomYearPattern:{name:"Годовые заметки",parsingError:"Шаблон должен форматироваться и разбираться обратно как полный год (год)."},calendarTemplateFile:{current:"Файл шаблона: {name}"},showTooltips:{name:"Показывать подсказки",desc:"Отображать всплывающие подсказки с дополнительной информацией для заметок и папок."},showTooltipPath:{name:"Показывать путь в подсказках",desc:"Отображать путь к папке под названиями заметок в подсказках."},showTooltipWordCount:{name:"Показывать количество слов в подсказках",desc:"Отображать количество слов в заметках в подсказках."},resetPaneSeparator:{name:"Сбросить положение разделителя панелей",desc:"Сбросить перетаскиваемый разделитель между панелью навигации и панелью списка в положение по умолчанию.",buttonText:"Сбросить разделитель",notice:"Положение разделителя сброшено. Перезапустите Obsidian или переоткройте Notebook Navigator для применения."},settingsTransfer:{name:"Импорт и экспорт настроек",desc:"Экспорт или импорт настроек Notebook Navigator в формате JSON. Импорт заменяет все настройки.",importButtonText:"Импорт",exportButtonText:"Экспорт",import:{modalTitle:"Импорт настроек",fileButtonName:"Импорт из файла",fileButtonDesc:"Загрузить JSON-файл с диска.",fileButtonText:"Импорт из файла",editorName:"JSON",editorDesc:"Вставьте или отредактируйте JSON ниже. Не включённые настройки сбрасываются к значениям по умолчанию.",placeholder:`{
  "folderSortOrder": "alpha-desc"
}`,confirmButtonText:"Импортировать",successNotice:"Настройки импортированы.",errorNotice:"Не удалось импортировать настройки: {message}",fileReadError:"Не удалось прочитать файл: {message}"},export:{modalTitle:"Экспорт настроек",editorName:"JSON",editorDesc:"Включены только настройки, отличающиеся от значений по умолчанию.",placeholder:"{}",copyButtonText:"Копировать в буфер обмена",downloadButtonText:"Скачать",copyNotice:"Настройки скопированы в буфер обмена.",downloadNotice:"Настройки экспортированы.",downloadError:"Не удалось скачать настройки: {message}"}},resetAllSettings:{name:"Сбросить все настройки",desc:"Сбросить все настройки Notebook Navigator к значениям по умолчанию.",buttonText:"Сбросить все настройки",confirmTitle:"Сбросить все настройки?",confirmMessage:"Это сбросит все настройки Notebook Navigator к значениям по умолчанию. Это нельзя отменить.",confirmButtonText:"Сбросить все настройки",notice:"Все настройки сброшены. Перезапустите Obsidian или переоткройте Notebook Navigator для применения.",error:"Не удалось сбросить настройки."},multiSelectModifier:{name:"Модификатор множественного выбора",desc:"Выберите, какая клавиша-модификатор переключает множественный выбор. При выборе Option/Alt, клик с Cmd/Ctrl открывает заметки в новой вкладке.",options:{cmdCtrl:"Клик с Cmd/Ctrl",optionAlt:"Клик с Option/Alt"}},enterToOpenFiles:{name:"Нажать Enter для открытия файлов",desc:"Открывать файлы только при нажатии Enter во время навигации по списку с клавиатуры. В macOS это не позволяет Enter переименовывать файлы."},shiftEnterOpenContext:{name:"Shift+Enter",desc:"Выберите, будет ли Shift+Enter открывать или переименовывать выбранный файл."},cmdEnterOpenContext:{name:"Cmd+Enter",desc:"Выберите, будет ли Cmd+Enter открывать или переименовывать выбранный файл."},ctrlEnterOpenContext:{name:"Ctrl+Enter",desc:"Выберите, будет ли Ctrl+Enter открывать или переименовывать выбранный файл."},mouseBackForwardAction:{name:"Кнопки «Назад»/«Вперёд» мыши",desc:"Действие кнопок «Назад» и «Вперёд» мыши на десктопе.",options:{none:"Использовать системное значение",singlePaneSwitch:"Переключение панелей (одна панель)",history:"Навигация по истории"}},fileVisibility:{name:"Показывать типы файлов (профиль хранилища)",desc:"Фильтруйте, какие типы файлов отображаются в навигаторе. Типы файлов, не поддерживаемые Obsidian, могут открываться во внешних приложениях.",options:{documents:"Документы (.md, .canvas, .base)",supported:"Поддерживаемые (открываются в Obsidian)",all:"Все (могут открываться внешне)"}},homepage:{name:"Домашняя страница",desc:"Выберите, что Notebook Navigator открывает автоматически при запуске.",current:"Текущая: {path}",chooseButton:"Выбрать файл",options:{none:"Нет",file:"Файл",dailyNote:"Ежедневная заметка",weeklyNote:"Еженедельная заметка",monthlyNote:"Ежемесячная заметка",quarterlyNote:"Ежеквартальная заметка",yearlyNote:"Ежегодная заметка"},file:{name:"Домашняя страница: Файл запуска",empty:"Файл не выбран"},createMissing:{name:"Домашняя страница: Создавать заметку, если отсутствует",desc:"Создаёт периодическую заметку при запуске или по команде, если её не существует."}},excludedNotes:{name:"Скрыть заметки по правилам свойств (профиль хранилища)",desc:"Список правил frontmatter через запятую. Используйте записи `key` или `key=value` (например, status=done, published=true, archived).",placeholder:"status=done, published=true, archived"},excludedFileNamePatterns:{name:"Скрыть файлы (профиль хранилища)",desc:"Список шаблонов имён файлов через запятую для скрытия. Поддерживает подстановочные знаки * и пути / (например, temp-*, *.png, /assets/*).",placeholder:"temp-*, *.png, /assets/*"},vaultProfiles:{name:"Профиль хранилища",desc:"Профили хранят видимость типов файлов, скрытые файлы, скрытые папки, скрытые теги, правила свойств для скрытых заметок, ярлыки и баннер навигации. Переключайте профили из заголовка панели навигации.",defaultName:"По умолчанию",addButton:"Добавить профиль",editProfilesButton:"Редактировать профили",addProfileOption:"Добавить профиль...",applyButton:"Применить",deleteButton:"Удалить профиль",addModalTitle:"Добавить профиль",editProfilesModalTitle:"Редактировать профили",addModalPlaceholder:"Название профиля",deleteModalTitle:"Удалить {name}",deleteModalMessage:"Удалить {name}? Фильтры скрытых файлов, папок, тегов и заметок на основе свойств, сохранённые в этом профиле, будут удалены.",moveUp:"Переместить вверх",moveDown:"Переместить вниз",errors:{emptyName:"Введите название профиля",duplicateName:"Профиль с таким названием уже существует"}},vaultTitle:{name:"Расположение названия хранилища",desc:"Выберите, где отображается название хранилища.",options:{header:"Показать в заголовке",navigation:"Показать в панели навигации"}},excludedFolders:{name:"Скрыть папки (профиль хранилища)",desc:"Список папок через запятую для скрытия. Шаблоны имён: assets* (папки, начинающиеся с assets), *_temp (заканчивающиеся на _temp). Шаблоны путей: /archive (только корневой archive), /res* (корневые папки, начинающиеся с res), /*/temp (папки temp на один уровень вглубь), /projects/* (все папки внутри projects).",placeholder:"templates, assets*, /archive, /res*"},showFileDate:{name:"Показывать дату",desc:"Отображать дату под названиями заметок."},alphabeticalDateMode:{name:"При сортировке по имени",desc:"Какую дату показывать при алфавитной сортировке заметок.",options:{created:"Дата создания",modified:"Дата изменения"}},showFileTags:{name:"Показывать теги файлов",desc:"Отображать кликабельные теги в элементах файлов."},showFileTagAncestors:{name:"Показывать полные пути тегов",desc:"Отображать полные пути иерархии тегов. При включении: 'ai/openai', 'work/projects/2024'. При отключении: 'openai', '2024'."},colorFileTags:{name:"Цветные теги файлов",desc:"Применять цвета тегов к значкам тегов на элементах файлов."},prioritizeColoredFileTags:{name:"Показывать цветные теги первыми",desc:"Сортировать цветные теги перед другими тегами на элементах файлов."},showFileTagsInCompactMode:{name:"Показывать теги файлов в компактном режиме",desc:"Отображать теги, когда дата, превью и изображение скрыты."},showFileProperties:{name:"Показывать свойства файлов",desc:"Отображать свойства в элементах файлов. Выберите отображаемые свойства в окне «Видимость ключей свойств»."},colorFileProperties:{name:"Окрашивать свойства файлов",desc:"Применять цвета свойств к значкам свойств на элементах файлов."},prioritizeColoredFileProperties:{name:"Показывать цветные свойства первыми",desc:"Сортировать цветные свойства перед другими свойствами на элементах файлов."},showFilePropertiesInCompactMode:{name:"Показывать свойства в компактном режиме",desc:"Отображать свойства при активном компактном режиме."},textCountDisplay:{name:"Тип счётчика",desc:"Выберите, какие счётчики заметок отображаются в элементах файлов.",options:{none:"Нет",words:"Количество слов",characters:"Количество символов",both:"Количество слов и символов"}},textCountPlacement:{name:"Размещение",desc:"Выберите, где отображаются счётчики заметок.",options:{title:"В заголовке",property:"Как свойство"}},characterCountSpaces:{name:"Количество символов",desc:"Выберите, учитывать ли пробелы в количестве символов.",options:{include:"С пробелами",exclude:"Без пробелов"}},wordCountTargetProperty:{name:"Целевое свойство",desc:"Ключ свойства frontmatter с целевым количеством слов. Оставьте пустым, чтобы скрыть цели."},showWordCountPercentage:{name:"Показывать процент цели",desc:"Показывать только процент выполнения, когда доступно целевое количество слов."},propertyFields:{name:"Ключи свойств (профиль хранилища)",desc:"Ключи свойств метаданных с настройкой видимости для каждого ключа в навигации и списке файлов.",addButtonTooltip:"Настроить ключи свойств",noneConfigured:"Свойства не настроены",singleConfigured:"1 свойство настроено: {properties}",multipleConfigured:"{count} свойств настроено: {properties}"},showPropertiesOnSeparateRows:{name:"Показывать свойства в отдельных строках",desc:"Показывать каждое свойство в собственной строке."},enablePropertyInternalLinks:{name:"Связать метки свойств с заметками",desc:"Нажмите на метку свойства, чтобы открыть связанную заметку."},enablePropertyExternalLinks:{name:"Связать метки свойств с URL-адресами",desc:"Нажмите на метку свойства, чтобы открыть связанный URL-адрес."},dateFormat:{name:"Формат даты",desc:"Формат отображения дат (использует формат Moment).",placeholder:"D MMMM YYYY",help:`Распространённые форматы:
D MMMM YYYY = 25 мая 2022
DD.MM.YYYY = 25.05.2022
YYYY-MM-DD = 2022-05-25

Токены:
YYYY/YY = год
MMMM/MMM/MM = месяц
DD/D = день
dddd/ddd = день недели`,helpTooltip:"Формат Moment",momentLinkText:"формат Moment"},timeFormat:{name:"Формат времени",desc:"Формат отображения времени (использует формат Moment).",placeholder:"HH:mm",help:`Распространённые форматы:
HH:mm = 14:30 (24-часовой)
h:mm a = 2:30 PM (12-часовой)
HH:mm:ss = 14:30:45
h:mm:ss a = 2:30:45 PM

Токены:
HH/H = 24-часовой
hh/h = 12-часовой
mm = минуты
ss = секунды
a = AM/PM`,helpTooltip:"Формат Moment",momentLinkText:"формат Moment"},showFilePreview:{name:"Показывать превью заметки",desc:"Отображать текст превью под названиями заметок."},skipHeadingsInPreview:{name:"Пропускать заголовки в превью",desc:"Пропускать строки заголовков при генерации текста превью."},skipCodeBlocksInPreview:{name:"Пропускать блоки кода в превью",desc:"Пропускать блоки кода при генерации текста превью."},stripHtmlInPreview:{name:"Удалять HTML в превью",desc:"Удалять HTML-теги из текста предпросмотра. Может влиять на производительность при больших заметках."},stripLatexInPreview:{name:"Удалять LaTeX в превью",desc:"Удалять встроенные и блочные выражения LaTeX из текста предпросмотра."},previewProperties:{name:"Свойства превью",desc:"Список свойств frontmatter через запятую для проверки текста превью. Используется первое свойство с текстом.",placeholder:"summary, description, abstract"},previewPropertiesFallback:{name:"Использовать содержимое заметки",desc:"Показывать содержимое заметки как превью, когда ни одно из указанных свойств не содержит текста."},previewRows:{name:"Строки превью",desc:"Количество строк для отображения текста превью.",options:{1:"1 строка",2:"2 строки",3:"3 строки",4:"4 строки",5:"5 строк"}},fileNameRows:{name:"Строки заголовка",desc:"Количество строк для отображения названий заметок.",options:{1:"1 строка",2:"2 строки",3:"3 строки"}},useFolderColor:{name:"Использовать цвет папки",desc:"Окрашивать заголовки заметок и значки файлов цветом родительской папки, когда не задан пользовательский цвет файла. Приоритет: пользовательский цвет файла > цвет папки > цвет по умолчанию."},showFeatureImage:{name:"Показывать изображение",desc:"Отображает миниатюру первого изображения в заметке."},forceSquareFeatureImage:{name:"Квадратные изображения",desc:"Отображать изображения как квадратные миниатюры."},featureImageProperties:{name:"Свойства изображения",desc:"Список свойств frontmatter через запятую для проверки в первую очередь. При отсутствии используется первое изображение из содержимого markdown.",placeholder:"thumbnail, featureResized, feature"},featureImageExcludeProperties:{name:"Исключить заметки со свойствами",desc:"Список свойств frontmatter через запятую. Заметки, содержащие любое из этих свойств, не сохраняют главные изображения.",placeholder:"private, confidential"},featureImageSize:{name:"Размер отображения изображения-обложки",desc:"Максимальный размер отображения изображений-обложек в списках заметок.",options:{standard:"64 px",large:"96 px",extraLarge:"128 px"}},featureImagePixelSize:{name:"Пиксельный размер изображения-обложки",desc:"Разрешение, используемое при создании сохранённых миниатюр изображений-обложек. Увеличьте это значение, если крупные превью выглядят размытыми.",options:{standard:"256 x 144 px",large:"384 x 216 px",extraLarge:"512 x 288 px"}},downloadExternalFeatureImages:{name:"Загружать внешние изображения",desc:"Загружать удалённые изображения и миниатюры YouTube для обложек."},hideDrawingPreviewImages:{name:"Скрыть экспортированные изображения предпросмотра",desc:"Скрывает экспортированные PNG-файлы предпросмотра рисунков. Включите «Показать скрытые элементы», чтобы отобразить их."},drawingIntegrationInfo:{intro:"Notebook Navigator показывает PNG-файлы, экспортированные Excalidraw, как предпросмотры рисунков.",items:["В **настройках Excalidraw** откройте **Embedding Excalidraw into your Notes and Exporting**, затем **Export Settings**, затем **Auto-export Settings**.","Включите **Auto-export PNG**. По желанию включите **Export both dark- and light-themed image**.","Notebook Navigator ищет **Drawing.excalidraw.png**, **Drawing.excalidraw.dark.png** или **Drawing.excalidraw.light.png**.","Пока включён параметр **Скрыть экспортированные изображения предпросмотра**, PNG-файлы отображаются только при включённом **Показать скрытые элементы**."]},showRootFolder:{name:"Показывать корневую папку",desc:"Отображать название хранилища как корневую папку в дереве."},showFolderIcons:{name:"Показывать иконки папок",desc:"Отображать иконки рядом с папками в панели навигации."},inheritFolderColors:{name:"Наследовать цвета папок",desc:"Дочерние папки наследуют цвет от родительских папок."},folderSortOrder:{name:"Сортировка папок",desc:"Щёлкните правой кнопкой мыши по папке, чтобы задать другой порядок сортировки для её дочерних элементов.",options:{alphaAsc:"От А до Я",alphaDesc:"От Я до А"}},showNoteCount:{name:"Показывать количество заметок",desc:"Отображать количество заметок рядом с папками, тегами и свойствами."},showSectionIcons:{name:"Показывать иконки для ярлыков и недавних",desc:"Отображать иконки рядом с элементами в разделах Ярлыки и Недавние."},interfaceIcons:{name:"Иконки интерфейса",desc:"Редактировать иконки панели инструментов, папок, тегов, свойств, закреплённых, поиска и сортировки.",buttonText:"Редактировать иконки"},showIconsColorOnly:{name:"Применять цвет только к иконкам",desc:"При включении пользовательские цвета применяются только к иконкам. При отключении цвета применяются и к иконкам, и к текстовым меткам."},navRainbowMode:{name:"Режим цветов радуги (профиль хранилища)",desc:"Применить цвета радуги в панели навигации.",options:{none:"Выкл.",foreground:"Цвет текста",background:"Цвет фона"}},navRainbowFirstColor:{name:"Первый цвет",desc:"Первый цвет в радужном градиенте."},navRainbowLastColor:{name:"Последний цвет",desc:"Последний цвет в радужном градиенте."},navRainbowTransitionStyle:{name:"Стиль перехода",desc:"Интерполяция между первым и последним цветом.",options:{hue:"Тон",rgb:"RGB"}},navRainbowApplyToShortcuts:{name:"Применить к ярлыкам",desc:"Применить цвета радуги к ярлыкам."},navRainbowApplyToRecent:{name:"Применить к недавним элементам",desc:"Применить цвета радуги к недавним элементам."},navRainbowApplyToFolders:{name:"Применить к папкам",desc:"Применить цвета радуги к папкам."},navRainbowFolderScope:{name:"Область папок",desc:"Выбрать уровни папок для начала назначения цветов.",options:{root:"Корневой уровень",child:"Дочерний уровень",all:"Каждый уровень"}},navRainbowApplyToTags:{name:"Применить к тегам",desc:"Применить цвета радуги к тегам."},navRainbowTagScope:{name:"Область тегов",desc:"Выбрать уровни тегов для начала назначения цветов.",options:{root:"Корневой уровень",child:"Дочерний уровень",all:"Каждый уровень"}},navRainbowApplyToProperties:{name:"Применить к свойствам",desc:"Применить цвета радуги к свойствам."},navRainbowBalanceHueLuminance:{name:"Равномерная яркость между оттенками",desc:"Интерполирует яркость между начальным и конечным цветами при переходах оттенков."},navRainbowSeparateThemeColors:{name:"Раздельные цвета для светлого и тёмного режимов",desc:"Использовать разные цвета радуги для светлого и тёмного режимов."},navRainbowCopyLightToDark:"Копировать цвет светлого режима в тёмный режим",navRainbowPropertyScope:{name:"Область свойств",desc:"Выбрать уровни свойств для начала назначения цветов.",options:{root:"Корневой уровень",child:"Дочерний уровень",all:"Каждый уровень"}},collapseBehavior:{name:"Сворачивание элементов",desc:"Выберите, на что влияет кнопка развернуть/свернуть всё.",options:{all:"Все",foldersOnly:"Только папки",tagsOnly:"Только теги",propertiesOnly:"Только свойства"}},smartCollapse:{name:"Сохранять выбранный элемент развёрнутым",desc:"При сворачивании сохранять выбранный элемент и его родителей развёрнутыми."},excludeVaultRootFromCollapse:{name:"Пропускать корень хранилища при сворачивании",desc:"При сворачивании всех элементов оставлять корневую папку хранилища в текущем состоянии."},navIndent:{name:"Отступ дерева",desc:"Настройте ширину отступа для вложенных папок, тегов и свойств (в пикселях)."},navItemHeight:{name:"Высота элемента",desc:"Настройте высоту папок, тегов и свойств в панели навигации (в пикселях)."},navItemHeightScaleText:{name:"Масштабировать текст с высотой элемента",desc:"Уменьшать размер текста навигации при уменьшении высоты элемента."},showIndentGuides:{name:"Показать направляющие отступов",desc:"Отображать направляющие отступов для вложенных папок, тегов и свойств."},navCountLeaderStyle:{name:"Показать заполнители",desc:"Отображать точки, тире или линию между названиями элементов и количеством заметок.",options:{none:"Нет",dots:"Точки (...)",dashes:"Тире (---)",line:"Линия"}},navRootSpacing:{name:"Отступ корневых элементов",desc:"Отступ между корневыми папками, тегами и свойствами (в пикселях)."},showTags:{name:"Показывать теги",desc:"Отображать раздел тегов в навигаторе."},showTagIcons:{name:"Показывать иконки тегов",desc:"Отображать иконки рядом с тегами в панели навигации."},inheritTagColors:{name:"Наследовать цвета тегов",desc:"Дочерние теги наследуют цвет от родительских тегов."},tagSortOrder:{name:"Сортировка тегов",desc:"Щёлкните правой кнопкой мыши по тегу, чтобы задать другой порядок сортировки для его дочерних элементов.",options:{alphaAsc:"От А до Я",alphaDesc:"От Я до А",frequency:"По частоте",lowToHigh:"от низкой к высокой",highToLow:"от высокой к низкой"}},showAllTagsFolder:{name:"Показывать папку тегов",desc:'Отображать "Теги" как сворачиваемую папку.'},showUntagged:{name:"Показывать заметки без тегов",desc:'Отображать элемент "Без тегов" для заметок без тегов.'},scopeTagsToCurrentContext:{name:"Фильтровать теги по выбору",desc:"Показывать только теги, встречающиеся в заметках в выбранной папке или свойстве."},keepEmptyTagsProperty:{name:"Сохранять свойство tags после удаления последнего тега",desc:"Сохранять свойство tags в frontmatter, когда все теги удалены. При отключении свойство tags удаляется из frontmatter."},showProperties:{name:"Показать свойства",desc:"Отображать раздел свойств в навигаторе.",propertyKeysInfoPrefix:"Настроить свойства в ",propertyKeysInfoLinkText:"Начало > Ключи свойств",propertyKeysInfoSuffix:""},showPropertyIcons:{name:"Показать значки свойств",desc:"Отображать значки рядом со свойствами в панели навигации."},inheritPropertyColors:{name:"Наследовать цвета свойств",desc:"Значения свойств наследуют цвет и фон от ключа свойства."},propertySortOrder:{name:"Порядок сортировки свойств",desc:"Щёлкните правой кнопкой мыши по свойству, чтобы задать другой порядок сортировки его значений.",options:{alphaAsc:"А до Я",alphaDesc:"Я до А",frequency:"Частота",lowToHigh:"по возрастанию",highToLow:"по убыванию"}},showAllPropertiesFolder:{name:"Показать папку свойств",desc:"Отображать «Свойства» как сворачиваемую папку."},scopePropertiesToCurrentContext:{name:"Фильтровать свойства по выбору",desc:"Показывать только свойства, встречающиеся в заметках в выбранной папке или теге."},hiddenTags:{name:"Скрыть теги (профиль хранилища)",desc:"Список шаблонов тегов через запятую. Шаблоны имён: тег* (начинается с), *тег (заканчивается на). Шаблоны путей: архив (тег и потомки), архив/* (только потомки), проекты/*/черновики (подстановочный знак в середине).",placeholder:"архив*, *черновик, проекты/*/старые"},hiddenFileTags:{name:"Скрыть заметки с тегами (профиль хранилища)",desc:"Comma-separated list of tag patterns. Notes containing matching tags are hidden. Name patterns: tag* (starting with), *tag (ending with). Path patterns: archive (tag and descendants), archive/* (descendants only), projects/*/drafts (mid-segment wildcard).",placeholder:"archive*, *draft, projects/*/old"},enableFolderNotes:{name:"Включить заметки папок",desc:"Папки с соответствующим файлом заметки отображаются как кликабельные ссылки."},folderNoteType:{name:"Тип заметки папки по умолчанию",desc:"Тип заметки папки, создаваемой из контекстного меню.",options:{ask:"Спрашивать при создании",markdown:"Markdown",canvas:"Canvas",base:"Base"}},folderNoteName:{name:"Название заметки папки",desc:"Название заметки папки без расширения. Оставьте пустым для использования того же имени, что и у папки.",placeholder:"index"},folderNoteNamePattern:{name:"Шаблон названия заметки папки",desc:"Шаблон имени заметок папок без расширения. Используйте {{folder}} для вставки имени папки. Если задан, имя заметки папки не применяется."},folderNoteTemplate:{name:"Шаблон заметки папки",desc:"Файл шаблона, используемый при создании заметок папок. Шаблоны Markdown могут использовать Templater. Шаблоны Canvas и Base копируются как содержимое файла. Укажите расположение папки шаблонов в Операции с файлами > Шаблоны.",formatWarning:"Формат шаблона должен соответствовать выбранному типу заметки папки: .md, .canvas или .base."},enableFolderNoteLinks:{name:"Названия папок открывают заметки папок",desc:"Нажатие на название папки открывает её заметку папки. Если выключено, заметки папок предоставляют только метаданные папки, такие как название, значок и цвет."},hideFolderNoteInList:{name:"Скрывать заметку папки в списке",desc:"Скрыть заметки папок из списка файлов."},pinCreatedFolderNote:{name:"Закреплять созданные заметки папок",desc:"Закреплять заметки папок при создании из контекстного меню."},folderNoteOpenLocation:{name:"Открывать заметки папок в",desc:"Выберите, где открываются заметки папок при нажатии на ссылки заметок папок.",options:{currentTab:"Текущая вкладка",newTab:"Новая вкладка",rightSidebar:"Правая боковая панель"}},showNearestFolderNoteInSidebar:{name:"Правая боковая панель: показывать ближайшую заметку папки",desc:"Когда выбрана папка, правая боковая панель автоматически показывает ближайшую родительскую заметку папки."},confirmBeforeDelete:{name:"Подтверждать перед удалением",desc:"Показывать диалог подтверждения при удалении заметок или папок"},deleteAttachments:{name:"Удалять вложения при удалении файлов",desc:"Автоматически удалять связанные вложения и сгенерированные предпросмотры рисунков, если они не используются в другом месте",options:{ask:"Спрашивать каждый раз",always:"Всегда",never:"Никогда"}},moveFileConflicts:{name:"Конфликты перемещения",desc:"При перемещении файла в папку, где уже существует файл с таким же именем. Спрашивать каждый раз (переименовать, перезаписать, отменить) или всегда переименовывать.",options:{ask:"Спрашивать каждый раз",rename:"Всегда переименовывать"}},metadataCleanup:{name:"Очистка метаданных",desc:"Удаляет осиротевшие метаданные, оставшиеся после удаления, перемещения или переименования файлов, папок, тегов или свойств вне Obsidian. Это влияет только на файл настроек Notebook Navigator.",buttonText:"Очистить метаданные",error:"Ошибка очистки настроек",loading:"Проверка метаданных...",statusClean:"Нет метаданных для очистки",statusCounts:"Осиротевшие элементы: {folders} папок, {tags} тегов, {properties} свойств, {files} файлов, {pinned} закреплённых, {separators} разделителей"},rebuildCache:{name:"Пересобрать кэш",desc:"Используйте, если вы испытываете проблемы с отсутствующими тегами, некорректными превью или отсутствующими изображениями. Это может произойти после конфликтов синхронизации или неожиданных закрытий.",buttonText:"Пересобрать кэш",error:"Не удалось пересобрать кэш",indexingTitle:"Индексирование хранилища...",progress:"Обновление кэша Notebook Navigator."},externalIcons:{downloadButton:"Скачать",downloadingLabel:"Загрузка...",removeButton:"Удалить",statusInstalled:"Загружено (версия {version})",statusNotInstalled:"Не загружено",versionUnknown:"неизвестно",downloadFailed:"Не удалось скачать {name}. Проверьте подключение и попробуйте снова.",removeFailed:"Не удалось удалить {name}.",infoNote:"Загруженные наборы иконок синхронизируют состояние установки между устройствами. Наборы иконок остаются в локальной базе данных на каждом устройстве; синхронизация отслеживает только необходимость загрузки или удаления. Наборы иконок загружаются из репозитория Notebook Navigator (https://github.com/johansan/notebook-navigator/tree/main/icon-assets)."},useFrontmatterDates:{name:"Использовать метаданные frontmatter",desc:"Использовать frontmatter для названия заметки, временных меток, иконок и цветов"},frontmatterIconField:{name:"Поле иконки",desc:"Поле frontmatter для иконок файлов. Оставьте пустым для использования иконок из настроек.",placeholder:"icon"},frontmatterColorField:{name:"Поле цвета",desc:"Поле frontmatter для цветов файлов. Оставьте пустым для использования цветов из настроек.",placeholder:"color"},frontmatterBackgroundField:{name:"Поле фона",desc:"Поле frontmatter для цветов фона. Оставьте пустым для использования цветов фона из настроек.",placeholder:"background"},frontmatterMigration:{name:"Миграция иконок и цветов из настроек",desc:"Сохранено в настройках: {icons} иконок, {colors} цветов.",button:"Мигрировать",buttonWorking:"Миграция...",noticeNone:"Нет иконок или цветов файлов в настройках.",noticeDone:"Мигрировано {migratedIcons}/{icons} иконок, {migratedColors}/{colors} цветов.",noticeFailures:"Неудачные записи: {failures}.",noticeError:"Миграция не удалась. Проверьте консоль для деталей."},frontmatterNameField:{name:"Поля названия",desc:"Список полей frontmatter через запятую. Используется первое непустое значение. Возвращается к имени файла.",placeholder:"title, name"},frontmatterCreatedField:{name:"Поле даты создания",desc:"Имя поля frontmatter для временной метки создания. Оставьте пустым для использования только даты файловой системы.",placeholder:"created"},frontmatterModifiedField:{name:"Поле даты изменения",desc:"Имя поля frontmatter для временной метки изменения. Оставьте пустым для использования только даты файловой системы.",placeholder:"modified"},frontmatterDateFormat:{name:"Формат временной метки",desc:"Формат для разбора временных меток во frontmatter. Оставьте пустым для использования парсинга ISO 8601.",helpTooltip:"Формат Moment",momentLinkText:"формат Moment",help:`Распространённые форматы:
YYYY-MM-DD[T]HH:mm:ss → 2025-01-04T14:30:45
YYYY-MM-DD[T]HH:mm:ssZ → 2025-08-07T16:53:39+02:00
DD/MM/YYYY HH:mm:ss → 04/01/2025 14:30:45
MM/DD/YYYY h:mm:ss a → 01/04/2025 2:30:45 PM`},supportDevelopment:{name:"Поддержать разработку",desc:"Если вам нравится использовать Notebook Navigator, пожалуйста, рассмотрите возможность поддержки его дальнейшей разработки.",buttonText:"❤️ Спонсор",coffeeButton:"☕️ Купить кофе"},updateCheckOnStart:{name:"Проверять новую версию при запуске",desc:"Проверяет наличие новых релизов плагина при запуске и показывает уведомление, когда доступно обновление. Проверки происходят не чаще одного раза в день.",status:"Доступна новая версия: {version}"},debugLogging:{name:"Журнал отладки запуска",desc:"Записывает диагностику запуска в Markdown-файл с временной меткой в корне хранилища, затем останавливается после стабилизации запуска. Файл может синхронизироваться и содержать пути к файлам."},whatsNew:{name:"Что нового в Notebook Navigator {version}",desc:"Посмотреть последние обновления и улучшения",buttonText:"Посмотреть обновления"},masteringVideo:{name:"Освоение Notebook Navigator (видео)",desc:"Это видео охватывает всё, что нужно для продуктивной работы с Notebook Navigator, включая горячие клавиши, поиск, теги и расширенную настройку."},cacheStatistics:{localCache:"Локальный кэш",items:"элементов",withTags:"с тегами",withPreviewText:"с текстом превью",withFeatureImage:"с изображением",withMetadata:"с метаданными"},metadataInfo:{successfullyParsed:"Успешно разобрано",itemsWithName:"элементов с названием",withCreatedDate:"с датой создания",withModifiedDate:"с датой изменения",withIcon:"с иконкой",withColor:"с цветом",failedToParse:"Не удалось разобрать",createdDates:"дат создания",modifiedDates:"дат изменения",checkTimestampFormat:"Проверьте формат временной метки.",exportFailed:"Экспортировать ошибки"}}},whatsNew:{title:"Что нового в Notebook Navigator",openBannerImage:"Открыть изображение баннера релиза",supportMessage:"Если вы находите Notebook Navigator полезным, пожалуйста, рассмотрите возможность поддержки его разработки.",supportButton:"Купить кофе",thanksButton:"Спасибо!"}}});var Z1={};In(Z1,{STRINGS_TH:()=>ese});var ese,J1=U(()=>{ese={common:{cancel:"ยกเลิก",delete:"ลบ",clear:"ล้าง",remove:"นำออก",restoreDefault:"คืนค่าเริ่มต้น",submit:"ส่ง",save:"บันทึก",configure:"กำหนดค่า",lightMode:"โหมดสว่าง",darkMode:"โหมดมืด",noSelection:"ไม่มีการเลือก",untagged:"ไม่มีแท็ก",featureImageAlt:"รูปภาพประกอบ",unknownError:"ข้อผิดพลาดที่ไม่ทราบสาเหตุ",clipboardWriteError:"ไม่สามารถเขียนลงคลิปบอร์ด",updateBannerTitle:"มีการอัปเดต Notebook Navigator",updateBannerInstruction:"อัปเดตใน การตั้งค่า -> ปลั๊กอินชุมชน",previous:"ก่อนหน้า",next:"ถัดไป"},listPane:{emptyStateNoSelection:"เลือกโฟลเดอร์หรือแท็กเพื่อดูโน้ต",emptyStateNoNotes:"ไม่มีโน้ต",pinnedSection:"ปักหมุด",notesSection:"โน้ต",filesSection:"ไฟล์",hiddenItemAriaLabel:"{name} (ซ่อนอยู่)",collapseGroup:"ยุบกลุ่ม",expandGroup:"ขยายกลุ่ม",manualSortTitle:"จัดเรียงด้วยตนเอง: {property}",manualSortHint:'ลากเพื่อจัดเรียงใหม่ ลำดับจะถูกบันทึกเป็นค่าดัชนีตัวเลขในคุณสมบัติ "{property}"',manualSortNonMarkdownHint:"ไฟล์ที่ไม่ใช่ Markdown จะแสดงด้านล่างและไม่สามารถจัดเรียงใหม่ได้",unsortedSection:"ยังไม่จัดเรียง",manualSortDone:"เสร็จ",manualSortMultipleWriteFailure:"{count} ไฟล์ล้มเหลว ไฟล์แรก: {path}: {message}"},tagList:{untaggedLabel:"ไม่มีแท็ก",tags:"แท็ก"},navigationPane:{shortcutsHeader:"ทางลัด",recentFilesHeader:"ไฟล์ล่าสุด",properties:"คุณสมบัติ",reorderRootFoldersTitle:"จัดเรียงการนำทางใหม่",reorderRootFoldersHint:"ใช้ลูกศรหรือลากเพื่อจัดเรียงใหม่",vaultRootLabel:"ห้องนิรภัย",resetRootToAlpha:"รีเซ็ตเป็นลำดับตัวอักษร",resetRootToFrequency:"รีเซ็ตเป็นลำดับความถี่",pinShortcuts:"ปักหมุดทางลัด",pinShortcutsAndRecentFiles:"ปักหมุดทางลัดและไฟล์ล่าสุด",unpinShortcuts:"เลิกปักหมุดทางลัด",unpinShortcutsAndRecentFiles:"เลิกปักหมุดทางลัดและไฟล์ล่าสุด",profileMenuAria:"เปลี่ยนโปรไฟล์ห้องนิรภัย"},navigationCalendar:{ariaLabel:"ปฏิทิน",dailyNotesNotEnabled:"ปลั๊กอินบันทึกรายวันไม่ได้เปิดใช้งาน",createDailyNote:{title:"บันทึกรายวันใหม่",message:"ไฟล์ {filename} ไม่มีอยู่ คุณต้องการสร้างหรือไม่?",confirmButton:"สร้าง"},helpModal:{title:"ทางลัดปฏิทิน",items:["คลิกวันใดก็ได้เพื่อเปิดหรือสร้างบันทึกประจำวัน สัปดาห์ เดือน ไตรมาส และปีทำงานในลักษณะเดียวกัน","จุดทึบใต้วันหมายความว่ามีบันทึก จุดกลวงหมายความว่ามีงานที่ยังไม่เสร็จ","หากบันทึกมีภาพเด่น จะแสดงเป็นพื้นหลังของวัน"],dateFilterCmdCtrl:"`Cmd/Ctrl`+คลิกที่วันที่เพื่อกรองตามวันที่นั้นในรายการไฟล์",dateFilterOptionAlt:"`Option/Alt`+คลิกที่วันที่เพื่อกรองตามวันที่นั้นในรายการไฟล์"}},dailyNotes:{templateReadFailed:"ไม่สามารถอ่านเทมเพลตบันทึกรายวัน",createFailed:"ไม่สามารถสร้างบันทึกรายวัน"},shortcuts:{folderExists:"โฟลเดอร์อยู่ในทางลัดแล้ว",noteExists:"โน้ตอยู่ในทางลัดแล้ว",tagExists:"แท็กอยู่ในทางลัดแล้ว",propertyExists:"คุณสมบัติมีอยู่ในทางลัดแล้ว",invalidProperty:"ทางลัดคุณสมบัติไม่ถูกต้อง",searchExists:"ทางลัดการค้นหามีอยู่แล้ว",emptySearchQuery:"กรอกคำค้นหาก่อนบันทึก",emptySearchName:"กรอกชื่อก่อนบันทึกการค้นหา",add:"เพิ่มในทางลัด",addNotesCount:"เพิ่ม {count} โน้ตไปยังทางลัด",addFilesCount:"เพิ่ม {count} ไฟล์ไปยังทางลัด",rename:"เปลี่ยนชื่อทางลัด",remove:"นำออกจากทางลัด",removeAll:"ลบทางลัดทั้งหมด",removeAllConfirm:"ลบทางลัดทั้งหมด?",folderNotesPinned:"ปักหมุด {count} โน้ตโฟลเดอร์แล้ว"},paneHeader:{collapseAllFolders:"ยุบรายการ",expandAllFolders:"ขยายรายการทั้งหมด",showCalendar:"แสดงปฏิทิน",hideCalendar:"ซ่อนปฏิทิน",newFolder:"โฟลเดอร์ใหม่",newNote:"โน้ตใหม่",mobileBackToNavigation:"กลับไปการนำทาง",changeChildSortOrder:"เปลี่ยนลำดับการเรียง",changeSortAndGroup:"เปลี่ยนการเรียงและการจัดกลุ่ม",resetViewToDefaults:"รีเซ็ตมุมมองเป็นค่าเริ่มต้น",manualSort:"จัดเรียงด้วยตนเอง",editSortOrder:"แก้ไขลำดับการจัดเรียง...",removeSortProperty:"ลบคุณสมบัติการจัดเรียง",descendants:"รายการย่อย",subfolders:"โฟลเดอร์ย่อย",subtags:"แท็กย่อย",childValues:"ค่าย่อย",applySortAndGroupToDescendants:t=>`ใช้การเรียงและการจัดกลุ่มกับ${t}`,applyAppearanceToDescendants:t=>`ใช้รูปลักษณ์กับ${t}`,showFolders:"แสดงการนำทาง",reorderRootFolders:"จัดเรียงการนำทางใหม่",finishRootFolderReorder:"เสร็จสิ้น",showExcludedItems:"แสดงโฟลเดอร์ แท็ก และโน้ตที่ซ่อน",hideExcludedItems:"ซ่อนโฟลเดอร์ แท็ก และโน้ตที่ซ่อน",showDualPane:"แสดงแผงคู่",showSinglePane:"แสดงแผงเดียว",dualPaneAutoFallbackNotice:'ไม่สามารถใช้สองแผงได้เมื่อแถบด้านข้างแคบเกินไป หากต้องการเปลี่ยน ให้ตั้ง "เมื่อแถบด้านข้างแคบเกินไป" เป็น "ไม่ต้องทำอะไร" ในการตั้งค่า > ลักษณะและพฤติกรรม',changeAppearance:"เปลี่ยนลักษณะ",showNotesFromSubfolders:"แสดงโน้ตจากโฟลเดอร์ย่อย",showFilesFromSubfolders:"แสดงไฟล์จากโฟลเดอร์ย่อย",showNotesFromDescendants:"แสดงโน้ตจากลูกหลาน",showFilesFromDescendants:"แสดงไฟล์จากลูกหลาน",search:"ค้นหา"},searchInput:{placeholder:"ค้นหา...",placeholderOmnisearch:"Omnisearch...",clearSearch:"ล้างการค้นหา",switchToFilterSearch:"สลับไปใช้การค้นหาแบบกรอง",switchToOmnisearch:"สลับไปใช้ Omnisearch",saveSearchShortcut:"บันทึกทางลัดการค้นหา",removeSearchShortcut:"นำทางลัดการค้นหาออก",shortcutModalTitle:"บันทึกทางลัดการค้นหา",shortcutNamePlaceholder:"กรอกชื่อทางลัด",shortcutStartIn:"เริ่มต้นใน: {path} เสมอ",searchHelp:"ไวยากรณ์การค้นหา",searchHelpTitle:"ไวยากรณ์การค้นหา",searchHelpModal:{intro:"รวมชื่อไฟล์ คุณสมบัติ แท็ก วันที่ และตัวกรองในคำค้นหาเดียว (เช่น `meeting .status=active #work @thisweek`) ติดตั้งปลั๊กอิน Omnisearch เพื่อใช้การค้นหาข้อความเต็ม",introSwitching:"สลับระหว่างการค้นหาแบบกรองและ Omnisearch โดยใช้ปุ่มลูกศรขึ้น/ลงหรือคลิกไอคอนค้นหา",sections:{fileNames:{title:"ชื่อไฟล์",items:['`word` ค้นหาโน้ตที่มี "word" ในชื่อไฟล์',"`word1 word2` ทุกคำต้องตรงกับชื่อไฟล์",'`-word` ไม่รวมโน้ตที่มี "word" ในชื่อไฟล์']},tags:{title:"แท็ก",items:["`#tag` รวมโน้ตที่มีแท็ก (ตรงกับแท็กย่อยเช่น `#tag/subtag` ด้วย)","`#` รวมเฉพาะโน้ตที่มีแท็ก","`-#tag` ไม่รวมโน้ตที่มีแท็ก","`-#` รวมเฉพาะโน้ตที่ไม่มีแท็ก","`#tag1 #tag2` ค้นหาทั้งสองแท็ก (AND โดยนัย)","`#tag1 AND #tag2` ค้นหาทั้งสองแท็ก (AND ชัดเจน)","`#tag1 OR #tag2` ค้นหาแท็กใดแท็กหนึ่ง","`#a OR #b AND #c` AND มีความสำคัญสูงกว่า: ตรงกับ `#a` หรือทั้ง `#b` และ `#c`","Cmd/Ctrl+คลิกแท็กเพื่อเพิ่มด้วย AND Cmd/Ctrl+Shift+คลิกเพื่อเพิ่มด้วย OR"]},properties:{title:"คุณสมบัติ",items:["`.key` รวมโน้ตที่มีคีย์คุณสมบัติ","`.key=value` รวมโน้ตที่ค่าคุณสมบัติมี `value` อยู่",'`."Reading Status"` รวมโน้ตที่มีคีย์คุณสมบัติที่มีช่องว่าง','`."Reading Status"="In Progress"` คีย์และค่าที่มีช่องว่างต้องอยู่ในเครื่องหมายคำพูดคู่',"`-.key` ไม่รวมโน้ตที่มีคีย์คุณสมบัติ","`-.key=value` ไม่รวมโน้ตที่ค่าคุณสมบัติมี `value` อยู่","Cmd/Ctrl+คลิกคุณสมบัติเพื่อเพิ่มด้วย AND Cmd/Ctrl+Shift+คลิกเพื่อเพิ่มด้วย OR"]},tasks:{title:"ตัวกรอง",items:["`has:task` รวมบันทึกที่มีงานที่ยังไม่เสร็จ","`-has:task` ไม่รวมบันทึกที่มีงานที่ยังไม่เสร็จ","`folder:meetings` รวมบันทึกที่ชื่อโฟลเดอร์มี `meetings`","`folder:/work/meetings` รวมบันทึกเฉพาะใน `work/meetings` (ไม่รวมโฟลเดอร์ย่อย)","`folder:/` รวมบันทึกเฉพาะในรากของห้องนิรภัย","`-folder:archive` ไม่รวมบันทึกที่ชื่อโฟลเดอร์มี `archive`","`-folder:/archive` ไม่รวมบันทึกเฉพาะใน `archive` (ไม่รวมโฟลเดอร์ย่อย)","`ext:md` รวมบันทึกที่มีนามสกุล `md` (`ext:.md` รองรับเช่นกัน)","`-ext:pdf` ไม่รวมบันทึกที่มีนามสกุล `pdf`","รวมกับแท็ก ชื่อ และวันที่ (ตัวอย่าง: `folder:/work/meetings ext:md @thisweek`)"]},connectors:{title:"พฤติกรรม AND/OR",items:["`AND` และ `OR` เป็นตัวดำเนินการเฉพาะในการค้นหาที่มีแท็กและคุณสมบัติเท่านั้น","การค้นหาเฉพาะแท็กและคุณสมบัติประกอบด้วยตัวกรองแท็กและคุณสมบัติเท่านั้น: `#tag`, `-#tag`, `#`, `-#`, `.key`, `-.key`, `.key=value`, `-.key=value`","หากคิวรีรวมชื่อ วันที่ (`@...`) ตัวกรองงาน (`has:task`) ตัวกรองโฟลเดอร์ (`folder:...`) หรือตัวกรองนามสกุล (`ext:...`) `AND` และ `OR` จะถูกค้นหาเป็นคำ","ตัวอย่างการค้นหาด้วยตัวดำเนินการ: `#work OR .status=started`","ตัวอย่างคิวรีผสม: `#work OR ext:md` (`OR` ถูกค้นหาในชื่อไฟล์)"]},dates:{title:"วันที่",items:["`@today` ค้นหาโน้ตวันนี้โดยใช้ฟิลด์วันที่เริ่มต้น","`@yesterday`, `@last7d`, `@last30d`, `@thisweek`, `@thismonth` ช่วงวันที่สัมพัทธ์","`@2026-02-07` ค้นหาวันที่เฉพาะ (รองรับ `@20260207` ด้วย)","`@2026` ค้นหาปีปฏิทิน","`@2026-02` หรือ `@202602` ค้นหาเดือนปฏิทิน","`@2026-W05` หรือ `@2026W05` ค้นหาสัปดาห์ ISO","`@2026-Q2` หรือ `@2026Q2` ค้นหาไตรมาสปฏิทิน","`@13/02/2026` รูปแบบตัวเลขที่มีตัวคั่น (`@07022026` ตามการตั้งค่าท้องถิ่นเมื่อคลุมเครือ)","`@2026-02-01..2026-02-07` ค้นหาช่วงวันที่รวม (รองรับปลายเปิด)","`@c:...` หรือ `@m:...` กำหนดเป้าหมายวันที่สร้างหรือแก้ไข","`-@...` ไม่รวมการจับคู่วันที่"]},omnisearch:{title:"Omnisearch",items:["ค้นหาข้อความเต็มทั่วทั้งห้องนิรภัย กรองตามโฟลเดอร์ปัจจุบันหรือแท็กที่เลือก","อาจช้าเมื่อป้อนน้อยกว่า 3 ตัวอักษรในห้องนิรภัยขนาดใหญ่","ไม่สามารถค้นหาเส้นทางที่มีอักขระที่ไม่ใช่ ASCII หรือค้นหาเส้นทางย่อยได้อย่างถูกต้อง","ส่งคืนผลลัพธ์จำกัดก่อนการกรองโฟลเดอร์ ดังนั้นไฟล์ที่เกี่ยวข้องอาจไม่แสดงหากมีรายการที่ตรงกันจำนวนมากในที่อื่น","ตัวอย่างโน้ตแสดงข้อความที่ตัดตอนจาก Omnisearch แทนข้อความตัวอย่างเริ่มต้น"]}}}},contextMenu:{file:{openInNewTab:"เปิดในแท็บใหม่",openToRight:"เปิดทางขวา",openInNewWindow:"เปิดในหน้าต่างใหม่",openMultipleInNewTabs:"เปิด {count} โน้ตในแท็บใหม่",openMultipleFilesInNewTabs:"เปิด {count} ไฟล์ในแท็บใหม่",openMultipleToRight:"เปิด {count} โน้ตทางขวา",openMultipleFilesToRight:"เปิด {count} ไฟล์ทางขวา",openMultipleInNewWindows:"เปิด {count} โน้ตในหน้าต่างใหม่",openMultipleFilesInNewWindows:"เปิด {count} ไฟล์ในหน้าต่างใหม่",pinNote:"ปักหมุดโน้ต",pinFile:"ปักหมุดไฟล์",unpinNote:"เลิกปักหมุดโน้ต",unpinFile:"เลิกปักหมุดไฟล์",pinMultipleNotes:"ปักหมุด {count} โน้ต",pinMultipleFiles:"ปักหมุด {count} ไฟล์",unpinMultipleNotes:"เลิกปักหมุด {count} โน้ต",unpinMultipleFiles:"เลิกปักหมุด {count} ไฟล์",duplicateNote:"ทำซ้ำโน้ต",duplicateFile:"ทำซ้ำไฟล์",duplicateMultipleNotes:"ทำซ้ำ {count} โน้ต",duplicateMultipleFiles:"ทำซ้ำ {count} ไฟล์",openVersionHistory:"เปิดประวัติเวอร์ชัน",revealInFolder:"แสดงในโฟลเดอร์",revealInFinder:"แสดงใน Finder",showInExplorer:"แสดงใน explorer ระบบ",openInDefaultApp:"เปิดในแอปเริ่มต้น",renameNote:"เปลี่ยนชื่อโน้ต",renameFile:"เปลี่ยนชื่อไฟล์",deleteNote:"ลบโน้ต",deleteFile:"ลบไฟล์",setCalendarHighlight:"ตั้งค่าไฮไลต์",removeCalendarHighlight:"ลบไฮไลต์",deleteMultipleNotes:"ลบ {count} โน้ต",deleteMultipleFiles:"ลบ {count} ไฟล์",moveNoteToFolder:"ย้ายโน้ตไปยัง...",moveFileToFolder:"ย้ายไฟล์ไปยัง...",moveMultipleNotesToFolder:"ย้าย {count} โน้ตไปยัง...",moveMultipleFilesToFolder:"ย้าย {count} ไฟล์ไปยัง...",mergeNotes:"รวม {count} โน้ต...",mergeNotesInGroup:"รวมโน้ตในกลุ่ม...",setManualSortGroupHeader:"ตั้งค่าส่วนหัวกลุ่ม",changeManualSortGroupHeader:"เปลี่ยนส่วนหัวกลุ่ม",manualSortGroupHeader:{title:"ส่วนหัวกลุ่ม",copyStyle:"คัดลอกสไตล์ส่วนหัว",pasteStyle:"วางสไตล์ส่วนหัว",remove:"นำส่วนหัวกลุ่มออก"},addTag:"เพิ่มแท็ก",addPropertyKey:"ตั้งค่าคุณสมบัติ",removeTag:"นำแท็กออก",removeAllTags:"นำแท็กทั้งหมดออก",changeIcon:"เปลี่ยนไอคอน",changeColor:"เปลี่ยนสี"},folder:{newNote:"โน้ตใหม่",newNoteFromTemplate:"โน้ตใหม่จากเทมเพลต",newFolder:"โฟลเดอร์ใหม่",newCanvas:"Canvas ใหม่",newBase:"Base ใหม่",newDrawing:"ภาพวาดใหม่",newExcalidrawDrawing:"ภาพวาด Excalidraw ใหม่",newTldrawDrawing:"ภาพวาด Tldraw ใหม่",duplicateFolder:"ทำซ้ำโฟลเดอร์",searchInFolder:"ค้นหาในโฟลเดอร์",createFolderNote:"สร้างโน้ตโฟลเดอร์",detachFolderNote:"แยกโน้ตโฟลเดอร์",deleteFolderNote:"ลบโน้ตโฟลเดอร์",changeIcon:"เปลี่ยนไอคอน",changeColor:"เปลี่ยนสี",changeBackground:"เปลี่ยนพื้นหลัง",excludeFolder:"ซ่อนโฟลเดอร์",unhideFolder:"เลิกซ่อนโฟลเดอร์",moveFolder:"ย้ายโฟลเดอร์ไปยัง...",renameFolder:"เปลี่ยนชื่อโฟลเดอร์",deleteFolder:"ลบโฟลเดอร์"},tag:{changeIcon:"เปลี่ยนไอคอน",changeColor:"เปลี่ยนสี",changeBackground:"เปลี่ยนพื้นหลัง",showTag:"แสดงแท็ก",hideTag:"ซ่อนแท็ก"},property:{addKey:"กำหนดค่าคีย์คุณสมบัติ",renameKey:"เปลี่ยนชื่อคุณสมบัติ",deleteKey:"ลบคุณสมบัติ"},navigation:{addSeparator:"เพิ่มตัวคั่น",removeSeparator:"นำตัวคั่นออก"},copyPath:{title:"คัดลอกเส้นทาง",asObsidianUrl:"เป็น URL Obsidian",fromVaultFolder:"จากโฟลเดอร์ห้องนิรภัย",fromSystemRoot:"จากรากระบบ"},style:{title:"สไตล์",copy:"คัดลอกสไตล์",paste:"วางสไตล์",removeIcon:"ลบไอคอน",removeColor:"ลบสี",removeBackground:"ลบพื้นหลัง",clear:"ล้างสไตล์"}},folderAppearance:{appearance:"ลักษณะ",sortBy:"เรียงตาม",standardPreset:"มาตรฐาน",compactPreset:"กะทัดรัด",defaultSuffix:"(ค่าเริ่มต้น)",defaultLabel:"ค่าเริ่มต้น",titleRows:"แถวชื่อเรื่อง",previewRows:"แถวตัวอย่าง",groupBy:"จัดกลุ่มตาม",titleRowOption:t=>`${t} แถวชื่อเรื่อง`,previewRowOption:t=>`${t} แถวตัวอย่าง`},modals:{bulkApply:{applyButton:"ใช้",applySortAndGroupTitle:t=>`ใช้การเรียงและการจัดกลุ่มกับ${t}?`,applyAppearanceTitle:t=>`ใช้รูปลักษณ์กับ${t}?`,affectedCountMessage:t=>`การแทนที่ที่มีอยู่ซึ่งจะเปลี่ยนแปลง: ${t}`},manualSortConfirm:{propertySortTitle:"ใช้การจัดเรียงด้วยตนเองหรือไม่?",propertySortMessage:(t,e)=>`จะสลับมุมมองปัจจุบันเป็นการจัดเรียงด้วยตนเองโดยใช้ "${t}" การแก้ไขลำดับจะเขียนค่าดัชนีตัวเลขลงในคุณสมบัตินั้นใน ${e} โน้ต ตามความจำเป็น`,propertySortConfirmButton:"ใช้การจัดเรียงด้วยตนเอง",removePropertyTitle:"ลบคุณสมบัติการจัดเรียงหรือไม่?",removePropertyMessage:(t,e)=>`จะลบ "${t}" ออกจาก ${e} โน้ตในรายการปัจจุบัน ลำดับการจัดเรียงด้วยตนเองของโน้ตเหล่านั้นจะถูกล้าง`,removePropertyConfirmButton:"ลบคุณสมบัติ",compactTitle:"บีบอัดค่าดัชนีหรือไม่?",compactMessage:t=>`การจัดเรียงใหม่นี้ต้องการพื้นที่ตัวเลขเพิ่มเติม ${t} โน้ต จะได้รับค่าดัชนีใหม่`,compactConfirmButton:"บีบอัดค่าดัชนี"},manualSortGroupHeader:{title:"ตั้งค่าส่วนหัวกลุ่ม",titleLabel:"ชื่อเรื่อง",placeholder:"ส่วนหัวกลุ่ม",icon:"ไอคอน",color:"สี",wordCount:"แสดงจำนวนคำ",wordCountTarget:"จำนวนคำเป้าหมาย",wordCountTargetPlaceholder:"10,000",wordCountTargetDescription:"เมื่อฟิลด์นี้ว่าง เป้าหมายกลุ่มจะใช้คุณสมบัติเป้าหมายที่ตั้งไว้ใน การตั้งค่า > โน้ต > จำนวนคำและอักขระ แทนที่ได้โดยตั้งค่าเป้าหมายสำหรับกลุ่มนี้",description:"ปรับแต่งส่วนหัวกลุ่มสำหรับโน้ตนี้ เว้นชื่อเรื่องว่างเพื่อนำส่วนหัวออก"},mergeNotes:{title:"รวมโน้ต",summary:"สร้างโน้ตหนึ่งรายการจาก {count} โน้ตใน {folder}",frontmatterRule:"Frontmatter จากโน้ตแรกจะถูกเก็บไว้ Frontmatter จากโน้ตอื่นจะถูกลบออก",crossFolderWarning:"โน้ตต้นทางอยู่ในโฟลเดอร์ต่างกัน ลิงก์สัมพัทธ์และการฝังอาจหยุดทำงานในโน้ตที่รวมแล้ว",outputName:"ชื่อผลลัพธ์",outputNameDesc:"โน้ตที่รวมแล้วจะถูกสร้างในโฟลเดอร์ที่แสดงด้านบน",outputNamePlaceholder:"โน้ตที่รวมแล้ว",separator:"ตัวคั่น",separatorDesc:"แทรกระหว่างโน้ต",separatorOptions:{none:"ไม่มี",blankLine:"บรรทัดว่าง",horizontalRule:"เส้นแนวนอน",heading:"หัวเรื่องพร้อมชื่อโน้ต"},moveSourcesToTrash:"ย้ายโน้ตต้นทางไปที่ถังขยะหลังจากรวม",mergeButton:"รวม"},navRainbowSection:{title:t=>`สีรุ้ง: ${t}`},iconPicker:{searchPlaceholder:"ค้นหาไอคอน...",recentlyUsedHeader:"ใช้ล่าสุด",emptyStateSearch:"เริ่มพิมพ์เพื่อค้นหาไอคอน",emptyStateNoResults:"ไม่พบไอคอน",showingResultsInfo:"แสดง 50 จาก {count} ผลลัพธ์ พิมพ์เพิ่มเพื่อจำกัด",emojiInstructions:"พิมพ์หรือวางอีโมจิเพื่อใช้เป็นไอคอน",removeIcon:"นำไอคอนออก",removeFromRecents:"นำออกจากรายการล่าสุด",allTabLabel:"ทั้งหมด"},fileIconRuleEditor:{addRuleAria:"เพิ่มกฎ"},interfaceIcons:{title:"ไอคอนอินเทอร์เฟซ",fileItemsSection:"รายการไฟล์",items:{"nav-shortcuts":"ทางลัด","nav-recent-files":"ไฟล์ล่าสุด","nav-expand-all":"ขยายทั้งหมด","nav-collapse-all":"ยุบทั้งหมด","nav-calendar":"ปฏิทิน","nav-tree-expand":"ลูกศรต้นไม้: ขยาย","nav-tree-collapse":"ลูกศรต้นไม้: ยุบ","nav-hidden-items":"รายการที่ซ่อน","nav-root-reorder":"จัดเรียงโฟลเดอร์รากใหม่","nav-new-folder":"โฟลเดอร์ใหม่","nav-show-single-pane":"แสดงแผงเดียว","nav-show-dual-pane":"แสดงแผงคู่","nav-profile-chevron":"ลูกศรเมนูโปรไฟล์","list-search":"ค้นหา","list-reveal-file":"แสดงไฟล์","list-descendants":"โน้ตจากโฟลเดอร์ย่อย","list-sort-ascending":"ลำดับ: น้อยไปมาก","list-sort-descending":"ลำดับ: มากไปน้อย","list-sort-modified":"จัดเรียงตามวันที่แก้ไข","list-sort-created":"จัดเรียงตามวันที่สร้าง","list-sort-title":"จัดเรียงตามชื่อเรื่อง","list-sort-filename":"จัดเรียงตามชื่อไฟล์","list-sort-property":"จัดเรียงตามคุณสมบัติ","list-appearance":"เปลี่ยนรูปลักษณ์","list-new-note":"โน้ตใหม่","list-pinned":"โน้ตที่ปักหมุด","nav-folder-open":"โฟลเดอร์เปิด","nav-folder-closed":"โฟลเดอร์ปิด","nav-tags":"แท็ก","nav-tag":"แท็ก","nav-properties":"คุณสมบัติ","nav-property":"คุณสมบัติ","nav-property-value":"ค่า","file-unfinished-task":"งานที่ยังไม่เสร็จ","file-word-count":"จำนวนคำ","file-character-count":"จำนวนอักขระ"}},colorPicker:{currentColor:"ปัจจุบัน",newColor:"ใหม่",paletteDefault:"ค่าเริ่มต้น",paletteCustom:"กำหนดเอง",copyColors:"คัดลอกสี",colorsCopied:"คัดลอกสีไปคลิปบอร์ดแล้ว",pasteColors:"วางสี",pasteClipboardError:"ไม่สามารถอ่านคลิปบอร์ด",pasteInvalidFormat:"ต้องการค่าสี hex",colorsPasted:"วางสีสำเร็จ",resetUserColors:"ล้างสีที่กำหนดเอง",clearCustomColorsConfirm:"ลบสีที่กำหนดเองทั้งหมด?",userColorSlot:"สี {slot}",recentColors:"สีล่าสุด",clearRecentColors:"ล้างสีล่าสุด",removeRecentColor:"นำสีออก",apply:"นำไปใช้",pickerLabel:"ตัวเลือก",hexLabel:"HEX",hexInputLabel:"ค่าสี HEX",saturationValueArea:"ความอิ่มตัวและความสว่าง",hueSlider:"เฉดสี",alphaSlider:"ความโปร่งใส"},appearance:{tabIcon:"ไอคอน",tabColor:"สี",tabBackground:"พื้นหลัง",resetIcon:"ลบไอคอน",resetColor:"ลบสี",resetBackground:"ลบพื้นหลัง",clear:"ล้างสไตล์",apply:"นำไปใช้"},selectVaultProfile:{title:"เลือกโปรไฟล์ห้องนิรภัย",currentBadge:"ใช้งานอยู่",emptyState:"ไม่มีโปรไฟล์ห้องนิรภัย"},tagOperation:{renameTitle:"เปลี่ยนชื่อแท็ก {tag}",deleteTitle:"ลบแท็ก {tag}",newTagPrompt:"ชื่อแท็กใหม่",newTagPlaceholder:"กรอกชื่อแท็กใหม่",renameWarning:"การเปลี่ยนชื่อแท็ก {oldTag} จะแก้ไข {count} {files}",deleteWarning:"การลบแท็ก {tag} จะแก้ไข {count} {files}",modificationWarning:"การดำเนินการนี้จะอัปเดตวันที่แก้ไขไฟล์",affectedFiles:"ไฟล์ที่ได้รับผลกระทบ:",andMore:"...และอีก {count}",confirmRename:"เปลี่ยนชื่อแท็ก",renameUnchanged:"{tag} ไม่เปลี่ยนแปลง",renameNoChanges:"{oldTag} → {newTag} ({countLabel})",renameBatchNotFinalized:"เปลี่ยนชื่อแล้ว {renamed}/{total} ไม่ได้อัปเดต: {notUpdated} ข้อมูลเมตาและทางลัดไม่ได้รับการอัปเดต",invalidTagName:"กรอกชื่อแท็กที่ถูกต้อง",descendantRenameError:"ไม่สามารถย้ายแท็กไปยังตัวเองหรือลูกหลาน",confirmDelete:"ลบแท็ก",deleteBatchNotFinalized:"ลบออกจาก {removed}/{total} ไม่ได้อัปเดต: {notUpdated} ข้อมูลเมตาและทางลัดไม่ได้รับการอัปเดต",checkConsoleForDetails:"ตรวจสอบคอนโซลเพื่อดูรายละเอียด",file:"ไฟล์",files:"ไฟล์",inlineParsingWarning:{title:"ความเข้ากันได้ของแท็กแบบอินไลน์",message:"{tag} มีอักขระที่ Obsidian ไม่สามารถแยกวิเคราะห์ในแท็กแบบอินไลน์ได้ แท็ก Frontmatter ไม่ได้รับผลกระทบ",confirm:"ใช้ต่อไป"}},propertyOperation:{renameTitle:"เปลี่ยนชื่อคุณสมบัติ {property}",deleteTitle:"ลบคุณสมบัติ {property}",newKeyPrompt:"ชื่อคุณสมบัติใหม่",newKeyPlaceholder:"ป้อนชื่อคุณสมบัติใหม่",renameWarning:"การเปลี่ยนชื่อคุณสมบัติ {property} จะแก้ไข {count} {files}",renameConflictWarning:"คุณสมบัติ {newKey} มีอยู่แล้วใน {count} {files} การเปลี่ยนชื่อ {oldKey} จะแทนที่ค่าที่มีอยู่ของ {newKey}",deleteWarning:"การลบคุณสมบัติ {property} จะแก้ไข {count} {files}",confirmRename:"เปลี่ยนชื่อคุณสมบัติ",confirmDelete:"ลบคุณสมบัติ",renameNoChanges:"{oldKey} → {newKey} (ไม่มีการเปลี่ยนแปลง)",renameSettingsUpdateFailed:"เปลี่ยนชื่อคุณสมบัติ {oldKey} → {newKey} แล้ว ไม่สามารถอัปเดตการตั้งค่าได้",deleteSingleSuccess:"ลบคุณสมบัติ {property} จาก 1 โน้ตแล้ว",deleteMultipleSuccess:"ลบคุณสมบัติ {property} จาก {count} โน้ตแล้ว",deleteSettingsUpdateFailed:"ลบคุณสมบัติ {property} แล้ว ไม่สามารถอัปเดตการตั้งค่าได้",invalidKeyName:"กรุณาป้อนชื่อคุณสมบัติที่ถูกต้อง"},fileSystem:{newFolderTitle:"โฟลเดอร์ใหม่",renameFolderTitle:"เปลี่ยนชื่อโฟลเดอร์",renameFileTitle:"เปลี่ยนชื่อไฟล์",deleteFolderTitle:"ลบ '{name}'?",deleteFileTitle:"ลบ '{name}'?",deleteFileAttachmentsTitle:"ลบไฟล์แนบ?",moveFileConflictTitle:"ข้อขัดแย้งการย้าย",folderNamePrompt:"กรอกชื่อโฟลเดอร์:",hideInOtherVaultProfiles:"ซ่อนในโปรไฟล์ห้องนิรภัยอื่น",renamePrompt:"กรอกชื่อใหม่:",renameVaultTitle:"เปลี่ยนชื่อแสดงห้องนิรภัย",renameVaultPrompt:"กรอกชื่อแสดงที่กำหนดเอง (เว้นว่างเพื่อใช้ค่าเริ่มต้น):",deleteFolderConfirm:"คุณแน่ใจหรือไม่ว่าต้องการลบโฟลเดอร์นี้และเนื้อหาทั้งหมด?",deleteFileConfirm:"คุณแน่ใจหรือไม่ว่าต้องการลบไฟล์นี้?",deleteFileAttachmentsDescriptionSingle:"ไฟล์แนบนี้ไม่ได้ถูกใช้ในโน้ตใดแล้ว คุณต้องการลบหรือไม่?",deleteFileAttachmentsDescriptionMultiple:"ไฟล์แนบเหล่านี้ไม่ได้ถูกใช้ในโน้ตใดแล้ว คุณต้องการลบหรือไม่?",deleteFileAttachmentsViewFileTreeAriaLabel:"โครงสร้างไฟล์",deleteFileAttachmentsViewGalleryAriaLabel:"แกลเลอรี",moveFileConflictDescriptionSingle:'พบข้อขัดแย้งของไฟล์ใน "{folder}"',moveFileConflictDescriptionMultiple:'พบข้อขัดแย้งของไฟล์ {count} รายการใน "{folder}"',moveFileConflictAffectedFiles:"ไฟล์ที่ได้รับผลกระทบ",moveFileConflictItem:'"{name}" -> "{suggested}"{renameOnly}',moveFileConflictRenameOnly:"(เปลี่ยนชื่อเท่านั้น)",moveFileConflictRename:"เปลี่ยนชื่อ",moveFileConflictOverwrite:"เขียนทับ",removeAllTagsTitle:"นำแท็กทั้งหมดออก",removeAllTagsFromNote:"คุณแน่ใจหรือไม่ว่าต้องการนำแท็กทั้งหมดออกจากโน้ตนี้?",removeAllTagsFromNotes:"คุณแน่ใจหรือไม่ว่าต้องการนำแท็กทั้งหมดออกจาก {count} โน้ต?"},folderNoteType:{title:"เลือกประเภทโน้ตโฟลเดอร์",folderLabel:"โฟลเดอร์: {name}"},folderSuggest:{placeholder:t=>`ย้าย ${t} ไปยังโฟลเดอร์...`,multipleFilesLabel:t=>`${t} ไฟล์`,navigatePlaceholder:"นำทางไปยังโฟลเดอร์...",instructions:{navigate:"เพื่อนำทาง",move:"เพื่อย้าย",select:"เพื่อเลือก",dismiss:"เพื่อปิด"}},homepage:{placeholder:"ค้นหาไฟล์...",instructions:{navigate:"เพื่อนำทาง",select:"เพื่อตั้งหน้าแรก",dismiss:"เพื่อปิด"}},calendarTemplate:{placeholder:"ค้นหาเทมเพลต...",instructions:{navigate:"เพื่อนำทาง",select:"เพื่อเลือกเทมเพลต",dismiss:"เพื่อปิด"}},navigationBanner:{placeholder:"ค้นหารูปภาพ...",instructions:{navigate:"เพื่อนำทาง",select:"เพื่อตั้งแบนเนอร์",dismiss:"เพื่อปิด"}},tagSuggest:{navigatePlaceholder:"นำทางไปยังแท็ก...",addPlaceholder:"ค้นหาแท็กเพื่อเพิ่ม...",removePlaceholder:"เลือกแท็กเพื่อนำออก...",createNewTag:"สร้างแท็กใหม่: #{tag}",instructions:{navigate:"เพื่อนำทาง",select:"เพื่อเลือก",dismiss:"เพื่อปิด",add:"เพื่อเพิ่มแท็ก",remove:"เพื่อนำแท็กออก"}},propertySuggest:{placeholder:"เลือกคีย์คุณสมบัติ...",navigatePlaceholder:"นำทางไปยังคุณสมบัติ...",instructions:{navigate:"เพื่อนำทาง",select:"เพื่อเพิ่มคุณสมบัติ",dismiss:"เพื่อปิด"}},propertyKeyVisibility:{title:"การแสดงผลคีย์คุณสมบัติ",description:"ควบคุมตำแหน่งที่แสดงค่าคุณสมบัติ คอลัมน์ตรงกับแผงนำทาง แผงรายการ และเมนูบริบทของไฟล์ ใช้แถวล่างสุดเพื่อสลับทุกแถวในคอลัมน์",searchPlaceholder:"ค้นหาคีย์คุณสมบัติ...",propertyColumnLabel:"คุณสมบัติ",showInNavigation:"แสดงในการนำทาง",showInList:"แสดงในรายการ",showInFileMenu:"แสดงในเมนูไฟล์",toggleAllInNavigation:"สลับทั้งหมดในการนำทาง",toggleAllInList:"สลับทั้งหมดในรายการ",toggleAllInFileMenu:"สลับทั้งหมดในเมนูไฟล์",applyButton:"นำไปใช้",emptyState:"ไม่พบคีย์คุณสมบัติ"},welcome:{title:"ยินดีต้อนรับสู่ {pluginName}",introText:'สวัสดี! ก่อนเริ่มต้น ขอแนะนำอย่างยิ่งให้ดูวิดีโอด้านล่างห้านาทีแรกเพื่อทำความเข้าใจว่าแผงควบคุมและปุ่มสลับ "แสดงโน้ตจากโฟลเดอร์ย่อย" ทำงานอย่างไร',continueText:"หากคุณมีเวลาอีกห้านาที ให้ดูวิดีโอต่อเพื่อทำความเข้าใจโหมดแสดงผลแบบกะทัดรัดและวิธีตั้งค่าทางลัดและปุ่มลัดที่สำคัญอย่างถูกต้อง",thanksText:"ขอบคุณมากที่ดาวน์โหลด สนุกกับการใช้งาน!",videoAlt:"การติดตั้งและเชี่ยวชาญ Notebook Navigator",openVideoButton:"เล่นวิดีโอ",closeButton:"ไว้ทีหลัง"}},fileSystem:{errors:{createFolder:"สร้างโฟลเดอร์ล้มเหลว: {error}",createFile:"สร้างไฟล์ล้มเหลว: {error}",renameFolder:"เปลี่ยนชื่อโฟลเดอร์ล้มเหลว: {error}",renameFolderNoteConflict:'ไม่สามารถเปลี่ยนชื่อ: "{name}" มีอยู่ในโฟลเดอร์นี้แล้ว',renameFile:"เปลี่ยนชื่อไฟล์ล้มเหลว: {error}",deleteFolder:"ลบโฟลเดอร์ล้มเหลว: {error}",deleteFile:"ลบไฟล์ล้มเหลว: {error}",deleteAttachments:"ไม่สามารถลบไฟล์แนบได้: {error}",mergeNotes:"รวมโน้ตไม่สำเร็จ: {error}",mergeNotesOpenOutput:"สร้างโน้ตที่รวมแล้วเป็น {name} แล้ว แต่ไม่สามารถเปิดได้: {error} โน้ตต้นทางไม่ได้ถูกเปลี่ยนแปลง",mergeNotesOpenSkipped:"คำขอเปิดไฟล์อื่นมีความสำคัญกว่า",mergeNotesTrashSources:"สร้างโน้ตที่รวมแล้วแล้ว ไม่สามารถย้ายโน้ตต้นทาง {count} รายการไปที่ถังขยะได้",duplicateNote:"ทำซ้ำโน้ตล้มเหลว: {error}",duplicateFolder:"ทำซ้ำโฟลเดอร์ล้มเหลว: {error}",openVersionHistory:"เปิดประวัติเวอร์ชันล้มเหลว: {error}",versionHistoryNotFound:"ไม่พบคำสั่งประวัติเวอร์ชัน ตรวจสอบว่า Obsidian Sync เปิดใช้งานอยู่",revealInExplorer:"แสดงไฟล์ใน explorer ระบบล้มเหลว: {error}",openInDefaultApp:"เปิดในแอปเริ่มต้นล้มเหลว: {error}",openInDefaultAppNotAvailable:"เปิดในแอปเริ่มต้นไม่พร้อมใช้งานบนแพลตฟอร์มนี้",folderNoteAlreadyExists:"โน้ตโฟลเดอร์มีอยู่แล้ว",folderAlreadyExists:'โฟลเดอร์ "{name}" มีอยู่แล้ว',folderNotesDisabled:"เปิดใช้งานโน้ตโฟลเดอร์ในการตั้งค่าเพื่อแปลงไฟล์",folderNoteAlreadyLinked:"ไฟล์นี้ทำหน้าที่เป็นโน้ตโฟลเดอร์อยู่แล้ว",folderNoteNotFound:"ไม่มีบันทึกโฟลเดอร์ในโฟลเดอร์ที่เลือก",folderNoteUnsupportedExtension:"นามสกุลไฟล์ไม่รองรับ: {extension}",folderNoteMoveFailed:"ย้ายไฟล์ระหว่างการแปลงล้มเหลว: {error}",folderNoteRenameConflict:'ไฟล์ชื่อ "{name}" มีอยู่ในโฟลเดอร์แล้ว',folderNoteConversionFailed:"แปลงไฟล์เป็นโน้ตโฟลเดอร์ล้มเหลว",folderNoteConversionFailedWithReason:"แปลงไฟล์เป็นโน้ตโฟลเดอร์ล้มเหลว: {error}",folderNoteOpenFailed:"แปลงไฟล์แล้วแต่เปิดโน้ตโฟลเดอร์ล้มเหลว: {error}",failedToDeleteFile:"ลบ {name} ล้มเหลว: {error}",failedToDeleteMultipleFiles:"ลบ {count} ไฟล์ล้มเหลว",versionHistoryNotAvailable:"บริการประวัติเวอร์ชันไม่พร้อมใช้งาน",drawingAlreadyExists:"มีภาพวาดชื่อนี้อยู่แล้ว",failedToCreateDrawing:"สร้างภาพวาดล้มเหลว",noFolderSelected:"ไม่ได้เลือกโฟลเดอร์ใน Notebook Navigator",noFileSelected:"ไม่ได้เลือกไฟล์"},warnings:{linkBreakingNameCharacters:"ชื่อนี้มีอักขระที่ทำให้ลิงก์ Obsidian เสียหาย: #, |, ^, %%, [[, ]].",forbiddenNameCharactersAllPlatforms:"ชื่อไม่สามารถขึ้นต้นด้วยจุดหรือมี : หรือ / ได้",forbiddenNameCharactersWindows:'อักขระที่ Windows สงวนไว้ไม่อนุญาต: <, >, ", \\, |, ?, *.'},notices:{hideFolder:"ซ่อนโฟลเดอร์แล้ว: {name}",showFolder:"แสดงโฟลเดอร์แล้ว: {name}",mergeNotes:"รวม {count} โน้ตเป็น {name} แล้ว"},notifications:{deletedMultipleFiles:"ลบ {count} ไฟล์แล้ว",movedMultipleFiles:"ย้าย {count} ไฟล์ไปยัง {folder}",folderNoteConversionSuccess:'แปลงไฟล์เป็นโน้ตโฟลเดอร์ใน "{name}"',folderMoved:'ย้ายโฟลเดอร์ "{name}" แล้ว',deepLinkCopied:"คัดลอก URL Obsidian ไปคลิปบอร์ดแล้ว",pathCopied:"คัดลอกเส้นทางไปคลิปบอร์ดแล้ว",relativePathCopied:"คัดลอกเส้นทางสัมพัทธ์ไปคลิปบอร์ดแล้ว",tagAddedToNote:"เพิ่มแท็กใน 1 โน้ตแล้ว",tagAddedToNotes:"เพิ่มแท็กใน {count} โน้ตแล้ว",tagRemovedFromNote:"นำแท็กออกจาก 1 โน้ตแล้ว",tagRemovedFromNotes:"นำแท็กออกจาก {count} โน้ตแล้ว",tagsClearedFromNote:"ล้างแท็กทั้งหมดจาก 1 โน้ตแล้ว",tagsClearedFromNotes:"ล้างแท็กทั้งหมดจาก {count} โน้ตแล้ว",noTagsToRemove:"ไม่มีแท็กให้นำออก",noFilesSelected:"ไม่ได้เลือกไฟล์",mergeNotesRequireMultipleMarkdown:"เลือกโน้ต Markdown อย่างน้อยสองรายการเพื่อรวม",tagOperationsNotAvailable:"การดำเนินการแท็กไม่พร้อมใช้งาน",propertyOperationsNotAvailable:"การดำเนินการคุณสมบัติไม่พร้อมใช้งาน",tagsRequireMarkdown:"แท็กรองรับเฉพาะโน้ต Markdown",propertiesRequireMarkdown:"คุณสมบัติรองรับเฉพาะโน้ต Markdown เท่านั้น",propertySetOnNote:"อัปเดตคุณสมบัติใน 1 โน้ต",propertySetOnNotes:"อัปเดตคุณสมบัติใน {count} โน้ต",manualSortPropertyRemovedFromNote:"ลบคุณสมบัติการจัดเรียงจาก 1 โน้ตแล้ว",manualSortPropertyRemovedFromNotes:"ลบคุณสมบัติการจัดเรียงจาก {count} โน้ตแล้ว",iconPackDownloaded:"ดาวน์โหลด {provider} แล้ว",iconPackUpdated:"อัปเดต {provider} แล้ว ({version})",iconPackRemoved:"นำ {provider} ออกแล้ว",iconPackLoadFailed:"โหลด {provider} ล้มเหลว",hiddenFileReveal:'ไฟล์ซ่อนอยู่ เปิดใช้งาน "แสดงรายการที่ซ่อน" เพื่อแสดง'},confirmations:{deleteMultipleFiles:"คุณแน่ใจหรือไม่ว่าต้องการลบ {count} ไฟล์?",deleteConfirmation:"การดำเนินการนี้ไม่สามารถยกเลิกได้"},defaultNames:{untitled:"ไม่มีชื่อ"}},dragDrop:{errors:{cannotMoveIntoSelf:"ไม่สามารถย้ายโฟลเดอร์ไปยังตัวเองหรือโฟลเดอร์ย่อย",itemAlreadyExists:'รายการชื่อ "{name}" มีอยู่ในตำแหน่งนี้แล้ว',failedToMove:"ย้ายล้มเหลว: {error}",failedToAddTag:'เพิ่มแท็ก "{tag}" ล้มเหลว',failedToSetProperty:"ไม่สามารถอัปเดตคุณสมบัติ: {error}",failedToClearTags:"ล้างแท็กล้มเหลว",failedToMoveFolder:'ย้ายโฟลเดอร์ "{name}" ล้มเหลว',failedToImportFiles:"นำเข้าล้มเหลว: {names}"},notifications:{filesAlreadyExist:"{count} ไฟล์มีอยู่ในปลายทางแล้ว",filesAlreadyHaveTag:"{count} ไฟล์มีแท็กนี้หรือแท็กที่เฉพาะเจาะจงกว่าอยู่แล้ว",filesAlreadyHaveProperty:"{count} ไฟล์มีคุณสมบัตินี้อยู่แล้ว",noTagsToClear:"ไม่มีแท็กให้ล้าง",fileImported:"นำเข้า 1 ไฟล์แล้ว",filesImported:"นำเข้า {count} ไฟล์แล้ว"}},dateGroups:{today:"วันนี้",yesterday:"เมื่อวาน",previous7Days:"7 วันที่ผ่านมา",previous30Days:"30 วันที่ผ่านมา"},commands:{open:"เปิด",toggleLeftSidebar:"สลับแถบด้านซ้าย",openHomepage:"เปิดหน้าแรก",openDailyNote:"เปิดโน้ตรายวัน",openWeeklyNote:"เปิดโน้ตรายสัปดาห์",openMonthlyNote:"เปิดโน้ตรายเดือน",openQuarterlyNote:"เปิดโน้ตรายไตรมาส",openYearlyNote:"เปิดโน้ตรายปี",revealFile:"แสดงไฟล์",search:"ค้นหา",searchVaultRoot:"ค้นหาในรูทห้องนิรภัย",toggleDualPane:"สลับรูปแบบแผงคู่",toggleDualPaneOrientation:"สลับทิศทางแผงคู่",toggleCalendar:"สลับปฏิทิน",selectVaultProfile:"เลือกโปรไฟล์ห้องนิรภัย",selectVaultProfile1:"เลือกโปรไฟล์ห้องนิรภัย 1",selectVaultProfile2:"เลือกโปรไฟล์ห้องนิรภัย 2",selectVaultProfile3:"เลือกโปรไฟล์ห้องนิรภัย 3",deleteFile:"ลบไฟล์",createNewNote:"สร้างโน้ตใหม่",createNewNoteFromTemplate:"โน้ตใหม่จากเทมเพลต",moveFiles:"ย้ายไฟล์",mergeNotes:"รวมโน้ต",selectNextFile:"เลือกไฟล์ถัดไป",selectPreviousFile:"เลือกไฟล์ก่อนหน้า",navigateBack:"นำทางย้อนกลับ",navigateForward:"นำทางไปข้างหน้า",convertToFolderNote:"แปลงเป็นโน้ตโฟลเดอร์",setAsFolderNote:"ตั้งเป็นโน้ตโฟลเดอร์",detachFolderNote:"แยกโน้ตโฟลเดอร์",pinAllFolderNotes:"ปักหมุดโน้ตโฟลเดอร์ทั้งหมด",navigateToFolder:"นำทางไปยังโฟลเดอร์",navigateToTag:"นำทางไปยังแท็ก",navigateToProperty:"นำทางไปยังคุณสมบัติ",addShortcut:"เพิ่มในทางลัด",openShortcut:"เปิดทางลัด {number}",toggleDescendants:"สลับลูกหลาน",toggleHidden:"สลับโฟลเดอร์ แท็ก และโน้ตที่ซ่อน",toggleTagSort:"สลับลำดับการเรียงแท็ก",toggleTagsBySelection:"สลับแท็กตามการเลือก",togglePropertiesBySelection:"สลับคุณสมบัติตามการเลือก",toggleCompactMode:"สลับโหมดกะทัดรัด",togglePinnedSection:"สลับส่วนที่ปักหมุด",collapseExpand:"ยุบ / ขยายรายการทั้งหมด",collapseExpandSelectedItem:"ยุบ / ขยายรายการที่เลือก",addTag:"เพิ่มแท็กในไฟล์ที่เลือก",setProperty:"ตั้งค่าคุณสมบัติในไฟล์ที่เลือก",removeTag:"นำแท็กออกจากไฟล์ที่เลือก",removeAllTags:"นำแท็กทั้งหมดออกจากไฟล์ที่เลือก",openAllFiles:"เปิดไฟล์ทั้งหมด",rebuildCache:"สร้างแคชใหม่"},plugin:{viewName:"Notebook Navigator",calendarViewName:"ปฏิทิน",folderNoteSidebarViewName:"โน้ตโฟลเดอร์",ribbonTooltip:"Notebook Navigator",revealInNavigator:"แสดงใน Notebook Navigator"},tooltips:{lastModifiedAt:"แก้ไขล่าสุดเมื่อ",createdAt:"สร้างเมื่อ",file:"ไฟล์",files:"ไฟล์",folder:"โฟลเดอร์",folders:"โฟลเดอร์",wordCount:"จำนวนคำ"},fileCounts:{words:"{count} คำ",characters:"{count} อักขระ",separator:" · "},settings:{changeDefaultSettings:"เปลี่ยนการตั้งค่าเริ่มต้น",metadataReport:{exportSuccess:"ส่งออกรายงานเมตาดาต้าที่ล้มเหลวไปยัง: {filename}",exportFailed:"ส่งออกรายงานเมตาดาต้าล้มเหลว"},sections:{general:"ทั่วไป",vaultFilters:"ตัวกรองการแสดงผล",appearanceBehavior:"ลักษณะและพฤติกรรม",navigationPane:"แผงนำทาง",calendar:"ปฏิทิน",fileOperations:"การดำเนินการกับไฟล์",icons:"ชุดไอคอน",folders:"โฟลเดอร์",folderNotes:"โน้ตโฟลเดอร์",folderNoteFiles:"ไฟล์โน้ตโฟลเดอร์",foldersAndFolderNotes:"โฟลเดอร์และโน้ตโฟลเดอร์",tagsAndProperties:"แท็กและคุณสมบัติ",tags:"แท็ก",listPane:"แผงรายการ",notes:"การแสดงไฟล์",shortcutsAndRecentFiles:"ทางลัดและไฟล์ล่าสุด",advanced:"ขั้นสูง"},pageGroups:{configuration:"การกำหนดค่า",navigationAndContent:"แผงนำทาง",notesAndLists:"แผงรายการ",calendarAndTools:"ปฏิทินและเครื่องมือ"},pageDescriptions:{general:"บันทึกการเผยแพร่ การสนับสนุน โปรไฟล์ห้องนิรภัย ประเภทไฟล์ และคีย์คุณสมบัติ",vaultFilters:"โฟลเดอร์ที่ซ่อน แท็ก ไฟล์ แท็กไฟล์ และกฎคุณสมบัติ",appearanceBehavior:"พฤติกรรม การนำทางด้วยแป้นพิมพ์ ปุ่มเมาส์ ลักษณะ และการจัดรูปแบบ",navigationPane:"เค้าโครง ลักษณะ จำนวนโน้ต พฤติกรรมการยุบ และสีรุ้ง",shortcuts:"การมองเห็นทางลัด เครื่องหมาย ไฟล์ล่าสุด และรายการที่ปักหมุด",calendar:"การแสดงปฏิทิน โน้ตวันที่ เทมเพลต โลแคล และตำแหน่งแถบด้านข้าง",fileOperations:"เทมเพลต การยืนยันการลบ ไฟล์แนบ และพฤติกรรมความขัดแย้งเมื่อย้ายไฟล์",foldersAndFolderNotes:"การแสดงโฟลเดอร์ โน้ตโฟลเดอร์ เทมเพลตโน้ตโฟลเดอร์ และพฤติกรรมโน้ตโฟลเดอร์",tagsProperties:"ส่วนแท็กและคุณสมบัติ ไอคอน การจัดเรียง ขอบเขต และการสืบทอด",listPane:"การจัดเรียง การจัดกลุ่ม โหมดรายการ โน้ตที่ปักหมุด และตัวอย่างภาพวาด",frontmatter:"ฟิลด์ frontmatter สำหรับชื่อที่แสดง การประทับเวลา ไอคอน และสี",notes:"ชื่อเรื่อง ข้อความตัวอย่าง รูปภาพเด่น แท็ก คุณสมบัติ วันที่ จำนวนคำ และจำนวนอักขระ",iconPacks:"ไอคอนอินเทอร์เฟซ ไอคอนไฟล์ และการจัดการชุดไอคอน",advanced:"การวินิจฉัย การล้างข้อมูลเมตา การนำเข้า/ส่งออก และการรีเซ็ต"},groups:{general:{vaultConfiguration:"การตั้งค่าห้องนิรภัย",templates:"เทมเพลต",behavior:"พฤติกรรม",keyboardNavigation:"การนำทางด้วยแป้นพิมพ์",mouseButtons:"ปุ่มเมาส์",view:"ลักษณะ",icons:"ไอคอน",desktopAppearance:"ลักษณะเดสก์ท็อป",mobileAppearance:"รูปลักษณ์บนมือถือ",formatting:"การจัดรูปแบบ"},advanced:{maintenance:"การบำรุงรักษา",resetSettings:"รีเซ็ตการตั้งค่า"},navigation:{appearance:"ลักษณะ",banner:"แบนเนอร์",collapseItems:"ยุบรายการ",dragAndDrop:"ลากและวาง",noteCounts:"จำนวนโน้ต",rainbowColors:"สีรุ้ง",leftSidebar:"แถบด้านซ้าย",calendarIntegration:"การรวมปฏิทิน"},list:{display:"ลักษณะ",groupHeaders:"ส่วนหัวกลุ่ม",propertySort:"การจัดเรียงตามคุณสมบัติ",manualSort:"การจัดเรียงด้วยตนเอง",pinnedNotes:"โน้ตที่ปักหมุด",drawingPreviews:"ตัวอย่างภาพวาด"},notes:{frontmatter:"ฟิลด์ Frontmatter",tasks:"งาน",icon:"ไอคอน",title:"ชื่อเรื่อง",previewText:"ข้อความตัวอย่าง",featureImage:"รูปภาพเด่น",tags:"แท็ก",properties:"คุณสมบัติ",date:"วันที่",parentFolder:"โฟลเดอร์หลัก",wordCount:"จำนวนคำและอักขระ"}},syncMode:{notSynced:"(ไม่ซิงค์)",switchToSynced:"เปิดใช้งานการซิงค์",switchToLocal:"ปิดใช้งานการซิงค์"},items:{listPaneTitle:{name:"ชื่อแผงรายการ",desc:"เลือกตำแหน่งที่จะแสดงชื่อแผงรายการ",options:{header:"แสดงในส่วนหัว",list:"แสดงในแผงรายการ",hidden:"ไม่แสดง"}},sortNotesBy:{name:"ลำดับการเรียงเริ่มต้น",desc:"เลือกลำดับการเรียงเริ่มต้นสำหรับโน้ต",options:{"modified-desc":"วันที่แก้ไข (ใหม่สุดบน)","modified-asc":"วันที่แก้ไข (เก่าสุดบน)","created-desc":"วันที่สร้าง (ใหม่สุดบน)","created-asc":"วันที่สร้าง (เก่าสุดบน)","title-asc":"ชื่อเรื่อง (A บน)","title-desc":"ชื่อเรื่อง (Z บน)","filename-asc":"ชื่อไฟล์ (A บน)","filename-desc":"ชื่อไฟล์ (Z บน)"},directions:{asc:"จากน้อยไปมาก",desc:"จากมากไปน้อย"},fields:{modified:"วันที่แก้ไข",created:"วันที่สร้าง",title:"ชื่อเรื่อง",filename:"ชื่อไฟล์",property:"คุณสมบัติ"}},propertySortKey:{name:"คุณสมบัติสำหรับเรียงลำดับ",desc:"คุณสมบัติ frontmatter ที่คั่นด้วยเครื่องหมายจุลภาคซึ่งแสดงเป็นตัวเลือกการจัดเรียงตามคุณสมบัติ ค่าอาร์เรย์จะรวมเป็นข้อความเดียว คุณสมบัติเหล่านี้จะไม่ถูกเปลี่ยนแปลง",placeholder:"published, author"},propertySortSecondary:{name:"การเรียงลำดับรอง",desc:"ใช้กับการเรียงตามคุณสมบัติ เมื่อโน้ตมีค่าคุณสมบัติเดียวกันหรือไม่มีค่าคุณสมบัติ",options:{title:"ชื่อเรื่อง",filename:"ชื่อไฟล์",created:"วันที่สร้าง",modified:"วันที่แก้ไข"}},propertySortInstructions:{intro:"คุณสมบัติแต่ละรายการที่ระบุไว้ด้านบนจะปรากฏเป็นตัวเลือกการจัดเรียงในเมนูจัดเรียงของแผงรายการ การเลือกตัวเลือกหนึ่งจะจัดเรียงโน้ตตามค่าใน frontmatter"},manualSortPropertyKey:{name:"คุณสมบัติสำหรับการจัดเรียงด้วยตนเอง",desc:"คุณสมบัติ frontmatter ที่ใช้เก็บค่าดัชนีตัวเลขสำหรับการจัดเรียงด้วยตนเอง"},manualSortGroupHeaderProperty:{name:"คุณสมบัติส่วนหัวกลุ่ม",desc:"คุณสมบัติ frontmatter ที่ใช้เก็บส่วนหัวกลุ่มกำหนดเอง"},groupHeadersInstructions:{intro:"ส่วนหัวกลุ่มกำหนดเองจะแสดงเหนือโน้ตในแผงรายการ",items:["จากเมนูจัดเรียงในแผงรายการ ตั้งค่าการจัดกลุ่มเป็น **กำหนดเอง**","คลิกขวาที่โน้ตและเลือก **ตั้งค่าส่วนหัวกลุ่ม** เพื่อเพิ่มส่วนหัวเหนือโน้ตนั้น"]},manualSortNewNotePlacement:{name:"ตำแหน่งโน้ตใหม่",desc:"เลือกตำแหน่งที่จะวางโน้ตใหม่เมื่อรายการปัจจุบันใช้การจัดเรียงด้วยตนเอง",options:{top:"ด้านบน",bottom:"ด้านล่าง","below-selected-note":"ใต้โน้ตที่เลือก",unsorted:"ยังไม่จัดเรียง"}},confirmBeforeManualSort:{name:"ยืนยันก่อนการจัดเรียงด้วยตนเอง",desc:"แสดงคำเตือนก่อนเขียนคุณสมบัติการจัดเรียงด้วยตนเองลงในบันทึกเป็นครั้งแรก เมื่อปิดใช้งาน บันทึกจะได้รับคุณสมบัตินั้นโดยไม่มีคำเตือน"},manualSortInstructions:{intro:"การจัดเรียงด้วยตนเองจะเขียนค่าดัชนีตัวเลขลงในคุณสมบัติ frontmatter ของแต่ละโน้ต โน้ตที่ไม่มีดัชนีจะปรากฏอยู่ใต้ยังไม่จัดเรียง",items:["เปิดใช้การจัดเรียงด้วยตนเองโดยเลือก **จัดเรียงด้วยตนเอง** จากเมนูจัดเรียง หลังจากนั้น มีสองวิธีในการจัดเรียงโน้ตใหม่","เลือก **แก้ไขลำดับการจัดเรียง...** จากเมนูจัดเรียงเพื่อเปิดมุมมองจัดเรียงใหม่ ลากโน้ตด้วยเมาส์หรือสัมผัสบนมือถือ บนเดสก์ท็อป **Cmd/Ctrl** หรือ **Shift** คลิกเพื่อเลือกหลายโน้ต จากนั้นลากโน้ตใดโน้ตหนึ่งเพื่อย้ายทั้งกลุ่ม","ในแผงรายการ เลือกโน้ตหนึ่งโน้ตหรือเลือกหลายโน้ต จากนั้นกด **Cmd/Ctrl + Arrow Up/Down** เพื่อเลื่อนการเลือกขึ้นหรือลง"]},revealFileOnListChanges:{name:"เลื่อนไปยังไฟล์ที่เลือกเมื่อรายการเปลี่ยนแปลง",desc:"เลื่อนไปยังไฟล์ที่เลือกเมื่อปักหมุดโน้ต แสดงโน้ตลูกหลาน เปลี่ยนลักษณะโฟลเดอร์ หรือเรียกใช้การดำเนินการไฟล์"},includeDescendantNotes:{name:"แสดงโน้ตจากโฟลเดอร์ย่อย / ลูกหลาน",desc:"รวมโน้ตจากโฟลเดอร์ย่อยที่ซ้อนกันและลูกหลานแท็กและคุณสมบัติเมื่อดูโฟลเดอร์ แท็ก หรือคุณสมบัติ"},limitPinnedToCurrentFolder:{name:"ปักหมุดโน้ตเฉพาะในโฟลเดอร์ของมัน",desc:"โน้ตที่ปักหมุดจะแสดงว่าปักหมุดเฉพาะในโฟลเดอร์ของตัวเองเท่านั้น มีประโยชน์สำหรับโน้ตโฟลเดอร์หรือหากคุณมีโน้ตที่ปักหมุดจำนวนมาก ไม่มีผลต่อมุมมองแท็กหรือคุณสมบัติ"},separateNoteCounts:{name:"แสดงจำนวนโน้ตปัจจุบันและลูกหลานแยกกัน",desc:'แสดงจำนวนโน้ตเป็นรูปแบบ "ปัจจุบัน ▾ ลูกหลาน" สำหรับโฟลเดอร์ แท็ก และคุณสมบัติ'},groupNotes:{name:"การจัดกลุ่มเริ่มต้น",desc:"กำหนดเองจะแสดงส่วนหัวที่กำหนดไว้ใน frontmatter วันที่จัดกลุ่มโน้ตตามวันที่ โฟลเดอร์จัดกลุ่มโน้ตตามโฟลเดอร์ มุมมองแท็กและคุณสมบัติจะใช้กลุ่มวันที่เมื่อเลือกโฟลเดอร์",options:{custom:"กำหนดเอง",date:"วันที่",folder:"โฟลเดอร์"}},showSelectedNavigationPills:{name:"แสดงป้ายแท็กและคุณสมบัติทั้งหมดเสมอ",desc:'เมื่อปิดใช้งาน ป้ายที่ตรงกับการเลือกการนำทางปัจจุบันจะถูกซ่อน (เช่น ป้ายแท็ก "สูตรอาหาร" จะถูกซ่อนเมื่อเรียกดูแท็ก "สูตรอาหาร") เปิดใช้งานเพื่อให้ป้ายทั้งหมดแสดงอยู่เสมอ'},stickyGroupHeaders:{name:"ส่วนหัวกลุ่มแบบติดด้านบน",desc:"แสดงส่วนหัวของวันที่ โฟลเดอร์ หรือส่วนที่ปักหมุดในปัจจุบันให้เห็นอยู่เสมอขณะเลื่อน"},showFolderGroupPaths:{name:"แสดงเส้นทางโฟลเดอร์ย่อย",desc:"เมื่อจัดกลุ่มตามโฟลเดอร์ในแผงรายการ ให้แสดงเส้นทางโฟลเดอร์ย่อยแทนการแสดงเฉพาะชื่อโฟลเดอร์"},showCurrentFolderFilesAtBottom:{name:"การจัดกลุ่มตามโฟลเดอร์: ไฟล์ในโฟลเดอร์ปัจจุบันอยู่ด้านล่าง",desc:"เมื่อการจัดกลุ่มเริ่มต้นเป็นโฟลเดอร์ ให้ย้ายไฟล์ที่อยู่ในโฟลเดอร์ที่เลือกโดยตรงไปไว้ใต้กลุ่มโฟลเดอร์ย่อย"},defaultListMode:{name:"โหมดรายการเริ่มต้น",desc:"เลือกรูปแบบรายการเริ่มต้น มาตรฐานแสดงชื่อเรื่อง วันที่ คำอธิบาย และข้อความตัวอย่าง กะทัดรัดแสดงชื่อเรื่องเท่านั้น แทนที่ลักษณะต่อโฟลเดอร์",options:{standard:"มาตรฐาน",compact:"กะทัดรัด"}},showFileIcons:{name:"แสดงไอคอนไฟล์",desc:"แสดงไอคอนไฟล์พร้อมระยะห่างชิดซ้าย การปิดใช้งานจะนำไอคอนและการเยื้องออก ลำดับความสำคัญ: ไอคอนงานที่ยังไม่เสร็จ > ไอคอนกำหนดเอง > ไอคอนโฟลเดอร์ > ไอคอนชื่อไฟล์ > ไอคอนประเภทไฟล์ > ไอคอนค่าเริ่มต้น"},useFolderIcon:{name:"ใช้ไอคอนโฟลเดอร์",desc:"แสดงไอคอนของโฟลเดอร์หลักเมื่อไม่มีการตั้งค่าไอคอนไฟล์กำหนดเอง สีโฟลเดอร์จะถูกใช้เมื่อไม่มีการตั้งค่าสีไฟล์กำหนดเอง"},showFileIconUnfinishedTask:{name:"ไอคอนงานที่ยังไม่เสร็จ",desc:"แสดงไอคอนงานเมื่อโน้ตมีงานที่ยังไม่เสร็จ"},showFileBackgroundUnfinishedTask:{name:"พื้นหลังงานที่ยังไม่เสร็จ",desc:"ใช้สีพื้นหลังเมื่อโน้ตมีงานที่ยังไม่เสร็จ"},unfinishedTaskBackgroundColor:{name:"สีพื้นหลังงานที่ยังไม่เสร็จ",desc:"ตั้งค่าสีพื้นหลังที่ใช้เมื่อโน้ตมีงานที่ยังไม่เสร็จ"},showFilenameMatchIcons:{name:"ไอคอนตามชื่อไฟล์",desc:"กำหนดไอคอนให้ไฟล์ตามข้อความในชื่อ"},fileNameIconMap:{name:"แผนที่ไอคอนชื่อไฟล์",desc:"ไฟล์ที่มีข้อความจะได้รับไอคอนที่กำหนด หนึ่งการแมปต่อบรรทัด: ข้อความ=ไอคอน",placeholder:`# ข้อความ=ไอคอน
ประชุม=ph-calendar
ใบแจ้งหนี้=ph-receipt`,editTooltip:"แก้ไขการแมป"},showCategoryIcons:{name:"ไอคอนตามประเภทไฟล์",desc:"กำหนดไอคอนให้ไฟล์ตามนามสกุล"},fileTypeIconPreset:{name:"ค่าที่ตั้งไว้ล่วงหน้าสำหรับไอคอนไฟล์",desc:"เลือกไอคอนในตัวหรือค่าที่ตั้งไว้ล่วงหน้าของชุดไอคอน กฎนามสกุลแบบกำหนดเองจะเขียนทับค่านี้",options:{none:"ไอคอนในตัว"},notInstalledWarning:"ยังไม่ได้ติดตั้งชุดไอคอนนี้ จะแสดงไอคอนในตัวแทน"},fileTypeIconMap:{name:"แผนที่ไอคอนประเภทไฟล์",desc:"ไฟล์ที่มีนามสกุลจะได้รับไอคอนที่กำหนด หนึ่งการแมปต่อบรรทัด: นามสกุล=ไอคอน",placeholder:`# Extension=icon
cpp=ph-file-code
pdf=ph-file-pdf`,editTooltip:"แก้ไขการแมป"},compactItemHeight:{name:"ความสูงรายการกะทัดรัด",desc:"กำหนดความสูงของรายการกะทัดรัดบนเดสก์ท็อปและมือถือ (พิกเซล)",resetTooltip:"รีเซ็ตเป็นค่าเริ่มต้น (28px)"},compactItemHeightScaleText:{name:"ปรับขนาดข้อความตามความสูงรายการกะทัดรัด",desc:"ปรับขนาดข้อความรายการกะทัดรัดเมื่อความสูงรายการลดลง"},showParentFolder:{name:"แสดงโฟลเดอร์หลัก",desc:"แสดงชื่อโฟลเดอร์หลักสำหรับโน้ตในโฟลเดอร์ย่อย แท็ก หรือคุณสมบัติ"},showParentFolderFullPath:{name:"แสดงเส้นทางเต็ม",desc:"แสดงเส้นทางเต็มของโฟลเดอร์หลักแทนที่จะแสดงเฉพาะชื่อโฟลเดอร์"},parentFolderClickRevealsFile:{name:"คลิกโฟลเดอร์หลักเพื่อเปิดโฟลเดอร์",desc:"การคลิกป้ายโฟลเดอร์หลักจะเปิดโฟลเดอร์ในแผงรายการ"},showParentFolderColor:{name:"แสดงสีโฟลเดอร์หลัก",desc:"ใช้สีโฟลเดอร์บนป้ายโฟลเดอร์หลัก"},showParentFolderIcon:{name:"แสดงไอคอนโฟลเดอร์หลัก",desc:"แสดงไอคอนโฟลเดอร์ข้างป้ายโฟลเดอร์หลัก"},showQuickActions:{name:"แสดงการกระทำด่วน",desc:"แสดงปุ่มการกระทำเมื่อวางเมาส์บนไฟล์ ตัวควบคุมปุ่มเลือกการกระทำที่จะปรากฏ"},dualPane:{name:"รูปแบบแผงคู่",desc:"แสดงแผงนำทางและแผงรายการเคียงข้างกันบนเดสก์ท็อป"},dualPaneOrientation:{name:"ทิศทางแผงคู่",desc:"เลือกรูปแบบแนวนอนหรือแนวตั้งเมื่อใช้งานแผงคู่",options:{horizontal:"แบ่งแนวนอน",vertical:"แบ่งแนวตั้ง"}},narrowSidebarLayout:{name:"เมื่อแถบด้านข้างแคบเกินไป",desc:"เลือกสิ่งที่จะเกิดขึ้นเมื่อแผงนำทางและแผงรายการไม่พอดีแบบวางเคียงกัน",options:{none:"ไม่ต้องทำอะไร",singlePane:"สลับเป็นแผงเดียว",vertical:"สลับเป็นการแบ่งแนวตั้ง"}},narrowSidebarTrigger:{name:"เกณฑ์แถบด้านข้างแคบ",desc:"เลือกวิธีคำนวณเกณฑ์ความกว้างของแถบด้านข้าง",options:{fitPanes:"ปรับให้พอดีกับแผง",customWidth:"ความกว้างกำหนดเอง"}},narrowSidebarCustomWidth:{name:"ความกว้างเกณฑ์แถบด้านข้างแคบ",desc:"สลับเมื่อแถบด้านข้างแคบกว่าความกว้างนี้",resetTooltip:"รีเซ็ตเป็นความกว้างเริ่มต้น"},appearanceBackground:{name:"สีพื้นหลัง",desc:"เลือกสีพื้นหลังสำหรับแผงนำทางและรายการ",options:{separate:"พื้นหลังแยก",primary:"ใช้พื้นหลังรายการ",secondary:"ใช้พื้นหลังนำทาง"}},appearanceScale:{name:"ระดับการซูม",desc:"ควบคุมระดับการซูมโดยรวมของ Notebook Navigator (เปอร์เซ็นต์)"},useFloatingToolbars:{name:"ใช้แถบเครื่องมือลอยบน iOS/iPadOS",desc:"ใช้ได้เฉพาะบน iOS และ iPadOS"},startView:{name:"มุมมองเริ่มต้นเมื่อเริ่มงาน",desc:"เลือกแผงที่จะแสดงเมื่อเปิด Notebook Navigator แผงนำทางแสดงทางลัด ไฟล์ล่าสุด และต้นไม้โฟลเดอร์ แผงรายการแสดงรายการไฟล์ทันที",options:{navigation:"แผงนำทาง",files:"แผงรายการ"}},toolbarButtons:{name:"ปุ่มแถบเครื่องมือ",desc:"เลือกปุ่มที่จะปรากฏในแถบเครื่องมือ ปุ่มที่ซ่อนยังคงเข้าถึงได้ผ่านคำสั่งและเมนู",navigationLabel:"แถบเครื่องมือนำทาง",listLabel:"แถบเครื่องมือรายการ"},createNewNotesInNewTab:{name:"เปิดโน้ตใหม่ในแท็บใหม่",desc:"เมื่อเปิดใช้งาน คำสั่งสร้างโน้ตใหม่จะเปิดโน้ตในแท็บใหม่ เมื่อปิดใช้งาน โน้ตจะแทนที่แท็บปัจจุบัน"},autoRevealActiveNote:{name:"แสดงโน้ตที่ใช้งานอัตโนมัติ",desc:"แสดงโน้ตอัตโนมัติเมื่อเปิดจาก Quick Switcher, ลิงก์, หรือการค้นหา"},autoRevealShortestPath:{name:"เปิดเผยอัตโนมัติ: ใช้เส้นทางสั้นที่สุด",desc:"เปิด: การเปิดเผยอัตโนมัติจะเลือกโฟลเดอร์หรือแท็กบรรพบุรุษที่ใกล้ที่สุดที่มองเห็นได้ ปิด: การเปิดเผยอัตโนมัติจะเลือกโฟลเดอร์จริงและแท็กที่ตรงกันของไฟล์"},autoRevealIgnoreRightSidebar:{name:"เปิดเผยอัตโนมัติ: ละเว้นเหตุการณ์จากแถบด้านขวา",desc:"อย่าเปลี่ยนโน้ตที่ใช้งานเมื่อคลิกหรือเปลี่ยนโน้ตในแถบด้านขวา"},autoRevealIgnoreOtherWindows:{name:"เปิดเผยอัตโนมัติ: ละเว้นเหตุการณ์จากหน้าต่างอื่น",desc:"อย่าเปลี่ยนโน้ตที่ใช้งานเมื่อทำงานกับโน้ตในหน้าต่างอื่น"},paneTransitionDuration:{name:"แอนิเมชันหน้าต่างเดี่ยว",desc:"ระยะเวลาการเปลี่ยนหน้าต่างในโหมดหน้าต่างเดี่ยว (มิลลิวินาที)",resetTooltip:"รีเซ็ตเป็นค่าเริ่มต้น"},autoSelectFirstFileOnFocusChange:{name:"เลือกโน้ตแรกอัตโนมัติ",desc:"เปิดโน้ตแรกอัตโนมัติเมื่อสลับโฟลเดอร์ แท็ก หรือคุณสมบัติ"},skipAutoScroll:{name:"ปิดการเลื่อนอัตโนมัติสำหรับทางลัด",desc:"อย่าเลื่อนแผงนำทางเมื่อคลิกรายการในทางลัด"},autoExpandNavItems:{name:"ขยายเมื่อเลือก",desc:"ขยายโฟลเดอร์และแท็กเมื่อเลือก ในโหมดแผงเดียว การเลือกครั้งแรกจะขยาย การเลือกครั้งที่สองจะแสดงไฟล์"},collapseOtherBranchesOnExpand:{name:"ขยายเพียงสาขาเดียว",desc:"ยุบสาขาอื่นในต้นไม้เดียวกันเมื่อขยายโฟลเดอร์ แท็ก หรือคุณสมบัติ"},springLoadedFolders:{name:"ขยายระหว่างลาก",desc:"ขยายโฟลเดอร์และแท็กเมื่อวางเมาส์ระหว่างการลาก"},springLoadedFoldersInitialDelay:{name:"ขยายระหว่างลาก: หน่วงเวลาการขยายครั้งแรก",desc:"หน่วงเวลาก่อนขยายโฟลเดอร์หรือแท็กครั้งแรกระหว่างการลาก (วินาที)"},springLoadedFoldersSubsequentDelay:{name:"ขยายระหว่างลาก: หน่วงเวลาการขยายครั้งถัดไป",desc:"หน่วงเวลาก่อนขยายโฟลเดอร์หรือแท็กเพิ่มเติมระหว่างการลากเดียวกัน (วินาที)"},navigationBanner:{name:"แบนเนอร์นำทาง (โปรไฟล์ห้องนิรภัย)",desc:"แสดงรูปภาพเหนือแผงนำทาง เปลี่ยนตามโปรไฟล์ห้องนิรภัยที่เลือก",current:"แบนเนอร์ปัจจุบัน: {path}",chooseButton:"เลือกรูปภาพ"},pinNavigationBanner:{name:"ปักหมุดแบนเนอร์",desc:"ปักหมุดแบนเนอร์การนำทางไว้เหนือแผนผังการนำทาง"},showShortcuts:{name:"แสดงทางลัด",desc:"แสดงส่วนทางลัดในแผงนำทาง"},shortcutBadgeDisplay:{name:"ป้ายทางลัด",desc:"สิ่งที่จะแสดงถัดจากทางลัด ใช้คำสั่ง 'เปิดทางลัด 1-9' เพื่อเปิดทางลัดโดยตรง",options:{index:"ตำแหน่ง (1-9)",count:"จำนวนรายการ",none:"ไม่มี"}},showRecentNotes:{name:"แสดงไฟล์ล่าสุด",desc:"แสดงส่วนไฟล์ล่าสุดในแผงนำทาง"},hideRecentNotes:{name:"ซ่อนประเภทไฟล์จากไฟล์ล่าสุด",desc:"เลือกประเภทไฟล์ที่ต้องการซ่อนในส่วนไฟล์ล่าสุด",options:{none:"ไม่มี",folderNotes:"โน้ตโฟลเดอร์"}},recentNotesCount:{name:"จำนวนไฟล์ล่าสุด",desc:"จำนวนไฟล์ล่าสุดที่จะแสดง"},pinRecentNotesWithShortcuts:{name:"ปักหมุดไฟล์ล่าสุดพร้อมทางลัด",desc:"รวมไฟล์ล่าสุดเมื่อปักหมุดทางลัด"},calendarEnabled:{name:"เปิดใช้งานปฏิทิน",desc:"เปิดใช้งานฟีเจอร์ปฏิทินของ Notebook Navigator"},calendarPlacement:{name:"ตำแหน่งปฏิทิน",desc:"แสดงในแถบด้านซ้ายหรือขวา",options:{leftSidebar:"แถบด้านซ้าย",rightSidebar:"แถบด้านขวา"}},calendarLeftPlacement:{name:"ตำแหน่งแผงเดี่ยว",desc:"ตำแหน่งที่แสดงปฏิทินในโหมดแผงเดี่ยว",options:{navigationPane:"แผงนำทาง",below:"ใต้แผง"}},calendarLocale:{name:"ภาษา",desc:"ควบคุมการจัดรูปแบบวันที่ในปฏิทิน การนับสัปดาห์ และวันแรกของสัปดาห์",weekPathMismatchWarning:"ปฏิทินที่มองเห็นได้และเส้นทางโน้ตรายสัปดาห์ใช้วันเริ่มต้นของสัปดาห์หรือการนับสัปดาห์ที่แตกต่างกัน",options:{systemDefault:"ค่าเริ่มต้น"}},calendarWeekendDays:{name:"วันหยุดสุดสัปดาห์",desc:"แสดงวันหยุดสุดสัปดาห์ด้วยสีพื้นหลังที่แตกต่างกัน",options:{none:"ไม่มี",satSun:"วันเสาร์และวันอาทิตย์",friSat:"วันศุกร์และวันเสาร์",thuFri:"วันพฤหัสบดีและวันศุกร์"}},calendarMonthHeadingFormat:{name:"รูปแบบชื่อเดือน",desc:"ชื่อเดือนแบบเต็ม (มกราคม) หรือแบบย่อ (ม.ค.)",options:{full:"มกราคม (เต็ม)",short:"ม.ค. (ย่อ)"}},showInfoButtons:{name:"แสดงปุ่มข้อมูล",desc:"แสดงปุ่มข้อมูลในแถบค้นหาและส่วนหัวปฏิทิน"},calendarWeeksToShow:{name:"สัปดาห์ที่แสดงในแถบด้านซ้าย",desc:"ปฏิทินในแถบด้านขวาจะแสดงเต็มเดือนเสมอ",options:{fullMonth:"เต็มเดือน",oneWeek:"1 สัปดาห์",weeksCount:"{count} สัปดาห์"}},calendarHighlightToday:{name:"ไฮไลต์วันที่วันนี้",desc:"ไฮไลต์วันที่วันนี้ด้วยสีพื้นหลังและข้อความตัวหนา"},calendarShowFeatureImage:{name:"แสดงรูปภาพเด่น",desc:"แสดงรูปภาพเด่นของบันทึกในปฏิทิน"},calendarShowWeekNumber:{name:"แสดงหมายเลขสัปดาห์",desc:"เพิ่มคอลัมน์พร้อมหมายเลขสัปดาห์"},calendarShowQuarter:{name:"แสดงไตรมาส",desc:"เพิ่มป้ายไตรมาสในส่วนหัวปฏิทิน"},calendarShowYearCalendar:{name:"แสดงปฏิทินรายปี",desc:"แสดงการนำทางปีและตารางเดือนในแถบด้านข้างขวา"},calendarConfirmBeforeCreate:{name:"ยืนยันก่อนสร้าง",desc:"แสดงกล่องยืนยันเมื่อสร้างบันทึกรายวันใหม่"},calendarIntegrationMode:{name:"แหล่งที่มาบันทึกรายวัน",desc:"แหล่งที่มาสำหรับบันทึกปฏิทิน",options:{dailyNotes:"บันทึกรายวัน (ปลั๊กอินหลัก)",notebookNavigator:"Notebook Navigator"},info:{dailyNotes:"โฟลเดอร์และรูปแบบวันที่ถูกกำหนดค่าในปลั๊กอิน Daily Notes หลัก"}},calendarPeriodicNotesLocale:{name:"ภาษาของโน้ตตามรอบ",desc:"ควบคุมชื่อเดือน ชื่อวันของสัปดาห์ หมายเลขสัปดาห์ และวันเริ่มต้นของสัปดาห์ที่แปลแล้วในเส้นทางโน้ตตามรอบของ Notebook Navigator",options:{calendar:"ปฏิทิน",obsidian:"Obsidian"}},calendarCustomRootFolder:{name:"โฟลเดอร์หลัก",desc:"โฟลเดอร์ฐานสำหรับบันทึกตามรอบ รูปแบบวันที่สามารถรวมโฟลเดอร์ย่อยได้ เปลี่ยนแปลงตามโปรไฟล์ห้องนิรภัยที่เลือก",placeholder:"Personal/Diary"},calendarTemplateFolder:{name:"ตำแหน่งโฟลเดอร์เทมเพลต",desc:"ตัวเลือกไฟล์เทมเพลตแสดงโน้ตจากโฟลเดอร์นี้",placeholder:"Templates",usage:"ใช้โดยโน้ตปฏิทินและโน้ตโฟลเดอร์ กำหนดค่าเทมเพลตใน ปฏิทิน > การรวมปฏิทิน และ โฟลเดอร์และโน้ตโฟลเดอร์ > ไฟล์โน้ตโฟลเดอร์"},calendarCustomFilePattern:{name:"โน้ตรายวัน",desc:"กำหนดเส้นทางโดยใช้รูปแบบวันที่ Moment ใส่ชื่อโฟลเดอร์ย่อยในวงเล็บเหลี่ยม เช่น [Work]/YYYY คลิกไอคอนเทมเพลตเพื่อตั้งค่าเทมเพลต ตั้งค่าตำแหน่งโฟลเดอร์เทมเพลตในการดำเนินการกับไฟล์ > เทมเพลต",momentDescPrefix:"กำหนดเส้นทางโดยใช้ ",momentLinkText:"รูปแบบวันที่ Moment",momentDescSuffix:" ใส่ชื่อโฟลเดอร์ย่อยในวงเล็บเหลี่ยม เช่น [Work]/YYYY คลิกไอคอนเทมเพลตเพื่อตั้งค่าเทมเพลต ตั้งค่าตำแหน่งโฟลเดอร์เทมเพลตในการดำเนินการกับไฟล์ > เทมเพลต",templaterSupportInstalled:"✅ ติดตั้งปลั๊กอิน Templater พร้อมการรองรับเทมเพลตเต็มรูปแบบแล้ว",templaterSupportMissing:"⚠️ ติดตั้งปลั๊กอิน Templater เพื่อใช้การรองรับเทมเพลตเต็มรูปแบบ",placeholder:"YYYY/YYYYMMDD",example:"รูปแบบปัจจุบัน: {path}",parsingError:"แพทเทิร์นต้องสามารถฟอร์แมตและพาร์สกลับเป็นวันที่แบบเต็ม (ปี เดือน วัน) ได้"},calendarCustomWeekPattern:{name:"โน้ตรายสัปดาห์",parsingError:"แพทเทิร์นต้องสามารถฟอร์แมตและพาร์สกลับเป็นสัปดาห์แบบเต็ม (ปีของสัปดาห์ หมายเลขสัปดาห์) ได้",weekPathMismatchWarning:'เส้นทางโน้ตรายสัปดาห์ใช้ภาษาของโน้ตตามรอบ ใช้ภาษาที่ตรงกัน หรือใช้ "GGGG" กับ "WW" สำหรับสัปดาห์ที่เริ่มจากวันจันทร์',mixedWeekTokensWarning:'แพทเทิร์นนี้ผสมโทเค็นสัปดาห์ที่เริ่มจากวันจันทร์ ("W" หรือ "G") กับโทเค็นสัปดาห์ที่อิงตามภาษา ("w" หรือ "g") ใช้ชุดเดียวอย่างสม่ำเสมอ: "GGGG" กับ "WW" สำหรับสัปดาห์ที่เริ่มจากวันจันทร์ หรือ "gggg" กับ "ww" หากโน้ตรายสัปดาห์ควรเป็นไปตามภาษาที่เลือก'},calendarCustomMonthPattern:{name:"โน้ตรายเดือน",parsingError:"แพทเทิร์นต้องสามารถฟอร์แมตและพาร์สกลับเป็นเดือนแบบเต็ม (ปี เดือน) ได้"},calendarCustomQuarterPattern:{name:"โน้ตรายไตรมาส",parsingError:"แพทเทิร์นต้องสามารถฟอร์แมตและพาร์สกลับเป็นไตรมาสแบบเต็ม (ปี ไตรมาส) ได้"},calendarCustomYearPattern:{name:"โน้ตรายปี",parsingError:"แพทเทิร์นต้องสามารถฟอร์แมตและพาร์สกลับเป็นปีแบบเต็ม (ปี) ได้"},calendarTemplateFile:{current:"ไฟล์เทมเพลต: {name}"},showTooltips:{name:"แสดง tooltips",desc:"แสดง tooltips เมื่อวางเมาส์พร้อมข้อมูลเพิ่มเติมสำหรับโน้ตและโฟลเดอร์"},showTooltipPath:{name:"แสดงเส้นทางใน tooltips",desc:"แสดงเส้นทางโฟลเดอร์ใต้ชื่อโน้ตใน tooltips"},showTooltipWordCount:{name:"แสดงจำนวนคำใน tooltips",desc:"แสดงจำนวนคำของโน้ตใน tooltips"},resetPaneSeparator:{name:"รีเซ็ตตำแหน่งตัวคั่นแผง",desc:"รีเซ็ตตัวคั่นที่ลากได้ระหว่างแผงนำทางและแผงรายการเป็นตำแหน่งเริ่มต้น",buttonText:"รีเซ็ตตัวคั่น",notice:"รีเซ็ตตำแหน่งตัวคั่นแล้ว รีสตาร์ท Obsidian หรือเปิด Notebook Navigator ใหม่เพื่อใช้งาน"},settingsTransfer:{name:"นำเข้าและส่งออกการตั้งค่า",desc:"ส่งออกหรือนำเข้าการตั้งค่า Notebook Navigator เป็น JSON การนำเข้าจะแทนที่การตั้งค่าทั้งหมด",importButtonText:"นำเข้า",exportButtonText:"ส่งออก",import:{modalTitle:"นำเข้าการตั้งค่า",fileButtonName:"นำเข้าจากไฟล์",fileButtonDesc:"โหลดไฟล์ JSON จากดิสก์",fileButtonText:"นำเข้าจากไฟล์",editorName:"JSON",editorDesc:"วางหรือแก้ไข JSON ด้านล่าง การตั้งค่าที่ไม่ได้รวมไว้จะถูกรีเซ็ตเป็นค่าเริ่มต้น",placeholder:`{
  "folderSortOrder": "alpha-desc"
}`,confirmButtonText:"นำเข้า",successNotice:"นำเข้าการตั้งค่าแล้ว",errorNotice:"นำเข้าการตั้งค่าล้มเหลว: {message}",fileReadError:"ไม่สามารถอ่านไฟล์ได้: {message}"},export:{modalTitle:"ส่งออกการตั้งค่า",editorName:"JSON",editorDesc:"รวมเฉพาะการตั้งค่าที่เปลี่ยนแปลงจากค่าเริ่มต้น",placeholder:"{}",copyButtonText:"คัดลอกไปยังคลิปบอร์ด",downloadButtonText:"ดาวน์โหลด",copyNotice:"คัดลอกการตั้งค่าไปยังคลิปบอร์ดแล้ว",downloadNotice:"ส่งออกการตั้งค่าแล้ว",downloadError:"ส่งออกการตั้งค่าล้มเหลว: {message}"}},resetAllSettings:{name:"รีเซ็ตการตั้งค่าทั้งหมด",desc:"รีเซ็ตการตั้งค่า Notebook Navigator ทั้งหมดเป็นค่าเริ่มต้น",buttonText:"รีเซ็ตการตั้งค่าทั้งหมด",confirmTitle:"รีเซ็ตการตั้งค่าทั้งหมด?",confirmMessage:"การดำเนินการนี้จะรีเซ็ตการตั้งค่า Notebook Navigator ทั้งหมดเป็นค่าเริ่มต้น ไม่สามารถยกเลิกได้",confirmButtonText:"รีเซ็ตการตั้งค่าทั้งหมด",notice:"รีเซ็ตการตั้งค่าทั้งหมดแล้ว รีสตาร์ท Obsidian หรือเปิด Notebook Navigator ใหม่เพื่อใช้งาน",error:"รีเซ็ตการตั้งค่าล้มเหลว"},multiSelectModifier:{name:"ตัวปรับแต่งเลือกหลายรายการ",desc:"เลือกปุ่มตัวปรับแต่งที่จะสลับการเลือกหลายรายการ เมื่อเลือก Option/Alt การคลิก Cmd/Ctrl จะเปิดโน้ตในแท็บใหม่",options:{cmdCtrl:"คลิก Cmd/Ctrl",optionAlt:"คลิก Option/Alt"}},enterToOpenFiles:{name:"กด Enter เพื่อเปิดไฟล์",desc:"เปิดไฟล์เฉพาะเมื่อกด Enter ระหว่างการนำทางด้วยแป้นพิมพ์ในรายการ บน macOS การตั้งค่านี้จะป้องกันไม่ให้ Enter เปลี่ยนชื่อไฟล์"},shiftEnterOpenContext:{name:"Shift+Enter",desc:"เลือกว่าจะให้ Shift+Enter เปิดหรือเปลี่ยนชื่อไฟล์ที่เลือก"},cmdEnterOpenContext:{name:"Cmd+Enter",desc:"เลือกว่าจะให้ Cmd+Enter เปิดหรือเปลี่ยนชื่อไฟล์ที่เลือก"},ctrlEnterOpenContext:{name:"Ctrl+Enter",desc:"เลือกว่าจะให้ Ctrl+Enter เปิดหรือเปลี่ยนชื่อไฟล์ที่เลือก"},mouseBackForwardAction:{name:"ปุ่มย้อนกลับ/ไปข้างหน้าของเมาส์",desc:"การทำงานของปุ่มย้อนกลับและไปข้างหน้าของเมาส์บนเดสก์ท็อป",options:{none:"ใช้ค่าเริ่มต้นของระบบ",singlePaneSwitch:"สลับแผง (แผงเดียว)",history:"นำทางประวัติ"}},fileVisibility:{name:"แสดงประเภทไฟล์ (โปรไฟล์ห้องนิรภัย)",desc:"กรองประเภทไฟล์ที่จะแสดงใน navigator ประเภทไฟล์ที่ Obsidian ไม่รองรับอาจเปิดในแอปภายนอก",options:{documents:"เอกสาร (.md, .canvas, .base)",supported:"รองรับ (เปิดใน Obsidian)",all:"ทั้งหมด (อาจเปิดภายนอก)"}},homepage:{name:"หน้าแรก",desc:"เลือกสิ่งที่ Notebook Navigator เปิดอัตโนมัติเมื่อเริ่มต้น",current:"ปัจจุบัน: {path}",chooseButton:"เลือกไฟล์",options:{none:"ไม่มี",file:"ไฟล์",dailyNote:"บันทึกรายวัน",weeklyNote:"บันทึกรายสัปดาห์",monthlyNote:"บันทึกรายเดือน",quarterlyNote:"บันทึกรายไตรมาส",yearlyNote:"บันทึกรายปี"},file:{name:"หน้าแรก: ไฟล์เริ่มต้น",empty:"ไม่ได้เลือกไฟล์"},createMissing:{name:"หน้าแรก: สร้างบันทึกหากไม่มี",desc:"สร้างบันทึกเป็นระยะเมื่อเริ่มต้นหรือเมื่อใช้คำสั่ง หากยังไม่มี"}},excludedNotes:{name:"ซ่อนโน้ตตามกฎคุณสมบัติ (โปรไฟล์ห้องนิรภัย)",desc:"รายการกฎ frontmatter คั่นด้วยเครื่องหมายจุลภาค ใช้รูปแบบ `key` หรือ `key=value` (เช่น status=done, published=true, archived)",placeholder:"status=done, published=true, archived"},excludedFileNamePatterns:{name:"ซ่อนไฟล์ (โปรไฟล์ห้องนิรภัย)",desc:"รายการรูปแบบชื่อไฟล์คั่นด้วยเครื่องหมายจุลภาคที่จะซ่อน รองรับอักขระไวลด์การ์ด * และเส้นทาง / (เช่น temp-*, *.png, /assets/*)",placeholder:"temp-*, *.png, /assets/*"},vaultProfiles:{name:"โปรไฟล์ห้องนิรภัย",desc:"โปรไฟล์เก็บการมองเห็นประเภทไฟล์ ไฟล์ที่ซ่อน โฟลเดอร์ที่ซ่อน แท็กที่ซ่อน กฎคุณสมบัติสำหรับโน้ตที่ซ่อน ทางลัด และแบนเนอร์นำทาง สลับโปรไฟล์จากส่วนหัวแผงนำทาง",defaultName:"ค่าเริ่มต้น",addButton:"เพิ่มโปรไฟล์",editProfilesButton:"แก้ไขโปรไฟล์",addProfileOption:"เพิ่มโปรไฟล์...",applyButton:"นำไปใช้",deleteButton:"ลบโปรไฟล์",addModalTitle:"เพิ่มโปรไฟล์",editProfilesModalTitle:"แก้ไขโปรไฟล์",addModalPlaceholder:"ชื่อโปรไฟล์",deleteModalTitle:"ลบ {name}",deleteModalMessage:"ลบ {name}? ตัวกรองไฟล์ โฟลเดอร์ แท็ก และโน้ตตามคุณสมบัติที่บันทึกในโปรไฟล์นี้จะถูกลบ",moveUp:"ย้ายขึ้น",moveDown:"ย้ายลง",errors:{emptyName:"กรอกชื่อโปรไฟล์",duplicateName:"ชื่อโปรไฟล์มีอยู่แล้ว"}},vaultTitle:{name:"ตำแหน่งชื่อห้องนิรภัย",desc:"เลือกตำแหน่งที่จะแสดงชื่อห้องนิรภัย",options:{header:"แสดงในส่วนหัว",navigation:"แสดงในแผงนำทาง"}},excludedFolders:{name:"ซ่อนโฟลเดอร์ (โปรไฟล์ห้องนิรภัย)",desc:"รายการโฟลเดอร์คั่นด้วยเครื่องหมายจุลภาคที่จะซ่อน รูปแบบชื่อ: assets* (โฟลเดอร์ที่เริ่มด้วย assets), *_temp (ลงท้ายด้วย _temp) รูปแบบเส้นทาง: /archive (archive หลักเท่านั้น), /res* (โฟลเดอร์หลักที่เริ่มด้วย res), /*/temp (โฟลเดอร์ temp ลึกหนึ่งระดับ), /projects/* (โฟลเดอร์ทั้งหมดใน projects)",placeholder:"templates, assets*, /archive, /res*"},showFileDate:{name:"แสดงวันที่",desc:"แสดงวันที่ใต้ชื่อโน้ต"},alphabeticalDateMode:{name:"เมื่อเรียงตามชื่อ",desc:"วันที่ที่จะแสดงเมื่อโน้ตเรียงตามตัวอักษร",options:{created:"วันที่สร้าง",modified:"วันที่แก้ไข"}},showFileTags:{name:"แสดงแท็กไฟล์",desc:"แสดงแท็กที่คลิกได้ในรายการไฟล์"},showFileTagAncestors:{name:"แสดงเส้นทางแท็กเต็ม",desc:"แสดงเส้นทางลำดับชั้นแท็กเต็ม เมื่อเปิด: 'ai/openai', 'work/projects/2024' เมื่อปิด: 'openai', '2024'"},colorFileTags:{name:"ลงสีแท็กไฟล์",desc:"ใช้สีแท็กกับป้ายแท็กบนรายการไฟล์"},prioritizeColoredFileTags:{name:"แสดงแท็กที่มีสีก่อน",desc:"เรียงแท็กที่มีสีก่อนแท็กอื่นบนรายการไฟล์"},showFileTagsInCompactMode:{name:"แสดงแท็กไฟล์ในโหมดกะทัดรัด",desc:"แสดงแท็กเมื่อวันที่ ตัวอย่าง และรูปภาพถูกซ่อน"},showFileProperties:{name:"แสดงคุณสมบัติไฟล์",desc:'แสดงคุณสมบัติในรายการไฟล์ ใช้หน้าต่าง "การแสดงผลคีย์คุณสมบัติ" เพื่อเลือกคุณสมบัติที่แสดง'},colorFileProperties:{name:"ระบายสีคุณสมบัติไฟล์",desc:"ใช้สีคุณสมบัติกับป้ายคุณสมบัติบนรายการไฟล์"},prioritizeColoredFileProperties:{name:"แสดงคุณสมบัติที่มีสีก่อน",desc:"เรียงคุณสมบัติที่มีสีก่อนคุณสมบัติอื่นบนรายการไฟล์"},showFilePropertiesInCompactMode:{name:"แสดงคุณสมบัติในโหมดกะทัดรัด",desc:"แสดงคุณสมบัติเมื่อโหมดกะทัดรัดเปิดใช้งาน"},textCountDisplay:{name:"ประเภทการนับ",desc:"เลือกจำนวนของโน้ตที่จะแสดงในรายการไฟล์",options:{none:"ไม่มี",words:"จำนวนคำ",characters:"จำนวนอักขระ",both:"จำนวนคำและอักขระ"}},textCountPlacement:{name:"ตำแหน่ง",desc:"เลือกตำแหน่งที่จะแสดงจำนวนของโน้ต",options:{title:"ในชื่อเรื่อง",property:"เป็นคุณสมบัติ"}},characterCountSpaces:{name:"จำนวนอักขระ",desc:"เลือกว่าจะนับช่องว่างรวมในจำนวนอักขระหรือไม่",options:{include:"รวมช่องว่าง",exclude:"ไม่รวมช่องว่าง"}},wordCountTargetProperty:{name:"คุณสมบัติเป้าหมาย",desc:"คีย์คุณสมบัติ frontmatter ที่มีจำนวนคำเป้าหมาย เว้นว่างไว้เพื่อซ่อนเป้าหมาย"},showWordCountPercentage:{name:"แสดงเปอร์เซ็นต์เป้าหมาย",desc:"แสดงเฉพาะเปอร์เซ็นต์ความคืบหน้าเมื่อมีจำนวนคำเป้าหมาย"},propertyFields:{name:"คีย์คุณสมบัติ (โปรไฟล์ห้องนิรภัย)",desc:"คีย์คุณสมบัติ frontmatter พร้อมการตั้งค่าการแสดงผลแต่ละคีย์สำหรับการนำทางและรายการไฟล์",addButtonTooltip:"กำหนดค่าคีย์คุณสมบัติ",noneConfigured:"ไม่มีคุณสมบัติที่กำหนดค่า",singleConfigured:"กำหนดค่าคุณสมบัติ 1 รายการ: {properties}",multipleConfigured:"กำหนดค่าคุณสมบัติ {count} รายการ: {properties}"},showPropertiesOnSeparateRows:{name:"แสดงคุณสมบัติแยกเป็นบรรทัด",desc:"แสดงแต่ละคุณสมบัติในบรรทัดของตัวเอง"},enablePropertyInternalLinks:{name:"เชื่อมโยงป้ายคุณสมบัติไปยังบันทึก",desc:"คลิกป้ายคุณสมบัติเพื่อเปิดบันทึกที่เชื่อมโยง"},enablePropertyExternalLinks:{name:"เชื่อมโยงป้ายคุณสมบัติไปยัง URL",desc:"คลิกป้ายคุณสมบัติเพื่อเปิด URL ที่เชื่อมโยง"},dateFormat:{name:"รูปแบบวันที่",desc:"รูปแบบสำหรับแสดงวันที่ (ใช้รูปแบบ Moment)",placeholder:"D MMM YYYY",help:`รูปแบบทั่วไป:
D MMM YYYY = 25 พ.ค. 2022
DD/MM/YYYY = 25/05/2022
YYYY-MM-DD = 2022-05-25

โทเคน:
YYYY/YY = ปี
MMMM/MMM/MM = เดือน
DD/D = วัน
dddd/ddd = วันในสัปดาห์`,helpTooltip:"รูปแบบโดยใช้ Moment",momentLinkText:"รูปแบบ Moment"},timeFormat:{name:"รูปแบบเวลา",desc:"รูปแบบสำหรับแสดงเวลา (ใช้รูปแบบ Moment)",placeholder:"HH:mm",help:`รูปแบบทั่วไป:
HH:mm = 14:30 (24 ชั่วโมง)
h:mm a = 2:30 PM (12 ชั่วโมง)
HH:mm:ss = 14:30:45
h:mm:ss a = 2:30:45 PM

โทเคน:
HH/H = 24 ชั่วโมง
hh/h = 12 ชั่วโมง
mm = นาที
ss = วินาที
a = AM/PM`,helpTooltip:"รูปแบบโดยใช้ Moment",momentLinkText:"รูปแบบ Moment"},showFilePreview:{name:"แสดงตัวอย่างโน้ต",desc:"แสดงข้อความตัวอย่างใต้ชื่อโน้ต"},skipHeadingsInPreview:{name:"ข้ามหัวข้อในตัวอย่าง",desc:"ข้ามบรรทัดหัวข้อเมื่อสร้างข้อความตัวอย่าง"},skipCodeBlocksInPreview:{name:"ข้ามบล็อกโค้ดในตัวอย่าง",desc:"ข้ามบล็อกโค้ดเมื่อสร้างข้อความตัวอย่าง"},stripHtmlInPreview:{name:"ลบ HTML ในตัวอย่าง",desc:"ลบแท็ก HTML ออกจากข้อความตัวอย่าง อาจส่งผลต่อประสิทธิภาพในโน้ตขนาดใหญ่"},stripLatexInPreview:{name:"ลบ LaTeX ในตัวอย่าง",desc:"ลบนิพจน์ LaTeX แบบอินไลน์และแบบบล็อกออกจากข้อความตัวอย่าง"},previewProperties:{name:"คุณสมบัติตัวอย่าง",desc:"รายการคุณสมบัติ frontmatter คั่นด้วยเครื่องหมายจุลภาคเพื่อตรวจสอบข้อความตัวอย่าง คุณสมบัติแรกที่มีข้อความจะถูกใช้",placeholder:"summary, description, abstract"},previewPropertiesFallback:{name:"ใช้เนื้อหาโน้ตแทน",desc:"แสดงเนื้อหาโน้ตเป็นตัวอย่างเมื่อไม่มีคุณสมบัติที่ระบุมีข้อความ"},previewRows:{name:"แถวตัวอย่าง",desc:"จำนวนแถวที่จะแสดงสำหรับข้อความตัวอย่าง",options:{1:"1 แถว",2:"2 แถว",3:"3 แถว",4:"4 แถว",5:"5 แถว"}},fileNameRows:{name:"แถวชื่อเรื่อง",desc:"จำนวนแถวที่จะแสดงสำหรับชื่อโน้ต",options:{1:"1 แถว",2:"2 แถว",3:"3 แถว"}},useFolderColor:{name:"ใช้สีโฟลเดอร์",desc:"ใส่สีให้กับชื่อโน้ตและไอคอนไฟล์ตามสีของโฟลเดอร์หลักเมื่อไม่มีการตั้งค่าสีไฟล์กำหนดเอง ลำดับความสำคัญ: สีไฟล์กำหนดเอง > สีโฟลเดอร์ > สีค่าเริ่มต้น"},showFeatureImage:{name:"แสดงรูปภาพประกอบ",desc:"แสดงภาพย่อของรูปภาพแรกที่พบในโน้ต"},forceSquareFeatureImage:{name:"บังคับรูปภาพประกอบสี่เหลี่ยม",desc:"แสดงรูปภาพประกอบเป็นภาพย่อสี่เหลี่ยม"},featureImageProperties:{name:"คุณสมบัติรูปภาพ",desc:"รายการคุณสมบัติ frontmatter คั่นด้วยเครื่องหมายจุลภาคเพื่อตรวจสอบก่อน ถ้าไม่พบจะใช้รูปภาพแรกในเนื้อหา markdown",placeholder:"thumbnail, featureResized, feature"},featureImageExcludeProperties:{name:"ยกเว้นโน้ตที่มีคุณสมบัติ",desc:"รายการคุณสมบัติ frontmatter คั่นด้วยเครื่องหมายจุลภาค โน้ตที่มีคุณสมบัติใดๆ เหล่านี้จะไม่เก็บภาพเด่น",placeholder:"private, confidential"},featureImageSize:{name:"ขนาดการแสดงภาพเด่น",desc:"ขนาดสูงสุดในการแสดงผลภาพเด่นในรายการโน้ต",options:{standard:"64 px",large:"96 px",extraLarge:"128 px"}},featureImagePixelSize:{name:"ขนาดพิกเซลของภาพเด่น",desc:"ความละเอียดที่ใช้ในการสร้างภาพขนาดย่อที่จัดเก็บของภาพเด่น เพิ่มค่านี้หากภาพตัวอย่างขนาดใหญ่ดูเบลอ",options:{standard:"256 x 144 px",large:"384 x 216 px",extraLarge:"512 x 288 px"}},downloadExternalFeatureImages:{name:"ดาวน์โหลดรูปภาพภายนอก",desc:"ดาวน์โหลดรูปภาพระยะไกลและภาพขนาดย่อ YouTube สำหรับรูปภาพเด่น"},hideDrawingPreviewImages:{name:"ซ่อนรูปภาพตัวอย่างที่ส่งออก",desc:'ซ่อนไฟล์ PNG ตัวอย่างภาพวาดที่ส่งออก เปิด "แสดงรายการที่ซ่อน" เพื่อแสดงไฟล์เหล่านั้น'},drawingIntegrationInfo:{intro:"Notebook Navigator แสดงไฟล์ PNG ที่ส่งออกโดย Excalidraw เป็นภาพตัวอย่างของภาพวาด",items:["ใน **การตั้งค่า Excalidraw** เปิด **Embedding Excalidraw into your Notes and Exporting** จากนั้น **Export Settings** จากนั้น **Auto-export Settings**","เปิดใช้งาน **Auto-export PNG** หากต้องการ ให้เปิดใช้งาน **Export both dark- and light-themed image** ด้วย","Notebook Navigator จะมองหา **Drawing.excalidraw.png**, **Drawing.excalidraw.dark.png** หรือ **Drawing.excalidraw.light.png**","ขณะที่ **ซ่อนรูปภาพตัวอย่างที่ส่งออก** เปิดอยู่ ไฟล์ PNG จะปรากฏเฉพาะเมื่อ **แสดงรายการที่ซ่อน** เปิดอยู่ด้วยเท่านั้น"]},showRootFolder:{name:"แสดงโฟลเดอร์หลัก",desc:"แสดงชื่อห้องนิรภัยเป็นโฟลเดอร์หลักในต้นไม้"},showFolderIcons:{name:"แสดงไอคอนโฟลเดอร์",desc:"แสดงไอคอนข้างโฟลเดอร์ในแผงนำทาง"},inheritFolderColors:{name:"สืบทอดสีโฟลเดอร์",desc:"โฟลเดอร์ลูกสืบทอดสีจากโฟลเดอร์หลัก"},folderSortOrder:{name:"ลำดับการเรียงโฟลเดอร์",desc:"คลิกขวาที่โฟลเดอร์ใดก็ได้เพื่อตั้งค่าลำดับการเรียงที่แตกต่างสำหรับรายการย่อย",options:{alphaAsc:"ก ถึง ฮ",alphaDesc:"ฮ ถึง ก"}},showNoteCount:{name:"แสดงจำนวนโน้ต",desc:"แสดงจำนวนโน้ตข้างโฟลเดอร์ แท็ก และคุณสมบัติ"},showSectionIcons:{name:"แสดงไอคอนสำหรับทางลัดและรายการล่าสุด",desc:"แสดงไอคอนข้างรายการในส่วนทางลัดและล่าสุด"},interfaceIcons:{name:"ไอคอนอินเทอร์เฟซ",desc:"แก้ไขไอคอนแถบเครื่องมือ โฟลเดอร์ แท็ก คุณสมบัติ ปักหมุด ค้นหา และเรียงลำดับ",buttonText:"แก้ไขไอคอน"},showIconsColorOnly:{name:"ใช้สีกับไอคอนเท่านั้น",desc:"เมื่อเปิดใช้งาน สีกำหนดเองจะใช้กับไอคอนเท่านั้น เมื่อปิดใช้งาน สีจะใช้กับทั้งไอคอนและป้ายข้อความ"},navRainbowMode:{name:"โหมดสีรุ้ง (โปรไฟล์ห้องนิรภัย)",desc:"ใช้สีรุ้งในแผงนำทาง",options:{none:"ปิด",foreground:"สีข้อความ",background:"สีพื้นหลัง"}},navRainbowFirstColor:{name:"สีแรก",desc:"สีแรกในไล่ระดับสีรุ้ง"},navRainbowLastColor:{name:"สีสุดท้าย",desc:"สีสุดท้ายในไล่ระดับสีรุ้ง"},navRainbowTransitionStyle:{name:"รูปแบบการเปลี่ยน",desc:"การประมาณค่าที่ใช้ระหว่างสีแรกและสีสุดท้าย",options:{hue:"เฉดสี",rgb:"RGB"}},navRainbowApplyToShortcuts:{name:"ใช้กับทางลัด",desc:"ใช้สีรุ้งกับทางลัด"},navRainbowApplyToRecent:{name:"ใช้กับรายการล่าสุด",desc:"ใช้สีรุ้งกับรายการล่าสุด"},navRainbowApplyToFolders:{name:"ใช้กับโฟลเดอร์",desc:"ใช้สีรุ้งกับโฟลเดอร์"},navRainbowFolderScope:{name:"ขอบเขตโฟลเดอร์",desc:"เลือกระดับโฟลเดอร์ที่เริ่มกำหนดสี",options:{root:"ระดับราก",child:"ระดับย่อย",all:"ทุกระดับ"}},navRainbowApplyToTags:{name:"ใช้กับแท็ก",desc:"ใช้สีรุ้งกับแท็ก"},navRainbowTagScope:{name:"ขอบเขตแท็ก",desc:"เลือกระดับแท็กที่เริ่มกำหนดสี",options:{root:"ระดับราก",child:"ระดับย่อย",all:"ทุกระดับ"}},navRainbowApplyToProperties:{name:"ใช้กับคุณสมบัติ",desc:"ใช้สีรุ้งกับคุณสมบัติ"},navRainbowBalanceHueLuminance:{name:"ความสว่างสม่ำเสมอข้ามเฉดสี",desc:"ประมาณค่าความสว่างระหว่างสีเริ่มต้นและสีสุดท้ายระหว่างการเปลี่ยนเฉดสี"},navRainbowSeparateThemeColors:{name:"แยกสีโหมดสว่างและโหมดมืด",desc:"ใช้สีรุ้งที่แตกต่างกันสำหรับโหมดสว่างและโหมดมืด"},navRainbowCopyLightToDark:"คัดลอกสีโหมดสว่างไปยังโหมดมืด",navRainbowPropertyScope:{name:"ขอบเขตคุณสมบัติ",desc:"เลือกระดับคุณสมบัติที่เริ่มกำหนดสี",options:{root:"ระดับราก",child:"ระดับย่อย",all:"ทุกระดับ"}},collapseBehavior:{name:"ยุบรายการ",desc:"เลือกว่าปุ่มขยาย/ยุบทั้งหมดจะมีผลกับอะไร",options:{all:"ทั้งหมด",foldersOnly:"โฟลเดอร์เท่านั้น",tagsOnly:"แท็กเท่านั้น",propertiesOnly:"คุณสมบัติเท่านั้น"}},smartCollapse:{name:"เก็บรายการที่เลือกไว้ขยาย",desc:"เมื่อยุบ เก็บรายการที่เลือกและหลักไว้ขยาย"},excludeVaultRootFromCollapse:{name:"ข้ามรูทห้องนิรภัยเมื่อยุบ",desc:"เมื่อยุบรายการทั้งหมด ให้คงโฟลเดอร์รูทของห้องนิรภัยไว้ในสถานะปัจจุบัน"},navIndent:{name:"การเยื้องต้นไม้",desc:"ปรับความกว้างการเยื้องสำหรับโฟลเดอร์ แท็ก และคุณสมบัติที่ซ้อนกัน (พิกเซล)"},navItemHeight:{name:"ความสูงรายการ",desc:"ปรับความสูงของโฟลเดอร์ แท็ก และคุณสมบัติในแผงนำทาง (พิกเซล)"},navItemHeightScaleText:{name:"ปรับขนาดข้อความตามความสูงรายการ",desc:"ลดขนาดข้อความนำทางเมื่อความสูงรายการลดลง"},showIndentGuides:{name:"แสดงเส้นนำการเยื้อง",desc:"แสดงเส้นนำการเยื้องสำหรับโฟลเดอร์ แท็ก และคุณสมบัติที่ซ้อนกัน"},navCountLeaderStyle:{name:"แสดงตัวนำสายตา",desc:"แสดงจุด ขีด หรือเส้นระหว่างชื่อรายการกับจำนวนโน้ต",options:{none:"ไม่มี",dots:"จุด (...)",dashes:"ขีด (---)",line:"เส้น"}},navRootSpacing:{name:"ระยะห่างรายการหลัก",desc:"ระยะห่างระหว่างโฟลเดอร์ แท็ก และคุณสมบัติระดับหลัก (พิกเซล)"},showTags:{name:"แสดงแท็ก",desc:"แสดงส่วนแท็กใน navigator"},showTagIcons:{name:"แสดงไอคอนแท็ก",desc:"แสดงไอคอนข้างแท็กในแผงนำทาง"},inheritTagColors:{name:"สืบทอดสีแท็ก",desc:"แท็กลูกสืบทอดสีจากแท็กแม่"},tagSortOrder:{name:"ลำดับการเรียงแท็ก",desc:"คลิกขวาที่แท็กใดก็ได้เพื่อตั้งค่าลำดับการเรียงที่แตกต่างสำหรับรายการย่อย",options:{alphaAsc:"ก ถึง ฮ",alphaDesc:"ฮ ถึง ก",frequency:"ความถี่",lowToHigh:"ต่ำไปสูง",highToLow:"สูงไปต่ำ"}},showAllTagsFolder:{name:"แสดงโฟลเดอร์แท็ก",desc:'แสดง "แท็ก" เป็นโฟลเดอร์ที่ยุบได้'},showUntagged:{name:"แสดงโน้ตที่ไม่มีแท็ก",desc:'แสดงรายการ "ไม่มีแท็ก" สำหรับโน้ตที่ไม่มีแท็ก'},scopeTagsToCurrentContext:{name:"กรองแท็กตามการเลือก",desc:"แสดงเฉพาะแท็กที่ปรากฏในโน้ตภายในโฟลเดอร์หรือคุณสมบัติที่เลือก"},keepEmptyTagsProperty:{name:"เก็บคุณสมบัติแท็กหลังนำแท็กสุดท้ายออก",desc:"เก็บคุณสมบัติแท็ก frontmatter เมื่อนำแท็กทั้งหมดออก เมื่อปิดใช้งาน คุณสมบัติแท็กจะถูกลบออกจาก frontmatter"},showProperties:{name:"แสดงคุณสมบัติ",desc:"แสดงส่วนคุณสมบัติในตัวนำทาง",propertyKeysInfoPrefix:"กำหนดค่าคุณสมบัติใน ",propertyKeysInfoLinkText:"เริ่มต้น > คีย์คุณสมบัติ",propertyKeysInfoSuffix:""},showPropertyIcons:{name:"แสดงไอคอนคุณสมบัติ",desc:"แสดงไอคอนข้างคุณสมบัติในแผงนำทาง"},inheritPropertyColors:{name:"สืบทอดสีคุณสมบัติ",desc:"ค่าคุณสมบัติจะสืบทอดสีและพื้นหลังจากคีย์คุณสมบัติ"},propertySortOrder:{name:"ลำดับการเรียงคุณสมบัติ",desc:"คลิกขวาที่คุณสมบัติใดก็ได้เพื่อตั้งค่าลำดับการเรียงที่แตกต่างสำหรับค่าต่างๆ",options:{alphaAsc:"ก ถึง ฮ",alphaDesc:"ฮ ถึง ก",frequency:"ความถี่",lowToHigh:"ต่ำไปสูง",highToLow:"สูงไปต่ำ"}},showAllPropertiesFolder:{name:"แสดงโฟลเดอร์คุณสมบัติ",desc:'แสดง "คุณสมบัติ" เป็นโฟลเดอร์ที่พับได้'},scopePropertiesToCurrentContext:{name:"กรองคุณสมบัติตามการเลือก",desc:"แสดงเฉพาะคุณสมบัติที่ปรากฏในโน้ตภายในโฟลเดอร์หรือแท็กที่เลือก"},hiddenTags:{name:"ซ่อนแท็ก (โปรไฟล์ห้องนิรภัย)",desc:"รายการรูปแบบแท็กคั่นด้วยเครื่องหมายจุลภาค รูปแบบชื่อ: tag* (ขึ้นต้นด้วย), *tag (ลงท้ายด้วย) รูปแบบเส้นทาง: archive (แท็กและลูกหลาน), archive/* (ลูกหลานเท่านั้น), projects/*/drafts (wildcard ตรงกลาง)",placeholder:"archive*, *draft, projects/*/old"},hiddenFileTags:{name:"ซ่อนโน้ตที่มีแท็ก (โปรไฟล์ห้องนิรภัย)",desc:"Comma-separated list of tag patterns. Notes containing matching tags are hidden. Name patterns: tag* (starting with), *tag (ending with). Path patterns: archive (tag and descendants), archive/* (descendants only), projects/*/drafts (mid-segment wildcard).",placeholder:"archive*, *draft, projects/*/old"},enableFolderNotes:{name:"เปิดใช้งานโน้ตโฟลเดอร์",desc:"โฟลเดอร์ที่มีไฟล์โน้ตตรงกันจะแสดงเป็นลิงก์ที่คลิกได้"},folderNoteType:{name:"ประเภทโน้ตโฟลเดอร์เริ่มต้น",desc:"ประเภทโน้ตโฟลเดอร์ที่สร้างจากเมนูบริบท",options:{ask:"ถามเมื่อสร้าง",markdown:"Markdown",canvas:"Canvas",base:"Base"}},folderNoteName:{name:"ชื่อโน้ตโฟลเดอร์",desc:"ชื่อโน้ตโฟลเดอร์ไม่มีนามสกุล เว้นว่างเพื่อใช้ชื่อเดียวกับโฟลเดอร์",placeholder:"index"},folderNoteNamePattern:{name:"รูปแบบชื่อโน้ตโฟลเดอร์",desc:"รูปแบบชื่อสำหรับโน้ตโฟลเดอร์โดยไม่มีนามสกุล ใช้ {{folder}} เพื่อแทรกชื่อโฟลเดอร์ เมื่อตั้งค่าแล้ว ชื่อโน้ตโฟลเดอร์จะไม่ถูกนำไปใช้"},folderNoteTemplate:{name:"เทมเพลตโน้ตโฟลเดอร์",desc:"ไฟล์เทมเพลตที่ใช้เมื่อสร้างโน้ตโฟลเดอร์ เทมเพลต Markdown สามารถใช้ Templater ได้ เทมเพลต Canvas และ Base จะถูกคัดลอกเป็นเนื้อหาไฟล์ ตั้งค่าตำแหน่งโฟลเดอร์เทมเพลตในการดำเนินการกับไฟล์ > เทมเพลต",formatWarning:"รูปแบบเทมเพลตต้องตรงกับประเภทโน้ตโฟลเดอร์ที่เลือก: .md, .canvas หรือ .base"},enableFolderNoteLinks:{name:"ชื่อโฟลเดอร์เปิดโน้ตโฟลเดอร์",desc:"การคลิกชื่อโฟลเดอร์จะเปิดโน้ตโฟลเดอร์ของโฟลเดอร์นั้น เมื่อปิด โน้ตโฟลเดอร์จะให้เฉพาะข้อมูลเมตาของโฟลเดอร์ เช่น ชื่อ ไอคอน และสี"},hideFolderNoteInList:{name:"ซ่อนโน้ตโฟลเดอร์ในรายการ",desc:"ซ่อนโน้ตโฟลเดอร์จากรายการไฟล์"},pinCreatedFolderNote:{name:"ปักหมุดโน้ตโฟลเดอร์ที่สร้าง",desc:"ปักหมุดโน้ตโฟลเดอร์เมื่อสร้างจากเมนูบริบท"},folderNoteOpenLocation:{name:"เปิดโน้ตโฟลเดอร์ใน",desc:"เลือกตำแหน่งที่เปิดโน้ตโฟลเดอร์เมื่อคลิกลิงก์โน้ตโฟลเดอร์",options:{currentTab:"แท็บปัจจุบัน",newTab:"แท็บใหม่",rightSidebar:"แถบด้านขวา"}},showNearestFolderNoteInSidebar:{name:"แถบด้านขวา: แสดงโน้ตโฟลเดอร์ที่ใกล้ที่สุด",desc:"เมื่อเลือกโฟลเดอร์ แถบด้านขวาจะแสดงโน้ตโฟลเดอร์บรรพบุรุษที่ใกล้ที่สุดโดยอัตโนมัติ"},confirmBeforeDelete:{name:"ยืนยันก่อนลบ",desc:"แสดงกล่องยืนยันเมื่อลบโน้ตหรือโฟลเดอร์"},deleteAttachments:{name:"ลบไฟล์แนบเมื่อลบไฟล์",desc:"ลบไฟล์แนบที่เชื่อมโยงและตัวอย่างภาพวาดที่สร้างขึ้นโดยอัตโนมัติหากไม่ได้ใช้ในที่อื่น",options:{ask:"ถามทุกครั้ง",always:"เสมอ",never:"ไม่เลย"}},moveFileConflicts:{name:"ข้อขัดแย้งการย้าย",desc:"เมื่อย้ายไฟล์ไปยังโฟลเดอร์ที่มีไฟล์ชื่อเดียวกันอยู่แล้ว ถามทุกครั้ง (เปลี่ยนชื่อ, เขียนทับ, ยกเลิก) หรือเปลี่ยนชื่อเสมอ",options:{ask:"ถามทุกครั้ง",rename:"เปลี่ยนชื่อเสมอ"}},metadataCleanup:{name:"ล้างเมตาดาต้า",desc:"ลบเมตาดาต้ากำพร้าที่เหลืออยู่เมื่อไฟล์ โฟลเดอร์ แท็ก หรือคุณสมบัติถูกลบ ย้าย หรือเปลี่ยนชื่อนอก Obsidian มีผลเฉพาะไฟล์การตั้งค่า Notebook Navigator",buttonText:"ล้างเมตาดาต้า",error:"ล้างการตั้งค่าล้มเหลว",loading:"กำลังตรวจสอบเมตาดาต้า...",statusClean:"ไม่มีเมตาดาต้าให้ล้าง",statusCounts:"รายการกำพร้า: {folders} โฟลเดอร์, {tags} แท็ก, {properties} คุณสมบัติ, {files} ไฟล์, {pinned} ปักหมุด, {separators} ตัวคั่น"},rebuildCache:{name:"สร้างแคชใหม่",desc:"ใช้เมื่อพบแท็กที่หายไป ตัวอย่างไม่ถูกต้อง หรือรูปภาพประกอบที่หายไป สิ่งนี้อาจเกิดขึ้นหลังจากความขัดแย้งการซิงค์หรือการปิดที่ไม่คาดคิด",buttonText:"สร้างแคชใหม่",error:"สร้างแคชใหม่ล้มเหลว",indexingTitle:"กำลังสร้างดัชนีห้องนิรภัย...",progress:"Notebook Navigator กำลังอัปเดตแคช."},externalIcons:{downloadButton:"ดาวน์โหลด",downloadingLabel:"กำลังดาวน์โหลด...",removeButton:"นำออก",statusInstalled:"ดาวน์โหลดแล้ว (เวอร์ชัน {version})",statusNotInstalled:"ยังไม่ดาวน์โหลด",versionUnknown:"ไม่ทราบ",downloadFailed:"ดาวน์โหลด {name} ล้มเหลว ตรวจสอบการเชื่อมต่อและลองอีกครั้ง",removeFailed:"นำ {name} ออกล้มเหลว",infoNote:"ชุดไอคอนที่ดาวน์โหลดจะซิงค์สถานะการติดตั้งระหว่างอุปกรณ์ ชุดไอคอนอยู่ในฐานข้อมูลท้องถิ่นของแต่ละอุปกรณ์; การซิงค์ติดตามเฉพาะว่าจะดาวน์โหลดหรือนำออก ชุดไอคอนดาวน์โหลดจากที่เก็บ Notebook Navigator (https://github.com/johansan/notebook-navigator/tree/main/icon-assets)"},useFrontmatterDates:{name:"ใช้เมตาดาต้า frontmatter",desc:"ใช้ frontmatter สำหรับชื่อโน้ต timestamps ไอคอน และสี"},frontmatterIconField:{name:"ฟิลด์ไอคอน",desc:"ฟิลด์ frontmatter สำหรับไอคอนไฟล์ เว้นว่างเพื่อใช้ไอคอนที่เก็บในการตั้งค่า",placeholder:"icon"},frontmatterColorField:{name:"ฟิลด์สี",desc:"ฟิลด์ frontmatter สำหรับสีไฟล์ เว้นว่างเพื่อใช้สีที่เก็บในการตั้งค่า",placeholder:"color"},frontmatterBackgroundField:{name:"ฟิลด์พื้นหลัง",desc:"ฟิลด์ frontmatter สำหรับสีพื้นหลัง เว้นว่างเพื่อใช้สีพื้นหลังที่เก็บในการตั้งค่า",placeholder:"background"},frontmatterMigration:{name:"ย้ายไอคอนและสีจากการตั้งค่า",desc:"เก็บในการตั้งค่า: {icons} ไอคอน, {colors} สี",button:"ย้าย",buttonWorking:"กำลังย้าย...",noticeNone:"ไม่มีไอคอนหรือสีไฟล์เก็บในการตั้งค่า",noticeDone:"ย้าย {migratedIcons}/{icons} ไอคอน, {migratedColors}/{colors} สี",noticeFailures:"รายการล้มเหลว: {failures}",noticeError:"ย้ายล้มเหลว ตรวจสอบคอนโซลสำหรับรายละเอียด"},frontmatterNameField:{name:"ฟิลด์ชื่อ (หลายรายการ)",desc:"รายการฟิลด์ frontmatter คั่นด้วยเครื่องหมายจุลภาค ใช้ค่าแรกที่ไม่ว่าง กลับไปใช้ชื่อไฟล์",placeholder:"title, name"},frontmatterCreatedField:{name:"ฟิลด์ timestamp สร้าง",desc:"ชื่อฟิลด์ frontmatter สำหรับ timestamp สร้าง เว้นว่างเพื่อใช้เฉพาะวันที่ระบบไฟล์",placeholder:"created"},frontmatterModifiedField:{name:"ฟิลด์ timestamp แก้ไข",desc:"ชื่อฟิลด์ frontmatter สำหรับ timestamp แก้ไข เว้นว่างเพื่อใช้เฉพาะวันที่ระบบไฟล์",placeholder:"modified"},frontmatterDateFormat:{name:"รูปแบบ timestamp",desc:"รูปแบบที่ใช้แยกวิเคราะห์ timestamp ใน frontmatter เว้นว่างเพื่อใช้รูปแบบ ISO 8601",helpTooltip:"รูปแบบโดยใช้ Moment",momentLinkText:"รูปแบบ Moment",help:`รูปแบบทั่วไป:
YYYY-MM-DD[T]HH:mm:ss → 2025-01-04T14:30:45
YYYY-MM-DD[T]HH:mm:ssZ → 2025-08-07T16:53:39+02:00
DD/MM/YYYY HH:mm:ss → 04/01/2025 14:30:45
MM/DD/YYYY h:mm:ss a → 01/04/2025 2:30:45 PM`},supportDevelopment:{name:"สนับสนุนการพัฒนา",desc:"หากคุณชอบใช้ Notebook Navigator โปรดพิจารณาสนับสนุนการพัฒนาอย่างต่อเนื่อง",buttonText:"❤️ สปอนเซอร์",coffeeButton:"☕️ เลี้ยงกาแฟ"},updateCheckOnStart:{name:"ตรวจสอบเวอร์ชันใหม่เมื่อเริ่ม",desc:"ตรวจสอบรุ่นปลั๊กอินใหม่เมื่อเริ่มงานและแสดงการแจ้งเตือนเมื่อมีการอัปเดต การตรวจสอบจะเกิดขึ้นอย่างมากวันละครั้ง",status:"มีเวอร์ชันใหม่: {version}"},debugLogging:{name:"บันทึกดีบักตอนเริ่มต้น",desc:"เขียนข้อมูลวินิจฉัยการเริ่มต้นลงในไฟล์ Markdown ที่มีเวลาประทับในรากของคลัง แล้วหยุดหลังจากการเริ่มต้นคงที่ ไฟล์อาจถูกซิงก์และอาจมีเส้นทางไฟล์"},whatsNew:{name:"มีอะไรใหม่ใน Notebook Navigator {version}",desc:"ดูการอัปเดตและการปรับปรุงล่าสุด",buttonText:"ดูการอัปเดตล่าสุด"},masteringVideo:{name:"เชี่ยวชาญ Notebook Navigator (วิดีโอ)",desc:"วิดีโอนี้ครอบคลุมทุกสิ่งที่คุณต้องการเพื่อใช้งาน Notebook Navigator อย่างมีประสิทธิภาพ รวมถึงปุ่มลัด การค้นหา แท็ก และการปรับแต่งขั้นสูง"},cacheStatistics:{localCache:"แคชท้องถิ่น",items:"รายการ",withTags:"มีแท็ก",withPreviewText:"มีข้อความตัวอย่าง",withFeatureImage:"มีรูปภาพประกอบ",withMetadata:"มีเมตาดาต้า"},metadataInfo:{successfullyParsed:"แยกวิเคราะห์สำเร็จ",itemsWithName:"รายการมีชื่อ",withCreatedDate:"มีวันที่สร้าง",withModifiedDate:"มีวันที่แก้ไข",withIcon:"มีไอคอน",withColor:"มีสี",failedToParse:"แยกวิเคราะห์ล้มเหลว",createdDates:"วันที่สร้าง",modifiedDates:"วันที่แก้ไข",checkTimestampFormat:"ตรวจสอบรูปแบบ timestamp ของคุณ",exportFailed:"ส่งออกข้อผิดพลาด"}}},whatsNew:{title:"มีอะไรใหม่ใน Notebook Navigator",openBannerImage:"เปิดภาพแบนเนอร์รุ่นเผยแพร่",supportMessage:"หากคุณพบว่า Notebook Navigator มีประโยชน์ โปรดพิจารณาสนับสนุนการพัฒนา",supportButton:"เลี้ยงกาแฟ",thanksButton:"ขอบคุณ!"}}});var eU={};In(eU,{STRINGS_TR:()=>tse});var tse,tU=U(()=>{tse={common:{cancel:"İptal",delete:"Sil",clear:"Temizle",remove:"Kaldır",restoreDefault:"Varsayılana geri yükle",submit:"Gönder",save:"Kaydet",configure:"Yapılandır",lightMode:"Açık mod",darkMode:"Koyu mod",noSelection:"Seçim yok",untagged:"Etiketsiz",featureImageAlt:"Öne çıkan görsel",unknownError:"Bilinmeyen hata",clipboardWriteError:"Panoya yazılamadı",updateBannerTitle:"Notebook Navigator güncellemesi mevcut",updateBannerInstruction:"Ayarlar -> Topluluk eklentileri bölümünden güncelleyin",previous:"Önceki",next:"Sonraki"},listPane:{emptyStateNoSelection:"Notları görüntülemek için bir klasör veya etiket seçin",emptyStateNoNotes:"Not yok",pinnedSection:"Sabitlenmiş",notesSection:"Notlar",filesSection:"Dosyalar",hiddenItemAriaLabel:"{name} (gizli)",collapseGroup:"Grubu daralt",expandGroup:"Grubu genişlet",manualSortTitle:"Manuel sıralama: {property}",manualSortHint:'Yeniden sıralamak için sürükleyin. Sıra, "{property}" özelliğinde sayısal indeks değerleri olarak kaydedilir.',manualSortNonMarkdownHint:"Markdown olmayan dosyalar altta gösterilir ve yeniden sıralanamaz.",unsortedSection:"Sıralanmamış",manualSortDone:"Tamam",manualSortMultipleWriteFailure:"{count} dosya başarısız oldu; ilki: {path}: {message}"},tagList:{untaggedLabel:"Etiketsiz",tags:"Etiketler"},navigationPane:{shortcutsHeader:"Kısayollar",recentFilesHeader:"Son dosyalar",properties:"Özellikler",reorderRootFoldersTitle:"Gezinmeyi yeniden sırala",reorderRootFoldersHint:"Yeniden sıralamak için okları veya sürüklemeyi kullanın",vaultRootLabel:"Kasa",resetRootToAlpha:"Alfabetik sıraya sıfırla",resetRootToFrequency:"Sıklık sırasına sıfırla",pinShortcuts:"Kısayolları sabitle",pinShortcutsAndRecentFiles:"Kısayolları ve son dosyaları sabitle",unpinShortcuts:"Kısayolları sabitlemeden çıkar",unpinShortcutsAndRecentFiles:"Kısayolları ve son dosyaları sabitlemeden çıkar",profileMenuAria:"Kasa profilini değiştir"},navigationCalendar:{ariaLabel:"Takvim",dailyNotesNotEnabled:"Günlük notlar eklentisi etkin değil.",createDailyNote:{title:"Yeni günlük not",message:"{filename} dosyası mevcut değil. Oluşturmak ister misiniz?",confirmButton:"Oluştur"},helpModal:{title:"Takvim kısayolları",items:["Günlük not açmak veya oluşturmak için herhangi bir güne tıklayın. Haftalar, aylar, çeyrekler ve yıllar aynı şekilde çalışır.","Bir günün altındaki dolu nokta, notu olduğu anlamına gelir. Boş nokta, tamamlanmamış görevleri olduğu anlamına gelir.","Bir notun öne çıkan görseli varsa, günün arka planı olarak görünür."],dateFilterCmdCtrl:"`Cmd/Ctrl`+tıklayarak dosya listesinde o tarihe göre filtreleyin.",dateFilterOptionAlt:"`Option/Alt`+tıklayarak dosya listesinde o tarihe göre filtreleyin."}},dailyNotes:{templateReadFailed:"Günlük not şablonu okunamadı.",createFailed:"Günlük not oluşturulamadı."},shortcuts:{folderExists:"Klasör zaten kısayollarda",noteExists:"Not zaten kısayollarda",tagExists:"Etiket zaten kısayollarda",propertyExists:"Özellik zaten kısayollarda mevcut",invalidProperty:"Geçersiz özellik kısayolu",searchExists:"Arama kısayolu zaten mevcut",emptySearchQuery:"Kaydetmeden önce bir arama sorgusu girin",emptySearchName:"Aramayı kaydetmeden önce bir ad girin",add:"Kısayollara ekle",addNotesCount:"Kısayollara {count} not ekle",addFilesCount:"Kısayollara {count} dosya ekle",rename:"Kısayolu yeniden adlandır",remove:"Kısayollardan kaldır",removeAll:"Tüm kısayolları kaldır",removeAllConfirm:"Tüm kısayolları kaldır?",folderNotesPinned:"{count} klasör notu sabitlendi"},paneHeader:{collapseAllFolders:"Öğeleri daralt",expandAllFolders:"Tüm öğeleri genişlet",showCalendar:"Takvimi göster",hideCalendar:"Takvimi gizle",newFolder:"Yeni klasör",newNote:"Yeni not",mobileBackToNavigation:"Gezinmeye dön",changeChildSortOrder:"Sıralama düzenini değiştir",changeSortAndGroup:"Sıralama ve gruplandırmayı değiştir",resetViewToDefaults:"Görünümü varsayılanlara sıfırla",manualSort:"Manuel sıralama",editSortOrder:"Sıralama düzenini düzenle...",removeSortProperty:"Sıralama özelliğini kaldır",descendants:"alt öğeler",subfolders:"alt klasörler",subtags:"alt etiketler",childValues:"alt değerler",applySortAndGroupToDescendants:t=>`Sıralama ve gruplandırmayı ${t} için uygula`,applyAppearanceToDescendants:t=>`Görünümü ${t} için uygula`,showFolders:"Gezinmeyi göster",reorderRootFolders:"Gezinmeyi yeniden sırala",finishRootFolderReorder:"Tamamlandı",showExcludedItems:"Gizli klasörleri, etiketleri ve notları göster",hideExcludedItems:"Gizli klasörleri, etiketleri ve notları gizle",showDualPane:"Çift bölme göster",showSinglePane:"Tek bölme göster",dualPaneAutoFallbackNotice:'Kenar çubuğu çok dar olduğunda çift bölmeler kullanılamaz. Bunu değiştirmek için Ayarlar > Görünüm ve davranış altında "Kenar çubuğu çok dar olduğunda" ayarını "Hiçbir şey yapma" olarak ayarlayın.',changeAppearance:"Görünümü değiştir",showNotesFromSubfolders:"Alt klasörlerden notları göster",showFilesFromSubfolders:"Alt klasörlerden dosyaları göster",showNotesFromDescendants:"Alt öğelerden notları göster",showFilesFromDescendants:"Alt öğelerden dosyaları göster",search:"Ara"},searchInput:{placeholder:"Ara...",placeholderOmnisearch:"Omnisearch...",clearSearch:"Aramayı temizle",switchToFilterSearch:"Filtre aramasına geç",switchToOmnisearch:"Omnisearch aramasına geç",saveSearchShortcut:"Arama kısayolunu kaydet",removeSearchShortcut:"Arama kısayolunu kaldır",shortcutModalTitle:"Arama kısayolunu kaydet",shortcutNamePlaceholder:"Kısayol adını girin",shortcutStartIn:"Her zaman şurada başla: {path}",searchHelp:"Arama sözdizimi",searchHelpTitle:"Arama sözdizimi",searchHelpModal:{intro:"Dosya adlarını, özellikleri, etiketleri, tarihleri ve filtreleri tek bir sorguda birleştirin (örn. `meeting .status=active #work @thisweek`). Tam metin araması kullanmak için Omnisearch eklentisini yükleyin.",introSwitching:"Yukarı/aşağı ok tuşlarını kullanarak veya arama simgesine tıklayarak filtre araması ve Omnisearch arasında geçiş yapın.",sections:{fileNames:{title:"Dosya adları",items:['`word` Dosya adında "word" olan notları bul.',"`word1 word2` Her kelime dosya adıyla eşleşmeli.",'`-word` Dosya adında "word" olan notları hariç tut.']},tags:{title:"Etiketler",items:["`#tag` Etiketli notları dahil et (`#tag/subtag` gibi iç içe etiketleri de bulur).","`#` Yalnızca etiketli notları dahil et.","`-#tag` Etiketli notları hariç tut.","`-#` Yalnızca etiketsiz notları dahil et.","`#tag1 #tag2` Her iki etiketi bul (örtük AND).","`#tag1 AND #tag2` Her iki etiketi bul (açık AND).","`#tag1 OR #tag2` Etiketlerden herhangi birini bul.","`#a OR #b AND #c` AND daha yüksek önceliğe sahip: `#a` veya hem `#b` hem `#c` ile eşleşir.","Cmd/Ctrl+Tıklama ile etiketi AND olarak ekleyin. Cmd/Ctrl+Shift+Tıklama ile OR olarak ekleyin."]},properties:{title:"Özellikler",items:["`.key` Özellik anahtarına sahip notları dahil et.","`.key=value` Özellik değeri `value` içeren notları dahil et.",'`."Reading Status"` Boşluk içeren özellik anahtarına sahip notları dahil et.','`."Reading Status"="In Progress"` Boşluk içeren anahtarlar ve değerler çift tırnak içine alınmalıdır.',"`-.key` Özellik anahtarına sahip notları hariç tut.","`-.key=value` Özellik değeri `value` içeren notları hariç tut.","Cmd/Ctrl+Tıklayarak özelliği AND ile ekleyin. Cmd/Ctrl+Shift+Tıklayarak OR ile ekleyin."]},tasks:{title:"Filtreler",items:["`has:task` Tamamlanmamış görevleri olan notları dahil et.","`-has:task` Tamamlanmamış görevleri olan notları hariç tut.","`folder:meetings` Klasör adı `meetings` içeren notları dahil et.","`folder:/work/meetings` Yalnızca `work/meetings` içindeki notları dahil et (alt klasörler hariç).","`folder:/` Yalnızca kasa kök dizinindeki notları dahil et.","`-folder:archive` Klasör adı `archive` içeren notları hariç tut.","`-folder:/archive` Yalnızca `archive` içindeki notları hariç tut (alt klasörler hariç).","`ext:md` Uzantısı `md` olan notları dahil et (`ext:.md` de desteklenir).","`-ext:pdf` Uzantısı `pdf` olan notları hariç tut.","Etiketler, isimler ve tarihlerle birleştirin (örneğin: `folder:/work/meetings ext:md @thisweek`)."]},connectors:{title:"AND/OR davranışı",items:["`AND` ve `OR` yalnızca etiket ve özellik sorgularında operatör olarak çalışır.","Etiket ve özellik sorguları yalnızca etiket ve özellik filtrelerini içerir: `#tag`, `-#tag`, `#`, `-#`, `.key`, `-.key`, `.key=value`, `-.key=value`.","Bir sorgu adlar, tarihler (`@...`), görev filtreleri (`has:task`), klasör filtreleri (`folder:...`) veya uzantı filtreleri (`ext:...`) içeriyorsa, `AND` ve `OR` kelime olarak aranır.","Örnek operatör sorgusu: `#work OR .status=started`.","Karma sorgu örneği: `#work OR ext:md` (`OR` dosya adlarında aranır)."]},dates:{title:"Tarihler",items:["`@today` Varsayılan tarih alanını kullanarak bugünkü notları bul.","`@yesterday`, `@last7d`, `@last30d`, `@thisweek`, `@thismonth` Göreli tarih aralıkları.","`@2026-02-07` Belirli bir günü bul (`@20260207` de desteklenir).","`@2026` Bir takvim yılını bul.","`@2026-02` veya `@202602` Bir takvim ayını bul.","`@2026-W05` veya `@2026W05` Bir ISO haftasını bul.","`@2026-Q2` veya `@2026Q2` Bir takvim çeyreğini bul.","`@13/02/2026` Ayırıcılı sayısal formatlar (`@07022026` belirsizlikte yerel ayarınızı takip eder).","`@2026-02-01..2026-02-07` Kapsayıcı bir gün aralığı bul (açık uçlar desteklenir).","`@c:...` veya `@m:...` Oluşturma veya değiştirme tarihini hedefle.","`-@...` Bir tarih eşleşmesini hariç tut."]},omnisearch:{title:"Omnisearch",items:["Kasadaki tam metin araması, geçerli klasör veya seçili etiketlere göre filtrelenir.","Büyük kasalarda 3 karakterden az ile yavaş olabilir.","ASCII olmayan karakterler içeren yolları veya alt yolları doğru şekilde arayamaz.","Klasör filtrelemesinden önce sınırlı sonuç döndürür, bu nedenle başka yerlerde çok sayıda eşleşme varsa ilgili dosyalar görünmeyebilir.","Not önizlemeleri varsayılan önizleme metni yerine Omnisearch alıntılarını gösterir."]}}}},contextMenu:{file:{openInNewTab:"Yeni sekmede aç",openToRight:"Sağda aç",openInNewWindow:"Yeni pencerede aç",openMultipleInNewTabs:"{count} notu yeni sekmelerde aç",openMultipleFilesInNewTabs:"{count} dosyayı yeni sekmelerde aç",openMultipleToRight:"{count} notu sağda aç",openMultipleFilesToRight:"{count} dosyayı sağda aç",openMultipleInNewWindows:"{count} notu yeni pencerelerde aç",openMultipleFilesInNewWindows:"{count} dosyayı yeni pencerelerde aç",pinNote:"Notu sabitle",pinFile:"Dosyayı sabitle",unpinNote:"Not sabitlemesini kaldır",unpinFile:"Dosya sabitlemesini kaldır",pinMultipleNotes:"{count} notu sabitle",pinMultipleFiles:"{count} dosyayı sabitle",unpinMultipleNotes:"{count} notun sabitlemesini kaldır",unpinMultipleFiles:"{count} dosyanın sabitlemesini kaldır",duplicateNote:"Notu çoğalt",duplicateFile:"Dosyayı çoğalt",duplicateMultipleNotes:"{count} notu çoğalt",duplicateMultipleFiles:"{count} dosyayı çoğalt",openVersionHistory:"Sürüm geçmişini aç",revealInFolder:"Klasörde göster",revealInFinder:"Finder'da göster",showInExplorer:"Sistem gezgininde göster",openInDefaultApp:"Varsayılan uygulamada aç",renameNote:"Notu yeniden adlandır",renameFile:"Dosyayı yeniden adlandır",deleteNote:"Notu sil",deleteFile:"Dosyayı sil",setCalendarHighlight:"Vurgulamayı ayarla",removeCalendarHighlight:"Vurgulamayı kaldır",deleteMultipleNotes:"{count} notu sil",deleteMultipleFiles:"{count} dosyayı sil",moveNoteToFolder:"Notu taşı...",moveFileToFolder:"Dosyayı taşı...",moveMultipleNotesToFolder:"{count} notu taşı...",moveMultipleFilesToFolder:"{count} dosyayı taşı...",mergeNotes:"{count} notu birleştir...",mergeNotesInGroup:"Gruptaki notları birleştir...",setManualSortGroupHeader:"Grup başlığını ayarla",changeManualSortGroupHeader:"Grup başlığını değiştir",manualSortGroupHeader:{title:"Grup başlığı",copyStyle:"Başlık stilini kopyala",pasteStyle:"Başlık stilini yapıştır",remove:"Grup başlığını kaldır"},addTag:"Etiket ekle",addPropertyKey:"Özellik ayarla",removeTag:"Etiketi kaldır",removeAllTags:"Tüm etiketleri kaldır",changeIcon:"Simgeyi değiştir",changeColor:"Rengi değiştir"},folder:{newNote:"Yeni not",newNoteFromTemplate:"Şablondan yeni not",newFolder:"Yeni klasör",newCanvas:"Yeni tuval",newBase:"Yeni veritabanı",newDrawing:"Yeni çizim",newExcalidrawDrawing:"Yeni Excalidraw çizimi",newTldrawDrawing:"Yeni Tldraw çizimi",duplicateFolder:"Klasörü çoğalt",searchInFolder:"Klasörde ara",createFolderNote:"Klasör notu oluştur",detachFolderNote:"Klasör notunu ayır",deleteFolderNote:"Klasör notunu sil",changeIcon:"Simgeyi değiştir",changeColor:"Rengi değiştir",changeBackground:"Arka planı değiştir",excludeFolder:"Klasörü gizle",unhideFolder:"Klasörü göster",moveFolder:"Klasörü taşı...",renameFolder:"Klasörü yeniden adlandır",deleteFolder:"Klasörü sil"},tag:{changeIcon:"Simgeyi değiştir",changeColor:"Rengi değiştir",changeBackground:"Arka planı değiştir",showTag:"Etiketi göster",hideTag:"Etiketi gizle"},property:{addKey:"Özellik anahtarlarını yapılandır",renameKey:"Özelliği yeniden adlandır",deleteKey:"Özelliği sil"},navigation:{addSeparator:"Ayırıcı ekle",removeSeparator:"Ayırıcıyı kaldır"},copyPath:{title:"Yolu kopyala",asObsidianUrl:"Obsidian URL olarak",fromVaultFolder:"kasa klasöründen",fromSystemRoot:"sistem kökünden"},style:{title:"Stil",copy:"Stili kopyala",paste:"Stili yapıştır",removeIcon:"Simgeyi kaldır",removeColor:"Rengi kaldır",removeBackground:"Arka planı kaldır",clear:"Stili temizle"}},folderAppearance:{appearance:"Görünüm",sortBy:"Sıralama ölçütü",standardPreset:"Standart",compactPreset:"Kompakt",defaultSuffix:"(varsayılan)",defaultLabel:"Varsayılan",titleRows:"Başlık satırları",previewRows:"Önizleme satırları",groupBy:"Grupla",titleRowOption:t=>`${t} başlık satırı`,previewRowOption:t=>`${t} önizleme satırı`},modals:{bulkApply:{applyButton:"Uygula",applySortAndGroupTitle:t=>`Sıralama ve gruplandırma ${t} için uygulansın mı?`,applyAppearanceTitle:t=>`Görünüm ${t} için uygulansın mı?`,affectedCountMessage:t=>`Değişecek mevcut geçersiz kılmalar: ${t}.`},manualSortConfirm:{propertySortTitle:"Manuel sıralama kullanılsın mı?",propertySortMessage:(t,e)=>`Bu, geçerli görünümü "${t}" kullanarak manuel sıralamaya geçirir. Sıralamayı düzenlemek, gerektiğinde ${e} nottaki bu özelliğe sayısal indeks değerleri yazar.`,propertySortConfirmButton:"Manuel sıralamayı kullan",removePropertyTitle:"Sıralama özelliği kaldırılsın mı?",removePropertyMessage:(t,e)=>`Bu işlem, geçerli listedeki ${e} nottan "${t}" özelliğini kaldırır. Bu notlar için manuel sıralama düzeni temizlenecek.`,removePropertyConfirmButton:"Özelliği kaldır",compactTitle:"İndeks değerleri sıkıştırılsın mı?",compactMessage:t=>`Bu yeniden sıralama daha fazla sayısal alana ihtiyaç duyar. ${t} not yeni indeks değerleri alacak.`,compactConfirmButton:"İndeks değerlerini sıkıştır"},manualSortGroupHeader:{title:"Grup başlığını ayarla",titleLabel:"Başlık",placeholder:"Grup başlığı",icon:"Simge",color:"Renk",wordCount:"Kelime sayısını göster",wordCountTarget:"Hedef kelime sayısı",wordCountTargetPlaceholder:"10,000",wordCountTargetDescription:"Bu alan boş olduğunda grup hedefi, Ayarlar > Notlar > Kelime ve karakter sayısı içinde ayarlanan hedef özelliğini kullanır. Bu grup için bir hedef değeri ayarlayarak geçersiz kılın.",description:"Bu not için grup başlığını özelleştirin. Başlığı kaldırmak için başlığı boş bırakın."},mergeNotes:{title:"Notları birleştir",summary:"{folder} içindeki {count} nottan tek bir not oluştur.",frontmatterRule:"İlk notun frontmatter bölümü korunur. Diğer notların frontmatter bölümü kaldırılır.",crossFolderWarning:"Kaynak notlar farklı klasörlerde. Birleştirilen notta göreli bağlantılar ve gömmeler çalışmayabilir.",outputName:"Çıktı adı",outputNameDesc:"Birleştirilen not yukarıda gösterilen klasörde oluşturulur.",outputNamePlaceholder:"Birleştirilmiş notlar",separator:"Ayırıcı",separatorDesc:"Notların arasına eklenir.",separatorOptions:{none:"Yok",blankLine:"Boş satır",horizontalRule:"Yatay çizgi",heading:"Not başlığıyla başlık"},moveSourcesToTrash:"Birleştirdikten sonra kaynak notları çöp kutusuna taşı",mergeButton:"Birleştir"},navRainbowSection:{title:t=>`Gökkuşağı renkleri: ${t}`},iconPicker:{searchPlaceholder:"Simge ara...",recentlyUsedHeader:"Son kullanılanlar",emptyStateSearch:"Simgeleri aramak için yazmaya başlayın",emptyStateNoResults:"Simge bulunamadı",showingResultsInfo:"{count} sonuçtan 50 tanesi gösteriliyor. Daraltmak için daha fazla yazın.",emojiInstructions:"Simge olarak kullanmak için herhangi bir emoji yazın veya yapıştırın",removeIcon:"Simgeyi kaldır",removeFromRecents:"Son kullanılanlardan kaldır",allTabLabel:"Tümü"},fileIconRuleEditor:{addRuleAria:"Kural ekle"},interfaceIcons:{title:"Arayüz simgeleri",fileItemsSection:"Dosya öğeleri",items:{"nav-shortcuts":"Kısayollar","nav-recent-files":"Son dosyalar","nav-expand-all":"Tümünü genişlet","nav-collapse-all":"Tümünü daralt","nav-calendar":"Takvim","nav-tree-expand":"Ağaç oku: genişlet","nav-tree-collapse":"Ağaç oku: daralt","nav-hidden-items":"Gizli öğeler","nav-root-reorder":"Kök klasörleri yeniden sırala","nav-new-folder":"Yeni klasör","nav-show-single-pane":"Tek bölme göster","nav-show-dual-pane":"Çift bölme göster","nav-profile-chevron":"Profil menüsü oku","list-search":"Ara","list-reveal-file":"Dosyayı göster","list-descendants":"Alt klasörlerden notlar","list-sort-ascending":"Sıralama: artan","list-sort-descending":"Sıralama: azalan","list-sort-modified":"Düzenlenme tarihine göre sırala","list-sort-created":"Oluşturulma tarihine göre sırala","list-sort-title":"Başlığa göre sırala","list-sort-filename":"Dosya adına göre sırala","list-sort-property":"Özelliğe göre sırala","list-appearance":"Görünümü değiştir","list-new-note":"Yeni not","list-pinned":"Sabitlenmiş notlar","nav-folder-open":"Klasör açık","nav-folder-closed":"Klasör kapalı","nav-tags":"Etiketler","nav-tag":"Etiket","nav-properties":"Özellikler","nav-property":"Özellik","nav-property-value":"Değer","file-unfinished-task":"Tamamlanmamış görevler","file-word-count":"Kelime sayısı","file-character-count":"Karakter sayısı"}},colorPicker:{currentColor:"Mevcut",newColor:"Yeni",paletteDefault:"Varsayılan",paletteCustom:"Özel",copyColors:"Rengi kopyala",colorsCopied:"Renk panoya kopyalandı",pasteColors:"Rengi yapıştır",pasteClipboardError:"Pano okunamadı",pasteInvalidFormat:"Hex renk değeri bekleniyor",colorsPasted:"Renk başarıyla yapıştırıldı",resetUserColors:"Özel renkleri temizle",clearCustomColorsConfirm:"Tüm özel renkler kaldırılsın mı?",userColorSlot:"Renk {slot}",recentColors:"Son renkler",clearRecentColors:"Son renkleri temizle",removeRecentColor:"Rengi kaldır",apply:"Uygula",pickerLabel:"Seçici",hexLabel:"HEX",hexInputLabel:"HEX renk değeri",saturationValueArea:"Doygunluk ve parlaklık",hueSlider:"Ton",alphaSlider:"Saydamlık"},appearance:{tabIcon:"Simge",tabColor:"Renk",tabBackground:"Arka plan",resetIcon:"Simgeyi kaldır",resetColor:"Rengi kaldır",resetBackground:"Arka planı kaldır",clear:"Stili temizle",apply:"Uygula"},selectVaultProfile:{title:"Kasa profili seç",currentBadge:"Aktif",emptyState:"Kullanılabilir kasa profili yok."},tagOperation:{renameTitle:"{tag} etiketini yeniden adlandır",deleteTitle:"{tag} etiketini sil",newTagPrompt:"Yeni etiket adı",newTagPlaceholder:"Yeni etiket adını girin",renameWarning:"{oldTag} etiketini yeniden adlandırmak {count} {files} değiştirecek.",deleteWarning:"{tag} etiketini silmek {count} {files} değiştirecek.",modificationWarning:"Bu işlem dosya değişiklik tarihlerini güncelleyecek.",affectedFiles:"Etkilenen dosyalar:",andMore:"...ve {count} tane daha",confirmRename:"Etiketi yeniden adlandır",renameUnchanged:"{tag} değiştirilmedi",renameNoChanges:"{oldTag} → {newTag} ({countLabel})",renameBatchNotFinalized:"{renamed}/{total} yeniden adlandırıldı. Güncellenmeyen: {notUpdated}. Meta veriler ve kısayollar güncellenmedi.",invalidTagName:"Geçerli bir etiket adı girin.",descendantRenameError:"Bir etiket kendisine veya alt öğesine taşınamaz.",confirmDelete:"Etiketi sil",deleteBatchNotFinalized:"{removed}/{total} öğeden kaldırıldı. Güncellenmeyen: {notUpdated}. Meta veriler ve kısayollar güncellenmedi.",checkConsoleForDetails:"Ayrıntılar için konsolu kontrol edin.",file:"dosya",files:"dosya",inlineParsingWarning:{title:"Satır içi etiket uyumluluğu",message:"{tag}, Obsidian'ın satır içi etiketlerde ayrıştıramadığı karakterler içeriyor. Frontmatter etiketleri etkilenmez.",confirm:"Yine de kullan"}},propertyOperation:{renameTitle:"{property} özelliğini yeniden adlandır",deleteTitle:"{property} özelliğini sil",newKeyPrompt:"Yeni özellik adı",newKeyPlaceholder:"Yeni özellik adını girin",renameWarning:"{property} özelliğinin yeniden adlandırılması {count} {files} değiştirecek.",renameConflictWarning:"{newKey} özelliği zaten {count} {files} içinde mevcut. {oldKey} yeniden adlandırıldığında mevcut {newKey} değerleri değiştirilecek.",deleteWarning:"{property} özelliğinin silinmesi {count} {files} değiştirecek.",confirmRename:"Özelliği yeniden adlandır",confirmDelete:"Özelliği sil",renameNoChanges:"{oldKey} → {newKey} (değişiklik yok)",renameSettingsUpdateFailed:"{oldKey} → {newKey} özelliği yeniden adlandırıldı. Ayarlar güncellenemedi.",deleteSingleSuccess:"{property} özelliği 1 nottan silindi",deleteMultipleSuccess:"{property} özelliği {count} nottan silindi",deleteSettingsUpdateFailed:"{property} özelliği silindi. Ayarlar güncellenemedi.",invalidKeyName:"Geçerli bir özellik adı girin."},fileSystem:{newFolderTitle:"Yeni klasör",renameFolderTitle:"Klasörü yeniden adlandır",renameFileTitle:"Dosyayı yeniden adlandır",deleteFolderTitle:"'{name}' silinsin mi?",deleteFileTitle:"'{name}' silinsin mi?",deleteFileAttachmentsTitle:"Dosya ekleri silinsin mi?",moveFileConflictTitle:"Taşıma çakışması",folderNamePrompt:"Klasör adını girin:",hideInOtherVaultProfiles:"Diğer kasa profillerinde gizle",renamePrompt:"Yeni adı girin:",renameVaultTitle:"Kasa görünen adını değiştir",renameVaultPrompt:"Özel görünen ad girin (varsayılanı kullanmak için boş bırakın):",deleteFolderConfirm:"Bu klasörü ve tüm içeriğini silmek istediğinizden emin misiniz?",deleteFileConfirm:"Bu dosyayı silmek istediğinizden emin misiniz?",deleteFileAttachmentsDescriptionSingle:"Bu ek artık hiçbir notta kullanılmıyor. Silmek ister misiniz?",deleteFileAttachmentsDescriptionMultiple:"Bu ekler artık hiçbir notta kullanılmıyor. Silmek ister misiniz?",deleteFileAttachmentsViewFileTreeAriaLabel:"Dosya ağacı",deleteFileAttachmentsViewGalleryAriaLabel:"Galeri",moveFileConflictDescriptionSingle:'"{folder}" içinde bir dosya çakışması bulundu.',moveFileConflictDescriptionMultiple:'"{folder}" içinde {count} dosya çakışması bulundu.',moveFileConflictAffectedFiles:"Etkilenen dosyalar",moveFileConflictItem:'"{name}" -> "{suggested}"{renameOnly}',moveFileConflictRenameOnly:"(yalnızca yeniden adlandır)",moveFileConflictRename:"Yeniden adlandır",moveFileConflictOverwrite:"Üzerine yaz",removeAllTagsTitle:"Tüm etiketleri kaldır",removeAllTagsFromNote:"Bu nottan tüm etiketleri kaldırmak istediğinizden emin misiniz?",removeAllTagsFromNotes:"{count} nottan tüm etiketleri kaldırmak istediğinizden emin misiniz?"},folderNoteType:{title:"Klasör notu türünü seçin",folderLabel:"Klasör: {name}"},folderSuggest:{placeholder:t=>`${t} klasörüne taşı...`,multipleFilesLabel:t=>`${t} dosya`,navigatePlaceholder:"Klasöre git...",instructions:{navigate:"gezinmek için",move:"taşımak için",select:"seçmek için",dismiss:"kapatmak için"}},homepage:{placeholder:"Dosya ara...",instructions:{navigate:"gezinmek için",select:"ana sayfa olarak ayarlamak için",dismiss:"kapatmak için"}},calendarTemplate:{placeholder:"Şablon ara...",instructions:{navigate:"gezinmek için",select:"şablon seçmek için",dismiss:"kapatmak için"}},navigationBanner:{placeholder:"Görsel ara...",instructions:{navigate:"gezinmek için",select:"afiş olarak ayarlamak için",dismiss:"kapatmak için"}},tagSuggest:{navigatePlaceholder:"Etikete git...",addPlaceholder:"Eklenecek etiketi ara...",removePlaceholder:"Kaldırılacak etiketi seç...",createNewTag:"Yeni etiket oluştur: #{tag}",instructions:{navigate:"gezinmek için",select:"seçmek için",dismiss:"kapatmak için",add:"etiket eklemek için",remove:"etiketi kaldırmak için"}},propertySuggest:{placeholder:"Özellik anahtarı seç...",navigatePlaceholder:"Özelliğe git...",instructions:{navigate:"gezinmek için",select:"özellik eklemek için",dismiss:"kapatmak için"}},propertyKeyVisibility:{title:"Özellik anahtarı görünürlüğü",description:"Özellik değerlerinin nerede gösterileceğini kontrol edin. Sütunlar gezinme paneli, liste paneli ve dosya bağlam menüsüne karşılık gelir. Alt satırı kullanarak bir sütundaki tüm satırları değiştirin.",searchPlaceholder:"Özellik anahtarlarını ara...",propertyColumnLabel:"Özellik",showInNavigation:"Gezinmede göster",showInList:"Listede göster",showInFileMenu:"Dosya menüsünde göster",toggleAllInNavigation:"Gezinmede tümünü değiştir",toggleAllInList:"Listede tümünü değiştir",toggleAllInFileMenu:"Dosya menüsünde tümünü değiştir",applyButton:"Uygula",emptyState:"Özellik anahtarı bulunamadı."},welcome:{title:"{pluginName} uygulamasına hoş geldiniz",introText:'Merhaba! Başlamadan önce, panellerin ve "Alt klasörlerden notları göster" düğmesinin nasıl çalıştığını anlamak için aşağıdaki videonun ilk beş dakikasını izlemenizi şiddetle tavsiye ederim.',continueText:"Beş dakikanız daha varsa, kompakt görüntüleme modlarını ve kısayolları ile önemli kısayol tuşlarını doğru şekilde nasıl ayarlayacağınızı anlamak için videoyu izlemeye devam edin.",thanksText:"İndirdiğiniz için çok teşekkürler, keyifli kullanımlar!",videoAlt:"Notebook Navigator kurulumu ve ustalaşma",openVideoButton:"Videoyu oynat",closeButton:"Belki sonra"}},fileSystem:{errors:{createFolder:"Klasör oluşturulamadı: {error}",createFile:"Dosya oluşturulamadı: {error}",renameFolder:"Klasör yeniden adlandırılamadı: {error}",renameFolderNoteConflict:'Yeniden adlandırılamıyor: "{name}" bu klasörde zaten var',renameFile:"Dosya yeniden adlandırılamadı: {error}",deleteFolder:"Klasör silinemedi: {error}",deleteFile:"Dosya silinemedi: {error}",deleteAttachments:"Ekler silinemedi: {error}",mergeNotes:"Notlar birleştirilemedi: {error}",mergeNotesOpenOutput:"Birleştirilmiş not {name} olarak oluşturuldu, ancak açılamadı: {error}. Kaynak notlar değiştirilmedi.",mergeNotesOpenSkipped:"Başka bir dosya açma isteği öncelik kazandı.",mergeNotesTrashSources:"Birleştirilmiş not oluşturuldu. {count} kaynak not çöp kutusuna taşınamadı.",duplicateNote:"Not çoğaltılamadı: {error}",duplicateFolder:"Klasör çoğaltılamadı: {error}",openVersionHistory:"Sürüm geçmişi açılamadı: {error}",versionHistoryNotFound:"Sürüm geçmişi komutu bulunamadı. Obsidian Sync etkin olduğundan emin olun.",revealInExplorer:"Dosya sistem gezgininde gösterilemedi: {error}",openInDefaultApp:"Varsayılan uygulamada açılamadı: {error}",openInDefaultAppNotAvailable:"Varsayılan uygulamada açma bu platformda kullanılamaz",folderNoteAlreadyExists:"Klasör notu zaten var",folderAlreadyExists:'"{name}" klasörü zaten var',folderNotesDisabled:"Dosyaları dönüştürmek için ayarlarda klasör notlarını etkinleştirin",folderNoteAlreadyLinked:"Bu dosya zaten klasör notu olarak işlev görüyor",folderNoteNotFound:"Seçili klasörde klasör notu yok",folderNoteUnsupportedExtension:"Desteklenmeyen dosya uzantısı: {extension}",folderNoteMoveFailed:"Dönüştürme sırasında dosya taşınamadı: {error}",folderNoteRenameConflict:'Klasörde "{name}" adlı bir dosya zaten var',folderNoteConversionFailed:"Dosya klasör notuna dönüştürülemedi",folderNoteConversionFailedWithReason:"Dosya klasör notuna dönüştürülemedi: {error}",folderNoteOpenFailed:"Dosya dönüştürüldü ancak klasör notu açılamadı: {error}",failedToDeleteFile:"{name} silinemedi: {error}",failedToDeleteMultipleFiles:"{count} dosya silinemedi",versionHistoryNotAvailable:"Sürüm geçmişi hizmeti kullanılamıyor",drawingAlreadyExists:"Bu isimde bir çizim zaten var",failedToCreateDrawing:"Çizim oluşturulamadı",noFolderSelected:"Notebook Navigator'da klasör seçili değil",noFileSelected:"Dosya seçili değil"},warnings:{linkBreakingNameCharacters:"Bu ad, Obsidian bağlantılarını bozan karakterler içeriyor: #, |, ^, %%, [[, ]].",forbiddenNameCharactersAllPlatforms:"Adlar nokta ile başlayamaz ve : veya / içeremez.",forbiddenNameCharactersWindows:'Windows için ayrılmış karakterlere izin verilmez: <, >, ", \\, |, ?, *.'},notices:{hideFolder:"Klasör gizlendi: {name}",showFolder:"Klasör gösterildi: {name}",mergeNotes:"{count} not {name} içine birleştirildi"},notifications:{deletedMultipleFiles:"{count} dosya silindi",movedMultipleFiles:"{count} dosya {folder} klasörüne taşındı",folderNoteConversionSuccess:'Dosya "{name}" içinde klasör notuna dönüştürüldü',folderMoved:'"{name}" klasörü taşındı',deepLinkCopied:"Obsidian URL panoya kopyalandı",pathCopied:"Yol panoya kopyalandı",relativePathCopied:"Göreli yol panoya kopyalandı",tagAddedToNote:"1 nota etiket eklendi",tagAddedToNotes:"{count} nota etiket eklendi",tagRemovedFromNote:"1 nottan etiket kaldırıldı",tagRemovedFromNotes:"{count} nottan etiket kaldırıldı",tagsClearedFromNote:"1 nottan tüm etiketler temizlendi",tagsClearedFromNotes:"{count} nottan tüm etiketler temizlendi",noTagsToRemove:"Kaldırılacak etiket yok",noFilesSelected:"Dosya seçili değil",mergeNotesRequireMultipleMarkdown:"Birleştirmek için en az iki Markdown notu seçin",tagOperationsNotAvailable:"Etiket işlemleri kullanılamıyor",propertyOperationsNotAvailable:"Özellik işlemleri kullanılamıyor",tagsRequireMarkdown:"Etiketler yalnızca Markdown notlarında desteklenir",propertiesRequireMarkdown:"Özellikler yalnızca Markdown notlarında desteklenir",propertySetOnNote:"1 notta özellik güncellendi",propertySetOnNotes:"{count} notta özellik güncellendi",manualSortPropertyRemovedFromNote:"1 nottan sıralama özelliği kaldırıldı",manualSortPropertyRemovedFromNotes:"{count} nottan sıralama özelliği kaldırıldı",iconPackDownloaded:"{provider} indirildi",iconPackUpdated:"{provider} güncellendi ({version})",iconPackRemoved:"{provider} kaldırıldı",iconPackLoadFailed:"{provider} yüklenemedi",hiddenFileReveal:'Dosya gizli. Görüntülemek için "Gizli öğeleri göster" seçeneğini etkinleştirin'},confirmations:{deleteMultipleFiles:"{count} dosyayı silmek istediğinizden emin misiniz?",deleteConfirmation:"Bu işlem geri alınamaz."},defaultNames:{untitled:"Başlıksız"}},dragDrop:{errors:{cannotMoveIntoSelf:"Klasör kendisine veya alt klasörüne taşınamaz.",itemAlreadyExists:'Bu konumda "{name}" adlı bir öğe zaten var.',failedToMove:"Taşınamadı: {error}",failedToAddTag:'"{tag}" etiketi eklenemedi',failedToSetProperty:"Özellik güncellenemedi: {error}",failedToClearTags:"Etiketler temizlenemedi",failedToMoveFolder:'"{name}" klasörü taşınamadı',failedToImportFiles:"İçe aktarılamadı: {names}"},notifications:{filesAlreadyExist:"{count} dosya hedefte zaten var",filesAlreadyHaveTag:"{count} dosyada bu etiket veya daha özel bir etiket zaten var",filesAlreadyHaveProperty:"{count} dosya zaten bu özelliğe sahip",noTagsToClear:"Temizlenecek etiket yok",fileImported:"1 dosya içe aktarıldı",filesImported:"{count} dosya içe aktarıldı"}},dateGroups:{today:"Bugün",yesterday:"Dün",previous7Days:"Son 7 gün",previous30Days:"Son 30 gün"},commands:{open:"Aç",toggleLeftSidebar:"Sol kenar çubuğunu aç/kapat",openHomepage:"Ana sayfayı aç",openDailyNote:"Günlük notu aç",openWeeklyNote:"Haftalık notu aç",openMonthlyNote:"Aylık notu aç",openQuarterlyNote:"Çeyreklik notu aç",openYearlyNote:"Yıllık notu aç",revealFile:"Dosyayı göster",search:"Ara",searchVaultRoot:"Kasa kökünde ara",toggleDualPane:"Çift bölme düzenini aç/kapat",toggleDualPaneOrientation:"Çift bölme yönünü değiştir",toggleCalendar:"Takvimi aç/kapat",selectVaultProfile:"Kasa profili seç",selectVaultProfile1:"Kasa profili 1 seç",selectVaultProfile2:"Kasa profili 2 seç",selectVaultProfile3:"Kasa profili 3 seç",deleteFile:"Dosyaları sil",createNewNote:"Yeni not oluştur",createNewNoteFromTemplate:"Şablondan yeni not",moveFiles:"Dosyaları taşı",mergeNotes:"Notları birleştir",selectNextFile:"Sonraki dosyayı seç",selectPreviousFile:"Önceki dosyayı seç",navigateBack:"Geri git",navigateForward:"İleri git",convertToFolderNote:"Klasör notuna dönüştür",setAsFolderNote:"Klasör notu olarak ayarla",detachFolderNote:"Klasör notunu ayır",pinAllFolderNotes:"Tüm klasör notlarını sabitle",navigateToFolder:"Klasöre git",navigateToTag:"Etikete git",navigateToProperty:"Özelliğe git",addShortcut:"Kısayollara ekle",openShortcut:"Kısayol {number} aç",toggleDescendants:"Alt öğeleri aç/kapat",toggleHidden:"Gizli klasörleri, etiketleri ve notları aç/kapat",toggleTagSort:"Etiket sıralama düzenini aç/kapat",toggleTagsBySelection:"Etiketleri seçime göre aç/kapat",togglePropertiesBySelection:"Özellikleri seçime göre aç/kapat",toggleCompactMode:"Kompakt modu aç/kapat",togglePinnedSection:"Sabitlenmiş bölümü aç/kapat",collapseExpand:"Tüm öğeleri daralt / genişlet",collapseExpandSelectedItem:"Seçili öğeyi daralt / genişlet",addTag:"Seçili dosyalara etiket ekle",setProperty:"Seçili dosyalarda özellik ayarla",removeTag:"Seçili dosyalardan etiket kaldır",removeAllTags:"Seçili dosyalardan tüm etiketleri kaldır",openAllFiles:"Tüm dosyaları aç",rebuildCache:"Önbelleği yeniden oluştur"},plugin:{viewName:"Notebook Navigator",calendarViewName:"Takvim",folderNoteSidebarViewName:"Klasör notu",ribbonTooltip:"Notebook Navigator",revealInNavigator:"Notebook Navigator'da göster"},tooltips:{lastModifiedAt:"Son değiştirilme",createdAt:"Oluşturulma",file:"dosya",files:"dosya",folder:"klasör",folders:"klasör",wordCount:"Kelime sayısı"},fileCounts:{words:"{count} kelime",characters:"{count} karakter",separator:" · "},settings:{changeDefaultSettings:"Varsayılan ayarları değiştir",metadataReport:{exportSuccess:"Başarısız meta veri raporu dışa aktarıldı: {filename}",exportFailed:"Meta veri raporu dışa aktarılamadı"},sections:{general:"Genel",vaultFilters:"Görüntüleme filtreleri",appearanceBehavior:"Görünüm ve davranış",navigationPane:"Gezinme paneli",calendar:"Takvim",fileOperations:"Dosya işlemleri",icons:"Simge paketleri",folders:"Klasörler",folderNotes:"Klasör notları",folderNoteFiles:"Klasör notu dosyaları",foldersAndFolderNotes:"Klasörler ve klasör notları",tagsAndProperties:"Etiketler ve özellikler",tags:"Etiketler",listPane:"Liste paneli",notes:"Dosya görünümü",shortcutsAndRecentFiles:"Kısayollar ve son dosyalar",advanced:"Gelişmiş"},pageGroups:{configuration:"Yapılandırma",navigationAndContent:"Gezinme paneli",notesAndLists:"Liste paneli",calendarAndTools:"Takvim ve araçlar"},pageDescriptions:{general:"Sürüm notları, destek, kasa profili, dosya türleri ve özellik anahtarları.",vaultFilters:"Gizli klasörler, etiketler, dosyalar, dosya etiketleri ve özellik kuralları.",appearanceBehavior:"Davranış, klavye ile gezinme, fare düğmeleri, görünüm ve biçimlendirme.",navigationPane:"Yerleşim, görünüm, not sayıları, daraltma davranışı ve gökkuşağı renkleri.",shortcuts:"Kısayol görünürlüğü, rozetler, son dosyalar ve sabitlenmiş öğeler.",calendar:"Takvim görünümü, tarih notları, şablonlar, yerel ayar ve kenar çubuğu konumu.",fileOperations:"Şablonlar, silme onayları, ekler ve dosya taşıma çakışma davranışı.",foldersAndFolderNotes:"Klasör görünümü, klasör notları, klasör notu şablonları ve klasör notu davranışı.",tagsProperties:"Etiket ve özellik bölümleri, simgeler, sıralama, kapsam ve kalıtım.",listPane:"Sıralama, gruplama, liste modları, sabitlenmiş notlar ve çizim önizlemeleri.",frontmatter:"Görüntülenen adlar, zaman damgaları, simgeler ve renkler için frontmatter alanları.",notes:"Başlıklar, önizleme metni, öne çıkan görseller, etiketler, özellikler, tarihler, kelime sayıları ve karakter sayıları.",iconPacks:"Arayüz simgeleri, dosya simgeleri ve simge paketi yönetimi.",advanced:"Tanılama, meta veri temizliği, içe/dışa aktarma ve sıfırlama."},groups:{general:{vaultConfiguration:"Kasa kurulumu",templates:"Şablonlar",behavior:"Davranış",keyboardNavigation:"Klavye ile gezinme",mouseButtons:"Fare düğmeleri",view:"Görünüm",icons:"Simgeler",desktopAppearance:"Masaüstü görünümü",mobileAppearance:"Mobil görünüm",formatting:"Biçimlendirme"},advanced:{maintenance:"Bakım",resetSettings:"Ayarları sıfırla"},navigation:{appearance:"Görünüm",banner:"Afiş",collapseItems:"Öğeleri daralt",dragAndDrop:"Sürükle ve bırak",noteCounts:"Not sayıları",rainbowColors:"Gökkuşağı renkleri",leftSidebar:"Sol kenar çubuğu",calendarIntegration:"Takvim entegrasyonu"},list:{display:"Görünüm",groupHeaders:"Grup başlıkları",propertySort:"Özelliğe göre sıralama",manualSort:"Manuel sıralama",pinnedNotes:"Sabitlenmiş notlar",drawingPreviews:"Çizim önizlemeleri"},notes:{frontmatter:"Frontmatter alanları",tasks:"Görevler",icon:"Simge",title:"Başlık",previewText:"Önizleme metni",featureImage:"Öne çıkan görsel",tags:"Etiketler",properties:"Özellikler",date:"Tarih",parentFolder:"Üst klasör",wordCount:"Kelime ve karakter sayısı"}},syncMode:{notSynced:"(senkronize edilmedi)",switchToSynced:"Senkronizasyonu etkinleştir",switchToLocal:"Senkronizasyonu devre dışı bırak"},items:{listPaneTitle:{name:"Liste bölmesi başlığı",desc:"Liste bölmesi başlığının nerede gösterileceğini seçin.",options:{header:"Başlıkta göster",list:"Liste bölmesinde göster",hidden:"Gösterme"}},sortNotesBy:{name:"Varsayılan sıralama düzeni",desc:"Notlar için varsayılan sıralama düzenini seçin.",options:{"modified-desc":"Düzenleme tarihi (en yeni üstte)","modified-asc":"Düzenleme tarihi (en eski üstte)","created-desc":"Oluşturma tarihi (en yeni üstte)","created-asc":"Oluşturma tarihi (en eski üstte)","title-asc":"Başlık (A üstte)","title-desc":"Başlık (Z üstte)","filename-asc":"Dosya adı (A üstte)","filename-desc":"Dosya adı (Z üstte)"},directions:{asc:"Artan",desc:"Azalan"},fields:{modified:"Düzenleme tarihi",created:"Oluşturma tarihi",title:"Başlık",filename:"Dosya adı",property:"Özellik"}},propertySortKey:{name:"Sıralama özellikleri",desc:"Özelliğe göre sıralama seçenekleri olarak gösterilen virgülle ayrılmış frontmatter özellikleri. Dizi değerleri tek bir dizede birleştirilir. Bu özellikler değiştirilmez.",placeholder:"published, author"},propertySortSecondary:{name:"İkincil sıralama",desc:"Özellik sıralamasında notlar aynı özellik değerine sahip olduğunda veya özellik değeri olmadığında kullanılır.",options:{title:"Başlık",filename:"Dosya adı",created:"Oluşturma tarihi",modified:"Düzenleme tarihi"}},propertySortInstructions:{intro:"Yukarıda listelenen her özellik, liste bölmesindeki sıralama menüsünde bir sıralama seçeneği olarak görünür. Birini seçmek, notları frontmatter değerine göre sıralar."},manualSortPropertyKey:{name:"Manuel sıralama özelliği",desc:"Manuel sıralama için sayısal indeks değerlerini saklamak üzere kullanılan frontmatter özelliği."},manualSortGroupHeaderProperty:{name:"Grup başlığı özelliği",desc:"Özel grup başlıklarını saklamak üzere kullanılan frontmatter özelliği."},groupHeadersInstructions:{intro:"Özel grup başlıkları, liste bölmesinde notların üstünde görüntülenir.",items:["Liste bölmesindeki sıralama menüsünden gruplamayı **Özel** olarak ayarlayın.","Bir nota sağ tıklayın ve üstüne bir başlık eklemek için **Grup başlığını ayarla** seçeneğini seçin."]},manualSortNewNotePlacement:{name:"Yeni not yerleşimi",desc:"Geçerli liste manuel sıralama kullandığında yeni notların nereye yerleştirileceğini seçin.",options:{top:"Üst",bottom:"Alt","below-selected-note":"Seçili notun altında",unsorted:"Sıralanmamış"}},confirmBeforeManualSort:{name:"Manuel sıralamadan önce onayla",desc:"Manuel sıralama özelliği notlara ilk kez yazılmadan önce bir uyarı göster. Devre dışı bırakıldığında notlar uyarı olmadan özelliği alır."},manualSortInstructions:{intro:"Manuel sıralama, her notun frontmatter özelliğine sayısal bir indeks değeri yazar. İndeksi olmayan notlar Sıralanmamış altında görünür.",items:["Sıralama menüsünden **Manuel sıralama** seçeneğini seçerek manuel sıralamayı etkinleştirin. Bundan sonra, notları yeniden düzenlemenin iki yolu vardır.","Yeniden sıralama görünümünü açmak için sıralama menüsünden **Sıralama düzenini düzenle...** seçeneğini seçin. Notları fareyle veya mobilde dokunarak sürükleyin. Masaüstünde, **Cmd/Ctrl** veya **Shift** ile tıklayarak birden fazla not seçin, ardından herhangi birini sürüklediğinizde tüm grup taşınır.","Liste bölmesinde, bir notu seçin veya birden fazlasını çoklu seçin, ardından seçimi yukarı veya aşağı taşımak için **Cmd/Ctrl + Arrow Up/Down** tuşlarına basın."]},revealFileOnListChanges:{name:"Liste değişikliklerinde seçili dosyaya kaydır",desc:"Notları sabitleme, alt notları gösterme, klasör görünümünü değiştirme veya dosya işlemleri çalıştırma sırasında seçili dosyaya kaydır."},includeDescendantNotes:{name:"Alt klasörlerden / alt öğelerden notları göster",desc:"Klasör, etiket veya özellik görüntülerken iç içe alt klasörlerden ve etiket ile özellik alt öğelerinden notları dahil et."},limitPinnedToCurrentFolder:{name:"Notları yalnızca kendi klasörlerinde sabitle",desc:"Sabitlenen notlar yalnızca kendi klasörlerinde sabitlenmiş olarak görünür. Klasör notları veya çok sayıda sabitlenmiş notunuz varsa kullanışlıdır. Etiket veya özellik görünümlerini etkilemez."},separateNoteCounts:{name:"Mevcut ve alt not sayılarını ayrı göster",desc:'Klasörler, etiketler ve özellikler için not sayılarını "mevcut ▾ alt öğeler" biçiminde göster.'},groupNotes:{name:"Varsayılan gruplama",desc:"Özel, frontmatter'da tanımlanan başlıkları gösterir. Tarih, notları tarihe göre gruplar. Klasör, notları klasöre göre gruplar. Etiket ve özellik görünümleri, klasör seçildiğinde tarih gruplarını kullanır.",options:{custom:"Özel",date:"Tarih",folder:"Klasör"}},showSelectedNavigationPills:{name:"Tüm etiket ve özellik rozetlerini her zaman göster",desc:'Devre dışı bırakıldığında, geçerli gezinme seçimiyle eşleşen rozetler gizlenir (ör. "tarifler" etiketine göz atarken "tarifler" etiketi rozeti gizlenir). Tüm rozetlerin görünür kalması için etkinleştirin.'},stickyGroupHeaders:{name:"Yapışkan grup başlıkları",desc:"Geçerli tarih, klasör veya sabitlenmiş bölüm başlığını kaydırırken görünür tut."},showFolderGroupPaths:{name:"Alt klasör yollarını göster",desc:"Liste bölmesinde klasöre göre gruplarken, yalnızca klasör adları yerine alt klasör yollarını göster."},showCurrentFolderFilesAtBottom:{name:"Klasör gruplama: geçerli klasör dosyaları altta",desc:"Varsayılan gruplama Klasör olduğunda, seçili klasörde doğrudan bulunan dosyaları alt klasör gruplarının altına taşı."},defaultListMode:{name:"Varsayılan liste modu",desc:"Varsayılan liste düzenini seçin. Standart başlık, tarih, açıklama ve önizleme metni gösterir. Kompakt yalnızca başlık gösterir. Klasör başına görünümü geçersiz kıl.",options:{standard:"Standart",compact:"Kompakt"}},showFileIcons:{name:"Dosya simgelerini göster",desc:"Dosya simgelerini sol hizalı boşlukla göster. Devre dışı bırakma hem simgeleri hem de girintiyi kaldırır. Öncelik: tamamlanmamış görev simgesi > özel simge > klasör simgesi > dosya adı simgesi > dosya türü simgesi > varsayılan simge."},useFolderIcon:{name:"Klasör simgesini kullan",desc:"Özel dosya simgesi ayarlanmadığında üst klasörün simgesini görüntüler. Özel dosya rengi ayarlanmadığında klasör rengi kullanılır."},showFileIconUnfinishedTask:{name:"Tamamlanmamış görev simgesi",desc:"Bir notta tamamlanmamış görevler olduğunda görev simgesi gösterir."},showFileBackgroundUnfinishedTask:{name:"Tamamlanmamış görev arka planı",desc:"Bir notta tamamlanmamış görevler olduğunda arka plan rengi uygular."},unfinishedTaskBackgroundColor:{name:"Tamamlanmamış görev arka plan rengi",desc:"Bir notta tamamlanmamış görevler olduğunda kullanılacak arka plan rengini ayarlar."},showFilenameMatchIcons:{name:"Dosya adına göre simgeler",desc:"Dosyalara adlarındaki metne göre simge ata."},fileNameIconMap:{name:"Dosya adı simge eşlemesi",desc:"Metni içeren dosyalar belirtilen simgeyi alır. Satır başına bir eşleme: metin=simge",placeholder:`# metin=simge
toplantı=ph-calendar
fatura=ph-receipt`,editTooltip:"Eşlemeleri düzenle"},showCategoryIcons:{name:"Dosya türüne göre simgeler",desc:"Dosyalara uzantılarına göre simge ata."},fileTypeIconPreset:{name:"Dosya simgesi ön ayarı",desc:"Yerleşik simgeleri veya bir simge paketi ön ayarını seçin. Özel uzantı kuralları bu ön ayarı geçersiz kılar.",options:{none:"Yerleşik simgeler"},notInstalledWarning:"Bu simge paketi yüklü değil. Bunun yerine yerleşik simgeler gösterilir."},fileTypeIconMap:{name:"Dosya türü simge eşlemesi",desc:"Uzantıya sahip dosyalar belirtilen simgeyi alır. Satır başına bir eşleme: uzantı=simge",placeholder:`# Extension=icon
cpp=ph-file-code
pdf=ph-file-pdf`,editTooltip:"Eşlemeleri düzenle"},compactItemHeight:{name:"Kompakt öğe yüksekliği",desc:"Masaüstü ve mobilde kompakt liste öğelerinin yüksekliğini ayarlayın (piksel).",resetTooltip:"Varsayılana sıfırla (28px)"},compactItemHeightScaleText:{name:"Metni kompakt öğe yüksekliğiyle ölçekle",desc:"Öğe yüksekliği azaltıldığında kompakt liste metnini ölçekle."},showParentFolder:{name:"Üst klasörü göster",desc:"Alt klasörlerdeki, etiketlerdeki veya özelliklerdeki notlar için üst klasör adını görüntüle."},showParentFolderFullPath:{name:"Tam yolu göster",desc:"Yalnızca klasör adı yerine üst klasörün tam yolunu görüntüler."},parentFolderClickRevealsFile:{name:"Üst klasöre tıklayarak klasörü aç",desc:"Üst klasör etiketine tıklamak liste panelinde klasörü açar."},showParentFolderColor:{name:"Üst klasör rengini göster",desc:"Üst klasör etiketlerinde klasör renklerini kullan."},showParentFolderIcon:{name:"Üst klasör simgesini göster",desc:"Üst klasör etiketlerinin yanında klasör simgelerini göster."},showQuickActions:{name:"Hızlı eylemleri göster",desc:"Dosyaların üzerine gelirken eylem düğmelerini göster. Düğme kontrolleri hangi eylemlerin görüneceğini seçer."},dualPane:{name:"Çift bölme düzeni",desc:"Masaüstünde gezinme bölmesini ve liste bölmesini yan yana göster."},dualPaneOrientation:{name:"Çift bölme yönü",desc:"Çift bölme etkinken yatay veya dikey düzen seçin.",options:{horizontal:"Yatay bölme",vertical:"Dikey bölme"}},narrowSidebarLayout:{name:"Kenar çubuğu çok dar olduğunda",desc:"Gezinme bölmesi ve liste bölmesi yan yana sığmadığında ne olacağını seçin.",options:{none:"Hiçbir şey yapma",singlePane:"Tek bölmeye geç",vertical:"Dikey bölmeye geç"}},narrowSidebarTrigger:{name:"Dar kenar çubuğu eşiği",desc:"Kenar çubuğu genişlik eşiğinin nasıl hesaplanacağını seçin.",options:{fitPanes:"Bölmeleri sığdır",customWidth:"Özel genişlik"}},narrowSidebarCustomWidth:{name:"Dar kenar çubuğu eşik genişliği",desc:"Kenar çubuğu bu genişlikten daha darsa geçiş yap.",resetTooltip:"Varsayılan genişliğe sıfırla"},appearanceBackground:{name:"Arka plan rengi",desc:"Gezinme ve liste bölmeleri için arka plan renklerini seçin.",options:{separate:"Ayrı arka planlar",primary:"Liste arka planını kullan",secondary:"Gezinme arka planını kullan"}},appearanceScale:{name:"Yakınlaştırma seviyesi",desc:"Notebook Navigator'ın genel yakınlaştırma seviyesini kontrol eder (yüzde)."},useFloatingToolbars:{name:"iOS/iPadOS'ta kayan araç çubuklarını kullan",desc:"Yalnızca iOS ve iPadOS için geçerlidir."},startView:{name:"Varsayılan başlangıç görünümü",desc:"Notebook Navigator'ı açarken hangi bölmenin görüntüleneceğini seçin. Gezinme bölmesi kısayolları, son dosyaları ve klasör ağacını gösterir. Liste bölmesi dosya listesini hemen gösterir.",options:{navigation:"Gezinme bölmesi",files:"Liste bölmesi"}},toolbarButtons:{name:"Araç çubuğu düğmeleri",desc:"Araç çubuğunda hangi düğmelerin görüneceğini seçin. Gizli düğmelere komutlar ve menüler aracılığıyla erişilebilir.",navigationLabel:"Gezinme araç çubuğu",listLabel:"Liste araç çubuğu"},createNewNotesInNewTab:{name:"Yeni notları yeni sekmede aç",desc:"Etkinleştirildiğinde, Yeni not oluştur komutu notları yeni bir sekmede açar. Devre dışı bırakıldığında, notlar mevcut sekmenin yerini alır."},autoRevealActiveNote:{name:"Aktif notu otomatik göster",desc:"Hızlı Geçiş, bağlantılar veya aramadan açıldığında notları otomatik olarak göster."},autoRevealShortestPath:{name:"Otomatik gösterim: En kısa yolu kullan",desc:"Etkin: Otomatik gösterim en yakın görünür üst klasörü veya etiketi seçer. Devre dışı: Otomatik gösterim dosyanın gerçek klasörünü ve tam etiketini seçer."},autoRevealIgnoreRightSidebar:{name:"Otomatik gösterim: Sağ kenar çubuğundaki olayları yoksay",desc:"Sağ kenar çubuğunda notlara tıklarken veya değiştirirken aktif notu değiştirme."},autoRevealIgnoreOtherWindows:{name:"Otomatik gösterim: Diğer pencerelerden gelen olayları yoksay",desc:"Başka bir pencerede notlarla çalışırken aktif notu değiştirme."},paneTransitionDuration:{name:"Tek panel animasyonu",desc:"Tek panel modunda paneller arasında geçiş süresi (milisaniye).",resetTooltip:"Varsayılana sıfırla"},autoSelectFirstFileOnFocusChange:{name:"İlk notu otomatik seç",desc:"Klasör, etiket veya özellik değiştirirken ilk notu otomatik olarak aç."},skipAutoScroll:{name:"Kısayollar için otomatik kaydırmayı devre dışı bırak",desc:"Kısayollardaki öğelere tıklarken gezinme bölmesini kaydırma."},autoExpandNavItems:{name:"Seçimde genişlet",desc:"Seçildiğinde klasörleri ve etiketleri genişlet. Tek bölme modunda ilk seçim genişletir, ikinci seçim dosyaları gösterir."},collapseOtherBranchesOnExpand:{name:"Tek genişletilmiş dal",desc:"Bir klasör, etiket veya özellik genişletildiğinde aynı ağaçtaki diğer dalları daralt."},springLoadedFolders:{name:"Sürüklerken genişlet",desc:"Sürükleme sırasında üzerine gelirken klasörleri ve etiketleri genişlet."},springLoadedFoldersInitialDelay:{name:"Sürüklerken genişlet: İlk genişletme gecikmesi",desc:"Sürükleme sırasında ilk klasör veya etiket genişlemeden önceki gecikme (saniye)."},springLoadedFoldersSubsequentDelay:{name:"Sürüklerken genişlet: Sonraki genişletme gecikmesi",desc:"Aynı sürükleme sırasında ek klasörler veya etiketler genişlemeden önceki gecikme (saniye)."},navigationBanner:{name:"Gezinme afişi (kasa profili)",desc:"Gezinme bölmesinin üzerinde bir görsel görüntüle. Seçili kasa profiliyle değişir.",current:"Mevcut afiş: {path}",chooseButton:"Görsel seç"},pinNavigationBanner:{name:"Afişi sabitle",desc:"Gezinme afişini gezinme ağacının üstüne sabitle."},showShortcuts:{name:"Kısayolları göster",desc:"Gezinme bölmesinde kısayollar bölümünü görüntüle."},shortcutBadgeDisplay:{name:"Kısayol rozeti",desc:"Kısayolların yanında ne görüntüleneceği. Kısayolları doğrudan açmak için 'Kısayol 1-9 aç' komutlarını kullanın.",options:{index:"Konum (1-9)",count:"Öğe sayısı",none:"Yok"}},showRecentNotes:{name:"Son dosyaları göster",desc:"Gezinme bölmesinde son dosyalar bölümünü görüntüle."},hideRecentNotes:{name:"Son dosyalardan dosya türlerini gizle",desc:"Son dosyalar bölümünde gizlenecek dosya türlerini seç.",options:{none:"Hiçbiri",folderNotes:"Klasör notları"}},recentNotesCount:{name:"Son dosya sayısı",desc:"Görüntülenecek son dosya sayısı."},pinRecentNotesWithShortcuts:{name:"Son dosyaları kısayollarla birlikte sabitle",desc:"Kısayollar sabitlendiğinde son dosyaları dahil et."},calendarEnabled:{name:"Takvimi etkinleştir",desc:"Notebook Navigator takvim özelliklerini etkinleştir."},calendarPlacement:{name:"Takvim konumu",desc:"Sol veya sağ kenar çubuğunda görüntüle.",options:{leftSidebar:"Sol kenar çubuğu",rightSidebar:"Sağ kenar çubuğu"}},calendarLeftPlacement:{name:"Tek panel yerleşimi",desc:"Takvimin tek panel modunda gösterildiği yer.",options:{navigationPane:"Gezinme paneli",below:"Panellerin altında"}},calendarLocale:{name:"Dil",desc:"Takvim tarih biçimlendirmesini, hafta numaralandırmasını ve haftanın ilk gününü kontrol eder.",weekPathMismatchWarning:"Görünen takvim ve haftalık not yolları farklı hafta başlangıçları veya hafta numaralandırması kullanıyor.",options:{systemDefault:"Varsayılan"}},calendarWeekendDays:{name:"Hafta sonu günleri",desc:"Hafta sonu günlerini farklı bir arka plan rengiyle göster.",options:{none:"Hiçbiri",satSun:"Cumartesi ve pazar",friSat:"Cuma ve cumartesi",thuFri:"Perşembe ve cuma"}},calendarMonthHeadingFormat:{name:"Ay adı biçimi",desc:"Uzun (Ocak) veya kısa (Oca) ay adı.",options:{full:"Ocak (tam)",short:"Oca (kısa)"}},showInfoButtons:{name:"Bilgi düğmelerini göster",desc:"Arama çubuğunda ve takvim başlığında bilgi düğmelerini göster."},calendarWeeksToShow:{name:"Sol kenar çubuğunda gösterilecek haftalar",desc:"Sağ kenar çubuğundaki takvim her zaman tam ayı gösterir.",options:{fullMonth:"Tam ay",oneWeek:"1 hafta",weeksCount:"{count} hafta"}},calendarHighlightToday:{name:"Bugünün tarihini vurgula",desc:"Bugünün tarihini arka plan rengi ve kalın metinle vurgula."},calendarShowFeatureImage:{name:"Öne çıkan görseli göster",desc:"Takvimdeki notların öne çıkan görsellerini göster."},calendarShowWeekNumber:{name:"Hafta numarasını göster",desc:"Hafta numarasıyla bir sütun ekle."},calendarShowQuarter:{name:"Çeyreği göster",desc:"Takvim başlığına çeyrek etiketi ekle."},calendarShowYearCalendar:{name:"Yıllık takvimi göster",desc:"Sağ kenar çubuğunda yıl gezintisi ve ay ızgarası göster."},calendarConfirmBeforeCreate:{name:"Oluşturmadan önce onayla",desc:"Yeni bir günlük not oluştururken onay iletişim kutusu göster."},calendarIntegrationMode:{name:"Günlük not kaynağı",desc:"Takvim notları için kaynak.",options:{dailyNotes:"Günlük notlar (çekirdek eklenti)",notebookNavigator:"Notebook Navigator"},info:{dailyNotes:"Klasör ve tarih formatı Daily Notes çekirdek eklentisinde yapılandırılır."}},calendarPeriodicNotesLocale:{name:"Periyodik not dili",desc:"Notebook Navigator periyodik not yollarındaki yerelleştirilmiş ay adlarını, gün adlarını, hafta numaralarını ve hafta başlangıçlarını kontrol eder.",options:{calendar:"Takvim",obsidian:"Obsidian"}},calendarCustomRootFolder:{name:"Kök klasör",desc:"Periyodik notlar için temel klasör. Tarih desenleri alt klasörleri içerebilir. Seçili kasa profiliyle değişir.",placeholder:"Personal/Diary"},calendarTemplateFolder:{name:"Şablon klasörü konumu",desc:"Şablon dosya seçici bu klasördeki notları gösterir.",placeholder:"Templates",usage:"Takvim notları ve klasör notları tarafından kullanılır. Şablonları Takvim > Takvim entegrasyonu ve Klasörler ve klasör notları > Klasör notu dosyaları bölümünde yapılandırın."},calendarCustomFilePattern:{name:"Günlük notlar",desc:"Moment tarih biçimini kullanarak yolu biçimlendir. Alt klasör adlarını köşeli parantez içine alın, örn. [Work]/YYYY. Şablon ayarlamak için şablon simgesine tıklayın. Şablon klasörü konumunu Dosya işlemleri > Şablonlar bölümünden ayarlayın.",momentDescPrefix:"",momentLinkText:"Moment tarih biçimi",momentDescSuffix:" kullanarak yolu biçimlendir. Alt klasör adlarını köşeli parantez içine alın, örn. [Work]/YYYY. Şablon ayarlamak için şablon simgesine tıklayın. Şablon klasörü konumunu Dosya işlemleri > Şablonlar bölümünden ayarlayın.",templaterSupportInstalled:"✅ Templater eklentisi tam şablon desteğiyle yüklü.",templaterSupportMissing:"⚠️ Tam şablon desteği için Templater eklentisini yükleyin.",placeholder:"YYYY/YYYYMMDD",example:"Geçerli sözdizimi: {path}",parsingError:"Desen, tam bir tarih (yıl, ay, gün) olarak biçimlendirilmeli ve tekrar ayrıştırılabilmelidir."},calendarCustomWeekPattern:{name:"Haftalık notlar",parsingError:"Desen, tam bir hafta (hafta yılı, hafta numarası) olarak biçimlendirilmeli ve tekrar ayrıştırılabilmelidir.",weekPathMismatchWarning:'Haftalık not yolları periyodik not dilini kullanır. Eşleşen diller kullanın veya Pazartesi tabanlı haftalar için "GGGG" ile "WW" kullanın.',mixedWeekTokensWarning:'Bu desen Pazartesi tabanlı hafta belirteçleri ("W" veya "G") ile dil tabanlı hafta belirteçlerini ("w" veya "g") karıştırıyor. Tutarlı olarak tek bir set kullanın: Pazartesi tabanlı haftalar için "GGGG" ile "WW" veya haftalık notların seçilen dili izlemesi gerekiyorsa "gggg" ile "ww" kullanın.'},calendarCustomMonthPattern:{name:"Aylık notlar",parsingError:"Desen, tam bir ay (yıl, ay) olarak biçimlendirilmeli ve tekrar ayrıştırılabilmelidir."},calendarCustomQuarterPattern:{name:"Çeyreklik notlar",parsingError:"Desen, tam bir çeyrek (yıl, çeyrek) olarak biçimlendirilmeli ve tekrar ayrıştırılabilmelidir."},calendarCustomYearPattern:{name:"Yıllık notlar",parsingError:"Desen, tam bir yıl (yıl) olarak biçimlendirilmeli ve tekrar ayrıştırılabilmelidir."},calendarTemplateFile:{current:"Şablon dosyası: {name}"},showTooltips:{name:"İpuçlarını göster",desc:"Notlar ve klasörler için ek bilgi içeren fareyle üzerine gelme ipuçlarını görüntüle."},showTooltipPath:{name:"İpuçlarında yolu göster",desc:"İpuçlarında not adlarının altında klasör yolunu görüntüle."},showTooltipWordCount:{name:"İpuçlarında kelime sayısını göster",desc:"İpuçlarında not kelime sayılarını görüntüle."},resetPaneSeparator:{name:"Bölme ayırıcı konumunu sıfırla",desc:"Gezinme bölmesi ve liste bölmesi arasındaki sürüklenebilir ayırıcıyı varsayılan konuma sıfırla.",buttonText:"Ayırıcıyı sıfırla",notice:"Ayırıcı konumu sıfırlandı. Uygulamak için Obsidian'ı yeniden başlatın veya Notebook Navigator'ı yeniden açın."},settingsTransfer:{name:"Ayarları içe ve dışa aktar",desc:"Notebook Navigator ayarlarını JSON olarak dışa veya içe aktar. İçe aktarma tüm ayarları değiştirir.",importButtonText:"İçe aktar",exportButtonText:"Dışa aktar",import:{modalTitle:"Ayarları içe aktar",fileButtonName:"Dosyadan içe aktar",fileButtonDesc:"Diskten bir JSON dosyası yükle.",fileButtonText:"Dosyadan içe aktar",editorName:"JSON",editorDesc:"Aşağıya JSON yapıştırın veya düzenleyin. Dahil edilmeyen ayarlar varsayılan değerlere sıfırlanır.",placeholder:`{
  "folderSortOrder": "alpha-desc"
}`,confirmButtonText:"İçe aktar",successNotice:"Ayarlar içe aktarıldı.",errorNotice:"Ayarlar içe aktarılamadı: {message}",fileReadError:"Dosya okunamadı: {message}"},export:{modalTitle:"Ayarları dışa aktar",editorName:"JSON",editorDesc:"Yalnızca varsayılandan farklı olan ayarlar dahil edilir.",placeholder:"{}",copyButtonText:"Panoya kopyala",downloadButtonText:"İndir",copyNotice:"Ayarlar panoya kopyalandı.",downloadNotice:"Ayarlar dışa aktarıldı.",downloadError:"Ayarlar indirilemedi: {message}"}},resetAllSettings:{name:"Tüm ayarları sıfırla",desc:"Notebook Navigator'ın tüm ayarlarını varsayılan değerlere sıfırla.",buttonText:"Tüm ayarları sıfırla",confirmTitle:"Tüm ayarlar sıfırlansın mı?",confirmMessage:"Bu, Notebook Navigator'ın tüm ayarlarını varsayılan değerlere sıfırlar. Geri alınamaz.",confirmButtonText:"Tüm ayarları sıfırla",notice:"Tüm ayarlar sıfırlandı. Uygulamak için Obsidian'ı yeniden başlatın veya Notebook Navigator'ı yeniden açın.",error:"Ayarları sıfırlama başarısız."},multiSelectModifier:{name:"Çoklu seçim değiştirici",desc:"Hangi değiştirici tuşun çoklu seçimi değiştireceğini seçin. Option/Alt seçildiğinde, Cmd/Ctrl tıklaması notları yeni sekmede açar.",options:{cmdCtrl:"Cmd/Ctrl tıkla",optionAlt:"Option/Alt tıkla"}},enterToOpenFiles:{name:"Dosyaları açmak için Enter'a basın",desc:"Dosyaları yalnızca listede klavye ile gezinirken Enter'a basarak açın. macOS'ta bu, Enter'ın dosyaları yeniden adlandırmasını engeller."},shiftEnterOpenContext:{name:"Shift+Enter",desc:"Shift+Enter ile seçili dosyanın açılmasını veya yeniden adlandırılmasını seçin."},cmdEnterOpenContext:{name:"Cmd+Enter",desc:"Cmd+Enter ile seçili dosyanın açılmasını veya yeniden adlandırılmasını seçin."},ctrlEnterOpenContext:{name:"Ctrl+Enter",desc:"Ctrl+Enter ile seçili dosyanın açılmasını veya yeniden adlandırılmasını seçin."},mouseBackForwardAction:{name:"Fare geri/ileri düğmeleri",desc:"Masaüstünde fare geri ve ileri düğmelerinin işlevi.",options:{none:"Sistem varsayılanını kullan",singlePaneSwitch:"Panel değiştir (tek panel)",history:"Geçmişte gezin"}},fileVisibility:{name:"Dosya türlerini göster (kasa profili)",desc:"Gezginde hangi dosya türlerinin gösterileceğini filtrele. Obsidian tarafından desteklenmeyen dosya türleri harici uygulamalarda açılabilir.",options:{documents:"Belgeler (.md, .canvas, .base)",supported:"Desteklenen (Obsidian'da açılır)",all:"Tümü (harici olarak açılabilir)"}},homepage:{name:"Ana sayfa",desc:"Notebook Navigator'ın başlangıçta otomatik olarak ne açacağını seçin.",current:"Mevcut: {path}",chooseButton:"Dosya seç",options:{none:"Yok",file:"Dosya",dailyNote:"Günlük not",weeklyNote:"Haftalık not",monthlyNote:"Aylık not",quarterlyNote:"Çeyreklik not",yearlyNote:"Yıllık not"},file:{name:"Ana sayfa: Başlangıç dosyası",empty:"Dosya seçilmedi"},createMissing:{name:"Ana sayfa: Not yoksa oluştur",desc:"Başlangıçta veya komutla, periyodik not yoksa oluşturur."}},excludedNotes:{name:"Özellik kurallarıyla notları gizle (kasa profili)",desc:"Virgülle ayrılmış frontmatter kuralları listesi. `key` veya `key=value` girdileri kullanın (örn. status=done, published=true, archived).",placeholder:"status=done, published=true, archived"},excludedFileNamePatterns:{name:"Dosyaları gizle (kasa profili)",desc:"Gizlenecek dosya adı kalıplarının virgülle ayrılmış listesi. * joker karakterlerini ve / yollarını destekler (örn. temp-*, *.png, /assets/*).",placeholder:"temp-*, *.png, /assets/*"},vaultProfiles:{name:"Kasa profili",desc:"Profiller dosya türü görünürlüğünü, gizli dosyaları, gizli klasörleri, gizli etiketleri, gizli notlar için özellik kurallarını, kısayolları ve gezinme afişini saklar. Gezinme bölmesi başlığından profilleri değiştir.",defaultName:"Varsayılan",addButton:"Profil ekle",editProfilesButton:"Profilleri düzenle",addProfileOption:"Profil ekle...",applyButton:"Uygula",deleteButton:"Profili sil",addModalTitle:"Profil ekle",editProfilesModalTitle:"Profilleri düzenle",addModalPlaceholder:"Profil adı",deleteModalTitle:"{name} silinsin mi",deleteModalMessage:"{name} kaldırılsın mı? Bu profilde kayıtlı gizli dosya, klasör, etiket ve özellik tabanlı not filtreleri silinecek.",moveUp:"Yukarı taşı",moveDown:"Aşağı taşı",errors:{emptyName:"Bir profil adı girin",duplicateName:"Profil adı zaten var"}},vaultTitle:{name:"Kasa başlığı konumu",desc:"Kasa başlığının gösterileceği yeri seçin.",options:{header:"Başlıkta göster",navigation:"Gezinme panelinde göster"}},excludedFolders:{name:"Klasörleri gizle (kasa profili)",desc:"Virgülle ayrılmış gizlenecek klasörler listesi. Ad desenleri: assets* (assets ile başlayan klasörler), *_temp (_temp ile biten). Yol desenleri: /archive (yalnızca kök arşiv), /res* (res ile başlayan kök klasörler), /*/temp (bir seviye derinlikte temp klasörleri), /projects/* (projects içindeki tüm klasörler).",placeholder:"şablonlar, assets*, /arşiv, /res*"},showFileDate:{name:"Tarihi göster",desc:"Not adlarının altında tarihi görüntüle."},alphabeticalDateMode:{name:"Ada göre sıralarken",desc:"Notlar alfabetik olarak sıralandığında gösterilecek tarih.",options:{created:"Oluşturma tarihi",modified:"Değiştirme tarihi"}},showFileTags:{name:"Dosya etiketlerini göster",desc:"Dosya öğelerinde tıklanabilir etiketleri görüntüle."},showFileTagAncestors:{name:"Tam etiket yollarını göster",desc:"Tam etiket hiyerarşi yollarını görüntüle. Etkinken: 'ai/openai', 'iş/projeler/2024'. Devre dışıyken: 'openai', '2024'."},colorFileTags:{name:"Dosya etiketlerini renklendir",desc:"Dosya öğelerindeki etiket rozetlerine etiket renklerini uygula."},prioritizeColoredFileTags:{name:"Renkli etiketleri önce göster",desc:"Dosya öğelerinde renkli etiketleri diğer etiketlerden önce sırala."},showFileTagsInCompactMode:{name:"Kompakt modda dosya etiketlerini göster",desc:"Tarih, önizleme ve görsel gizlendiğinde etiketleri görüntüle."},showFileProperties:{name:"Dosya özelliklerini göster",desc:'Dosya öğelerinde özellikleri görüntüle. Gösterilecek özellikleri seçmek için "Özellik anahtarı görünürlüğü" iletişim kutusunu kullanın.'},colorFileProperties:{name:"Dosya özelliklerini renklendir",desc:"Dosya öğelerindeki özellik rozetlerine özellik renklerini uygula."},prioritizeColoredFileProperties:{name:"Renkli özellikleri önce göster",desc:"Dosya öğelerinde renkli özellikleri diğer özelliklerden önce sırala."},showFilePropertiesInCompactMode:{name:"Kompakt modda özellikleri göster",desc:"Kompakt mod etkinken özellikleri görüntüle."},textCountDisplay:{name:"Sayım türü",desc:"Dosya öğelerinde hangi not sayımlarının görüneceğini seçin.",options:{none:"Yok",words:"Kelime sayısı",characters:"Karakter sayısı",both:"Kelime ve karakter sayısı"}},textCountPlacement:{name:"Yerleşim",desc:"Not sayımlarının nerede görüneceğini seçin.",options:{title:"Başlıkta",property:"Özellik olarak"}},characterCountSpaces:{name:"Karakter sayısı",desc:"Karakter sayısına boşlukların dahil edilip edilmeyeceğini seçin.",options:{include:"Boşluklar dahil",exclude:"Boşluklar hariç"}},wordCountTargetProperty:{name:"Hedef özelliği",desc:"Hedef kelime sayısını içeren frontmatter özellik anahtarı. Hedefleri gizlemek için boş bırakın."},showWordCountPercentage:{name:"Hedef yüzdesini göster",desc:"Hedef kelime sayısı varsa yalnızca ilerleme yüzdesini göster."},propertyFields:{name:"Özellik anahtarları (kasa profili)",desc:"Gezinme ve dosya listesi için anahtar bazında görünürlük ayarlı ön bilgi özellik anahtarları.",addButtonTooltip:"Özellik anahtarlarını yapılandır",noneConfigured:"Yapılandırılmış özellik yok",singleConfigured:"1 özellik yapılandırıldı: {properties}",multipleConfigured:"{count} özellik yapılandırıldı: {properties}"},showPropertiesOnSeparateRows:{name:"Özellikleri ayrı satırlarda göster",desc:"Her özelliği kendi satırında göster."},enablePropertyInternalLinks:{name:"Özellik etiketlerini notlara bağla",desc:"Bağlantılı notu açmak için bir özellik etiketine tıklayın."},enablePropertyExternalLinks:{name:"Özellik etiketlerini URL'lere bağla",desc:"Bağlantılı URL'yi açmak için bir özellik etiketine tıklayın."},dateFormat:{name:"Tarih formatı",desc:"Tarihleri görüntüleme formatı (Moment formatı kullanır).",placeholder:"D MMM YYYY",help:`Yaygın formatlar:
D MMM YYYY = 25 May 2022
DD/MM/YYYY = 25/05/2022
YYYY-MM-DD = 2022-05-25

Simgeler:
YYYY/YY = yıl
MMMM/MMM/MM = ay
DD/D = gün
dddd/ddd = haftanın günü`,helpTooltip:"Moment formatı",momentLinkText:"Moment formatı"},timeFormat:{name:"Saat formatı",desc:"Saatleri görüntüleme formatı (Moment formatı kullanır).",placeholder:"HH:mm",help:`Yaygın formatlar:
h:mm a = 2:30 PM (12 saat)
HH:mm = 14:30 (24 saat)
h:mm:ss a = 2:30:45 PM
HH:mm:ss = 14:30:45

Simgeler:
HH/H = 24 saat
hh/h = 12 saat
mm = dakika
ss = saniye
a = ÖÖ/ÖS`,helpTooltip:"Moment formatı",momentLinkText:"Moment formatı"},showFilePreview:{name:"Not önizlemesini göster",desc:"Not adlarının altında önizleme metni görüntüle."},skipHeadingsInPreview:{name:"Önizlemede başlıkları atla",desc:"Önizleme metni oluştururken başlık satırlarını atla."},skipCodeBlocksInPreview:{name:"Önizlemede kod bloklarını atla",desc:"Önizleme metni oluştururken kod bloklarını atla."},stripHtmlInPreview:{name:"Önizlemelerde HTML kaldır",desc:"Önizleme metninden HTML etiketlerini kaldırır. Büyük notlarda performansı etkileyebilir."},stripLatexInPreview:{name:"Önizlemelerde LaTeX kaldır",desc:"Önizleme metninden satır içi ve blok LaTeX ifadelerini kaldırır."},previewProperties:{name:"Önizleme özellikleri",desc:"Önizleme metni için kontrol edilecek virgülle ayrılmış frontmatter özellikleri listesi. Metni olan ilk özellik kullanılacak.",placeholder:"summary, description, abstract"},previewPropertiesFallback:{name:"Not içeriğine geri dön",desc:"Belirtilen özelliklerin hiçbiri metin içermediğinde not içeriğini önizleme olarak göster."},previewRows:{name:"Önizleme satırları",desc:"Önizleme metni için görüntülenecek satır sayısı.",options:{1:"1 satır",2:"2 satır",3:"3 satır",4:"4 satır",5:"5 satır"}},fileNameRows:{name:"Başlık satırları",desc:"Not başlıkları için görüntülenecek satır sayısı.",options:{1:"1 satır",2:"2 satır",3:"3 satır"}},useFolderColor:{name:"Klasör rengini kullan",desc:"Özel dosya rengi ayarlanmadığında not başlıklarını ve dosya simgelerini üst klasörün rengiyle renklendir. Öncelik: özel dosya rengi > klasör rengi > varsayılan renk."},showFeatureImage:{name:"Öne çıkan görseli göster",desc:"Notta bulunan ilk görselin küçük resmini görüntüler."},forceSquareFeatureImage:{name:"Kare öne çıkan görsel zorla",desc:"Öne çıkan görselleri kare küçük resim olarak oluştur."},featureImageProperties:{name:"Görsel özellikleri",desc:"Önce kontrol edilecek virgülle ayrılmış frontmatter özellikleri listesi. Bulunamazsa markdown içeriğindeki ilk görsel kullanılır.",placeholder:"küçükresim, öneÇıkanYeniden, öneÇıkan"},featureImageExcludeProperties:{name:"Özellikli notları hariç tut",desc:"Virgülle ayrılmış frontmatter özellikleri listesi. Bu özelliklerden herhangi birini içeren notlar öne çıkan görsel saklamaz.",placeholder:"private, confidential"},featureImageSize:{name:"Öne çıkan görsel görüntüleme boyutu",desc:"Not listelerinde öne çıkan görsellerin maksimum işleme boyutu.",options:{standard:"64 px",large:"96 px",extraLarge:"128 px"}},featureImagePixelSize:{name:"Öne çıkan görsel piksel boyutu",desc:"Depolanan öne çıkan görsel küçük resimleri oluşturulurken kullanılan çözünürlük. Büyük önizlemeler bulanık görünüyorsa bu değeri artırın.",options:{standard:"256 x 144 px",large:"384 x 216 px",extraLarge:"512 x 288 px"}},downloadExternalFeatureImages:{name:"Harici görselleri indir",desc:"Öne çıkan görseller için uzak görselleri ve YouTube küçük resimlerini indir."},hideDrawingPreviewImages:{name:"Dışa aktarılmış önizleme görsellerini gizle",desc:'Dışa aktarılan çizim önizleme PNG dosyalarını gizler. Görüntülemek için "Gizli ögeleri göster" seçeneğini açın.'},drawingIntegrationInfo:{intro:"Notebook Navigator, Excalidraw tarafından dışa aktarılan PNG dosyalarını çizim önizlemeleri olarak gösterir.",items:["**Excalidraw ayarları** içinde **Embedding Excalidraw into your Notes and Exporting** öğesini açın, ardından **Export Settings**, ardından **Auto-export Settings** öğesini açın.","**Auto-export PNG** seçeneğini etkinleştirin. İsteğe bağlı olarak **Export both dark- and light-themed image** seçeneğini de etkinleştirebilirsiniz.","Notebook Navigator **Drawing.excalidraw.png**, **Drawing.excalidraw.dark.png** veya **Drawing.excalidraw.light.png** dosyalarını arar.","**Dışa aktarılmış önizleme görsellerini gizle** açıkken PNG dosyaları yalnızca **Gizli ögeleri göster** de açıksa görünür."]},showRootFolder:{name:"Kök klasörü göster",desc:"Ağaçta kasa adını kök klasör olarak görüntüle."},showFolderIcons:{name:"Klasör simgelerini göster",desc:"Gezinme bölmesinde klasörlerin yanında simgeleri görüntüle."},inheritFolderColors:{name:"Klasör renklerini devral",desc:"Alt klasörler üst klasörlerden renk devralır."},folderSortOrder:{name:"Klasör sıralama düzeni",desc:"Alt öğeleri için farklı bir sıralama düzeni ayarlamak üzere herhangi bir klasöre sağ tıklayın.",options:{alphaAsc:"A'dan Z'ye",alphaDesc:"Z'den A'ya"}},showNoteCount:{name:"Not sayısını göster",desc:"Klasörler, etiketler ve özelliklerin yanında not sayısını görüntüle."},showSectionIcons:{name:"Kısayollar ve son öğeler için simgeleri göster",desc:"Kısayollar ve Son kullanılanlar bölümlerindeki öğelerin yanında simgeleri görüntüle."},interfaceIcons:{name:"Arayüz simgeleri",desc:"Araç çubuğu, klasör, etiket, özellik, sabitlenmiş, arama ve sıralama simgelerini düzenleyin.",buttonText:"Simgeleri düzenle"},showIconsColorOnly:{name:"Rengi yalnızca simgelere uygula",desc:"Etkinleştirildiğinde, özel renkler yalnızca simgelere uygulanır. Devre dışı bırakıldığında, renkler hem simgelere hem de metin etiketlerine uygulanır."},navRainbowMode:{name:"Gökkuşağı renk modu (kasa profili)",desc:"Gezinme panelinde gökkuşağı renkleri uygula.",options:{none:"Kapalı",foreground:"Metin rengi",background:"Arka plan rengi"}},navRainbowFirstColor:{name:"İlk renk",desc:"Gökkuşağı gradyanındaki ilk renk."},navRainbowLastColor:{name:"Son renk",desc:"Gökkuşağı gradyanındaki son renk."},navRainbowTransitionStyle:{name:"Geçiş stili",desc:"İlk ve son renkler arasında kullanılan enterpolasyon.",options:{hue:"Ton",rgb:"RGB"}},navRainbowApplyToShortcuts:{name:"Kısayollara uygula",desc:"Gökkuşağı renklerini kısayollara uygula."},navRainbowApplyToRecent:{name:"Son öğelere uygula",desc:"Gökkuşağı renklerini son öğelere uygula."},navRainbowApplyToFolders:{name:"Klasörlere uygula",desc:"Gökkuşağı renklerini klasörlere uygula."},navRainbowFolderScope:{name:"Klasör kapsamı",desc:"Renk atamalarını hangi klasör düzeylerinin başlatacağını seçin.",options:{root:"Kök düzey",child:"Alt düzey",all:"Her düzey"}},navRainbowApplyToTags:{name:"Etiketlere uygula",desc:"Gökkuşağı renklerini etiketlere uygula."},navRainbowTagScope:{name:"Etiket kapsamı",desc:"Renk atamalarını hangi etiket düzeylerinin başlatacağını seçin.",options:{root:"Kök düzey",child:"Alt düzey",all:"Her düzey"}},navRainbowApplyToProperties:{name:"Özelliklere uygula",desc:"Gökkuşağı renklerini özelliklere uygula."},navRainbowBalanceHueLuminance:{name:"Tonlar arasında tutarlı parlaklık",desc:"Ton geçişleri sırasında başlangıç ve bitiş renkleri arasındaki parlaklığı enterpolasyon yapar."},navRainbowSeparateThemeColors:{name:"Açık ve koyu mod için ayrı renkler",desc:"Açık mod ve koyu mod için farklı gökkuşağı renkleri kullanın."},navRainbowCopyLightToDark:"Açık mod rengini koyu moda kopyala",navRainbowPropertyScope:{name:"Özellik kapsamı",desc:"Renk atamalarını hangi özellik düzeylerinin başlatacağını seçin.",options:{root:"Kök düzey",child:"Alt düzey",all:"Her düzey"}},collapseBehavior:{name:"Öğeleri daralt",desc:"Tümünü genişlet/daralt düğmesinin neyi etkilediğini seçin.",options:{all:"Tümü",foldersOnly:"Yalnızca klasörler",tagsOnly:"Yalnızca etiketler",propertiesOnly:"Yalnızca özellikler"}},smartCollapse:{name:"Seçili öğeyi genişletilmiş tut",desc:"Daraltırken seçili öğeyi ve üst öğelerini genişletilmiş tut."},excludeVaultRootFromCollapse:{name:"Daraltırken kasa kökünü atla",desc:"Tüm öğeleri daraltırken kasa kök klasörünü geçerli durumunda bırak."},navIndent:{name:"Ağaç girintisi",desc:"İç içe klasörler, etiketler ve özellikler için girinti genişliğini ayarlayın (piksel)."},navItemHeight:{name:"Öğe yüksekliği",desc:"Gezinme bölmesindeki klasör, etiket ve özelliklerin yüksekliğini ayarlayın (piksel)."},navItemHeightScaleText:{name:"Metni öğe yüksekliğiyle ölçekle",desc:"Öğe yüksekliği azaltıldığında gezinme metni boyutunu küçült."},showIndentGuides:{name:"Girinti kılavuzlarını göster",desc:"İç içe klasörler, etiketler ve özellikler için girinti kılavuzlarını göster."},navCountLeaderStyle:{name:"Doldurma işaretlerini göster",desc:"Öğe adları ile not sayıları arasında nokta, tire veya çizgi göster.",options:{none:"Yok",dots:"Noktalar (...)",dashes:"Tireler (---)",line:"Çizgi"}},navRootSpacing:{name:"Kök öğe aralığı",desc:"Kök seviyesi klasörler, etiketler ve özellikler arasındaki boşluk (piksel)."},showTags:{name:"Etiketleri göster",desc:"Gezginde etiketler bölümünü görüntüle."},showTagIcons:{name:"Etiket simgelerini göster",desc:"Gezinme bölmesinde etiketlerin yanında simgeleri görüntüle."},inheritTagColors:{name:"Etiket renklerini devral",desc:"Alt etiketler üst etiketlerden renk devralır."},tagSortOrder:{name:"Etiket sıralama düzeni",desc:"Alt öğeleri için farklı bir sıralama düzeni ayarlamak üzere herhangi bir etikete sağ tıklayın.",options:{alphaAsc:"A'dan Z'ye",alphaDesc:"Z'den A'ya",frequency:"Sıklık",lowToHigh:"düşükten yükseğe",highToLow:"yüksekten düşüğe"}},showAllTagsFolder:{name:"Etiketler klasörünü göster",desc:'"Etiketler"i daraltılabilir klasör olarak görüntüle.'},showUntagged:{name:"Etiketsiz notları göster",desc:'Etiketi olmayan notlar için "Etiketsiz" öğesini görüntüle.'},scopeTagsToCurrentContext:{name:"Etiketleri seçime göre filtrele",desc:"Yalnızca seçili klasör veya özellikteki notlarda bulunan etiketleri göster."},keepEmptyTagsProperty:{name:"Son etiket kaldırıldıktan sonra tags özelliğini koru",desc:"Tüm etiketler kaldırıldığında tags frontmatter özelliğini koru. Devre dışı bırakıldığında, tags özelliği frontmatter'dan silinir."},showProperties:{name:"Özellikleri göster",desc:"Gezginde özellikler bölümünü görüntüle.",propertyKeysInfoPrefix:"Özellikleri şurada yapılandır: ",propertyKeysInfoLinkText:"Başlangıç > Özellik anahtarları",propertyKeysInfoSuffix:""},showPropertyIcons:{name:"Özellik simgelerini göster",desc:"Gezinme panelinde özelliklerin yanında simgeleri görüntüle."},inheritPropertyColors:{name:"Özellik renklerini devral",desc:"Özellik değerleri, özellik anahtarından renk ve arka planı devralır."},propertySortOrder:{name:"Özellik sıralama düzeni",desc:"Değerler için farklı bir sıralama düzeni ayarlamak üzere herhangi bir özelliğe sağ tıklayın.",options:{alphaAsc:"A'dan Z'ye",alphaDesc:"Z'den A'ya",frequency:"Sıklık",lowToHigh:"düşükten yükseğe",highToLow:"yüksekten düşüğe"}},showAllPropertiesFolder:{name:"Özellikler klasörünü göster",desc:'"Özellikler"i daraltılabilir klasör olarak görüntüle.'},scopePropertiesToCurrentContext:{name:"Özellikleri seçime göre filtrele",desc:"Yalnızca seçili klasör veya etiketteki notlarda bulunan özellikleri göster."},hiddenTags:{name:"Etiketleri gizle (kasa profili)",desc:"Virgülle ayrılmış etiket kalıpları listesi. Ad kalıpları: etiket* (ile başlayan), *etiket (ile biten). Yol kalıpları: arşiv (etiket ve alt öğeler), arşiv/* (yalnızca alt öğeler), projeler/*/taslaklar (ortada joker).",placeholder:"arşiv*, *taslak, projeler/*/eski"},hiddenFileTags:{name:"Etiketli notları gizle (kasa profili)",desc:"Comma-separated list of tag patterns. Notes containing matching tags are hidden. Name patterns: tag* (starting with), *tag (ending with). Path patterns: archive (tag and descendants), archive/* (descendants only), projects/*/drafts (mid-segment wildcard).",placeholder:"archive*, *draft, projects/*/old"},enableFolderNotes:{name:"Klasör notlarını etkinleştir",desc:"Eşleşen bir not dosyası olan klasörler tıklanabilir bağlantılar olarak görüntülenir."},folderNoteType:{name:"Varsayılan klasör notu türü",desc:"Bağlam menüsünden oluşturulan klasör notu türü.",options:{ask:"Oluştururken sor",markdown:"Markdown",canvas:"Canvas",base:"Base"}},folderNoteName:{name:"Klasör notu adı",desc:"Uzantısız klasör notu adı. Klasörle aynı adı kullanmak için boş bırakın.",placeholder:"index"},folderNoteNamePattern:{name:"Klasör notu ad deseni",desc:"Uzantısız klasör notu ad deseni. Klasör adını eklemek için {{folder}} kullanın. Ayarlandığında, klasör notu adı geçerli olmaz."},folderNoteTemplate:{name:"Klasör notu şablonu",desc:"Klasör notları oluşturulurken kullanılan şablon dosyası. Markdown şablonları Templater kullanabilir. Canvas ve Base şablonları dosya içeriği olarak kopyalanır. Şablon klasörü konumunu Dosya işlemleri > Şablonlar bölümünden ayarlayın.",formatWarning:"Şablon biçimi seçilen klasör notu türüyle eşleşmelidir: .md, .canvas veya .base."},enableFolderNoteLinks:{name:"Klasör adları klasör notlarını açar",desc:"Bir klasör adına tıklamak klasör notunu açar. Kapalı olduğunda, klasör notları yalnızca ad, simge ve renk gibi klasör meta verilerini sağlar."},hideFolderNoteInList:{name:"Listede klasör notunu gizle",desc:"Klasör notlarını dosya listesinden gizle."},pinCreatedFolderNote:{name:"Oluşturulan klasör notlarını sabitle",desc:"Bağlam menüsünden oluşturulduğunda klasör notlarını sabitle."},folderNoteOpenLocation:{name:"Klasör notlarını şurada aç",desc:"Klasör notu bağlantılarına tıklandığında klasör notlarının nerede açılacağını seçin.",options:{currentTab:"Geçerli sekme",newTab:"Yeni sekme",rightSidebar:"Sağ kenar çubuğu"}},showNearestFolderNoteInSidebar:{name:"Sağ kenar çubuğu: En yakın klasör notunu göster",desc:"Bir klasör seçildiğinde, sağ kenar çubuğu en yakın üst klasör notunu otomatik olarak gösterir."},confirmBeforeDelete:{name:"Silmeden önce onayla",desc:"Not veya klasör silerken onay iletişim kutusunu göster"},deleteAttachments:{name:"Dosyaları silerken ekleri sil",desc:"Bağlı ekleri ve oluşturulan çizim önizlemelerini başka bir yerde kullanılmıyorsa otomatik olarak kaldır",options:{ask:"Her seferinde sor",always:"Her zaman",never:"Asla"}},moveFileConflicts:{name:"Taşıma çakışmaları",desc:"Aynı ada sahip bir dosyanın zaten bulunduğu klasöre dosya taşınırken. Her seferinde sor (yeniden adlandır, üzerine yaz, iptal) veya her zaman yeniden adlandır.",options:{ask:"Her seferinde sor",rename:"Her zaman yeniden adlandır"}},metadataCleanup:{name:"Meta verileri temizle",desc:"Dosyalar, klasörler, etiketler veya özellikler Obsidian dışında silindiğinde, taşındığında veya yeniden adlandırıldığında geride kalan yetim meta verileri kaldırır. Bu yalnızca Notebook Navigator ayarlar dosyasını etkiler.",buttonText:"Meta verileri temizle",error:"Ayarlar temizliği başarısız",loading:"Meta veriler kontrol ediliyor...",statusClean:"Temizlenecek meta veri yok",statusCounts:"Yetim öğeler: {folders} klasör, {tags} etiket, {properties} özellik, {files} dosya, {pinned} sabitleme, {separators} ayırıcı"},rebuildCache:{name:"Önbelleği yeniden oluştur",desc:"Eksik etiketler, yanlış önizlemeler veya eksik öne çıkan görseller yaşıyorsanız bunu kullanın. Bu, senkronizasyon çakışmalarından veya beklenmeyen kapanmalardan sonra olabilir.",buttonText:"Önbelleği yeniden oluştur",error:"Önbellek yeniden oluşturulamadı",indexingTitle:"Kasa dizinleniyor...",progress:"Notebook Navigator önbelleği güncelleniyor."},externalIcons:{downloadButton:"İndir",downloadingLabel:"İndiriliyor...",removeButton:"Kaldır",statusInstalled:"İndirildi (sürüm {version})",statusNotInstalled:"İndirilmedi",versionUnknown:"bilinmiyor",downloadFailed:"{name} indirilemedi. Bağlantınızı kontrol edin ve tekrar deneyin.",removeFailed:"{name} kaldırılamadı.",infoNote:"İndirilen simge paketleri kurulum durumunu cihazlar arasında senkronize eder. Simge paketleri her cihazda yerel veritabanında kalır; senkronizasyon yalnızca indirme veya kaldırma durumunu izler. Simge paketleri Notebook Navigator deposundan indirilir (https://github.com/johansan/notebook-navigator/tree/main/icon-assets)."},useFrontmatterDates:{name:"Frontmatter meta verilerini kullan",desc:"Not adı, zaman damgaları, simgeler ve renkler için frontmatter kullan"},frontmatterIconField:{name:"Simge alanı",desc:"Dosya simgeleri için frontmatter alanı. Ayarlarda saklanan simgeleri kullanmak için boş bırakın.",placeholder:"icon"},frontmatterColorField:{name:"Renk alanı",desc:"Dosya renkleri için frontmatter alanı. Ayarlarda saklanan renkleri kullanmak için boş bırakın.",placeholder:"color"},frontmatterBackgroundField:{name:"Arka plan alanı",desc:"Arka plan renkleri için frontmatter alanı. Ayarlarda saklanan arka plan renklerini kullanmak için boş bırakın.",placeholder:"background"},frontmatterMigration:{name:"Simgeleri ve renkleri ayarlardan taşı",desc:"Ayarlarda saklanan: {icons} simge, {colors} renk.",button:"Taşı",buttonWorking:"Taşınıyor...",noticeNone:"Ayarlarda dosya simgesi veya rengi saklanmamış.",noticeDone:"{migratedIcons}/{icons} simge, {migratedColors}/{colors} renk taşındı.",noticeFailures:"Başarısız girişler: {failures}.",noticeError:"Taşıma başarısız. Ayrıntılar için konsolu kontrol edin."},frontmatterNameField:{name:"Ad alanları",desc:"Virgülle ayrılmış frontmatter alanları listesi. İlk boş olmayan değer kullanılır. Dosya adına geri döner.",placeholder:"title, name"},frontmatterCreatedField:{name:"Oluşturma zaman damgası alanı",desc:"Oluşturma zaman damgası için frontmatter alan adı. Yalnızca dosya sistemi tarihini kullanmak için boş bırakın.",placeholder:"created"},frontmatterModifiedField:{name:"Değiştirme zaman damgası alanı",desc:"Değiştirme zaman damgası için frontmatter alan adı. Yalnızca dosya sistemi tarihini kullanmak için boş bırakın.",placeholder:"modified"},frontmatterDateFormat:{name:"Zaman damgası formatı",desc:"Frontmatter'daki zaman damgalarını ayrıştırmak için kullanılan format. ISO 8601 ayrıştırmasını kullanmak için boş bırakın.",helpTooltip:"Moment formatı",momentLinkText:"Moment formatı",help:`Yaygın formatlar:
YYYY-MM-DD[T]HH:mm:ss → 2025-01-04T14:30:45
YYYY-MM-DD[T]HH:mm:ssZ → 2025-08-07T16:53:39+02:00
DD/MM/YYYY HH:mm:ss → 04/01/2025 14:30:45
MM/DD/YYYY h:mm:ss a → 01/04/2025 2:30:45 PM`},supportDevelopment:{name:"Geliştirmeyi destekleyin",desc:"Notebook Navigator kullanmayı seviyorsanız, lütfen sürekli gelişimini desteklemeyi düşünün.",buttonText:"❤️ Sponsor ol",coffeeButton:"☕️ Bana bir kahve ısmarla"},updateCheckOnStart:{name:"Başlangıçta yeni sürüm kontrolü",desc:"Başlangıçta yeni eklenti sürümlerini kontrol eder ve güncelleme mevcut olduğunda bildirim gösterir. Kontroller günde en fazla bir kez yapılır.",status:"Yeni sürüm mevcut: {version}"},debugLogging:{name:"Başlangıç hata ayıklama günlüğü",desc:"Başlangıç tanılarını kasanın kökünde zaman damgalı bir Markdown dosyasına yazar ve başlangıç kararlı hale geldikten sonra durur. Dosya eşitlenebilir ve dosya yolları içerebilir."},whatsNew:{name:"Notebook Navigator {version} yenilikleri",desc:"Son güncellemeleri ve iyileştirmeleri görün",buttonText:"Son güncellemeleri görüntüle"},masteringVideo:{name:"Notebook Navigator'da Uzmanlaşma (video)",desc:"Bu video, Notebook Navigator'da verimli olmak için ihtiyacınız olan her şeyi kapsar; kısayol tuşları, arama, etiketler ve gelişmiş özelleştirme dahil."},cacheStatistics:{localCache:"Yerel önbellek",items:"öğe",withTags:"etiketli",withPreviewText:"önizleme metinli",withFeatureImage:"öne çıkan görselli",withMetadata:"meta verili"},metadataInfo:{successfullyParsed:"Başarıyla ayrıştırıldı",itemsWithName:"adlı öğe",withCreatedDate:"oluşturma tarihli",withModifiedDate:"değiştirme tarihli",withIcon:"simgeli",withColor:"renkli",failedToParse:"Ayrıştırılamadı",createdDates:"oluşturma tarihi",modifiedDates:"değiştirme tarihi",checkTimestampFormat:"Zaman damgası formatınızı kontrol edin.",exportFailed:"Hataları dışa aktar"}}},whatsNew:{title:"Notebook Navigator Yenilikleri",openBannerImage:"Sürüm banner görselini aç",supportMessage:"Notebook Navigator'ı yararlı buluyorsanız, lütfen gelişimini desteklemeyi düşünün.",supportButton:"Bana bir kahve ısmarla",thanksButton:"Teşekkürler!"}}});var nU={};In(nU,{STRINGS_UK:()=>nse});var nse,rU=U(()=>{nse={common:{cancel:"Скасувати",delete:"Видалити",clear:"Очистити",remove:"Вилучити",restoreDefault:"Відновити за замовчуванням",submit:"Надіслати",save:"Зберегти",configure:"Налаштувати",lightMode:"Світлий режим",darkMode:"Темний режим",noSelection:"Нічого не вибрано",untagged:"Без тегів",featureImageAlt:"Головне зображення",unknownError:"Невідома помилка",clipboardWriteError:"Не вдалося записати в буфер обміну",updateBannerTitle:"Доступне оновлення Notebook Navigator",updateBannerInstruction:"Оновіть у Налаштування -> Плагіни спільноти",previous:"Назад",next:"Вперед"},listPane:{emptyStateNoSelection:"Виберіть папку або тег для перегляду нотаток",emptyStateNoNotes:"Немає нотаток",pinnedSection:"Закріплені",notesSection:"Нотатки",filesSection:"Файли",hiddenItemAriaLabel:"{name} (приховано)",collapseGroup:"Згорнути групу",expandGroup:"Розгорнути групу",manualSortTitle:"Ручне сортування: {property}",manualSortHint:"Перетягуйте для зміни порядку. Порядок зберігається у вигляді числових значень індексу у властивості «{property}».",manualSortNonMarkdownHint:"Файли, відмінні від Markdown, показуються внизу, і їхній порядок не можна змінити.",unsortedSection:"Без сортування",manualSortDone:"Готово",manualSortMultipleWriteFailure:"{count} файлів не вдалося обробити; перший: {path}: {message}"},tagList:{untaggedLabel:"Без тегів",tags:"Теги"},navigationPane:{shortcutsHeader:"Ярлики",recentFilesHeader:"Останні файли",properties:"Властивості",reorderRootFoldersTitle:"Змінити порядок навігації",reorderRootFoldersHint:"Використовуйте стрілки або перетягування",vaultRootLabel:"Сховище",resetRootToAlpha:"Скинути до алфавітного порядку",resetRootToFrequency:"Скинути до порядку за частотою",pinShortcuts:"Закріпити ярлики",pinShortcutsAndRecentFiles:"Закріпити ярлики та останні файли",unpinShortcuts:"Відкріпити ярлики",unpinShortcutsAndRecentFiles:"Відкріпити ярлики та останні файли",profileMenuAria:"Змінити профіль сховища"},navigationCalendar:{ariaLabel:"Календар",dailyNotesNotEnabled:"Плагін щоденних нотаток не увімкнено.",createDailyNote:{title:"Нова щоденна нотатка",message:"Файл {filename} не існує. Бажаєте створити його?",confirmButton:"Створити"},helpModal:{title:"Гарячі клавіші календаря",items:["Натисніть на будь-який день, щоб відкрити або створити щоденну нотатку. Тижні, місяці, квартали та роки працюють так само.","Зафарбована крапка під днем означає наявність нотатки. Порожня крапка означає наявність незавершених завдань.","Якщо нотатка має головне зображення, воно відображається як фон дня."],dateFilterCmdCtrl:"`Cmd/Ctrl`+клік на даті для фільтрації за цією датою у списку файлів.",dateFilterOptionAlt:"`Option/Alt`+клік на даті для фільтрації за цією датою у списку файлів."}},dailyNotes:{templateReadFailed:"Не вдалося прочитати шаблон щоденної нотатки.",createFailed:"Неможливо створити щоденну нотатку."},shortcuts:{folderExists:"Папка вже в ярликах",noteExists:"Нотатка вже в ярликах",tagExists:"Тег вже в ярликах",propertyExists:"Властивість вже є в закладках",invalidProperty:"Недійсне закладка властивості",searchExists:"Ярлик пошуку вже існує",emptySearchQuery:"Введіть пошуковий запит перед збереженням",emptySearchName:"Введіть назву перед збереженням пошуку",add:"Додати до ярликів",addNotesCount:"Додати {count} нотаток до ярликів",addFilesCount:"Додати {count} файлів до ярликів",rename:"Перейменувати ярлик",remove:"Вилучити з ярликів",removeAll:"Видалити всі ярлики",removeAllConfirm:"Видалити всі ярлики?",folderNotesPinned:"Закріплено {count} нотаток папок"},paneHeader:{collapseAllFolders:"Згорнути елементи",expandAllFolders:"Розгорнути всі елементи",showCalendar:"Показати календар",hideCalendar:"Сховати календар",newFolder:"Нова папка",newNote:"Нова нотатка",mobileBackToNavigation:"Назад до навігації",changeChildSortOrder:"Змінити порядок сортування",changeSortAndGroup:"Змінити сортування та групування",resetViewToDefaults:"Скинути вигляд до стандартних налаштувань",manualSort:"Ручне сортування",editSortOrder:"Редагувати порядок сортування...",removeSortProperty:"Вилучити властивість сортування",descendants:"нащадків",subfolders:"підпапок",subtags:"підтегів",childValues:"дочірніх значень",applySortAndGroupToDescendants:t=>`Застосувати сортування та групування для ${t}`,applyAppearanceToDescendants:t=>`Застосувати оформлення для ${t}`,showFolders:"Показати навігацію",reorderRootFolders:"Змінити порядок навігації",finishRootFolderReorder:"Готово",showExcludedItems:"Показати приховані папки, теги та нотатки",hideExcludedItems:"Сховати приховані папки, теги та нотатки",showDualPane:"Показати подвійну панель",showSinglePane:"Показати одну панель",dualPaneAutoFallbackNotice:"Дві панелі недоступні, коли бічна панель занадто вузька. Щоб змінити це, установіть «Коли бічна панель занадто вузька» на «Нічого не робити» в Налаштування > Вигляд і поведінка.",changeAppearance:"Змінити вигляд",showNotesFromSubfolders:"Показати нотатки з підпапок",showFilesFromSubfolders:"Показати файли з підпапок",showNotesFromDescendants:"Показати нотатки з нащадків",showFilesFromDescendants:"Показати файли з нащадків",search:"Пошук"},searchInput:{placeholder:"Пошук...",placeholderOmnisearch:"Omnisearch...",clearSearch:"Очистити пошук",switchToFilterSearch:"Перемкнути на пошук з фільтром",switchToOmnisearch:"Перемкнути на Omnisearch",saveSearchShortcut:"Зберегти ярлик пошуку",removeSearchShortcut:"Вилучити ярлик пошуку",shortcutModalTitle:"Зберегти ярлик пошуку",shortcutNamePlaceholder:"Введіть назву ярлика",shortcutStartIn:"Завжди починати в: {path}",searchHelp:"Синтаксис пошуку",searchHelpTitle:"Синтаксис пошуку",searchHelpModal:{intro:"Комбінуйте імена файлів, властивості, теги, дати та фільтри в одному запиті (напр. `meeting .status=active #work @thisweek`). Встановіть плагін Omnisearch для повнотекстового пошуку.",introSwitching:"Перемикайтеся між пошуком за фільтром та Omnisearch за допомогою клавіш стрілок вгору/вниз або натиснувши на значок пошуку.",sections:{fileNames:{title:"Імена файлів",items:['`word` Знайти нотатки зі словом "word" в імені файлу.',"`word1 word2` Кожне слово має відповідати імені файлу.",'`-word` Виключити нотатки зі словом "word" в імені файлу.']},tags:{title:"Теги",items:["`#tag` Включити нотатки з тегом (також знаходить вкладені теги як `#tag/subtag`).","`#` Включити лише нотатки з тегами.","`-#tag` Виключити нотатки з тегом.","`-#` Включити лише нотатки без тегів.","`#tag1 #tag2` Знайти обидва теги (неявне AND).","`#tag1 AND #tag2` Знайти обидва теги (явне AND).","`#tag1 OR #tag2` Знайти будь-який з тегів.","`#a OR #b AND #c` AND має більший пріоритет: знаходить `#a`, або обидва `#b` і `#c`.","Cmd/Ctrl+Клік по тегу для додавання з AND. Cmd/Ctrl+Shift+Клік для додавання з OR."]},properties:{title:"Властивості",items:["`.key` Включити нотатки з ключем властивості.","`.key=value` Включити нотатки, у яких значення властивості містить `value`.",'`."Reading Status"` Включити нотатки з ключем властивості, що містить пробіли.','`."Reading Status"="In Progress"` Ключі та значення з пробілами повинні бути в подвійних лапках.',"`-.key` Виключити нотатки з ключем властивості.","`-.key=value` Виключити нотатки, у яких значення властивості містить `value`.","Cmd/Ctrl+Клік на властивість для додавання з AND. Cmd/Ctrl+Shift+Клік для додавання з OR."]},tasks:{title:"Фільтри",items:["`has:task` Включити нотатки з незавершеними завданнями.","`-has:task` Виключити нотатки з незавершеними завданнями.","`folder:meetings` Включити нотатки, де назва папки містить `meetings`.","`folder:/work/meetings` Включити нотатки лише в `work/meetings` (не підпапки).","`folder:/` Включити нотатки лише в корені сховища.","`-folder:archive` Виключити нотатки, де назва папки містить `archive`.","`-folder:/archive` Виключити нотатки лише в `archive` (не підпапки).","`ext:md` Включити нотатки з розширенням `md` (`ext:.md` також підтримується).","`-ext:pdf` Виключити нотатки з розширенням `pdf`.","Поєднуйте з тегами, назвами та датами (наприклад: `folder:/work/meetings ext:md @thisweek`)."]},connectors:{title:"Поведінка AND/OR",items:["`AND` та `OR` є операторами лише в запитах, що складаються виключно з тегів та властивостей.","Запити виключно з тегів та властивостей містять лише фільтри тегів та властивостей: `#tag`, `-#tag`, `#`, `-#`, `.key`, `-.key`, `.key=value`, `-.key=value`.","Якщо запит включає імена, дати (`@...`), фільтри завдань (`has:task`), фільтри папок (`folder:...`) або фільтри розширень (`ext:...`), `AND` та `OR` шукаються як слова.","Приклад запиту з операторами: `#work OR .status=started`.","Приклад змішаного запиту: `#work OR ext:md` (`OR` шукається в іменах файлів)."]},dates:{title:"Дати",items:["`@today` Знайти нотатки за сьогодні, використовуючи поле дати за замовчуванням.","`@yesterday`, `@last7d`, `@last30d`, `@thisweek`, `@thismonth` Відносні діапазони дат.","`@2026-02-07` Знайти конкретний день (також підтримує `@20260207`).","`@2026` Знайти календарний рік.","`@2026-02` або `@202602` Знайти календарний місяць.","`@2026-W05` або `@2026W05` Знайти ISO-тиждень.","`@2026-Q2` або `@2026Q2` Знайти календарний квартал.","`@13/02/2026` Числові формати з роздільниками (`@07022026` слідує вашій локалі при неоднозначності).","`@2026-02-01..2026-02-07` Знайти включний діапазон днів (відкриті кінці підтримуються).","`@c:...` або `@m:...` Вказати дату створення або зміни.","`-@...` Виключити збіг дати."]},omnisearch:{title:"Omnisearch",items:["Повнотекстовий пошук по всьому сховищу з фільтрацією за поточною папкою або вибраними тегами.","Може бути повільним при менш ніж 3 символах у великих сховищах.","Не може шукати шляхи з не-ASCII символами або коректно шукати підшляхи.","Повертає обмежені результати до фільтрації за папками, тому релевантні файли можуть не з'явитися, якщо багато збігів в інших місцях.","Попередній перегляд нотаток показує фрагменти Omnisearch замість тексту попереднього перегляду за замовчуванням."]}}}},contextMenu:{file:{openInNewTab:"Відкрити в новій вкладці",openToRight:"Відкрити праворуч",openInNewWindow:"Відкрити в новому вікні",openMultipleInNewTabs:"Відкрити {count} нотаток у нових вкладках",openMultipleFilesInNewTabs:"Відкрити {count} файлів у нових вкладках",openMultipleToRight:"Відкрити {count} нотаток праворуч",openMultipleFilesToRight:"Відкрити {count} файлів праворуч",openMultipleInNewWindows:"Відкрити {count} нотаток у нових вікнах",openMultipleFilesInNewWindows:"Відкрити {count} файлів у нових вікнах",pinNote:"Закріпити нотатку",pinFile:"Закріпити файл",unpinNote:"Відкріпити нотатку",unpinFile:"Відкріпити файл",pinMultipleNotes:"Закріпити {count} нотаток",pinMultipleFiles:"Закріпити {count} файлів",unpinMultipleNotes:"Відкріпити {count} нотаток",unpinMultipleFiles:"Відкріпити {count} файлів",duplicateNote:"Дублювати нотатку",duplicateFile:"Дублювати файл",duplicateMultipleNotes:"Дублювати {count} нотаток",duplicateMultipleFiles:"Дублювати {count} файлів",openVersionHistory:"Відкрити історію версій",revealInFolder:"Показати в папці",revealInFinder:"Показати у Finder",showInExplorer:"Показати в провіднику системи",openInDefaultApp:"Відкрити у стандартному додатку",renameNote:"Перейменувати нотатку",renameFile:"Перейменувати файл",deleteNote:"Видалити нотатку",deleteFile:"Видалити файл",setCalendarHighlight:"Встановити виділення",removeCalendarHighlight:"Прибрати виділення",deleteMultipleNotes:"Видалити {count} нотаток",deleteMultipleFiles:"Видалити {count} файлів",moveNoteToFolder:"Перемістити нотатку до...",moveFileToFolder:"Перемістити файл до...",moveMultipleNotesToFolder:"Перемістити {count} нотаток до...",moveMultipleFilesToFolder:"Перемістити {count} файлів до...",mergeNotes:"Об’єднати {count} нотаток...",mergeNotesInGroup:"Об’єднати нотатки в групі...",setManualSortGroupHeader:"Встановити заголовок групи",changeManualSortGroupHeader:"Змінити заголовок групи",manualSortGroupHeader:{title:"Заголовок групи",copyStyle:"Копіювати стиль заголовка",pasteStyle:"Вставити стиль заголовка",remove:"Вилучити заголовок групи"},addTag:"Додати тег",addPropertyKey:"Встановити властивість",removeTag:"Вилучити тег",removeAllTags:"Вилучити всі теги",changeIcon:"Змінити іконку",changeColor:"Змінити колір"},folder:{newNote:"Нова нотатка",newNoteFromTemplate:"Нова нотатка з шаблону",newFolder:"Нова папка",newCanvas:"Нове полотно",newBase:"Нова база даних",newDrawing:"Новий малюнок",newExcalidrawDrawing:"Новий малюнок Excalidraw",newTldrawDrawing:"Новий малюнок Tldraw",duplicateFolder:"Дублювати папку",searchInFolder:"Шукати в папці",createFolderNote:"Створити нотатку папки",detachFolderNote:"Від'єднати нотатку папки",deleteFolderNote:"Видалити нотатку папки",changeIcon:"Змінити іконку",changeColor:"Змінити колір",changeBackground:"Змінити фон",excludeFolder:"Сховати папку",unhideFolder:"Показати папку",moveFolder:"Перемістити папку...",renameFolder:"Перейменувати папку",deleteFolder:"Видалити папку"},tag:{changeIcon:"Змінити іконку",changeColor:"Змінити колір",changeBackground:"Змінити фон",showTag:"Показати тег",hideTag:"Сховати тег"},property:{addKey:"Налаштувати ключі властивостей",renameKey:"Перейменувати властивість",deleteKey:"Видалити властивість"},navigation:{addSeparator:"Додати роздільник",removeSeparator:"Вилучити роздільник"},copyPath:{title:"Копіювати шлях",asObsidianUrl:"як URL Obsidian",fromVaultFolder:"з папки сховища",fromSystemRoot:"з кореня системи"},style:{title:"Стиль",copy:"Копіювати стиль",paste:"Вставити стиль",removeIcon:"Видалити іконку",removeColor:"Видалити колір",removeBackground:"Видалити фон",clear:"Очистити стиль"}},folderAppearance:{appearance:"Вигляд",sortBy:"Сортувати за",standardPreset:"Стандартний",compactPreset:"Компактний",defaultSuffix:"(за замовчуванням)",defaultLabel:"За замовчуванням",titleRows:"Рядки заголовка",previewRows:"Рядки попереднього перегляду",groupBy:"Групувати за",titleRowOption:t=>`${t} ${t===1?"рядок":t<5?"рядки":"рядків"} заголовка`,previewRowOption:t=>`${t} ${t===1?"рядок":t<5?"рядки":"рядків"} попереднього перегляду`},modals:{bulkApply:{applyButton:"Застосувати",applySortAndGroupTitle:t=>`Застосувати сортування та групування для ${t}?`,applyAppearanceTitle:t=>`Застосувати оформлення для ${t}?`,affectedCountMessage:t=>`Наявних перевизначень, які зміняться: ${t}.`},manualSortConfirm:{propertySortTitle:"Використати ручне сортування?",propertySortMessage:(t,e)=>`Перемикає поточний вигляд на ручне сортування з використанням «${t}». Редагування порядку записує числові значення індексу в цю властивість у ${e} ${e===1?"нотатці":"нотатках"} за потреби.`,propertySortConfirmButton:"Використати ручне сортування",removePropertyTitle:"Вилучити властивість сортування?",removePropertyMessage:(t,e)=>`Це вилучить «${t}» з ${e} ${e===1?"нотатки":(e<5,"нотаток")} у поточному списку. Порядок ручного сортування буде очищено для цих нотаток.`,removePropertyConfirmButton:"Вилучити властивість",compactTitle:"Стиснути значення індексу?",compactMessage:t=>`Це перевпорядкування потребує більше числового простору. ${t} ${t===1?"нотатка отримає":"нотаток отримають"} нові значення індексу.`,compactConfirmButton:"Стиснути значення індексу"},manualSortGroupHeader:{title:"Встановити заголовок групи",titleLabel:"Заголовок",placeholder:"Заголовок групи",icon:"Значок",color:"Колір",wordCount:"Показувати кількість слів",wordCountTarget:"Цільова кількість слів",wordCountTargetPlaceholder:"10,000",wordCountTargetDescription:"Коли це поле порожнє, ціль групи використовує цільову властивість, задану в Налаштування > Нотатки > Кількість слів і символів. Перевизначте її, задавши цільове значення для цієї групи.",description:"Налаштуйте заголовок групи для цієї нотатки. Залиште заголовок порожнім, щоб видалити його."},mergeNotes:{title:"Об’єднати нотатки",summary:"Створити одну нотатку з {count} нотаток у {folder}.",frontmatterRule:"Frontmatter першої нотатки зберігається. Frontmatter інших нотаток видаляється.",crossFolderWarning:"Вихідні нотатки розташовані в різних папках. Відносні посилання та вбудування можуть перестати працювати в об’єднаній нотатці.",outputName:"Назва результату",outputNameDesc:"Об’єднана нотатка буде створена в папці, показаній вище.",outputNamePlaceholder:"Об’єднані нотатки",separator:"Розділювач",separatorDesc:"Вставляється між нотатками.",separatorOptions:{none:"Немає",blankLine:"Порожній рядок",horizontalRule:"Горизонтальна лінія",heading:"Заголовок із назвою нотатки"},moveSourcesToTrash:"Перемістити вихідні нотатки до кошика після об’єднання",mergeButton:"Об’єднати"},navRainbowSection:{title:t=>`Кольори веселки: ${t}`},iconPicker:{searchPlaceholder:"Пошук іконок...",recentlyUsedHeader:"Нещодавно використані",emptyStateSearch:"Почніть вводити для пошуку іконок",emptyStateNoResults:"Іконок не знайдено",showingResultsInfo:"Показано 50 з {count} результатів. Введіть більше для уточнення.",emojiInstructions:"Введіть або вставте будь-який емодзі для використання як іконки",removeIcon:"Вилучити іконку",removeFromRecents:"Видалити з нещодавніх",allTabLabel:"Всі"},fileIconRuleEditor:{addRuleAria:"Додати правило"},interfaceIcons:{title:"Іконки інтерфейсу",fileItemsSection:"Елементи файлу",items:{"nav-shortcuts":"Ярлики","nav-recent-files":"Нещодавні файли","nav-expand-all":"Розгорнути все","nav-collapse-all":"Згорнути все","nav-calendar":"Календар","nav-tree-expand":"Стрілка дерева: розгорнути","nav-tree-collapse":"Стрілка дерева: згорнути","nav-hidden-items":"Приховані елементи","nav-root-reorder":"Змінити порядок кореневих папок","nav-new-folder":"Нова папка","nav-show-single-pane":"Показати одну панель","nav-show-dual-pane":"Показати подвійну панель","nav-profile-chevron":"Стрілка меню профілю","list-search":"Пошук","list-reveal-file":"Показати файл","list-descendants":"Нотатки з підпапок","list-sort-ascending":"Порядок сортування: за зростанням","list-sort-descending":"Порядок сортування: за спаданням","list-sort-modified":"Сортувати за датою зміни","list-sort-created":"Сортувати за датою створення","list-sort-title":"Сортувати за заголовком","list-sort-filename":"Сортувати за іменем файлу","list-sort-property":"Сортувати за властивістю","list-appearance":"Змінити вигляд","list-new-note":"Нова нотатка","list-pinned":"Закріплені нотатки","nav-folder-open":"Папка відкрита","nav-folder-closed":"Папка закрита","nav-tags":"Теги","nav-tag":"Тег","nav-properties":"Властивості","nav-property":"Властивість","nav-property-value":"Значення","file-unfinished-task":"Незавершені завдання","file-word-count":"Кількість слів","file-character-count":"Кількість символів"}},colorPicker:{currentColor:"Поточний",newColor:"Новий",paletteDefault:"За замовчуванням",paletteCustom:"Власні",copyColors:"Копіювати колір",colorsCopied:"Колір скопійовано в буфер обміну",pasteColors:"Вставити колір",pasteClipboardError:"Не вдалося прочитати буфер обміну",pasteInvalidFormat:"Очікується hex-значення кольору",colorsPasted:"Колір успішно вставлено",resetUserColors:"Очистити власні кольори",clearCustomColorsConfirm:"Видалити всі власні кольори?",userColorSlot:"Колір {slot}",recentColors:"Останні кольори",clearRecentColors:"Очистити останні кольори",removeRecentColor:"Вилучити колір",apply:"Застосувати",pickerLabel:"Вибір",hexLabel:"HEX",hexInputLabel:"HEX-значення кольору",saturationValueArea:"Насиченість і яскравість",hueSlider:"Відтінок",alphaSlider:"Прозорість"},appearance:{tabIcon:"Значок",tabColor:"Колір",tabBackground:"Фон",resetIcon:"Видалити іконку",resetColor:"Видалити колір",resetBackground:"Видалити фон",clear:"Очистити стиль",apply:"Застосувати"},selectVaultProfile:{title:"Вибрати профіль сховища",currentBadge:"Активний",emptyState:"Немає доступних профілів сховища."},tagOperation:{renameTitle:"Перейменувати тег {tag}",deleteTitle:"Видалити тег {tag}",newTagPrompt:"Нова назва тегу",newTagPlaceholder:"Введіть нову назву тегу",renameWarning:"Перейменування тегу {oldTag} змінить {count} {files}.",deleteWarning:"Видалення тегу {tag} змінить {count} {files}.",modificationWarning:"Це оновить дати зміни файлів.",affectedFiles:"Зачеплені файли:",andMore:"...та ще {count}",confirmRename:"Перейменувати тег",renameUnchanged:"{tag} не змінено",renameNoChanges:"{oldTag} → {newTag} ({countLabel})",renameBatchNotFinalized:"Перейменовано {renamed}/{total}. Не оновлено: {notUpdated}. Метадані та ярлики не були оновлені.",invalidTagName:"Введіть дійсну назву тегу.",descendantRenameError:"Неможливо перемістити тег у себе або в нащадка.",confirmDelete:"Видалити тег",deleteBatchNotFinalized:"Видалено з {removed}/{total}. Не оновлено: {notUpdated}. Метадані та ярлики не були оновлені.",checkConsoleForDetails:"Деталі в консолі.",file:"файл",files:"файлів",inlineParsingWarning:{title:"Сумісність вбудованих тегів",message:"{tag} містить символи, які Obsidian не може обробити у вбудованих тегах. Теги Frontmatter не зачеплені.",confirm:"Використати все одно"}},propertyOperation:{renameTitle:"Перейменувати властивість {property}",deleteTitle:"Видалити властивість {property}",newKeyPrompt:"Нова назва властивості",newKeyPlaceholder:"Введіть нову назву властивості",renameWarning:"Перейменування властивості {property} змінить {count} {files}.",renameConflictWarning:"Властивість {newKey} вже існує в {count} {files}. Перейменування {oldKey} замінить наявні значення {newKey}.",deleteWarning:"Видалення властивості {property} змінить {count} {files}.",confirmRename:"Перейменувати властивість",confirmDelete:"Видалити властивість",renameNoChanges:"{oldKey} → {newKey} (без змін)",renameSettingsUpdateFailed:"Властивість {oldKey} → {newKey} перейменовано. Не вдалося оновити налаштування.",deleteSingleSuccess:"Властивість {property} видалено з 1 нотатки",deleteMultipleSuccess:"Властивість {property} видалено з {count} нотаток",deleteSettingsUpdateFailed:"Властивість {property} видалено. Не вдалося оновити налаштування.",invalidKeyName:"Введіть допустиму назву властивості."},fileSystem:{newFolderTitle:"Нова папка",renameFolderTitle:"Перейменувати папку",renameFileTitle:"Перейменувати файл",deleteFolderTitle:"Видалити '{name}'?",deleteFileTitle:"Видалити '{name}'?",deleteFileAttachmentsTitle:"Видалити вкладення файлу?",moveFileConflictTitle:"Конфлікт переміщення",folderNamePrompt:"Введіть назву папки:",hideInOtherVaultProfiles:"Сховати в інших профілях сховища",renamePrompt:"Введіть нову назву:",renameVaultTitle:"Змінити відображувану назву сховища",renameVaultPrompt:"Введіть власну відображувану назву (залиште порожнім для використання за замовчуванням):",deleteFolderConfirm:"Ви впевнені, що хочете видалити цю папку та весь її вміст?",deleteFileConfirm:"Ви впевнені, що хочете видалити цей файл?",deleteFileAttachmentsDescriptionSingle:"Це вкладення більше не використовується в жодній нотатці. Бажаєте його видалити?",deleteFileAttachmentsDescriptionMultiple:"Ці вкладення більше не використовуються в жодній нотатці. Бажаєте їх видалити?",deleteFileAttachmentsViewFileTreeAriaLabel:"Дерево файлів",deleteFileAttachmentsViewGalleryAriaLabel:"Галерея",moveFileConflictDescriptionSingle:"Виявлено конфлікт файлу в «{folder}».",moveFileConflictDescriptionMultiple:"Виявлено {count} конфліктів файлів у «{folder}».",moveFileConflictAffectedFiles:"Зачеплені файли",moveFileConflictItem:"«{name}» -> «{suggested}»{renameOnly}",moveFileConflictRenameOnly:"(лише перейменування)",moveFileConflictRename:"Перейменувати",moveFileConflictOverwrite:"Перезаписати",removeAllTagsTitle:"Вилучити всі теги",removeAllTagsFromNote:"Ви впевнені, що хочете вилучити всі теги з цієї нотатки?",removeAllTagsFromNotes:"Ви впевнені, що хочете вилучити всі теги з {count} нотаток?"},folderNoteType:{title:"Виберіть тип нотатки папки",folderLabel:"Папка: {name}"},folderSuggest:{placeholder:t=>`Перемістити ${t} до папки...`,multipleFilesLabel:t=>`${t} файлів`,navigatePlaceholder:"Перейти до папки...",instructions:{navigate:"для навігації",move:"для переміщення",select:"для вибору",dismiss:"для закриття"}},homepage:{placeholder:"Пошук файлів...",instructions:{navigate:"для навігації",select:"для встановлення домашньої сторінки",dismiss:"для закриття"}},calendarTemplate:{placeholder:"Пошук шаблонів...",instructions:{navigate:"для навігації",select:"для вибору шаблону",dismiss:"для закриття"}},navigationBanner:{placeholder:"Пошук зображень...",instructions:{navigate:"для навігації",select:"для встановлення банера",dismiss:"для закриття"}},tagSuggest:{navigatePlaceholder:"Перейти до тегу...",addPlaceholder:"Знайти тег для додавання...",removePlaceholder:"Виберіть тег для вилучення...",createNewTag:"Створити новий тег: #{tag}",instructions:{navigate:"для навігації",select:"для вибору",dismiss:"для закриття",add:"для додавання тегу",remove:"для вилучення тегу"}},propertySuggest:{placeholder:"Виберіть ключ властивості...",navigatePlaceholder:"Перейти до властивості...",instructions:{navigate:"для навігації",select:"для додавання властивості",dismiss:"для закриття"}},propertyKeyVisibility:{title:"Видимість ключів властивостей",description:"Керування місцем відображення значень властивостей. Стовпці відповідають панелі навігації, панелі списку та контекстному меню файлу. Використовуйте нижній рядок для перемикання всіх рядків у стовпці.",searchPlaceholder:"Пошук ключів властивостей...",propertyColumnLabel:"Властивість",showInNavigation:"Показати в навігації",showInList:"Показати у списку",showInFileMenu:"Показати в меню файлу",toggleAllInNavigation:"Перемкнути все в навігації",toggleAllInList:"Перемкнути все у списку",toggleAllInFileMenu:"Перемкнути все в меню файлу",applyButton:"Застосувати",emptyState:"Ключі властивостей не знайдено."},welcome:{title:"Ласкаво просимо до {pluginName}",introText:"Привіт! Перш ніж почати, наполегливо рекомендую переглянути перші п'ять хвилин відео нижче, щоб зрозуміти, як працюють панелі та перемикач «Показувати нотатки з підпапок».",continueText:"Якщо у вас є ще п'ять хвилин, продовжуйте перегляд відео, щоб зрозуміти компактні режими відображення та як правильно налаштувати закладки та важливі гарячі клавіші.",thanksText:"Дуже дякую за завантаження, насолоджуйтесь!",videoAlt:"Встановлення та освоєння Notebook Navigator",openVideoButton:"Відтворити відео",closeButton:"Можливо, пізніше"}},fileSystem:{errors:{createFolder:"Не вдалося створити папку: {error}",createFile:"Не вдалося створити файл: {error}",renameFolder:"Не вдалося перейменувати папку: {error}",renameFolderNoteConflict:'Неможливо перейменувати: "{name}" вже існує в цій папці',renameFile:"Не вдалося перейменувати файл: {error}",deleteFolder:"Не вдалося видалити папку: {error}",deleteFile:"Не вдалося видалити файл: {error}",deleteAttachments:"Не вдалося видалити вкладення: {error}",mergeNotes:"Не вдалося об’єднати нотатки: {error}",mergeNotesOpenOutput:"Об’єднану нотатку створено як {name}, але її не вдалося відкрити: {error}. Вихідні нотатки не змінено.",mergeNotesOpenSkipped:"Інший запит на відкриття файлу отримав пріоритет.",mergeNotesTrashSources:"Об’єднану нотатку створено. Не вдалося перемістити {count} вихідних нотаток до кошика.",duplicateNote:"Не вдалося дублювати нотатку: {error}",duplicateFolder:"Не вдалося дублювати папку: {error}",openVersionHistory:"Не вдалося відкрити історію версій: {error}",versionHistoryNotFound:"Команда історії версій не знайдена. Переконайтеся, що Obsidian Sync увімкнено.",revealInExplorer:"Не вдалося показати файл у провіднику системи: {error}",openInDefaultApp:"Не вдалося відкрити у стандартному додатку: {error}",openInDefaultAppNotAvailable:"Відкриття у стандартному додатку недоступне на цій платформі",folderNoteAlreadyExists:"Нотатка папки вже існує",folderAlreadyExists:'Папка "{name}" вже існує',folderNotesDisabled:"Увімкніть нотатки папок у налаштуваннях для конвертації файлів",folderNoteAlreadyLinked:"Цей файл вже працює як нотатка папки",folderNoteNotFound:"У вибраній папці немає нотатки папки",folderNoteUnsupportedExtension:"Непідтримуване розширення файлу: {extension}",folderNoteMoveFailed:"Не вдалося перемістити файл під час конвертації: {error}",folderNoteRenameConflict:'Файл з назвою "{name}" вже існує в папці',folderNoteConversionFailed:"Не вдалося конвертувати файл у нотатку папки",folderNoteConversionFailedWithReason:"Не вдалося конвертувати файл у нотатку папки: {error}",folderNoteOpenFailed:"Файл конвертовано, але не вдалося відкрити нотатку папки: {error}",failedToDeleteFile:"Не вдалося видалити {name}: {error}",failedToDeleteMultipleFiles:"Не вдалося видалити {count} файлів",versionHistoryNotAvailable:"Сервіс історії версій недоступний",drawingAlreadyExists:"Малюнок з такою назвою вже існує",failedToCreateDrawing:"Не вдалося створити малюнок",noFolderSelected:"У Notebook Navigator не вибрано папку",noFileSelected:"Файл не вибрано"},warnings:{linkBreakingNameCharacters:"Це ім'я містить символи, які ламають посилання Obsidian: #, |, ^, %%, [[, ]].",forbiddenNameCharactersAllPlatforms:"Імена не можуть починатися з крапки або містити : чи /.",forbiddenNameCharactersWindows:'Зарезервовані в Windows символи не дозволені: <, >, ", \\, |, ?, *.'},notices:{hideFolder:"Папку сховано: {name}",showFolder:"Папку показано: {name}",mergeNotes:"Об’єднано {count} нотаток у {name}"},notifications:{deletedMultipleFiles:"Видалено {count} файлів",movedMultipleFiles:"Переміщено {count} файлів до {folder}",folderNoteConversionSuccess:'Файл конвертовано в нотатку папки в "{name}"',folderMoved:'Переміщено папку "{name}"',deepLinkCopied:"URL Obsidian скопійовано в буфер обміну",pathCopied:"Шлях скопійовано в буфер обміну",relativePathCopied:"Відносний шлях скопійовано в буфер обміну",tagAddedToNote:"Тег додано до 1 нотатки",tagAddedToNotes:"Тег додано до {count} нотаток",tagRemovedFromNote:"Тег вилучено з 1 нотатки",tagRemovedFromNotes:"Тег вилучено з {count} нотаток",tagsClearedFromNote:"Очищено всі теги з 1 нотатки",tagsClearedFromNotes:"Очищено всі теги з {count} нотаток",noTagsToRemove:"Немає тегів для вилучення",noFilesSelected:"Файли не вибрано",mergeNotesRequireMultipleMarkdown:"Виберіть щонайменше дві Markdown-нотатки для об’єднання",tagOperationsNotAvailable:"Операції з тегами недоступні",propertyOperationsNotAvailable:"Операції з властивостями недоступні",tagsRequireMarkdown:"Теги підтримуються лише для Markdown нотаток",propertiesRequireMarkdown:"Властивості підтримуються лише в нотатках Markdown",propertySetOnNote:"Властивість оновлено в 1 нотатці",propertySetOnNotes:"Властивість оновлено в {count} нотатках",manualSortPropertyRemovedFromNote:"Вилучено властивість сортування з 1 нотатки",manualSortPropertyRemovedFromNotes:"Вилучено властивість сортування з {count} нотаток",iconPackDownloaded:"{provider} завантажено",iconPackUpdated:"{provider} оновлено ({version})",iconPackRemoved:"{provider} вилучено",iconPackLoadFailed:"Не вдалося завантажити {provider}",hiddenFileReveal:'Файл прихований. Увімкніть "Показати приховані елементи" для відображення'},confirmations:{deleteMultipleFiles:"Ви впевнені, що хочете видалити {count} файлів?",deleteConfirmation:"Цю дію неможливо скасувати."},defaultNames:{untitled:"Без назви"}},dragDrop:{errors:{cannotMoveIntoSelf:"Неможливо перемістити папку в себе або підпапку.",itemAlreadyExists:'Елемент з назвою "{name}" вже існує в цьому місці.',failedToMove:"Не вдалося перемістити: {error}",failedToAddTag:'Не вдалося додати тег "{tag}"',failedToSetProperty:"Не вдалося оновити властивість: {error}",failedToClearTags:"Не вдалося очистити теги",failedToMoveFolder:'Не вдалося перемістити папку "{name}"',failedToImportFiles:"Не вдалося імпортувати: {names}"},notifications:{filesAlreadyExist:"{count} файлів вже існує в місці призначення",filesAlreadyHaveTag:"{count} файлів вже мають цей тег або більш специфічний",filesAlreadyHaveProperty:"{count} файлів вже мають цю властивість",noTagsToClear:"Немає тегів для очищення",fileImported:"Імпортовано 1 файл",filesImported:"Імпортовано {count} файлів"}},dateGroups:{today:"Сьогодні",yesterday:"Вчора",previous7Days:"Попередні 7 днів",previous30Days:"Попередні 30 днів"},commands:{open:"Відкрити",toggleLeftSidebar:"Перемкнути ліву бічну панель",openHomepage:"Відкрити домашню сторінку",openDailyNote:"Відкрити щоденну нотатку",openWeeklyNote:"Відкрити щотижневу нотатку",openMonthlyNote:"Відкрити щомісячну нотатку",openQuarterlyNote:"Відкрити квартальну нотатку",openYearlyNote:"Відкрити щорічну нотатку",revealFile:"Показати файл",search:"Пошук",searchVaultRoot:"Пошук у корені сховища",toggleDualPane:"Перемкнути подвійну панель",toggleDualPaneOrientation:"Перемкнути орієнтацію подвійної панелі",toggleCalendar:"Перемкнути календар",selectVaultProfile:"Вибрати профіль сховища",selectVaultProfile1:"Вибрати профіль сховища 1",selectVaultProfile2:"Вибрати профіль сховища 2",selectVaultProfile3:"Вибрати профіль сховища 3",deleteFile:"Видалити файли",createNewNote:"Створити нову нотатку",createNewNoteFromTemplate:"Нова нотатка з шаблону",moveFiles:"Перемістити файли",mergeNotes:"Об’єднати нотатки",selectNextFile:"Вибрати наступний файл",selectPreviousFile:"Вибрати попередній файл",navigateBack:"Назад",navigateForward:"Вперед",convertToFolderNote:"Конвертувати в нотатку папки",setAsFolderNote:"Встановити як нотатку папки",detachFolderNote:"Від'єднати нотатку папки",pinAllFolderNotes:"Закріпити всі нотатки папок",navigateToFolder:"Перейти до папки",navigateToTag:"Перейти до тегу",navigateToProperty:"Перейти до властивості",addShortcut:"Додати до ярликів",openShortcut:"Відкрити ярлик {number}",toggleDescendants:"Перемкнути нащадків",toggleHidden:"Перемкнути приховані папки, теги та нотатки",toggleTagSort:"Перемкнути порядок сортування тегів",toggleTagsBySelection:"Перемкнути теги за вибором",togglePropertiesBySelection:"Перемкнути властивості за вибором",toggleCompactMode:"Перемкнути компактний режим",togglePinnedSection:"Перемкнути закріплений розділ",collapseExpand:"Згорнути / розгорнути всі елементи",collapseExpandSelectedItem:"Згорнути / розгорнути вибраний елемент",addTag:"Додати тег до вибраних файлів",setProperty:"Встановити властивість для вибраних файлів",removeTag:"Вилучити тег з вибраних файлів",removeAllTags:"Вилучити всі теги з вибраних файлів",openAllFiles:"Відкрити всі файли",rebuildCache:"Перебудувати кеш"},plugin:{viewName:"Notebook Navigator",calendarViewName:"Календар",folderNoteSidebarViewName:"Нотатка папки",ribbonTooltip:"Notebook Navigator",revealInNavigator:"Показати в Notebook Navigator"},tooltips:{lastModifiedAt:"Останнє змінення",createdAt:"Створено",file:"файл",files:"файлів",folder:"папка",folders:"папок",wordCount:"Кількість слів"},fileCounts:{words:"{count} слів",characters:"{count} символів",separator:" · "},settings:{changeDefaultSettings:"Змінити стандартні налаштування",metadataReport:{exportSuccess:"Звіт про невдалі метадані експортовано до: {filename}",exportFailed:"Не вдалося експортувати звіт метаданих"},sections:{general:"Загальне",vaultFilters:"Фільтри відображення",appearanceBehavior:"Вигляд і поведінка",navigationPane:"Панель навігації",calendar:"Календар",fileOperations:"Операції з файлами",icons:"Пакети іконок",folders:"Папки",folderNotes:"Нотатки папок",folderNoteFiles:"Файли нотаток папок",foldersAndFolderNotes:"Папки та нотатки папок",tagsAndProperties:"Теги та властивості",tags:"Теги",listPane:"Панель списку",notes:"Відображення файлів",shortcutsAndRecentFiles:"Ярлики та останні файли",advanced:"Розширені"},pageGroups:{configuration:"Конфігурація",navigationAndContent:"Панель навігації",notesAndLists:"Панель списку",calendarAndTools:"Календар і інструменти"},pageDescriptions:{general:"Примітки до випуску, підтримка, профіль сховища, типи файлів і ключі властивостей.",vaultFilters:"Приховані папки, теги, файли, теги файлів і правила властивостей.",appearanceBehavior:"Поведінка, навігація з клавіатури, кнопки миші, вигляд і форматування.",navigationPane:"Розмітка, вигляд, кількість нотаток, поведінка згортання та кольори веселки.",shortcuts:"Видимість ярликів, значки, останні файли та закріплені елементи.",calendar:"Відображення календаря, нотатки дат, шаблони, локаль і розташування бічної панелі.",fileOperations:"Шаблони, підтвердження видалення, вкладення та поведінка при конфлікті переміщення файлів.",foldersAndFolderNotes:"Відображення папок, нотатки папок, шаблони нотаток папок і поведінка нотаток папок.",tagsProperties:"Розділи тегів і властивостей, іконки, сортування, область дії та успадкування.",listPane:"Сортування, групування, режими списку, закріплені нотатки та перегляд малюнків.",frontmatter:"Поля frontmatter для відображуваних імен, часових позначок, іконок і кольорів.",notes:"Заголовки, текст попереднього перегляду, зображення записів, теги, властивості, дати, кількість слів і кількість символів.",iconPacks:"Іконки інтерфейсу, іконки файлів і керування пакетами іконок.",advanced:"Діагностика, очищення метаданих, імпорт/експорт і скидання."},groups:{general:{vaultConfiguration:"Налаштування сховища",templates:"Шаблони",behavior:"Поведінка",keyboardNavigation:"Навігація з клавіатури",mouseButtons:"Кнопки миші",view:"Вигляд",icons:"Іконки",desktopAppearance:"Вигляд на комп'ютері",mobileAppearance:"Мобільний вигляд",formatting:"Форматування"},advanced:{maintenance:"Обслуговування",resetSettings:"Скидання налаштувань"},navigation:{appearance:"Вигляд",banner:"Банер",collapseItems:"Згортати елементи",dragAndDrop:"Перетягування",noteCounts:"Кількість нотаток",rainbowColors:"Кольори веселки",leftSidebar:"Ліва бічна панель",calendarIntegration:"Інтеграція з календарем"},list:{display:"Вигляд",groupHeaders:"Заголовки груп",propertySort:"Сортування за властивістю",manualSort:"Ручне сортування",pinnedNotes:"Закріплені нотатки",drawingPreviews:"Перегляд малюнків"},notes:{frontmatter:"Поля frontmatter",tasks:"Завдання",icon:"Іконка",title:"Заголовок",previewText:"Текст попереднього перегляду",featureImage:"Зображення запису",tags:"Теги",properties:"Властивості",date:"Дата",parentFolder:"Батьківська папка",wordCount:"Кількість слів і символів"}},syncMode:{notSynced:"(не синхронізовано)",switchToSynced:"Увімкнути синхронізацію",switchToLocal:"Вимкнути синхронізацію"},items:{listPaneTitle:{name:"Заголовок панелі списку",desc:"Виберіть, де показувати заголовок панелі списку.",options:{header:"Показувати в заголовку",list:"Показувати в панелі списку",hidden:"Не показувати"}},sortNotesBy:{name:"Порядок сортування за замовчуванням",desc:"Виберіть порядок сортування нотаток за замовчуванням.",options:{"modified-desc":"Дата редагування (найновіші зверху)","modified-asc":"Дата редагування (найстаріші зверху)","created-desc":"Дата створення (найновіші зверху)","created-asc":"Дата створення (найстаріші зверху)","title-asc":"Заголовок (А зверху)","title-desc":"Заголовок (Я зверху)","filename-asc":"Ім'я файлу (А зверху)","filename-desc":"Ім'я файлу (Я зверху)"},directions:{asc:"За зростанням",desc:"За спаданням"},fields:{modified:"Дата редагування",created:"Дата створення",title:"Заголовок",filename:"Ім'я файлу",property:"Властивість"}},propertySortKey:{name:"Властивості для сортування",desc:"Розділені комами властивості frontmatter, що відображаються як опції сортування за властивістю. Значення масивів об'єднуються в один рядок. Ці властивості не змінюються.",placeholder:"published, author"},propertySortSecondary:{name:"Вторинне сортування",desc:"Використовується при сортуванні за властивістю, коли нотатки мають однакове значення властивості або не мають значення.",options:{title:"Заголовок",filename:"Назва файлу",created:"Дата створення",modified:"Дата редагування"}},propertySortInstructions:{intro:"Кожна властивість, перелічена вище, відображається як опція сортування в меню сортування на панелі списку. Вибір однієї з них сортує нотатки за її значенням у frontmatter."},manualSortPropertyKey:{name:"Властивість ручного сортування",desc:"Властивість frontmatter, що використовується для зберігання числових значень індексу для ручного сортування."},manualSortGroupHeaderProperty:{name:"Властивість заголовка групи",desc:"Властивість frontmatter, що використовується для зберігання користувацьких заголовків груп."},groupHeadersInstructions:{intro:"Користувацькі заголовки груп відображаються над нотатками на панелі списку.",items:["У меню сортування на панелі списку встановіть групування на **Користувацьке**.","Клацніть правою кнопкою миші на нотатці та виберіть **Встановити заголовок групи**, щоб додати заголовок над нею."]},manualSortNewNotePlacement:{name:"Розміщення нової нотатки",desc:"Виберіть, де розміщуються нові нотатки, коли поточний список використовує ручне сортування.",options:{top:"Зверху",bottom:"Знизу","below-selected-note":"Під вибраною нотаткою",unsorted:"Без сортування"}},confirmBeforeManualSort:{name:"Підтверджувати перед ручним сортуванням",desc:"Показувати попередження перед першим записом властивості ручного сортування до нотаток. Коли вимкнено, нотатки отримують властивість без попередження."},manualSortInstructions:{intro:"Ручне сортування записує числове значення індексу у властивість frontmatter кожної нотатки. Нотатки без індексу відображаються в розділі «Без сортування».",items:["Увімкніть ручне сортування, вибравши **Ручне сортування** в меню сортування. Після цього є два способи переставити нотатки.","Виберіть **Редагувати порядок сортування...** в меню сортування, щоб відкрити перегляд для зміни порядку. Перетягуйте нотатки мишею або дотиком на мобільному пристрої. На комп'ютері клік з **Cmd/Ctrl** або **Shift** вибирає кілька нотаток, після чого перетягування будь-якої з них переміщує всю групу.","У панелі списку виберіть одну нотатку або кілька з мульти-вибором, потім натисніть **Cmd/Ctrl + Arrow Up/Down**, щоб перемістити вибране вгору або вниз."]},revealFileOnListChanges:{name:"Прокручувати до вибраного файлу при змінах списку",desc:"Прокручувати до вибраного файлу при закріпленні нотаток, показі нотаток нащадків, зміні вигляду папки або виконанні файлових операцій."},includeDescendantNotes:{name:"Показувати нотатки з підпапок / нащадків",desc:"Включати нотатки з вкладених підпапок та нащадків тегів і властивостей при перегляді папки, тегу або властивості."},limitPinnedToCurrentFolder:{name:"Закріплювати нотатки лише в їхній папці",desc:"Закріплені нотатки відображаються як закріплені лише у своїй власній папці. Корисно для нотаток-папок або якщо у вас багато закріплених нотаток. Не впливає на подання тегів або властивостей."},separateNoteCounts:{name:"Показувати поточні та нащадкові кількості нотаток окремо",desc:'Відображати кількість нотаток у форматі "поточні ▾ нащадки" для папок, тегів і властивостей.'},groupNotes:{name:"Групування за замовчуванням",desc:"Користувацьке показує заголовки, визначені у frontmatter. Дата групує нотатки за датою. Папка групує нотатки за папкою. Перегляди тегів і властивостей використовують групи за датою, коли вибрано папку.",options:{custom:"Користувацьке",date:"Дата",folder:"Папка"}},showSelectedNavigationPills:{name:"Завжди показувати всі мітки тегів та властивостей",desc:"Коли вимкнено, мітки, що відповідають поточному вибору навігації, приховуються (наприклад, мітка тегу «рецепти» приховується під час перегляду тегу «рецепти»). Увімкніть, щоб усі мітки залишалися видимими."},stickyGroupHeaders:{name:"Закріплені заголовки груп",desc:"Тримати заголовок поточної дати, теки або закріпленого розділу видимим під час прокручування."},showFolderGroupPaths:{name:"Показувати шляхи підпапок",desc:"Під час групування за папкою на панелі списку показувати шляхи підпапок замість лише назв папок."},showCurrentFolderFilesAtBottom:{name:"Групування за папками: файли поточної папки внизу",desc:"Коли для групування за замовчуванням вибрано «Папка», файли безпосередньо у вибраній папці буде показано нижче груп підпапок."},defaultListMode:{name:"Режим списку за замовчуванням",desc:"Виберіть макет списку за замовчуванням. Стандартний показує заголовок, дату, опис та текст попереднього перегляду. Компактний показує лише заголовок. Перевизначте вигляд для кожної папки.",options:{standard:"Стандартний",compact:"Компактний"}},showFileIcons:{name:"Показувати іконки файлів",desc:"Відображати іконки файлів з вирівнюванням ліворуч. Вимкнення видаляє як іконки, так і відступ. Пріоритет: значок незавершених завдань > користувацький значок > значок папки > значок назви файлу > значок типу файлу > значок за замовчуванням."},useFolderIcon:{name:"Використовувати значок папки",desc:"Відображати значок батьківської папки, коли не задано користувацький значок файлу. Колір папки використовується, коли не задано користувацький колір файлу."},showFileIconUnfinishedTask:{name:"Значок незавершених завдань",desc:"Показувати іконку завдання, коли нотатка містить незавершені завдання."},showFileBackgroundUnfinishedTask:{name:"Фон незавершених завдань",desc:"Застосовувати колір фону, коли нотатка містить незавершені завдання."},unfinishedTaskBackgroundColor:{name:"Колір фону незавершених завдань",desc:"Встановити колір фону, що використовується коли нотатка містить незавершені завдання."},showFilenameMatchIcons:{name:"Іконки за назвою файлу",desc:"Призначити іконки файлам на основі тексту в їхніх назвах."},fileNameIconMap:{name:"Зіставлення назв та іконок",desc:"Файли, що містять текст, отримують вказану іконку. Одне зіставлення на рядок: текст=іконка",placeholder:`# текст=іконка
зустріч=ph-calendar
рахунок=ph-receipt`,editTooltip:"Редагувати зіставлення"},showCategoryIcons:{name:"Іконки за типом файлу",desc:"Призначити іконки файлам на основі їхнього розширення."},fileTypeIconPreset:{name:"Попередній набір іконок файлів",desc:"Виберіть вбудовані іконки або попередній набір пакета іконок. Користувацькі правила розширень замінюють цей попередній набір.",options:{none:"Вбудовані іконки"},notInstalledWarning:"Цей пакет іконок не встановлено. Натомість відображаються вбудовані іконки."},fileTypeIconMap:{name:"Зіставлення типів та іконок",desc:"Файли з розширенням отримують вказану іконку. Одне зіставлення на рядок: розширення=іконка",placeholder:`# Extension=icon
cpp=ph-file-code
pdf=ph-file-pdf`,editTooltip:"Редагувати зіставлення"},compactItemHeight:{name:"Висота компактних елементів",desc:"Встановіть висоту елементів компактного списку на комп'ютері та мобільному (у пікселях).",resetTooltip:"Відновити за замовчуванням (28px)"},compactItemHeightScaleText:{name:"Масштабувати текст з висотою компактних елементів",desc:"Масштабувати текст компактного списку при зменшенні висоти елементів."},showParentFolder:{name:"Показувати батьківську папку",desc:"Відображати назву батьківської папки для нотаток у підпапках, тегах або властивостях."},showParentFolderFullPath:{name:"Показувати повний шлях",desc:"Відображати повний шлях батьківської папки замість лише назви папки."},parentFolderClickRevealsFile:{name:"Натискання на батьківську папку відкриває папку",desc:"Натискання на мітку батьківської папки відкриває папку в панелі списку."},showParentFolderColor:{name:"Показувати колір батьківської папки",desc:"Використовувати кольори папок на мітках батьківських папок."},showParentFolderIcon:{name:"Показувати значок батьківської папки",desc:"Показувати значки папок поруч із мітками батьківських папок."},showQuickActions:{name:"Показувати швидкі дії",desc:"Показувати кнопки дій при наведенні на файли. Елементи керування кнопками вибирають, які дії з'являються."},dualPane:{name:"Макет подвійної панелі",desc:"Показувати панель навігації та панель списку поруч на комп'ютері."},dualPaneOrientation:{name:"Орієнтація подвійної панелі",desc:"Виберіть горизонтальний або вертикальний макет при активній подвійній панелі.",options:{horizontal:"Горизонтальний поділ",vertical:"Вертикальний поділ"}},narrowSidebarLayout:{name:"Коли бічна панель занадто вузька",desc:"Виберіть, що відбувається, коли панель навігації та панель списку не вміщуються поруч.",options:{none:"Нічого не робити",singlePane:"Перемкнутися на одну панель",vertical:"Перемкнутися на вертикальний поділ"}},narrowSidebarTrigger:{name:"Поріг вузької бічної панелі",desc:"Виберіть, як обчислюється поріг ширини бічної панелі.",options:{fitPanes:"Умістити панелі",customWidth:"Користувацька ширина"}},narrowSidebarCustomWidth:{name:"Ширина порога вузької бічної панелі",desc:"Перемикатися, коли бічна панель вужча за цю ширину.",resetTooltip:"Скинути до ширини за замовчуванням"},appearanceBackground:{name:"Колір фону",desc:"Виберіть кольори фону для панелей навігації та списку.",options:{separate:"Окремі фони",primary:"Використовувати фон списку",secondary:"Використовувати фон навігації"}},appearanceScale:{name:"Рівень масштабування",desc:"Керує загальним рівнем масштабування Notebook Navigator (у відсотках)."},useFloatingToolbars:{name:"Використовувати плаваючі панелі інструментів на iOS/iPadOS",desc:"Застосовується лише на iOS та iPadOS."},startView:{name:"Вигляд при запуску за замовчуванням",desc:"Виберіть, яку панель відображати при відкритті Notebook Navigator. Панель навігації показує ярлики, останні файли та дерево папок. Панель списку одразу показує список файлів.",options:{navigation:"Панель навігації",files:"Панель списку"}},toolbarButtons:{name:"Кнопки панелі інструментів",desc:"Виберіть, які кнопки з'являються на панелі інструментів. Приховані кнопки залишаються доступними через команди та меню.",navigationLabel:"Панель інструментів навігації",listLabel:"Панель інструментів списку"},createNewNotesInNewTab:{name:"Відкривати нові нотатки в новій вкладці",desc:"Якщо увімкнено, команда «Створити нову нотатку» відкриває нотатки в новій вкладці. Якщо вимкнено, нотатки замінюють поточну вкладку."},autoRevealActiveNote:{name:"Автоматично показувати активну нотатку",desc:"Автоматично показувати нотатки при відкритті з Швидкого перемикача, посилань або пошуку."},autoRevealShortestPath:{name:"Автопоказ: Використовувати найкоротший шлях",desc:"Увімкнено: Автопоказ обирає найближчу видиму батьківську теку або тег. Вимкнено: Автопоказ обирає фактичну теку файлу та точний тег."},autoRevealIgnoreRightSidebar:{name:"Автопоказ: Ігнорувати події з правої бічної панелі",desc:"Не змінювати активну нотатку при натисканні або зміні нотаток у правій бічній панелі."},autoRevealIgnoreOtherWindows:{name:"Автопоказ: Ігнорувати події з інших вікон",desc:"Не змінювати активну нотатку при роботі з нотатками в іншому вікні."},paneTransitionDuration:{name:"Анімація однієї панелі",desc:"Тривалість переходу при перемиканні панелей у режимі однієї панелі (мілісекунди).",resetTooltip:"Скинути до стандартних"},autoSelectFirstFileOnFocusChange:{name:"Автоматично вибирати першу нотатку",desc:"Автоматично відкривати першу нотатку при перемиканні папок, тегів або властивостей."},skipAutoScroll:{name:"Вимкнути автопрокручування для ярликів",desc:"Не прокручувати панель навігації при натисканні на елементи в ярликах."},autoExpandNavItems:{name:"Розгортати при виборі",desc:"Розгортати папки та теги при виборі. У режимі однієї панелі перший вибір розгортає, другий показує файли."},collapseOtherBranchesOnExpand:{name:"Одна розгорнута гілка",desc:"Згортати інші гілки в тому самому дереві під час розгортання папки, тегу або властивості."},springLoadedFolders:{name:"Розгортати під час перетягування",desc:"Розгортати папки й теги при наведенні під час перетягування."},springLoadedFoldersInitialDelay:{name:"Розгортати під час перетягування: Затримка першого розгортання",desc:"Затримка перед розгортанням першої папки або тегу під час перетягування (секунди)."},springLoadedFoldersSubsequentDelay:{name:"Розгортати під час перетягування: Затримка наступних розгортань",desc:"Затримка перед розгортанням додаткових папок або тегів під час того ж перетягування (секунди)."},navigationBanner:{name:"Банер навігації (профіль сховища)",desc:"Відображати зображення над панеллю навігації. Змінюється з вибраним профілем сховища.",current:"Поточний банер: {path}",chooseButton:"Вибрати зображення"},pinNavigationBanner:{name:"Закріпити банер",desc:"Закріпити банер навігації над деревом навігації."},showShortcuts:{name:"Показувати ярлики",desc:"Відображати розділ ярликів у панелі навігації."},shortcutBadgeDisplay:{name:"Значок ярлика",desc:"Що відображати біля ярликів. Використовуйте команди 'Відкрити ярлик 1-9' для прямого відкриття ярликів.",options:{index:"Позиція (1-9)",count:"Кількість елементів",none:"Немає"}},showRecentNotes:{name:"Показувати останні файли",desc:"Відображати розділ останніх файлів у панелі навігації."},hideRecentNotes:{name:"Приховати типи файлів з останніх файлів",desc:"Оберіть типи файлів для приховування в розділі останніх файлів.",options:{none:"Жодного",folderNotes:"Нотатки папок"}},recentNotesCount:{name:"Кількість останніх файлів",desc:"Кількість останніх файлів для відображення."},pinRecentNotesWithShortcuts:{name:"Закріпити останні файли разом з ярликами",desc:"Включати останні файли при закріпленні ярликів."},calendarEnabled:{name:"Увімкнути календар",desc:"Увімкнути функції календаря в Notebook Navigator."},calendarPlacement:{name:"Розташування календаря",desc:"Відображати на лівій або правій бічній панелі.",options:{leftSidebar:"Ліва бічна панель",rightSidebar:"Права бічна панель"}},calendarLeftPlacement:{name:"Розташування в режимі однієї панелі",desc:"Де відображається календар у режимі однієї панелі.",options:{navigationPane:"Панель навігації",below:"Під панелями"}},calendarLocale:{name:"Мова",desc:"Керує форматуванням дат у календарі, нумерацією тижнів та першим днем тижня.",weekPathMismatchWarning:"Видимий календар і шляхи щотижневих нотаток використовують різні початки тижня або різну нумерацію тижнів.",options:{systemDefault:"За замовчуванням"}},calendarWeekendDays:{name:"Вихідні дні",desc:"Показувати вихідні дні з іншим кольором фону.",options:{none:"Немає",satSun:"Субота та неділя",friSat:"П'ятниця та субота",thuFri:"Четвер та п'ятниця"}},calendarMonthHeadingFormat:{name:"Формат назви місяця",desc:"Повна (січень) або скорочена (січ) назва місяця.",options:{full:"січень (повна)",short:"січ (коротка)"}},showInfoButtons:{name:"Показати кнопки інформації",desc:"Відображати кнопки інформації в рядку пошуку та заголовку календаря."},calendarWeeksToShow:{name:"Тижнів для показу на лівій бічній панелі",desc:"Календар на правій бічній панелі завжди відображає повний місяць.",options:{fullMonth:"Повний місяць",oneWeek:"1 тиждень",weeksCount:"{count} тижнів"}},calendarHighlightToday:{name:"Виділяти сьогоднішню дату",desc:"Виділяти сьогоднішню дату кольором фону та жирним текстом."},calendarShowFeatureImage:{name:"Показати обкладинку",desc:"Відображати зображення-обкладинки нотаток у календарі."},calendarShowWeekNumber:{name:"Показати номер тижня",desc:"Додати колонку з номером тижня."},calendarShowQuarter:{name:"Показати квартал",desc:"Додати мітку кварталу в заголовок календаря."},calendarShowYearCalendar:{name:"Показати річний календар",desc:"Відображати навігацію по роках і сітку місяців у правій бічній панелі."},calendarConfirmBeforeCreate:{name:"Підтвердити перед створенням",desc:"Показати діалог підтвердження при створенні нової щоденної нотатки."},calendarIntegrationMode:{name:"Джерело щоденних нотаток",desc:"Джерело для нотаток календаря.",options:{dailyNotes:"Щоденні нотатки (основний плагін)",notebookNavigator:"Notebook Navigator"},info:{dailyNotes:"Папка та формат дати налаштовуються в плагіні Daily Notes."}},calendarPeriodicNotesLocale:{name:"Мова періодичних нотаток",desc:"Керує локалізованими назвами місяців, назвами днів тижня, номерами тижнів і початками тижнів у шляхах періодичних нотаток Notebook Navigator.",options:{calendar:"Календар",obsidian:"Obsidian"}},calendarCustomRootFolder:{name:"Коренева папка",desc:"Базова папка для періодичних нотаток. Шаблони дат можуть включати підпапки. Змінюється з вибраним профілем сховища.",placeholder:"Personal/Diary"},calendarTemplateFolder:{name:"Розташування папки шаблонів",desc:"Вибір файлу шаблону показує нотатки з цієї папки.",placeholder:"Templates",usage:"Використовується нотатками календаря та нотатками папок. Налаштуйте шаблони в Календар > Інтеграція з календарем і Папки та нотатки папок > Файли нотаток папок."},calendarCustomFilePattern:{name:"Щоденні нотатки",desc:"Формат шляху з використанням формату дати Moment. Беріть назви підпапок у квадратні дужки, напр. [Work]/YYYY. Натисніть на іконку шаблону, щоб задати шаблон. Вкажіть розташування теки шаблонів у Операції з файлами > Шаблони.",momentDescPrefix:"Формат шляху з використанням ",momentLinkText:"формату дати Moment",momentDescSuffix:". Беріть назви підпапок у квадратні дужки, напр. [Work]/YYYY. Натисніть на іконку шаблону, щоб задати шаблон. Вкажіть розташування теки шаблонів у Операції з файлами > Шаблони.",templaterSupportInstalled:"✅ Плагін Templater встановлено з повною підтримкою шаблонів.",templaterSupportMissing:"⚠️ Установіть плагін Templater для повної підтримки шаблонів.",placeholder:"YYYY/YYYYMMDD",example:"Поточний синтаксис: {path}",parsingError:"Шаблон має форматуватися і знову розбиратися як повна дата (рік, місяць, день)."},calendarCustomWeekPattern:{name:"Щотижневі нотатки",parsingError:"Шаблон має форматуватися і знову розбиратися як повний тиждень (рік тижня, номер тижня).",weekPathMismatchWarning:'Шляхи щотижневих нотаток використовують мову періодичних нотаток. Використовуйте відповідні мови або використовуйте "GGGG" з "WW" для тижнів, що починаються з понеділка.',mixedWeekTokensWarning:'Цей шаблон змішує токени тижня, що починається з понеділка ("W" або "G"), з токенами тижня на основі мови ("w" або "g"). Використовуйте один набір послідовно: "GGGG" з "WW" для тижнів, що починаються з понеділка, або "gggg" з "ww", якщо щотижневі нотатки мають відповідати обраній мові.'},calendarCustomMonthPattern:{name:"Щомісячні нотатки",parsingError:"Шаблон має форматуватися і знову розбиратися як повний місяць (рік, місяць)."},calendarCustomQuarterPattern:{name:"Квартальні нотатки",parsingError:"Шаблон має форматуватися і знову розбиратися як повний квартал (рік, квартал)."},calendarCustomYearPattern:{name:"Річні нотатки",parsingError:"Шаблон має форматуватися і знову розбиратися як повний рік (рік)."},calendarTemplateFile:{current:"Файл шаблону: {name}"},showTooltips:{name:"Показувати підказки",desc:"Відображати підказки при наведенні з додатковою інформацією для нотаток і папок."},showTooltipPath:{name:"Показувати шлях у підказках",desc:"Відображати шлях папки під назвами нотаток у підказках."},showTooltipWordCount:{name:"Показувати кількість слів у підказках",desc:"Відображати кількість слів у нотатках у підказках."},resetPaneSeparator:{name:"Скинути позицію роздільника панелей",desc:"Скинути перетягуваний роздільник між панеллю навігації та панеллю списку до позиції за замовчуванням.",buttonText:"Скинути роздільник",notice:"Позицію роздільника скинуто. Перезапустіть Obsidian або відкрийте Notebook Navigator знову для застосування."},settingsTransfer:{name:"Імпорт та експорт налаштувань",desc:"Експорт або імпорт налаштувань Notebook Navigator у форматі JSON. Імпорт замінює всі налаштування.",importButtonText:"Імпорт",exportButtonText:"Експорт",import:{modalTitle:"Імпорт налаштувань",fileButtonName:"Імпорт з файлу",fileButtonDesc:"Завантажити JSON-файл з диска.",fileButtonText:"Імпорт з файлу",editorName:"JSON",editorDesc:"Вставте або відредагуйте JSON нижче. Не включені налаштування скидаються до значень за замовчуванням.",placeholder:`{
  "folderSortOrder": "alpha-desc"
}`,confirmButtonText:"Імпортувати",successNotice:"Налаштування імпортовано.",errorNotice:"Не вдалося імпортувати налаштування: {message}",fileReadError:"Не вдалося прочитати файл: {message}"},export:{modalTitle:"Експорт налаштувань",editorName:"JSON",editorDesc:"Включено лише налаштування, що відрізняються від значень за замовчуванням.",placeholder:"{}",copyButtonText:"Копіювати до буфера обміну",downloadButtonText:"Завантажити",copyNotice:"Налаштування скопійовано до буфера обміну.",downloadNotice:"Налаштування експортовано.",downloadError:"Не вдалося завантажити налаштування: {message}"}},resetAllSettings:{name:"Скинути всі налаштування",desc:"Скинути всі налаштування Notebook Navigator до значень за замовчуванням.",buttonText:"Скинути всі налаштування",confirmTitle:"Скинути всі налаштування?",confirmMessage:"Це скине всі налаштування Notebook Navigator до значень за замовчуванням. Це не можна скасувати.",confirmButtonText:"Скинути всі налаштування",notice:"Усі налаштування скинуто. Перезапустіть Obsidian або відкрийте Notebook Navigator знову для застосування.",error:"Не вдалося скинути налаштування."},multiSelectModifier:{name:"Модифікатор множинного вибору",desc:"Виберіть, яка клавіша-модифікатор перемикає множинний вибір. При виборі Option/Alt натискання Cmd/Ctrl відкриває нотатки в новій вкладці.",options:{cmdCtrl:"Натискання Cmd/Ctrl",optionAlt:"Натискання Option/Alt"}},enterToOpenFiles:{name:"Натисніть Enter для відкриття файлів",desc:"Відкривати файли лише при натисканні Enter під час навігації клавіатурою у списку. У macOS це не дозволяє Enter перейменовувати файли."},shiftEnterOpenContext:{name:"Shift+Enter",desc:"Виберіть, чи Shift+Enter відкриває або перейменовує вибраний файл."},cmdEnterOpenContext:{name:"Cmd+Enter",desc:"Виберіть, чи Cmd+Enter відкриває або перейменовує вибраний файл."},ctrlEnterOpenContext:{name:"Ctrl+Enter",desc:"Виберіть, чи Ctrl+Enter відкриває або перейменовує вибраний файл."},mouseBackForwardAction:{name:"Кнопки «Назад»/«Вперед» миші",desc:"Дія кнопок «Назад» і «Вперед» миші на десктопі.",options:{none:"Використовувати системне значення",singlePaneSwitch:"Перемикання панелей (одна панель)",history:"Навігація по історії"}},fileVisibility:{name:"Показувати типи файлів (профіль сховища)",desc:"Фільтрувати, які типи файлів показуються в навігаторі. Типи файлів, не підтримувані Obsidian, можуть відкриватися в зовнішніх програмах.",options:{documents:"Документи (.md, .canvas, .base)",supported:"Підтримувані (відкриваються в Obsidian)",all:"Всі (можуть відкриватися зовні)"}},homepage:{name:"Домашня сторінка",desc:"Виберіть, що Notebook Navigator відкриває автоматично під час запуску.",current:"Поточний: {path}",chooseButton:"Вибрати файл",options:{none:"Немає",file:"Файл",dailyNote:"Щоденна нотатка",weeklyNote:"Щотижнева нотатка",monthlyNote:"Щомісячна нотатка",quarterlyNote:"Щоквартальна нотатка",yearlyNote:"Щорічна нотатка"},file:{name:"Домашня сторінка: Файл запуску",empty:"Файл не вибрано"},createMissing:{name:"Домашня сторінка: Створити нотатку, якщо її немає",desc:"Створює періодичну нотатку під час запуску або за командою, якщо її не існує."}},excludedNotes:{name:"Приховати нотатки за правилами властивостей (профіль сховища)",desc:"Список правил frontmatter, розділених комами. Використовуйте записи `key` або `key=value` (наприклад, status=done, published=true, archived).",placeholder:"status=done, published=true, archived"},excludedFileNamePatterns:{name:"Приховати файли (профіль сховища)",desc:"Список шаблонів імен файлів через кому для приховування. Підтримує символи підстановки * та шляхи / (наприклад, temp-*, *.png, /assets/*).",placeholder:"temp-*, *.png, /assets/*"},vaultProfiles:{name:"Профіль сховища",desc:"Профілі зберігають видимість типів файлів, приховані файли, приховані папки, приховані теги, правила властивостей для прихованих нотаток, ярлики та банер навігації. Перемикайте профілі із заголовка панелі навігації.",defaultName:"За замовчуванням",addButton:"Додати профіль",editProfilesButton:"Редагувати профілі",addProfileOption:"Додати профіль...",applyButton:"Застосувати",deleteButton:"Видалити профіль",addModalTitle:"Додати профіль",editProfilesModalTitle:"Редагувати профілі",addModalPlaceholder:"Назва профілю",deleteModalTitle:"Видалити {name}",deleteModalMessage:"Видалити {name}? Фільтри прихованих файлів, папок, тегів та нотаток на основі властивостей, збережені в цьому профілі, будуть видалені.",moveUp:"Перемістити вгору",moveDown:"Перемістити вниз",errors:{emptyName:"Введіть назву профілю",duplicateName:"Назва профілю вже існує"}},vaultTitle:{name:"Розташування назви сховища",desc:"Виберіть, де відображається назва сховища.",options:{header:"Показати в заголовку",navigation:"Показати на панелі навігації"}},excludedFolders:{name:"Приховати папки (профіль сховища)",desc:"Список папок для приховування, розділених комами. Шаблони назв: assets* (папки, що починаються з assets), *_temp (закінчуються на _temp). Шаблони шляхів: /archive (лише кореневий архів), /res* (кореневі папки, що починаються з res), /*/temp (папки temp на один рівень вглиб), /projects/* (всі папки всередині projects).",placeholder:"шаблони, assets*, /архів, /res*"},showFileDate:{name:"Показувати дату",desc:"Відображати дату під назвами нотаток."},alphabeticalDateMode:{name:"При сортуванні за назвою",desc:"Дата для показу при алфавітному сортуванні нотаток.",options:{created:"Дата створення",modified:"Дата зміни"}},showFileTags:{name:"Показувати теги файлів",desc:"Відображати клікабельні теги в елементах файлів."},showFileTagAncestors:{name:"Показувати повні шляхи тегів",desc:"Відображати повні шляхи ієрархії тегів. При увімкненні: 'ai/openai', 'робота/проекти/2024'. При вимкненні: 'openai', '2024'."},colorFileTags:{name:"Розфарбовувати теги файлів",desc:"Застосовувати кольори тегів до значків тегів на елементах файлів."},prioritizeColoredFileTags:{name:"Показувати кольорові теги першими",desc:"Сортувати кольорові теги перед іншими тегами на елементах файлів."},showFileTagsInCompactMode:{name:"Показувати теги файлів у компактному режимі",desc:"Відображати теги, коли дата, попередній перегляд та зображення приховані."},showFileProperties:{name:"Показувати властивості файлів",desc:"Відображати властивості в елементах файлів. Використовуйте вікно «Видимість ключів властивостей», щоб вибрати, які властивості відображаються."},colorFileProperties:{name:"Забарвлювати властивості файлів",desc:"Застосовувати кольори властивостей до значків властивостей на елементах файлів."},prioritizeColoredFileProperties:{name:"Показувати кольорові властивості першими",desc:"Сортувати кольорові властивості перед іншими властивостями на елементах файлів."},showFilePropertiesInCompactMode:{name:"Показувати властивості в компактному режимі",desc:"Відображати властивості при активному компактному режимі."},textCountDisplay:{name:"Тип лічильника",desc:"Виберіть, які лічильники нотаток відображаються в елементах файлів.",options:{none:"Немає",words:"Кількість слів",characters:"Кількість символів",both:"Кількість слів і символів"}},textCountPlacement:{name:"Розміщення",desc:"Виберіть, де відображаються лічильники нотаток.",options:{title:"У заголовку",property:"Як властивість"}},characterCountSpaces:{name:"Кількість символів",desc:"Виберіть, чи враховувати пробіли в кількості символів.",options:{include:"З пробілами",exclude:"Без пробілів"}},wordCountTargetProperty:{name:"Цільова властивість",desc:"Ключ властивості frontmatter із цільовою кількістю слів. Залиште порожнім, щоб приховати цілі."},showWordCountPercentage:{name:"Показувати відсоток цілі",desc:"Показувати лише відсоток прогресу, коли доступна цільова кількість слів."},propertyFields:{name:"Ключі властивостей (профіль сховища)",desc:"Ключі властивостей метаданих з налаштуванням видимості для кожного ключа в навігації та списку файлів.",addButtonTooltip:"Налаштувати ключі властивостей",noneConfigured:"Властивості не налаштовані",singleConfigured:"1 властивість налаштована: {properties}",multipleConfigured:"{count} властивостей налаштовано: {properties}"},showPropertiesOnSeparateRows:{name:"Показувати властивості в окремих рядках",desc:"Показувати кожну властивість у власному рядку."},enablePropertyInternalLinks:{name:"Пов'язати мітки властивостей із нотатками",desc:"Натисніть на мітку властивості, щоб відкрити пов'язану нотатку."},enablePropertyExternalLinks:{name:"Пов'язати мітки властивостей із URL-адресами",desc:"Натисніть на мітку властивості, щоб відкрити пов'язану URL-адресу."},dateFormat:{name:"Формат дати",desc:"Формат для відображення дат (використовує формат Moment).",placeholder:"D MMM YYYY",help:`Поширені формати:
D MMM YYYY = 25 тра 2022
DD/MM/YYYY = 25/05/2022
YYYY-MM-DD = 2022-05-25

Токени:
YYYY/YY = рік
MMMM/MMM/MM = місяць
DD/D = день
dddd/ddd = день тижня`,helpTooltip:"Формат Moment",momentLinkText:"формат Moment"},timeFormat:{name:"Формат часу",desc:"Формат для відображення часу (використовує формат Moment).",placeholder:"HH:mm",help:`Поширені формати:
h:mm a = 2:30 PM (12-годинний)
HH:mm = 14:30 (24-годинний)
h:mm:ss a = 2:30:45 PM
HH:mm:ss = 14:30:45

Токени:
HH/H = 24-годинний
hh/h = 12-годинний
mm = хвилини
ss = секунди
a = AM/PM`,helpTooltip:"Формат Moment",momentLinkText:"формат Moment"},showFilePreview:{name:"Показувати попередній перегляд нотатки",desc:"Відображати текст попереднього перегляду під назвами нотаток."},skipHeadingsInPreview:{name:"Пропускати заголовки в попередньому перегляді",desc:"Пропускати рядки заголовків при генерації тексту попереднього перегляду."},skipCodeBlocksInPreview:{name:"Пропускати блоки коду в попередньому перегляді",desc:"Пропускати блоки коду при генерації тексту попереднього перегляду."},stripHtmlInPreview:{name:"Видаляти HTML у попередньому перегляді",desc:"Видаляти HTML-теги з тексту попереднього перегляду. Може впливати на продуктивність у великих нотатках."},stripLatexInPreview:{name:"Видаляти LaTeX у попередньому перегляді",desc:"Видаляти вбудовані та блокові вирази LaTeX з тексту попереднього перегляду."},previewProperties:{name:"Властивості попереднього перегляду",desc:"Список властивостей frontmatter для перевірки на текст попереднього перегляду, розділених комами. Буде використано першу властивість з текстом.",placeholder:"summary, description, abstract"},previewPropertiesFallback:{name:"Повернутися до вмісту нотатки",desc:"Показувати вміст нотатки як попередній перегляд, коли жодна із зазначених властивостей не містить тексту."},previewRows:{name:"Рядки попереднього перегляду",desc:"Кількість рядків для відображення тексту попереднього перегляду.",options:{1:"1 рядок",2:"2 рядки",3:"3 рядки",4:"4 рядки",5:"5 рядків"}},fileNameRows:{name:"Рядки заголовка",desc:"Кількість рядків для відображення заголовків нотаток.",options:{1:"1 рядок",2:"2 рядки",3:"3 рядки"}},useFolderColor:{name:"Використовувати колір папки",desc:"Забарвлювати заголовки нотаток та значки файлів кольором батьківської папки, коли не задано користувацький колір файлу. Пріоритет: користувацький колір файлу > колір папки > колір за замовчуванням."},showFeatureImage:{name:"Показувати головне зображення",desc:"Відображає мініатюру першого зображення у нотатці."},forceSquareFeatureImage:{name:"Примусово квадратне головне зображення",desc:"Відображати головні зображення як квадратні мініатюри."},featureImageProperties:{name:"Властивості зображення",desc:"Список властивостей frontmatter, розділених комами, для перевірки в першу чергу. При відсутності використовується перше зображення з вмісту markdown.",placeholder:"мініатюра, featureResized, feature"},featureImageExcludeProperties:{name:"Виключити нотатки з властивостями",desc:"Список властивостей frontmatter, розділених комами. Нотатки, що містять будь-яку з цих властивостей, не зберігають головні зображення.",placeholder:"private, confidential"},featureImageSize:{name:"Розмір відображення зображення-обкладинки",desc:"Максимальний розмір відображення зображень-обкладинок у списках нотаток.",options:{standard:"64 px",large:"96 px",extraLarge:"128 px"}},featureImagePixelSize:{name:"Піксельний розмір зображення-обкладинки",desc:"Роздільна здатність, що використовується при створенні збережених мініатюр зображень-обкладинок. Збільшіть це значення, якщо великі попередні перегляди виглядають розмитими.",options:{standard:"256 x 144 px",large:"384 x 216 px",extraLarge:"512 x 288 px"}},downloadExternalFeatureImages:{name:"Завантажувати зовнішні зображення",desc:"Завантажувати віддалені зображення та мініатюри YouTube для обкладинок."},hideDrawingPreviewImages:{name:"Сховати експортовані зображення попереднього перегляду",desc:"Приховує експортовані PNG-файли попереднього перегляду малюнків. Увімкніть «Показати приховані елементи», щоб відобразити їх."},drawingIntegrationInfo:{intro:"Notebook Navigator показує PNG-файли, експортовані Excalidraw, як попередній перегляд малюнків.",items:["У **налаштуваннях Excalidraw** відкрийте **Embedding Excalidraw into your Notes and Exporting**, потім **Export Settings**, потім **Auto-export Settings**.","Увімкніть **Auto-export PNG**. За бажанням увімкніть **Export both dark- and light-themed image**.","Notebook Navigator шукає **Drawing.excalidraw.png**, **Drawing.excalidraw.dark.png** або **Drawing.excalidraw.light.png**.","Поки увімкнено **Сховати експортовані зображення попереднього перегляду**, PNG-файли видно лише тоді, коли також увімкнено **Показати приховані елементи**."]},showRootFolder:{name:"Показувати кореневу папку",desc:"Відображати назву сховища як кореневу папку в дереві."},showFolderIcons:{name:"Показувати іконки папок",desc:"Відображати іконки поряд з папками в панелі навігації."},inheritFolderColors:{name:"Успадковувати кольори папок",desc:"Дочірні папки успадковують колір від батьківських папок."},folderSortOrder:{name:"Порядок сортування папок",desc:"Клацніть правою кнопкою миші на папці, щоб задати інший порядок сортування для її дочірніх елементів.",options:{alphaAsc:"Від А до Я",alphaDesc:"Від Я до А"}},showNoteCount:{name:"Показувати кількість нотаток",desc:"Відображати кількість нотаток поряд з папками, тегами та властивостями."},showSectionIcons:{name:"Показувати іконки для ярликів та останніх елементів",desc:"Відображати іконки поруч з елементами в розділах Ярлики та Останні."},interfaceIcons:{name:"Іконки інтерфейсу",desc:"Редагувати іконки панелі інструментів, папок, тегів, властивостей, закріплених, пошуку та сортування.",buttonText:"Редагувати іконки"},showIconsColorOnly:{name:"Застосовувати колір лише до іконок",desc:"При увімкненні користувацькі кольори застосовуються лише до іконок. При вимкненні кольори застосовуються як до іконок, так і до текстових міток."},navRainbowMode:{name:"Режим кольорів веселки (профіль сховища)",desc:"Застосувати кольори веселки в панелі навігації.",options:{none:"Вимк.",foreground:"Колір тексту",background:"Колір фону"}},navRainbowFirstColor:{name:"Перший колір",desc:"Перший колір у градієнті веселки."},navRainbowLastColor:{name:"Останній колір",desc:"Останній колір у градієнті веселки."},navRainbowTransitionStyle:{name:"Стиль переходу",desc:"Інтерполяція між першим і останнім кольором.",options:{hue:"Тон",rgb:"RGB"}},navRainbowApplyToShortcuts:{name:"Застосувати до ярликів",desc:"Застосувати кольори веселки до ярликів."},navRainbowApplyToRecent:{name:"Застосувати до нещодавніх елементів",desc:"Застосувати кольори веселки до нещодавніх елементів."},navRainbowApplyToFolders:{name:"Застосувати до папок",desc:"Застосувати кольори веселки до папок."},navRainbowFolderScope:{name:"Область папок",desc:"Вибрати рівні папок для початку призначення кольорів.",options:{root:"Кореневий рівень",child:"Дочірній рівень",all:"Кожний рівень"}},navRainbowApplyToTags:{name:"Застосувати до тегів",desc:"Застосувати кольори веселки до тегів."},navRainbowTagScope:{name:"Область тегів",desc:"Вибрати рівні тегів для початку призначення кольорів.",options:{root:"Кореневий рівень",child:"Дочірній рівень",all:"Кожний рівень"}},navRainbowApplyToProperties:{name:"Застосувати до властивостей",desc:"Застосувати кольори веселки до властивостей."},navRainbowBalanceHueLuminance:{name:"Рівномірна яскравість між відтінками",desc:"Інтерполює яскравість між початковим і кінцевим кольорами під час переходів відтінків."},navRainbowSeparateThemeColors:{name:"Окремі кольори для світлого і темного режимів",desc:"Використовувати різні кольори веселки для світлого і темного режимів."},navRainbowCopyLightToDark:"Копіювати колір світлого режиму в темний режим",navRainbowPropertyScope:{name:"Область властивостей",desc:"Вибрати рівні властивостей для початку призначення кольорів.",options:{root:"Кореневий рівень",child:"Дочірній рівень",all:"Кожний рівень"}},collapseBehavior:{name:"Згортати елементи",desc:"Виберіть, на що впливає кнопка розгортання/згортання всього.",options:{all:"Все",foldersOnly:"Лише папки",tagsOnly:"Лише теги",propertiesOnly:"Лише властивості"}},smartCollapse:{name:"Тримати вибраний елемент розгорнутим",desc:"При згортанні тримати вибраний елемент та його батьків розгорнутими."},excludeVaultRootFromCollapse:{name:"Пропускати корінь сховища під час згортання",desc:"Під час згортання всіх елементів залишати кореневу папку сховища в поточному стані."},navIndent:{name:"Відступ дерева",desc:"Налаштувати ширину відступу для вкладених папок, тегів і властивостей (у пікселях)."},navItemHeight:{name:"Висота елемента",desc:"Налаштувати висоту папок, тегів і властивостей у панелі навігації (у пікселях)."},navItemHeightScaleText:{name:"Масштабувати текст з висотою елемента",desc:"Зменшувати розмір тексту навігації при зменшенні висоти елемента."},showIndentGuides:{name:"Показати напрямні відступів",desc:"Відображати напрямні відступів для вкладених папок, тегів і властивостей."},navCountLeaderStyle:{name:"Показати заповнювачі",desc:"Відображати крапки, тире або лінію між назвами елементів і кількістю нотаток.",options:{none:"Немає",dots:"Крапки (...)",dashes:"Тире (---)",line:"Лінія"}},navRootSpacing:{name:"Відступ кореневих елементів",desc:"Відстань між папками, тегами та властивостями кореневого рівня (у пікселях)."},showTags:{name:"Показувати теги",desc:"Відображати розділ тегів в навігаторі."},showTagIcons:{name:"Показувати іконки тегів",desc:"Відображати іконки поряд з тегами в панелі навігації."},inheritTagColors:{name:"Успадковувати кольори тегів",desc:"Дочірні теги успадковують колір від батьківських тегів."},tagSortOrder:{name:"Порядок сортування тегів",desc:"Клацніть правою кнопкою миші на тезі, щоб задати інший порядок сортування для її дочірніх елементів.",options:{alphaAsc:"Від А до Я",alphaDesc:"Від Я до А",frequency:"За частотою",lowToHigh:"від низької до високої",highToLow:"від високої до низької"}},showAllTagsFolder:{name:"Показувати папку тегів",desc:'Відображати "Теги" як згортувану папку.'},showUntagged:{name:"Показувати нотатки без тегів",desc:'Відображати елемент "Без тегів" для нотаток без жодних тегів.'},scopeTagsToCurrentContext:{name:"Фільтрувати теги за вибором",desc:"Показувати лише теги, що зустрічаються в нотатках у вибраній папці або властивості."},keepEmptyTagsProperty:{name:"Зберігати властивість tags після видалення останнього тегу",desc:"Зберігати властивість tags у frontmatter, коли всі теги видалено. При вимкненні властивість tags видаляється з frontmatter."},showProperties:{name:"Показати властивості",desc:"Відображати розділ властивостей у навігаторі.",propertyKeysInfoPrefix:"Налаштувати властивості в ",propertyKeysInfoLinkText:"Початок > Ключі властивостей",propertyKeysInfoSuffix:""},showPropertyIcons:{name:"Показати значки властивостей",desc:"Відображати значки поряд із властивостями на панелі навігації."},inheritPropertyColors:{name:"Успадковувати кольори властивостей",desc:"Значення властивостей успадковують колір та фон від ключа властивості."},propertySortOrder:{name:"Порядок сортування властивостей",desc:"Клацніть правою кнопкою миші на властивість, щоб задати інший порядок сортування її значень.",options:{alphaAsc:"А до Я",alphaDesc:"Я до А",frequency:"Частота",lowToHigh:"за зростанням",highToLow:"за спаданням"}},showAllPropertiesFolder:{name:"Показати папку властивостей",desc:"Відображати «Властивості» як згортувану папку."},scopePropertiesToCurrentContext:{name:"Фільтрувати властивості за вибором",desc:"Показувати лише властивості, що зустрічаються в нотатках у вибраній папці або тезі."},hiddenTags:{name:"Приховати теги (профіль сховища)",desc:"Список шаблонів тегів, розділених комами. Шаблони назв: тег* (починається з), *тег (закінчується на). Шаблони шляхів: архів (тег і нащадки), архів/* (лише нащадки), проекти/*/чернетки (символ підстановки посередині).",placeholder:"архів*, *чернетка, проекти/*/старі"},hiddenFileTags:{name:"Приховати нотатки з тегами (профіль сховища)",desc:"Comma-separated list of tag patterns. Notes containing matching tags are hidden. Name patterns: tag* (starting with), *tag (ending with). Path patterns: archive (tag and descendants), archive/* (descendants only), projects/*/drafts (mid-segment wildcard).",placeholder:"archive*, *draft, projects/*/old"},enableFolderNotes:{name:"Увімкнути нотатки папок",desc:"Теки з відповідним файлом нотатки відображаються як клікабельні посилання."},folderNoteType:{name:"Тип нотатки папки за замовчуванням",desc:"Тип нотатки папки, створеної з контекстного меню.",options:{ask:"Запитувати при створенні",markdown:"Markdown",canvas:"Canvas",base:"Base"}},folderNoteName:{name:"Назва нотатки папки",desc:"Назва нотатки папки без розширення. Залиште порожнім для використання тієї ж назви, що й у папки.",placeholder:"index"},folderNoteNamePattern:{name:"Шаблон назви нотатки теки",desc:"Шаблон імені нотаток теки без розширення. Використовуйте {{folder}} для вставки імені теки. Якщо задано, ім'я нотатки теки не застосовується."},folderNoteTemplate:{name:"Шаблон нотатки теки",desc:"Файл шаблону, який використовується під час створення нотаток тек. Шаблони Markdown можуть використовувати Templater. Шаблони Canvas і Base копіюються як вміст файлу. Вкажіть розташування теки шаблонів у Операції з файлами > Шаблони.",formatWarning:"Формат шаблону має відповідати вибраному типу нотатки теки: .md, .canvas або .base."},enableFolderNoteLinks:{name:"Назви папок відкривають нотатки папок",desc:"Натискання назви папки відкриває її нотатку папки. Коли вимкнено, нотатки папок надають лише метадані папки, як-от назву, значок і колір."},hideFolderNoteInList:{name:"Приховувати нотатку папки в списку",desc:"Приховати нотатки тек зі списку файлів."},pinCreatedFolderNote:{name:"Закріплювати створені нотатки папок",desc:"Закріплювати нотатки тек при створенні з контекстного меню."},folderNoteOpenLocation:{name:"Відкривати нотатки папок у",desc:"Виберіть, де відкривати нотатки папок під час натискання посилань нотаток папок.",options:{currentTab:"Поточна вкладка",newTab:"Нова вкладка",rightSidebar:"Права бічна панель"}},showNearestFolderNoteInSidebar:{name:"Права бічна панель: показувати найближчу нотатку папки",desc:"Коли вибрано папку, права бічна панель автоматично показує найближчу батьківську нотатку папки."},confirmBeforeDelete:{name:"Підтверджувати перед видаленням",desc:"Показувати діалог підтвердження при видаленні нотаток або папок"},deleteAttachments:{name:"Видаляти вкладення при видаленні файлів",desc:"Автоматично видаляти пов'язані вкладення та згенеровані попередні перегляди малюнків, якщо вони не використовуються в іншому місці",options:{ask:"Запитувати щоразу",always:"Завжди",never:"Ніколи"}},moveFileConflicts:{name:"Конфлікти переміщення",desc:"При переміщенні файлу до теки, де вже існує файл з такою ж назвою. Запитувати щоразу (перейменувати, перезаписати, скасувати) або завжди перейменовувати.",options:{ask:"Запитувати щоразу",rename:"Завжди перейменовувати"}},metadataCleanup:{name:"Очистити метадані",desc:"Видаляє осиротілі метадані, залишені після видалення, переміщення або перейменування файлів, папок, тегів або властивостей поза Obsidian. Це впливає лише на файл налаштувань Notebook Navigator.",buttonText:"Очистити метадані",error:"Очищення налаштувань не вдалося",loading:"Перевірка метаданих...",statusClean:"Немає метаданих для очищення",statusCounts:"Осиротілі елементи: {folders} папок, {tags} тегів, {properties} властивостей, {files} файлів, {pinned} закріплень, {separators} роздільників"},rebuildCache:{name:"Перебудувати кеш",desc:"Використовуйте, якщо у вас зникають теги, неправильні попередні перегляди або відсутні головні зображення. Це може статися після конфліктів синхронізації або неочікуваних закриттів.",buttonText:"Перебудувати кеш",error:"Не вдалося перебудувати кеш",indexingTitle:"Індексація сховища...",progress:"Оновлення кешу Notebook Navigator."},externalIcons:{downloadButton:"Завантажити",downloadingLabel:"Завантаження...",removeButton:"Вилучити",statusInstalled:"Завантажено (версія {version})",statusNotInstalled:"Не завантажено",versionUnknown:"невідомо",downloadFailed:"Не вдалося завантажити {name}. Перевірте з'єднання та спробуйте знову.",removeFailed:"Не вдалося вилучити {name}.",infoNote:"Завантажені пакети іконок синхронізують стан встановлення між пристроями. Пакети іконок залишаються в локальній базі даних на кожному пристрої; синхронізація лише відстежує, чи завантажувати або вилучати їх. Пакети іконок завантажуються з репозиторію Notebook Navigator (https://github.com/johansan/notebook-navigator/tree/main/icon-assets)."},useFrontmatterDates:{name:"Використовувати метадані frontmatter",desc:"Використовувати frontmatter для назви нотатки, часових міток, іконок та кольорів"},frontmatterIconField:{name:"Поле іконки",desc:"Поле frontmatter для іконок файлів. Залиште порожнім для використання іконок, збережених у налаштуваннях.",placeholder:"icon"},frontmatterColorField:{name:"Поле кольору",desc:"Поле frontmatter для кольорів файлів. Залиште порожнім для використання кольорів, збережених у налаштуваннях.",placeholder:"color"},frontmatterBackgroundField:{name:"Поле фону",desc:"Поле frontmatter для кольорів фону. Залиште порожнім для використання кольорів фону, збережених у налаштуваннях.",placeholder:"background"},frontmatterMigration:{name:"Перенести іконки та кольори з налаштувань",desc:"Збережено в налаштуваннях: {icons} іконок, {colors} кольорів.",button:"Перенести",buttonWorking:"Перенесення...",noticeNone:"Немає іконок або кольорів файлів, збережених у налаштуваннях.",noticeDone:"Перенесено {migratedIcons}/{icons} іконок, {migratedColors}/{colors} кольорів.",noticeFailures:"Невдалі записи: {failures}.",noticeError:"Перенесення не вдалося. Перевірте консоль для деталей."},frontmatterNameField:{name:"Поля назви",desc:"Список полів frontmatter через кому. Використовується перше непорожнє значення. Повертається до назви файлу.",placeholder:"title, name"},frontmatterCreatedField:{name:"Поле часової мітки створення",desc:"Назва поля frontmatter для часової мітки створення. Залиште порожнім для використання лише дати файлової системи.",placeholder:"created"},frontmatterModifiedField:{name:"Поле часової мітки зміни",desc:"Назва поля frontmatter для часової мітки зміни. Залиште порожнім для використання лише дати файлової системи.",placeholder:"modified"},frontmatterDateFormat:{name:"Формат часової мітки",desc:"Формат для розбору часових міток у frontmatter. Залиште порожнім для використання парсингу ISO 8601.",helpTooltip:"Формат Moment",momentLinkText:"формат Moment",help:`Поширені формати:
YYYY-MM-DD[T]HH:mm:ss → 2025-01-04T14:30:45
YYYY-MM-DD[T]HH:mm:ssZ → 2025-08-07T16:53:39+02:00
DD/MM/YYYY HH:mm:ss → 04/01/2025 14:30:45
MM/DD/YYYY h:mm:ss a → 01/04/2025 2:30:45 PM`},supportDevelopment:{name:"Підтримати розробку",desc:"Якщо вам подобається використовувати Notebook Navigator, будь ласка, розгляньте можливість підтримки його подальшої розробки.",buttonText:"❤️ Спонсорувати",coffeeButton:"☕️ Купити мені каву"},updateCheckOnStart:{name:"Перевіряти нову версію при запуску",desc:"Перевіряє нові релізи плагіна при запуску та показує сповіщення, коли доступне оновлення. Перевірки відбуваються не частіше одного разу на день.",status:"Доступна нова версія: {version}"},debugLogging:{name:"Журнал налагодження запуску",desc:"Записує діагностику запуску у Markdown-файл із часовою міткою в корені сховища, а потім зупиняється після стабілізації запуску. Файл може синхронізуватися та містити шляхи до файлів."},whatsNew:{name:"Що нового в Notebook Navigator {version}",desc:"Перегляньте останні оновлення та покращення",buttonText:"Переглянути останні оновлення"},masteringVideo:{name:"Опанування Notebook Navigator (відео)",desc:"Це відео охоплює все, що потрібно для продуктивної роботи з Notebook Navigator, включаючи гарячі клавіші, пошук, теги та розширене налаштування."},cacheStatistics:{localCache:"Локальний кеш",items:"елементів",withTags:"з тегами",withPreviewText:"з текстом попереднього перегляду",withFeatureImage:"з головним зображенням",withMetadata:"з метаданими"},metadataInfo:{successfullyParsed:"Успішно розібрано",itemsWithName:"елементів з назвою",withCreatedDate:"з датою створення",withModifiedDate:"з датою зміни",withIcon:"з іконкою",withColor:"з кольором",failedToParse:"Не вдалося розібрати",createdDates:"дат створення",modifiedDates:"дат зміни",checkTimestampFormat:"Перевірте формат часової мітки.",exportFailed:"Експортувати помилки"}}},whatsNew:{title:"Що нового в Notebook Navigator",openBannerImage:"Відкрити зображення банера релізу",supportMessage:"Якщо Notebook Navigator корисний для вас, будь ласка, розгляньте можливість підтримки його розробки.",supportButton:"Купити мені каву",thanksButton:"Дякую!"}}});var oU={};In(oU,{STRINGS_VI:()=>rse});var rse,aU=U(()=>{rse={common:{cancel:"Hủy",delete:"Xóa",clear:"Xóa",remove:"Gỡ bỏ",restoreDefault:"Khôi phục mặc định",submit:"Gửi",save:"Lưu",configure:"Cấu hình",lightMode:"Chế độ sáng",darkMode:"Chế độ tối",noSelection:"Chưa chọn gì",untagged:"Không có thẻ",featureImageAlt:"Ảnh nổi bật",unknownError:"Lỗi không xác định",clipboardWriteError:"Không thể ghi vào clipboard",updateBannerTitle:"Có bản cập nhật Notebook Navigator",updateBannerInstruction:"Cập nhật trong Cài đặt -> Plugin cộng đồng",previous:"Trước",next:"Sau"},listPane:{emptyStateNoSelection:"Chọn một thư mục hoặc thẻ để xem ghi chú",emptyStateNoNotes:"Không có ghi chú",pinnedSection:"Đã ghim",notesSection:"Ghi chú",filesSection:"Tệp",hiddenItemAriaLabel:"{name} (ẩn)",collapseGroup:"Thu gọn nhóm",expandGroup:"Mở rộng nhóm",manualSortTitle:"Sắp xếp thủ công: {property}",manualSortHint:'Kéo để sắp xếp lại. Thứ tự được lưu dưới dạng giá trị chỉ số trong thuộc tính "{property}".',manualSortNonMarkdownHint:"Các tệp không phải Markdown được hiển thị ở dưới cùng và không thể sắp xếp lại.",unsortedSection:"Chưa sắp xếp",manualSortDone:"Xong",manualSortMultipleWriteFailure:"{count} tệp thất bại; đầu tiên: {path}: {message}"},tagList:{untaggedLabel:"Không có thẻ",tags:"Thẻ"},navigationPane:{shortcutsHeader:"Lối tắt",recentFilesHeader:"Tệp gần đây",properties:"Thuộc tính",reorderRootFoldersTitle:"Sắp xếp lại điều hướng",reorderRootFoldersHint:"Dùng mũi tên hoặc kéo để sắp xếp lại",vaultRootLabel:"Vault",resetRootToAlpha:"Đặt lại theo thứ tự bảng chữ cái",resetRootToFrequency:"Đặt lại theo tần suất",pinShortcuts:"Ghim lối tắt",pinShortcutsAndRecentFiles:"Ghim lối tắt và tệp gần đây",unpinShortcuts:"Bỏ ghim lối tắt",unpinShortcutsAndRecentFiles:"Bỏ ghim lối tắt và tệp gần đây",profileMenuAria:"Đổi hồ sơ vault"},navigationCalendar:{ariaLabel:"Lịch",dailyNotesNotEnabled:"Plugin ghi chú hàng ngày chưa được bật.",createDailyNote:{title:"Ghi chú hàng ngày mới",message:"Tệp {filename} không tồn tại. Bạn có muốn tạo không?",confirmButton:"Tạo"},helpModal:{title:"Phím tắt lịch",items:["Nhấp vào bất kỳ ngày nào để mở hoặc tạo ghi chú hàng ngày. Tuần, tháng, quý và năm hoạt động tương tự.","Chấm đặc dưới một ngày nghĩa là có ghi chú. Chấm rỗng nghĩa là có nhiệm vụ chưa hoàn thành.","Nếu ghi chú có ảnh nổi bật, nó sẽ hiển thị làm nền của ngày."],dateFilterCmdCtrl:"`Cmd/Ctrl`+nhấp vào ngày để lọc theo ngày đó trong danh sách tệp.",dateFilterOptionAlt:"`Option/Alt`+nhấp vào ngày để lọc theo ngày đó trong danh sách tệp."}},dailyNotes:{templateReadFailed:"Không thể đọc mẫu ghi chú hàng ngày.",createFailed:"Không thể tạo ghi chú hàng ngày."},shortcuts:{folderExists:"Thư mục đã có trong lối tắt",noteExists:"Ghi chú đã có trong lối tắt",tagExists:"Thẻ đã có trong lối tắt",propertyExists:"Thuộc tính đã có trong phím tắt",invalidProperty:"Phím tắt thuộc tính không hợp lệ",searchExists:"Lối tắt tìm kiếm đã tồn tại",emptySearchQuery:"Nhập truy vấn tìm kiếm trước khi lưu",emptySearchName:"Nhập tên trước khi lưu tìm kiếm",add:"Thêm vào lối tắt",addNotesCount:"Thêm {count} ghi chú vào lối tắt",addFilesCount:"Thêm {count} tệp vào lối tắt",rename:"Đổi tên lối tắt",remove:"Gỡ khỏi lối tắt",removeAll:"Xóa tất cả lối tắt",removeAllConfirm:"Xóa tất cả lối tắt?",folderNotesPinned:"Đã ghim {count} ghi chú thư mục"},paneHeader:{collapseAllFolders:"Thu gọn các mục",expandAllFolders:"Mở rộng tất cả các mục",showCalendar:"Hiển thị lịch",hideCalendar:"Ẩn lịch",newFolder:"Thư mục mới",newNote:"Ghi chú mới",mobileBackToNavigation:"Quay lại điều hướng",changeChildSortOrder:"Đổi thứ tự sắp xếp",changeSortAndGroup:"Đổi sắp xếp và nhóm",resetViewToDefaults:"Đặt lại chế độ xem về mặc định",manualSort:"Sắp xếp thủ công",editSortOrder:"Chỉnh sửa thứ tự sắp xếp...",removeSortProperty:"Xóa thuộc tính sắp xếp",descendants:"phần tử con",subfolders:"thư mục con",subtags:"thẻ con",childValues:"giá trị con",applySortAndGroupToDescendants:t=>`Áp dụng sắp xếp và nhóm cho ${t}`,applyAppearanceToDescendants:t=>`Áp dụng giao diện cho ${t}`,showFolders:"Hiện điều hướng",reorderRootFolders:"Sắp xếp lại điều hướng",finishRootFolderReorder:"Hoàn tất",showExcludedItems:"Hiện thư mục, thẻ và ghi chú ẩn",hideExcludedItems:"Ẩn thư mục, thẻ và ghi chú ẩn",showDualPane:"Hiện hai ngăn",showSinglePane:"Hiện một ngăn",dualPaneAutoFallbackNotice:'Không dùng được hai ngăn khi thanh bên quá hẹp. Để thay đổi, đặt "Khi thanh bên quá hẹp" thành "Không làm gì" trong Cài đặt > Giao diện & hành vi.',changeAppearance:"Đổi giao diện",showNotesFromSubfolders:"Hiện ghi chú từ thư mục con",showFilesFromSubfolders:"Hiện tập tin từ thư mục con",showNotesFromDescendants:"Hiện ghi chú từ phần tử con",showFilesFromDescendants:"Hiện tập tin từ phần tử con",search:"Tìm kiếm"},searchInput:{placeholder:"Tìm kiếm...",placeholderOmnisearch:"Omnisearch...",clearSearch:"Xóa tìm kiếm",switchToFilterSearch:"Chuyển sang tìm kiếm bộ lọc",switchToOmnisearch:"Chuyển sang Omnisearch",saveSearchShortcut:"Lưu lối tắt tìm kiếm",removeSearchShortcut:"Gỡ lối tắt tìm kiếm",shortcutModalTitle:"Lưu lối tắt tìm kiếm",shortcutNamePlaceholder:"Nhập tên lối tắt",shortcutStartIn:"Luôn bắt đầu trong: {path}",searchHelp:"Cú pháp tìm kiếm",searchHelpTitle:"Cú pháp tìm kiếm",searchHelpModal:{intro:"Kết hợp tên tệp, thuộc tính, thẻ, ngày và bộ lọc trong một truy vấn (ví dụ: `meeting .status=active #work @thisweek`). Cài đặt plugin Omnisearch để sử dụng tìm kiếm toàn văn.",introSwitching:"Chuyển đổi giữa tìm kiếm bộ lọc và Omnisearch bằng phím mũi tên lên/xuống hoặc nhấp vào biểu tượng tìm kiếm.",sections:{fileNames:{title:"Tên tệp",items:['`word` Tìm ghi chú có "word" trong tên tệp.',"`word1 word2` Mỗi từ phải khớp với tên tệp.",'`-word` Loại trừ ghi chú có "word" trong tên tệp.']},tags:{title:"Thẻ",items:["`#tag` Bao gồm ghi chú có thẻ (cũng khớp với thẻ lồng nhau như `#tag/subtag`).","`#` Chỉ bao gồm ghi chú có thẻ.","`-#tag` Loại trừ ghi chú có thẻ.","`-#` Chỉ bao gồm ghi chú không có thẻ.","`#tag1 #tag2` Khớp cả hai thẻ (AND ngầm định).","`#tag1 AND #tag2` Khớp cả hai thẻ (AND rõ ràng).","`#tag1 OR #tag2` Tìm một trong các thẻ.","`#a OR #b AND #c` AND có độ ưu tiên cao hơn: khớp `#a`, hoặc cả `#b` và `#c`.","Cmd/Ctrl+Nhấp vào thẻ để thêm với AND. Cmd/Ctrl+Shift+Nhấp để thêm với OR."]},properties:{title:"Thuộc tính",items:["`.key` Bao gồm ghi chú có khóa thuộc tính.","`.key=value` Bao gồm ghi chú có giá trị thuộc tính chứa `value`.",'`."Reading Status"` Bao gồm ghi chú có khóa thuộc tính chứa khoảng trắng.','`."Reading Status"="In Progress"` Khóa và giá trị có khoảng trắng phải được đặt trong dấu ngoặc kép.',"`-.key` Loại trừ ghi chú có khóa thuộc tính.","`-.key=value` Loại trừ ghi chú có giá trị thuộc tính chứa `value`.","Cmd/Ctrl+Nhấp vào thuộc tính để thêm với AND. Cmd/Ctrl+Shift+Nhấp để thêm với OR."]},tasks:{title:"Bộ lọc",items:["`has:task` Bao gồm ghi chú có nhiệm vụ chưa hoàn thành.","`-has:task` Loại trừ ghi chú có nhiệm vụ chưa hoàn thành.","`folder:meetings` Bao gồm ghi chú có tên thư mục chứa `meetings`.","`folder:/work/meetings` Bao gồm ghi chú chỉ trong `work/meetings` (không bao gồm thư mục con).","`folder:/` Bao gồm ghi chú chỉ trong thư mục gốc của kho.","`-folder:archive` Loại trừ ghi chú có tên thư mục chứa `archive`.","`-folder:/archive` Loại trừ ghi chú chỉ trong `archive` (không bao gồm thư mục con).","`ext:md` Bao gồm ghi chú có phần mở rộng `md` (`ext:.md` cũng được hỗ trợ).","`-ext:pdf` Loại trừ ghi chú có phần mở rộng `pdf`.","Kết hợp với thẻ, tên và ngày tháng (ví dụ: `folder:/work/meetings ext:md @thisweek`)."]},connectors:{title:"Hành vi AND/OR",items:["`AND` và `OR` là toán tử chỉ trong các truy vấn chỉ chứa thẻ và thuộc tính.","Truy vấn chỉ chứa thẻ và thuộc tính chỉ bao gồm bộ lọc thẻ và thuộc tính: `#tag`, `-#tag`, `#`, `-#`, `.key`, `-.key`, `.key=value`, `-.key=value`.","Nếu truy vấn bao gồm tên, ngày (`@...`), bộ lọc nhiệm vụ (`has:task`), bộ lọc thư mục (`folder:...`) hoặc bộ lọc phần mở rộng (`ext:...`), `AND` và `OR` được tìm kiếm như từ.","Ví dụ truy vấn toán tử: `#work OR .status=started`.","Ví dụ truy vấn hỗn hợp: `#work OR ext:md` (`OR` được tìm kiếm trong tên tệp)."]},dates:{title:"Ngày",items:["`@today` Tìm ghi chú hôm nay sử dụng trường ngày mặc định.","`@yesterday`, `@last7d`, `@last30d`, `@thisweek`, `@thismonth` Phạm vi ngày tương đối.","`@2026-02-07` Tìm một ngày cụ thể (cũng hỗ trợ `@20260207`).","`@2026` Tìm một năm dương lịch.","`@2026-02` hoặc `@202602` Tìm một tháng dương lịch.","`@2026-W05` hoặc `@2026W05` Tìm một tuần ISO.","`@2026-Q2` hoặc `@2026Q2` Tìm một quý dương lịch.","`@13/02/2026` Định dạng số có dấu phân cách (`@07022026` theo địa phương của bạn khi mơ hồ).","`@2026-02-01..2026-02-07` Tìm phạm vi ngày bao gồm (hỗ trợ đầu mở).","`@c:...` hoặc `@m:...` Nhắm mục tiêu ngày tạo hoặc sửa đổi.","`-@...` Loại trừ một kết quả khớp ngày."]},omnisearch:{title:"Omnisearch",items:["Tìm kiếm toàn văn trong toàn bộ kho, được lọc theo thư mục hiện tại hoặc thẻ đã chọn.","Có thể chậm với ít hơn 3 ký tự trong kho lớn.","Không thể tìm kiếm đường dẫn có ký tự không phải ASCII hoặc tìm kiếm đường dẫn con chính xác.","Trả về kết quả giới hạn trước khi lọc thư mục, nên các tệp liên quan có thể không xuất hiện nếu có nhiều kết quả khớp ở nơi khác.","Bản xem trước ghi chú hiển thị trích đoạn Omnisearch thay vì văn bản xem trước mặc định."]}}}},contextMenu:{file:{openInNewTab:"Mở trong tab mới",openToRight:"Mở bên phải",openInNewWindow:"Mở trong cửa sổ mới",openMultipleInNewTabs:"Mở {count} ghi chú trong tab mới",openMultipleFilesInNewTabs:"Mở {count} tệp trong tab mới",openMultipleToRight:"Mở {count} ghi chú bên phải",openMultipleFilesToRight:"Mở {count} tệp bên phải",openMultipleInNewWindows:"Mở {count} ghi chú trong cửa sổ mới",openMultipleFilesInNewWindows:"Mở {count} tệp trong cửa sổ mới",pinNote:"Ghim ghi chú",pinFile:"Ghim tệp",unpinNote:"Bỏ ghim ghi chú",unpinFile:"Bỏ ghim tệp",pinMultipleNotes:"Ghim {count} ghi chú",pinMultipleFiles:"Ghim {count} tệp",unpinMultipleNotes:"Bỏ ghim {count} ghi chú",unpinMultipleFiles:"Bỏ ghim {count} tệp",duplicateNote:"Nhân bản ghi chú",duplicateFile:"Nhân bản tệp",duplicateMultipleNotes:"Nhân bản {count} ghi chú",duplicateMultipleFiles:"Nhân bản {count} tệp",openVersionHistory:"Mở lịch sử phiên bản",revealInFolder:"Hiện trong thư mục",revealInFinder:"Hiện trong Finder",showInExplorer:"Hiện trong trình quản lý tệp",openInDefaultApp:"Mở bằng ứng dụng mặc định",renameNote:"Đổi tên ghi chú",renameFile:"Đổi tên tệp",deleteNote:"Xóa ghi chú",deleteFile:"Xóa tệp",setCalendarHighlight:"Đặt đánh dấu",removeCalendarHighlight:"Xóa đánh dấu",deleteMultipleNotes:"Xóa {count} ghi chú",deleteMultipleFiles:"Xóa {count} tệp",moveNoteToFolder:"Di chuyển ghi chú...",moveFileToFolder:"Di chuyển tệp...",moveMultipleNotesToFolder:"Di chuyển {count} ghi chú...",moveMultipleFilesToFolder:"Di chuyển {count} tệp...",mergeNotes:"Hợp nhất {count} ghi chú...",mergeNotesInGroup:"Hợp nhất ghi chú trong nhóm...",setManualSortGroupHeader:"Đặt header nhóm",changeManualSortGroupHeader:"Đổi header nhóm",manualSortGroupHeader:{title:"Header nhóm",copyStyle:"Sao chép kiểu header",pasteStyle:"Dán kiểu header",remove:"Xóa header nhóm"},addTag:"Thêm thẻ",addPropertyKey:"Đặt thuộc tính",removeTag:"Gỡ thẻ",removeAllTags:"Gỡ tất cả thẻ",changeIcon:"Đổi biểu tượng",changeColor:"Đổi màu"},folder:{newNote:"Ghi chú mới",newNoteFromTemplate:"Ghi chú mới từ mẫu",newFolder:"Thư mục mới",newCanvas:"Canvas mới",newBase:"Cơ sở dữ liệu mới",newDrawing:"Bản vẽ mới",newExcalidrawDrawing:"Bản vẽ Excalidraw mới",newTldrawDrawing:"Bản vẽ Tldraw mới",duplicateFolder:"Nhân bản thư mục",searchInFolder:"Tìm trong thư mục",createFolderNote:"Tạo ghi chú thư mục",detachFolderNote:"Tách ghi chú thư mục",deleteFolderNote:"Xóa ghi chú thư mục",changeIcon:"Đổi biểu tượng",changeColor:"Đổi màu",changeBackground:"Đổi nền",excludeFolder:"Ẩn thư mục",unhideFolder:"Hiện thư mục",moveFolder:"Di chuyển thư mục...",renameFolder:"Đổi tên thư mục",deleteFolder:"Xóa thư mục"},tag:{changeIcon:"Đổi biểu tượng",changeColor:"Đổi màu",changeBackground:"Đổi nền",showTag:"Hiện thẻ",hideTag:"Ẩn thẻ"},property:{addKey:"Cấu hình khóa thuộc tính",renameKey:"Đổi tên thuộc tính",deleteKey:"Xóa thuộc tính"},navigation:{addSeparator:"Thêm dấu phân cách",removeSeparator:"Gỡ dấu phân cách"},copyPath:{title:"Sao chép đường dẫn",asObsidianUrl:"dưới dạng URL Obsidian",fromVaultFolder:"từ thư mục vault",fromSystemRoot:"từ gốc hệ thống"},style:{title:"Kiểu",copy:"Sao chép kiểu",paste:"Dán kiểu",removeIcon:"Xóa biểu tượng",removeColor:"Xóa màu",removeBackground:"Xóa nền",clear:"Xóa kiểu"}},folderAppearance:{appearance:"Giao diện",sortBy:"Sắp xếp theo",standardPreset:"Chuẩn",compactPreset:"Gọn",defaultSuffix:"(mặc định)",defaultLabel:"Mặc định",titleRows:"Dòng tiêu đề",previewRows:"Dòng xem trước",groupBy:"Nhóm theo",titleRowOption:t=>`${t} dòng tiêu đề`,previewRowOption:t=>`${t} dòng xem trước`},modals:{bulkApply:{applyButton:"Áp dụng",applySortAndGroupTitle:t=>`Áp dụng sắp xếp và nhóm cho ${t}?`,applyAppearanceTitle:t=>`Áp dụng giao diện cho ${t}?`,affectedCountMessage:t=>`Ghi đè hiện có sẽ thay đổi: ${t}.`},manualSortConfirm:{propertySortTitle:"Sử dụng sắp xếp thủ công?",propertySortMessage:(t,e)=>`Việc này chuyển chế độ xem hiện tại sang sắp xếp thủ công bằng "${t}". Việc chỉnh sửa thứ tự sẽ ghi giá trị chỉ số vào thuộc tính đó trong ${e} ghi chú khi cần.`,propertySortConfirmButton:"Sử dụng sắp xếp thủ công",removePropertyTitle:"Xóa thuộc tính sắp xếp?",removePropertyMessage:(t,e)=>`Việc này xóa "${t}" khỏi ${e} ghi chú trong danh sách hiện tại. Thứ tự sắp xếp thủ công sẽ bị xóa cho các ghi chú đó.`,removePropertyConfirmButton:"Xóa thuộc tính",compactTitle:"Nén giá trị chỉ số?",compactMessage:t=>`Việc sắp xếp lại này cần thêm khoảng trống số. ${t} ghi chú sẽ nhận giá trị chỉ số mới.`,compactConfirmButton:"Nén giá trị chỉ số"},manualSortGroupHeader:{title:"Đặt header nhóm",titleLabel:"Tiêu đề",placeholder:"Header nhóm",icon:"Biểu tượng",color:"Màu sắc",wordCount:"Hiển thị số từ",wordCountTarget:"Số từ mục tiêu",wordCountTargetPlaceholder:"10,000",wordCountTargetDescription:"Khi trường này trống, mục tiêu nhóm dùng thuộc tính mục tiêu được đặt trong Cài đặt > Ghi chú > Số từ và ký tự. Ghi đè bằng cách đặt giá trị mục tiêu cho nhóm này.",description:"Tùy chỉnh header nhóm cho ghi chú này. Để trống tiêu đề để xóa header."},mergeNotes:{title:"Hợp nhất ghi chú",summary:"Tạo một ghi chú từ {count} ghi chú trong {folder}.",frontmatterRule:"Frontmatter từ ghi chú đầu tiên được giữ lại. Frontmatter từ các ghi chú khác bị xóa.",crossFolderWarning:"Ghi chú nguồn nằm trong các thư mục khác nhau. Liên kết tương đối và nhúng có thể ngừng hoạt động trong ghi chú đã hợp nhất.",outputName:"Tên đầu ra",outputNameDesc:"Ghi chú đã hợp nhất được tạo trong thư mục hiển thị ở trên.",outputNamePlaceholder:"Ghi chú đã hợp nhất",separator:"Dấu phân cách",separatorDesc:"Được chèn giữa các ghi chú.",separatorOptions:{none:"Không có",blankLine:"Dòng trống",horizontalRule:"Đường ngang",heading:"Tiêu đề với tên ghi chú"},moveSourcesToTrash:"Di chuyển ghi chú nguồn vào thùng rác sau khi hợp nhất",mergeButton:"Hợp nhất"},navRainbowSection:{title:t=>`Màu cầu vồng: ${t}`},iconPicker:{searchPlaceholder:"Tìm biểu tượng...",recentlyUsedHeader:"Dùng gần đây",emptyStateSearch:"Bắt đầu nhập để tìm biểu tượng",emptyStateNoResults:"Không tìm thấy biểu tượng",showingResultsInfo:"Hiển thị 50 trong {count} kết quả. Nhập thêm để thu hẹp.",emojiInstructions:"Nhập hoặc dán bất kỳ emoji nào để dùng làm biểu tượng",removeIcon:"Gỡ biểu tượng",removeFromRecents:"Xóa khỏi biểu tượng gần đây",allTabLabel:"Tất cả"},fileIconRuleEditor:{addRuleAria:"Thêm quy tắc"},interfaceIcons:{title:"Biểu tượng giao diện",fileItemsSection:"Mục tệp",items:{"nav-shortcuts":"Lối tắt","nav-recent-files":"Tệp gần đây","nav-expand-all":"Mở rộng tất cả","nav-collapse-all":"Thu gọn tất cả","nav-calendar":"Lịch","nav-tree-expand":"Mũi tên cây: mở rộng","nav-tree-collapse":"Mũi tên cây: thu gọn","nav-hidden-items":"Mục ẩn","nav-root-reorder":"Sắp xếp lại thư mục gốc","nav-new-folder":"Thư mục mới","nav-show-single-pane":"Hiện một ngăn","nav-show-dual-pane":"Hiện hai ngăn","nav-profile-chevron":"Mũi tên menu hồ sơ","list-search":"Tìm kiếm","list-reveal-file":"Hiện tệp","list-descendants":"Ghi chú từ thư mục con","list-sort-ascending":"Thứ tự: tăng dần","list-sort-descending":"Thứ tự: giảm dần","list-sort-modified":"Sắp xếp theo ngày chỉnh sửa","list-sort-created":"Sắp xếp theo ngày tạo","list-sort-title":"Sắp xếp theo tiêu đề","list-sort-filename":"Sắp xếp theo tên tệp","list-sort-property":"Sắp xếp theo thuộc tính","list-appearance":"Thay đổi giao diện","list-new-note":"Ghi chú mới","list-pinned":"Ghi chú đã ghim","nav-folder-open":"Thư mục mở","nav-folder-closed":"Thư mục đóng","nav-tags":"Thẻ","nav-tag":"Thẻ","nav-properties":"Thuộc tính","nav-property":"Thuộc tính","nav-property-value":"Giá trị","file-unfinished-task":"Nhiệm vụ chưa hoàn thành","file-word-count":"Số từ","file-character-count":"Số ký tự"}},colorPicker:{currentColor:"Hiện tại",newColor:"Mới",paletteDefault:"Mặc định",paletteCustom:"Tùy chỉnh",copyColors:"Sao chép màu",colorsCopied:"Đã sao chép màu vào clipboard",pasteColors:"Dán màu",pasteClipboardError:"Không thể đọc clipboard",pasteInvalidFormat:"Yêu cầu giá trị màu hex",colorsPasted:"Đã dán màu thành công",resetUserColors:"Xóa màu tùy chỉnh",clearCustomColorsConfirm:"Xóa tất cả màu tùy chỉnh?",userColorSlot:"Màu {slot}",recentColors:"Màu gần đây",clearRecentColors:"Xóa màu gần đây",removeRecentColor:"Gỡ màu",apply:"Áp dụng",pickerLabel:"Bộ chọn",hexLabel:"HEX",hexInputLabel:"Giá trị màu hex",saturationValueArea:"Độ bão hòa và độ sáng",hueSlider:"Sắc độ",alphaSlider:"Độ trong suốt"},appearance:{tabIcon:"Biểu tượng",tabColor:"Màu sắc",tabBackground:"Nền",resetIcon:"Xóa biểu tượng",resetColor:"Xóa màu",resetBackground:"Xóa nền",clear:"Xóa kiểu",apply:"Áp dụng"},selectVaultProfile:{title:"Chọn hồ sơ vault",currentBadge:"Đang dùng",emptyState:"Không có hồ sơ vault."},tagOperation:{renameTitle:"Đổi tên thẻ {tag}",deleteTitle:"Xóa thẻ {tag}",newTagPrompt:"Tên thẻ mới",newTagPlaceholder:"Nhập tên thẻ mới",renameWarning:"Đổi tên thẻ {oldTag} sẽ sửa đổi {count} {files}.",deleteWarning:"Xóa thẻ {tag} sẽ sửa đổi {count} {files}.",modificationWarning:"Điều này sẽ cập nhật ngày sửa đổi tệp.",affectedFiles:"Các tệp bị ảnh hưởng:",andMore:"...và {count} nữa",confirmRename:"Đổi tên thẻ",renameUnchanged:"{tag} không đổi",renameNoChanges:"{oldTag} → {newTag} ({countLabel})",renameBatchNotFinalized:"Đã đổi tên {renamed}/{total}. Chưa cập nhật: {notUpdated}. Siêu dữ liệu và phím tắt chưa được cập nhật.",invalidTagName:"Nhập tên thẻ hợp lệ.",descendantRenameError:"Không thể di chuyển thẻ vào chính nó hoặc phần tử con.",confirmDelete:"Xóa thẻ",deleteBatchNotFinalized:"Đã xóa khỏi {removed}/{total}. Chưa cập nhật: {notUpdated}. Siêu dữ liệu và phím tắt chưa được cập nhật.",checkConsoleForDetails:"Kiểm tra bảng điều khiển để biết chi tiết.",file:"tệp",files:"tệp",inlineParsingWarning:{title:"Tương thích thẻ nội tuyến",message:"{tag} chứa các ký tự mà Obsidian không thể phân tích trong thẻ nội tuyến. Các thẻ Frontmatter không bị ảnh hưởng.",confirm:"Vẫn sử dụng"}},propertyOperation:{renameTitle:"Đổi tên thuộc tính {property}",deleteTitle:"Xóa thuộc tính {property}",newKeyPrompt:"Tên thuộc tính mới",newKeyPlaceholder:"Nhập tên thuộc tính mới",renameWarning:"Đổi tên thuộc tính {property} sẽ sửa đổi {count} {files}.",renameConflictWarning:"Thuộc tính {newKey} đã tồn tại trong {count} {files}. Đổi tên {oldKey} sẽ thay thế các giá trị hiện có của {newKey}.",deleteWarning:"Xóa thuộc tính {property} sẽ sửa đổi {count} {files}.",confirmRename:"Đổi tên thuộc tính",confirmDelete:"Xóa thuộc tính",renameNoChanges:"{oldKey} → {newKey} (không thay đổi)",renameSettingsUpdateFailed:"Đã đổi tên thuộc tính {oldKey} → {newKey}. Không thể cập nhật cài đặt.",deleteSingleSuccess:"Đã xóa thuộc tính {property} khỏi 1 ghi chú",deleteMultipleSuccess:"Đã xóa thuộc tính {property} khỏi {count} ghi chú",deleteSettingsUpdateFailed:"Đã xóa thuộc tính {property}. Không thể cập nhật cài đặt.",invalidKeyName:"Nhập tên thuộc tính hợp lệ."},fileSystem:{newFolderTitle:"Thư mục mới",renameFolderTitle:"Đổi tên thư mục",renameFileTitle:"Đổi tên tệp",deleteFolderTitle:"Xóa '{name}'?",deleteFileTitle:"Xóa '{name}'?",deleteFileAttachmentsTitle:"Xóa tệp đính kèm?",moveFileConflictTitle:"Xung đột di chuyển",folderNamePrompt:"Nhập tên thư mục:",hideInOtherVaultProfiles:"Ẩn trong các hồ sơ vault khác",renamePrompt:"Nhập tên mới:",renameVaultTitle:"Đổi tên hiển thị vault",renameVaultPrompt:"Nhập tên hiển thị tùy chỉnh (để trống để dùng mặc định):",deleteFolderConfirm:"Bạn có chắc muốn xóa thư mục này và tất cả nội dung?",deleteFileConfirm:"Bạn có chắc muốn xóa tệp này?",deleteFileAttachmentsDescriptionSingle:"Tệp đính kèm này không còn được sử dụng trong bất kỳ ghi chú nào. Bạn có muốn xóa không?",deleteFileAttachmentsDescriptionMultiple:"Các tệp đính kèm này không còn được sử dụng trong bất kỳ ghi chú nào. Bạn có muốn xóa không?",deleteFileAttachmentsViewFileTreeAriaLabel:"Cây tệp",deleteFileAttachmentsViewGalleryAriaLabel:"Thư viện ảnh",moveFileConflictDescriptionSingle:'Đã tìm thấy xung đột tệp trong "{folder}".',moveFileConflictDescriptionMultiple:'Đã tìm thấy {count} xung đột tệp trong "{folder}".',moveFileConflictAffectedFiles:"Các tệp bị ảnh hưởng",moveFileConflictItem:'"{name}" -> "{suggested}"{renameOnly}',moveFileConflictRenameOnly:"(chỉ đổi tên)",moveFileConflictRename:"Đổi tên",moveFileConflictOverwrite:"Ghi đè",removeAllTagsTitle:"Gỡ tất cả thẻ",removeAllTagsFromNote:"Bạn có chắc muốn gỡ tất cả thẻ khỏi ghi chú này?",removeAllTagsFromNotes:"Bạn có chắc muốn gỡ tất cả thẻ khỏi {count} ghi chú?"},folderNoteType:{title:"Chọn loại ghi chú thư mục",folderLabel:"Thư mục: {name}"},folderSuggest:{placeholder:t=>`Di chuyển ${t} đến thư mục...`,multipleFilesLabel:t=>`${t} tệp`,navigatePlaceholder:"Chuyển đến thư mục...",instructions:{navigate:"để điều hướng",move:"để di chuyển",select:"để chọn",dismiss:"để đóng"}},homepage:{placeholder:"Tìm tệp...",instructions:{navigate:"để điều hướng",select:"để đặt trang chủ",dismiss:"để đóng"}},calendarTemplate:{placeholder:"Tìm mẫu...",instructions:{navigate:"để điều hướng",select:"để chọn mẫu",dismiss:"để đóng"}},navigationBanner:{placeholder:"Tìm ảnh...",instructions:{navigate:"để điều hướng",select:"để đặt banner",dismiss:"để đóng"}},tagSuggest:{navigatePlaceholder:"Chuyển đến thẻ...",addPlaceholder:"Tìm thẻ để thêm...",removePlaceholder:"Chọn thẻ để gỡ...",createNewTag:"Tạo thẻ mới: #{tag}",instructions:{navigate:"để điều hướng",select:"để chọn",dismiss:"để đóng",add:"để thêm thẻ",remove:"để gỡ thẻ"}},propertySuggest:{placeholder:"Chọn khóa thuộc tính...",navigatePlaceholder:"Điều hướng đến thuộc tính...",instructions:{navigate:"để điều hướng",select:"để thêm thuộc tính",dismiss:"để đóng"}},propertyKeyVisibility:{title:"Hiển thị khóa thuộc tính",description:"Kiểm soát nơi hiển thị giá trị thuộc tính. Các cột tương ứng với bảng điều hướng, bảng danh sách và menu ngữ cảnh tệp. Sử dụng hàng dưới cùng để chuyển đổi tất cả các hàng trong một cột.",searchPlaceholder:"Tìm khóa thuộc tính...",propertyColumnLabel:"Thuộc tính",showInNavigation:"Hiển thị trong điều hướng",showInList:"Hiển thị trong danh sách",showInFileMenu:"Hiển thị trong menu tệp",toggleAllInNavigation:"Chuyển đổi tất cả trong điều hướng",toggleAllInList:"Chuyển đổi tất cả trong danh sách",toggleAllInFileMenu:"Chuyển đổi tất cả trong menu tệp",applyButton:"Áp dụng",emptyState:"Không tìm thấy khóa thuộc tính."},welcome:{title:"Chào mừng đến với {pluginName}",introText:'Xin chào! Trước khi bắt đầu, tôi khuyên bạn nên xem năm phút đầu tiên của video bên dưới để hiểu cách hoạt động của các bảng điều khiển và nút chuyển đổi "Hiển thị ghi chú từ thư mục con".',continueText:"Nếu bạn có thêm năm phút nữa, hãy tiếp tục xem video để hiểu các chế độ hiển thị thu gọn và cách thiết lập phím tắt và các phím nóng quan trọng một cách chính xác.",thanksText:"Cảm ơn bạn rất nhiều vì đã tải xuống, chúc bạn sử dụng vui vẻ!",videoAlt:"Cài đặt và làm chủ Notebook Navigator",openVideoButton:"Phát video",closeButton:"Có lẽ sau"}},fileSystem:{errors:{createFolder:"Không thể tạo thư mục: {error}",createFile:"Không thể tạo tệp: {error}",renameFolder:"Không thể đổi tên thư mục: {error}",renameFolderNoteConflict:'Không thể đổi tên: "{name}" đã tồn tại trong thư mục này',renameFile:"Không thể đổi tên tệp: {error}",deleteFolder:"Không thể xóa thư mục: {error}",deleteFile:"Không thể xóa tệp: {error}",deleteAttachments:"Không thể xóa tệp đính kèm: {error}",mergeNotes:"Không thể hợp nhất ghi chú: {error}",mergeNotesOpenOutput:"Ghi chú đã hợp nhất được tạo dưới tên {name}, nhưng không thể mở: {error}. Ghi chú nguồn không bị thay đổi.",mergeNotesOpenSkipped:"Một yêu cầu mở tệp khác được ưu tiên.",mergeNotesTrashSources:"Ghi chú đã hợp nhất đã được tạo. Không thể di chuyển {count} ghi chú nguồn vào thùng rác.",duplicateNote:"Không thể nhân bản ghi chú: {error}",duplicateFolder:"Không thể nhân bản thư mục: {error}",openVersionHistory:"Không thể mở lịch sử phiên bản: {error}",versionHistoryNotFound:"Không tìm thấy lệnh lịch sử phiên bản. Đảm bảo Obsidian Sync đã bật.",revealInExplorer:"Không thể hiện tệp trong trình quản lý hệ thống: {error}",openInDefaultApp:"Không thể mở bằng ứng dụng mặc định: {error}",openInDefaultAppNotAvailable:"Mở bằng ứng dụng mặc định không khả dụng trên nền tảng này",folderNoteAlreadyExists:"Ghi chú thư mục đã tồn tại",folderAlreadyExists:'Thư mục "{name}" đã tồn tại',folderNotesDisabled:"Bật ghi chú thư mục trong cài đặt để chuyển đổi tệp",folderNoteAlreadyLinked:"Tệp này đã hoạt động như ghi chú thư mục",folderNoteNotFound:"Không có ghi chú thư mục trong thư mục đã chọn",folderNoteUnsupportedExtension:"Phần mở rộng tệp không được hỗ trợ: {extension}",folderNoteMoveFailed:"Không thể di chuyển tệp khi chuyển đổi: {error}",folderNoteRenameConflict:'Tệp có tên "{name}" đã tồn tại trong thư mục',folderNoteConversionFailed:"Không thể chuyển đổi tệp thành ghi chú thư mục",folderNoteConversionFailedWithReason:"Không thể chuyển đổi tệp thành ghi chú thư mục: {error}",folderNoteOpenFailed:"Đã chuyển đổi tệp nhưng không thể mở ghi chú thư mục: {error}",failedToDeleteFile:"Không thể xóa {name}: {error}",failedToDeleteMultipleFiles:"Không thể xóa {count} tệp",versionHistoryNotAvailable:"Dịch vụ lịch sử phiên bản không khả dụng",drawingAlreadyExists:"Bản vẽ với tên này đã tồn tại",failedToCreateDrawing:"Không thể tạo bản vẽ",noFolderSelected:"Chưa chọn thư mục trong Notebook Navigator",noFileSelected:"Chưa chọn tệp"},warnings:{linkBreakingNameCharacters:"Tên này chứa ký tự làm hỏng liên kết Obsidian: #, |, ^, %%, [[, ]].",forbiddenNameCharactersAllPlatforms:"Tên không thể bắt đầu bằng dấu chấm hoặc chứa : hoặc /.",forbiddenNameCharactersWindows:'Ký tự được Windows dành riêng không được phép: <, >, ", \\, |, ?, *.'},notices:{hideFolder:"Đã ẩn thư mục: {name}",showFolder:"Đã hiện thư mục: {name}",mergeNotes:"Đã hợp nhất {count} ghi chú vào {name}"},notifications:{deletedMultipleFiles:"Đã xóa {count} tệp",movedMultipleFiles:"Đã di chuyển {count} tệp đến {folder}",folderNoteConversionSuccess:'Đã chuyển đổi tệp thành ghi chú thư mục trong "{name}"',folderMoved:'Đã di chuyển thư mục "{name}"',deepLinkCopied:"Đã sao chép URL Obsidian vào clipboard",pathCopied:"Đã sao chép đường dẫn vào clipboard",relativePathCopied:"Đã sao chép đường dẫn tương đối vào clipboard",tagAddedToNote:"Đã thêm thẻ vào 1 ghi chú",tagAddedToNotes:"Đã thêm thẻ vào {count} ghi chú",tagRemovedFromNote:"Đã gỡ thẻ khỏi 1 ghi chú",tagRemovedFromNotes:"Đã gỡ thẻ khỏi {count} ghi chú",tagsClearedFromNote:"Đã xóa tất cả thẻ khỏi 1 ghi chú",tagsClearedFromNotes:"Đã xóa tất cả thẻ khỏi {count} ghi chú",noTagsToRemove:"Không có thẻ để gỡ",noFilesSelected:"Chưa chọn tệp",mergeNotesRequireMultipleMarkdown:"Chọn ít nhất hai ghi chú Markdown để hợp nhất",tagOperationsNotAvailable:"Thao tác thẻ không khả dụng",propertyOperationsNotAvailable:"Thao tác thuộc tính không khả dụng",tagsRequireMarkdown:"Thẻ chỉ được hỗ trợ trên ghi chú Markdown",propertiesRequireMarkdown:"Thuộc tính chỉ được hỗ trợ trên ghi chú Markdown",propertySetOnNote:"Đã cập nhật thuộc tính trên 1 ghi chú",propertySetOnNotes:"Đã cập nhật thuộc tính trên {count} ghi chú",manualSortPropertyRemovedFromNote:"Đã xóa thuộc tính sắp xếp khỏi 1 ghi chú",manualSortPropertyRemovedFromNotes:"Đã xóa thuộc tính sắp xếp khỏi {count} ghi chú",iconPackDownloaded:"Đã tải {provider}",iconPackUpdated:"Đã cập nhật {provider} ({version})",iconPackRemoved:"Đã gỡ {provider}",iconPackLoadFailed:"Không thể tải {provider}",hiddenFileReveal:'Tệp bị ẩn. Bật "Hiện mục ẩn" để hiển thị'},confirmations:{deleteMultipleFiles:"Bạn có chắc muốn xóa {count} tệp?",deleteConfirmation:"Hành động này không thể hoàn tác."},defaultNames:{untitled:"Chưa đặt tên"}},dragDrop:{errors:{cannotMoveIntoSelf:"Không thể di chuyển thư mục vào chính nó hoặc thư mục con.",itemAlreadyExists:'Mục có tên "{name}" đã tồn tại ở vị trí này.',failedToMove:"Không thể di chuyển: {error}",failedToAddTag:'Không thể thêm thẻ "{tag}"',failedToSetProperty:"Không thể cập nhật thuộc tính: {error}",failedToClearTags:"Không thể xóa thẻ",failedToMoveFolder:'Không thể di chuyển thư mục "{name}"',failedToImportFiles:"Không thể nhập: {names}"},notifications:{filesAlreadyExist:"{count} tệp đã tồn tại ở đích",filesAlreadyHaveTag:"{count} tệp đã có thẻ này hoặc thẻ cụ thể hơn",filesAlreadyHaveProperty:"{count} tệp đã có thuộc tính này",noTagsToClear:"Không có thẻ để xóa",fileImported:"Đã nhập 1 tệp",filesImported:"Đã nhập {count} tệp"}},dateGroups:{today:"Hôm nay",yesterday:"Hôm qua",previous7Days:"7 ngày trước",previous30Days:"30 ngày trước"},commands:{open:"Mở",toggleLeftSidebar:"Bật/tắt thanh bên trái",openHomepage:"Mở trang chủ",openDailyNote:"Mở ghi chú hằng ngày",openWeeklyNote:"Mở ghi chú hằng tuần",openMonthlyNote:"Mở ghi chú hằng tháng",openQuarterlyNote:"Mở ghi chú hằng quý",openYearlyNote:"Mở ghi chú hằng năm",revealFile:"Hiện tệp",search:"Tìm kiếm",searchVaultRoot:"Tìm kiếm trong thư mục gốc vault",toggleDualPane:"Bật/tắt hai ngăn",toggleDualPaneOrientation:"Chuyển đổi hướng hai ngăn",toggleCalendar:"Bật/tắt lịch",selectVaultProfile:"Chọn hồ sơ vault",selectVaultProfile1:"Chọn hồ sơ vault 1",selectVaultProfile2:"Chọn hồ sơ vault 2",selectVaultProfile3:"Chọn hồ sơ vault 3",deleteFile:"Xóa tệp",createNewNote:"Tạo ghi chú mới",createNewNoteFromTemplate:"Ghi chú mới từ mẫu",moveFiles:"Di chuyển tệp",mergeNotes:"Hợp nhất ghi chú",selectNextFile:"Chọn tệp tiếp theo",selectPreviousFile:"Chọn tệp trước",navigateBack:"Điều hướng lùi",navigateForward:"Điều hướng tới",convertToFolderNote:"Chuyển thành ghi chú thư mục",setAsFolderNote:"Đặt làm ghi chú thư mục",detachFolderNote:"Tách ghi chú thư mục",pinAllFolderNotes:"Ghim tất cả ghi chú thư mục",navigateToFolder:"Chuyển đến thư mục",navigateToTag:"Chuyển đến thẻ",navigateToProperty:"Điều hướng đến thuộc tính",addShortcut:"Thêm vào lối tắt",openShortcut:"Mở lối tắt {number}",toggleDescendants:"Bật/tắt phần tử con",toggleHidden:"Bật/tắt thư mục, thẻ và ghi chú ẩn",toggleTagSort:"Bật/tắt sắp xếp thẻ",toggleTagsBySelection:"Bật/tắt thẻ theo lựa chọn",togglePropertiesBySelection:"Bật/tắt thuộc tính theo lựa chọn",toggleCompactMode:"Bật/tắt chế độ gọn",togglePinnedSection:"Bật/tắt phần đã ghim",collapseExpand:"Thu gọn / mở rộng tất cả",collapseExpandSelectedItem:"Thu gọn / mở rộng mục đã chọn",addTag:"Thêm thẻ vào tệp đã chọn",setProperty:"Đặt thuộc tính cho tệp đã chọn",removeTag:"Gỡ thẻ khỏi tệp đã chọn",removeAllTags:"Gỡ tất cả thẻ khỏi tệp đã chọn",openAllFiles:"Mở tất cả tệp",rebuildCache:"Xây dựng lại cache"},plugin:{viewName:"Notebook Navigator",calendarViewName:"Lịch",folderNoteSidebarViewName:"Ghi chú thư mục",ribbonTooltip:"Notebook Navigator",revealInNavigator:"Hiện trong Notebook Navigator"},tooltips:{lastModifiedAt:"Sửa đổi lần cuối",createdAt:"Tạo lúc",file:"tệp",files:"tệp",folder:"thư mục",folders:"thư mục",wordCount:"Số từ"},fileCounts:{words:"{count} từ",characters:"{count} ký tự",separator:" · "},settings:{changeDefaultSettings:"Thay đổi cài đặt mặc định",metadataReport:{exportSuccess:"Báo cáo metadata thất bại đã xuất đến: {filename}",exportFailed:"Không thể xuất báo cáo metadata"},sections:{general:"Chung",vaultFilters:"Bộ lọc hiển thị",appearanceBehavior:"Giao diện và hành vi",navigationPane:"Bảng điều hướng",calendar:"Lịch",fileOperations:"Thao tác tệp",icons:"Gói biểu tượng",folders:"Thư mục",folderNotes:"Ghi chú thư mục",folderNoteFiles:"Tệp ghi chú thư mục",foldersAndFolderNotes:"Thư mục và ghi chú thư mục",tagsAndProperties:"Thẻ và thuộc tính",tags:"Thẻ",listPane:"Bảng danh sách",notes:"Hiển thị tệp",shortcutsAndRecentFiles:"Lối tắt và tệp gần đây",advanced:"Nâng cao"},pageGroups:{configuration:"Cấu hình",navigationAndContent:"Bảng điều hướng",notesAndLists:"Bảng danh sách",calendarAndTools:"Lịch và công cụ"},pageDescriptions:{general:"Ghi chú phát hành, hỗ trợ, hồ sơ vault, loại tệp và khóa thuộc tính.",vaultFilters:"Thư mục, thẻ, tệp, thẻ tệp và quy tắc thuộc tính bị ẩn.",appearanceBehavior:"Hành vi, điều hướng bằng bàn phím, nút chuột, giao diện và định dạng.",navigationPane:"Bố cục, giao diện, số lượng ghi chú, hành vi thu gọn và màu cầu vồng.",shortcuts:"Khả năng hiển thị lối tắt, huy hiệu, tệp gần đây và mục đã ghim.",calendar:"Hiển thị lịch, ghi chú ngày, mẫu, ngôn ngữ và vị trí thanh bên.",fileOperations:"Mẫu, xác nhận xóa, tệp đính kèm và hành vi xung đột khi di chuyển tệp.",foldersAndFolderNotes:"Hiển thị thư mục, ghi chú thư mục, mẫu ghi chú thư mục và hành vi ghi chú thư mục.",tagsProperties:"Phần thẻ và thuộc tính, biểu tượng, sắp xếp, phạm vi và kế thừa.",listPane:"Sắp xếp, nhóm, chế độ danh sách, ghi chú đã ghim và xem trước bản vẽ.",frontmatter:"Trường frontmatter cho tên hiển thị, dấu thời gian, biểu tượng và màu sắc.",notes:"Tiêu đề, văn bản xem trước, hình ảnh nổi bật, thẻ, thuộc tính, ngày, số từ và số ký tự.",iconPacks:"Biểu tượng giao diện, biểu tượng tệp và quản lý gói biểu tượng.",advanced:"Chẩn đoán, dọn dẹp metadata, nhập/xuất và đặt lại."},groups:{general:{vaultConfiguration:"Thiết lập vault",templates:"Mẫu",behavior:"Hành vi",keyboardNavigation:"Điều hướng bằng bàn phím",mouseButtons:"Nút chuột",view:"Giao diện",icons:"Biểu tượng",desktopAppearance:"Giao diện máy tính",mobileAppearance:"Giao diện di động",formatting:"Định dạng"},advanced:{maintenance:"Bảo trì",resetSettings:"Đặt lại cài đặt"},navigation:{appearance:"Giao diện",banner:"Banner",collapseItems:"Thu gọn mục",dragAndDrop:"Kéo và thả",noteCounts:"Số lượng ghi chú",rainbowColors:"Màu cầu vồng",leftSidebar:"Thanh bên trái",calendarIntegration:"Tích hợp lịch"},list:{display:"Giao diện",groupHeaders:"Header nhóm",propertySort:"Sắp xếp theo thuộc tính",manualSort:"Sắp xếp thủ công",pinnedNotes:"Ghi chú đã ghim",drawingPreviews:"Xem trước bản vẽ"},notes:{frontmatter:"Trường frontmatter",tasks:"Nhiệm vụ",icon:"Biểu tượng",title:"Tiêu đề",previewText:"Văn bản xem trước",featureImage:"Hình ảnh nổi bật",tags:"Thẻ",properties:"Thuộc tính",date:"Ngày",parentFolder:"Thư mục cha",wordCount:"Số từ và ký tự"}},syncMode:{notSynced:"(chưa đồng bộ)",switchToSynced:"Bật đồng bộ",switchToLocal:"Tắt đồng bộ"},items:{listPaneTitle:{name:"Tiêu đề ngăn danh sách",desc:"Chọn nơi hiển thị tiêu đề ngăn danh sách.",options:{header:"Hiện ở header",list:"Hiện ở ngăn danh sách",hidden:"Không hiện"}},sortNotesBy:{name:"Thứ tự sắp xếp mặc định",desc:"Chọn thứ tự sắp xếp mặc định cho ghi chú.",options:{"modified-desc":"Ngày sửa (mới nhất trên)","modified-asc":"Ngày sửa (cũ nhất trên)","created-desc":"Ngày tạo (mới nhất trên)","created-asc":"Ngày tạo (cũ nhất trên)","title-asc":"Tiêu đề (A trên)","title-desc":"Tiêu đề (Z trên)","filename-asc":"Tên tệp (A trên)","filename-desc":"Tên tệp (Z trên)"},directions:{asc:"Tăng dần",desc:"Giảm dần"},fields:{modified:"Ngày sửa",created:"Ngày tạo",title:"Tiêu đề",filename:"Tên tệp",property:"Thuộc tính"}},propertySortKey:{name:"Thuộc tính để sắp xếp",desc:"Các thuộc tính frontmatter phân cách bằng dấu phẩy hiển thị làm tùy chọn sắp xếp theo thuộc tính. Mảng được kết hợp thành một chuỗi. Các thuộc tính này không bị thay đổi.",placeholder:"published, author"},propertySortSecondary:{name:"Sắp xếp phụ",desc:"Dùng với sắp xếp theo thuộc tính khi các ghi chú có cùng giá trị thuộc tính hoặc không có giá trị thuộc tính.",options:{title:"Tiêu đề",filename:"Tên tệp",created:"Ngày tạo",modified:"Ngày chỉnh sửa"}},propertySortInstructions:{intro:"Mỗi thuộc tính được liệt kê ở trên xuất hiện làm tùy chọn sắp xếp trong menu sắp xếp ở ngăn danh sách. Chọn một sẽ sắp xếp ghi chú theo giá trị frontmatter của nó."},manualSortPropertyKey:{name:"Thuộc tính sắp xếp thủ công",desc:"Thuộc tính frontmatter dùng để lưu giá trị chỉ số cho sắp xếp thủ công."},manualSortGroupHeaderProperty:{name:"Thuộc tính header nhóm",desc:"Thuộc tính frontmatter dùng để lưu header nhóm tùy chỉnh."},groupHeadersInstructions:{intro:"Header nhóm tùy chỉnh hiển thị phía trên ghi chú trong ngăn danh sách.",items:["Từ menu sắp xếp trong ngăn danh sách, đặt nhóm thành **Tùy chỉnh**.","Nhấp chuột phải vào ghi chú và chọn **Đặt header nhóm** để thêm header phía trên nó."]},manualSortNewNotePlacement:{name:"Vị trí ghi chú mới",desc:"Chọn nơi đặt ghi chú mới khi danh sách hiện tại dùng sắp xếp thủ công.",options:{top:"Đầu",bottom:"Cuối","below-selected-note":"Dưới ghi chú đã chọn",unsorted:"Chưa sắp xếp"}},confirmBeforeManualSort:{name:"Xác nhận trước khi sắp xếp thủ công",desc:"Hiển thị cảnh báo trước khi ghi thuộc tính sắp xếp thủ công vào ghi chú lần đầu tiên. Khi bị tắt, ghi chú nhận thuộc tính mà không có cảnh báo."},manualSortInstructions:{intro:"Sắp xếp thủ công ghi giá trị chỉ số vào thuộc tính frontmatter trên mỗi ghi chú. Ghi chú không có chỉ số sẽ xuất hiện trong mục Chưa sắp xếp.",items:["Bật sắp xếp thủ công bằng cách chọn **Sắp xếp thủ công** từ menu sắp xếp. Sau đó, có hai cách để sắp xếp lại ghi chú.","Chọn **Chỉnh sửa thứ tự sắp xếp...** từ menu sắp xếp để mở chế độ xem sắp xếp lại. Kéo ghi chú bằng chuột, hoặc bằng cảm ứng trên di động. Trên máy tính, **Cmd/Ctrl** hoặc **Shift** kèm nhấp chọn nhiều ghi chú, sau đó kéo bất kỳ ghi chú nào sẽ di chuyển cả nhóm.","Trong ngăn danh sách, chọn một ghi chú hoặc chọn nhiều, sau đó nhấn **Cmd/Ctrl + Arrow Up/Down** để di chuyển lựa chọn lên hoặc xuống."]},revealFileOnListChanges:{name:"Cuộn đến tệp đã chọn khi danh sách thay đổi",desc:"Cuộn đến tệp đã chọn khi ghim ghi chú, hiện ghi chú con, đổi giao diện thư mục hoặc thao tác tệp."},includeDescendantNotes:{name:"Hiện ghi chú từ thư mục con / phần tử con",desc:"Bao gồm ghi chú từ thư mục con lồng nhau và phần tử con của thẻ và thuộc tính khi xem thư mục, thẻ hoặc thuộc tính."},limitPinnedToCurrentFolder:{name:"Chỉ ghim ghi chú trong thư mục của nó",desc:"Ghi chú đã ghim chỉ hiển thị là đã ghim trong thư mục riêng của nó. Hữu ích cho ghi chú thư mục hoặc nếu bạn có nhiều ghi chú đã ghim. Không ảnh hưởng đến chế độ xem thẻ hoặc thuộc tính."},separateNoteCounts:{name:"Hiện số lượng ghi chú hiện tại và con riêng biệt",desc:'Hiển thị số lượng ghi chú theo định dạng "hiện tại ▾ con" cho thư mục, thẻ và thuộc tính.'},groupNotes:{name:"Nhóm mặc định",desc:"Tùy chỉnh hiển thị header được định nghĩa trong frontmatter. Ngày nhóm ghi chú theo ngày. Thư mục nhóm ghi chú theo thư mục. Chế độ xem thẻ và thuộc tính dùng nhóm ngày khi thư mục được chọn.",options:{custom:"Tùy chỉnh",date:"Ngày",folder:"Thư mục"}},showSelectedNavigationPills:{name:"Luôn hiển thị tất cả nhãn thẻ và thuộc tính",desc:'Khi tắt, các nhãn khớp với lựa chọn điều hướng hiện tại sẽ bị ẩn (ví dụ: nhãn thẻ "công thức" bị ẩn khi duyệt thẻ "công thức"). Bật để giữ tất cả các nhãn luôn hiển thị.'},stickyGroupHeaders:{name:"Header nhóm cố định",desc:"Giữ header phần ngày, thư mục hoặc đã ghim hiện tại hiển thị khi cuộn."},showFolderGroupPaths:{name:"Hiện đường dẫn thư mục con",desc:"Khi nhóm theo thư mục trong ngăn danh sách, hiển thị đường dẫn thư mục con thay vì chỉ tên thư mục."},showCurrentFolderFilesAtBottom:{name:"Nhóm theo thư mục: tệp trong thư mục hiện tại ở dưới cùng",desc:"Khi kiểu nhóm mặc định là Thư mục, chuyển các tệp nằm trực tiếp trong thư mục đã chọn xuống dưới các nhóm thư mục con."},defaultListMode:{name:"Chế độ danh sách mặc định",desc:"Chọn bố cục danh sách mặc định. Chuẩn hiện tiêu đề, ngày, mô tả và văn bản xem trước. Gọn chỉ hiện tiêu đề. Ghi đè giao diện theo thư mục.",options:{standard:"Chuẩn",compact:"Gọn"}},showFileIcons:{name:"Hiện biểu tượng tệp",desc:"Hiển thị biểu tượng tệp với khoảng cách căn trái. Tắt sẽ gỡ cả biểu tượng và thụt lề. Ưu tiên: biểu tượng tác vụ chưa hoàn thành > biểu tượng tùy chỉnh > biểu tượng thư mục > biểu tượng tên tệp > biểu tượng loại tệp > biểu tượng mặc định."},useFolderIcon:{name:"Dùng biểu tượng thư mục",desc:"Hiển thị biểu tượng của thư mục cha khi không có biểu tượng tệp tùy chỉnh được đặt. Màu thư mục được dùng khi không có màu tệp tùy chỉnh được đặt."},showFileIconUnfinishedTask:{name:"Biểu tượng nhiệm vụ chưa hoàn thành",desc:"Hiển thị biểu tượng nhiệm vụ khi ghi chú có nhiệm vụ chưa hoàn thành."},showFileBackgroundUnfinishedTask:{name:"Nền nhiệm vụ chưa hoàn thành",desc:"Áp dụng màu nền khi ghi chú có nhiệm vụ chưa hoàn thành."},unfinishedTaskBackgroundColor:{name:"Màu nền nhiệm vụ chưa hoàn thành",desc:"Đặt màu nền được sử dụng khi ghi chú có nhiệm vụ chưa hoàn thành."},showFilenameMatchIcons:{name:"Biểu tượng theo tên tệp",desc:"Gán biểu tượng cho tệp dựa trên văn bản trong tên."},fileNameIconMap:{name:"Bản đồ biểu tượng tên tệp",desc:"Tệp chứa văn bản sẽ nhận biểu tượng được chỉ định. Một ánh xạ mỗi dòng: văn bản=biểu tượng",placeholder:`# văn bản=biểu tượng
họp=ph-calendar
hóa đơn=ph-receipt`,editTooltip:"Chỉnh sửa ánh xạ"},showCategoryIcons:{name:"Biểu tượng theo loại tệp",desc:"Gán biểu tượng cho tệp dựa trên phần mở rộng."},fileTypeIconPreset:{name:"Cài đặt sẵn biểu tượng tệp",desc:"Chọn biểu tượng tích hợp hoặc cài đặt sẵn của gói biểu tượng. Quy tắc phần mở rộng tùy chỉnh ghi đè cài đặt sẵn này.",options:{none:"Biểu tượng tích hợp"},notInstalledWarning:"Gói biểu tượng này chưa được cài đặt. Biểu tượng tích hợp sẽ được hiển thị thay thế."},fileTypeIconMap:{name:"Bản đồ biểu tượng loại tệp",desc:"Tệp có phần mở rộng sẽ nhận biểu tượng được chỉ định. Một ánh xạ mỗi dòng: phần mở rộng=biểu tượng",placeholder:`# Extension=icon
cpp=ph-file-code
pdf=ph-file-pdf`,editTooltip:"Chỉnh sửa ánh xạ"},compactItemHeight:{name:"Chiều cao mục gọn",desc:"Đặt chiều cao mục danh sách gọn trên máy tính và di động (pixel).",resetTooltip:"Đặt lại mặc định (28px)"},compactItemHeightScaleText:{name:"Co chữ theo chiều cao mục gọn",desc:"Co chữ danh sách gọn khi giảm chiều cao mục."},showParentFolder:{name:"Hiện thư mục cha",desc:"Hiển thị tên thư mục cha cho ghi chú trong thư mục con, thẻ hoặc thuộc tính."},showParentFolderFullPath:{name:"Hiện đường dẫn đầy đủ",desc:"Hiển thị đường dẫn đầy đủ của thư mục cha thay vì chỉ tên thư mục."},parentFolderClickRevealsFile:{name:"Nhấn thư mục cha để mở thư mục",desc:"Nhấn nhãn thư mục cha sẽ mở thư mục trong bảng danh sách."},showParentFolderColor:{name:"Hiện màu thư mục cha",desc:"Dùng màu thư mục trên nhãn thư mục cha."},showParentFolderIcon:{name:"Hiện biểu tượng thư mục cha",desc:"Hiện biểu tượng thư mục bên cạnh nhãn thư mục cha."},showQuickActions:{name:"Hiện thao tác nhanh",desc:"Hiện nút thao tác khi di chuột qua tệp. Điều khiển nút chọn thao tác xuất hiện."},dualPane:{name:"Bố cục hai ngăn",desc:"Hiện ngăn điều hướng và ngăn danh sách cạnh nhau trên máy tính."},dualPaneOrientation:{name:"Hướng hai ngăn",desc:"Chọn bố cục ngang hoặc dọc khi bật hai ngăn.",options:{horizontal:"Chia ngang",vertical:"Chia dọc"}},narrowSidebarLayout:{name:"Khi thanh bên quá hẹp",desc:"Chọn điều xảy ra khi ngăn điều hướng và ngăn danh sách không vừa khi đặt cạnh nhau.",options:{none:"Không làm gì",singlePane:"Chuyển sang một ngăn",vertical:"Chuyển sang chia dọc"}},narrowSidebarTrigger:{name:"Ngưỡng thanh bên hẹp",desc:"Chọn cách tính ngưỡng chiều rộng của thanh bên.",options:{fitPanes:"Vừa các ngăn",customWidth:"Chiều rộng tùy chỉnh"}},narrowSidebarCustomWidth:{name:"Chiều rộng ngưỡng thanh bên hẹp",desc:"Chuyển khi thanh bên hẹp hơn chiều rộng này.",resetTooltip:"Đặt lại về chiều rộng mặc định"},appearanceBackground:{name:"Màu nền",desc:"Chọn màu nền cho ngăn điều hướng và danh sách.",options:{separate:"Nền riêng",primary:"Dùng nền danh sách",secondary:"Dùng nền điều hướng"}},appearanceScale:{name:"Mức thu phóng",desc:"Điều khiển mức thu phóng tổng thể của Notebook Navigator (phần trăm)."},useFloatingToolbars:{name:"Sử dụng thanh công cụ nổi trên iOS/iPadOS",desc:"Chỉ áp dụng trên iOS và iPadOS."},startView:{name:"Chế độ xem khởi động mặc định",desc:"Chọn ngăn hiển thị khi mở Notebook Navigator. Ngăn điều hướng hiện lối tắt, tệp gần đây và cây thư mục. Ngăn danh sách hiện danh sách tệp ngay.",options:{navigation:"Ngăn điều hướng",files:"Ngăn danh sách"}},toolbarButtons:{name:"Nút thanh công cụ",desc:"Chọn nút xuất hiện trên thanh công cụ. Nút ẩn vẫn truy cập được qua lệnh và menu.",navigationLabel:"Thanh công cụ điều hướng",listLabel:"Thanh công cụ danh sách"},createNewNotesInNewTab:{name:"Mở ghi chú mới trong tab mới",desc:"Khi bật, lệnh Tạo ghi chú mới sẽ mở ghi chú trong tab mới. Khi tắt, ghi chú sẽ thay thế tab hiện tại."},autoRevealActiveNote:{name:"Tự động hiện ghi chú đang hoạt động",desc:"Tự động hiện ghi chú khi mở từ Quick Switcher, liên kết hoặc tìm kiếm."},autoRevealShortestPath:{name:"Tự động hiển thị: Sử dụng đường dẫn ngắn nhất",desc:"Bật: Tự động hiển thị chọn thư mục cha hoặc thẻ gần nhất có thể nhìn thấy. Tắt: Tự động hiển thị chọn thư mục thực tế và thẻ chính xác của tệp."},autoRevealIgnoreRightSidebar:{name:"Tự động hiển thị: Bỏ qua sự kiện từ thanh bên phải",desc:"Không đổi ghi chú đang hoạt động khi nhấn hoặc đổi ghi chú ở thanh bên phải."},autoRevealIgnoreOtherWindows:{name:"Tự động hiển thị: Bỏ qua sự kiện từ cửa sổ khác",desc:"Không đổi ghi chú đang hoạt động khi làm việc với ghi chú ở cửa sổ khác."},paneTransitionDuration:{name:"Hoạt ảnh ngăn đơn",desc:"Thời lượng chuyển đổi khi chuyển giữa các ngăn trong chế độ ngăn đơn (mili giây).",resetTooltip:"Đặt lại mặc định"},autoSelectFirstFileOnFocusChange:{name:"Tự động chọn ghi chú đầu tiên",desc:"Tự động mở ghi chú đầu tiên khi chuyển thư mục, thẻ hoặc thuộc tính."},skipAutoScroll:{name:"Tắt tự động cuộn cho lối tắt",desc:"Không cuộn ngăn điều hướng khi nhấn mục trong lối tắt."},autoExpandNavItems:{name:"Mở rộng khi chọn",desc:"Mở rộng thư mục và thẻ khi chọn. Ở chế độ một ngăn, chọn lần đầu mở rộng, chọn lần hai hiện tệp."},collapseOtherBranchesOnExpand:{name:"Một nhánh được mở rộng",desc:"Thu gọn các nhánh khác trong cùng một cây khi mở rộng thư mục, thẻ hoặc thuộc tính."},springLoadedFolders:{name:"Mở rộng khi kéo",desc:"Mở rộng thư mục và thẻ khi di chuột qua trong lúc kéo."},springLoadedFoldersInitialDelay:{name:"Mở rộng khi kéo: Độ trễ mở rộng lần đầu",desc:"Độ trễ trước khi thư mục hoặc thẻ đầu tiên được mở rộng trong lúc kéo (giây)."},springLoadedFoldersSubsequentDelay:{name:"Mở rộng khi kéo: Độ trễ mở rộng tiếp theo",desc:"Độ trễ trước khi mở rộng thêm thư mục hoặc thẻ trong cùng một lần kéo (giây)."},navigationBanner:{name:"Banner điều hướng (hồ sơ vault)",desc:"Hiển thị ảnh phía trên ngăn điều hướng. Thay đổi theo hồ sơ vault đã chọn.",current:"Banner hiện tại: {path}",chooseButton:"Chọn ảnh"},pinNavigationBanner:{name:"Ghim biểu ngữ",desc:"Ghim biểu ngữ điều hướng phía trên cây điều hướng."},showShortcuts:{name:"Hiện lối tắt",desc:"Hiển thị phần lối tắt trong ngăn điều hướng."},shortcutBadgeDisplay:{name:"Huy hiệu lối tắt",desc:"Nội dung hiển thị bên cạnh lối tắt. Sử dụng lệnh 'Mở lối tắt 1-9' để mở lối tắt trực tiếp.",options:{index:"Vị trí (1-9)",count:"Số lượng mục",none:"Không có"}},showRecentNotes:{name:"Hiện tệp gần đây",desc:"Hiển thị phần tệp gần đây trong ngăn điều hướng."},hideRecentNotes:{name:"Ẩn loại tệp khỏi tệp gần đây",desc:"Chọn loại tệp cần ẩn trong phần tệp gần đây.",options:{none:"Không",folderNotes:"Ghi chú thư mục"}},recentNotesCount:{name:"Số lượng tệp gần đây",desc:"Số tệp gần đây để hiển thị."},pinRecentNotesWithShortcuts:{name:"Ghim tệp gần đây cùng lối tắt",desc:"Bao gồm tệp gần đây khi lối tắt được ghim."},calendarEnabled:{name:"Bật lịch",desc:"Bật các tính năng lịch của Notebook Navigator."},calendarPlacement:{name:"Vị trí lịch",desc:"Hiển thị trong thanh bên trái hoặc phải.",options:{leftSidebar:"Thanh bên trái",rightSidebar:"Thanh bên phải"}},calendarLeftPlacement:{name:"Vị trí chế độ bảng đơn",desc:"Nơi hiển thị lịch trong chế độ bảng đơn.",options:{navigationPane:"Bảng điều hướng",below:"Bên dưới các bảng"}},calendarLocale:{name:"Ngôn ngữ",desc:"Điều khiển định dạng ngày trong lịch, đánh số tuần và ngày đầu tuần.",weekPathMismatchWarning:"Lịch hiển thị và đường dẫn ghi chú hàng tuần sử dụng các ngày bắt đầu tuần hoặc cách đánh số tuần khác nhau.",options:{systemDefault:"Mặc định"}},calendarWeekendDays:{name:"Ngày cuối tuần",desc:"Hiển thị ngày cuối tuần với màu nền khác.",options:{none:"Không",satSun:"Thứ bảy và chủ nhật",friSat:"Thứ sáu và thứ bảy",thuFri:"Thứ năm và thứ sáu"}},calendarMonthHeadingFormat:{name:"Định dạng tên tháng",desc:"Tên tháng đầy đủ (tháng 1) hoặc viết tắt (Thg 01).",options:{full:"tháng 1 (đầy đủ)",short:"Thg 01 (ngắn)"}},showInfoButtons:{name:"Hiển thị nút thông tin",desc:"Hiển thị nút thông tin trên thanh tìm kiếm và tiêu đề lịch."},calendarWeeksToShow:{name:"Số tuần hiển thị trong thanh bên trái",desc:"Lịch trong thanh bên phải luôn hiển thị cả tháng.",options:{fullMonth:"Cả tháng",oneWeek:"1 tuần",weeksCount:"{count} tuần"}},calendarHighlightToday:{name:"Làm nổi bật ngày hôm nay",desc:"Làm nổi bật ngày hôm nay bằng màu nền và chữ in đậm."},calendarShowFeatureImage:{name:"Hiển thị hình ảnh nổi bật",desc:"Hiển thị hình ảnh nổi bật của ghi chú trong lịch."},calendarShowWeekNumber:{name:"Hiển thị số tuần",desc:"Thêm cột với số tuần."},calendarShowQuarter:{name:"Hiển thị quý",desc:"Thêm nhãn quý vào tiêu đề lịch."},calendarShowYearCalendar:{name:"Hiển thị lịch năm",desc:"Hiển thị điều hướng năm và lưới tháng trong thanh bên phải."},calendarConfirmBeforeCreate:{name:"Xác nhận trước khi tạo",desc:"Hiển thị hộp thoại xác nhận khi tạo ghi chú hàng ngày mới."},calendarIntegrationMode:{name:"Nguồn ghi chú hàng ngày",desc:"Nguồn cho ghi chú lịch.",options:{dailyNotes:"Ghi chú hàng ngày (plugin lõi)",notebookNavigator:"Notebook Navigator"},info:{dailyNotes:"Thư mục và định dạng ngày được cấu hình trong plugin Daily Notes cốt lõi."}},calendarPeriodicNotesLocale:{name:"Ngôn ngữ ghi chú định kỳ",desc:"Điều khiển tên tháng, tên ngày trong tuần, số tuần và ngày bắt đầu tuần được bản địa hóa trong đường dẫn ghi chú định kỳ của Notebook Navigator.",options:{calendar:"Lịch",obsidian:"Obsidian"}},calendarCustomRootFolder:{name:"Thư mục gốc",desc:"Thư mục cơ sở cho ghi chú định kỳ. Mẫu ngày có thể bao gồm thư mục con. Thay đổi theo hồ sơ vault đã chọn.",placeholder:"Personal/Diary"},calendarTemplateFolder:{name:"Vị trí thư mục mẫu",desc:"Trình chọn tệp mẫu hiển thị ghi chú từ thư mục này.",placeholder:"Templates",usage:"Được dùng bởi ghi chú lịch và ghi chú thư mục. Cấu hình mẫu trong Lịch > Tích hợp lịch và Thư mục và ghi chú thư mục > Tệp ghi chú thư mục."},calendarCustomFilePattern:{name:"Ghi chú hàng ngày",desc:"Định dạng đường dẫn sử dụng định dạng ngày Moment. Đặt tên thư mục con trong dấu ngoặc vuông, vd: [Work]/YYYY. Nhấp vào biểu tượng mẫu để đặt mẫu. Đặt vị trí thư mục mẫu trong Thao tác tệp > Mẫu.",momentDescPrefix:"Định dạng đường dẫn sử dụng ",momentLinkText:"định dạng ngày Moment",momentDescSuffix:". Đặt tên thư mục con trong dấu ngoặc vuông, vd: [Work]/YYYY. Nhấp vào biểu tượng mẫu để đặt mẫu. Đặt vị trí thư mục mẫu trong Thao tác tệp > Mẫu.",templaterSupportInstalled:"✅ Plugin Templater đã được cài đặt với hỗ trợ mẫu đầy đủ.",templaterSupportMissing:"⚠️ Cài đặt plugin Templater để hỗ trợ mẫu đầy đủ.",placeholder:"YYYY/YYYYMMDD",example:"Cú pháp hiện tại: {path}",parsingError:"Mẫu phải có thể định dạng và phân tích lại thành một ngày đầy đủ (năm, tháng, ngày)."},calendarCustomWeekPattern:{name:"Ghi chú hàng tuần",parsingError:"Mẫu phải có thể định dạng và phân tích lại thành một tuần đầy đủ (năm tuần, số tuần).",weekPathMismatchWarning:'Đường dẫn ghi chú hàng tuần sử dụng ngôn ngữ ghi chú định kỳ. Sử dụng ngôn ngữ phù hợp, hoặc sử dụng "GGGG" với "WW" cho tuần bắt đầu từ thứ Hai.',mixedWeekTokensWarning:'Mẫu này trộn lẫn token tuần bắt đầu từ thứ Hai ("W" hoặc "G") với token tuần dựa trên ngôn ngữ ("w" hoặc "g"). Sử dụng một bộ một cách nhất quán: "GGGG" với "WW" cho tuần bắt đầu từ thứ Hai, hoặc "gggg" với "ww" nếu ghi chú hàng tuần cần tuân theo ngôn ngữ đã chọn.'},calendarCustomMonthPattern:{name:"Ghi chú hàng tháng",parsingError:"Mẫu phải có thể định dạng và phân tích lại thành một tháng đầy đủ (năm, tháng)."},calendarCustomQuarterPattern:{name:"Ghi chú hàng quý",parsingError:"Mẫu phải có thể định dạng và phân tích lại thành một quý đầy đủ (năm, quý)."},calendarCustomYearPattern:{name:"Ghi chú hàng năm",parsingError:"Mẫu phải có thể định dạng và phân tích lại thành một năm đầy đủ (năm)."},calendarTemplateFile:{current:"Tệp mẫu: {name}"},showTooltips:{name:"Hiện chú thích",desc:"Hiển thị chú thích khi di chuột với thông tin bổ sung cho ghi chú và thư mục."},showTooltipPath:{name:"Hiện đường dẫn trong chú thích",desc:"Hiển thị đường dẫn thư mục bên dưới tên ghi chú trong chú thích."},showTooltipWordCount:{name:"Hiện số từ trong chú thích",desc:"Hiển thị số từ của ghi chú trong chú thích."},resetPaneSeparator:{name:"Đặt lại vị trí thanh phân cách",desc:"Đặt lại thanh phân cách kéo được giữa ngăn điều hướng và ngăn danh sách về vị trí mặc định.",buttonText:"Đặt lại thanh phân cách",notice:"Đã đặt lại vị trí thanh phân cách. Khởi động lại Obsidian hoặc mở lại Notebook Navigator để áp dụng."},settingsTransfer:{name:"Nhập và xuất cài đặt",desc:"Xuất hoặc nhập cài đặt Notebook Navigator dưới dạng JSON. Việc nhập sẽ thay thế tất cả cài đặt.",importButtonText:"Nhập",exportButtonText:"Xuất",import:{modalTitle:"Nhập cài đặt",fileButtonName:"Nhập từ tệp",fileButtonDesc:"Tải tệp JSON từ ổ đĩa.",fileButtonText:"Nhập từ tệp",editorName:"JSON",editorDesc:"Dán hoặc chỉnh sửa JSON bên dưới. Các cài đặt không được bao gồm sẽ được đặt lại về mặc định.",placeholder:`{
  "folderSortOrder": "alpha-desc"
}`,confirmButtonText:"Nhập",successNotice:"Đã nhập cài đặt.",errorNotice:"Nhập cài đặt thất bại: {message}",fileReadError:"Không thể đọc tệp: {message}"},export:{modalTitle:"Xuất cài đặt",editorName:"JSON",editorDesc:"Chỉ bao gồm các cài đặt đã thay đổi so với mặc định.",placeholder:"{}",copyButtonText:"Sao chép vào bộ nhớ tạm",downloadButtonText:"Tải xuống",copyNotice:"Đã sao chép cài đặt vào bộ nhớ tạm.",downloadNotice:"Đã xuất cài đặt.",downloadError:"Xuất cài đặt thất bại: {message}"}},resetAllSettings:{name:"Đặt lại tất cả cài đặt",desc:"Đặt lại tất cả cài đặt Notebook Navigator về giá trị mặc định.",buttonText:"Đặt lại tất cả cài đặt",confirmTitle:"Đặt lại tất cả cài đặt?",confirmMessage:"Thao tác này sẽ đặt lại tất cả cài đặt Notebook Navigator về giá trị mặc định. Không thể hoàn tác.",confirmButtonText:"Đặt lại tất cả cài đặt",notice:"Đã đặt lại tất cả cài đặt. Khởi động lại Obsidian hoặc mở lại Notebook Navigator để áp dụng.",error:"Đặt lại cài đặt thất bại"},multiSelectModifier:{name:"Phím bổ trợ chọn nhiều",desc:"Chọn phím bổ trợ để bật/tắt chọn nhiều. Khi chọn Option/Alt, nhấn Cmd/Ctrl mở ghi chú trong tab mới.",options:{cmdCtrl:"Nhấn Cmd/Ctrl",optionAlt:"Nhấn Option/Alt"}},enterToOpenFiles:{name:"Nhấn Enter để mở tệp",desc:"Chỉ mở tệp khi nhấn Enter trong quá trình điều hướng bằng bàn phím trong danh sách. Trên macOS, thao tác này ngăn Enter đổi tên tệp."},shiftEnterOpenContext:{name:"Shift+Enter",desc:"Chọn Shift+Enter mở hay đổi tên tệp đã chọn."},cmdEnterOpenContext:{name:"Cmd+Enter",desc:"Chọn Cmd+Enter mở hay đổi tên tệp đã chọn."},ctrlEnterOpenContext:{name:"Ctrl+Enter",desc:"Chọn Ctrl+Enter mở hay đổi tên tệp đã chọn."},mouseBackForwardAction:{name:"Nút quay lại/tiến lên của chuột",desc:"Hành động cho nút quay lại và tiến lên của chuột trên máy tính.",options:{none:"Sử dụng mặc định hệ thống",singlePaneSwitch:"Chuyển ngăn (một ngăn)",history:"Điều hướng lịch sử"}},fileVisibility:{name:"Hiện loại tệp (hồ sơ vault)",desc:"Lọc loại tệp hiển thị trong trình điều hướng. Loại tệp không được Obsidian hỗ trợ có thể mở bằng ứng dụng ngoài.",options:{documents:"Tài liệu (.md, .canvas, .base)",supported:"Được hỗ trợ (mở trong Obsidian)",all:"Tất cả (có thể mở ngoài)"}},homepage:{name:"Trang chủ",desc:"Chọn nội dung Notebook Navigator mở tự động khi khởi động.",current:"Hiện tại: {path}",chooseButton:"Chọn tệp",options:{none:"Không",file:"Tệp",dailyNote:"Ghi chú hàng ngày",weeklyNote:"Ghi chú hàng tuần",monthlyNote:"Ghi chú hàng tháng",quarterlyNote:"Ghi chú hàng quý",yearlyNote:"Ghi chú hàng năm"},file:{name:"Trang chủ: Tệp khởi động",empty:"Chưa chọn tệp"},createMissing:{name:"Trang chủ: Tạo ghi chú nếu thiếu",desc:"Tạo ghi chú định kỳ khi khởi động hoặc qua lệnh nếu chưa tồn tại."}},excludedNotes:{name:"Ẩn ghi chú theo quy tắc thuộc tính (hồ sơ vault)",desc:"Danh sách quy tắc frontmatter phân cách bằng dấu phẩy. Sử dụng mục `key` hoặc `key=value` (ví dụ: status=done, published=true, archived).",placeholder:"status=done, published=true, archived"},excludedFileNamePatterns:{name:"Ẩn tệp (hồ sơ vault)",desc:"Danh sách mẫu tên tệp phân cách bằng dấu phẩy để ẩn. Hỗ trợ ký tự đại diện * và đường dẫn / (ví dụ: temp-*, *.png, /assets/*).",placeholder:"temp-*, *.png, /assets/*"},vaultProfiles:{name:"Hồ sơ vault",desc:"Hồ sơ lưu trữ hiển thị loại tệp, tệp ẩn, thư mục ẩn, thẻ ẩn, quy tắc thuộc tính cho ghi chú ẩn, lối tắt và banner điều hướng. Chuyển hồ sơ từ header ngăn điều hướng.",defaultName:"Mặc định",addButton:"Thêm hồ sơ",editProfilesButton:"Sửa hồ sơ",addProfileOption:"Thêm hồ sơ...",applyButton:"Áp dụng",deleteButton:"Xóa hồ sơ",addModalTitle:"Thêm hồ sơ",editProfilesModalTitle:"Sửa hồ sơ",addModalPlaceholder:"Tên hồ sơ",deleteModalTitle:"Xóa {name}",deleteModalMessage:"Gỡ {name}? Bộ lọc tệp, thư mục, thẻ và ghi chú dựa trên thuộc tính được lưu trong hồ sơ này sẽ bị xóa.",moveUp:"Di chuyển lên",moveDown:"Di chuyển xuống",errors:{emptyName:"Nhập tên hồ sơ",duplicateName:"Tên hồ sơ đã tồn tại"}},vaultTitle:{name:"Vị trí tiêu đề vault",desc:"Chọn nơi tiêu đề vault được hiển thị.",options:{header:"Hiển thị ở tiêu đề",navigation:"Hiển thị trong bảng điều hướng"}},excludedFolders:{name:"Ẩn thư mục (hồ sơ vault)",desc:"Danh sách thư mục cần ẩn phân cách bằng dấu phẩy. Mẫu tên: assets* (thư mục bắt đầu bằng assets), *_temp (kết thúc bằng _temp). Mẫu đường dẫn: /archive (chỉ archive gốc), /res* (thư mục gốc bắt đầu bằng res), /*/temp (thư mục temp ở độ sâu một cấp), /projects/* (tất cả thư mục trong projects).",placeholder:"mẫu, assets*, /lưu trữ, /res*"},showFileDate:{name:"Hiện ngày",desc:"Hiển thị ngày bên dưới tên ghi chú."},alphabeticalDateMode:{name:"Khi sắp xếp theo tên",desc:"Ngày hiển thị khi ghi chú được sắp xếp theo bảng chữ cái.",options:{created:"Ngày tạo",modified:"Ngày sửa"}},showFileTags:{name:"Hiện thẻ tệp",desc:"Hiển thị thẻ có thể nhấn trong mục tệp."},showFileTagAncestors:{name:"Hiện đường dẫn thẻ đầy đủ",desc:"Hiển thị đường dẫn phân cấp thẻ đầy đủ. Khi bật: 'ai/openai', 'công việc/dự án/2024'. Khi tắt: 'openai', '2024'."},colorFileTags:{name:"Tô màu thẻ tệp",desc:"Áp dụng màu thẻ cho huy hiệu thẻ trên mục tệp."},prioritizeColoredFileTags:{name:"Hiện thẻ có màu trước",desc:"Sắp xếp thẻ có màu trước các thẻ khác trên mục tệp."},showFileTagsInCompactMode:{name:"Hiện thẻ tệp ở chế độ gọn",desc:"Hiển thị thẻ khi ngày, xem trước và ảnh bị ẩn."},showFileProperties:{name:"Hiện thuộc tính tệp",desc:'Hiển thị các thuộc tính trong mục tệp. Dùng hộp thoại "Hiển thị khóa thuộc tính" để chọn thuộc tính nào được hiển thị.'},colorFileProperties:{name:"Tô màu thuộc tính tệp",desc:"Áp dụng màu thuộc tính cho huy hiệu thuộc tính trên mục tệp."},prioritizeColoredFileProperties:{name:"Hiện thuộc tính có màu trước",desc:"Sắp xếp thuộc tính có màu trước các thuộc tính khác trên mục tệp."},showFilePropertiesInCompactMode:{name:"Hiện thuộc tính ở chế độ gọn",desc:"Hiển thị thuộc tính khi chế độ gọn đang hoạt động."},textCountDisplay:{name:"Loại bộ đếm",desc:"Chọn số liệu ghi chú xuất hiện trong mục tệp.",options:{none:"Không",words:"Số từ",characters:"Số ký tự",both:"Số từ và ký tự"}},textCountPlacement:{name:"Vị trí",desc:"Chọn nơi hiển thị số liệu ghi chú.",options:{title:"Trong tiêu đề",property:"Dưới dạng thuộc tính"}},characterCountSpaces:{name:"Số ký tự",desc:"Chọn có tính khoảng trắng trong số ký tự hay không.",options:{include:"Bao gồm khoảng trắng",exclude:"Không bao gồm khoảng trắng"}},wordCountTargetProperty:{name:"Thuộc tính mục tiêu",desc:"Khóa thuộc tính frontmatter chứa số từ mục tiêu. Để trống để ẩn mục tiêu."},showWordCountPercentage:{name:"Hiển thị phần trăm mục tiêu",desc:"Chỉ hiển thị phần trăm tiến độ khi có số từ mục tiêu."},propertyFields:{name:"Khóa thuộc tính (hồ sơ kho)",desc:"Các khóa thuộc tính frontmatter, với khả năng thiết lập hiển thị từng khóa cho điều hướng và danh sách tệp.",addButtonTooltip:"Cấu hình khóa thuộc tính",noneConfigured:"Chưa cấu hình thuộc tính nào",singleConfigured:"1 thuộc tính đã cấu hình: {properties}",multipleConfigured:"{count} thuộc tính đã cấu hình: {properties}"},showPropertiesOnSeparateRows:{name:"Hiển thị thuộc tính trên các dòng riêng",desc:"Hiển thị mỗi thuộc tính trên một dòng riêng."},enablePropertyInternalLinks:{name:"Liên kết nhãn thuộc tính với ghi chú",desc:"Nhấp vào nhãn thuộc tính để mở ghi chú được liên kết."},enablePropertyExternalLinks:{name:"Liên kết nhãn thuộc tính với URL",desc:"Nhấp vào nhãn thuộc tính để mở URL được liên kết."},dateFormat:{name:"Định dạng ngày",desc:"Định dạng hiển thị ngày (dùng định dạng Moment).",placeholder:"D MMM YYYY",help:`Định dạng phổ biến:
D MMM YYYY = 25 Th5 2022
DD/MM/YYYY = 25/05/2022
YYYY-MM-DD = 2022-05-25

Token:
YYYY/YY = năm
MMMM/MMM/MM = tháng
DD/D = ngày
dddd/ddd = thứ`,helpTooltip:"Định dạng với Moment",momentLinkText:"định dạng Moment"},timeFormat:{name:"Định dạng giờ",desc:"Định dạng hiển thị giờ (dùng định dạng Moment).",placeholder:"HH:mm",help:`Định dạng phổ biến:
h:mm a = 2:30 PM (12 giờ)
HH:mm = 14:30 (24 giờ)
h:mm:ss a = 2:30:45 PM
HH:mm:ss = 14:30:45

Token:
HH/H = 24 giờ
hh/h = 12 giờ
mm = phút
ss = giây
a = SA/CH`,helpTooltip:"Định dạng với Moment",momentLinkText:"định dạng Moment"},showFilePreview:{name:"Hiện xem trước ghi chú",desc:"Hiển thị văn bản xem trước bên dưới tên ghi chú."},skipHeadingsInPreview:{name:"Bỏ qua tiêu đề trong xem trước",desc:"Bỏ qua dòng tiêu đề khi tạo văn bản xem trước."},skipCodeBlocksInPreview:{name:"Bỏ qua khối code trong xem trước",desc:"Bỏ qua khối code khi tạo văn bản xem trước."},stripHtmlInPreview:{name:"Xóa HTML trong xem trước",desc:"Xóa thẻ HTML khỏi văn bản xem trước. Có thể ảnh hưởng đến hiệu suất với ghi chú lớn."},stripLatexInPreview:{name:"Xóa LaTeX trong xem trước",desc:"Xóa biểu thức LaTeX nội tuyến và khối khỏi văn bản xem trước."},previewProperties:{name:"Thuộc tính xem trước",desc:"Danh sách thuộc tính frontmatter phân cách bằng dấu phẩy để kiểm tra văn bản xem trước. Thuộc tính đầu tiên có văn bản sẽ được dùng.",placeholder:"summary, description, abstract"},previewPropertiesFallback:{name:"Quay lại nội dung ghi chú",desc:"Hiển thị nội dung ghi chú làm xem trước khi không có thuộc tính nào được chỉ định chứa văn bản."},previewRows:{name:"Dòng xem trước",desc:"Số dòng hiển thị cho văn bản xem trước.",options:{1:"1 dòng",2:"2 dòng",3:"3 dòng",4:"4 dòng",5:"5 dòng"}},fileNameRows:{name:"Dòng tiêu đề",desc:"Số dòng hiển thị cho tiêu đề ghi chú.",options:{1:"1 dòng",2:"2 dòng",3:"3 dòng"}},useFolderColor:{name:"Dùng màu thư mục",desc:"Tô màu tiêu đề ghi chú và biểu tượng tệp bằng màu của thư mục cha khi không có màu tệp tùy chỉnh được đặt. Ưu tiên: màu tệp tùy chỉnh > màu thư mục > màu mặc định."},showFeatureImage:{name:"Hiện ảnh nổi bật",desc:"Hiển thị hình thu nhỏ của hình ảnh đầu tiên trong ghi chú."},forceSquareFeatureImage:{name:"Buộc ảnh nổi bật vuông",desc:"Hiển thị ảnh nổi bật dạng thu nhỏ vuông."},featureImageProperties:{name:"Thuộc tính ảnh",desc:"Danh sách thuộc tính frontmatter phân cách bằng dấu phẩy để kiểm tra trước. Nếu không tìm thấy, sử dụng ảnh đầu tiên trong nội dung markdown.",placeholder:"thumbnail, featureResized, feature"},featureImageExcludeProperties:{name:"Loại trừ ghi chú có thuộc tính",desc:"Danh sách thuộc tính frontmatter phân cách bằng dấu phẩy. Ghi chú chứa bất kỳ thuộc tính nào trong số này không lưu trữ ảnh nổi bật.",placeholder:"private, confidential"},featureImageSize:{name:"Kích thước hiển thị ảnh nổi bật",desc:"Kích thước hiển thị tối đa cho ảnh nổi bật trong danh sách ghi chú.",options:{standard:"64 px",large:"96 px",extraLarge:"128 px"}},featureImagePixelSize:{name:"Kích thước pixel ảnh nổi bật",desc:"Độ phân giải được sử dụng khi tạo hình thu nhỏ ảnh nổi bật đã lưu. Tăng giá trị này nếu bản xem trước lớn hơn bị mờ.",options:{standard:"256 x 144 px",large:"384 x 216 px",extraLarge:"512 x 288 px"}},downloadExternalFeatureImages:{name:"Tải hình ảnh bên ngoài",desc:"Tải hình ảnh từ xa và hình thu nhỏ YouTube cho hình ảnh nổi bật."},hideDrawingPreviewImages:{name:"Ẩn ảnh xem trước đã xuất",desc:'Ẩn các tệp PNG xem trước bản vẽ đã xuất. Bật "Hiện mục ẩn" để hiển thị chúng.'},drawingIntegrationInfo:{intro:"Notebook Navigator hiển thị các tệp PNG được xuất từ Excalidraw làm bản xem trước của hình vẽ.",items:["Trong **cài đặt Excalidraw**, mở **Embedding Excalidraw into your Notes and Exporting**, rồi **Export Settings**, rồi **Auto-export Settings**.","Bật **Auto-export PNG**. Tuỳ chọn bật thêm **Export both dark- and light-themed image**.","Notebook Navigator tìm **Drawing.excalidraw.png**, **Drawing.excalidraw.dark.png** hoặc **Drawing.excalidraw.light.png**.","Khi **Ẩn ảnh xem trước đã xuất** đang bật, các tệp PNG chỉ xuất hiện khi **Hiện mục ẩn** cũng được bật."]},showRootFolder:{name:"Hiện thư mục gốc",desc:"Hiển thị tên vault làm thư mục gốc trong cây."},showFolderIcons:{name:"Hiện biểu tượng thư mục",desc:"Hiển thị biểu tượng bên cạnh thư mục trong ngăn điều hướng."},inheritFolderColors:{name:"Kế thừa màu thư mục",desc:"Thư mục con kế thừa màu từ thư mục cha."},folderSortOrder:{name:"Thứ tự sắp xếp thư mục",desc:"Nhấp chuột phải vào thư mục bất kỳ để thiết lập thứ tự sắp xếp khác cho các mục con.",options:{alphaAsc:"A đến Z",alphaDesc:"Z đến A"}},showNoteCount:{name:"Hiện số lượng ghi chú",desc:"Hiển thị số lượng ghi chú bên cạnh thư mục, thẻ và thuộc tính."},showSectionIcons:{name:"Hiện biểu tượng cho lối tắt và mục gần đây",desc:"Hiển thị biểu tượng bên cạnh các mục trong phần Lối tắt và Gần đây."},interfaceIcons:{name:"Biểu tượng giao diện",desc:"Chỉnh sửa biểu tượng thanh công cụ, thư mục, thẻ, thuộc tính, đã ghim, tìm kiếm và sắp xếp.",buttonText:"Chỉnh sửa biểu tượng"},showIconsColorOnly:{name:"Chỉ áp dụng màu cho biểu tượng",desc:"Khi bật, màu tùy chỉnh chỉ áp dụng cho biểu tượng. Khi tắt, màu áp dụng cho cả biểu tượng và nhãn văn bản."},navRainbowMode:{name:"Chế độ màu cầu vồng (hồ sơ vault)",desc:"Áp dụng màu cầu vồng trong bảng điều hướng.",options:{none:"Tắt",foreground:"Màu chữ",background:"Màu nền"}},navRainbowFirstColor:{name:"Màu đầu tiên",desc:"Màu đầu tiên trong dải chuyển màu cầu vồng."},navRainbowLastColor:{name:"Màu cuối cùng",desc:"Màu cuối cùng trong dải chuyển màu cầu vồng."},navRainbowTransitionStyle:{name:"Kiểu chuyển tiếp",desc:"Nội suy được sử dụng giữa màu đầu tiên và màu cuối cùng.",options:{hue:"Sắc độ",rgb:"RGB"}},navRainbowApplyToShortcuts:{name:"Áp dụng cho lối tắt",desc:"Áp dụng màu cầu vồng cho lối tắt."},navRainbowApplyToRecent:{name:"Áp dụng cho mục gần đây",desc:"Áp dụng màu cầu vồng cho mục gần đây."},navRainbowApplyToFolders:{name:"Áp dụng cho thư mục",desc:"Áp dụng màu cầu vồng cho thư mục."},navRainbowFolderScope:{name:"Phạm vi thư mục",desc:"Chọn cấp thư mục bắt đầu gán màu.",options:{root:"Cấp gốc",child:"Cấp con",all:"Mọi cấp"}},navRainbowApplyToTags:{name:"Áp dụng cho thẻ",desc:"Áp dụng màu cầu vồng cho thẻ."},navRainbowTagScope:{name:"Phạm vi thẻ",desc:"Chọn cấp thẻ bắt đầu gán màu.",options:{root:"Cấp gốc",child:"Cấp con",all:"Mọi cấp"}},navRainbowApplyToProperties:{name:"Áp dụng cho thuộc tính",desc:"Áp dụng màu cầu vồng cho thuộc tính."},navRainbowBalanceHueLuminance:{name:"Độ sáng đồng nhất giữa các sắc độ",desc:"Nội suy độ sáng giữa màu bắt đầu và màu kết thúc trong quá trình chuyển đổi sắc độ."},navRainbowSeparateThemeColors:{name:"Tách riêng màu chế độ sáng và tối",desc:"Sử dụng màu cầu vồng khác nhau cho chế độ sáng và chế độ tối."},navRainbowCopyLightToDark:"Sao chép màu chế độ sáng sang chế độ tối",navRainbowPropertyScope:{name:"Phạm vi thuộc tính",desc:"Chọn cấp thuộc tính bắt đầu gán màu.",options:{root:"Cấp gốc",child:"Cấp con",all:"Mọi cấp"}},collapseBehavior:{name:"Thu gọn mục",desc:"Chọn nút mở rộng/thu gọn tất cả ảnh hưởng đến gì.",options:{all:"Tất cả",foldersOnly:"Chỉ thư mục",tagsOnly:"Chỉ thẻ",propertiesOnly:"Chỉ thuộc tính"}},smartCollapse:{name:"Giữ mục đã chọn mở rộng",desc:"Khi thu gọn, giữ mục đã chọn và cha của nó mở rộng."},excludeVaultRootFromCollapse:{name:"Bỏ qua thư mục gốc vault khi thu gọn",desc:"Khi thu gọn tất cả mục, giữ thư mục gốc vault ở trạng thái hiện tại."},navIndent:{name:"Thụt lề cây",desc:"Điều chỉnh độ rộng thụt lề cho thư mục, thẻ và thuộc tính lồng nhau (pixel)."},navItemHeight:{name:"Chiều cao mục",desc:"Điều chỉnh chiều cao của thư mục, thẻ và thuộc tính trong ngăn điều hướng (pixel)."},navItemHeightScaleText:{name:"Co chữ theo chiều cao mục",desc:"Giảm cỡ chữ điều hướng khi giảm chiều cao mục."},showIndentGuides:{name:"Hiển thị đường dẫn thụt lề",desc:"Hiển thị đường dẫn thụt lề cho các thư mục, thẻ và thuộc tính lồng nhau."},navCountLeaderStyle:{name:"Hiển thị ký tự dẫn",desc:"Hiển thị dấu chấm, dấu gạch hoặc một đường kẻ giữa tên mục và số lượng ghi chú.",options:{none:"Không",dots:"Dấu chấm (...)",dashes:"Dấu gạch (---)",line:"Đường kẻ"}},navRootSpacing:{name:"Khoảng cách mục gốc",desc:"Khoảng cách giữa các thư mục, thẻ và thuộc tính cấp gốc (pixel)."},showTags:{name:"Hiện thẻ",desc:"Hiển thị phần thẻ trong trình điều hướng."},showTagIcons:{name:"Hiện biểu tượng thẻ",desc:"Hiển thị biểu tượng bên cạnh thẻ trong ngăn điều hướng."},inheritTagColors:{name:"Kế thừa màu thẻ",desc:"Thẻ con kế thừa màu từ thẻ cha."},tagSortOrder:{name:"Thứ tự sắp xếp thẻ",desc:"Nhấp chuột phải vào thẻ bất kỳ để thiết lập thứ tự sắp xếp khác cho các mục con.",options:{alphaAsc:"A đến Z",alphaDesc:"Z đến A",frequency:"Tần suất",lowToHigh:"thấp đến cao",highToLow:"cao đến thấp"}},showAllTagsFolder:{name:"Hiện thư mục thẻ",desc:'Hiển thị "Thẻ" như thư mục có thể thu gọn.'},showUntagged:{name:"Hiện ghi chú không có thẻ",desc:'Hiển thị mục "Không có thẻ" cho ghi chú không có thẻ nào.'},scopeTagsToCurrentContext:{name:"Lọc thẻ theo lựa chọn",desc:"Chỉ hiển thị thẻ xuất hiện trong ghi chú thuộc thư mục hoặc thuộc tính đã chọn."},keepEmptyTagsProperty:{name:"Giữ thuộc tính tags sau khi gỡ thẻ cuối",desc:"Giữ thuộc tính tags frontmatter khi tất cả thẻ bị gỡ. Khi tắt, thuộc tính tags bị xóa khỏi frontmatter."},showProperties:{name:"Hiển thị thuộc tính",desc:"Hiển thị phần thuộc tính trong trình điều hướng.",propertyKeysInfoPrefix:"Cấu hình thuộc tính trong ",propertyKeysInfoLinkText:"Bắt đầu > Khóa thuộc tính",propertyKeysInfoSuffix:""},showPropertyIcons:{name:"Hiển thị biểu tượng thuộc tính",desc:"Hiển thị biểu tượng bên cạnh thuộc tính trong bảng điều hướng."},inheritPropertyColors:{name:"Kế thừa màu thuộc tính",desc:"Giá trị thuộc tính kế thừa màu sắc và nền từ khóa thuộc tính."},propertySortOrder:{name:"Thứ tự sắp xếp thuộc tính",desc:"Nhấp chuột phải vào bất kỳ thuộc tính nào để đặt thứ tự sắp xếp khác cho các giá trị của nó.",options:{alphaAsc:"A đến Z",alphaDesc:"Z đến A",frequency:"Tần suất",lowToHigh:"thấp đến cao",highToLow:"cao đến thấp"}},showAllPropertiesFolder:{name:"Hiển thị thư mục thuộc tính",desc:'Hiển thị "Thuộc tính" dưới dạng thư mục có thể thu gọn.'},scopePropertiesToCurrentContext:{name:"Lọc thuộc tính theo lựa chọn",desc:"Chỉ hiển thị thuộc tính xuất hiện trong ghi chú thuộc thư mục hoặc thẻ đã chọn."},hiddenTags:{name:"Ẩn thẻ (hồ sơ vault)",desc:"Danh sách mẫu thẻ phân cách bằng dấu phẩy. Mẫu tên: tag* (bắt đầu bằng), *tag (kết thúc bằng). Mẫu đường dẫn: archive (thẻ và con cháu), archive/* (chỉ con cháu), projects/*/drafts (ký tự đại diện ở giữa).",placeholder:"archive*, *draft, projects/*/old"},hiddenFileTags:{name:"Ẩn ghi chú có thẻ (hồ sơ vault)",desc:"Comma-separated list of tag patterns. Notes containing matching tags are hidden. Name patterns: tag* (starting with), *tag (ending with). Path patterns: archive (tag and descendants), archive/* (descendants only), projects/*/drafts (mid-segment wildcard).",placeholder:"archive*, *draft, projects/*/old"},enableFolderNotes:{name:"Bật ghi chú thư mục",desc:"Thư mục có tệp ghi chú trùng khớp được hiển thị dưới dạng liên kết có thể nhấp."},folderNoteType:{name:"Loại ghi chú thư mục mặc định",desc:"Loại ghi chú thư mục tạo từ menu ngữ cảnh.",options:{ask:"Hỏi khi tạo",markdown:"Markdown",canvas:"Canvas",base:"Base"}},folderNoteName:{name:"Tên ghi chú thư mục",desc:"Tên ghi chú thư mục không có phần mở rộng. Để trống để dùng cùng tên với thư mục.",placeholder:"index"},folderNoteNamePattern:{name:"Mẫu tên ghi chú thư mục",desc:"Mẫu tên cho ghi chú thư mục không có phần mở rộng. Dùng {{folder}} để chèn tên thư mục. Khi được đặt, tên ghi chú thư mục không được áp dụng."},folderNoteTemplate:{name:"Mẫu ghi chú thư mục",desc:"Tệp mẫu được dùng khi tạo ghi chú thư mục. Mẫu Markdown có thể dùng Templater. Mẫu Canvas và Base được sao chép dưới dạng nội dung tệp. Đặt vị trí thư mục mẫu trong Thao tác tệp > Mẫu.",formatWarning:"Định dạng mẫu phải khớp với loại ghi chú thư mục đã chọn: .md, .canvas hoặc .base."},enableFolderNoteLinks:{name:"Tên thư mục mở ghi chú thư mục",desc:"Nhấp vào tên thư mục sẽ mở ghi chú thư mục của thư mục đó. Khi tắt, ghi chú thư mục chỉ cung cấp metadata thư mục như tên, biểu tượng và màu."},hideFolderNoteInList:{name:"Ẩn ghi chú thư mục trong danh sách",desc:"Ẩn ghi chú thư mục khỏi danh sách tệp."},pinCreatedFolderNote:{name:"Ghim ghi chú thư mục đã tạo",desc:"Ghim ghi chú thư mục khi tạo từ menu ngữ cảnh."},folderNoteOpenLocation:{name:"Mở ghi chú thư mục trong",desc:"Chọn nơi mở ghi chú thư mục khi nhấp vào liên kết ghi chú thư mục.",options:{currentTab:"Tab hiện tại",newTab:"Tab mới",rightSidebar:"Thanh bên phải"}},showNearestFolderNoteInSidebar:{name:"Thanh bên phải: Hiển thị ghi chú thư mục gần nhất",desc:"Khi một thư mục được chọn, thanh bên phải tự động hiển thị ghi chú thư mục tổ tiên gần nhất."},confirmBeforeDelete:{name:"Xác nhận trước khi xóa",desc:"Hiện hộp thoại xác nhận khi xóa ghi chú hoặc thư mục"},deleteAttachments:{name:"Xóa tệp đính kèm khi xóa tệp",desc:"Tự động xóa tệp đính kèm được liên kết và bản xem trước bản vẽ được tạo nếu chúng không được sử dụng ở nơi khác",options:{ask:"Hỏi mỗi lần",always:"Luôn luôn",never:"Không bao giờ"}},moveFileConflicts:{name:"Xung đột di chuyển",desc:"Khi di chuyển tệp vào thư mục đã có tệp cùng tên. Hỏi mỗi lần (đổi tên, ghi đè, hủy) hoặc luôn đổi tên.",options:{ask:"Hỏi mỗi lần",rename:"Luôn đổi tên"}},metadataCleanup:{name:"Dọn dẹp metadata",desc:"Gỡ metadata mồ côi còn sót lại khi tệp, thư mục, thẻ hoặc thuộc tính bị xóa, di chuyển hoặc đổi tên bên ngoài Obsidian. Điều này chỉ ảnh hưởng đến tệp cài đặt Notebook Navigator.",buttonText:"Dọn dẹp metadata",error:"Dọn dẹp cài đặt thất bại",loading:"Đang kiểm tra metadata...",statusClean:"Không có metadata cần dọn",statusCounts:"Mục mồ côi: {folders} thư mục, {tags} thẻ, {properties} thuộc tính, {files} tệp, {pinned} ghim, {separators} dấu phân cách"},rebuildCache:{name:"Xây dựng lại cache",desc:"Dùng nếu bạn gặp thẻ bị thiếu, xem trước không đúng hoặc ảnh nổi bật bị thiếu. Điều này có thể xảy ra sau xung đột đồng bộ hoặc đóng bất thường.",buttonText:"Xây dựng lại cache",error:"Không thể xây dựng lại cache",indexingTitle:"Đang lập chỉ mục vault...",progress:"Đang cập nhật cache Notebook Navigator."},externalIcons:{downloadButton:"Tải về",downloadingLabel:"Đang tải...",removeButton:"Gỡ bỏ",statusInstalled:"Đã tải (phiên bản {version})",statusNotInstalled:"Chưa tải",versionUnknown:"không rõ",downloadFailed:"Không thể tải {name}. Kiểm tra kết nối và thử lại.",removeFailed:"Không thể gỡ {name}.",infoNote:"Gói biểu tượng đã tải đồng bộ trạng thái cài đặt giữa các thiết bị. Gói biểu tượng ở trong cơ sở dữ liệu cục bộ trên mỗi thiết bị; đồng bộ chỉ theo dõi tải hay gỡ. Gói biểu tượng tải từ kho Notebook Navigator (https://github.com/johansan/notebook-navigator/tree/main/icon-assets)."},useFrontmatterDates:{name:"Dùng metadata frontmatter",desc:"Dùng frontmatter cho tên ghi chú, dấu thời gian, biểu tượng và màu"},frontmatterIconField:{name:"Trường biểu tượng",desc:"Trường frontmatter cho biểu tượng tệp. Để trống để dùng biểu tượng lưu trong cài đặt.",placeholder:"icon"},frontmatterColorField:{name:"Trường màu",desc:"Trường frontmatter cho màu tệp. Để trống để dùng màu lưu trong cài đặt.",placeholder:"color"},frontmatterBackgroundField:{name:"Trường nền",desc:"Trường frontmatter cho màu nền. Để trống để dùng màu nền lưu trong cài đặt.",placeholder:"background"},frontmatterMigration:{name:"Di chuyển biểu tượng và màu từ cài đặt",desc:"Lưu trong cài đặt: {icons} biểu tượng, {colors} màu.",button:"Di chuyển",buttonWorking:"Đang di chuyển...",noticeNone:"Không có biểu tượng hoặc màu tệp lưu trong cài đặt.",noticeDone:"Đã di chuyển {migratedIcons}/{icons} biểu tượng, {migratedColors}/{colors} màu.",noticeFailures:"Mục thất bại: {failures}.",noticeError:"Di chuyển thất bại. Kiểm tra console để biết chi tiết."},frontmatterNameField:{name:"Các trường tên",desc:"Danh sách trường frontmatter phân cách bằng dấu phẩy. Sử dụng giá trị không trống đầu tiên. Quay lại tên tệp.",placeholder:"title, name"},frontmatterCreatedField:{name:"Trường dấu thời gian tạo",desc:"Tên trường frontmatter cho dấu thời gian tạo. Để trống để chỉ dùng ngày hệ thống tệp.",placeholder:"created"},frontmatterModifiedField:{name:"Trường dấu thời gian sửa",desc:"Tên trường frontmatter cho dấu thời gian sửa. Để trống để chỉ dùng ngày hệ thống tệp.",placeholder:"modified"},frontmatterDateFormat:{name:"Định dạng dấu thời gian",desc:"Định dạng dùng để phân tích dấu thời gian trong frontmatter. Để trống để dùng định dạng ISO 8601",helpTooltip:"Định dạng với Moment",momentLinkText:"định dạng Moment",help:`Định dạng phổ biến:
YYYY-MM-DD[T]HH:mm:ss → 2025-01-04T14:30:45
YYYY-MM-DD[T]HH:mm:ssZ → 2025-08-07T16:53:39+02:00
DD/MM/YYYY HH:mm:ss → 04/01/2025 14:30:45
MM/DD/YYYY h:mm:ss a → 01/04/2025 2:30:45 PM`},supportDevelopment:{name:"Hỗ trợ phát triển",desc:"Nếu bạn thích dùng Notebook Navigator, hãy cân nhắc hỗ trợ việc phát triển liên tục.",buttonText:"❤️ Tài trợ",coffeeButton:"☕️ Mua cho tôi một ly cà phê"},updateCheckOnStart:{name:"Kiểm tra phiên bản mới khi khởi động",desc:"Kiểm tra bản phát hành plugin mới khi khởi động và hiện thông báo khi có bản cập nhật. Kiểm tra xảy ra tối đa một lần mỗi ngày.",status:"Có phiên bản mới: {version}"},debugLogging:{name:"Ghi log gỡ lỗi khi khởi động",desc:"Ghi chẩn đoán khởi động vào một tệp Markdown có dấu thời gian ở thư mục gốc của kho, rồi dừng sau khi khởi động ổn định. Tệp có thể được đồng bộ hóa và có thể bao gồm đường dẫn tệp."},whatsNew:{name:"Có gì mới trong Notebook Navigator {version}",desc:"Xem cập nhật và cải tiến gần đây",buttonText:"Xem cập nhật gần đây"},masteringVideo:{name:"Làm chủ Notebook Navigator (video)",desc:"Video này bao gồm mọi thứ bạn cần để làm việc hiệu quả với Notebook Navigator, bao gồm phím tắt, tìm kiếm, thẻ và tùy chỉnh nâng cao."},cacheStatistics:{localCache:"Cache cục bộ",items:"mục",withTags:"có thẻ",withPreviewText:"có văn bản xem trước",withFeatureImage:"có ảnh nổi bật",withMetadata:"có metadata"},metadataInfo:{successfullyParsed:"Đã phân tích thành công",itemsWithName:"mục có tên",withCreatedDate:"có ngày tạo",withModifiedDate:"có ngày sửa",withIcon:"có biểu tượng",withColor:"có màu",failedToParse:"Không thể phân tích",createdDates:"ngày tạo",modifiedDates:"ngày sửa",checkTimestampFormat:"Kiểm tra định dạng dấu thời gian.",exportFailed:"Xuất lỗi"}}},whatsNew:{title:"Có gì mới trong Notebook Navigator",openBannerImage:"Mở hình ảnh biểu ngữ phát hành",supportMessage:"Nếu bạn thấy Notebook Navigator hữu ích, hãy cân nhắc hỗ trợ việc phát triển.",supportButton:"Mua cho tôi một ly cà phê",thanksButton:"Cảm ơn!"}}});var iU={};In(iU,{STRINGS_ZH_CN:()=>ose});var ose,sU=U(()=>{ose={common:{cancel:"取消",delete:"删除",clear:"清除",remove:"移除",restoreDefault:"恢复默认",submit:"提交",save:"保存",configure:"配置",lightMode:"浅色模式",darkMode:"深色模式",noSelection:"未选择",untagged:"无标签",featureImageAlt:"特色图片",unknownError:"未知错误",clipboardWriteError:"无法写入剪贴板",updateBannerTitle:"Notebook Navigator 有可用更新",updateBannerInstruction:"在设置 -> 社区插件中更新",previous:"上一个",next:"下一个"},listPane:{emptyStateNoSelection:"选择文件夹或标签以查看笔记",emptyStateNoNotes:"无笔记",pinnedSection:"已固定",notesSection:"笔记",filesSection:"文件",hiddenItemAriaLabel:"{name} (已隐藏)",collapseGroup:"折叠分组",expandGroup:"展开分组",manualSortTitle:"手动排序: {property}",manualSortHint:'拖动以重新排序。顺序以数字索引值的形式保存在属性"{property}"中。',manualSortNonMarkdownHint:"非 Markdown 文件显示在底部，无法重新排序。",unsortedSection:"未排序",manualSortDone:"完成",manualSortMultipleWriteFailure:"{count} 个文件失败；第一个: {path}: {message}"},tagList:{untaggedLabel:"无标签",tags:"标签"},navigationPane:{shortcutsHeader:"快捷方式",recentFilesHeader:"最近文件",properties:"属性",reorderRootFoldersTitle:"重新排列导航",reorderRootFoldersHint:"使用箭头或拖动来重新排列",vaultRootLabel:"仓库",resetRootToAlpha:"重置为字母顺序",resetRootToFrequency:"重置为频率排序",pinShortcuts:"固定快捷方式",pinShortcutsAndRecentFiles:"固定快捷方式和最近文件",unpinShortcuts:"取消固定快捷方式",unpinShortcutsAndRecentFiles:"取消固定快捷方式和最近文件",profileMenuAria:"更改仓库配置文件"},navigationCalendar:{ariaLabel:"导航日历",dailyNotesNotEnabled:"未启用每日笔记。请在 Obsidian 设置 → 核心插件中启用每日笔记。",createDailyNote:{title:"创建每日笔记",message:"每日笔记 {filename} 不存在。是否创建？",confirmButton:"创建"},helpModal:{title:"日历快捷键",items:["点击任意日期以打开或创建每日笔记。周、月、季度和年份的操作方式相同。","日期下方的实心圆点表示有笔记。空心圆点表示有未完成的任务。","如果笔记有特色图片，它会显示为该日期的背景。"],dateFilterCmdCtrl:"`Cmd/Ctrl`+点击日期，按该日期筛选文件列表。",dateFilterOptionAlt:"`Option/Alt`+点击日期，按该日期筛选文件列表。"}},dailyNotes:{templateReadFailed:"读取每日笔记模板失败",createFailed:"创建每日笔记失败"},shortcuts:{folderExists:"文件夹已在快捷方式中",noteExists:"笔记已在快捷方式中",tagExists:"标签已在快捷方式中",propertyExists:"属性已在快捷方式中",invalidProperty:"无效的属性快捷方式",searchExists:"搜索快捷方式已存在",emptySearchQuery:"保存前请输入搜索查询",emptySearchName:"保存搜索前请输入名称",add:"添加到快捷方式",addNotesCount:"添加 {count} 个笔记到快捷方式",addFilesCount:"添加 {count} 个文件到快捷方式",rename:"重命名快捷方式",remove:"从快捷方式移除",removeAll:"移除所有快捷方式",removeAllConfirm:"移除所有快捷方式？",folderNotesPinned:"已固定 {count} 个文件夹笔记"},paneHeader:{collapseAllFolders:"折叠项目",expandAllFolders:"展开所有项目",showCalendar:"显示日历",hideCalendar:"隐藏日历",newFolder:"新建文件夹",newNote:"新笔记",mobileBackToNavigation:"返回导航",changeChildSortOrder:"更改排序方式",changeSortAndGroup:"更改排序和分组",resetViewToDefaults:"将视图重置为默认值",manualSort:"手动排序",editSortOrder:"编辑排序方式...",removeSortProperty:"移除排序属性",descendants:"子项",subfolders:"子文件夹",subtags:"子标签",childValues:"子值",applySortAndGroupToDescendants:t=>`将排序和分组应用到${t}`,applyAppearanceToDescendants:t=>`将外观应用到${t}`,showFolders:"显示导航",reorderRootFolders:"重新排列导航",finishRootFolderReorder:"完成",showExcludedItems:"显示隐藏的文件夹、标签和笔记",hideExcludedItems:"隐藏隐藏的文件夹、标签和笔记",showDualPane:"显示双窗格",showSinglePane:"显示单窗格",dualPaneAutoFallbackNotice:"侧边栏过窄时无法使用双窗格。若要更改此行为，请在设置 > 外观与行为中将“侧边栏过窄时”设为“不执行任何操作”。",changeAppearance:"更改外观",showNotesFromSubfolders:"显示子文件夹的笔记",showFilesFromSubfolders:"显示子文件夹的文件",showNotesFromDescendants:"显示后代的笔记",showFilesFromDescendants:"显示后代的文件",search:"搜索"},searchInput:{placeholder:"搜索...",placeholderOmnisearch:"Omnisearch...",clearSearch:"清除搜索",switchToFilterSearch:"切换到筛选搜索",switchToOmnisearch:"切换到 Omnisearch",saveSearchShortcut:"将搜索保存到快捷方式",removeSearchShortcut:"从快捷方式移除搜索",shortcutModalTitle:"保存搜索快捷方式",shortcutNamePlaceholder:"输入快捷方式名称",shortcutStartIn:"始终从此处开始: {path}",searchHelp:"搜索语法",searchHelpTitle:"搜索语法",searchHelpModal:{intro:"在一个查询中组合文件名、属性、标签、日期和过滤器（例如：`meeting .status=active #work @thisweek`）。安装 Omnisearch 插件以使用全文搜索。",introSwitching:"使用上/下箭头键或点击搜索图标在过滤搜索和 Omnisearch 之间切换。",sections:{fileNames:{title:"文件名",items:['`word` 查找文件名中含有 "word" 的笔记。',"`word1 word2` 每个词都必须匹配文件名。",'`-word` 排除文件名中含有 "word" 的笔记。']},tags:{title:"标签",items:["`#tag` 包含带有标签的笔记（也匹配嵌套标签如 `#tag/subtag`）。","`#` 仅包含有标签的笔记。","`-#tag` 排除带有标签的笔记。","`-#` 仅包含无标签的笔记。","`#tag1 #tag2` 匹配两个标签（隐式 AND）。","`#tag1 AND #tag2` 匹配两个标签（显式 AND）。","`#tag1 OR #tag2` 匹配任一标签。","`#a OR #b AND #c` AND 优先级更高：匹配 `#a`，或同时匹配 `#b` 和 `#c`。","Cmd/Ctrl+点击标签以 AND 方式添加。Cmd/Ctrl+Shift+点击以 OR 方式添加。"]},properties:{title:"属性",items:["`.key` 包含具有属性键的笔记。","`.key=value` 包含属性值含有 `value` 的笔记。",'`."Reading Status"` 包含属性键包含空格的笔记。','`."Reading Status"="In Progress"` 包含空格的键和值必须用双引号括起来。',"`-.key` 排除具有属性键的笔记。","`-.key=value` 排除属性值含有 `value` 的笔记。","Cmd/Ctrl+点击属性以 AND 方式添加。Cmd/Ctrl+Shift+点击以 OR 方式添加。"]},tasks:{title:"过滤器",items:["`has:task` 包含有未完成任务的笔记。","`-has:task` 排除有未完成任务的笔记。","`folder:meetings` 包含文件夹名称含有 `meetings` 的笔记。","`folder:/work/meetings` 仅包含 `work/meetings` 中的笔记（不含子文件夹）。","`folder:/` 仅包含仓库根目录中的笔记。","`-folder:archive` 排除文件夹名称含有 `archive` 的笔记。","`-folder:/archive` 仅排除 `archive` 中的笔记（不含子文件夹）。","`ext:md` 包含扩展名为 `md` 的笔记（也支持 `ext:.md`）。","`-ext:pdf` 排除扩展名为 `pdf` 的笔记。","与标签、名称和日期组合使用（例如：`folder:/work/meetings ext:md @thisweek`）。"]},connectors:{title:"AND/OR 行为",items:["`AND` 和 `OR` 仅在纯标签/属性查询中作为运算符。","纯标签/属性查询仅包含标签和属性过滤器: `#tag`、`-#tag`、`#`、`-#`、`.key`、`-.key`、`.key=value`、`-.key=value`。","如果查询包含名称、日期（`@...`）、任务过滤器（`has:task`）、文件夹过滤器（`folder:...`）或扩展名过滤器（`ext:...`），`AND` 和 `OR` 将作为词语进行匹配。","运算符查询示例: `#work OR .status=started`。","混合查询示例：`#work OR ext:md`（`OR` 在文件名中进行匹配）。"]},dates:{title:"日期",items:["`@today` 使用默认日期字段查找今天的笔记。","`@yesterday`、`@last7d`、`@last30d`、`@thisweek`、`@thismonth` 相对日期范围。","`@2026-02-07` 查找特定日期（也支持 `@20260207`）。","`@2026` 查找日历年。","`@2026-02` 或 `@202602` 查找日历月。","`@2026-W05` 或 `@2026W05` 查找 ISO 周。","`@2026-Q2` 或 `@2026Q2` 查找日历季度。","`@13/02/2026` 带分隔符的数字格式（`@07022026` 在歧义时遵循您的区域设置）。","`@2026-02-01..2026-02-07` 查找包含性日期范围（支持开放端点）。","`@c:...` 或 `@m:...` 指定创建或修改日期。","`-@...` 排除日期匹配。"]},omnisearch:{title:"Omnisearch",items:["对整个仓库进行全文搜索，按当前文件夹或选定标签过滤。","在大型仓库中输入少于3个字符时可能会较慢。","无法搜索包含非ASCII字符的路径，也无法正确搜索子路径。","在文件夹过滤之前返回有限的结果，因此如果其他地方存在大量匹配项，相关文件可能不会显示。","笔记预览显示 Omnisearch 摘录，而不是默认预览文本。"]}}}},contextMenu:{file:{openInNewTab:"在新标签页中打开",openToRight:"在右侧打开",openInNewWindow:"在新窗口中打开",openMultipleInNewTabs:"在新标签页中打开 {count} 个笔记",openMultipleToRight:"在右侧打开 {count} 个笔记",openMultipleInNewWindows:"在新窗口中打开 {count} 个笔记",pinNote:"固定笔记",unpinNote:"取消固定笔记",pinMultipleNotes:"固定 {count} 个笔记",unpinMultipleNotes:"取消固定 {count} 个笔记",duplicateNote:"复制笔记",duplicateMultipleNotes:"复制 {count} 个笔记",openVersionHistory:"打开版本历史",revealInFolder:"在文件夹中定位",revealInFinder:"在访达中显示",showInExplorer:"在资源管理器中显示",openInDefaultApp:"在默认应用中打开",renameNote:"重命名笔记",deleteNote:"删除笔记",deleteMultipleNotes:"删除 {count} 个笔记",moveNoteToFolder:"移动笔记到...",moveFileToFolder:"移动文件到...",moveMultipleNotesToFolder:"将 {count} 个笔记移动到...",moveMultipleFilesToFolder:"将 {count} 个文件移动到...",mergeNotes:"合并 {count} 个笔记...",mergeNotesInGroup:"合并组中的笔记...",setManualSortGroupHeader:"设置分组标题",changeManualSortGroupHeader:"更改分组标题",manualSortGroupHeader:{title:"分组标题",copyStyle:"复制标题样式",pasteStyle:"粘贴标题样式",remove:"移除分组标题"},addTag:"添加标签",addPropertyKey:"设置属性",removeTag:"移除标签",removeAllTags:"移除所有标签",changeIcon:"更改图标",changeColor:"更改颜色",openMultipleFilesInNewTabs:"在新标签页中打开 {count} 个文件",openMultipleFilesToRight:"在右侧打开 {count} 个文件",openMultipleFilesInNewWindows:"在新窗口中打开 {count} 个文件",pinFile:"固定文件",unpinFile:"取消固定文件",pinMultipleFiles:"固定 {count} 个文件",unpinMultipleFiles:"取消固定 {count} 个文件",duplicateFile:"复制文件",duplicateMultipleFiles:"复制 {count} 个文件",renameFile:"重命名文件",deleteFile:"删除文件",setCalendarHighlight:"设置高亮",removeCalendarHighlight:"移除高亮",deleteMultipleFiles:"删除 {count} 个文件"},folder:{newNote:"新笔记",newNoteFromTemplate:"从模板新建笔记",newFolder:"新建文件夹",newCanvas:"新建画布",newBase:"新建数据库",newDrawing:"新建绘图",newExcalidrawDrawing:"新建 Excalidraw 绘图",newTldrawDrawing:"新建 Tldraw 绘图",duplicateFolder:"复制文件夹",searchInFolder:"在文件夹中搜索",createFolderNote:"创建文件夹笔记",detachFolderNote:"解除文件夹笔记",deleteFolderNote:"删除文件夹笔记",changeIcon:"更改图标",changeColor:"更改颜色",changeBackground:"更改背景",excludeFolder:"隐藏文件夹",unhideFolder:"显示文件夹",moveFolder:"移动文件夹到...",renameFolder:"重命名文件夹",deleteFolder:"删除文件夹"},tag:{changeIcon:"更改图标",changeColor:"更改颜色",changeBackground:"更改背景",showTag:"显示标签",hideTag:"隐藏标签"},property:{addKey:"配置属性键",renameKey:"重命名属性",deleteKey:"删除属性"},navigation:{addSeparator:"添加分隔符",removeSeparator:"移除分隔符"},copyPath:{title:"复制路径",asObsidianUrl:"作为 Obsidian URL",fromVaultFolder:"从仓库文件夹",fromSystemRoot:"从系统根目录"},style:{title:"样式",copy:"复制样式",paste:"粘贴样式",removeIcon:"移除图标",removeColor:"移除颜色",removeBackground:"移除背景",clear:"清除样式"}},folderAppearance:{appearance:"外观",sortBy:"排序方式",standardPreset:"标准",compactPreset:"紧凑",defaultSuffix:"(默认)",defaultLabel:"默认",titleRows:"标题行数",previewRows:"预览行数",groupBy:"分组依据",titleRowOption:t=>`标题${t}行`,previewRowOption:t=>`预览${t}行`},modals:{bulkApply:{applyButton:"应用",applySortAndGroupTitle:t=>`将排序和分组应用到${t}？`,applyAppearanceTitle:t=>`将外观应用到${t}？`,affectedCountMessage:t=>`将更改的现有覆盖：${t}。`},manualSortConfirm:{propertySortTitle:"使用手动排序？",propertySortMessage:(t,e)=>`这会将当前视图切换为使用"${t}"的手动排序。编辑顺序时会按需将数字索引值写入 ${e} 条笔记的该属性。`,propertySortConfirmButton:"使用手动排序",removePropertyTitle:"移除排序属性？",removePropertyMessage:(t,e)=>`这将从当前列表中的 ${e} 篇笔记中移除"${t}"。这些笔记的手动排序顺序将被清除。`,removePropertyConfirmButton:"移除属性",compactTitle:"压缩索引值？",compactMessage:t=>`此次重新排序需要更多数字空间。${t} 条笔记将获得新的索引值。`,compactConfirmButton:"压缩索引值"},manualSortGroupHeader:{title:"设置分组标题",titleLabel:"标题",placeholder:"分组标题",icon:"图标",color:"颜色",wordCount:"显示字数",wordCountTarget:"目标字数",wordCountTargetPlaceholder:"10,000",wordCountTargetDescription:"此字段为空时，组目标使用“设置 > 笔记 > 字数和字符数”中设置的目标属性。为此组设置目标值即可覆盖它。",description:"为此笔记自定义分组标题。将标题留空以移除该标题。"},mergeNotes:{title:"合并笔记",summary:"从 {folder} 中的 {count} 个笔记创建一个笔记。",frontmatterRule:"保留第一个笔记的 frontmatter。移除其他笔记的 frontmatter。",crossFolderWarning:"源笔记位于不同文件夹。相对链接和嵌入在合并后的笔记中可能会停止工作。",outputName:"输出名称",outputNameDesc:"合并后的笔记会创建在上方显示的文件夹中。",outputNamePlaceholder:"合并的笔记",separator:"分隔符",separatorDesc:"插入到笔记之间。",separatorOptions:{none:"无",blankLine:"空行",horizontalRule:"水平线",heading:"带笔记标题的标题"},moveSourcesToTrash:"合并后将源笔记移至回收站",mergeButton:"合并"},navRainbowSection:{title:t=>`彩虹颜色: ${t}`},iconPicker:{searchPlaceholder:"搜索图标...",recentlyUsedHeader:"最近使用",emptyStateSearch:"开始输入以搜索图标",emptyStateNoResults:"未找到图标",showingResultsInfo:"显示 {count} 个结果中的 50 个。输入更多内容以缩小范围。",emojiInstructions:"输入或粘贴任何表情符号作为图标使用",removeIcon:"移除图标",removeFromRecents:"从最近使用中移除",allTabLabel:"全部"},fileIconRuleEditor:{addRuleAria:"添加规则"},interfaceIcons:{title:"界面图标",fileItemsSection:"文件项目",items:{"nav-shortcuts":"快捷方式","nav-recent-files":"最近文件","nav-expand-all":"全部展开","nav-collapse-all":"全部折叠","nav-calendar":"日历","nav-tree-expand":"树形箭头: 展开","nav-tree-collapse":"树形箭头: 折叠","nav-hidden-items":"隐藏项目","nav-root-reorder":"重新排列根文件夹","nav-new-folder":"新建文件夹","nav-show-single-pane":"显示单窗格","nav-show-dual-pane":"显示双窗格","nav-profile-chevron":"配置菜单箭头","list-search":"搜索","list-reveal-file":"定位文件","list-descendants":"子文件夹中的笔记","list-sort-ascending":"排序: 升序","list-sort-descending":"排序: 降序","list-sort-modified":"按编辑日期排序","list-sort-created":"按创建日期排序","list-sort-title":"按标题排序","list-sort-filename":"按文件名排序","list-sort-property":"按属性排序","list-appearance":"更改外观","list-new-note":"新建笔记","list-pinned":"固定笔记","nav-folder-open":"文件夹打开","nav-folder-closed":"文件夹关闭","nav-tags":"标签","nav-tag":"标签","nav-properties":"属性","nav-property":"属性","nav-property-value":"值","file-unfinished-task":"未完成任务","file-word-count":"字数统计","file-character-count":"字符数"}},colorPicker:{currentColor:"当前",newColor:"新颜色",paletteDefault:"默认",paletteCustom:"自定义",copyColors:"复制颜色",colorsCopied:"颜色已复制到剪贴板",pasteColors:"粘贴颜色",pasteClipboardError:"无法读取剪贴板",pasteInvalidFormat:"需要十六进制颜色值",colorsPasted:"颜色粘贴成功",resetUserColors:"清除自定义颜色",clearCustomColorsConfirm:"删除所有自定义颜色？",userColorSlot:"颜色 {slot}",recentColors:"最近使用的颜色",clearRecentColors:"清除最近使用的颜色",removeRecentColor:"移除颜色",apply:"应用",pickerLabel:"拾色器",hexLabel:"HEX",hexInputLabel:"十六进制颜色值",saturationValueArea:"饱和度和亮度",hueSlider:"色相",alphaSlider:"透明度"},appearance:{tabIcon:"图标",tabColor:"颜色",tabBackground:"背景",resetIcon:"移除图标",resetColor:"移除颜色",resetBackground:"移除背景",clear:"清除样式",apply:"应用"},selectVaultProfile:{title:"更改仓库配置文件",currentBadge:"活动",emptyState:"没有可用的仓库配置文件。"},tagOperation:{renameTitle:"重命名标签 {tag}",deleteTitle:"删除标签 {tag}",newTagPrompt:"输入新的标签名称：",newTagPlaceholder:"新名称",renameWarning:"重命名标签 {oldTag} 将修改 {count} 个{files}。",deleteWarning:"删除标签 {tag} 将修改 {count} 个{files}。",modificationWarning:"这将更新文件的修改日期。",affectedFiles:"受影响的文件:",andMore:"以及 {count} 个更多...",confirmRename:"重命名标签",renameUnchanged:"{tag} 未更改",renameNoChanges:"{oldTag} → {newTag} ({countLabel})",renameBatchNotFinalized:"已重命名 {renamed}/{total}。未更新：{notUpdated}。元数据和快捷方式未更新。",invalidTagName:"请输入有效的标签名称。",descendantRenameError:"无法将标签移动到自身或其子标签中。",confirmDelete:"删除标签",deleteBatchNotFinalized:"已从 {removed}/{total} 中删除。未更新：{notUpdated}。元数据和快捷方式未更新。",checkConsoleForDetails:"查看控制台了解详情。",file:"个文件",files:"个文件",inlineParsingWarning:{title:"内联标签兼容性",message:"{tag} 包含 Obsidian 无法在内联标签中解析的字符。Frontmatter 标签不受影响。",confirm:"仍然使用"}},propertyOperation:{renameTitle:"重命名属性 {property}",deleteTitle:"删除属性 {property}",newKeyPrompt:"新属性名称",newKeyPlaceholder:"输入新属性名称",renameWarning:"重命名属性 {property} 将修改 {count} 个{files}。",renameConflictWarning:"属性 {newKey} 已存在于 {count} 个{files}中。重命名 {oldKey} 将替换现有的 {newKey} 值。",deleteWarning:"删除属性 {property} 将修改 {count} 个{files}。",confirmRename:"重命名属性",confirmDelete:"删除属性",renameNoChanges:"{oldKey} → {newKey}（无更改）",renameSettingsUpdateFailed:"已重命名属性 {oldKey} → {newKey}。更新设置失败。",deleteSingleSuccess:"已从 1 篇笔记中删除属性 {property}",deleteMultipleSuccess:"已从 {count} 篇笔记中删除属性 {property}",deleteSettingsUpdateFailed:"已删除属性 {property}。更新设置失败。",invalidKeyName:"请输入有效的属性名称。"},fileSystem:{newFolderTitle:"新建文件夹",renameFolderTitle:"重命名文件夹",renameFileTitle:"重命名文件",deleteFolderTitle:"删除 '{name}'？",deleteFileTitle:"删除 '{name}'？",deleteFileAttachmentsTitle:"删除文件附件？",moveFileConflictTitle:"移动冲突",folderNamePrompt:"输入文件夹名称：",hideInOtherVaultProfiles:"在其他仓库配置中隐藏",renamePrompt:"输入新名称：",renameVaultTitle:"更改仓库显示名称",renameVaultPrompt:"输入自定义显示名称（留空使用默认值）：",deleteFolderConfirm:"您确定要删除此文件夹及其所有内容吗？",deleteFileConfirm:"您确定要删除此文件吗？",deleteFileAttachmentsDescriptionSingle:"此附件不再被任何笔记使用。是否要删除？",deleteFileAttachmentsDescriptionMultiple:"这些附件不再被任何笔记使用。是否要删除？",deleteFileAttachmentsViewFileTreeAriaLabel:"文件树",deleteFileAttachmentsViewGalleryAriaLabel:"图库",moveFileConflictDescriptionSingle:'在 "{folder}" 中发现文件冲突。',moveFileConflictDescriptionMultiple:'在 "{folder}" 中发现 {count} 个文件冲突。',moveFileConflictAffectedFiles:"受影响的文件",moveFileConflictItem:'"{name}" -> "{suggested}"{renameOnly}',moveFileConflictRenameOnly:"（仅重命名）",moveFileConflictRename:"重命名",moveFileConflictOverwrite:"覆盖",removeAllTagsTitle:"移除所有标签",removeAllTagsFromNote:"您确定要从这个笔记中移除所有标签吗？",removeAllTagsFromNotes:"您确定要从 {count} 个笔记中移除所有标签吗？"},folderNoteType:{title:"选择文件夹笔记类型",folderLabel:"文件夹：{name}"},folderSuggest:{placeholder:t=>`将 ${t} 移动到文件夹...`,multipleFilesLabel:t=>`${t} 个文件`,navigatePlaceholder:"导航到文件夹...",instructions:{navigate:"导航",move:"移动",select:"选择",dismiss:"取消"}},homepage:{placeholder:"搜索文件...",instructions:{navigate:"导航",select:"设为主页",dismiss:"取消"}},calendarTemplate:{placeholder:"搜索模板...",instructions:{navigate:"导航",select:"选择模板",dismiss:"取消"}},navigationBanner:{placeholder:"搜索图片...",instructions:{navigate:"导航",select:"设为横幅",dismiss:"取消"}},tagSuggest:{navigatePlaceholder:"导航到标签...",addPlaceholder:"搜索要添加的标签...",removePlaceholder:"选择要移除的标签...",createNewTag:"创建新标签: #{tag}",instructions:{navigate:"导航",select:"选择",dismiss:"取消",add:"添加标签",remove:"移除标签"}},propertySuggest:{placeholder:"选择属性键...",navigatePlaceholder:"导航到属性...",instructions:{navigate:"导航",select:"添加属性",dismiss:"取消"}},propertyKeyVisibility:{title:"属性键可见性",description:"控制属性值的显示位置。各列分别对应导航面板、列表面板和文件上下文菜单。使用底部行切换某列中的所有行。",searchPlaceholder:"搜索属性键...",propertyColumnLabel:"属性",showInNavigation:"在导航中显示",showInList:"在列表中显示",showInFileMenu:"在文件菜单中显示",toggleAllInNavigation:"切换导航中的全部",toggleAllInList:"切换列表中的全部",toggleAllInFileMenu:"切换文件菜单中的全部",applyButton:"应用",emptyState:"未找到属性键。"},welcome:{title:"欢迎使用 {pluginName}",introText:'您好！在开始之前，强烈建议您观看下面视频的前五分钟，以了解面板和开关"显示子文件夹中的笔记"是如何工作的。',continueText:"如果您还有五分钟时间，请继续观看视频以了解紧凑显示模式以及如何正确设置快捷方式和重要的快捷键。",thanksText:"非常感谢您的下载，祝您使用愉快！",videoAlt:"安装和掌握 Notebook Navigator",openVideoButton:"播放视频",closeButton:"以后再说"}},fileSystem:{errors:{createFolder:"创建文件夹失败：{error}",createFile:"创建文件失败：{error}",renameFolder:"重命名文件夹失败：{error}",renameFolderNoteConflict:'无法重命名："{name}"已在此文件夹中存在',renameFile:"重命名文件失败：{error}",deleteFolder:"删除文件夹失败：{error}",deleteFile:"删除文件失败：{error}",deleteAttachments:"删除附件失败: {error}",mergeNotes:"合并笔记失败: {error}",mergeNotesOpenOutput:"合并后的笔记已创建为 {name}，但无法打开: {error}。源笔记未被更改。",mergeNotesOpenSkipped:"另一个文件打开请求已优先执行。",mergeNotesTrashSources:"合并后的笔记已创建。无法将 {count} 个源笔记移至回收站。",duplicateNote:"复制笔记失败：{error}",duplicateFolder:"复制文件夹失败：{error}",openVersionHistory:"打开版本历史失败：{error}",versionHistoryNotFound:"未找到版本历史命令。请确保已启用 Obsidian 同步。",revealInExplorer:"在系统资源管理器中定位文件失败：{error}",openInDefaultApp:"在默认应用中打开失败：{error}",openInDefaultAppNotAvailable:"此平台不支持在默认应用中打开",folderNoteAlreadyExists:"文件夹笔记已存在",folderAlreadyExists:'文件夹"{name}"已存在',folderNotesDisabled:"请在设置中启用文件夹笔记以转换文件",folderNoteAlreadyLinked:"此文件已作为文件夹笔记",folderNoteNotFound:"所选文件夹中没有文件夹笔记",folderNoteUnsupportedExtension:"不支持的文件扩展名：{extension}",folderNoteMoveFailed:"转换过程中移动文件失败：{error}",folderNoteRenameConflict:'文件夹中已存在名为"{name}"的文件',folderNoteConversionFailed:"转换为文件夹笔记失败",folderNoteConversionFailedWithReason:"转换为文件夹笔记失败：{error}",folderNoteOpenFailed:"文件已转换但打开文件夹笔记失败：{error}",failedToDeleteFile:"删除 {name} 失败: {error}",failedToDeleteMultipleFiles:"删除{count}个文件失败",versionHistoryNotAvailable:"版本历史服务不可用",drawingAlreadyExists:"同名绘图已存在",failedToCreateDrawing:"创建绘图失败",noFolderSelected:"Notebook Navigator 中未选择文件夹",noFileSelected:"未选择文件"},warnings:{linkBreakingNameCharacters:"该名称包含会破坏 Obsidian 链接的字符：#, |, ^, %%, [[, ]].",forbiddenNameCharactersAllPlatforms:"名称不能以 . 开头，也不能包含 : 或 /。",forbiddenNameCharactersWindows:'Windows 保留字符不允许使用：<, >, ", \\, |, ?, *。'},notices:{hideFolder:"已隐藏文件夹：{name}",showFolder:"已显示文件夹：{name}",mergeNotes:"已将 {count} 个笔记合并到 {name}"},notifications:{deletedMultipleFiles:"已删除 {count} 个文件",movedMultipleFiles:"已将{count}个文件移动到{folder}",folderNoteConversionSuccess:'已在"{name}"中将文件转换为文件夹笔记',folderMoved:'已移动文件夹"{name}"',deepLinkCopied:"Obsidian URL 已复制到剪贴板",pathCopied:"路径已复制到剪贴板",relativePathCopied:"相对路径已复制到剪贴板",tagAddedToNote:"已将标签添加到 1 个笔记",tagAddedToNotes:"已将标签添加到 {count} 个笔记",tagRemovedFromNote:"已从 1 个笔记中移除标签",tagRemovedFromNotes:"已从 {count} 个笔记中移除标签",tagsClearedFromNote:"已从 1 个笔记中清除所有标签",tagsClearedFromNotes:"已从 {count} 个笔记中清除所有标签",noTagsToRemove:"没有可移除的标签",noFilesSelected:"未选择文件",mergeNotesRequireMultipleMarkdown:"请选择至少两个 Markdown 笔记进行合并",tagOperationsNotAvailable:"标签操作不可用",propertyOperationsNotAvailable:"属性操作不可用",tagsRequireMarkdown:"标签仅支持Markdown笔记",propertiesRequireMarkdown:"属性仅在 Markdown 笔记中受支持",propertySetOnNote:"已在 1 篇笔记中更新属性",propertySetOnNotes:"已在 {count} 篇笔记中更新属性",manualSortPropertyRemovedFromNote:"已从 1 篇笔记中移除排序属性",manualSortPropertyRemovedFromNotes:"已从 {count} 篇笔记中移除排序属性",iconPackDownloaded:"{provider} 已下载",iconPackUpdated:"{provider} 已更新 ({version})",iconPackRemoved:"{provider} 已移除",iconPackLoadFailed:"{provider} 加载失败",hiddenFileReveal:"文件已隐藏。启用「显示隐藏项目」以显示它"},confirmations:{deleteMultipleFiles:"确定要删除 {count} 个文件吗？",deleteConfirmation:"此操作无法撤销。"},defaultNames:{untitled:"未命名"}},dragDrop:{errors:{cannotMoveIntoSelf:"无法将文件夹移动到自身或其子文件夹中。",itemAlreadyExists:'此位置已存在名为 "{name}" 的项目。',failedToMove:"移动失败：{error}",failedToAddTag:'添加标签 "{tag}" 失败',failedToSetProperty:"更新属性失败: {error}",failedToClearTags:"清除标签失败",failedToMoveFolder:'移动文件夹"{name}"失败',failedToImportFiles:"导入失败: {names}"},notifications:{filesAlreadyExist:"{count} 个文件在目标位置已存在",filesAlreadyHaveTag:"{count} 个文件已经有此标签或更具体的标签",filesAlreadyHaveProperty:"{count} 个文件已拥有此属性",noTagsToClear:"没有要清除的标签",fileImported:"已导入 1 个文件",filesImported:"已导入 {count} 个文件"}},dateGroups:{today:"今天",yesterday:"昨天",previous7Days:"过去 7 天",previous30Days:"过去 30 天"},commands:{open:"打开",toggleLeftSidebar:"切换左侧边栏",openHomepage:"打开主页",openDailyNote:"打开每日笔记",openWeeklyNote:"打开每周笔记",openMonthlyNote:"打开每月笔记",openQuarterlyNote:"打开季度笔记",openYearlyNote:"打开每年笔记",revealFile:"定位文件",search:"搜索",searchVaultRoot:"在仓库根目录搜索",toggleDualPane:"切换双窗格布局",toggleDualPaneOrientation:"切换双窗格方向",toggleCalendar:"切换日历",selectVaultProfile:"更改仓库配置文件",selectVaultProfile1:"切换到仓库配置文件 1",selectVaultProfile2:"切换到仓库配置文件 2",selectVaultProfile3:"切换到仓库配置文件 3",deleteFile:"删除文件",createNewNote:"创建新笔记",createNewNoteFromTemplate:"从模板新建笔记",moveFiles:"移动文件",mergeNotes:"合并笔记",selectNextFile:"选择下一个文件",selectPreviousFile:"选择上一个文件",navigateBack:"向后导航",navigateForward:"向前导航",convertToFolderNote:"转换为文件夹笔记",setAsFolderNote:"设为文件夹笔记",detachFolderNote:"解除文件夹笔记",pinAllFolderNotes:"固定所有文件夹笔记",navigateToFolder:"导航到文件夹",navigateToTag:"导航到标签",navigateToProperty:"导航到属性",addShortcut:"添加到快捷方式",openShortcut:"打开快捷方式 {number}",toggleDescendants:"切换后代",toggleHidden:"切换隐藏的文件夹、标签和笔记",toggleTagSort:"切换标签排序",toggleTagsBySelection:"按选择切换标签",togglePropertiesBySelection:"按选择切换属性",toggleCompactMode:"切换紧凑模式",togglePinnedSection:"切换置顶区域",collapseExpand:"折叠/展开所有项目",collapseExpandSelectedItem:"折叠/展开所选项目",addTag:"为选定文件添加标签",setProperty:"为选定文件设置属性",removeTag:"从选定文件移除标签",removeAllTags:"从选定文件移除所有标签",openAllFiles:"打开所有文件",rebuildCache:"重建缓存"},plugin:{viewName:"笔记本导航器",calendarViewName:"日历",folderNoteSidebarViewName:"文件夹笔记",ribbonTooltip:"笔记本导航器",revealInNavigator:"在笔记本导航器中定位"},tooltips:{lastModifiedAt:"最后修改于",createdAt:"创建于",file:"个文件",files:"个文件",folder:"个文件夹",folders:"个文件夹",wordCount:"字数"},fileCounts:{words:"{count} 个词",characters:"{count} 个字符",separator:" · "},settings:{changeDefaultSettings:"更改默认设置",metadataReport:{exportSuccess:"失败的元数据报告已导出至：{filename}",exportFailed:"导出元数据报告失败"},sections:{general:"通用",vaultFilters:"显示过滤器",appearanceBehavior:"外观和行为",navigationPane:"导航窗格",calendar:"导航日历",fileOperations:"文件操作",icons:"图标包",folders:"文件夹",folderNotes:"文件夹笔记",folderNoteFiles:"文件夹笔记文件",foldersAndFolderNotes:"文件夹和文件夹笔记",tagsAndProperties:"标签与属性",tags:"标签",listPane:"列表窗格",notes:"文件显示",shortcutsAndRecentFiles:"快捷方式与最近文件",advanced:"高级"},pageGroups:{configuration:"配置",navigationAndContent:"导航窗格",notesAndLists:"列表窗格",calendarAndTools:"日历和工具"},pageDescriptions:{general:"发行说明、支持、仓库配置文件、文件类型和属性键。",vaultFilters:"隐藏的文件夹、标签、文件、文件标签和属性规则。",appearanceBehavior:"行为、键盘导航、鼠标按钮、外观和格式。",navigationPane:"布局、外观、笔记数量、折叠行为和彩虹颜色。",shortcuts:"快捷方式可见性、徽章、最近文件和固定项目。",calendar:"日历显示、日期笔记、模板、区域设置和侧边栏位置。",fileOperations:"模板、删除确认、附件和文件移动冲突行为。",foldersAndFolderNotes:"文件夹显示、文件夹笔记、文件夹笔记模板和文件夹笔记行为。",tagsProperties:"标签和属性部分、图标、排序、范围和继承。",listPane:"排序、分组、列表模式、固定笔记和绘图预览。",frontmatter:"用于显示名称、时间戳、图标和颜色的前置元数据字段。",notes:"标题、预览文本、特色图片、标签、属性、日期、字数和字符数。",iconPacks:"界面图标、文件图标和图标包管理。",advanced:"诊断、元数据清理、导入/导出和重置。"},groups:{general:{vaultConfiguration:"仓库设置",templates:"模板",behavior:"行为",keyboardNavigation:"键盘导航",mouseButtons:"鼠标按钮",view:"外观",icons:"图标",desktopAppearance:"桌面外观",mobileAppearance:"移动端外观",formatting:"格式"},advanced:{maintenance:"维护",resetSettings:"重置设置"},navigation:{appearance:"外观",banner:"横幅",collapseItems:"折叠项目",dragAndDrop:"拖放",noteCounts:"笔记数",rainbowColors:"彩虹颜色",leftSidebar:"左侧边栏",calendarIntegration:"日历集成"},list:{display:"外观",groupHeaders:"分组标题",propertySort:"属性排序",manualSort:"手动排序",pinnedNotes:"固定笔记",drawingPreviews:"绘图预览"},notes:{frontmatter:"前置元数据字段",tasks:"任务",icon:"图标",title:"标题",previewText:"预览文本",featureImage:"特色图片",tags:"标签",properties:"属性",date:"日期",parentFolder:"父文件夹",wordCount:"字数和字符数"}},syncMode:{notSynced:"（未同步）",switchToSynced:"启用同步",switchToLocal:"禁用同步"},items:{listPaneTitle:{name:"列表窗格标题",desc:"选择列表窗格标题的显示位置。",options:{header:"显示在标题栏",list:"显示在列表窗格",hidden:"不显示"}},sortNotesBy:{name:"默认排序方式",desc:"选择笔记的默认排序方式。",options:{"modified-desc":"编辑日期（最新在顶部）","modified-asc":"编辑日期（最旧在顶部）","created-desc":"创建日期（最新在顶部）","created-asc":"创建日期（最旧在顶部）","title-asc":"标题（升序）","title-desc":"标题（降序）","filename-asc":"文件名（升序）","filename-desc":"文件名（降序）"},directions:{asc:"升序",desc:"降序"},fields:{modified:"编辑日期",created:"创建日期",title:"标题",filename:"文件名",property:"属性"}},propertySortKey:{name:"用于排序的属性",desc:"以逗号分隔的 frontmatter 属性，作为属性排序选项显示。数组值会合并为单一字符串。这些属性不会被更改。",placeholder:"published, author"},propertySortSecondary:{name:"次要排序",desc:"与属性排序配合使用，当笔记具有相同的属性值或没有属性值时生效。",options:{title:"标题",filename:"文件名",created:"创建日期",modified:"编辑日期"}},propertySortInstructions:{intro:"上面列出的每个属性会在列表窗格的排序菜单中作为排序选项显示。选择某个属性会按其 frontmatter 值对笔记排序。"},manualSortPropertyKey:{name:"手动排序属性",desc:"用于存储手动排序数字索引值的 frontmatter 属性。"},manualSortGroupHeaderProperty:{name:"分组标题属性",desc:"用于存储自定义分组标题的 frontmatter 属性。"},groupHeadersInstructions:{intro:"自定义分组标题显示在列表窗格中笔记的上方。",items:["在列表窗格的排序菜单中，将分组设置为 **自定义**。","右键点击笔记并选择 **设置分组标题**，在其上方添加标题。"]},manualSortNewNotePlacement:{name:"新笔记位置",desc:"选择当前列表使用手动排序时新笔记的放置位置。",options:{top:"顶部",bottom:"底部","below-selected-note":"所选笔记下方",unsorted:"未排序"}},confirmBeforeManualSort:{name:"手动排序前确认",desc:"在首次将手动排序属性写入笔记之前显示警告。禁用时，笔记将不显示警告即接收该属性。"},manualSortInstructions:{intro:'手动排序会将数字索引值写入每条笔记的 frontmatter 属性。没有索引的笔记会显示在"未排序"下。',items:["从排序菜单中选择 **手动排序** 启用手动排序。之后有两种方式重新排列笔记。","从排序菜单中选择 **编辑排序方式...** 打开重新排序视图。用鼠标拖动笔记，或在移动端使用触摸。在桌面端，按 **Cmd/Ctrl** 或 **Shift** 点击可选择多条笔记，然后拖动其中任意一条即可移动整组。","在列表窗格中，选择一条笔记或多选若干条，然后按 **Cmd/Ctrl + Arrow Up/Down** 向上或向下移动所选内容。"]},revealFileOnListChanges:{name:"列表变更时滚动到选定文件",desc:"在固定笔记、显示后代笔记、更改文件夹外观或执行文件操作时滚动到选定的文件。"},includeDescendantNotes:{name:"显示子文件夹/后代的笔记",desc:"在查看文件夹、标签或属性时包含嵌套子文件夹以及标签和属性后代中的笔记。"},limitPinnedToCurrentFolder:{name:"仅在笔记所在文件夹中固定",desc:"固定笔记仅在其所在文件夹中显示为已固定。适用于文件夹笔记或固定笔记较多的情况。不影响标签或属性视图。"},separateNoteCounts:{name:"分别显示当前和后代笔记计数",desc:'为文件夹、标签和属性以"当前 ▾ 后代"格式显示笔记计数。'},groupNotes:{name:"默认分组",desc:"自定义显示在 frontmatter 中定义的标题。日期按日期对笔记分组。文件夹按文件夹对笔记分组。当选择文件夹时，标签和属性视图使用日期分组。",options:{custom:"自定义",date:"日期",folder:"文件夹"}},showSelectedNavigationPills:{name:"始终显示所有标签和属性标记",desc:'禁用时，与当前导航选择匹配的标记会被隐藏（例如，浏览"食谱"标签时，"食谱"标签标记会被隐藏）。启用后所有标记始终可见。'},stickyGroupHeaders:{name:"固定分组标题",desc:"滚动时保持当前日期、文件夹或固定部分的标题可见。"},showFolderGroupPaths:{name:"显示子文件夹路径",desc:"在列表窗格中按文件夹分组时，显示子文件夹路径，而不是仅显示文件夹名称。"},showCurrentFolderFilesAtBottom:{name:"文件夹分组：当前文件夹文件置底",desc:"当默认分组为文件夹时，将所选文件夹中的直属文件移到子文件夹分组下方。"},defaultListMode:{name:"默认列表模式",desc:"选择默认列表布局。标准显示标题、日期、描述和预览文本。紧凑只显示标题。外观可按文件夹覆盖。",options:{standard:"标准",compact:"紧凑"}},showFileIcons:{name:"显示文件图标",desc:"显示文件图标并保留左对齐间距。禁用后将移除图标和缩进。优先级：未完成任务图标 > 自定义图标 > 文件夹图标 > 文件名图标 > 文件类型图标 > 默认图标。"},useFolderIcon:{name:"使用文件夹图标",desc:"当未设置自定义文件图标时显示父文件夹图标。当未设置自定义文件颜色时使用文件夹颜色。"},showFileIconUnfinishedTask:{name:"未完成任务图标",desc:"当笔记包含未完成任务时显示任务图标。"},showFileBackgroundUnfinishedTask:{name:"未完成任务背景",desc:"当笔记包含未完成任务时应用背景颜色。"},unfinishedTaskBackgroundColor:{name:"未完成任务背景颜色",desc:"设置笔记包含未完成任务时使用的背景颜色。"},showFilenameMatchIcons:{name:"按文件名设置图标",desc:"根据文件名中的文本分配图标。"},fileNameIconMap:{name:"文件名图标映射",desc:"包含指定文本的文件将获得指定图标。每行一个映射：文本=图标",placeholder:`# 文本=图标
会议=ph-calendar
发票=ph-receipt`,editTooltip:"编辑映射"},showCategoryIcons:{name:"按文件类型设置图标",desc:"根据文件扩展名分配图标。"},fileTypeIconPreset:{name:"文件图标预设",desc:"选择内置图标或图标包预设。自定义扩展名规则会覆盖此预设。",options:{none:"内置图标"},notInstalledWarning:"未安装此图标包。将改为显示内置图标。"},fileTypeIconMap:{name:"文件类型图标映射",desc:"具有指定扩展名的文件将获得指定图标。每行一个映射：扩展名=图标",placeholder:`# Extension=icon
cpp=ph-file-code
pdf=ph-file-pdf`,editTooltip:"编辑映射"},compactItemHeight:{name:"精简项目高度",desc:"设置桌面和移动端的紧凑列表项高度（像素）。",resetTooltip:"恢复默认值 (28px)"},compactItemHeightScaleText:{name:"随精简高度缩放文本",desc:"当减小紧凑列表项高度时同步缩放文本。"},showParentFolder:{name:"显示父文件夹",desc:"为子文件夹、标签或属性中的笔记显示父文件夹名称。"},showParentFolderFullPath:{name:"显示完整路径",desc:"显示父文件夹的完整路径而不仅仅是文件夹名称。"},parentFolderClickRevealsFile:{name:"点击父文件夹打开文件夹",desc:"点击父文件夹名称时，在列表面板中打开该文件夹。"},showParentFolderColor:{name:"显示父文件夹颜色",desc:"在父文件夹标签上使用文件夹颜色。"},showParentFolderIcon:{name:"显示父文件夹图标",desc:"在父文件夹标签旁显示文件夹图标。"},showQuickActions:{name:"显示快速操作",desc:"悬停在文件上时显示操作按钮。按钮控件选择显示哪些操作。"},dualPane:{name:"双窗格布局",desc:"在桌面端并排显示导航窗格和列表窗格。"},dualPaneOrientation:{name:"双栏布局方向",desc:"双栏启用时选择水平或垂直布局。",options:{horizontal:"水平分割",vertical:"垂直分割"}},narrowSidebarLayout:{name:"侧边栏过窄时",desc:"选择导航窗格和列表窗格无法并排显示时的处理方式。",options:{none:"不执行任何操作",singlePane:"切换到单窗格",vertical:"切换到垂直分割"}},narrowSidebarTrigger:{name:"窄侧边栏阈值",desc:"选择侧边栏宽度阈值的计算方式。",options:{fitPanes:"适配窗格",customWidth:"自定义宽度"}},narrowSidebarCustomWidth:{name:"窄侧边栏阈值宽度",desc:"当侧边栏窄于此宽度时切换。",resetTooltip:"重置为默认宽度"},appearanceBackground:{name:"背景色",desc:"为导航窗格和列表窗格选择背景色。",options:{separate:"分开背景",primary:"使用列表背景",secondary:"使用导航背景"}},appearanceScale:{name:"缩放级别",desc:"控制 Notebook Navigator 的整体缩放级别（百分比）。"},useFloatingToolbars:{name:"在 iOS/iPadOS 上使用浮动工具栏",desc:"仅适用于 iOS 和 iPadOS。"},startView:{name:"默认启动视图",desc:"选择打开 Notebook Navigator 时显示的窗格。导航窗格显示快捷方式、最近文件和文件夹结构。列表窗格显示文件列表。",options:{navigation:"导航窗格",files:"列表窗格"}},toolbarButtons:{name:"工具栏按钮",desc:"选择在工具栏中显示哪些按钮。隐藏的按钮仍可通过命令和菜单访问。",navigationLabel:"导航工具栏",listLabel:"列表工具栏"},createNewNotesInNewTab:{name:"在新标签页中打开新笔记",desc:'启用后，"创建新笔记"命令会在新标签页中打开笔记。禁用后，笔记将替换当前标签页。'},autoRevealActiveNote:{name:"自动定位活动笔记",desc:"从快速切换器、链接或搜索打开笔记时自动显示。"},autoRevealShortestPath:{name:"自动显示：使用最短路径",desc:"启用：自动显示选择最近的可见祖先文件夹或标签。禁用：自动显示选择文件的实际文件夹和精确标签。"},autoRevealIgnoreRightSidebar:{name:"自动显示：忽略右侧边栏事件",desc:"在右侧边栏中点击或更改笔记时不更改活动笔记。"},autoRevealIgnoreOtherWindows:{name:"自动显示：忽略其他窗口的事件",desc:"在其他窗口中操作笔记时不更改活动笔记。"},paneTransitionDuration:{name:"单窗格动画",desc:"在单窗格模式下切换窗格时的过渡持续时间（毫秒）。",resetTooltip:"重置为默认值"},autoSelectFirstFileOnFocusChange:{name:"自动选择第一个笔记",desc:"切换文件夹、标签或属性时自动打开第一个笔记。"},skipAutoScroll:{name:"禁用快捷方式自动滚动",desc:"点击快捷方式中的项目时不滚动导航面板。"},autoExpandNavItems:{name:"选中时展开",desc:"选中时展开文件夹和标签。在单窗格模式下，首次选中展开，再次选中显示文件。"},collapseOtherBranchesOnExpand:{name:"仅展开一个分支",desc:"展开文件夹、标签或属性时折叠同一树中的其他分支。"},springLoadedFolders:{name:"拖动时展开",desc:"拖动操作中悬停时展开文件夹和标签。"},springLoadedFoldersInitialDelay:{name:"拖动时展开：首次展开延迟",desc:"拖动时首次展开文件夹或标签前的延迟（秒）。"},springLoadedFoldersSubsequentDelay:{name:"拖动时展开：后续展开延迟",desc:"同一次拖动中展开更多文件夹或标签前的延迟（秒）。"},navigationBanner:{name:"导航横幅（仓库配置文件）",desc:"在导航窗格顶部显示一张图片。随所选仓库配置文件而变化。",current:"当前横幅：{path}",chooseButton:"选择图片"},pinNavigationBanner:{name:"固定横幅",desc:"将导航横幅固定在导航树上方。"},showShortcuts:{name:"显示快捷方式",desc:"在导航窗格中显示快捷方式部分。"},shortcutBadgeDisplay:{name:"快捷方式徽章",desc:'在快捷方式旁边显示的内容。使用"打开快捷方式1-9"命令可直接打开快捷方式。',options:{index:"位置 (1-9)",count:"项目计数",none:"无"}},showRecentNotes:{name:"显示最近文件",desc:"在导航窗格中显示最近文件部分。"},hideRecentNotes:{name:"从最近文件中隐藏文件类型",desc:"选择在最近文件部分中隐藏的文件类型。",options:{none:"无",folderNotes:"文件夹笔记"}},recentNotesCount:{name:"最近文件数量",desc:"要显示的最近文件数量。"},pinRecentNotesWithShortcuts:{name:"将最近文件与快捷方式一起固定",desc:"固定快捷方式时包含最近文件。"},calendarEnabled:{name:"启用日历",desc:"启用 Notebook Navigator 的日历功能。"},calendarPlacement:{name:"日历位置",desc:"在左侧边栏或右侧边栏中显示。",options:{leftSidebar:"左侧边栏",rightSidebar:"右侧边栏"}},calendarLeftPlacement:{name:"单窗格位置",desc:"单窗格模式下日历显示的位置。",options:{navigationPane:"导航窗格",below:"窗格下方"}},calendarLocale:{name:"日历语言",desc:"控制日历日期格式、周编号和每周的第一天。",weekPathMismatchWarning:"可见日历和周记路径使用了不同的每周起始日或周编号方式。",options:{systemDefault:"系统默认"}},calendarWeekendDays:{name:"周末",desc:"用不同的背景颜色显示周末。",options:{none:"无",satSun:"周六和周日",friSat:"周五和周六",thuFri:"周四和周五"}},calendarMonthHeadingFormat:{name:"月份名称格式",desc:"显示完整（一月）或简称（1月）的月份名称。",options:{full:"一月 (完整)",short:"1月 (简称)"}},showInfoButtons:{name:"显示信息按钮",desc:"在搜索栏和日历标题中显示信息按钮。"},calendarWeeksToShow:{name:"左侧边栏显示周数",desc:"右侧边栏的日历始终显示完整月份。",options:{fullMonth:"完整月份",oneWeek:"1 周",weeksCount:"{count} 周"}},calendarHighlightToday:{name:"高亮今天日期",desc:"使用背景颜色和加粗文本高亮今天日期。"},calendarShowFeatureImage:{name:"显示特色图片",desc:"在日历中显示笔记的特色图片。"},calendarShowWeekNumber:{name:"显示周号",desc:"在每行开头显示周号。"},calendarShowQuarter:{name:"显示季度",desc:"在日历标题中添加季度标签。"},calendarShowYearCalendar:{name:"显示年历",desc:"在右侧边栏中显示年份导航和月份网格。"},calendarConfirmBeforeCreate:{name:"创建前确认",desc:"点击没有笔记的日期时显示确认对话框。"},calendarIntegrationMode:{name:"日记来源",desc:"日历笔记的来源。",options:{dailyNotes:"日记（核心插件）",notebookNavigator:"Notebook Navigator"},info:{dailyNotes:"文件夹和日期格式在日记核心插件中配置。"}},calendarPeriodicNotesLocale:{name:"周期笔记语言",desc:"控制 Notebook Navigator 周期笔记路径中本地化的月份名称、星期名称、周号和每周起始日。",options:{calendar:"日历",obsidian:"Obsidian"}},calendarCustomRootFolder:{name:"根文件夹",desc:"周期笔记的基础文件夹。日期模式可以包含子文件夹。随所选仓库配置文件更改。",placeholder:"Personal/Diary"},calendarTemplateFolder:{name:"模板文件夹位置",desc:"模板文件选择器显示此文件夹中的笔记。",placeholder:"Templates",usage:"用于日历笔记和文件夹笔记。在导航日历 > 日历集成和文件夹和文件夹笔记 > 文件夹笔记文件中配置模板。"},calendarCustomFilePattern:{name:"日记",desc:"使用 Moment 日期格式设置路径。将子文件夹名称用方括号括起来，例如 [Work]/YYYY。点击模板图标设置模板。在文件操作 > 模板中设置模板文件夹位置。",momentDescPrefix:"使用 ",momentLinkText:"Moment 日期格式",momentDescSuffix:" 设置路径。将子文件夹名称用方括号括起来，例如 [Work]/YYYY。点击模板图标设置模板。在文件操作 > 模板中设置模板文件夹位置。",templaterSupportInstalled:"✅ 已安装 Templater 插件，支持完整模板功能。",templaterSupportMissing:"⚠️ 安装 Templater 插件以支持完整模板功能。",placeholder:"YYYY/YYYYMMDD",example:"当前语法：{path}",parsingError:"模式必须能格式化并重新解析为完整日期（年、月、日）。"},calendarCustomWeekPattern:{name:"周记",parsingError:"模式必须能格式化并重新解析为完整周（周年、周数）。",weekPathMismatchWarning:'周记路径使用周期笔记语言。请使用匹配的语言，或使用 "GGGG" 与 "WW" 以星期一为基准的周。',mixedWeekTokensWarning:'此模式混用了基于星期一的周标记（"W" 或 "G"）和基于语言的周标记（"w" 或 "g"）。请始终使用同一组：以星期一为基准的周使用 "GGGG" 与 "WW"，如果周记应遵循所选语言设置，则使用 "gggg" 与 "ww"。'},calendarCustomMonthPattern:{name:"月记",parsingError:"模式必须能格式化并重新解析为完整月份（年、月）。"},calendarCustomQuarterPattern:{name:"季度笔记",parsingError:"模式必须能格式化并重新解析为完整季度（年、季度）。"},calendarCustomYearPattern:{name:"年记",parsingError:"模式必须能格式化并重新解析为完整年份（年）。"},calendarTemplateFile:{current:"模板文件：{name}"},showTooltips:{name:"显示工具提示",desc:"悬停时显示笔记和文件夹的额外信息工具提示。"},showTooltipPath:{name:"在工具提示中显示路径",desc:"在工具提示中的笔记名称下方显示文件夹路径。"},showTooltipWordCount:{name:"在工具提示中显示字数",desc:"在工具提示中显示笔记字数。"},resetPaneSeparator:{name:"重置面板分隔符位置",desc:"将导航面板和列表面板之间的可拖动分隔符重置为默认位置。",buttonText:"重置分隔符",notice:"分隔符位置已重置。重启 Obsidian 或重新打开 Notebook Navigator 以应用。"},settingsTransfer:{name:"导入和导出设置",desc:"将 Notebook Navigator 设置导出或导入为 JSON。导入会替换所有设置。",importButtonText:"导入",exportButtonText:"导出",import:{modalTitle:"导入设置",fileButtonName:"从文件导入",fileButtonDesc:"从磁盘加载 JSON 文件。",fileButtonText:"从文件导入",editorName:"JSON",editorDesc:"在下方粘贴或编辑 JSON。未包含的设置将重置为默认值。",placeholder:`{
  "folderSortOrder": "alpha-desc"
}`,confirmButtonText:"导入",successNotice:"设置已导入。",errorNotice:"导入设置失败: {message}",fileReadError:"无法读取文件: {message}"},export:{modalTitle:"导出设置",editorName:"JSON",editorDesc:"仅包含与默认值不同的设置。",placeholder:"{}",copyButtonText:"复制到剪贴板",downloadButtonText:"下载",copyNotice:"设置已复制到剪贴板。",downloadNotice:"设置已导出。",downloadError:"下载设置失败: {message}"}},resetAllSettings:{name:"重置所有设置",desc:"将 Notebook Navigator 的所有设置重置为默认值。",buttonText:"重置所有设置",confirmTitle:"重置所有设置？",confirmMessage:"这将把 Notebook Navigator 的所有设置重置为默认值。此操作无法撤销。",confirmButtonText:"重置所有设置",notice:"所有设置已重置。重启 Obsidian 或重新打开 Notebook Navigator 以应用。",error:"重置设置失败。"},multiSelectModifier:{name:"多选修饰键",desc:"选择哪个修饰键切换多选模式。选择 Option/Alt 时，Cmd/Ctrl 点击会在新标签页中打开笔记。",options:{cmdCtrl:"Cmd/Ctrl 点击",optionAlt:"Option/Alt 点击"}},enterToOpenFiles:{name:"按 Enter 键打开文件",desc:"仅在列表键盘导航时按 Enter 键打开文件。在 macOS 上，这会阻止 Enter 键重命名文件。"},shiftEnterOpenContext:{name:"Shift+Enter",desc:"选择 Shift+Enter 是打开还是重命名所选文件。"},cmdEnterOpenContext:{name:"Cmd+Enter",desc:"选择 Cmd+Enter 是打开还是重命名所选文件。"},ctrlEnterOpenContext:{name:"Ctrl+Enter",desc:"选择 Ctrl+Enter 是打开还是重命名所选文件。"},mouseBackForwardAction:{name:"鼠标后退/前进按钮",desc:"桌面端鼠标后退和前进按钮的操作。",options:{none:"使用系统默认",singlePaneSwitch:"切换面板（单面板）",history:"浏览历史"}},excludedNotes:{name:"按属性规则隐藏笔记 (库配置)",desc:"逗号分隔的前置元数据规则列表。使用 `key` 或 `key=value` 条目（例如：status=done, published=true, archived）。",placeholder:"status=done, published=true, archived"},excludedFileNamePatterns:{name:"隐藏文件 (库配置)",desc:"逗号分隔的文件名模式列表，用于隐藏文件。支持 * 通配符和 / 路径（例如：temp-*、*.png、/assets/*）。",placeholder:"temp-*, *.png, /assets/*"},vaultProfiles:{name:"仓库配置文件",desc:"配置文件存储文件类型可见性、隐藏文件、隐藏文件夹、隐藏标签、隐藏笔记的属性规则、快捷方式和导航横幅。从导航窗格标题切换配置文件。",defaultName:"默认",addButton:"添加配置文件",editProfilesButton:"编辑配置文件",addProfileOption:"添加配置文件...",applyButton:"应用",deleteButton:"删除配置文件",addModalTitle:"添加配置文件",editProfilesModalTitle:"编辑配置文件",addModalPlaceholder:"配置文件名称",deleteModalTitle:"删除 {name}",deleteModalMessage:"删除 {name}？保存在此配置文件中的隐藏文件、文件夹、标签和基于属性的笔记过滤器将被删除。",moveUp:"上移",moveDown:"下移",errors:{emptyName:"请输入配置文件名称",duplicateName:"配置文件名称已存在"}},vaultTitle:{name:"库标题位置",desc:"选择库标题显示的位置。",options:{header:"显示在标题栏",navigation:"显示在导航窗格"}},excludedFolders:{name:"隐藏文件夹 (库配置)",desc:"逗号分隔的要隐藏的文件夹列表。名称模式：assets*（以assets开头的文件夹），*_temp（以_temp结尾）。路径模式：/archive（仅根目录archive），/res*（以res开头的根文件夹），/*/temp（一级目录下的temp文件夹），/projects/*（projects内的所有文件夹）。",placeholder:"templates, assets*, /archive, /res*"},fileVisibility:{name:"显示文件类型 (库配置)",desc:"过滤在导航器中显示的文件类型。Obsidian不支持的文件类型可能会在外部应用程序中打开。",options:{documents:"文档 (.md, .canvas, .base)",supported:"支持 (在Obsidian中打开)",all:"全部 (可能外部打开)"}},homepage:{name:"主页",desc:"选择 Notebook Navigator 启动时自动打开的内容。",current:"当前：{path}",chooseButton:"选择文件",options:{none:"无",file:"文件",dailyNote:"日记",weeklyNote:"周记",monthlyNote:"月记",quarterlyNote:"季度笔记",yearlyNote:"年度笔记"},file:{name:"主页：启动文件",empty:"未选择文件"},createMissing:{name:"主页：不存在时创建笔记",desc:"启动或执行命令时，如果定期笔记不存在则创建。"}},showFileDate:{name:"显示日期",desc:"在笔记名称下方显示日期。"},alphabeticalDateMode:{name:"按名称排序时",desc:"笔记按字母顺序排序时显示的日期。",options:{created:"创建日期",modified:"修改日期"}},showFileTags:{name:"显示文件标签",desc:"在文件项中显示可点击的标签。"},showFileTagAncestors:{name:"显示完整标签路径",desc:"显示完整的标签层级路径。启用：'ai/openai'，'工作/项目/2024'。禁用：'openai'，'2024'。"},colorFileTags:{name:"为文件标签着色",desc:"将标签颜色应用于文件项中的标签徽章。"},prioritizeColoredFileTags:{name:"优先显示彩色标签",desc:"将彩色标签排列在其他标签之前。"},showFileTagsInCompactMode:{name:"在精简模式中显示文件标签",desc:"当日期、预览和图像被隐藏时显示标签。"},showFileProperties:{name:"显示文件属性",desc:'在文件项中显示属性。使用"属性键可见性"对话框选择要显示的属性。'},colorFileProperties:{name:"为文件属性着色",desc:"将属性颜色应用到文件项的属性徽章上。"},prioritizeColoredFileProperties:{name:"优先显示彩色属性",desc:"在文件项中将彩色属性排列在其他属性之前。"},showFilePropertiesInCompactMode:{name:"在精简模式中显示属性",desc:"精简模式启用时显示属性。"},textCountDisplay:{name:"计数类型",desc:"选择文件项目中显示哪些笔记计数。",options:{none:"无",words:"字数",characters:"字符数",both:"字数和字符数"}},textCountPlacement:{name:"位置",desc:"选择笔记计数的显示位置。",options:{title:"在标题中",property:"作为属性"}},characterCountSpaces:{name:"字符数",desc:"选择字符数是否包含空格。",options:{include:"包含空格",exclude:"不含空格"}},wordCountTargetProperty:{name:"目标属性",desc:"包含目标字数的前置元数据属性键。留空可隐藏目标。"},showWordCountPercentage:{name:"显示目标百分比",desc:"有目标字数时，仅显示进度百分比。"},propertyFields:{name:"属性键（保险库配置）",desc:"Frontmatter 属性键，可按键设置导航和文件列表的可见性。",addButtonTooltip:"配置属性键",noneConfigured:"未配置属性",singleConfigured:"已配置 1 个属性：{properties}",multipleConfigured:"已配置 {count} 个属性：{properties}"},showPropertiesOnSeparateRows:{name:"在单独的行中显示属性",desc:"将每个属性显示在单独的行中。"},enablePropertyInternalLinks:{name:"将属性标签链接到笔记",desc:"点击属性标签以打开链接的笔记。"},enablePropertyExternalLinks:{name:"将属性标签链接到 URL",desc:"点击属性标签以打开链接的 URL。"},dateFormat:{name:"日期格式",desc:"用于显示日期的格式（使用 Moment 格式）。",placeholder:"YYYY年M月D日",help:`常用格式：
YYYY年M月D日 = 2022年5月25日
YYYY-MM-DD = 2022-05-25
MM/DD/YYYY = 05/25/2022

标记：
YYYY/YY = 年
MMMM/MMM/MM/M = 月
DD/D = 日
dddd/ddd = 星期`,helpTooltip:"使用 Moment 格式",momentLinkText:"Moment 格式"},timeFormat:{name:"时间格式",desc:"用于显示时间的格式（使用 Moment 格式）。",placeholder:"HH:mm",help:`常用格式：
HH:mm = 14:30（24小时制）
Ah:mm = 下午2:30（12小时制）
HH:mm:ss = 14:30:45
Ah:mm:ss = 下午2:30:45

标记：
HH/H = 24小时制
hh/h = 12小时制
mm = 分钟
ss = 秒
A = 上午/下午`,helpTooltip:"使用 Moment 格式",momentLinkText:"Moment 格式"},showFilePreview:{name:"显示笔记预览",desc:"在笔记名称下方显示预览文本。"},skipHeadingsInPreview:{name:"预览中跳过标题",desc:"生成预览文本时跳过标题行。"},skipCodeBlocksInPreview:{name:"预览中跳过代码块",desc:"生成预览文本时跳过代码块。"},stripHtmlInPreview:{name:"移除预览中的 HTML",desc:"从预览文本中移除 HTML 标签。可能会影响大型笔记的性能。"},stripLatexInPreview:{name:"移除预览中的 LaTeX",desc:"从预览文本中移除行内和块级 LaTeX 表达式。"},previewProperties:{name:"预览属性",desc:"用于查找预览文本的前置属性的逗号分隔列表。将使用第一个包含文本的属性。",placeholder:"summary, description, abstract"},previewPropertiesFallback:{name:"回退到笔记内容",desc:"当指定的属性都不包含文本时，显示笔记内容作为预览。"},previewRows:{name:"预览行数",desc:"预览文本显示的行数。",options:{1:"1 行",2:"2 行",3:"3 行",4:"4 行",5:"5 行"}},fileNameRows:{name:"标题行数",desc:"笔记标题显示的行数。",options:{1:"1 行",2:"2 行",3:"3 行"}},useFolderColor:{name:"使用文件夹颜色",desc:"当未设置自定义文件颜色时，使用父文件夹的颜色为笔记标题和文件图标着色。优先级：自定义文件颜色 > 文件夹颜色 > 默认颜色。"},showFeatureImage:{name:"显示特色图片",desc:"显示笔记中找到的第一张图片的缩略图。"},forceSquareFeatureImage:{name:"强制正方形特色图片",desc:"将特色图片渲染为正方形缩略图。"},featureImageProperties:{name:"图片属性",desc:"首先检查的前置元数据属性的逗号分隔列表。如果未找到，则使用 markdown 内容中的第一张图片。",placeholder:"thumbnail, featureResized, feature"},featureImageExcludeProperties:{name:"排除含有属性的笔记",desc:"逗号分隔的前置元数据属性列表。包含这些属性的笔记不会存储特色图片。",placeholder:"private, confidential"},featureImageSize:{name:"特色图片显示大小",desc:"笔记列表中特色图片的最大渲染大小。",options:{standard:"64 px",large:"96 px",extraLarge:"128 px"}},featureImagePixelSize:{name:"特色图片像素大小",desc:"生成存储的特色图片缩略图时使用的分辨率。如果较大的预览看起来模糊，请增大此值。",options:{standard:"256 x 144 px",large:"384 x 216 px",extraLarge:"512 x 288 px"}},downloadExternalFeatureImages:{name:"下载外部图片",desc:"下载远程图片和 YouTube 缩略图作为特色图片。"},hideDrawingPreviewImages:{name:"隐藏导出的预览图片",desc:'隐藏导出的绘图预览 PNG 文件。开启"显示隐藏项目"以显示它们。'},drawingIntegrationInfo:{intro:"Notebook Navigator 将 Excalidraw 导出的 PNG 文件用作绘图预览。",items:["在 **Excalidraw 设置** 中，依次打开 **Embedding Excalidraw into your Notes and Exporting**、**Export Settings**、**Auto-export Settings**。","启用 **Auto-export PNG**。可选启用 **Export both dark- and light-themed image**。","Notebook Navigator 会查找 **Drawing.excalidraw.png**、**Drawing.excalidraw.dark.png** 或 **Drawing.excalidraw.light.png**。","当 **隐藏导出的预览图片** 开启时，只有同时开启 **显示隐藏项目**，PNG 文件才会显示。"]},showRootFolder:{name:"显示根文件夹",desc:"在树中显示根文件夹名称。"},showFolderIcons:{name:"显示文件夹图标",desc:"在导航窗格的文件夹旁显示图标。"},inheritFolderColors:{name:"继承文件夹颜色",desc:"子文件夹从父文件夹继承颜色。"},folderSortOrder:{name:"文件夹排序方式",desc:"右键点击任意文件夹，可为其子项设置不同的排序方式。",options:{alphaAsc:"A 到 Z",alphaDesc:"Z 到 A"}},showNoteCount:{name:"显示笔记数",desc:"在文件夹、标签和属性旁显示笔记数量。"},showSectionIcons:{name:"显示快捷方式和最近项目的图标",desc:"在快捷方式和最近文件分区中的项目旁显示图标。"},interfaceIcons:{name:"界面图标",desc:"编辑工具栏、文件夹、标签、属性、固定、搜索和排序图标。",buttonText:"编辑图标"},showIconsColorOnly:{name:"仅对图标应用颜色",desc:"启用时，自定义颜色仅应用于图标。禁用时，颜色将同时应用于图标和文本标签。"},navRainbowMode:{name:"彩虹颜色模式（仓库配置文件）",desc:"在导航窗格中应用彩虹颜色。",options:{none:"关闭",foreground:"文字颜色",background:"背景颜色"}},navRainbowFirstColor:{name:"第一种颜色",desc:"彩虹渐变中的第一种颜色。"},navRainbowLastColor:{name:"最后一种颜色",desc:"彩虹渐变中的最后一种颜色。"},navRainbowTransitionStyle:{name:"过渡样式",desc:"第一种和最后一种颜色之间使用的插值。",options:{hue:"色相",rgb:"RGB"}},navRainbowApplyToShortcuts:{name:"应用到快捷方式",desc:"将彩虹颜色应用到快捷方式。"},navRainbowApplyToRecent:{name:"应用到最近项目",desc:"将彩虹颜色应用到最近项目。"},navRainbowApplyToFolders:{name:"应用到文件夹",desc:"将彩虹颜色应用到文件夹。"},navRainbowFolderScope:{name:"文件夹范围",desc:"选择哪些文件夹级别开始颜色分配。",options:{root:"根级别",child:"子级别",all:"每个级别"}},navRainbowApplyToTags:{name:"应用到标签",desc:"将彩虹颜色应用到标签。"},navRainbowTagScope:{name:"标签范围",desc:"选择哪些标签级别开始颜色分配。",options:{root:"根级别",child:"子级别",all:"每个级别"}},navRainbowApplyToProperties:{name:"应用到属性",desc:"将彩虹颜色应用到属性。"},navRainbowBalanceHueLuminance:{name:"色相间一致的亮度",desc:"在色相过渡期间在起始颜色和结束颜色之间插值亮度。"},navRainbowSeparateThemeColors:{name:"分别设置浅色和深色模式颜色",desc:"为浅色模式和深色模式使用不同的彩虹颜色。"},navRainbowCopyLightToDark:"将浅色模式颜色复制到深色模式",navRainbowPropertyScope:{name:"属性范围",desc:"选择哪些属性级别开始颜色分配。",options:{root:"根级别",child:"子级别",all:"每个级别"}},collapseBehavior:{name:"折叠项目",desc:"选择展开/折叠全部按钮影响的内容。",options:{all:"全部",foldersOnly:"仅文件夹",tagsOnly:"仅标签",propertiesOnly:"仅属性"}},smartCollapse:{name:"保持选中项展开",desc:"折叠时，保持选中项及其父级展开。"},excludeVaultRootFromCollapse:{name:"折叠时跳过仓库根目录",desc:"折叠所有项目时，保持仓库根文件夹的当前状态。"},navIndent:{name:"树形缩进",desc:"调整嵌套文件夹、标签和属性的缩进宽度（像素）。"},navItemHeight:{name:"行高",desc:"调整导航窗格中文件夹、标签和属性的高度（像素）。"},navItemHeightScaleText:{name:"随行高调整文字大小",desc:"降低行高时减小导航文字大小。"},showIndentGuides:{name:"显示缩进参考线",desc:"显示嵌套文件夹、标签和属性的缩进参考线。"},navCountLeaderStyle:{name:"显示前导符",desc:"在项目名称和笔记数量之间显示点、短划线或直线。",options:{none:"无",dots:"点 (...)",dashes:"短划线 (---)",line:"直线"}},navRootSpacing:{name:"根级项目间距",desc:"根级文件夹、标签和属性之间的间距（像素）。"},showTags:{name:"显示标签",desc:"在导航器中显示标签部分。"},showTagIcons:{name:"显示标签图标",desc:"在导航窗格的标签旁显示图标。"},inheritTagColors:{name:"继承标签颜色",desc:"子标签从父标签继承颜色。"},tagSortOrder:{name:"标签排序方式",desc:"右键点击任意标签，可为其子项设置不同的排序方式。",options:{alphaAsc:"A 到 Z",alphaDesc:"Z 到 A",frequency:"频率",lowToHigh:"从低到高",highToLow:"从高到低"}},showAllTagsFolder:{name:"显示标签文件夹",desc:'将"标签"显示为可折叠文件夹。'},showUntagged:{name:"显示无标签笔记",desc:'为没有任何标签的笔记显示"无标签"项目。'},scopeTagsToCurrentContext:{name:"按选择筛选标签",desc:"仅显示所选文件夹或属性中笔记包含的标签。"},keepEmptyTagsProperty:{name:"删除最后一个标签后保留 tags 属性",desc:"当所有标签被删除时保留 frontmatter 中的 tags 属性。禁用时,tags 属性将从 frontmatter 中删除。"},showProperties:{name:"显示属性",desc:"在导航器中显示属性部分。",propertyKeysInfoPrefix:"在",propertyKeysInfoLinkText:"开始 > 属性键",propertyKeysInfoSuffix:"中配置属性"},showPropertyIcons:{name:"显示属性图标",desc:"在导航窗格中属性旁边显示图标。"},inheritPropertyColors:{name:"继承属性颜色",desc:"属性值继承其属性键的颜色和背景色。"},propertySortOrder:{name:"属性排序方式",desc:"右键点击任意属性以设置其值的不同排序方式。",options:{alphaAsc:"A 到 Z",alphaDesc:"Z 到 A",frequency:"频率",lowToHigh:"从低到高",highToLow:"从高到低"}},showAllPropertiesFolder:{name:"显示属性文件夹",desc:'将"属性"显示为可折叠文件夹。'},scopePropertiesToCurrentContext:{name:"按选择筛选属性",desc:"仅显示所选文件夹或标签中笔记包含的属性。"},hiddenTags:{name:"隐藏标签 (库配置)",desc:"逗号分隔的标签模式列表。名称模式：tag*（以...开头）、*tag（以...结尾）。路径模式：archive（标签及其后代）、archive/*（仅后代）、projects/*/drafts（中间通配符）。",placeholder:"archive*, *draft, projects/*/old"},hiddenFileTags:{name:"隐藏带标签的笔记 (库配置)",desc:"Comma-separated list of tag patterns. Notes containing matching tags are hidden. Name patterns: tag* (starting with), *tag (ending with). Path patterns: archive (tag and descendants), archive/* (descendants only), projects/*/drafts (mid-segment wildcard).",placeholder:"archive*, *draft, projects/*/old"},enableFolderNotes:{name:"启用文件夹笔记",desc:"具有匹配笔记文件的文件夹显示为可点击的链接。"},folderNoteType:{name:"默认文件夹笔记类型",desc:"从上下文菜单创建的文件夹笔记类型。",options:{ask:"创建时询问",markdown:"Markdown",canvas:"Canvas",base:"Base"}},folderNoteName:{name:"文件夹笔记名称",desc:"文件夹笔记的名称。留空以使用与文件夹相同的名称。",placeholder:"index"},folderNoteNamePattern:{name:"文件夹笔记名称模式",desc:"不含扩展名的文件夹笔记名称模式。使用 {{folder}} 插入文件夹名称。设置后，文件夹笔记名称不适用。"},folderNoteTemplate:{name:"文件夹笔记模板",desc:"创建文件夹笔记时使用的模板文件。Markdown 模板可以使用 Templater。Canvas 和 Base 模板会作为文件内容复制。在文件操作 > 模板中设置模板文件夹位置。",formatWarning:"模板格式必须与所选文件夹笔记类型匹配：.md、.canvas 或 .base。"},enableFolderNoteLinks:{name:"文件夹名称打开文件夹笔记",desc:"点击文件夹名称会打开其文件夹笔记。关闭时，文件夹笔记仅提供文件夹元数据，例如名称、图标和颜色。"},hideFolderNoteInList:{name:"在列表中隐藏文件夹笔记",desc:"在文件列表中隐藏文件夹笔记。"},pinCreatedFolderNote:{name:"固定创建的文件夹笔记",desc:"从上下文菜单创建时固定文件夹笔记。"},folderNoteOpenLocation:{name:"打开文件夹笔记到",desc:"选择点击文件夹笔记链接时文件夹笔记的打开位置。",options:{currentTab:"当前标签页",newTab:"新标签页",rightSidebar:"右侧边栏"}},showNearestFolderNoteInSidebar:{name:"右侧边栏：显示最近的文件夹笔记",desc:"选择文件夹时，右侧边栏会自动显示最近的上级文件夹笔记。"},confirmBeforeDelete:{name:"删除前确认",desc:"删除笔记或文件夹时显示确认对话框"},deleteAttachments:{name:"删除文件时删除附件",desc:"如果未在其他地方使用，则自动删除关联的附件和生成的绘图预览",options:{ask:"每次询问",always:"始终",never:"从不"}},moveFileConflicts:{name:"移动冲突",desc:"将文件移动到已有同名文件的文件夹时。每次询问（重命名、覆盖、取消）或始终重命名。",options:{ask:"每次询问",rename:"始终重命名"}},metadataCleanup:{name:"清理元数据",desc:"移除在 Obsidian 外部删除、移动或重命名文件、文件夹、标签或属性时留下的孤立元数据。这仅影响 Notebook Navigator 设置文件。",buttonText:"清理元数据",error:"设置清理失败",loading:"正在检查元数据...",statusClean:"没有需要清理的元数据",statusCounts:"孤立项目：{folders} 文件夹，{tags} 标签，{properties} 属性，{files} 文件，{pinned} 置顶，{separators} 分隔符"},rebuildCache:{name:"重建缓存",desc:"如果出现标签缺失、预览不正确或图片缺失，请使用此功能。这可能在同步冲突或意外关闭后发生。",buttonText:"重建缓存",error:"重建缓存失败",indexingTitle:"正在索引仓库...",progress:"正在更新 Notebook Navigator 缓存."},externalIcons:{downloadButton:"下载",downloadingLabel:"正在下载...",removeButton:"移除",statusInstalled:"已下载 (版本 {version})",statusNotInstalled:"未下载",versionUnknown:"未知",downloadFailed:"下载{name}失败。请检查您的连接并重试。",removeFailed:"移除{name}失败。",infoNote:"下载的图标包会在设备之间同步安装状态。图标包保存在每个设备的本地数据库中；同步仅跟踪它们是否应该被下载或移除。图标包从Notebook Navigator仓库下载 (https://github.com/johansan/notebook-navigator/tree/main/icon-assets)。"},useFrontmatterDates:{name:"使用前言元数据",desc:"使用前言设置笔记名称、时间戳、图标和颜色"},frontmatterNameField:{name:"名称字段（多个）",desc:"逗号分隔的前言字段列表。使用第一个非空值。回退到文件名。",placeholder:"title, name"},frontmatterIconField:{name:"图标字段",desc:"文件图标的前言字段。留空使用存储在设置中的图标。",placeholder:"icon"},frontmatterColorField:{name:"颜色字段",desc:"文件颜色的前言字段。留空使用存储在设置中的颜色。",placeholder:"color"},frontmatterBackgroundField:{name:"背景字段",desc:"背景颜色的前言字段。留空使用存储在设置中的背景颜色。",placeholder:"background"},frontmatterMigration:{name:"从设置迁移图标和颜色",desc:"存储在设置中：{icons} 个图标，{colors} 种颜色。",button:"迁移",buttonWorking:"正在迁移...",noticeNone:"设置中未保存任何文件图标或颜色。",noticeDone:"已迁移 {migratedIcons}/{icons} 个图标，{migratedColors}/{colors} 种颜色。",noticeFailures:"失败的条目：{failures}。",noticeError:"迁移失败。请检查控制台以获取详细信息。"},frontmatterCreatedField:{name:"创建时间戳字段",desc:"创建时间戳的前言字段名称。留空仅使用文件系统日期。",placeholder:"created"},frontmatterModifiedField:{name:"修改时间戳字段",desc:"修改时间戳的前言字段名称。留空仅使用文件系统日期。",placeholder:"modified"},frontmatterDateFormat:{name:"时间戳格式",desc:"用于解析前言中时间戳的格式。留空使用 ISO 8601 解析。",helpTooltip:"使用 Moment 格式",momentLinkText:"Moment 格式",help:`常用格式:
YYYY-MM-DD[T]HH:mm:ss → 2025-01-04T14:30:45
YYYY-MM-DD[T]HH:mm:ssZ → 2025-08-07T16:53:39+02:00
DD/MM/YYYY HH:mm:ss → 04/01/2025 14:30:45
MM/DD/YYYY h:mm:ss a → 01/04/2025 2:30:45 PM`},supportDevelopment:{name:"支持开发",desc:"如果您喜欢使用笔记本导航器，请考虑支持其持续开发。",buttonText:"❤️ 赞助",coffeeButton:"☕️ 请我喝咖啡"},updateCheckOnStart:{name:"启动时检查新版本",desc:"启动时检查新的插件版本，当有可用更新时显示通知。检查最多每天一次。",status:"有新版本可用：{version}"},debugLogging:{name:"启动调试日志",desc:"将启动诊断写入保管库根目录中带时间戳的 Markdown 文件，并在启动稳定后停止。该文件可能会同步，并且可能包含文件路径。"},whatsNew:{name:"Notebook Navigator {version} 的最新动态",desc:"查看最近的更新和改进",buttonText:"查看最近更新"},masteringVideo:{name:"精通 Notebook Navigator（视频）",desc:"本视频涵盖了在 Notebook Navigator 中高效工作所需的一切内容，包括快捷键、搜索、标签和高级自定义。"},cacheStatistics:{localCache:"本地缓存",items:"项",withTags:"包含标签",withPreviewText:"包含预览文本",withFeatureImage:"包含特色图片",withMetadata:"包含元数据"},metadataInfo:{successfullyParsed:"成功解析",itemsWithName:"个带名称的项目",withCreatedDate:"个带创建日期",withModifiedDate:"个带修改日期",withIcon:"个带图标",withColor:"个带颜色",failedToParse:"解析失败",createdDates:"个创建日期",modifiedDates:"个修改日期",checkTimestampFormat:"请检查您的时间戳格式。",exportFailed:"导出错误"}}},whatsNew:{title:"Notebook Navigator 的新功能",openBannerImage:"打开发布横幅图片",supportMessage:"如果您觉得 Notebook Navigator 有用，请考虑支持其开发。",supportButton:"请我喝咖啡",thanksButton:"谢谢！"}}});var lU={};In(lU,{STRINGS_ZH_TW:()=>ase});var ase,dU=U(()=>{ase={common:{cancel:"取消",delete:"刪除",clear:"清除",remove:"移除",restoreDefault:"恢復預設",submit:"提交",save:"儲存",configure:"設定",lightMode:"淺色模式",darkMode:"深色模式",noSelection:"未選擇",untagged:"無標籤",featureImageAlt:"特色圖片",unknownError:"未知錯誤",clipboardWriteError:"無法寫入剪貼簿",updateBannerTitle:"Notebook Navigator 有可用更新",updateBannerInstruction:"在設定 -> 社群外掛中更新",previous:"上一個",next:"下一個"},listPane:{emptyStateNoSelection:"選擇資料夾或標籤以檢視筆記",emptyStateNoNotes:"無筆記",pinnedSection:"已釘選",notesSection:"筆記",filesSection:"檔案",hiddenItemAriaLabel:"{name} (已隱藏)",collapseGroup:"摺疊群組",expandGroup:"展開群組",manualSortTitle:"手動排序: {property}",manualSortHint:"拖曳以重新排序。順序會以數字索引值儲存在屬性「{property}」中。",manualSortNonMarkdownHint:"非 Markdown 檔案顯示於底部，無法重新排序。",unsortedSection:"未排序",manualSortDone:"完成",manualSortMultipleWriteFailure:"{count} 個檔案失敗；第一個: {path}: {message}"},tagList:{untaggedLabel:"無標籤",tags:"標籤"},navigationPane:{shortcutsHeader:"捷徑",recentFilesHeader:"最近檔案",properties:"屬性",reorderRootFoldersTitle:"重新排列導覽",reorderRootFoldersHint:"使用方向鍵或拖曳來重新排列",vaultRootLabel:"保險庫",resetRootToAlpha:"重設為字母順序",resetRootToFrequency:"重設為頻率排序",pinShortcuts:"釘選捷徑",pinShortcutsAndRecentFiles:"釘選捷徑和最近檔案",unpinShortcuts:"取消釘選捷徑",unpinShortcutsAndRecentFiles:"取消釘選捷徑和最近檔案",profileMenuAria:"變更保險庫設定檔"},navigationCalendar:{ariaLabel:"導覽日曆",dailyNotesNotEnabled:"未啟用每日筆記。請在 Obsidian 設定 → 核心外掛中啟用每日筆記。",createDailyNote:{title:"建立每日筆記",message:"每日筆記 {filename} 不存在。是否建立？",confirmButton:"建立"},helpModal:{title:"行事曆快捷鍵",items:["點擊任意日期以開啟或建立每日筆記。週、月、季度和年份的操作方式相同。","日期下方的實心圓點表示有筆記。空心圓點表示有未完成的任務。","如果筆記有特色圖片，它會顯示為該日期的背景。"],dateFilterCmdCtrl:"`Cmd/Ctrl`+點擊日期，按該日期篩選檔案列表。",dateFilterOptionAlt:"`Option/Alt`+點擊日期，按該日期篩選檔案列表。"}},dailyNotes:{templateReadFailed:"讀取每日筆記範本失敗",createFailed:"建立每日筆記失敗"},shortcuts:{folderExists:"資料夾已在捷徑中",noteExists:"筆記已在捷徑中",tagExists:"標籤已在捷徑中",propertyExists:"屬性已在捷徑中",invalidProperty:"無效的屬性捷徑",searchExists:"搜尋捷徑已存在",emptySearchQuery:"儲存前請輸入搜尋查詢",emptySearchName:"儲存搜尋前請輸入名稱",add:"新增至捷徑",addNotesCount:"新增 {count} 個筆記至捷徑",addFilesCount:"新增 {count} 個檔案至捷徑",rename:"重新命名捷徑",remove:"從捷徑移除",removeAll:"移除所有捷徑",removeAllConfirm:"移除所有捷徑？",folderNotesPinned:"已釘選 {count} 個資料夾筆記"},paneHeader:{collapseAllFolders:"摺疊項目",expandAllFolders:"展開所有項目",showCalendar:"顯示日曆",hideCalendar:"隱藏日曆",newFolder:"新建資料夾",newNote:"新筆記",mobileBackToNavigation:"返回導覽",changeChildSortOrder:"變更排序方式",changeSortAndGroup:"變更排序與分組",resetViewToDefaults:"將檢視重設為預設值",manualSort:"手動排序",editSortOrder:"編輯排序方式...",removeSortProperty:"移除排序屬性",descendants:"子項",subfolders:"子資料夾",subtags:"子標籤",childValues:"子值",applySortAndGroupToDescendants:t=>`將排序與分組套用到${t}`,applyAppearanceToDescendants:t=>`將外觀套用到${t}`,showFolders:"顯示導覽",reorderRootFolders:"重新排列導覽",finishRootFolderReorder:"完成重新排列",showExcludedItems:"顯示隱藏的資料夾、標籤和筆記",hideExcludedItems:"隱藏隱藏的資料夾、標籤和筆記",showDualPane:"顯示雙窗格",showSinglePane:"顯示單窗格",dualPaneAutoFallbackNotice:"側邊欄過窄時無法使用雙窗格。若要變更此行為，請在設定 > 外觀與行為中將「側邊欄過窄時」設為「不執行任何動作」。",changeAppearance:"變更外觀",showNotesFromSubfolders:"顯示子資料夾的筆記",showFilesFromSubfolders:"顯示子資料夾的檔案",showNotesFromDescendants:"顯示後代的筆記",showFilesFromDescendants:"顯示後代的檔案",search:"搜尋"},searchInput:{placeholder:"搜尋...",placeholderOmnisearch:"Omnisearch...",clearSearch:"清除搜尋",switchToFilterSearch:"切換到篩選搜尋",switchToOmnisearch:"切換到 Omnisearch",saveSearchShortcut:"將搜尋儲存至捷徑",removeSearchShortcut:"從捷徑移除搜尋",shortcutModalTitle:"儲存搜尋捷徑",shortcutNamePlaceholder:"輸入捷徑名稱",shortcutStartIn:"始終從此處開始: {path}",searchHelp:"搜尋語法",searchHelpTitle:"搜尋語法",searchHelpModal:{intro:"在一個查詢中組合檔案名稱、屬性、標籤、日期和篩選器（例如：`meeting .status=active #work @thisweek`）。安裝 Omnisearch 外掛程式以使用全文搜尋。",introSwitching:"使用上/下箭頭鍵或點擊搜尋圖示在篩選搜尋和 Omnisearch 之間切換。",sections:{fileNames:{title:"檔案名稱",items:['`word` 尋找檔案名稱中含有 "word" 的筆記。',"`word1 word2` 每個詞都必須符合檔案名稱。",'`-word` 排除檔案名稱中含有 "word" 的筆記。']},tags:{title:"標籤",items:["`#tag` 包含帶有標籤的筆記（也符合巢狀標籤如 `#tag/subtag`）。","`#` 僅包含有標籤的筆記。","`-#tag` 排除帶有標籤的筆記。","`-#` 僅包含無標籤的筆記。","`#tag1 #tag2` 符合兩個標籤（隱式 AND）。","`#tag1 AND #tag2` 符合兩個標籤（顯式 AND）。","`#tag1 OR #tag2` 符合任一標籤。","`#a OR #b AND #c` AND 優先順序較高：符合 `#a`，或同時符合 `#b` 和 `#c`。","Cmd/Ctrl+點擊標籤以 AND 方式新增。Cmd/Ctrl+Shift+點擊以 OR 方式新增。"]},properties:{title:"屬性",items:["`.key` 包含具有屬性鍵的筆記。","`.key=value` 包含屬性值含有 `value` 的筆記。",'`."Reading Status"` 包含屬性鍵包含空格的筆記。','`."Reading Status"="In Progress"` 包含空格的鍵和值必須用雙引號括起來。',"`-.key` 排除具有屬性鍵的筆記。","`-.key=value` 排除屬性值含有 `value` 的筆記。","Cmd/Ctrl+點擊屬性以 AND 方式新增。Cmd/Ctrl+Shift+點擊以 OR 方式新增。"]},tasks:{title:"篩選器",items:["`has:task` 包含有未完成任務的筆記。","`-has:task` 排除有未完成任務的筆記。","`folder:meetings` 包含資料夾名稱含有 `meetings` 的筆記。","`folder:/work/meetings` 僅包含 `work/meetings` 中的筆記（不含子資料夾）。","`folder:/` 僅包含保管庫根目錄中的筆記。","`-folder:archive` 排除資料夾名稱含有 `archive` 的筆記。","`-folder:/archive` 僅排除 `archive` 中的筆記（不含子資料夾）。","`ext:md` 包含副檔名為 `md` 的筆記（也支援 `ext:.md`）。","`-ext:pdf` 排除副檔名為 `pdf` 的筆記。","與標籤、名稱和日期組合使用（例如：`folder:/work/meetings ext:md @thisweek`）。"]},connectors:{title:"AND/OR 行為",items:["`AND` 和 `OR` 僅在純標籤/屬性查詢中作為運算子。","純標籤/屬性查詢僅包含標籤和屬性篩選器: `#tag`、`-#tag`、`#`、`-#`、`.key`、`-.key`、`.key=value`、`-.key=value`。","如果查詢包含名稱、日期（`@...`）、任務篩選器（`has:task`）、資料夾篩選器（`folder:...`）或副檔名篩選器（`ext:...`），`AND` 和 `OR` 將作為詞語進行比對。","運算子查詢範例: `#work OR .status=started`。","混合查詢範例：`#work OR ext:md`（`OR` 在檔案名稱中進行比對）。"]},dates:{title:"日期",items:["`@today` 使用預設日期欄位尋找今天的筆記。","`@yesterday`、`@last7d`、`@last30d`、`@thisweek`、`@thismonth` 相對日期範圍。","`@2026-02-07` 尋找特定日期（也支援 `@20260207`）。","`@2026` 尋找日曆年。","`@2026-02` 或 `@202602` 尋找日曆月。","`@2026-W05` 或 `@2026W05` 尋找 ISO 週。","`@2026-Q2` 或 `@2026Q2` 尋找日曆季度。","`@13/02/2026` 帶分隔符的數字格式（`@07022026` 在歧義時遵循您的地區設定）。","`@2026-02-01..2026-02-07` 尋找包含性日期範圍（支援開放端點）。","`@c:...` 或 `@m:...` 指定建立或修改日期。","`-@...` 排除日期符合。"]},omnisearch:{title:"Omnisearch",items:["對整個保管庫進行全文搜尋，按目前資料夾或選定標籤篩選。","在大型保管庫中輸入少於3個字元時可能會較慢。","無法搜尋包含非ASCII字元的路徑，也無法正確搜尋子路徑。","在資料夾篩選之前返回有限的結果，因此如果其他地方存在大量符合項，相關檔案可能不會顯示。","筆記預覽顯示 Omnisearch 摘錄，而不是預設預覽文字。"]}}}},contextMenu:{file:{openInNewTab:"在新分頁中開啟",openToRight:"在右側開啟",openInNewWindow:"在新視窗中開啟",openMultipleInNewTabs:"在新分頁中開啟 {count} 個筆記",openMultipleToRight:"在右側開啟 {count} 個筆記",openMultipleInNewWindows:"在新視窗中開啟 {count} 個筆記",pinNote:"釘選筆記",unpinNote:"取消釘選筆記",pinMultipleNotes:"釘選 {count} 個筆記",unpinMultipleNotes:"取消釘選 {count} 個筆記",duplicateNote:"複製筆記",duplicateMultipleNotes:"複製 {count} 個筆記",openVersionHistory:"開啟版本歷史",revealInFolder:"在資料夾中定位",revealInFinder:"在 Finder 中顯示",showInExplorer:"在檔案總管中顯示",openInDefaultApp:"以預設應用程式開啟",renameNote:"重新命名筆記",deleteNote:"刪除筆記",deleteMultipleNotes:"刪除 {count} 個筆記",moveNoteToFolder:"移動筆記至...",moveFileToFolder:"移動檔案至...",moveMultipleNotesToFolder:"將 {count} 個筆記移動至...",moveMultipleFilesToFolder:"將 {count} 個檔案移動至...",mergeNotes:"合併 {count} 則筆記...",mergeNotesInGroup:"合併群組中的筆記...",setManualSortGroupHeader:"設定群組標題",changeManualSortGroupHeader:"變更群組標題",manualSortGroupHeader:{title:"群組標題",copyStyle:"複製標題樣式",pasteStyle:"貼上標題樣式",remove:"移除群組標題"},addTag:"新增標籤",addPropertyKey:"設定屬性",removeTag:"移除標籤",removeAllTags:"移除所有標籤",changeIcon:"變更圖示",changeColor:"變更顏色",openMultipleFilesInNewTabs:"在新分頁中開啟 {count} 個檔案",openMultipleFilesToRight:"在右側開啟 {count} 個檔案",openMultipleFilesInNewWindows:"在新視窗中開啟 {count} 個檔案",pinFile:"釘選檔案",unpinFile:"取消釘選檔案",pinMultipleFiles:"釘選 {count} 個檔案",unpinMultipleFiles:"取消釘選 {count} 個檔案",duplicateFile:"複製檔案",duplicateMultipleFiles:"複製 {count} 個檔案",renameFile:"重新命名檔案",deleteFile:"刪除檔案",setCalendarHighlight:"設定醒目提示",removeCalendarHighlight:"移除醒目提示",deleteMultipleFiles:"刪除 {count} 個檔案"},folder:{newNote:"新筆記",newNoteFromTemplate:"從範本新建筆記",newFolder:"新建資料夾",newCanvas:"新建畫布",newBase:"新建資料庫",newDrawing:"新建繪圖",newExcalidrawDrawing:"新建 Excalidraw 繪圖",newTldrawDrawing:"新建 Tldraw 繪圖",duplicateFolder:"複製資料夾",searchInFolder:"在資料夾中搜尋",createFolderNote:"建立資料夾筆記",detachFolderNote:"解除資料夾筆記",deleteFolderNote:"刪除資料夾筆記",changeIcon:"變更圖示",changeColor:"變更顏色",changeBackground:"變更背景",excludeFolder:"隱藏資料夾",unhideFolder:"顯示資料夾",moveFolder:"移動資料夾至...",renameFolder:"重新命名資料夾",deleteFolder:"刪除資料夾"},tag:{changeIcon:"變更圖示",changeColor:"變更顏色",changeBackground:"變更背景",showTag:"顯示標籤",hideTag:"隱藏標籤"},property:{addKey:"設定屬性鍵",renameKey:"重新命名屬性",deleteKey:"刪除屬性"},navigation:{addSeparator:"新增分隔線",removeSeparator:"移除分隔線"},copyPath:{title:"複製路徑",asObsidianUrl:"作為 Obsidian URL",fromVaultFolder:"從保險庫資料夾",fromSystemRoot:"從系統根目錄"},style:{title:"樣式",copy:"複製樣式",paste:"貼上樣式",removeIcon:"移除圖示",removeColor:"移除顏色",removeBackground:"移除背景",clear:"清除樣式"}},folderAppearance:{appearance:"外觀",sortBy:"排序方式",standardPreset:"標準",compactPreset:"精簡",defaultSuffix:"(預設)",defaultLabel:"預設",titleRows:"標題行數",previewRows:"預覽行數",groupBy:"分組依據",titleRowOption:t=>`標題${t}行`,previewRowOption:t=>`預覽${t}行`},modals:{bulkApply:{applyButton:"套用",applySortAndGroupTitle:t=>`將排序與分組套用到${t}？`,applyAppearanceTitle:t=>`將外觀套用到${t}？`,affectedCountMessage:t=>`將更改的現有覆寫：${t}。`},manualSortConfirm:{propertySortTitle:"使用手動排序？",propertySortMessage:(t,e)=>`這會將目前檢視切換為使用「${t}」的手動排序。編輯順序時會依需要將數字索引值寫入該屬性，影響 ${e} 則筆記。`,propertySortConfirmButton:"使用手動排序",removePropertyTitle:"移除排序屬性？",removePropertyMessage:(t,e)=>`這會從目前列表中的 ${e} 則筆記移除「${t}」。這些筆記的手動排序順序將被清除。`,removePropertyConfirmButton:"移除屬性",compactTitle:"壓縮索引值？",compactMessage:t=>`此次重新排序需要更多數字空間。${t} 則筆記將獲得新的索引值。`,compactConfirmButton:"壓縮索引值"},manualSortGroupHeader:{title:"設定群組標題",titleLabel:"標題",placeholder:"群組標題",icon:"圖示",color:"顏色",wordCount:"顯示字數",wordCountTarget:"目標字數",wordCountTargetPlaceholder:"10,000",wordCountTargetDescription:"此欄位為空時，群組目標會使用「設定 > 筆記 > 字數與字元數」中設定的目標屬性。為此群組設定目標值即可覆寫。",description:"為此筆記自訂群組標題。將標題留空以移除標題。"},mergeNotes:{title:"合併筆記",summary:"從 {folder} 中的 {count} 則筆記建立一則筆記。",frontmatterRule:"保留第一則筆記的 frontmatter。移除其他筆記的 frontmatter。",crossFolderWarning:"來源筆記位於不同資料夾。相對連結和嵌入在合併後的筆記中可能會停止運作。",outputName:"輸出名稱",outputNameDesc:"合併後的筆記會建立在上方顯示的資料夾中。",outputNamePlaceholder:"合併的筆記",separator:"分隔符",separatorDesc:"插入到筆記之間。",separatorOptions:{none:"無",blankLine:"空白行",horizontalRule:"水平線",heading:"含筆記標題的標題"},moveSourcesToTrash:"合併後將來源筆記移至回收桶",mergeButton:"合併"},navRainbowSection:{title:t=>`彩虹顏色: ${t}`},iconPicker:{searchPlaceholder:"搜尋圖示...",recentlyUsedHeader:"最近使用",emptyStateSearch:"開始輸入以搜尋圖示",emptyStateNoResults:"未找到圖示",showingResultsInfo:"顯示 {count} 個結果中的 50 個。輸入更多內容以縮小範圍。",emojiInstructions:"輸入或貼上任何表情符號作為圖示使用",removeIcon:"移除圖示",removeFromRecents:"從最近使用中移除",allTabLabel:"全部"},fileIconRuleEditor:{addRuleAria:"新增規則"},interfaceIcons:{title:"介面圖示",fileItemsSection:"檔案項目",items:{"nav-shortcuts":"捷徑","nav-recent-files":"最近檔案","nav-expand-all":"全部展開","nav-collapse-all":"全部摺疊","nav-calendar":"日曆","nav-tree-expand":"樹狀箭頭: 展開","nav-tree-collapse":"樹狀箭頭: 摺疊","nav-hidden-items":"隱藏項目","nav-root-reorder":"重新排列根資料夾","nav-new-folder":"新建資料夾","nav-show-single-pane":"顯示單窗格","nav-show-dual-pane":"顯示雙窗格","nav-profile-chevron":"設定檔選單箭頭","list-search":"搜尋","list-reveal-file":"定位檔案","list-descendants":"子資料夾中的筆記","list-sort-ascending":"排序: 升序","list-sort-descending":"排序: 降序","list-sort-modified":"依編輯日期排序","list-sort-created":"依建立日期排序","list-sort-title":"依標題排序","list-sort-filename":"依檔案名稱排序","list-sort-property":"依屬性排序","list-appearance":"變更外觀","list-new-note":"新建筆記","list-pinned":"釘選筆記","nav-folder-open":"資料夾開啟","nav-folder-closed":"資料夾關閉","nav-tags":"標籤","nav-tag":"標籤","nav-properties":"屬性","nav-property":"屬性","nav-property-value":"值","file-unfinished-task":"未完成任務","file-word-count":"字數統計","file-character-count":"字元數"}},colorPicker:{currentColor:"目前",newColor:"新顏色",paletteDefault:"預設",paletteCustom:"自訂",copyColors:"複製顏色",colorsCopied:"顏色已複製到剪貼簿",pasteColors:"貼上顏色",pasteClipboardError:"無法讀取剪貼簿",pasteInvalidFormat:"需要十六進位顏色值",colorsPasted:"顏色貼上成功",resetUserColors:"清除自訂顏色",clearCustomColorsConfirm:"刪除所有自訂顏色？",userColorSlot:"顏色 {slot}",recentColors:"最近使用的顏色",clearRecentColors:"清除最近使用的顏色",removeRecentColor:"移除顏色",apply:"套用",pickerLabel:"選色器",hexLabel:"HEX",hexInputLabel:"十六進位色彩值",saturationValueArea:"飽和度與亮度",hueSlider:"色相",alphaSlider:"透明度"},appearance:{tabIcon:"圖示",tabColor:"顏色",tabBackground:"背景",resetIcon:"移除圖示",resetColor:"移除顏色",resetBackground:"移除背景",clear:"清除樣式",apply:"套用"},selectVaultProfile:{title:"選擇保險庫設定檔",currentBadge:"使用中",emptyState:"沒有可用的保險庫設定檔。"},tagOperation:{renameTitle:"重新命名標籤 {tag}",deleteTitle:"刪除標籤 {tag}",newTagPrompt:"新標籤名稱",newTagPlaceholder:"輸入新標籤名稱",renameWarning:"重新命名標籤 {oldTag} 將修改 {count} 個{files}。",deleteWarning:"刪除標籤 {tag} 將修改 {count} 個{files}。",modificationWarning:"這將更新檔案修改日期。",affectedFiles:"受影響的檔案：",andMore:"以及 {count} 個更多...",confirmRename:"重新命名標籤",renameUnchanged:"{tag} 未變更",renameNoChanges:"{oldTag} → {newTag} ({countLabel})",renameBatchNotFinalized:"已重新命名 {renamed}/{total}。未更新：{notUpdated}。中繼資料和捷徑未更新。",invalidTagName:"請輸入有效的標籤名稱。",descendantRenameError:"無法將標籤移動到自身或其子標籤中。",confirmDelete:"刪除標籤",deleteBatchNotFinalized:"已從 {removed}/{total} 中刪除。未更新：{notUpdated}。中繼資料和捷徑未更新。",checkConsoleForDetails:"查看主控台了解詳情。",file:"個檔案",files:"個檔案",inlineParsingWarning:{title:"內嵌標籤相容性",message:"{tag} 包含 Obsidian 無法在內嵌標籤中解析的字元。Frontmatter 標籤不受影響。",confirm:"仍然使用"}},propertyOperation:{renameTitle:"重新命名屬性 {property}",deleteTitle:"刪除屬性 {property}",newKeyPrompt:"新屬性名稱",newKeyPlaceholder:"輸入新屬性名稱",renameWarning:"重新命名屬性 {property} 將修改 {count} 個{files}。",renameConflictWarning:"屬性 {newKey} 已存在於 {count} 個{files}中。重新命名 {oldKey} 將取代現有的 {newKey} 值。",deleteWarning:"刪除屬性 {property} 將修改 {count} 個{files}。",confirmRename:"重新命名屬性",confirmDelete:"刪除屬性",renameNoChanges:"{oldKey} → {newKey}（無變更）",renameSettingsUpdateFailed:"已重新命名屬性 {oldKey} → {newKey}。更新設定失敗。",deleteSingleSuccess:"已從 1 篇筆記中刪除屬性 {property}",deleteMultipleSuccess:"已從 {count} 篇筆記中刪除屬性 {property}",deleteSettingsUpdateFailed:"已刪除屬性 {property}。更新設定失敗。",invalidKeyName:"請輸入有效的屬性名稱。"},fileSystem:{newFolderTitle:"新建資料夾",renameFolderTitle:"重新命名資料夾",renameFileTitle:"重新命名檔案",deleteFolderTitle:"刪除 '{name}'？",deleteFileTitle:"刪除 '{name}'？",deleteFileAttachmentsTitle:"刪除檔案附件？",moveFileConflictTitle:"移動衝突",folderNamePrompt:"輸入資料夾名稱：",hideInOtherVaultProfiles:"在其他保險庫設定檔中隱藏",renamePrompt:"輸入新名稱：",renameVaultTitle:"變更保險庫顯示名稱",renameVaultPrompt:"輸入自訂顯示名稱（留空使用預設值）：",deleteFolderConfirm:"您確定要刪除此資料夾及其所有內容嗎？",deleteFileConfirm:"您確定要刪除此檔案嗎？",deleteFileAttachmentsDescriptionSingle:"此附件不再被任何筆記使用。是否要刪除？",deleteFileAttachmentsDescriptionMultiple:"這些附件不再被任何筆記使用。是否要刪除？",deleteFileAttachmentsViewFileTreeAriaLabel:"檔案樹",deleteFileAttachmentsViewGalleryAriaLabel:"圖庫",moveFileConflictDescriptionSingle:"在「{folder}」中發現檔案衝突。",moveFileConflictDescriptionMultiple:"在「{folder}」中發現 {count} 個檔案衝突。",moveFileConflictAffectedFiles:"受影響的檔案",moveFileConflictItem:"「{name}」->「{suggested}」{renameOnly}",moveFileConflictRenameOnly:"（僅重新命名）",moveFileConflictRename:"重新命名",moveFileConflictOverwrite:"覆蓋",removeAllTagsTitle:"移除所有標籤",removeAllTagsFromNote:"您確定要從這個筆記中移除所有標籤嗎？",removeAllTagsFromNotes:"您確定要從 {count} 個筆記中移除所有標籤嗎？"},folderNoteType:{title:"選擇資料夾筆記類型",folderLabel:"資料夾：{name}"},folderSuggest:{placeholder:t=>`將 ${t} 移動至資料夾...`,multipleFilesLabel:t=>`${t} 個檔案`,navigatePlaceholder:"導覽至資料夾...",instructions:{navigate:"導覽",move:"移動",select:"選擇",dismiss:"取消"}},homepage:{placeholder:"搜尋檔案...",instructions:{navigate:"導覽",select:"設為首頁",dismiss:"取消"}},calendarTemplate:{placeholder:"搜尋範本...",instructions:{navigate:"導覽",select:"選擇範本",dismiss:"取消"}},navigationBanner:{placeholder:"搜尋圖片...",instructions:{navigate:"導覽",select:"設為橫幅",dismiss:"取消"}},tagSuggest:{navigatePlaceholder:"導覽至標籤...",addPlaceholder:"搜尋要新增的標籤...",removePlaceholder:"選擇要移除的標籤...",createNewTag:"建立新標籤: #{tag}",instructions:{navigate:"導覽",select:"選擇",dismiss:"取消",add:"新增標籤",remove:"移除標籤"}},propertySuggest:{placeholder:"選擇屬性鍵...",navigatePlaceholder:"導航到屬性...",instructions:{navigate:"導覽",select:"新增屬性",dismiss:"取消"}},propertyKeyVisibility:{title:"屬性鍵可見性",description:"控制屬性值的顯示位置。各欄分別對應導航面板、列表面板和檔案上下文選單。使用底部列切換某欄中的所有列。",searchPlaceholder:"搜尋屬性鍵...",propertyColumnLabel:"屬性",showInNavigation:"在導覽中顯示",showInList:"在清單中顯示",showInFileMenu:"在檔案選單中顯示",toggleAllInNavigation:"切換導覽中的全部",toggleAllInList:"切換清單中的全部",toggleAllInFileMenu:"切換檔案選單中的全部",applyButton:"套用",emptyState:"未找到屬性鍵。"},welcome:{title:"歡迎使用 {pluginName}",introText:"您好！在開始之前，強烈建議您觀看下方影片的前五分鐘，以了解面板和「顯示子資料夾中的筆記」開關是如何運作的。",continueText:"如果您還有五分鐘時間，請繼續觀看影片以了解精簡顯示模式以及如何正確設定捷徑和重要的快速鍵。",thanksText:"非常感謝您的下載，祝您使用愉快！",videoAlt:"安裝與精通 Notebook Navigator",openVideoButton:"播放影片",closeButton:"以後再說"}},fileSystem:{errors:{createFolder:"建立資料夾失敗：{error}",createFile:"建立檔案失敗：{error}",renameFolder:"重新命名資料夾失敗：{error}",renameFolderNoteConflict:"無法重新命名：「{name}」已在此資料夾中存在",renameFile:"重新命名檔案失敗：{error}",deleteFolder:"刪除資料夾失敗：{error}",deleteFile:"刪除檔案失敗：{error}",deleteAttachments:"刪除附件失敗: {error}",mergeNotes:"合併筆記失敗: {error}",mergeNotesOpenOutput:"合併後的筆記已建立為 {name}，但無法開啟: {error}。來源筆記未變更。",mergeNotesOpenSkipped:"另一個檔案開啟請求已優先執行。",mergeNotesTrashSources:"合併後的筆記已建立。無法將 {count} 則來源筆記移至回收桶。",duplicateNote:"複製筆記失敗：{error}",duplicateFolder:"複製資料夾失敗：{error}",openVersionHistory:"開啟版本歷史失敗：{error}",versionHistoryNotFound:"未找到版本歷史命令。請確保已啟用 Obsidian 同步。",revealInExplorer:"在系統檔案總管中定位檔案失敗：{error}",openInDefaultApp:"以預設應用程式開啟失敗：{error}",openInDefaultAppNotAvailable:"此平台不支援以預設應用程式開啟",folderNoteAlreadyExists:"資料夾筆記已存在",folderAlreadyExists:"資料夾「{name}」已存在",folderNotesDisabled:"請在設定中啟用資料夾筆記以轉換檔案",folderNoteAlreadyLinked:"此檔案已作為資料夾筆記",folderNoteNotFound:"所選資料夾中沒有資料夾筆記",folderNoteUnsupportedExtension:"不支援的檔案副檔名：{extension}",folderNoteMoveFailed:"轉換過程中移動檔案失敗：{error}",folderNoteRenameConflict:"資料夾中已存在名為「{name}」的檔案",folderNoteConversionFailed:"轉換為資料夾筆記失敗",folderNoteConversionFailedWithReason:"轉換為資料夾筆記失敗：{error}",folderNoteOpenFailed:"檔案已轉換但開啟資料夾筆記失敗：{error}",failedToDeleteFile:"刪除 {name} 失敗: {error}",failedToDeleteMultipleFiles:"刪除 {count} 個檔案失敗",versionHistoryNotAvailable:"版本歷史服務不可用",drawingAlreadyExists:"同名繪圖已存在",failedToCreateDrawing:"建立繪圖失敗",noFolderSelected:"Notebook Navigator 中未選擇資料夾",noFileSelected:"未選擇檔案"},warnings:{linkBreakingNameCharacters:"該名稱包含會破壞 Obsidian 連結的字元：#, |, ^, %%, [[, ]].",forbiddenNameCharactersAllPlatforms:"名稱不能以 . 開頭，也不能包含 : 或 /。",forbiddenNameCharactersWindows:'Windows 保留字元不允許使用：<, >, ", \\, |, ?, *。'},notices:{hideFolder:"已隱藏資料夾：{name}",showFolder:"已顯示資料夾：{name}",mergeNotes:"已將 {count} 則筆記合併到 {name}"},notifications:{deletedMultipleFiles:"已刪除 {count} 個檔案",movedMultipleFiles:"已將 {count} 個檔案移動至 {folder}",folderNoteConversionSuccess:"已在「{name}」中將檔案轉換為資料夾筆記",folderMoved:"已移動資料夾「{name}」",deepLinkCopied:"Obsidian URL 已複製到剪貼簿",pathCopied:"路徑已複製到剪貼簿",relativePathCopied:"相對路徑已複製到剪貼簿",tagAddedToNote:"已將標籤新增到 1 個筆記",tagAddedToNotes:"已將標籤新增到 {count} 個筆記",tagRemovedFromNote:"已從 1 個筆記中移除標籤",tagRemovedFromNotes:"已從 {count} 個筆記中移除標籤",tagsClearedFromNote:"已從 1 個筆記中清除所有標籤",tagsClearedFromNotes:"已從 {count} 個筆記中清除所有標籤",noTagsToRemove:"沒有可移除的標籤",noFilesSelected:"未選擇檔案",mergeNotesRequireMultipleMarkdown:"請選擇至少兩則 Markdown 筆記進行合併",tagOperationsNotAvailable:"標籤操作不可用",propertyOperationsNotAvailable:"屬性操作不可用",tagsRequireMarkdown:"標籤僅支援 Markdown 筆記",propertiesRequireMarkdown:"屬性僅在 Markdown 筆記中受支援",propertySetOnNote:"已在 1 篇筆記中更新屬性",propertySetOnNotes:"已在 {count} 篇筆記中更新屬性",manualSortPropertyRemovedFromNote:"已從 1 則筆記移除排序屬性",manualSortPropertyRemovedFromNotes:"已從 {count} 則筆記移除排序屬性",iconPackDownloaded:"{provider} 已下載",iconPackUpdated:"{provider} 已更新 ({version})",iconPackRemoved:"{provider} 已移除",iconPackLoadFailed:"{provider} 載入失敗",hiddenFileReveal:"檔案已隱藏。啟用「顯示隱藏項目」以顯示它"},confirmations:{deleteMultipleFiles:"確定要刪除 {count} 個檔案嗎？",deleteConfirmation:"此操作無法復原。"},defaultNames:{untitled:"未命名"}},dragDrop:{errors:{cannotMoveIntoSelf:"無法將資料夾移動到自身或其子資料夾中。",itemAlreadyExists:"此位置已存在名為「{name}」的項目。",failedToMove:"移動失敗：{error}",failedToAddTag:"新增標籤「{tag}」失敗",failedToSetProperty:"更新屬性失敗: {error}",failedToClearTags:"清除標籤失敗",failedToMoveFolder:"移動資料夾「{name}」失敗",failedToImportFiles:"匯入失敗：{names}"},notifications:{filesAlreadyExist:"{count} 個檔案在目標位置已存在",filesAlreadyHaveTag:"{count} 個檔案已經有此標籤或更具體的標籤",filesAlreadyHaveProperty:"{count} 個檔案已擁有此屬性",noTagsToClear:"沒有要清除的標籤",fileImported:"已匯入 1 個檔案",filesImported:"已匯入 {count} 個檔案"}},dateGroups:{today:"今天",yesterday:"昨天",previous7Days:"過去 7 天",previous30Days:"過去 30 天"},commands:{open:"開啟",toggleLeftSidebar:"切換左側邊欄",openHomepage:"開啟首頁",openDailyNote:"開啟每日筆記",openWeeklyNote:"開啟每週筆記",openMonthlyNote:"開啟每月筆記",openQuarterlyNote:"開啟季度筆記",openYearlyNote:"開啟每年筆記",revealFile:"定位檔案",search:"搜尋",searchVaultRoot:"在保險庫根目錄搜尋",toggleDualPane:"切換雙窗格布局",toggleDualPaneOrientation:"切換雙窗格方向",toggleCalendar:"切換日曆",selectVaultProfile:"變更保險庫設定檔",selectVaultProfile1:"切換到保險庫設定檔 1",selectVaultProfile2:"切換到保險庫設定檔 2",selectVaultProfile3:"切換到保險庫設定檔 3",deleteFile:"刪除檔案",createNewNote:"建立新筆記",createNewNoteFromTemplate:"從範本新建筆記",moveFiles:"移動檔案",mergeNotes:"合併筆記",selectNextFile:"選擇下一個檔案",selectPreviousFile:"選擇上一個檔案",navigateBack:"向後導覽",navigateForward:"向前導覽",convertToFolderNote:"轉換為資料夾筆記",setAsFolderNote:"設為資料夾筆記",detachFolderNote:"解除資料夾筆記",pinAllFolderNotes:"釘選所有資料夾筆記",navigateToFolder:"導覽至資料夾",navigateToTag:"導覽至標籤",navigateToProperty:"導航到屬性",addShortcut:"新增至捷徑",openShortcut:"開啟捷徑 {number}",toggleDescendants:"切換後代",toggleHidden:"切換隱藏的資料夾、標籤和筆記",toggleTagSort:"切換標籤排序",toggleTagsBySelection:"依選擇切換標籤",togglePropertiesBySelection:"依選擇切換屬性",toggleCompactMode:"切換精簡模式",togglePinnedSection:"切換置頂區域",collapseExpand:"摺疊/展開所有項目",collapseExpandSelectedItem:"摺疊/展開所選項目",addTag:"為選定檔案新增標籤",setProperty:"為選定檔案設定屬性",removeTag:"從選定檔案移除標籤",removeAllTags:"從選定檔案移除所有標籤",openAllFiles:"開啟所有檔案",rebuildCache:"重建快取"},plugin:{viewName:"筆記本導覽器",calendarViewName:"日曆",folderNoteSidebarViewName:"資料夾筆記",ribbonTooltip:"筆記本導覽器",revealInNavigator:"在筆記本導覽器中定位"},tooltips:{lastModifiedAt:"最後修改於",createdAt:"建立於",file:"個檔案",files:"個檔案",folder:"個資料夾",folders:"個資料夾",wordCount:"字數"},fileCounts:{words:"{count} 個詞",characters:"{count} 個字元",separator:" · "},settings:{changeDefaultSettings:"變更預設設定",metadataReport:{exportSuccess:"失敗的中繼資料報告已匯出至：{filename}",exportFailed:"匯出中繼資料報告失敗"},sections:{general:"一般",vaultFilters:"顯示篩選器",appearanceBehavior:"外觀與行為",navigationPane:"導覽窗格",calendar:"導覽日曆",fileOperations:"檔案操作",icons:"圖示包",folders:"資料夾",folderNotes:"資料夾筆記",folderNoteFiles:"資料夾筆記檔案",foldersAndFolderNotes:"資料夾與資料夾筆記",tagsAndProperties:"標籤與屬性",tags:"標籤",listPane:"列表窗格",notes:"檔案顯示",shortcutsAndRecentFiles:"快捷方式與最近檔案",advanced:"進階"},pageGroups:{configuration:"設定",navigationAndContent:"導覽窗格",notesAndLists:"列表窗格",calendarAndTools:"日曆與工具"},pageDescriptions:{general:"發行說明、支援、保險庫設定檔、檔案類型與屬性鍵。",vaultFilters:"隱藏的資料夾、標籤、檔案、檔案標籤與屬性規則。",appearanceBehavior:"行為、鍵盤導覽、滑鼠按鈕、外觀與格式。",navigationPane:"版面配置、外觀、筆記數量、摺疊行為與彩虹顏色。",shortcuts:"快捷方式可見性、徽章、最近檔案與釘選項目。",calendar:"日曆顯示、日期筆記、範本、區域設定與側邊欄位置。",fileOperations:"範本、刪除確認、附件與檔案移動衝突行為。",foldersAndFolderNotes:"資料夾顯示、資料夾筆記、資料夾筆記範本與資料夾筆記行為。",tagsProperties:"標籤與屬性區段、圖示、排序、範圍與繼承。",listPane:"排序、群組、列表模式、釘選筆記與繪圖預覽。",frontmatter:"用於顯示名稱、時間戳記、圖示與顏色的前置中繼資料欄位。",notes:"標題、預覽文字、特色圖片、標籤、屬性、日期、字數與字元數。",iconPacks:"介面圖示、檔案圖示與圖示包管理。",advanced:"診斷、中繼資料清理、匯入/匯出與重設。"},groups:{general:{vaultConfiguration:"保險庫設定",templates:"範本",behavior:"行為",keyboardNavigation:"鍵盤導覽",mouseButtons:"滑鼠按鈕",view:"外觀",icons:"圖示",desktopAppearance:"桌面外觀",mobileAppearance:"行動裝置外觀",formatting:"格式"},advanced:{maintenance:"維護",resetSettings:"重設設定"},navigation:{appearance:"外觀",banner:"橫幅",collapseItems:"摺疊項目",dragAndDrop:"拖放",noteCounts:"筆記數",rainbowColors:"彩虹顏色",leftSidebar:"左側邊欄",calendarIntegration:"行事曆整合"},list:{display:"外觀",groupHeaders:"群組標題",propertySort:"屬性排序",manualSort:"手動排序",pinnedNotes:"釘選筆記",drawingPreviews:"繪圖預覽"},notes:{frontmatter:"前置中繼資料欄位",tasks:"任務",icon:"圖示",title:"標題",previewText:"預覽文字",featureImage:"特色圖片",tags:"標籤",properties:"屬性",date:"日期",parentFolder:"父資料夾",wordCount:"字數與字元數"}},syncMode:{notSynced:"（未同步）",switchToSynced:"啟用同步",switchToLocal:"停用同步"},items:{listPaneTitle:{name:"列表窗格標題",desc:"選擇列表窗格標題的顯示位置。",options:{header:"顯示在標題列",list:"顯示在列表窗格",hidden:"不顯示"}},sortNotesBy:{name:"預設排序方式",desc:"選擇筆記的預設排序方式。",options:{"modified-desc":"編輯日期（最新在頂部）","modified-asc":"編輯日期（最舊在頂部）","created-desc":"建立日期（最新在頂部）","created-asc":"建立日期（最舊在頂部）","title-asc":"標題（升序）","title-desc":"標題（降序）","filename-asc":"檔案名稱（升序）","filename-desc":"檔案名稱（降序）"},directions:{asc:"升序",desc:"降序"},fields:{modified:"編輯日期",created:"建立日期",title:"標題",filename:"檔案名稱",property:"屬性"}},propertySortKey:{name:"用於排序的屬性",desc:"顯示為屬性排序選項的以逗號分隔的 frontmatter 屬性。陣列值會合併為單一字串。這些屬性不會被變更。",placeholder:"published, author"},propertySortSecondary:{name:"次要排序",desc:"與屬性排序配合使用，當筆記具有相同的屬性值或沒有屬性值時生效。",options:{title:"標題",filename:"檔案名稱",created:"建立日期",modified:"編輯日期"}},propertySortInstructions:{intro:"上面列出的每個屬性都會在列表面板的排序選單中顯示為排序選項。選擇其中一個會依其 frontmatter 值排序筆記。"},manualSortPropertyKey:{name:"手動排序屬性",desc:"用於儲存手動排序數字索引值的 frontmatter 屬性。"},manualSortGroupHeaderProperty:{name:"群組標題屬性",desc:"用於儲存自訂群組標題的 frontmatter 屬性。"},groupHeadersInstructions:{intro:"自訂群組標題會顯示在列表面板的筆記上方。",items:["從列表面板的排序選單中，將分組設定為 **自訂**。","右鍵點擊筆記並選擇 **設定群組標題** 以在其上方新增標題。"]},manualSortNewNotePlacement:{name:"新筆記位置",desc:"選擇當目前列表使用手動排序時新筆記的放置位置。",options:{top:"頂部",bottom:"底部","below-selected-note":"在選定筆記下方",unsorted:"未排序"}},confirmBeforeManualSort:{name:"手動排序前確認",desc:"在首次將手動排序屬性寫入筆記之前顯示警告。停用時，筆記將不顯示警告即接收該屬性。"},manualSortInstructions:{intro:"手動排序會將數字索引值寫入每則筆記的 frontmatter 屬性。沒有索引的筆記會顯示在「未排序」之下。",items:["從排序選單中選擇 **手動排序** 以啟用手動排序。之後有兩種方式可以重新排列筆記。","從排序選單中選擇 **編輯排序方式...** 以開啟重新排序檢視。使用滑鼠拖曳筆記，或在行動裝置上使用觸控。在桌面上，**Cmd/Ctrl** 或 **Shift** 點擊可選取多則筆記，拖曳其中任何一則即可移動整個群組。","在列表面板中，選取一則筆記或多選數則，然後按 **Cmd/Ctrl + Arrow Up/Down** 將所選項目上移或下移。"]},revealFileOnListChanges:{name:"列表變更時捲動到選定檔案",desc:"在釘選筆記、顯示後代筆記、變更資料夾外觀或執行檔案操作時捲動到選定的檔案。"},includeDescendantNotes:{name:"顯示子資料夾/後代的筆記",desc:"在檢視資料夾、標籤或屬性時包含巢狀子資料夾以及標籤和屬性後代中的筆記。"},limitPinnedToCurrentFolder:{name:"僅在筆記所在資料夾中釘選",desc:"釘選筆記僅在其所在資料夾中顯示為已釘選。適用於資料夾筆記或釘選筆記較多的情況。不影響標籤或屬性檢視。"},separateNoteCounts:{name:"分別顯示目前和後代筆記計數",desc:"為資料夾、標籤和屬性以「目前 ▾ 後代」格式顯示筆記計數。"},groupNotes:{name:"預設分組",desc:"自訂顯示在 frontmatter 中定義的標題。日期按日期分組筆記。資料夾按資料夾分組筆記。選擇資料夾時，標籤和屬性檢視使用日期分組。",options:{custom:"自訂",date:"日期",folder:"資料夾"}},showSelectedNavigationPills:{name:"始終顯示所有標籤和屬性標記",desc:"停用時，與目前導覽選擇相符的標記會被隱藏（例如，瀏覽「食譜」標籤時，「食譜」標籤標記會被隱藏）。啟用後所有標記始終可見。"},stickyGroupHeaders:{name:"固定群組標題",desc:"捲動時保持目前的日期、資料夾或釘選區段的標題可見。"},showFolderGroupPaths:{name:"顯示子資料夾路徑",desc:"在列表窗格中按資料夾分組時，顯示子資料夾路徑，而不是僅顯示資料夾名稱。"},showCurrentFolderFilesAtBottom:{name:"資料夾分組：目前資料夾檔案置底",desc:"當預設分組為資料夾時，將所選資料夾中的直屬檔案移到子資料夾分組下方。"},defaultListMode:{name:"預設列表模式",desc:"選擇預設列表布局。標準顯示標題、日期、描述和預覽文字。精簡只顯示標題。外觀可按資料夾覆寫。",options:{standard:"標準",compact:"精簡"}},showFileIcons:{name:"顯示檔案圖示",desc:"顯示檔案圖示並保留左對齊間距。停用後將移除圖示和縮排。優先順序：未完成任務圖示 > 自訂圖示 > 資料夾圖示 > 檔名圖示 > 檔案類型圖示 > 預設圖示。"},useFolderIcon:{name:"使用資料夾圖示",desc:"當未設定自訂檔案圖示時顯示父資料夾圖示。當未設定自訂檔案顏色時使用資料夾顏色。"},showFileIconUnfinishedTask:{name:"未完成任務圖示",desc:"當筆記包含未完成任務時顯示任務圖示。"},showFileBackgroundUnfinishedTask:{name:"未完成任務背景",desc:"當筆記包含未完成任務時套用背景顏色。"},unfinishedTaskBackgroundColor:{name:"未完成任務背景顏色",desc:"設定筆記包含未完成任務時使用的背景顏色。"},showFilenameMatchIcons:{name:"按檔名設定圖示",desc:"根據檔名中的文字指派圖示。"},fileNameIconMap:{name:"檔名圖示對應",desc:"包含指定文字的檔案將取得指定圖示。每行一個對應：文字=圖示",placeholder:`# 文字=圖示
會議=ph-calendar
發票=ph-receipt`,editTooltip:"編輯對應"},showCategoryIcons:{name:"按檔案類型設定圖示",desc:"根據檔案副檔名指派圖示。"},fileTypeIconPreset:{name:"檔案圖示預設",desc:"選擇內建圖示或圖示包預設。自訂副檔名規則會覆寫此預設。",options:{none:"內建圖示"},notInstalledWarning:"未安裝此圖示包。將改為顯示內建圖示。"},fileTypeIconMap:{name:"檔案類型圖示對應",desc:"具有指定副檔名的檔案將取得指定圖示。每行一個對應：副檔名=圖示",placeholder:`# 副檔名=圖示
cpp=ph-file-code
pdf=ph-file-pdf`,editTooltip:"編輯對應"},compactItemHeight:{name:"精簡項目高度",desc:"設定桌面和行動裝置的精簡列表項目高度（像素）。",resetTooltip:"恢復預設值 (28px)"},compactItemHeightScaleText:{name:"隨精簡高度縮放文字",desc:"當減小精簡列表項目高度時同步縮放文字。"},showParentFolder:{name:"顯示父資料夾",desc:"為子資料夾、標籤或屬性中的筆記顯示父資料夾名稱。"},showParentFolderFullPath:{name:"顯示完整路徑",desc:"顯示父資料夾的完整路徑而非僅顯示資料夾名稱。"},parentFolderClickRevealsFile:{name:"點按父資料夾開啟資料夾",desc:"點按父資料夾名稱時，在列表面板中開啟該資料夾。"},showParentFolderColor:{name:"顯示父資料夾顏色",desc:"在父資料夾標籤上使用資料夾顏色。"},showParentFolderIcon:{name:"顯示父資料夾圖示",desc:"在父資料夾標籤旁顯示資料夾圖示。"},showQuickActions:{name:"顯示快速操作",desc:"懸停在檔案上時顯示操作按鈕。按鈕控制項選擇顯示哪些操作。"},dualPane:{name:"雙窗格布局",desc:"在桌面端並排顯示導覽窗格和列表窗格。"},dualPaneOrientation:{name:"雙欄布局方向",desc:"雙欄啟用時選擇水平或垂直布局。",options:{horizontal:"水平分割",vertical:"垂直分割"}},narrowSidebarLayout:{name:"側邊欄過窄時",desc:"選擇導覽窗格和清單窗格無法並排顯示時的處理方式。",options:{none:"不執行任何動作",singlePane:"切換到單窗格",vertical:"切換到垂直分割"}},narrowSidebarTrigger:{name:"窄側邊欄閾值",desc:"選擇側邊欄寬度閾值的計算方式。",options:{fitPanes:"適配窗格",customWidth:"自訂寬度"}},narrowSidebarCustomWidth:{name:"窄側邊欄閾值寬度",desc:"當側邊欄窄於此寬度時切換。",resetTooltip:"重設為預設寬度"},appearanceBackground:{name:"背景色",desc:"為導覽窗格和列表窗格選擇背景色。",options:{separate:"分開背景",primary:"使用列表背景",secondary:"使用導覽背景"}},appearanceScale:{name:"縮放級別",desc:"控制 Notebook Navigator 的整體縮放級別（百分比）。"},useFloatingToolbars:{name:"在 iOS/iPadOS 上使用浮動工具列",desc:"僅適用於 iOS 和 iPadOS。"},startView:{name:"預設啟動檢視",desc:"選擇開啟 Notebook Navigator 時顯示的窗格。導覽窗格顯示捷徑、最近檔案和資料夾結構。列表窗格顯示檔案列表。",options:{navigation:"導覽窗格",files:"列表窗格"}},toolbarButtons:{name:"工具列按鈕",desc:"選擇在工具列中顯示哪些按鈕。隱藏的按鈕仍可透過命令和選單存取。",navigationLabel:"導覽工具列",listLabel:"列表工具列"},createNewNotesInNewTab:{name:"在新分頁中開啟新筆記",desc:"啟用後，「建立新筆記」命令會在新分頁中開啟筆記。停用後，筆記將取代目前的分頁。"},autoRevealActiveNote:{name:"自動定位使用中的筆記",desc:"從快速切換器、連結或搜尋開啟筆記時自動顯示。"},autoRevealShortestPath:{name:"自動顯示：使用最短路徑",desc:"啟用：自動顯示選擇最近的可見祖先資料夾或標籤。停用：自動顯示選擇檔案的實際資料夾和精確標籤。"},autoRevealIgnoreRightSidebar:{name:"自動顯示：忽略右側邊欄事件",desc:"在右側邊欄中點按或變更筆記時不變更使用中的筆記。"},autoRevealIgnoreOtherWindows:{name:"自動顯示：忽略其他視窗的事件",desc:"在其他視窗中操作筆記時不變更使用中的筆記。"},paneTransitionDuration:{name:"單窗格動畫",desc:"在單窗格模式下切換窗格時的過渡持續時間（毫秒）。",resetTooltip:"重設為預設值"},autoSelectFirstFileOnFocusChange:{name:"自動選擇第一個筆記",desc:"切換資料夾、標籤或屬性時自動開啟第一個筆記。"},skipAutoScroll:{name:"停用捷徑自動捲動",desc:"點按捷徑中的項目時不捲動導覽面板。"},autoExpandNavItems:{name:"選取時展開",desc:"選取時展開資料夾和標籤。在單窗格模式下，首次選取展開，再次選取顯示檔案。"},collapseOtherBranchesOnExpand:{name:"僅展開一個分支",desc:"展開資料夾、標籤或屬性時，摺疊同一樹狀結構中的其他分支。"},springLoadedFolders:{name:"拖曳時展開",desc:"拖曳操作中懸停時展開資料夾和標籤。"},springLoadedFoldersInitialDelay:{name:"拖曳時展開：首次展開延遲",desc:"拖曳時首次展開資料夾或標籤前的延遲（秒）。"},springLoadedFoldersSubsequentDelay:{name:"拖曳時展開：後續展開延遲",desc:"同一次拖曳中展開更多資料夾或標籤前的延遲（秒）。"},navigationBanner:{name:"導覽橫幅（保險庫設定檔）",desc:"在導覽窗格頂部顯示一張圖片。隨所選保險庫設定檔而變化。",current:"目前橫幅：{path}",chooseButton:"選擇圖片"},pinNavigationBanner:{name:"固定橫幅",desc:"將導航橫幅固定在導航樹上方。"},showShortcuts:{name:"顯示捷徑",desc:"在導覽窗格中顯示捷徑區段。"},shortcutBadgeDisplay:{name:"捷徑徽章",desc:"在捷徑旁邊顯示的內容。使用「開啟捷徑 1-9」命令可直接開啟捷徑。",options:{index:"位置 (1-9)",count:"項目計數",none:"無"}},showRecentNotes:{name:"顯示最近檔案",desc:"在導覽窗格中顯示最近檔案區段。"},hideRecentNotes:{name:"從最近檔案中隱藏檔案類型",desc:"選擇在最近檔案區段中隱藏的檔案類型。",options:{none:"無",folderNotes:"資料夾筆記"}},recentNotesCount:{name:"最近檔案數量",desc:"要顯示的最近檔案數量。"},pinRecentNotesWithShortcuts:{name:"將最近檔案與捷徑一起釘選",desc:"釘選捷徑時包含最近檔案。"},calendarEnabled:{name:"啟用日曆",desc:"啟用 Notebook Navigator 的日曆功能。"},calendarPlacement:{name:"日曆位置",desc:"在左側邊欄或右側邊欄中顯示。",options:{leftSidebar:"左側邊欄",rightSidebar:"右側邊欄"}},calendarLeftPlacement:{name:"單窗格位置",desc:"單窗格模式下日曆顯示的位置。",options:{navigationPane:"導航窗格",below:"窗格下方"}},calendarLocale:{name:"日曆語言",desc:"控制日曆日期格式、週編號和每週的第一天。",weekPathMismatchWarning:"可見日曆和週記路徑使用了不同的每週起始日或週編號方式。",options:{systemDefault:"系統預設"}},calendarWeekendDays:{name:"週末",desc:"以不同背景顏色顯示週末。",options:{none:"無",satSun:"週六和週日",friSat:"週五和週六",thuFri:"週四和週五"}},calendarMonthHeadingFormat:{name:"月份名稱格式",desc:"顯示完整（一月）或簡稱（1月）的月份名稱。",options:{full:"一月 (完整)",short:"1月 (簡稱)"}},showInfoButtons:{name:"顯示資訊按鈕",desc:"在搜尋列和日曆標題中顯示資訊按鈕。"},calendarWeeksToShow:{name:"左側邊欄顯示週數",desc:"右側邊欄的日曆始終顯示完整月份。",options:{fullMonth:"完整月份",oneWeek:"1 週",weeksCount:"{count} 週"}},calendarHighlightToday:{name:"醒目顯示今天日期",desc:"使用背景顏色和粗體文字醒目顯示今天日期。"},calendarShowFeatureImage:{name:"顯示特色圖片",desc:"在日曆中顯示筆記的特色圖片。"},calendarShowWeekNumber:{name:"顯示週號",desc:"在每行開頭顯示週號。"},calendarShowQuarter:{name:"顯示季度",desc:"在行事曆標題中新增季度標籤。"},calendarShowYearCalendar:{name:"顯示年曆",desc:"在右側邊欄中顯示年份導覽和月份網格。"},calendarConfirmBeforeCreate:{name:"建立前確認",desc:"點按沒有筆記的日期時顯示確認對話方塊。"},calendarIntegrationMode:{name:"日記來源",desc:"行事曆筆記的來源。",options:{dailyNotes:"日記（核心外掛）",notebookNavigator:"Notebook Navigator"},info:{dailyNotes:"資料夾和日期格式在日記核心外掛程式中設定。"}},calendarPeriodicNotesLocale:{name:"週期筆記語言",desc:"控制 Notebook Navigator 週期筆記路徑中本地化的月份名稱、星期名稱、週號和每週起始日。",options:{calendar:"日曆",obsidian:"Obsidian"}},calendarCustomRootFolder:{name:"根資料夾",desc:"週期筆記的基礎資料夾。日期模式可以包含子資料夾。隨所選儲存庫設定檔更改。",placeholder:"Personal/Diary"},calendarTemplateFolder:{name:"範本資料夾位置",desc:"範本檔案選擇器顯示此資料夾中的筆記。",placeholder:"Templates",usage:"用於行事曆筆記與資料夾筆記。在導覽日曆 > 行事曆整合和資料夾與資料夾筆記 > 資料夾筆記檔案中設定範本。"},calendarCustomFilePattern:{name:"日記",desc:"使用 Moment 日期格式設定路徑。將子資料夾名稱用方括號括起來，例如 [Work]/YYYY。點擊範本圖示設定範本。在檔案操作 > 範本中設定範本資料夾位置。",momentDescPrefix:"使用 ",momentLinkText:"Moment 日期格式",momentDescSuffix:" 設定路徑。將子資料夾名稱用方括號括起來，例如 [Work]/YYYY。點擊範本圖示設定範本。在檔案操作 > 範本中設定範本資料夾位置。",templaterSupportInstalled:"✅ 已安裝 Templater 外掛，支援完整範本功能。",templaterSupportMissing:"⚠️ 安裝 Templater 外掛以支援完整範本功能。",placeholder:"YYYY/YYYYMMDD",example:"目前語法：{path}",parsingError:"模式必須能格式化並重新解析為完整日期（年、月、日）。"},calendarCustomWeekPattern:{name:"週記",parsingError:"模式必須能格式化並重新解析為完整週（週年、週數）。",weekPathMismatchWarning:'週記路徑使用週期筆記語言。請使用相符的語言，或使用 "GGGG" 搭配 "WW" 以星期一為基準的週。',mixedWeekTokensWarning:'此模式混用了以星期一為基準的週標記（"W" 或 "G"）和以語言為基準的週標記（"w" 或 "g"）。請始終使用同一組：以星期一為基準的週使用 "GGGG" 搭配 "WW"，若週記應遵循所選語言設定，則使用 "gggg" 搭配 "ww"。'},calendarCustomMonthPattern:{name:"月記",parsingError:"模式必須能格式化並重新解析為完整月份（年、月）。"},calendarCustomQuarterPattern:{name:"季度筆記",parsingError:"模式必須能格式化並重新解析為完整季度（年、季度）。"},calendarCustomYearPattern:{name:"年記",parsingError:"模式必須能格式化並重新解析為完整年份（年）。"},calendarTemplateFile:{current:"範本檔案：{name}"},showTooltips:{name:"顯示工具提示",desc:"懸停時顯示筆記和資料夾的額外資訊工具提示。"},showTooltipPath:{name:"在工具提示中顯示路徑",desc:"在工具提示中的筆記名稱下方顯示資料夾路徑。"},showTooltipWordCount:{name:"在工具提示中顯示字數",desc:"在工具提示中顯示筆記字數。"},resetPaneSeparator:{name:"重設面板分隔符位置",desc:"將導覽面板和列表面板之間的可拖曳分隔符重設為預設位置。",buttonText:"重設分隔符",notice:"分隔符位置已重設。重新啟動 Obsidian 或重新開啟 Notebook Navigator 以套用。"},settingsTransfer:{name:"匯入和匯出設定",desc:"將 Notebook Navigator 設定匯出或匯入為 JSON。匯入會取代所有設定。",importButtonText:"匯入",exportButtonText:"匯出",import:{modalTitle:"匯入設定",fileButtonName:"從檔案匯入",fileButtonDesc:"從磁碟載入 JSON 檔案。",fileButtonText:"從檔案匯入",editorName:"JSON",editorDesc:"在下方貼上或編輯 JSON。未包含的設定將重設為預設值。",placeholder:`{
  "folderSortOrder": "alpha-desc"
}`,confirmButtonText:"匯入",successNotice:"設定已匯入。",errorNotice:"匯入設定失敗: {message}",fileReadError:"無法讀取檔案: {message}"},export:{modalTitle:"匯出設定",editorName:"JSON",editorDesc:"僅包含與預設值不同的設定。",placeholder:"{}",copyButtonText:"複製到剪貼簿",downloadButtonText:"下載",copyNotice:"設定已複製到剪貼簿。",downloadNotice:"設定已匯出。",downloadError:"下載設定失敗: {message}"}},resetAllSettings:{name:"重設所有設定",desc:"將 Notebook Navigator 的所有設定重設為預設值。",buttonText:"重設所有設定",confirmTitle:"重設所有設定？",confirmMessage:"這將把 Notebook Navigator 的所有設定重設為預設值。此操作無法復原。",confirmButtonText:"重設所有設定",notice:"所有設定已重設。重新啟動 Obsidian 或重新開啟 Notebook Navigator 以套用。",error:"重設設定失敗。"},multiSelectModifier:{name:"多選修飾鍵",desc:"選擇哪個修飾鍵切換多選模式。選擇 Option/Alt 時，Cmd/Ctrl 點按會在新分頁中開啟筆記。",options:{cmdCtrl:"Cmd/Ctrl 點按",optionAlt:"Option/Alt 點按"}},enterToOpenFiles:{name:"按 Enter 鍵開啟檔案",desc:"僅在清單鍵盤導覽時按 Enter 鍵開啟檔案。在 macOS 上，這會阻止 Enter 鍵重新命名檔案。"},shiftEnterOpenContext:{name:"Shift+Enter",desc:"選擇 Shift+Enter 要開啟還是重新命名所選檔案。"},cmdEnterOpenContext:{name:"Cmd+Enter",desc:"選擇 Cmd+Enter 要開啟還是重新命名所選檔案。"},ctrlEnterOpenContext:{name:"Ctrl+Enter",desc:"選擇 Ctrl+Enter 要開啟還是重新命名所選檔案。"},mouseBackForwardAction:{name:"滑鼠上一頁/下一頁按鈕",desc:"桌面端滑鼠上一頁和下一頁按鈕的操作。",options:{none:"使用系統預設",singlePaneSwitch:"切換面板（單面板）",history:"瀏覽歷史"}},excludedNotes:{name:"依屬性規則隱藏筆記（保險庫設定檔）",desc:"逗號分隔的前置中繼資料規則列表。使用 `key` 或 `key=value` 條目（例如：status=done, published=true, archived）。",placeholder:"status=done, published=true, archived"},excludedFileNamePatterns:{name:"隱藏檔案（保險庫設定檔）",desc:"逗號分隔的檔名模式列表，用於隱藏檔案。支援 * 萬用字元和 / 路徑（例如：temp-*、*.png、/assets/*）。",placeholder:"temp-*, *.png, /assets/*"},vaultProfiles:{name:"保險庫設定檔",desc:"設定檔儲存檔案類型可見性、隱藏檔案、隱藏資料夾、隱藏標籤、隱藏筆記的屬性規則、捷徑和導覽橫幅。從導覽窗格標題切換設定檔。",defaultName:"預設",addButton:"新增設定檔",editProfilesButton:"編輯設定檔",addProfileOption:"新增設定檔...",applyButton:"套用",deleteButton:"刪除設定檔",addModalTitle:"新增設定檔",editProfilesModalTitle:"編輯設定檔",addModalPlaceholder:"設定檔名稱",deleteModalTitle:"刪除 {name}",deleteModalMessage:"刪除 {name}？儲存在此設定檔中的隱藏檔案、資料夾、標籤和基於屬性的筆記篩選器將被刪除。",moveUp:"上移",moveDown:"下移",errors:{emptyName:"請輸入設定檔名稱",duplicateName:"設定檔名稱已存在"}},vaultTitle:{name:"保險庫標題位置",desc:"選擇保險庫標題顯示的位置。",options:{header:"顯示在標題列",navigation:"顯示在導覽窗格"}},excludedFolders:{name:"隱藏資料夾（保險庫設定檔）",desc:"逗號分隔的要隱藏的資料夾列表。名稱模式：assets*（以 assets 開頭的資料夾），*_temp（以 _temp 結尾）。路徑模式：/archive（僅根目錄 archive），/res*（以 res 開頭的根資料夾），/*/temp（一級目錄下的 temp 資料夾），/projects/*（projects 內的所有資料夾）。",placeholder:"templates, assets*, /archive, /res*"},fileVisibility:{name:"顯示檔案類型（保險庫設定檔）",desc:"篩選在導覽器中顯示的檔案類型。Obsidian 不支援的檔案類型可能會在外部應用程式中開啟。",options:{documents:"文件 (.md, .canvas, .base)",supported:"支援（在 Obsidian 中開啟）",all:"全部（可能外部開啟）"}},homepage:{name:"首頁",desc:"選擇 Notebook Navigator 啟動時自動開啟的內容。",current:"目前：{path}",chooseButton:"選擇檔案",options:{none:"無",file:"檔案",dailyNote:"日記",weeklyNote:"週記",monthlyNote:"月記",quarterlyNote:"季度筆記",yearlyNote:"年度筆記"},file:{name:"首頁：啟動檔案",empty:"未選擇檔案"},createMissing:{name:"首頁：不存在時建立筆記",desc:"啟動或執行命令時，如果定期筆記不存在則建立。"}},showFileDate:{name:"顯示日期",desc:"在筆記名稱下方顯示日期。"},alphabeticalDateMode:{name:"按名稱排序時",desc:"筆記按字母順序排序時顯示的日期。",options:{created:"建立日期",modified:"修改日期"}},showFileTags:{name:"顯示檔案標籤",desc:"在檔案項目中顯示可點按的標籤。"},showFileTagAncestors:{name:"顯示完整標籤路徑",desc:"顯示完整的標籤層級路徑。啟用：'ai/openai'，'工作/專案/2024'。停用：'openai'，'2024'。"},colorFileTags:{name:"為檔案標籤著色",desc:"將標籤顏色套用於檔案項目中的標籤徽章。"},prioritizeColoredFileTags:{name:"優先顯示彩色標籤",desc:"將彩色標籤排列在其他標籤之前。"},showFileTagsInCompactMode:{name:"在精簡模式中顯示檔案標籤",desc:"當日期、預覽和圖片被隱藏時顯示標籤。"},showFileProperties:{name:"顯示檔案屬性",desc:"在檔案項目中顯示屬性。使用「屬性鍵可見性」對話框選擇要顯示的屬性。"},colorFileProperties:{name:"為檔案屬性著色",desc:"將屬性顏色套用到檔案項目的屬性徽章上。"},prioritizeColoredFileProperties:{name:"優先顯示彩色屬性",desc:"在檔案項目中將彩色屬性排列在其他屬性之前。"},showFilePropertiesInCompactMode:{name:"在精簡模式中顯示屬性",desc:"精簡模式啟用時顯示屬性。"},textCountDisplay:{name:"計數類型",desc:"選擇檔案項目中要顯示哪些筆記計數。",options:{none:"無",words:"字數",characters:"字元數",both:"字數與字元數"}},textCountPlacement:{name:"位置",desc:"選擇筆記計數的顯示位置。",options:{title:"在標題中",property:"作為屬性"}},characterCountSpaces:{name:"字元數",desc:"選擇字元數是否包含空格。",options:{include:"包含空格",exclude:"不含空格"}},wordCountTargetProperty:{name:"目標屬性",desc:"包含目標字數的前置元資料屬性鍵。留空可隱藏目標。"},showWordCountPercentage:{name:"顯示目標百分比",desc:"有目標字數時，只顯示進度百分比。"},propertyFields:{name:"屬性鍵（保險庫設定檔）",desc:"Frontmatter 屬性鍵，可按鍵設定導覽和檔案清單的可見性。",addButtonTooltip:"設定屬性鍵",noneConfigured:"未設定屬性",singleConfigured:"已設定 1 個屬性：{properties}",multipleConfigured:"已設定 {count} 個屬性：{properties}"},showPropertiesOnSeparateRows:{name:"在個別行中顯示屬性",desc:"將每個屬性顯示在個別行中。"},enablePropertyInternalLinks:{name:"將屬性標籤連結到筆記",desc:"點擊屬性標籤以開啟連結的筆記。"},enablePropertyExternalLinks:{name:"將屬性標籤連結到 URL",desc:"點擊屬性標籤以開啟連結的 URL。"},dateFormat:{name:"日期格式",desc:"用於顯示日期的格式（使用 Moment 格式）。",placeholder:"YYYY年M月D日",help:`常用格式：
YYYY年M月D日 = 2022年5月25日
YYYY-MM-DD = 2022-05-25
MM/DD/YYYY = 05/25/2022

標記：
YYYY/YY = 年
MMMM/MMM/MM/M = 月
DD/D = 日
dddd/ddd = 星期`,helpTooltip:"使用 Moment 格式",momentLinkText:"Moment 格式"},timeFormat:{name:"時間格式",desc:"用於顯示時間的格式（使用 Moment 格式）。",placeholder:"HH:mm",help:`常用格式：
HH:mm = 14:30（24小時制）
Ah:mm = 下午2:30（12小時制）
HH:mm:ss = 14:30:45
Ah:mm:ss = 下午2:30:45

標記：
HH/H = 24小時制
hh/h = 12小時制
mm = 分鐘
ss = 秒
A = 上午/下午`,helpTooltip:"使用 Moment 格式",momentLinkText:"Moment 格式"},showFilePreview:{name:"顯示筆記預覽",desc:"在筆記名稱下方顯示預覽文字。"},skipHeadingsInPreview:{name:"預覽中跳過標題",desc:"產生預覽文字時跳過標題行。"},skipCodeBlocksInPreview:{name:"預覽中跳過程式碼區塊",desc:"產生預覽文字時跳過程式碼區塊。"},stripHtmlInPreview:{name:"移除預覽中的 HTML",desc:"從預覽文字中移除 HTML 標籤。可能會影響大型筆記的效能。"},stripLatexInPreview:{name:"移除預覽中的 LaTeX",desc:"從預覽文字中移除行內和區塊 LaTeX 運算式。"},previewProperties:{name:"預覽屬性",desc:"用於尋找預覽文字的前置屬性的逗號分隔列表。將使用第一個包含文字的屬性。",placeholder:"summary, description, abstract"},previewPropertiesFallback:{name:"回退到筆記內容",desc:"當指定的屬性都不包含文字時，顯示筆記內容作為預覽。"},previewRows:{name:"預覽行數",desc:"預覽文字顯示的行數。",options:{1:"1 行",2:"2 行",3:"3 行",4:"4 行",5:"5 行"}},fileNameRows:{name:"標題行數",desc:"筆記標題顯示的行數。",options:{1:"1 行",2:"2 行",3:"3 行"}},useFolderColor:{name:"使用資料夾顏色",desc:"當未設定自訂檔案顏色時，使用父資料夾的顏色為筆記標題和檔案圖示著色。優先順序：自訂檔案顏色 > 資料夾顏色 > 預設顏色。"},showFeatureImage:{name:"顯示特色圖片",desc:"顯示筆記中找到的第一張圖片的縮圖。"},forceSquareFeatureImage:{name:"強制正方形特色圖片",desc:"將特色圖片呈現為正方形縮圖。"},featureImageProperties:{name:"圖片屬性",desc:"首先檢查的前置中繼資料屬性的逗號分隔列表。如果未找到，則使用 markdown 內容中的第一張圖片。",placeholder:"thumbnail, featureResized, feature"},featureImageExcludeProperties:{name:"排除含有屬性的筆記",desc:"逗號分隔的前置中繼資料屬性列表。包含這些屬性的筆記不會儲存特色圖片。",placeholder:"private, confidential"},featureImageSize:{name:"特色圖片顯示大小",desc:"筆記列表中特色圖片的最大渲染大小。",options:{standard:"64 px",large:"96 px",extraLarge:"128 px"}},featureImagePixelSize:{name:"特色圖片像素大小",desc:"產生儲存的特色圖片縮圖時使用的解析度。如果較大的預覽看起來模糊，請增大此值。",options:{standard:"256 x 144 px",large:"384 x 216 px",extraLarge:"512 x 288 px"}},downloadExternalFeatureImages:{name:"下載外部圖片",desc:"下載遠端圖片和 YouTube 縮圖作為特色圖片。"},hideDrawingPreviewImages:{name:"隱藏匯出的預覽圖片",desc:"隱藏匯出的繪圖預覽 PNG 檔案。開啟「顯示隱藏項目」以顯示它們。"},drawingIntegrationInfo:{intro:"Notebook Navigator 將 Excalidraw 匯出的 PNG 檔案用作繪圖預覽。",items:["在 **Excalidraw 設定** 中，依次開啟 **Embedding Excalidraw into your Notes and Exporting**、**Export Settings**、**Auto-export Settings**。","啟用 **Auto-export PNG**。可選啟用 **Export both dark- and light-themed image**。","Notebook Navigator 會尋找 **Drawing.excalidraw.png**、**Drawing.excalidraw.dark.png** 或 **Drawing.excalidraw.light.png**。","當 **隱藏匯出的預覽圖片** 開啟時，僅當 **顯示隱藏項目** 也開啟時，PNG 檔案才會顯示。"]},showRootFolder:{name:"顯示根資料夾",desc:"在樹狀結構中顯示根資料夾名稱。"},showFolderIcons:{name:"顯示資料夾圖示",desc:"在導覽窗格的資料夾旁顯示圖示。"},inheritFolderColors:{name:"繼承資料夾顏色",desc:"子資料夾從父資料夾繼承顏色。"},folderSortOrder:{name:"資料夾排序方式",desc:"右鍵點擊任意資料夾，可為其子項目設定不同的排序方式。",options:{alphaAsc:"A 到 Z",alphaDesc:"Z 到 A"}},showNoteCount:{name:"顯示筆記數",desc:"在資料夾、標籤和屬性旁顯示筆記數量。"},showSectionIcons:{name:"顯示捷徑和最近項目的圖示",desc:"在捷徑和最近檔案區段中的項目旁顯示圖示。"},interfaceIcons:{name:"介面圖示",desc:"編輯工具列、資料夾、標籤、屬性、釘選、搜尋和排序圖示。",buttonText:"編輯圖示"},showIconsColorOnly:{name:"僅對圖示套用顏色",desc:"啟用時，自訂顏色僅套用於圖示。停用時，顏色將同時套用於圖示和文字標籤。"},navRainbowMode:{name:"彩虹顏色模式（保險庫設定檔）",desc:"在導覽窗格中套用彩虹顏色。",options:{none:"關閉",foreground:"文字顏色",background:"背景顏色"}},navRainbowFirstColor:{name:"第一個顏色",desc:"彩虹漸層中的第一個顏色。"},navRainbowLastColor:{name:"最後一個顏色",desc:"彩虹漸層中的最後一個顏色。"},navRainbowTransitionStyle:{name:"過渡樣式",desc:"第一個和最後一個顏色之間使用的插值。",options:{hue:"色相",rgb:"RGB"}},navRainbowApplyToShortcuts:{name:"套用到捷徑",desc:"將彩虹顏色套用到捷徑。"},navRainbowApplyToRecent:{name:"套用到最近項目",desc:"將彩虹顏色套用到最近項目。"},navRainbowApplyToFolders:{name:"套用到資料夾",desc:"將彩虹顏色套用到資料夾。"},navRainbowFolderScope:{name:"資料夾範圍",desc:"選擇哪些資料夾層級開始顏色指派。",options:{root:"根層級",child:"子層級",all:"每個層級"}},navRainbowApplyToTags:{name:"套用到標籤",desc:"將彩虹顏色套用到標籤。"},navRainbowTagScope:{name:"標籤範圍",desc:"選擇哪些標籤層級開始顏色指派。",options:{root:"根層級",child:"子層級",all:"每個層級"}},navRainbowApplyToProperties:{name:"套用到屬性",desc:"將彩虹顏色套用到屬性。"},navRainbowBalanceHueLuminance:{name:"色相間一致的亮度",desc:"在色相過渡期間在起始顏色和結束顏色之間插值亮度。"},navRainbowSeparateThemeColors:{name:"分別設定淺色和深色模式顏色",desc:"為淺色模式和深色模式使用不同的彩虹顏色。"},navRainbowCopyLightToDark:"將淺色模式顏色複製到深色模式",navRainbowPropertyScope:{name:"屬性範圍",desc:"選擇哪些屬性層級開始顏色指派。",options:{root:"根層級",child:"子層級",all:"每個層級"}},collapseBehavior:{name:"摺疊項目",desc:"選擇展開/摺疊全部按鈕影響的內容。",options:{all:"全部",foldersOnly:"僅資料夾",tagsOnly:"僅標籤",propertiesOnly:"僅屬性"}},smartCollapse:{name:"保持選取項展開",desc:"摺疊時，保持選取項及其父級展開。"},excludeVaultRootFromCollapse:{name:"摺疊時略過保險庫根目錄",desc:"摺疊所有項目時，保持保險庫根資料夾的目前狀態。"},navIndent:{name:"樹狀縮排",desc:"調整巢狀資料夾、標籤和屬性的縮排寬度（像素）。"},navItemHeight:{name:"行高",desc:"調整導覽窗格中資料夾、標籤和屬性的高度（像素）。"},navItemHeightScaleText:{name:"隨行高調整文字大小",desc:"降低行高時減小導覽文字大小。"},showIndentGuides:{name:"顯示縮排參考線",desc:"顯示巢狀資料夾、標籤和屬性的縮排參考線。"},navCountLeaderStyle:{name:"顯示前導符號",desc:"在項目名稱和筆記數量之間顯示點、短劃線或直線。",options:{none:"無",dots:"點 (...)",dashes:"短劃線 (---)",line:"直線"}},navRootSpacing:{name:"根級項目間距",desc:"根級資料夾、標籤和屬性之間的間距（像素）。"},showTags:{name:"顯示標籤",desc:"在導覽器中顯示標籤區段。"},showTagIcons:{name:"顯示標籤圖示",desc:"在導覽窗格的標籤旁顯示圖示。"},inheritTagColors:{name:"繼承標籤顏色",desc:"子標籤從父標籤繼承顏色。"},tagSortOrder:{name:"標籤排序方式",desc:"右鍵點擊任意標籤，可為其子項目設定不同的排序方式。",options:{alphaAsc:"A 到 Z",alphaDesc:"Z 到 A",frequency:"頻率",lowToHigh:"從低到高",highToLow:"從高到低"}},showAllTagsFolder:{name:"顯示標籤資料夾",desc:"將「標籤」顯示為可摺疊資料夾。"},showUntagged:{name:"顯示無標籤筆記",desc:"為沒有任何標籤的筆記顯示「無標籤」項目。"},scopeTagsToCurrentContext:{name:"依選擇篩選標籤",desc:"僅顯示所選資料夾或屬性中筆記包含的標籤。"},keepEmptyTagsProperty:{name:"刪除最後一個標籤後保留 tags 屬性",desc:"當所有標籤被刪除時保留 frontmatter 中的 tags 屬性。停用時，tags 屬性將從 frontmatter 中刪除。"},showProperties:{name:"顯示屬性",desc:"在導覽器中顯示屬性區段。",propertyKeysInfoPrefix:"在",propertyKeysInfoLinkText:"開始 > 屬性鍵",propertyKeysInfoSuffix:"中設定屬性"},showPropertyIcons:{name:"顯示屬性圖示",desc:"在導覽面板中屬性旁邊顯示圖示。"},inheritPropertyColors:{name:"繼承屬性顏色",desc:"屬性值繼承其屬性鍵的顏色和背景色。"},propertySortOrder:{name:"屬性排序方式",desc:"右鍵點擊任意屬性以設定其值的不同排序方式。",options:{alphaAsc:"A 到 Z",alphaDesc:"Z 到 A",frequency:"頻率",lowToHigh:"由低到高",highToLow:"由高到低"}},showAllPropertiesFolder:{name:"顯示屬性資料夾",desc:"將「屬性」顯示為可摺疊資料夾。"},scopePropertiesToCurrentContext:{name:"依選擇篩選屬性",desc:"僅顯示所選資料夾或標籤中筆記包含的屬性。"},hiddenTags:{name:"隱藏標籤（保險庫設定檔）",desc:"逗號分隔的標籤模式列表。名稱模式：tag*（以...開頭）、*tag（以...結尾）。路徑模式：archive（標籤及其後代）、archive/*（僅後代）、projects/*/drafts（中間萬用字元）。",placeholder:"archive*, *draft, projects/*/old"},hiddenFileTags:{name:"隱藏帶有標籤的筆記（保險庫設定檔）",desc:"Comma-separated list of tag patterns. Notes containing matching tags are hidden. Name patterns: tag* (starting with), *tag (ending with). Path patterns: archive (tag and descendants), archive/* (descendants only), projects/*/drafts (mid-segment wildcard).",placeholder:"archive*, *draft, projects/*/old"},enableFolderNotes:{name:"啟用資料夾筆記",desc:"具有匹配筆記檔案的資料夾顯示為可點擊的連結。"},folderNoteType:{name:"預設資料夾筆記類型",desc:"從右鍵選單建立的資料夾筆記類型。",options:{ask:"建立時詢問",markdown:"Markdown",canvas:"Canvas",base:"Base"}},folderNoteName:{name:"資料夾筆記名稱",desc:"資料夾筆記的名稱。留空以使用與資料夾相同的名稱。",placeholder:"index"},folderNoteNamePattern:{name:"資料夾筆記名稱模式",desc:"不含副檔名的資料夾筆記名稱模式。使用 {{folder}} 插入資料夾名稱。設定後，資料夾筆記名稱不適用。"},folderNoteTemplate:{name:"資料夾筆記範本",desc:"建立資料夾筆記時使用的範本檔案。Markdown 範本可以使用 Templater。Canvas 和 Base 範本會作為檔案內容複製。在檔案操作 > 範本中設定範本資料夾位置。",formatWarning:"範本格式必須與所選資料夾筆記類型相符：.md、.canvas 或 .base。"},enableFolderNoteLinks:{name:"資料夾名稱開啟資料夾筆記",desc:"點擊資料夾名稱會開啟其資料夾筆記。關閉時，資料夾筆記僅提供資料夾中繼資料，例如名稱、圖示和顏色。"},hideFolderNoteInList:{name:"在列表中隱藏資料夾筆記",desc:"在檔案列表中隱藏資料夾筆記。"},pinCreatedFolderNote:{name:"釘選建立的資料夾筆記",desc:"從右鍵選單建立時釘選資料夾筆記。"},folderNoteOpenLocation:{name:"開啟資料夾筆記到",desc:"選擇點擊資料夾筆記連結時資料夾筆記的開啟位置。",options:{currentTab:"目前分頁",newTab:"新分頁",rightSidebar:"右側邊欄"}},showNearestFolderNoteInSidebar:{name:"右側邊欄：顯示最近的資料夾筆記",desc:"選取資料夾時，右側邊欄會自動顯示最近的上層資料夾筆記。"},confirmBeforeDelete:{name:"刪除前確認",desc:"刪除筆記或資料夾時顯示確認對話方塊"},deleteAttachments:{name:"刪除檔案時刪除附件",desc:"如果未在其他地方使用，則自動刪除關聯的附件和產生的繪圖預覽",options:{ask:"每次詢問",always:"始終",never:"從不"}},moveFileConflicts:{name:"移動衝突",desc:"將檔案移動到已有同名檔案的資料夾時。每次詢問（重新命名、覆蓋、取消）或始終重新命名。",options:{ask:"每次詢問",rename:"始終重新命名"}},metadataCleanup:{name:"清理中繼資料",desc:"移除在 Obsidian 外部刪除、移動或重新命名檔案、資料夾、標籤或屬性時留下的孤立中繼資料。這僅影響 Notebook Navigator 設定檔案。",buttonText:"清理中繼資料",error:"設定清理失敗",loading:"正在檢查中繼資料...",statusClean:"沒有需要清理的中繼資料",statusCounts:"孤立項目：{folders} 資料夾，{tags} 標籤，{properties} 屬性，{files} 檔案，{pinned} 釘選，{separators} 分隔線"},rebuildCache:{name:"重建快取",desc:"如果出現標籤缺失、預覽不正確或圖片缺失，請使用此功能。這可能在同步衝突或意外關閉後發生。",buttonText:"重建快取",error:"重建快取失敗",indexingTitle:"正在索引保險庫...",progress:"正在更新 Notebook Navigator 快取."},externalIcons:{downloadButton:"下載",downloadingLabel:"正在下載...",removeButton:"移除",statusInstalled:"已下載（版本 {version}）",statusNotInstalled:"未下載",versionUnknown:"未知",downloadFailed:"下載 {name} 失敗。請檢查您的連線並重試。",removeFailed:"移除 {name} 失敗。",infoNote:"下載的圖示包會在裝置之間同步安裝狀態。圖示包儲存在每個裝置的本機資料庫中；同步僅追蹤它們是否應該被下載或移除。圖示包從 Notebook Navigator 儲存庫下載 (https://github.com/johansan/notebook-navigator/tree/main/icon-assets)。"},useFrontmatterDates:{name:"使用前置中繼資料",desc:"使用前置設定筆記名稱、時間戳記、圖示和顏色"},frontmatterNameField:{name:"名稱欄位（多個）",desc:"逗號分隔的前置欄位列表。使用第一個非空值。回退到檔名。",placeholder:"title, name"},frontmatterIconField:{name:"圖示欄位",desc:"檔案圖示的前置欄位。留空使用儲存在設定中的圖示。",placeholder:"icon"},frontmatterColorField:{name:"顏色欄位",desc:"檔案顏色的前置欄位。留空使用儲存在設定中的顏色。",placeholder:"color"},frontmatterBackgroundField:{name:"背景欄位",desc:"背景顏色的前置欄位。留空使用儲存在設定中的背景顏色。",placeholder:"background"},frontmatterMigration:{name:"從設定遷移圖示和顏色",desc:"儲存在設定中：{icons} 個圖示，{colors} 種顏色。",button:"遷移",buttonWorking:"正在遷移...",noticeNone:"設定中未儲存任何檔案圖示或顏色。",noticeDone:"已遷移 {migratedIcons}/{icons} 個圖示，{migratedColors}/{colors} 種顏色。",noticeFailures:"失敗的條目：{failures}。",noticeError:"遷移失敗。請檢查主控台以取得詳細資訊。"},frontmatterCreatedField:{name:"建立時間戳記欄位",desc:"建立時間戳記的前置欄位名稱。留空僅使用檔案系統日期。",placeholder:"created"},frontmatterModifiedField:{name:"修改時間戳記欄位",desc:"修改時間戳記的前置欄位名稱。留空僅使用檔案系統日期。",placeholder:"modified"},frontmatterDateFormat:{name:"時間戳記格式",desc:"用於解析前置中時間戳記的格式。留空使用 ISO 8601 解析。",helpTooltip:"使用 Moment 格式",momentLinkText:"Moment 格式",help:`常用格式:
YYYY-MM-DD[T]HH:mm:ss → 2025-01-04T14:30:45
YYYY-MM-DD[T]HH:mm:ssZ → 2025-08-07T16:53:39+02:00
DD/MM/YYYY HH:mm:ss → 04/01/2025 14:30:45
MM/DD/YYYY h:mm:ss a → 01/04/2025 2:30:45 PM`},supportDevelopment:{name:"支持開發",desc:"如果您喜歡使用筆記本導覽器，請考慮支持其持續開發。",buttonText:"❤️ 贊助",coffeeButton:"☕️ 請我喝咖啡"},updateCheckOnStart:{name:"啟動時檢查新版本",desc:"啟動時檢查新的外掛版本，當有可用更新時顯示通知。檢查最多每天一次。",status:"有新版本可用：{version}"},debugLogging:{name:"啟動偵錯記錄",desc:"將啟動診斷寫入保存庫根目錄中含時間戳的 Markdown 檔案，並在啟動穩定後停止。該檔案可能會同步，且可能包含檔案路徑。"},whatsNew:{name:"Notebook Navigator {version} 的最新動態",desc:"查看最近的更新和改進",buttonText:"查看最近更新"},masteringVideo:{name:"精通 Notebook Navigator（影片）",desc:"本影片涵蓋了在 Notebook Navigator 中高效工作所需的一切內容，包括快速鍵、搜尋、標籤和進階自訂。"},cacheStatistics:{localCache:"本機快取",items:"項",withTags:"包含標籤",withPreviewText:"包含預覽文字",withFeatureImage:"包含特色圖片",withMetadata:"包含中繼資料"},metadataInfo:{successfullyParsed:"成功解析",itemsWithName:"個帶名稱的項目",withCreatedDate:"個帶建立日期",withModifiedDate:"個帶修改日期",withIcon:"個帶圖示",withColor:"個帶顏色",failedToParse:"解析失敗",createdDates:"個建立日期",modifiedDates:"個修改日期",checkTimestampFormat:"請檢查您的時間戳記格式。",exportFailed:"匯出錯誤"}}},whatsNew:{title:"Notebook Navigator 的新功能",openBannerImage:"開啟發布橫幅圖片",supportMessage:"如果您覺得 Notebook Navigator 有用，請考慮支持其開發。",supportButton:"請我喝咖啡",thanksButton:"謝謝！"}}});function aA(){return oA||(oA=(k1(),Lr(T1)).STRINGS_EN),oA}function sse(t){switch(t){case"ar":return(P1(),Lr(F1)).STRINGS_AR;case"de":return(N1(),Lr(C1)).STRINGS_DE;case"es":return(x1(),Lr(I1)).STRINGS_ES;case"fa":return(M1(),Lr(E1)).STRINGS_FA;case"fr":return(D1(),Lr(R1)).STRINGS_FR;case"id":return(O1(),Lr(A1)).STRINGS_ID;case"it":return(z1(),Lr(L1)).STRINGS_IT;case"ja":return(_1(),Lr(B1)).STRINGS_JA;case"ko":return(V1(),Lr(H1)).STRINGS_KO;case"nl":return(K1(),Lr(U1)).STRINGS_NL;case"pl":return(j1(),Lr(W1)).STRINGS_PL;case"pt":return(q1(),Lr(G1)).STRINGS_PT;case"pt-BR":return($1(),Lr(Y1)).STRINGS_PT_BR;case"ru":return(Q1(),Lr(X1)).STRINGS_RU;case"th":return(J1(),Lr(Z1)).STRINGS_TH;case"tr":return(tU(),Lr(eU)).STRINGS_TR;case"uk":return(rU(),Lr(nU)).STRINGS_UK;case"vi":return(aU(),Lr(oU)).STRINGS_VI;case"zh":case"zh-CN":case"zh_cn":return(sU(),Lr(iU)).STRINGS_ZH_CN;case"zh-TW":case"zh_tw":return(dU(),Lr(lU)).STRINGS_ZH_TW;case"en":return aA();default:return}}function iA(t){if(t==="en")return aA();let e=cU.get(t);if(e)return e;let n=sse(t);if(n){let r=n;return cU.set(t,r),r}return aA()}function Ei(){return(0,uU.getLanguage)()}function sA(){let t=Ei();return t&&ise.has(t)?t:"en"}function lA(){return iA(sA()).settings.items.dateFormat.placeholder||"MMM D, YYYY"}function dA(){return iA(sA()).settings.items.timeFormat.placeholder||"h:mm a"}var uU,ise,oA,cU,d,Ee=U(()=>{uU=require("obsidian"),ise=new Set(["ar","de","en","es","fa","fr","id","it","ja","ko","nl","pl","pt","pt-BR","ru","th","tr","uk","vi","zh","zh-CN","zh_cn","zh-TW","zh_tw"]),oA=null;cU=new Map;d=iA(sA())});function hU(){let t=pU.Platform.isMobile?cse:dse;return`${gU}&t=${t}s`}function pA(){return gU}function vU(t,e){if(!t)return null;let n=t===!0?e:t.trim();return n.length===0?null:/^https?:\/\//i.test(n)?n:`${cA}/images/version-banners/${n}.jpg`}function yU(t,e){if(!t)return null;let n=t===!0?e:t.trim();return n.length===0?null:/^https?:\/\//i.test(n)?n:`${cA}/images/version-banners/${n}.mp4`}function bU(t,e){if(!t)return null;let n=t===!0?e:t.trim();return n.length===0?null:/^https?:\/\//i.test(n)?n:`${lse}/images/version-banners/${n}.mp4`}var pU,UP,cA,lse,mU,uA,dw,Wl,Jf,gU,dse,cse,fU,jl=U(()=>{pU=require("obsidian"),UP="johansan/notebook-navigator",cA=`https://raw.githubusercontent.com/${UP}/main`,lse=`https://cdn.jsdelivr.net/gh/${UP}@main`,mU=`https://api.github.com/repos/${UP}/releases/latest`,uA="https://github.com/sponsors/johansan/",dw="https://buymeacoffee.com/johansan",Wl="https://momentjs.com/docs/#/displaying/format/",Jf=`https://github.com/${UP}/tree/main/icon-assets`,gU="https://www.youtube.com/watch?v=BewIlG8wLAM",dse=66,cse=116;fU=`${cA}/images/youtube-thumbnail.jpg`});function eh(t){return typeof t=="object"&&t!==null&&typeof t.then=="function"}function pse(t){mA.push({error:t,timestamp:Date.now()}),mA.length>use&&mA.shift()}function Q(t,e){let n=e?.onError??mse;try{let r=t();eh(r)&&r.catch(n)}catch(r){n(r)}}var use,mA,mse,ot=U(()=>{use=20,mA=[];mse=t=>{console.error("Unhandled async action error",t),pse(t)}});function tr(t){return e=>{let n=t.createDiv();n.addClass("setting-group");let r=new SU.SettingGroup(n);return e&&r.setHeading(e),{rootEl:n,addSetting:o=>{let a=null;if(r.addSetting(i=>{a=i,o(i)}),!a)throw new Error("SettingGroup.addSetting did not provide a Setting");return a}}}}var SU,Xa=U(()=>{SU=require("obsidian")});function Tn(t,e){t.classList.toggle(gse,!e)}function Qa(t){let e=t.settingEl.ownerDocument.createElement("div");return t.settingEl.after(e),e}function xr(t,e,n){let r=Qa(t);return Tn(r,e()),t.addToggle(o=>o.setValue(e()).onChange(async a=>{await n(a),Tn(r,a)})),r}var gse,ns=U(()=>{gse="nn-setting-hidden"});var gA,KP,th,wU,cw,lm,uw=U(()=>{gA=["#ef4444","#f97316","#f59e0b","#eab308","#84cc16","#22c55e","#10b981","#14b8a6","#06b6d4","#0ea5e9","#3b82f6","#6366f1","#8b5cf6","#a855f7","#d946ef","#ec4899","#f43f5e","#6b7280","#64748b","#78716c"],KP=gA.length,th="#404040",wU=["#ffffff","#d9d9d9","#a6a6a6","#737373","#000000"],cw=Array.from({length:KP},(t,e)=>e<wU.length?wU[e]:th),lm=10});function hse(t){return t&&typeof t=="object"&&"internalPlugins"in t}function nh(t,e){return hse(t)?t.internalPlugins?.getPluginById?.(e):void 0}function fse(t){return t&&typeof t=="object"&&"commands"in t}function Rc(t,e){if(!fse(t))return!1;try{return t.commands?.executeCommandById?.(e)??!1}catch{return!1}}function TU(t){return typeof t=="object"&&t!==null&&"plugins"in t}function Du(t,e){if(!e||!TU(t))return null;let n=t.plugins;return n?.plugins?n.plugins[e]??null:null}function ev(t,e){if(!e||!TU(t))return!1;let n=t.plugins;return n?!!n.plugins?.[e]||!!n.enabledPlugins?.has(e):!1}function kU(t,e){let n=e.parent;for(;n;){if(n.path===t.path)return!0;n=n.parent}return!1}function mt(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function pw(t,e){if(mt(t))return t[e]}var Zr=U(()=>{});function vse(){return{[Ft.PANE_MOVE_UP]:[{modifiers:[],key:"ArrowUp"}],[Ft.PANE_MOVE_DOWN]:[{modifiers:[],key:"ArrowDown"}],[Ft.PANE_PAGE_UP]:[{modifiers:[],key:"PageUp"}],[Ft.PANE_PAGE_DOWN]:[{modifiers:[],key:"PageDown"}],[Ft.PANE_HOME]:[{modifiers:[],key:"Home"}],[Ft.PANE_END]:[{modifiers:[],key:"End"}],[Ft.PANE_RENAME]:[{modifiers:[],key:WP.Platform.isMacOS?"Enter":"F2"}],[Ft.NAV_COLLAPSE_OR_PARENT]:[{modifiers:[],key:"ArrowLeft"}],[Ft.NAV_EXPAND_OR_FOCUS_LIST]:[{modifiers:[],key:"ArrowRight"}],[Ft.NAV_FOCUS_LIST]:[{modifiers:[],key:"Tab"}],[Ft.DELETE_SELECTED]:[{modifiers:[],key:"Delete"},{modifiers:[],key:"Backspace"}],[Ft.LIST_FOCUS_NAVIGATION]:[{modifiers:[],key:"ArrowLeft"},{modifiers:["Shift"],key:"Tab"}],[Ft.LIST_FOCUS_EDITOR]:[{modifiers:[],key:"ArrowRight"},{modifiers:[],key:"Tab"}],[Ft.LIST_SELECT_ALL]:[{modifiers:["Mod"],key:"A"}],[Ft.LIST_EXTEND_SELECTION_UP]:[{modifiers:["Shift"],key:"ArrowUp"}],[Ft.LIST_EXTEND_SELECTION_DOWN]:[{modifiers:["Shift"],key:"ArrowDown"}],[Ft.LIST_MANUAL_SORT_UP]:[{modifiers:["Mod"],key:"ArrowUp"}],[Ft.LIST_MANUAL_SORT_DOWN]:[{modifiers:["Mod"],key:"ArrowDown"}],[Ft.LIST_RANGE_TO_START]:[{modifiers:["Shift"],key:"Home"}],[Ft.LIST_RANGE_TO_END]:[{modifiers:["Shift"],key:"End"}],[Ft.SEARCH_FOCUS_LIST]:[{modifiers:[],key:"Tab"},{modifiers:[],key:"Enter"}],[Ft.SEARCH_FOCUS_NAVIGATION]:[{modifiers:["Shift"],key:"Tab"}],[Ft.SEARCH_CLOSE]:[{modifiers:[],key:"Escape"}]}}function hA(){return bse(vse())}function yse(t){if(typeof t!="string")return null;let e=t.trim();return e&&(e==="Mod"||e==="Ctrl"||e==="Shift"||e==="Alt")?e:null}function PU(t){return{key:t.key,modifiers:Array.isArray(t.modifiers)?[...t.modifiers]:[]}}function bse(t){let e={};return Object.keys(t).forEach(n=>{let r=t[n]??[];e[n]=r.map(o=>PU(o))}),e}function Sse(t){if(!mt(t)||Array.isArray(t))return null;let e=t.modifiers,n=t.key;if(!Array.isArray(e)||typeof n!="string")return null;let r=[];for(let i of e){let s=yse(i);if(!s)return null;r.push(s)}let o=n.trim();if(!o)return null;let a=[...new Set(r)];return{key:o,modifiers:a}}function wse(t){if(!Array.isArray(t))return null;let e=[];for(let n of t){let r=Sse(n);r&&e.push(PU(r))}return e}function CU(t){let e=hA();return!mt(t)||Array.isArray(t)||Object.keys(Ft).forEach(n=>{let r=Ft[n],o=wse(t[r]);o&&(e[r]=o)}),e}function FU(t){let e=t.trim();return e.length===1,e.toLowerCase()}function Tse(t){switch(t){case"ArrowLeft":return"ArrowRight";case"ArrowRight":return"ArrowLeft";default:return t}}function kse(t,e){let n=Array.isArray(e.modifiers)?e.modifiers:[],r=new Set(n),o=r.has("Mod"),a=r.has("Ctrl")||!WP.Platform.isMacOS&&o,i=WP.Platform.isMacOS&&o,s=r.has("Alt"),l=r.has("Shift");return!(t.altKey!==s||t.shiftKey!==l||t.ctrlKey!==a||t.metaKey!==i)}function Fse(t,e,n){let r=n?.directional==="horizontal"&&n?.isRTL?Tse(e.key):e.key,o=FU(r),a=FU(t.key);return o!==a?!1:kse(t,e)}function un(t,e,n,r){let o=e[n];if(!o||o.length===0)return!1;for(let a of o)if(Fse(t,a,r))return!0;return!1}var WP,Ft,rh=U(()=>{WP=require("obsidian");Zr();Ft={PANE_MOVE_UP:"pane:move-up",PANE_MOVE_DOWN:"pane:move-down",PANE_PAGE_UP:"pane:page-up",PANE_PAGE_DOWN:"pane:page-down",PANE_HOME:"pane:home",PANE_END:"pane:end",PANE_RENAME:"pane:rename",NAV_COLLAPSE_OR_PARENT:"navigation:collapse-or-parent",NAV_EXPAND_OR_FOCUS_LIST:"navigation:expand-or-focus-list",NAV_FOCUS_LIST:"navigation:focus-list",DELETE_SELECTED:"pane:delete-selected",LIST_FOCUS_NAVIGATION:"list:focus-navigation",LIST_FOCUS_EDITOR:"list:focus-editor",LIST_SELECT_ALL:"list:select-all",LIST_EXTEND_SELECTION_UP:"list:extend-selection-up",LIST_EXTEND_SELECTION_DOWN:"list:extend-selection-down",LIST_MANUAL_SORT_UP:"list:manual-sort-up",LIST_MANUAL_SORT_DOWN:"list:manual-sort-down",LIST_RANGE_TO_START:"list:range-to-start",LIST_RANGE_TO_END:"list:range-to-end",SEARCH_FOCUS_LIST:"search:focus-list",SEARCH_FOCUS_NAVIGATION:"search:focus-navigation",SEARCH_CLOSE:"search:close"}});function IU(t){return t===Er.DOCUMENTS||t===Er.SUPPORTED||t===Er.ALL}function Cse(t){let e=NU.get(t);if(e)return e;let n=new Set(Pse);try{let r=t;if(r.viewRegistry?.typeByExtension){let o=r.viewRegistry.typeByExtension;if(o&&typeof o=="object")for(let a of Object.keys(o))typeof a=="string"&&n.add(a)}if(r.metadataTypeManager?.registeredExtensions){let o=r.metadataTypeManager.registeredExtensions;if(Array.isArray(o))for(let a of o)typeof a=="string"&&n.add(a)}}catch{}return NU.set(t,n),n}function xU(t){return t?t.toLowerCase()==="svg":!1}function mw(t){return t?Ise.has(t.toLowerCase()):!1}function xse(t){return t?t.toLowerCase()==="pdf":!1}function Ese(t){if(!t)return!1;let e=t.toLowerCase();return e==="md"||e==="canvas"||e==="base"}function oh(t){return t?.extension?Ese(t.extension):!1}function rl(t,e,n){if(!t?.extension)return!1;switch(e){case Er.DOCUMENTS:return oh(t);case Er.SUPPORTED:return Cse(n).has(t.extension);case Er.ALL:return!0;default:return oh(t)}}function Ms(t){return t?.extension?mw(t.extension):!1}function Od(t){return t?.extension?xse(t.extension):!1}function qo(t){return!t||t.length<3?!1:t.slice(-3).toLowerCase()===".md"}function tv(t){return!t||!t.extension?!1:!oh(t)}function ah(t){return tv(t)?`.${t.extension}`:""}var Er,Pse,NU,Nse,Ise,Mr=U(()=>{Er={DOCUMENTS:"documents",SUPPORTED:"supported",ALL:"all"};Pse=new Set(["md","canvas","base","pdf"]),NU=new WeakMap;Nse=["png","jpg","jpeg","gif","webp","avif","heic","heif","bmp"],Ise=new Set(Nse)});function sh(t){return Rse.flatMap(e=>t.workspace.getLeavesOfType(e))}var wa,Au,ih,bt,zt,_n,Oe,W,en,gw,he,Dt,jP,ol,GP,qP,YP,Dc,Ac,$P,ut,Ld,EU,Mse,Rse,yi,bi,Ue=U(()=>{wa="notebook-navigator",Au="notebook-navigator-calendar",ih="notebook-navigator-folder-note-sidebar",bt="__untagged__",zt="__tagged__",_n="tags-root",Oe="properties-root",W={FILE:"file",FOLDER:"folder",TAG:"tag",PROPERTY:"property"},en={HEADER:"header",HEADER_SPACER:"header-spacer",FILE:"file",TOP_SPACER:"top-spacer",BOTTOM_SPACER:"bottom-spacer"},gw="header-pinned",he={FOLDER:"folder",VIRTUAL_FOLDER:"virtual-folder",TAG:"tag",UNTAGGED:"untagged",PROPERTY_KEY:"property-key",PROPERTY_VALUE:"property-value",SHORTCUT_HEADER:"shortcut-header",SHORTCUT_FOLDER:"shortcut-folder",SHORTCUT_NOTE:"shortcut-note",SHORTCUT_SEARCH:"shortcut-search",SHORTCUT_TAG:"shortcut-tag",SHORTCUT_PROPERTY:"shortcut-property",RECENT_NOTE:"recent-note",TOP_SPACER:"top-spacer",BOTTOM_SPACER:"bottom-spacer",LIST_SPACER:"list-spacer",ROOT_SPACER:"root-spacer"},Dt={SHORTCUTS:"shortcuts",RECENT:"recent",FOLDERS:"folders",TAGS:"tags",PROPERTIES:"properties"},jP=[Dt.SHORTCUTS,Dt.RECENT,Dt.FOLDERS,Dt.TAGS,Dt.PROPERTIES],ol={defaultItemHeight:28,defaultIndent:16,defaultFontSize:13,mobileHeightIncrement:12,mobileFontSizeIncrement:3,topSpacer:8,listSpacer:8,bottomSpacer:20},GP=10,qP={defaultCompactItemHeight:28,defaultCompactFontSize:13,mobileHeightIncrement:8,mobileFontSizeIncrement:2,minCompactPaddingVerticalMobile:6},YP=58,Dc=50,Ac=350,$P=10,ut={expandedFoldersKey:"notebook-navigator-expanded-folders",expandedTagsKey:"notebook-navigator-expanded-tags",expandedPropertiesKey:"notebook-navigator-expanded-properties",expandedVirtualFoldersKey:"notebook-navigator-expanded-virtual-folders",selectedFolderKey:"notebook-navigator-selected-folder",selectedPropertyKey:"notebook-navigator-selected-property",selectedFileKey:"notebook-navigator-selected-file",selectedFilesKey:"notebook-navigator-selected-files",selectedTagKey:"notebook-navigator-selected-tag",navigationPaneWidthKey:"notebook-navigator-navigation-pane-width",navigationPaneHeightKey:"notebook-navigator-navigation-pane-height",dualPaneOrientationKey:"notebook-navigator-dual-pane-orientation",narrowSidebarLayoutKey:"notebook-navigator-narrow-sidebar-layout",narrowSidebarTriggerModeKey:"notebook-navigator-narrow-sidebar-trigger-mode",narrowSidebarCustomWidthKey:"notebook-navigator-narrow-sidebar-custom-width",dualPaneKey:"notebook-navigator-dual-pane",uiScaleKey:"notebook-navigator-ui-scale",shortcutsExpandedKey:"notebook-navigator-shortcuts-expanded",recentNotesExpandedKey:"notebook-navigator-recent-notes-expanded",recentNotesKey:"notebook-navigator-recent-notes",recentIconsKey:"notebook-navigator-recent-icons",navigationSectionOrderKey:"notebook-navigator-section-order",pinnedShortcutsMaxHeightKey:"notebook-navigator-pinned-shortcuts-max-height",uxPreferencesKey:"notebook-navigator-ux-preferences",fileCacheKey:"notebook-navigator-file-cache",databaseSchemaVersionKey:"notebook-navigator-db-schema-version",databaseContentVersionKey:"notebook-navigator-db-content-version",cacheRebuildNoticeKey:"notebook-navigator-cache-rebuild-notice",debugLoggingEnabledKey:"notebook-navigator-debug-logging-enabled",pdfProcessingDiagnosticKey:"notebook-navigator-pdf-processing-diagnostic",localStorageVersionKey:"notebook-navigator-localstorage-version",vaultProfileKey:"notebook-navigator-vault-profile",releaseCheckTimestampKey:"notebook-navigator-release-check-timestamp",searchProviderKey:"notebook-navigator-search-provider",homepageKey:"notebook-navigator-homepage",folderSortOrderKey:"notebook-navigator-folder-sort-order",tagSortOrderKey:"notebook-navigator-tag-sort-order",propertySortOrderKey:"notebook-navigator-property-sort-order",recentColorsKey:"notebook-navigator-recent-colors",paneTransitionDurationKey:"notebook-navigator-pane-transition-duration",toolbarVisibilityKey:"notebook-navigator-toolbar-visibility",useFloatingToolbarsKey:"notebook-navigator-use-floating-toolbars",pinNavigationBannerKey:"notebook-navigator-pin-navigation-banner",navIndentKey:"notebook-navigator-nav-indent",navItemHeightKey:"notebook-navigator-nav-item-height",navItemHeightScaleTextKey:"notebook-navigator-nav-item-height-scale-text",calendarPlacementKey:"notebook-navigator-calendar-placement",calendarLeftPlacementKey:"notebook-navigator-calendar-left-placement",calendarWeeksToShowKey:"notebook-navigator-calendar-weeks-to-show",compactItemHeightKey:"notebook-navigator-compact-item-height",compactItemHeightScaleTextKey:"notebook-navigator-compact-item-height-scale-text",featureImageSizeKey:"notebook-navigator-feature-image-size",featureImagePixelSizeKey:"notebook-navigator-feature-image-pixel-size",collapsedListGroupsKey:"notebook-navigator-collapsed-list-groups",mergeNotesSeparatorKey:"notebook-navigator-merge-notes-separator",mergeNotesMoveSourcesToTrashKey:"notebook-navigator-merge-notes-move-sources-to-trash"},Ld={defaultWidth:200,minWidth:150,defaultHeight:260,minHeight:160,pinnedShortcutsMinHeight:80},EU={minWidth:150},Mse={md:"markdown",canvas:"canvas",pdf:"pdf",base:"base"},Rse=Object.values(Mse);yi="shortcuts-root",bi="recent-notes-root"});function Za(t){return typeof t!="number"||Number.isNaN(t)?1:t<.75?.75:t>1.5?1.5:Math.round(t*100)/100}function QP(t){return`${Math.round(t*100)}%`}function nv(t){return Math.round(Za(t)*100)}function rv(t){if(typeof t!="number"||Number.isNaN(t))return 1;let e=Math.min(fw,Math.max(hw,Math.round(t)));return Math.round(e/100*100)/100}var hw,fw,XP,dm=U(()=>{hw=Math.round(75),fw=Math.round(1.5*100),XP=Math.round(.05*100)});function ov(t){return t==="local"||t==="synced"}function fA(t){return t==="ask"||t==="always"||t==="never"}function ZP(t,e){return fA(t)?t:e}function vA(t){return t==="ask"||t==="rename"}function JP(t,e){return vA(t)?t:e}function dh(t){return typeof t=="string"&&Dse.includes(t)}function ch(t){return typeof t=="string"&&Ase.includes(t)}function av(t){return typeof t=="string"&&Ose.includes(t)}function eC(t){return typeof t=="string"&&MU.includes(t)}function lh(t){return typeof t=="string"&&vw.includes(t)}function Lse(t){return t==="property-asc"||t==="property-desc"}function Oc(t){if(lh(t))return t;if(typeof t!="object"||t===null||Array.isArray(t))return;let e=t;if(!lh(e.option))return;let n=e.option;if(!Lse(n)||typeof e.propertyKey!="string")return n;let r=e.propertyKey.trim();return r.length===0?n:{option:n,propertyKey:r}}function nC(t){return t==="title"||t==="filename"||t==="created"||t==="modified"}function oC(t){return t==="top"||t==="bottom"||t==="below-selected-note"||t==="unsorted"}function al(t){return t==="alpha-asc"||t==="alpha-desc"}function Ta(t){return t==="alpha-asc"||t==="alpha-desc"||t==="frequency-asc"||t==="frequency-desc"}function RU(t){return t==="all"||t==="folders-only"||t==="tags-only"||t==="properties-only"}function iv(t){return t==="none"||t==="foreground"||t==="background"}function um(t){return t==="root"||t==="child"||t==="all"}function aC(t){return t==="hue"||t==="rgb"}function DU(t){return t==="cmdCtrl"||t==="optionAlt"}function zse(t){return t==="tab"||t==="split"||t==="window"}function yw(t){return zse(t)||t==="rename"}function AU(t){return t==="none"||t==="singlePaneSwitch"||t==="history"}function Bse(t){return t==="none"||t==="singlePane"||t==="vertical"}function sC(t){return t==="dualPane"?"vertical":Bse(t)?t:null}function lC(t){return t==="fitPanes"||t==="customWidth"}function OU(t){return t==="header"||t==="navigation"}function LU(t){return t==="header"||t==="list"||t==="hidden"}function zU(t){return t==="index"||t==="count"||t==="none"}function dC(t){return t==="none"||t==="dots"||t==="dashes"||t==="line"}function sv(t){return t==="none"||t==="folder-notes"}function cC(t){return t==="current-tab"||t==="new-tab"||t==="right-sidebar"}function gm(t){return t==="left-sidebar"||t==="right-sidebar"}function hm(t){return t==="navigation"||t==="below"}function uC(t){return t==="none"||t==="sat-sun"||t==="fri-sat"||t==="thu-fri"}function pC(t){return t==="full"||t==="short"}function mC(t){return t==="calendar"||t==="obsidian"}function BU(t){return t==="standard"||t==="compact"}function yA(t){return t==="custom"||t==="date"||t==="folder"}function bA(t){return t==="none"?"custom":yA(t)?t:null}function gC(t){let n=bA(t.groupBy);if(n){t.groupBy=n;return}delete t.groupBy}function lv(t){return t==="title"||t==="property"}function dv(t){return t==="none"||t==="words"||t==="characters"||t==="both"}function cv(t){return t==="include"||t==="exclude"}function il(t){return t==="words"||t==="both"}function Gl(t){return t==="characters"||t==="both"}var Dse,Ase,MU,Ose,cm,vw,tC,rC,pm,mm,iC,uh,xn=U(()=>{Dse=["64","96","128"],Ase=["256","384","512"];MU=["daily-note","weekly-note","monthly-note","quarterly-note","yearly-note"],Ose=["none","file",...MU];cm=["vaultProfile","homepage","folderSortOrder","tagSortOrder","propertySortOrder","includeDescendantNotes","useFloatingToolbars","dualPane","dualPaneOrientation","narrowSidebarLayout","narrowSidebarTriggerMode","narrowSidebarCustomWidth","paneTransitionDuration","toolbarVisibility","pinNavigationBanner","navIndent","navItemHeight","navItemHeightScaleText","calendarPlacement","calendarLeftPlacement","calendarWeeksToShow","compactItemHeight","compactItemHeightScaleText","featureImageSize","featureImagePixelSize","uiScale"],vw=["modified-desc","modified-asc","created-desc","created-asc","title-asc","title-desc","filename-asc","filename-desc","property-asc","property-desc"];tC=["title","filename","created","modified"];rC=["top","bottom","below-selected-note","unsorted"];pm=240,mm=900,iC=10,uh=350});function De(t,e){let n=Object.create(null);if(!t)return n;for(let r of Object.keys(t)){let o=t[r];e&&!e(o)||(n[r]=o)}return n}function ln(t,e){return t?Object.getPrototypeOf(t)===null?(e&&Object.keys(t).forEach(r=>{let o=t[r];e(o)||delete t[r]}),t):De(t,e):Object.create(null)}function Ln(t){return typeof t=="string"}function fm(t){return typeof t=="boolean"}function ka(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function ql(t){return t?t.normalize("NFC").toLowerCase():""}function _se(t){let e=t.trim();return e.length===0?"":ql(e)}function Rs(t){return ql(t)}function Yo(t,e){if(!t)return null;let n=Me(e);if(!n)return null;for(let r of Object.keys(t))if(Me(r)===n)return r;return null}function sl(t,e){let n=Yo(t,e);if(!(n===null||!t))return t[n]}function Vse(t){return Hse.some(e=>t.startsWith(e)&&t.length>e.length)}function UU(t){return`${t}:`}function vm(t,e){let n=UU(e);return!t.startsWith(n)||t.length<=n.length?null:t.slice(n.length)}function _U(t,e){return`${UU(t)}${e}`}function SA(t,e,n){return t===e?!0:n!==void 0&&t.startsWith(`${e}${n}`)}function Yl(t){if(!ka(t))return{folder:!1,tag:!1,property:!1};let e=t.folder===!0,n=t.tag===!0;return{folder:e,tag:n,property:t.property===!0||!Object.prototype.hasOwnProperty.call(t,"property")&&e&&n}}function Ou(t){let e=De(void 0);return ka(t)&&Object.entries(t).forEach(([n,r])=>{e[n]=Yl(r)}),e}function uv(t){let e=De(void 0);return ka(t)&&Object.entries(t).forEach(([n,r])=>{Vse(n)&&r===!0&&(e[n]=!0)}),e}function pv(t,e,n,r,o={}){if(!t||n===r)return!1;let a=o.descendantDelimiter!==void 0?`${n}${o.descendantDelimiter}`:null,i=[];Object.keys(t).forEach(l=>{let c=vm(l,e);if(!(c===null||!SA(c,n,o.descendantDelimiter))){if(c===n){i.push({oldKey:l,newKey:_U(e,r)});return}a&&i.push({oldKey:l,newKey:_U(e,`${r}${c.slice(n.length)}`)})}});let s=!1;return i.forEach(({oldKey:l,newKey:c})=>{if(l!==c){if(Object.prototype.hasOwnProperty.call(t,c)&&o.preserveExisting){delete t[l],s=!0;return}t[l]===!0&&(t[c]=!0),delete t[l],s=!0}}),s}function wA(t,e,n,r={}){return t?Object.keys(t).some(o=>{let a=vm(o,e);return a!==null&&SA(a,n,r.descendantDelimiter)}):!1}function mv(t,e,n,r={}){if(!t)return!1;let o=!1;return Object.keys(t).forEach(a=>{let i=vm(a,e);i===null||!SA(i,n,r.descendantDelimiter)||(delete t[a],o=!0)}),o}function ym(t,e,n){if(!t)return!1;let r=!1;return Object.keys(t).forEach(o=>{let a=vm(o,e);a===null||n(a)||(delete t[o],r=!0)}),r}function Me(t){return _se(t)}function Lu(t){return t?KU(t):""}function To(t){return t?KU(t.toLowerCase()):""}function TA(t,e){if(t.length===0)return[];let n=[...t].sort(e),r=[n[0]];for(let o=1;o<n.length;o+=1){let a=n[o],i=r[r.length-1];e(a,i)!==0&&r.push(a)}return r}function bw(t){if(t.length===0)return HU;let e=t.map(Me).filter(Boolean);if(e.length===0)return HU;let n=TA(e,(s,l)=>s.localeCompare(l)),r=n.join("\0"),o=VU.get(r);if(o)return o;let a=new Set(n),i={hasKeys:!0,matches:s=>{if(!s)return!1;for(let l of Object.keys(s))if(a.has(Me(l)))return!0;return!1}};return VU.set(r,i),i}var Hse,Use,Kse,Wse,KU,HU,VU,Ot=U(()=>{Hse=["folder:","tag:","property:"];Use=/\p{M}/u,Kse=/\p{Script=Latin}/u,Wse=/[\u0080-\uFFFF]/,KU=t=>{if(!Wse.test(t))return t;let e=t.normalize("NFD"),n="",r=!1;for(let o of e){if(Use.test(o)){if(r)continue;n+=o;continue}n+=o,r=Kse.test(o)}return n.normalize("NFC")};HU={hasKeys:!1,matches:()=>!1},VU=new Map});function hC(t){return t?t.replace(/^\.+/u,""):""}function kA(t){return t?t.toLowerCase().endsWith(`${Fa}.md`):!1}function $l(t){return t&&(t.toLowerCase().endsWith(Fa)?t.slice(0,-Fa.length):t)}function Mi(t){return kA(t.name)}function FA(t){if(typeof t=="boolean")return t;if(typeof t=="number")return t!==0;if(typeof t=="string"){let e=t.trim();if(!e)return!1;let n=e.toLowerCase();return n!=="false"&&n!=="0"}return!!t}function PA(t){return!t||typeof t!="object"||Array.isArray(t)?!1:FA(t[jse])}function fC(t){return PA(t)}function qU(t){return t&&(WU.lastIndex=0,t.replace(WU,""))}function YU(t){return t?Gse.test(t):!1}function vC(t){return t&&(jU.lastIndex=0,t.replace(jU,""))}function yC(t){return t?qse.test(t):!1}function bC(t){return t&&(GU.lastIndex=0,t.replace(GU,""))}function SC(t){return t?Yse.test(t):!1}function bm(t,e,n){return e?.fn&&n?.useFrontmatterMetadata?e.fn:Mi(t)?$l(t.basename):t.basename}var Fa,jse,Gse,WU,qse,jU,Yse,GU,rs=U(()=>{Fa=".excalidraw",jse="excalidraw-plugin",Gse=/(\[\[|\]\]|%%|[#|^:])/u,WU=/(\[\[|\]\]|%%|[#|^:])/gu,qse=/[:/]/u,jU=/[:/]/gu,Yse=/[<>"\\|?*]/u,GU=/[<>"\\|?*]/gu});function $U(t){return Number.isInteger(t)&&t>=0&&t<=6?t:1}function XU(t){return typeof t=="number"&&Number.isInteger(t)&&t>=1&&t<=7?t:null}function tK(t){let e=zu(t),n=ph(e);return{usesIsoWeekTokens:/[GW]/u.test(n),usesLocaleWeekTokens:/[gw]/u.test(n)}}function nK(t){let{usesIsoWeekTokens:e,usesLocaleWeekTokens:n}=tK(t);return e&&n}function rK(t,e,n){let r=Iw(e),o=t.clone();return(n?o.locale(n):o).startOf(r)}function oK(t,e,n){let{usesIsoWeekTokens:r,usesLocaleWeekTokens:o}=tK(t);if(r&&!o)return!1;if(r&&o)return!0;let a=$U(e.firstDayOfWeek),i=$U(n.firstDayOfWeek);if(a!==i)return!0;let s=XU(e.firstDayOfYear),l=XU(n.firstDayOfYear);return s!==null&&l!==null&&s!==l}function aK(t){return t.replace(/[ \t]*\{title\}/gu,"")}function wC(t){let e=t.trim();return e?/\.md$/iu.test(e)?e:`${e}.md`:""}function Ri(t){let e=t.trim();if(!e||e==="/")return"";let n=(0,gv.normalizePath)(e);return!n||n==="/"||n==="."?"":n.replace(/^\/+/u,"").replace(/\/+$/u,"")}function ll(t,e=hv){let n=t.trim();if(!n)return e;let r=aK(n),o=(0,gv.normalizePath)(r).replace(/\.md$/iu,"");if(!o||o==="/"||o===".")return e;let a=o.replace(/^\/+/u,""),i=a.lastIndexOf("/");if(i===-1)return a.trim()||e;let s=a.slice(0,i),c=a.slice(i+1).trim();return c?s?`${s}/${c}`:c:e}function Fw(t,e){let n=ll(t,e),r=n.lastIndexOf("/");return r===-1?{folderPattern:"",filePattern:n}:{folderPattern:n.slice(0,r),filePattern:n.slice(r+1)}}function TC(t){let e=(0,gv.normalizePath)(t);return!e||e==="."||e==="/"?"/":e.replace(/^\/+/u,"")}function Pw(t){let e=(0,gv.normalizePath)(t).replace(/^\/+/u,"").replace(/\/+$/u,"");return e?e.split("/").filter(Boolean).map(n=>{let r="",o="",a=()=>{o&&(r+=`[${o}]`,o="")};for(let i of n){if(i==="["||i==="]"){a(),r+=`\\${i}`;continue}o+=i}return a(),r}).join("/"):""}function kC(t,e){let n=zu(t);return!n||n==="/"||n==="."?!1:e?iK(n)?Nw(e,n,["2026-01-16","2027-02-17"],r=>r):!1:$se(n)}function Cw(t,e){let n=zu(t);if(!n||n==="/"||n===".")return!1;if(!e)return eK(n);if(!eK(n))return!1;let r=Iw(n);return Nw(e,n,["2020-12-31","2021-01-01","2026-06-19","2027-02-17"],o=>o.clone().startOf(r))}function FC(t,e){let n=zu(t);return!n||n==="/"||n==="."?!1:e?ZU(n)?Nw(e,n,["2026-01-16","2027-02-17"],r=>r):!1:ZU(n)}function PC(t,e){let n=zu(t);return!n||n==="/"||n==="."?!1:e?JU(n)?Nw(e,n,["2026-01-16","2026-07-15","2027-04-03"],r=>r):!1:JU(n)}function CC(t,e){let n=zu(t);return!n||n==="/"||n==="."?!1:e?QU(n)?Nw(e,n,["2026-01-16","2027-02-17"],r=>r):!1:QU(n)}function Nw(t,e,n,r){for(let o of n){let a=t(o,"YYYY-MM-DD",!0);if(!a.isValid())return!1;let i=r(a);if(!i.isValid())return!1;let s=i.format(e);if(!s||s.trim().length===0||!Xse(s))return!1}return!0}function zu(t){return aK(t.trim()).replace(/\.md$/iu,"")}function $se(t){let e=zu(t);return!e||e==="/"||e==="."?!1:iK(e)}function fv(t){let e=zu(t);return e?n=>n.format(e):()=>""}function ph(t){let e="",n=!1;for(let r=0;r<t.length;r++){let o=t[r];if(o==="["){n=!0;continue}if(o==="]"){n=!1;continue}n||(e+=o)}return e}function Iw(t){let e=zu(t),n=ph(e),r=/W/u.test(n),o=/G/u.test(n);return r||o?"isoWeek":"week"}function QU(t){let e=ph(t);return/[YgG]/u.test(e)}function ZU(t){let e=ph(t);return/[YgG]/u.test(e)&&/M/u.test(e)}function JU(t){let e=ph(t);return/[YgG]/u.test(e)&&/Q/u.test(e)}function iK(t){let e=ph(t);return/[YgG]/u.test(e)&&/M/u.test(e)&&/D/u.test(e)}function eK(t){let e=ph(t),n=/[YgG]/u.test(e),r=/[wW]/u.test(e);return n&&r}function Xse(t){if(t!==t.trim())return!1;let e=(0,gv.normalizePath)(t);if(!e||e==="/"||e===".")return!1;let n=e.replace(/^\/+/u,"").replace(/\/+$/u,"");if(!n)return!1;let r=n.split("/");if(r.length===0)return!1;for(let i of r){let s=i;if(!s||s!==s.trim()||s==="."||s===".."||s.startsWith(".")||s.endsWith(".")||Zse(s)||yC(s)||SC(s))return!1}return(r[r.length-1]??"").replace(/\.md$/iu,"").length>0}function Zse(t){if(!t)return!1;let e=t.trim().replace(/\.+$/u,"");if(!e)return!1;let n=e.split(".")[0]??e;return n?Qse.has(n.toLowerCase()):!1}var gv,hv,Sw,ww,Tw,kw,Qse,Xl=U(()=>{gv=require("obsidian");rs();hv="YYYY/YYYYMMDD",Sw="gggg/[W]ww",ww="YYYY/YYYYMM",Tw="YYYY/[Q]Q",kw="YYYY";Qse=new Set(["con","prn","aux","nul","clock$","com1","com2","com3","com4","com5","com6","com7","com8","com9","lpt1","lpt2","lpt3","lpt4","lpt5","lpt6","lpt7","lpt8","lpt9"])});function Bw(t){let e=Object.create(null);return t.forEach(([n,r])=>{n.forEach(o=>{e[o]=r})}),Object.freeze(e)}function bv(t){return typeof t=="string"&&Jse.includes(t)}function mh(t){return typeof t=="string"&&yv.includes(t)}function lK(t){return mh(t)?ele[t]:null}var vv,yv,Jse,CA,sK,xw,Ew,Mw,Rw,Dw,Aw,Ow,Lw,zw,ele,Sv=U(()=>{vv="none",yv=["bootstrap-icons","fontawesome-solid","material-icons","phosphor","rpg-awesome"],Jse=[vv,...yv],CA=["md","txt","rtf","log"],sK=["pdf","doc","docx","odt","pages"],xw=["csv","tsv","xls","xlsx","ods"],Ew=["ppt","pptx","odp","key"],Mw=["json","yaml","yml","toml","xml"],Rw=["png","jpg","jpeg","gif","webp","svg","bmp","tif","tiff","heic","avif"],Dw=["mp3","wav","ogg","flac","m4a","aac"],Aw=["mp4","mov","avi","mkv","webm"],Ow=["zip","rar","7z","tar","gz"],Lw=["js","jsx","ts","tsx","css","scss","html","htm","py","java","c","h","cpp","hpp","cs","go","rs","rb","php","sh","zsh","bash","sql","r","swift","kt","kts"],zw=["ini","env","lock"];ele={"bootstrap-icons":Bw([[["md"],"bootstrap-icons:markdown"],[["excalidraw.md"],"bootstrap-icons:pencil"],[["canvas"],"bootstrap-icons:easel"],[["base"],"bootstrap-icons:database"],[["pdf"],"bootstrap-icons:file-earmark-pdf"],[["doc","docx","odt","pages"],"bootstrap-icons:file-earmark-richtext"],[["txt","rtf","log"],"bootstrap-icons:file-earmark-text"],[xw,"bootstrap-icons:file-earmark-spreadsheet"],[Ew,"bootstrap-icons:file-earmark-slides"],[Mw,"bootstrap-icons:braces"],[Rw,"bootstrap-icons:image"],[Dw,"bootstrap-icons:music-note-beamed"],[Aw,"bootstrap-icons:play-btn"],[Ow,"bootstrap-icons:archive"],[Lw,"bootstrap-icons:code-slash"],[zw,"bootstrap-icons:gear"]]),"fontawesome-solid":Bw([[CA,"fontawesome-solid:file-lines"],[["excalidraw.md"],"fontawesome-solid:pen"],[["canvas"],"fontawesome-solid:draw-polygon"],[["base"],"fontawesome-solid:database"],[["pdf"],"fontawesome-solid:file-pdf"],[["doc","docx","odt","pages"],"fontawesome-solid:file-word"],[xw,"fontawesome-solid:file-excel"],[Ew,"fontawesome-solid:file-powerpoint"],[["csv","tsv"],"fontawesome-solid:file-csv"],[Mw,"fontawesome-solid:file-code"],[Rw,"fontawesome-solid:file-image"],[Dw,"fontawesome-solid:file-audio"],[Aw,"fontawesome-solid:file-video"],[Ow,"fontawesome-solid:file-zipper"],[Lw,"fontawesome-solid:file-code"],[zw,"fontawesome-solid:gear"]]),"material-icons":Bw([[["md"],"material-icons:article"],[["excalidraw.md"],"material-icons:draw"],[["canvas"],"material-icons:dashboard"],[["base"],"material-icons:storage"],[["pdf"],"material-icons:picture_as_pdf"],[["doc","docx","odt","pages"],"material-icons:description"],[["txt","rtf","log"],"material-icons:text_snippet"],[xw,"material-icons:table_chart"],[Ew,"material-icons:slideshow"],[Mw,"material-icons:data_object"],[Rw,"material-icons:image"],[Dw,"material-icons:audio_file"],[Aw,"material-icons:video_file"],[Ow,"material-icons:folder_zip"],[Lw,"material-icons:code"],[zw,"material-icons:settings"]]),phosphor:Bw([[CA,"phosphor:text-aa"],[["md"],"phosphor:markdown-logo"],[["excalidraw.md"],"phosphor:note-pencil"],[["canvas"],"phosphor:layout"],[["base"],"phosphor:database"],[sK,"phosphor:article"],[xw,"phosphor:table"],[Ew,"phosphor:presentation-chart"],[Mw,"phosphor:brackets-curly"],[Rw,"phosphor:image"],[Dw,"phosphor:music-note"],[Aw,"phosphor:video"],[Ow,"phosphor:archive"],[Lw,"phosphor:code"],[zw,"phosphor:gear"]]),"rpg-awesome":Bw([[CA,"rpg-awesome:book"],[["excalidraw.md"],"rpg-awesome:quill-ink"],[["canvas"],"rpg-awesome:crystal-ball"],[["base"],"rpg-awesome:gears"],[sK,"rpg-awesome:scroll-unfurled"],[xw,"rpg-awesome:cog-wheel"],[Ew,"rpg-awesome:crystal-wand"],[Mw,"rpg-awesome:cubes"],[Rw,"rpg-awesome:mirror"],[Dw,"rpg-awesome:ringing-bell"],[Aw,"rpg-awesome:player"],[Ow,"rpg-awesome:ammo-bag"],[Lw,"rpg-awesome:gear-hammer"],[zw,"rpg-awesome:locked-fortress"]])}});function nle(){return{mode:Pa.mode,balanceHueLuminance:Pa.balanceHueLuminance,separateThemeColors:Pa.separateThemeColors,shortcuts:{...Pa.shortcuts},recent:{...Pa.recent},folders:{...Pa.folders},tags:{...Pa.tags},properties:{...Pa.properties}}}var dK,gh,hh,NA,IA,tle,Pa,Le,ko=U(()=>{uw();rh();Mr();Ue();dm();xn();Ot();Xl();Sv();dK=De(void 0);cm.forEach(t=>{dK[t]="synced"});gh="#ef4444",hh="#8b5cf6",NA="#fb7185",IA="#c084fc",tle="#ef000050",Pa={mode:"none",balanceHueLuminance:!0,separateThemeColors:!1,shortcuts:{enabled:!1,firstColor:gh,lastColor:hh,darkFirstColor:gh,darkLastColor:hh,transitionStyle:"rgb"},recent:{enabled:!1,firstColor:gh,lastColor:hh,darkFirstColor:gh,darkLastColor:hh,transitionStyle:"rgb"},folders:{enabled:!0,firstColor:gh,lastColor:hh,darkFirstColor:NA,darkLastColor:IA,transitionStyle:"hue",scope:"root"},tags:{enabled:!1,firstColor:gh,lastColor:hh,darkFirstColor:NA,darkLastColor:IA,transitionStyle:"hue",scope:"root"},properties:{enabled:!1,firstColor:gh,lastColor:hh,darkFirstColor:NA,darkLastColor:IA,transitionStyle:"hue",scope:"root"}};Le={vaultProfiles:[{id:"default",name:"",fileVisibility:Er.SUPPORTED,propertyKeys:[],hiddenFolders:[],hiddenTags:[],hiddenFileNames:[],hiddenFileTags:[],hiddenFileProperties:[],navigationBanner:null,periodicNotesFolder:"",shortcuts:[],navRainbow:nle()}],vaultProfile:"default",vaultTitle:"navigation",syncModes:dK,createNewNotesInNewTab:!1,autoRevealActiveFile:!0,autoRevealShortestPath:!0,autoRevealIgnoreRightSidebar:!0,autoRevealIgnoreOtherWindows:!0,paneTransitionDuration:150,multiSelectModifier:"cmdCtrl",enterToOpenFiles:!1,shiftEnterOpenContext:"tab",cmdCtrlEnterOpenContext:"split",mouseBackForwardAction:"history",startView:"files",showInfoButtons:!0,homepage:{source:"none",file:null,createMissingPeriodicNote:!0},dualPane:!0,dualPaneOrientation:"horizontal",narrowSidebarLayout:"singlePane",narrowSidebarTriggerMode:"fitPanes",narrowSidebarCustomWidth:uh,showTooltips:!1,showTooltipPath:!0,showTooltipWordCount:!1,desktopBackground:"separate",desktopScale:1,mobileScale:1,useFloatingToolbars:!0,toolbarVisibility:{navigation:{toggleDualPane:!0,expandCollapse:!0,calendar:!0,hiddenItems:!0,rootReorder:!0,newFolder:!0},list:{back:!0,search:!0,reveal:!1,descendants:!0,sort:!0,appearance:!0,newNote:!0}},interfaceIcons:De(void 0),colorIconOnly:!1,dateFormat:"MMM D, YYYY",timeFormat:"h:mm a",calendarTemplateFolder:"",confirmBeforeDelete:!0,deleteAttachments:"ask",moveFileConflicts:"ask",externalIconProviders:De(void 0),checkForUpdatesOnStart:!0,pinNavigationBanner:!0,showNoteCount:!0,separateNoteCounts:!0,showIndentGuides:!1,navCountLeaderStyle:"none",rootLevelSpacing:0,navIndent:ol.defaultIndent,navItemHeight:ol.defaultItemHeight,navItemHeightScaleText:!0,collapseBehavior:"all",smartCollapse:!0,excludeVaultRootFromCollapse:!1,collapseOtherBranchesOnExpand:!1,autoSelectFirstFileOnFocusChange:!1,autoExpandNavItems:!1,springLoadedFolders:!0,springLoadedFoldersInitialDelay:.5,springLoadedFoldersSubsequentDelay:.5,showSectionIcons:!0,showShortcuts:!0,shortcutBadgeDisplay:"index",skipAutoScroll:!1,showRecentNotes:!0,hideRecentNotes:"none",pinRecentNotesWithShortcuts:!1,recentNotesCount:5,showFolderIcons:!0,showRootFolder:!0,inheritFolderColors:!0,folderSortOrder:"alpha-asc",enableFolderNotes:!1,folderNoteType:"markdown",folderNoteName:"",folderNoteNamePattern:"",folderNoteTemplate:null,enableFolderNoteLinks:!0,hideFolderNoteInList:!0,pinCreatedFolderNote:!1,folderNoteOpenLocation:"current-tab",showNearestFolderNoteInSidebar:!0,showTags:!0,showTagIcons:!0,showAllTagsFolder:!0,showUntagged:!0,scopeTagsToCurrentContext:!1,tagSortOrder:"alpha-asc",inheritTagColors:!0,keepEmptyTagsProperty:!1,showProperties:!0,showPropertyIcons:!0,inheritPropertyColors:!0,propertySortOrder:"alpha-asc",showAllPropertiesFolder:!0,scopePropertiesToCurrentContext:!1,defaultListMode:"standard",includeDescendantNotes:!1,defaultFolderSort:"modified-desc",propertySortKey:"",propertySortSecondary:"title",manualSortPropertyKey:"sort_index",manualSortGroupHeaderProperty:"group_header",manualSortNewNotePlacement:"below-selected-note",confirmBeforeManualSort:!0,revealFileOnListChanges:!0,listPaneTitle:"header",noteGrouping:"date",showSelectedNavigationPills:!1,stickyGroupHeaders:!0,showFolderGroupPaths:!0,showCurrentFolderFilesAtBottom:!1,filterPinnedByFolder:!1,compactItemHeight:qP.defaultCompactItemHeight,compactItemHeightScaleText:!0,showQuickActions:!0,quickActionRevealInFolder:!1,quickActionAddTag:!0,quickActionAddToShortcuts:!0,quickActionPinNote:!0,quickActionOpenInNewTab:!1,hideDrawingPreviewImages:!0,useFrontmatterMetadata:!1,frontmatterIconField:"icon",frontmatterColorField:"color",frontmatterBackgroundField:"background",frontmatterNameField:"",frontmatterCreatedField:"",frontmatterModifiedField:"",frontmatterDateFormat:"",showFileIconUnfinishedTask:!1,showFileBackgroundUnfinishedTask:!1,unfinishedTaskBackgroundColor:tle,showFileIcons:!0,useFolderIconForFiles:!1,showFilenameMatchIcons:!1,fileNameIconMap:De(void 0),showCategoryIcons:!1,fileTypeIconMap:De(void 0),fileTypeIconPreset:vv,fileNameRows:1,useFolderColorForTitles:!1,showFilePreview:!0,skipHeadingsInPreview:!0,skipCodeBlocksInPreview:!0,stripHtmlInPreview:!0,stripLatexInPreview:!0,previewRows:2,previewProperties:[],previewPropertiesFallback:!0,showFeatureImage:!0,featureImageProperties:[],featureImageExcludeProperties:[],featureImageSize:"64",featureImagePixelSize:"256",forceSquareFeatureImage:!0,downloadExternalFeatureImages:!0,showFileTags:!0,colorFileTags:!0,prioritizeColoredFileTags:!0,showFileTagAncestors:!1,showFileTagsInCompactMode:!1,showFileProperties:!0,colorFileProperties:!0,prioritizeColoredFileProperties:!0,showFilePropertiesInCompactMode:!1,showPropertiesOnSeparateRows:!1,enablePropertyInternalLinks:!0,enablePropertyExternalLinks:!0,textCountDisplay:"none",textCountPlacement:"title",characterCountSpaces:"include",wordCountTargetProperty:"word-goal",showWordCountPercentage:!1,showFileDate:!0,alphabeticalDateMode:"modified",showParentFolder:!0,showParentFolderFullPath:!1,parentFolderClickRevealsFile:!1,showParentFolderColor:!1,showParentFolderIcon:!1,calendarEnabled:!0,calendarPlacement:"left-sidebar",calendarConfirmBeforeCreate:!0,calendarLocale:"system-default",calendarWeekendDays:"sat-sun",calendarMonthHeadingFormat:"full",calendarHighlightToday:!0,calendarShowFeatureImage:!0,calendarMonthHighlights:De(void 0),calendarShowWeekNumber:!1,calendarShowQuarter:!1,calendarShowYearCalendar:!0,calendarLeftPlacement:"navigation",calendarWeeksToShow:1,calendarIntegrationMode:"notebook-navigator",calendarPeriodicNotesLocaleSource:"calendar",calendarCustomFilePattern:hv,calendarCustomWeekPattern:Sw,calendarCustomMonthPattern:ww,calendarCustomQuarterPattern:Tw,calendarCustomYearPattern:kw,calendarCustomFileTemplate:null,calendarCustomWeekTemplate:null,calendarCustomMonthTemplate:null,calendarCustomQuarterTemplate:null,calendarCustomYearTemplate:null,searchProvider:"internal",keyboardShortcuts:hA(),customVaultName:"",pinnedNotes:De(void 0),collapsedPinnedContexts:De(void 0),fileIcons:De(void 0),fileColors:De(void 0),fileBackgroundColors:De(void 0),folderIcons:De(void 0),folderColors:De(void 0),folderBackgroundColors:De(void 0),folderSortOverrides:De(void 0),folderTreeSortOverrides:De(void 0),folderAppearances:De(void 0),tagIcons:De(void 0),tagColors:De(void 0),tagBackgroundColors:De(void 0),tagSortOverrides:De(void 0),tagTreeSortOverrides:De(void 0),tagAppearances:De(void 0),propertyIcons:De(void 0),propertyColors:De(void 0),propertyBackgroundColors:De(void 0),propertySortOverrides:De(void 0),propertyTreeSortOverrides:De(void 0),propertyAppearances:De(void 0),virtualFolderColors:De(void 0),virtualFolderBackgroundColors:De(void 0),navigationSeparators:De(void 0),userColors:[...cw],lastShownVersion:"",rootFolderOrder:[],rootTagOrder:[],rootPropertyOrder:[]}});function Pt(t,e,n){let r={type:"group",items:e};return(0,Bu.requireApiVersion)("1.13.0")&&t&&(r.heading=t),(0,Bu.requireApiVersion)("1.13.0")&&n?.visible!==void 0&&(r.visible=n.visible),r}function xA(t,e){let n={type:"toggle",key:t,defaultValue:e.defaultValue};return IC(n,e),NC({...e,control:n})}function et(t,e){return xA(t,{...e,defaultValue:Le[t]})}function EA(t,e){let n={type:"dropdown",key:t,defaultValue:e.defaultValue,options:e.options,validate:e.validate};return IC(n,e),NC({name:e.name,desc:e.desc,aliases:e.aliases,searchable:e.searchable,visible:e.visible,control:n})}function Gr(t,e){return EA(t,{...e,defaultValue:e.defaultValue??Le[t]})}function ile(t,e){let n={type:"text",key:t,defaultValue:e.defaultValue,placeholder:e.placeholder,validate:e.validate};return IC(n,e),NC({...e,control:n})}function MA(t,e){return ile(t,{...e,defaultValue:e.defaultValue??Le[t]})}function mK(t,e){let n={type:"folder",key:t,defaultValue:e.defaultValue??Le[t],placeholder:e.placeholder,validate:e.validate,filter:e.filter,includeRoot:e.includeRoot};return IC(n,e),NC({name:e.name,desc:e.desc,aliases:e.aliases,searchable:e.searchable,visible:e.visible,control:n})}function _e(t){let e={name:t.name,desc:t.desc,render:(n,r)=>t.render(n,r)};return(0,Bu.requireApiVersion)("1.13.0")&&t.aliases&&(e.aliases=t.aliases),(0,Bu.requireApiVersion)("1.13.0")&&t.searchable!==void 0&&(e.searchable=t.searchable),(0,Bu.requireApiVersion)("1.13.0")&&t.visible!==void 0&&(e.visible=t.visible),e}function RA(t){return cK.has(t)||uK.has(t)}function gK(t,e){return t[e]}function hK(t,e,n){if(sle(e))return typeof n!="boolean"?!1:(t[e]=n,!0);if(lle(e)){if(typeof n!="string")return!1;let r=ale[e];return r&&!r.includes(n)?!1:(dle(t,e,cle(e,n)),!0)}return!1}function NC(t){let e={name:t.name,desc:t.desc,control:t.control};return(0,Bu.requireApiVersion)("1.13.0")&&t.aliases&&(e.aliases=t.aliases),(0,Bu.requireApiVersion)("1.13.0")&&t.searchable!==void 0&&(e.searchable=t.searchable),(0,Bu.requireApiVersion)("1.13.0")&&t.visible!==void 0&&(e.visible=t.visible),e}function IC(t,e){e.disabled!==void 0&&(t.disabled=e.disabled)}function sle(t){return cK.has(t)}function lle(t){return uK.has(t)}function dle(t,e,n){let r=t;r[e]=n}function cle(t,e){return t==="calendarTemplateFolder"?Ri(e):e}var Bu,rle,ole,cK,uK,ale,pK,Ca=U(()=>{Bu=require("obsidian");ko();Xl();rle=["confirmBeforeDelete","showFolderIcons","showRootFolder","inheritFolderColors","enableFolderNotes","enableFolderNoteLinks","hideFolderNoteInList","pinCreatedFolderNote","showNearestFolderNoteInSidebar","showTags","showTagIcons","showAllTagsFolder","showUntagged","scopeTagsToCurrentContext","inheritTagColors","keepEmptyTagsProperty","showProperties","showPropertyIcons","inheritPropertyColors","showAllPropertiesFolder","scopePropertiesToCurrentContext","showSectionIcons","showShortcuts","skipAutoScroll","showRecentNotes","pinRecentNotesWithShortcuts","calendarEnabled","calendarConfirmBeforeCreate","calendarHighlightToday","calendarShowFeatureImage","calendarShowWeekNumber","calendarShowQuarter","calendarShowYearCalendar","useFrontmatterMetadata","checkForUpdatesOnStart","showFileIconUnfinishedTask","showFileBackgroundUnfinishedTask","showFileIcons","useFolderIconForFiles","showFilenameMatchIcons","showCategoryIcons","useFolderColorForTitles","showFilePreview","skipHeadingsInPreview","skipCodeBlocksInPreview","stripHtmlInPreview","stripLatexInPreview","previewPropertiesFallback","showFeatureImage","forceSquareFeatureImage","downloadExternalFeatureImages","showFileTags","colorFileTags","prioritizeColoredFileTags","showFileTagAncestors","showFileTagsInCompactMode","showFileProperties","colorFileProperties","prioritizeColoredFileProperties","showFilePropertiesInCompactMode","showPropertiesOnSeparateRows","enablePropertyInternalLinks","enablePropertyExternalLinks","showFileDate","showParentFolder","showParentFolderFullPath","parentFolderClickRevealsFile","showParentFolderColor","showParentFolderIcon","showWordCountPercentage","showSelectedNavigationPills","stickyGroupHeaders","showFolderGroupPaths","showCurrentFolderFilesAtBottom","confirmBeforeManualSort","filterPinnedByFolder","revealFileOnListChanges","hideDrawingPreviewImages","showNoteCount","separateNoteCounts","showIndentGuides","smartCollapse","excludeVaultRootFromCollapse","collapseOtherBranchesOnExpand","autoSelectFirstFileOnFocusChange","autoExpandNavItems","springLoadedFolders"],ole=["deleteAttachments","moveFileConflicts","folderNoteType","folderNoteName","folderNoteNamePattern","folderNoteOpenLocation","shortcutBadgeDisplay","hideRecentNotes","calendarWeekendDays","calendarMonthHeadingFormat","calendarTemplateFolder","navCountLeaderStyle","textCountDisplay","textCountPlacement","characterCountSpaces","alphabeticalDateMode","listPaneTitle","defaultListMode","defaultFolderSort","noteGrouping","propertySortSecondary","manualSortNewNotePlacement","collapseBehavior"],cK=new Set(rle),uK=new Set(ole),ale={deleteAttachments:["ask","always","never"],moveFileConflicts:["ask","rename"],folderNoteType:["ask","markdown","canvas","base"],folderNoteOpenLocation:["current-tab","new-tab","right-sidebar"],shortcutBadgeDisplay:["index","count","none"],hideRecentNotes:["none","folder-notes"],calendarWeekendDays:["none","sat-sun","fri-sat","thu-fri"],calendarMonthHeadingFormat:["full","short"],navCountLeaderStyle:["none","dots","dashes","line"],textCountDisplay:["none","words","characters","both"],textCountPlacement:["title","property"],characterCountSpaces:["include","exclude"],alphabeticalDateMode:["created","modified"],listPaneTitle:["header","list","hidden"],defaultListMode:["standard","compact"],defaultFolderSort:["modified-desc","modified-asc","created-desc","created-asc","title-asc","title-desc","filename-asc","filename-desc"],noteGrouping:["custom","date","folder"],propertySortSecondary:["title","filename","created","modified"],manualSortNewNotePlacement:["top","bottom","below-selected-note","unsorted"],collapseBehavior:["all","folders-only","tags-only","properties-only"]},pK=new Set(["enableFolderNotes","showTags","showProperties","showShortcuts","showRecentNotes","useFrontmatterMetadata","folderNoteOpenLocation","showFileBackgroundUnfinishedTask","showFileIcons","showFilenameMatchIcons","showCategoryIcons","showFilePreview","showFeatureImage","showFileTags","colorFileTags","showFileProperties","colorFileProperties","showFileDate","showParentFolder","textCountDisplay","showNoteCount","springLoadedFolders"])});function St(t,e,n,r){let o=a=>{Q(()=>n(a))};return t.addEventListener(e,o,r),()=>t.removeEventListener(e,o,r)}var Ql=U(()=>{ot()});function xC(t,e){return t?.getAttribute(e)??null}function ule(t){let e=t.target;return e instanceof HTMLElement?e.tagName==="INPUT"||e.tagName==="TEXTAREA"||e.isContentEditable:!1}function _u(t){if(ule(t))return!0;if(typeof document>"u")return!1;let e=activeDocument.activeElement;return e instanceof HTMLElement&&e.closest(".modal-container")!==null}function Di(t){try{t.focus({preventScroll:!0})}catch{t.focus()}}function Sm(){return typeof document>"u"||!activeDocument.body?"right":activeDocument.body.classList.contains("mod-rtl")?"left":"right"}var os=U(()=>{});function ple(t){return!(typeof t!="function"||!("fn"in t)||typeof t.fn!="object"||t.fn===null||!("utc"in t)||typeof t.utc!="function")}function qr(){if(EC!==void 0)return EC;if(typeof window>"u")return null;let t=window.moment;return ple(t)?(EC=t,EC):null}function mle(t){return fK===t&&MC||(fK=t,MC=new Set(t.locales())),MC}function gle(t){return vK===t&&RC||(vK=t,RC=new Map),RC}function _w(t,e,n){if(!e)return n||"en";let r=`${t}::${n}`,o=gle(e),a=o.get(r);if(a)return a;let i=mle(e),s=(t||"").replace(/_/g,"-");if(i.has(s))return o.set(r,s),s;let l=s.toLowerCase();if(i.has(l))return o.set(r,l),l;let c=l.split("-")[0];if(c&&i.has(c))return o.set(r,c),c;if(c){let p=`${c}-`,m=Array.from(i).filter(g=>g.toLowerCase().startsWith(p));if(m.length>0){m.sort((f,h)=>f.length-h.length||f.localeCompare(h));let g=m[0]??(n||e.locale()||"en");return o.set(r,g),g}}let u=n||e.locale()||"en";return o.set(r,u),u}function Hu(t,e,n=Ei()){let r=e?.locale()||"en",o=(n||r).replace(/_/g,"-"),a=_w(o,e,r),s=_w(t==="system-default"?a:t,e,a);return{displayLocale:a,calendarRulesLocale:s}}function Lc(t){let e=t?.locale()||"en";return _w(e,t,e)}function Vu(t,e,n){return t==="obsidian"?Lc(n):e}var EC,MC,fK,RC,vK,Bd=U(()=>{Ee();MC=null,fK=null,RC=null,vK=null});var DC,zr,Zl=U(()=>{Ee();Bd();DC="YYYY-MM-DD[T]HH:mm:ssZ",zr=class t{static normalizeLanguageCode(e){return e?e.replace(/_/g,"-").toLowerCase():"en"}static{this.lowercaseMonthLanguages=new Set(["es","fr","no","nb","pt","pt-br","it","nl","sv","da","fi","pl","cs","ca","ro"])}static getObsidianLanguage(){return Ei()||"en"}static getNormalizedLanguage(){return t.normalizeLanguageCode(t.getObsidianLanguage())}static getMomentLocale(e){let n=t.getObsidianLanguage(),r=e.locale()||"en",o=(n||r).replace(/_/g,"-");return _w(o,e,r)}static formatWithFallback(e,n,r){let o=qr();if(!o)return r==="time"?e.toLocaleTimeString():e.toLocaleDateString();let a=t.getMomentLocale(o),i=o(e).locale(a);return i.isValid()?i.format(n):r==="time"?e.toLocaleTimeString():e.toLocaleDateString()}static formatDate(e,n){let r=new Date(e);return t.formatWithFallback(r,n,"date")}static formatLocalizedMonthDay(e,n){return new Intl.DateTimeFormat(n||void 0,{month:"long",day:"numeric"}).format(e)}static capitalizeFirst(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}static normalizeMeridiemSpacing(e,n){return n.startsWith("zh")?e.replace(/(上午|下午|中午|凌晨|晚上)(\d)/g,"$1 $2"):e}static parseLocalDayKey(e){let[n,r,o]=e.split("-"),a=Number(n),i=Number(r),s=Number(o);if(!Number.isFinite(a)||!Number.isFinite(i)||!Number.isFinite(s))return null;let l=new Date(a,i-1,s,12,0,0,0);return Number.isFinite(l.getTime())?l:null}static getDateGroupInfo(e,n){let r=n&&Number.isFinite(n.getTime())?n:new Date,o=new Date(e),a=new Date(r.getFullYear(),r.getMonth(),r.getDate()),i=new Date(a);i.setDate(i.getDate()-1);let s=new Date(a);s.setDate(s.getDate()-7);let l=new Date(a);l.setDate(l.getDate()-30);let c=new Date(o.getFullYear(),o.getMonth(),o.getDate());if(c.getTime()===a.getTime())return{label:d.dateGroups.today,key:"relative:today"};if(c.getTime()===i.getTime())return{label:d.dateGroups.yesterday,key:"relative:yesterday"};if(c>s)return{label:d.dateGroups.previous7Days,key:"relative:previous-7-days"};if(c>l)return{label:d.dateGroups.previous30Days,key:"relative:previous-30-days"};if(o.getFullYear()===r.getFullYear()){let p=t.getNormalizedLanguage(),m=qr(),g;if(m){let h=t.getMomentLocale(m);g=m(o).locale(h).format("MMMM")}else g=o.toLocaleString(void 0,{month:"long"});t.lowercaseMonthLanguages.has(p)&&(g=t.capitalizeFirst(g));let f=String(o.getMonth()+1).padStart(2,"0");return{label:g,key:`month:${o.getFullYear()}-${f}`}}let u=o.getFullYear().toString();return{label:u,key:`year:${u}`}}static getDateGroup(e,n){return t.getDateGroupInfo(e,n).label}static formatDateForGroup(e,n,r,o){let a=new Date(e);return n===d.dateGroups.today||n===d.dateGroups.yesterday?t.formatWithFallback(a,o,"time"):n===d.dateGroups.previous7Days?t.formatWithFallback(a,"dddd","date"):t.formatDate(e,r)}static getFileTimestamp(e,n,r,o){if(o?.useFrontmatterMetadata&&r){let a=n==="created"?r.fc:r.fm;if(a!==void 0)return a}return n==="created"?e.stat.ctime:e.stat.mtime}static parseFrontmatterDate(e,n){if(e)try{if(e instanceof Date)return e.getTime();if(typeof e=="number")return e<3250368e4?e*1e3:e;if(typeof e=="string"){let r=t.getNormalizedLanguage(),o=e.trim(),a=t.normalizeMeridiemSpacing(o,r),i=qr();if(!i){if(!n||!n.trim()){let c=Date.parse(a);return Number.isFinite(c)?c:void 0}return}let s=t.getMomentLocale(i);if(!n||!n.trim()){let c="ISO_8601"in i?i.ISO_8601:void 0;if(!c)return;let u=i(a,c,!0).locale(s);return u.isValid()?u.toDate().getTime():void 0}let l=i(a,n,s,!0);return l.isValid()?l.toDate().getTime():void 0}}catch{}}}});function AC(t){try{let e=new URL(t),n=e.hostname.toLowerCase().replace(/\.+$/u,""),r=e.pathname,o=e.searchParams;if(n==="youtu.be")return r.slice(1);if(n==="youtube.com"||n.endsWith(".youtube.com")){if(r==="/watch")return o.get("v");if(r.startsWith("/embed/")||r.startsWith("/v/")||r.startsWith("/shorts/"))return r.split("/")[2];if(r==="/playlist")return o.get("v")}return null}catch{return null}}function Hw(t,e){return`${e.endsWith(".webp")?"https://i.ytimg.com/vi_webp":"https://img.youtube.com/vi"}/${t}/${e}`}var OC=U(()=>{});var Vw={};In(Vw,{WhatsNewModal:()=>DA});var wv,DA,Uw=U(()=>{wv=require("obsidian");jl();Ee();Ql();os();Zl();OC();DA=class extends wv.Modal{constructor(n,r,o){super(n);this.thanksButton=null;this.domDisposers=[];this.releaseNotes=r,this.onCloseCallback=o}normalizeTextBreaks(n){return n.replace(/\r\n?/g,`
`).replace(/<br\s*\/?>/gi,`
`)}renderFormattedText(n,r){let o=(i,s)=>{let l=/==([\s\S]*?)==|\[([^\]]+)\]\((https?:\/\/[^\s)]+)\)|`([^`]+)`|\*\*([^*]+)\*\*|(https?:\/\/[^\s]+)/g,c=0,u,p=m=>{m.length>0&&s.appendText(m)};for(;(u=l.exec(i))!==null;){if(p(i.slice(c,u.index)),u[1]){let m=s.createSpan({cls:"nn-highlight"});o(u[1],m)}else if(u[2]&&u[3]){let m=s.createEl("a",{text:u[2]});m.setAttr("href",u[3]),m.setAttr("rel","noopener noreferrer"),m.setAttr("target","_blank")}else if(u[4])s.createEl("code",{text:u[4]});else if(u[5])s.createEl("strong",{text:u[5]});else if(u[6]){let m=u[6],g="",f=m.match(/[.,;:!?)]+$/);f&&(g=f[0],m=m.slice(0,-g.length));let h=s.createEl("a",{text:m});h.setAttr("href",m),h.setAttr("rel","noopener noreferrer"),h.setAttr("target","_blank"),g&&p(g)}c=l.lastIndex}p(i.slice(c))},a=this.normalizeTextBreaks(r).split(`
`);for(let i=0;i<a.length;i++)o(a[i],n),i<a.length-1&&n.createEl("br")}renderInfoText(n,r){let o=this.normalizeTextBreaks(r).trim();if(o.length===0)return;o.split(/\n[ \t]*\n+/).map(i=>i.trim()).filter(i=>i.length>0).forEach(i=>{let s=n.createEl("p",{cls:"nn-whats-new-info"});this.renderFormattedText(s,i)})}renderReleaseBanner(n,r,o){let a;if(o){let s=n.createEl("a",{cls:"nn-whats-new-banner"});s.setAttr("href",r),s.setAttr("rel","noopener noreferrer"),s.setAttr("target","_blank"),s.setAttr("aria-label",d.whatsNew.openBannerImage),a=s}else a=n.createDiv({cls:"nn-whats-new-banner"});let i=a.createEl("img",{cls:"nn-whats-new-banner-image"});i.setAttr("alt",""),i.setAttr("loading","lazy"),i.setAttr("decoding","async"),i.addEventListener("error",()=>{a.remove()}),i.src=r}renderReleaseVideo(n,r,o){let a=n.createDiv({cls:"nn-whats-new-video-frame"}),i=a.createEl("video",{cls:"nn-whats-new-video"});if(i.autoplay=!0,i.defaultMuted=!0,i.loop=!0,i.muted=!0,i.playsInline=!0,i.preload="auto",i.setAttr("autoplay",""),i.setAttr("loop",""),i.setAttr("muted",""),i.setAttr("playsinline",""),i.setAttr("webkit-playsinline",""),i.addEventListener("error",()=>{a.remove()}),i.src=r,o){let s=a.createEl("a",{cls:"nn-whats-new-video-open"});s.setAttr("href",o),s.setAttr("rel","noopener noreferrer"),s.setAttr("target","_blank"),s.setAttr("aria-label",d.modals.welcome.openVideoButton),(0,wv.setIcon)(s,"external-link")}}renderYoutubeLink(n,r){let o=n.createEl("a",{cls:"nn-whats-new-youtube-link"});o.setAttr("href",r),o.setAttr("rel","noopener noreferrer"),o.setAttr("target","_blank"),o.setAttr("aria-label",d.modals.welcome.openVideoButton);let a=o.createDiv({cls:"nn-whats-new-youtube-thumbnail"}),i=AC(r);if(i){let s=a.createEl("img",{cls:"nn-whats-new-youtube-image"});s.setAttr("alt",d.modals.welcome.openVideoButton),s.setAttr("loading","lazy");let l=Hw(i,"maxresdefault.jpg"),c=Hw(i,"hqdefault.jpg"),u=!1;s.addEventListener("error",()=>{u||(u=!0,s.src=c)}),s.src=l}else a.createDiv({cls:"nn-whats-new-youtube-placeholder",text:d.modals.welcome.openVideoButton});a.createDiv({cls:"nn-whats-new-youtube-play"}).setAttr("aria-hidden","true")}onOpen(){let{contentEl:n}=this;n.empty(),this.modalEl.addClass("nn-whats-new-modal"),this.titleEl.setText(d.whatsNew.title),this.attachCloseButtonHandler();let r=n.createDiv("nn-whats-new-scroll"),o=(Ei()||"en").replace(/_/g,"-");this.releaseNotes.forEach(u=>{let p=r.createDiv("nn-whats-new-version"),m=`Version ${u.version}`,g=zr.parseLocalDayKey(u.date);if(g){let v=zr.formatLocalizedMonthDay(g,o);m=`${m} (${v})`}p.createEl("h3",{text:m});let f=vU(u.bannerUrl,u.version);f&&this.renderReleaseBanner(p,f,u.bannerClickable===!0);let h=yU(u.videoUrl,u.version);if(h){let v=u.videoClickable===!0?bU(u.videoUrl,u.version):null;this.renderReleaseVideo(p,h,v)}u.youtubeUrl&&this.renderYoutubeLink(p,u.youtubeUrl),u.info&&this.renderInfoText(p,u.info),[{key:"new",label:"New"},{key:"improved",label:"Improved"},{key:"changed",label:"Changed"},{key:"fixed",label:"Fixed"}].forEach(v=>{let y=u[v.key];if(y&&y.length>0){p.createEl("h4",{text:v.label,cls:"nn-whats-new-category"});let S=p.createEl("ul",{cls:"nn-whats-new-features"});y.forEach(w=>{let k=S.createEl("li");this.renderFormattedText(k,w)})}})}),n.createDiv("nn-whats-new-divider"),n.createDiv("nn-whats-new-support").createEl("p",{text:d.whatsNew.supportMessage,cls:"nn-whats-new-support-text"});let i=n.createDiv("nn-whats-new-buttons"),s=i.createEl("button",{cls:"nn-support-button-small"});s.setAttr("type","button");let l=s.createSpan({cls:"nn-support-button-icon"});l.setAttr("aria-hidden","true"),l.setText("☕"),s.createSpan({cls:"nn-support-button-label",text:d.whatsNew.supportButton}),this.domDisposers.push(St(s,"click",()=>{window.open(dw)}));let c=i.createEl("button",{text:d.whatsNew.thanksButton,cls:"mod-cta"});this.domDisposers.push(St(c,"click",()=>{this.close()})),this.thanksButton=c}open(){super.open(),this.thanksButton&&!wv.Platform.isMobile&&window.requestAnimationFrame(()=>{this.thanksButton&&Di(this.thanksButton)})}onClose(){let{contentEl:n}=this;n.empty(),this.modalEl.removeClass("nn-whats-new-modal"),this.domDisposers.length&&(this.domDisposers.forEach(r=>{try{r()}catch(o){console.error("Error disposing what's new modal listener:",o)}}),this.domDisposers=[]),this.onCloseCallback&&this.onCloseCallback()}attachCloseButtonHandler(){let n=this.modalEl.querySelector(".modal-close-button");if(!n)return;let r=o=>{o.preventDefault(),this.close()};this.domDisposers.push(St(n,"click",r)),this.domDisposers.push(St(n,"pointerdown",r))}}});function _d(t,e){let n=t.split(".").map(Number),r=e.split(".").map(Number);for(let o=0;o<Math.max(n.length,r.length);o++){let a=n[o]||0,i=r[o]||0;if(a>i)return 1;if(a<i)return-1}return 0}var Kw=U(()=>{});var Ww={};In(Ww,{compareVersions:()=>_d,getLatestReleaseNotes:()=>yK,getReleaseNotesBetweenVersions:()=>hle,isReleaseAutoDisplayEnabled:()=>AA,shouldAutoDisplayReleaseNotesForUpdate:()=>fle});function hle(t,e){let n=Uu.findIndex(i=>i.version===t),r=Uu.findIndex(i=>i.version===e);if(n===-1||r===-1)return yK();let o=Math.min(n,r),a=Math.max(n,r);return Uu.slice(o,a+1)}function yK(t=5){return Uu.slice(0,t)}function AA(t){let e=Uu.find(n=>n.version===t);return e?e.showOnUpdate!==!1:!0}function fle(t,e){if(_d(e,t)<=0)return AA(e);let n=Uu.findIndex(a=>a.version===t),r=Uu.findIndex(a=>a.version===e),o=n===-1||r===-1?Uu.filter(a=>_d(a.version,t)>0&&_d(a.version,e)<=0):Uu.slice(Math.min(n,r),Math.max(n,r));return o.length===0?AA(e):o.some(a=>a.showOnUpdate!==!1)}var Uu,jw=U(()=>{Kw();Kw();Uu=[{version:"3.2.2",date:"2026-06-30",showOnUpdate:!1,info:"Quick fix to make drag and drop work again with external images."},{version:"3.2.1",date:"2026-06-29",showOnUpdate:!0,bannerUrl:!0,info:"You can now **rename files, tags and properties inline** using Enter (macOS) or F2 (Windows and Linux)! And we got more optimizations! This release significantly reduces **preview work while typing** and also improves **drag and drop performance**. Previously there were lots of processing happening in the background every time Obsidian updated the current file when typing, now all actions are heavily gated.",new:["**Inline rename.** ==Rename files, folders, tags, and properties inline== with Enter on macOS or F2 on Windows/Linux. The keyboard command is customizable with the `pane:rename` action.","**Manual sort.** Manual-sort movement now uses the custom hotkey actions `list:manual-sort-up` and `list:manual-sort-down`. Defaults remain `Mod+ArrowUp` and `Mod+ArrowDown`.","**File icons.** New setting: ==File icon preset== in Notes > Icons by file type. You can now pick default file icons from one of the installed icon packs.","**Navigation pane.** New setting ==Skip vault root when collapsing== in Navigation pane > Collapse items. When collapsing all items, the vault root folder keeps its current state."],improved:["**Navigation pane.** Root item spacing now supports values up to `12px`.","**Performance.** Significantly improved drag and drop performance! Drag previews now use browser-native drag images instead of a JavaScript element that follows the pointer.","**Performance.** Significantly improved performance when typing in the current note."],changed:["**Merge notes.** Source notes are no longer moved to trash by default. Select the option in the merge dialog to move them to trash."],fixed:["**Manual sort.** Fixed a problem with manual sort when **Show notes from subfolders / descendants** was enabled. For example, a parent folder could have note `1`, a subfolder with notes `2.0` and `2.1`, and then note `3`. After manually sorting the subfolder notes, the parent folder could show `2.0`, `2.1`, `1`, `3` instead of `1`, `2.0`, `2.1`, `3`. The parent folder now keeps the correct order after sorting notes inside the subfolder.","**Properties.** Fixed property value assignment writing the display label instead of the original frontmatter link value. Values such as `[[Mini-Tasks]]` now keep the `Mini-Tasks` label while assigning writes `[[Mini-Tasks]]`.","**List pane.** Fixed Reveal file not scrolling to notes inside collapsed list groups or the collapsed pinned section."]},{version:"3.2.0",date:"2026-06-21",showOnUpdate:!0,bannerUrl:!0,info:"**This release makes Notebook Navigator start MUCH faster!** Most feature code now loads the first time you use a feature instead of while Obsidian starts up, and several background tasks no longer run during plugin load. Many users will see almost a tenfold improvement to startup time.",new:["==New icon and color picker!== Redesigned and merged the icon and color pickers into a unified panel with preview, saturation/value rectangle and a new hue slider.","Added a ==Reveal file== button in the list pane toolbar. Default disabled, enable it with Settings > Appearance & behavior > Toolbar buttons."],improved:["**Startup speed.** The code that runs commands now loads the first time you run a command instead of during startup.","**Startup speed.** The navigator and calendar views now load their code when Obsidian opens them instead of during startup.","**Startup speed.** The settings screen now loads when you open settings instead of during startup.","**Startup speed.** Detecting folder notes no longer loads the full folder note creation and opening code during startup.","**Startup speed.** The emoji keyword database now loads when you search emoji or show emoji icon names instead of during startup.","**Startup speed.** External icon packs now initialize only when you have enabled or are managing them instead of during startup.","**Startup speed.** Preview text now fills in when it is first shown instead of running a background scan during startup.","**Startup speed.** Non-English languages now load their translation directly instead of loading English first and then merging.","**Startup speed.** The version check no longer loads the full release notes during startup.","Navigate to folder, Navigate to tag, and Navigate to property now keep the current single-pane view after selection."],fixed:["**Calendar.** Fixed stale task indicators in the right-sidebar calendar when the main Notebook Navigator view was closed."]},{version:"3.1.4",date:"2026-06-15",showOnUpdate:!0,videoUrl:!0,videoClickable:!0,new:["When resizing the sidebar, Notebook Navigator can now automatically switch between dual pane, vertical split, and single pane. Configure this with ==When sidebar is too narrow== in Settings > Appearance & behavior > Desktop appearance.","New setting ==One expanded branch== in Settings > Navigation pane. Enable to automatically collapse other branches in the same tree when expanding a folder, tag, or property."],improved:["**Folder notes.** You can now use Canvas and Base files as templates for folder notes."],fixed:["**Navigation pane.** Pinned shortcuts disappeared on iOS/iPadOS because of a WebKit paint bug.","**List pane.** Notes embedded in Canvas files were opening in a separate notes tab while typing.",'**List pane.** When grouping by subfolders, folder groups incorrectly got truncated to "MyF... / SubF..." instead of "MyFolder / Su...".']},{version:"3.1.2",date:"2026-06-07",showOnUpdate:!1,new:["**Settings.** New setting ==Folder grouping: current folder files at bottom== in List pane > Organization. Enable to show files in current folder on bottom when grouping by folder."],fixed:["**Calendar.** Fixed quarterly note indicator alignment with monthly and yearly note indicators.","**Calendar.** Fixed periodic note template buttons and descriptions initially missing in Obsidian 1.13.","**Folder notes.** Fixed Templater integration for folder note templates. The Folder notes settings now also show Templater plugin status.","**Folder notes.** Fixed right-sidebar folder note cleanup closing unrelated right sidebar panels. Users could see Properties, Backlinks, or other right sidebar panels close after toggling the pinned notes header or changing folders.","**Build.** Added workaround for Obsidian code scanner incorrectly flagging properly implemented Obsidian 1.13 support as error."]},{version:"3.1.0",date:"2026-06-07",showOnUpdate:!0,bannerUrl:!0,bannerClickable:!0,info:`This version adds two fantastic new features: ==Open folder notes in right sidebar== and ==Right sidebar: Show closest folder note==. When these settings are enabled, selecting a folder will now automatically open its folder note or the closest ancestor folder note in the right sidebar! Super useful for scratch pads related to different areas of your vault.

This release also includes dozens of ==list pane and navigation pane performance improvements==. Notebook Navigator now does less work when scrolling and moving through notes, folders, tags and properties. Give it a try and let me know if you notice any difference!`,new:["**Commands.** New command ==Collapse / expand selected item== to toggle the selected navigation item.","**Settings.** New setting ==Open folder notes in right sidebar== to Settings > Folders & folder notes.","**Settings.** New setting ==Right sidebar: Show closest folder note==. When a folder is selected, the right sidebar automatically shows the nearest ancestor folder note.","**Settings.** New setting ==Pinned notes icon== to Settings > Appearance & behavior > Interface icons. This icon is displayed next to the Pinned items group header if set, default not set.","**Settings.** New setting ==Show subfolder paths== in List pane > Group headers. Default enabled, disable to only show folder names when grouping by folder.","**Settings.** New setting ==Show leaders== in Navigation pane > Appearance. Choose dots, dashes, or a line between item names and note counts. Makes navigation pane look like a Table of Contents.","**Style settings.** Two new style settings; ==Indent guide color and Leader color== to customize the colors of indent guides and leaders."],improved:["**Folder notes.** The vault root can now have a folder note. Default naming uses the vault name.","**List pane.** Individual folder group path segments are now clickable when subfolder paths are shown.","**List pane.** Lots of rendering performance improvements in the list pane.","**Navigation pane.** Lots of rendering performance improvements in the navigation pane.","**Icon packs.** Simple Icons was updated to 16.22, adding 9 brand icons."],changed:["**Feature images.** Breaking change! ==SVG images are no longer supported as feature images==. Large SVG images with embedded bitmaps were causing performance and memory issues for some users so this was disabled until further notice. As a result the cache will be rebuilt on startup.","**List pane.** Standard mode now keeps the standard row layout when date, preview, and feature image are hidden. Compact layout is only used when list mode is Compact."],fixed:["**Calendar.** Fixed Templater integration for notes created from the calendar.","**List pane.** Fixed quick actions not reappearing after switching from Notebook Navigator to another left sidebar tab and back.","**Commands.** Fixed Cmd+W accidentally closing Notebook Navigator after focusing the sidebar with the Notebook Navigator: Open command."]},{version:"3.0.2",date:"2026-05-29",showOnUpdate:!0,bannerUrl:!0,info:"Settings search, finally! Obsidian 1.13 introduced a completely new Settings window that stays open and supports text search. All settings in Notebook Navigator have been meticulously rewritten to fully support this new structure, while still providing support for older versions like 1.11 and 1.12. Give it a try and let me know how you like it.",new:["**Settings.** Notebook Navigator now support the new ==Obsidian 1.13 settings API==, including the new Settings dialog and settings search."],improved:["**List pane.** File tag and property pills now follow the navigation pane sort order. Colored items are still showing first if that setting is enabled.","**List pane.** Folder grouping now uses each file's actual parent folder. Descendant headers show the full path relative to the selected folder."],fixed:["**List pane.** Fixed parent folder labels missing from notes in property views when **Show parent folder** was enabled.","**List pane.** Fixed delete selecting the wrong next note when folder grouping and descendant notes were enabled."]},{version:"3.0.1",date:"2026-05-26",showOnUpdate:!0,bannerUrl:!0,info:'Notebook Navigator should start quickly on all devices. If you feel Notebook Navigator starts slowly, then please enable the new setting "Startup debug logging", restart, review the generated markdown file, and upload it to https://github.com/johansan/notebook-navigator as a bug report and I will take a look at it.',new:['**List pane.** You can now ==merge notes in the list pane==! Right click several files or a group header to create a new note from selected files. You can also use it through the command "Merge notes".',"**List pane.** ==Files can show character counts==, with or without spaces. Enable it in Settings > Notes > Word and character count.","**Startup.** New setting ==Startup debug logging==. Enable this in Advanced settings if you experience slow startup times, then review and upload the debug file to our GitHub page."],changed:["**Settings.** Settings structure was rewritten for easier navigation. You can now navigate to all sub pages from the first settings page."],improved:["**Shortcuts.** Search shortcuts can now be renamed from the context menu.","**List pane.** The **Edit sort order...** mode now fully supports keyboard navigation, including CMD+arrow up / down."],fixed:["**Navigation pane.** Fixed duplicated folder rows showing after folders were copied into the vault while Obsidian was open."]},{version:"3.0.0",date:"2026-05-18",showOnUpdate:!0,info:"This update finally brings manual sort to the list pane! If you are a writer used to working with Ulysses or Scrivener, this should make your daily life much easier.",youtubeUrl:"https://youtu.be/OCx4v5gJkXE",new:["**Manual sort.** ==New manual sorting mode in list pane.== You can now arrange notes in any order you want. The position is saved as a numeric index value in a frontmatter property, and works in single folders as well as with **Show notes from descendants** enabled.","**Manual sort.** You can reorder notes directly in the list pane. Select one or more notes and press Cmd/Ctrl + Arrow Up/Down. Or pick **Edit sort order...** from the sort menu to open a dedicated drag-and-drop view, which supports multi-select on desktop and touch on mobile.","**Manual sort.** New setting: List > Manual sort > ==New note placement== controls where new notes are added when manual sort is active: Top, Bottom, Below selected note, or Unsorted. Default is below selected note.",'**List pane.** ==Custom group headers==. Set group mode to "Custom" then create or edit group headers by right clicking files in list pane.',"**List pane.** ==Word count targets==. Custom group headers can show total word count and progress against a target word count, similar to writing targets in Scrivener.","**List pane.** ==Group headers can now be collapsed.== Click the chevron next to a group header to collapse or expand it.","**Recent files.** You can now drag items from recent files into shortcuts, folders, tags and properties.","**Calendar.** New setting Calendar > Calendar integration > ==Periodic notes locale== controls whether Notebook Navigator periodic note paths use the selected calendar locale or Obsidian locale."],improved:["**List pane.** ==Word count display== now supports title placement, property placement, target word counts, and target percentage display. Change it in List > Notes > Word count."],changed:['**Settings.** "Property to sort by" was renamed to ==Properties to sort by==. It now takes a comma-separated list of frontmatter properties, and each one shows up as its own option in the list pane sort menu.'],fixed:["**Commands.** When **Notebook Navigator: Delete files** was called and the navigation pane was last focused, it could delete the selected folder. It now only deletes selected files.","**Shortcuts.** Folder and note shortcuts no longer break when synced between devices with different path case sensitivity, for example **appLab/SKILLS-WORKFLOWS** vs **applab/skills-workflows**.","**List pane.** Fixed extra spacing in feature image rows when dates are hidden and tags or properties are visible.","**List pane.** Removed tiny hairline gap above the sticky group header showing on some scaling modes."]}]});function bK(t){let{containerEl:e,plugin:n}=t,r=n.manifest.version,a=tr(e)(void 0),i=null,s=m=>{if(!i)return;let g=!!m;i.setText(g?d.settings.items.updateCheckOnStart.status.replace("{version}",m??""):""),Tn(i,g)},l=()=>{let m=n.getPendingUpdateNotice();s(m?.version??null)},c="general-update-status";n.unregisterUpdateNoticeListener(c),i=a.addSetting(m=>{m.setName(d.settings.items.whatsNew.name.replace("{version}",r)).setDesc(d.settings.items.whatsNew.desc).addButton(g=>g.setButtonText(d.settings.items.whatsNew.buttonText).onClick(()=>{Q(async()=>{let{WhatsNewModal:f}=await Promise.resolve().then(()=>(Uw(),Vw)),{getLatestReleaseNotes:h}=await Promise.resolve().then(()=>(jw(),Ww)),b=h();new f(t.app,b,()=>{window.setTimeout(()=>{Q(async()=>{n.settings.lastShownVersion=r,await n.saveSettingsAndUpdate()})},1e3)}).open()})}))}).descEl.createDiv({cls:"setting-item-description nn-update-status nn-setting-hidden"}),l(),n.registerUpdateNoticeListener(c,m=>{s(m?.version??null)}),t.registerSettingsRenderCleanup(()=>{n.unregisterUpdateNoticeListener(c)});let p=a.addSetting(m=>{m.setName(d.settings.items.supportDevelopment.name).setDesc(d.settings.items.supportDevelopment.desc)});p.addButton(m=>{m.setButtonText(d.settings.items.supportDevelopment.buttonText).onClick(()=>window.open(uA)),m.buttonEl.addClass("nn-support-button")}),p.addButton(m=>{m.setButtonText(d.settings.items.supportDevelopment.coffeeButton).onClick(()=>window.open(dw)),m.buttonEl.addClass("nn-support-button")}),a.addSetting(m=>{m.setName(d.settings.items.masteringVideo.name).setDesc(d.settings.items.masteringVideo.desc).addButton(g=>{g.setIcon("lucide-play").setTooltip(d.modals.welcome.openVideoButton).onClick(()=>{window.open(pA())}),g.buttonEl.addClass("nn-youtube-button"),g.buttonEl.setAttr("aria-label",d.modals.welcome.openVideoButton)})})}function SK(t,e){let{plugin:n}=t,r=n.manifest.version,o=!1,a=()=>{o||(o=!0,e?.())};return[Pt(void 0,[_e({name:d.settings.items.whatsNew.name.replace("{version}",r),desc:d.settings.items.whatsNew.desc,render:i=>{a();let s="general-update-status",l=null,c=u=>{if(!l)return;let p=!!u;l.setText(p?d.settings.items.updateCheckOnStart.status.replace("{version}",u??""):""),Tn(l,p)};return i.setName(d.settings.items.whatsNew.name.replace("{version}",r)).setDesc(d.settings.items.whatsNew.desc).addButton(u=>u.setButtonText(d.settings.items.whatsNew.buttonText).onClick(()=>{Q(async()=>{let{WhatsNewModal:p}=await Promise.resolve().then(()=>(Uw(),Vw)),{getLatestReleaseNotes:m}=await Promise.resolve().then(()=>(jw(),Ww)),g=m();new p(t.app,g,()=>{window.setTimeout(()=>{Q(async()=>{n.settings.lastShownVersion=r,await n.saveSettingsAndUpdate()})},1e3)}).open()})})),l=i.descEl.createDiv({cls:"setting-item-description nn-update-status nn-setting-hidden"}),c(n.getPendingUpdateNotice()?.version??null),n.unregisterUpdateNoticeListener(s),n.registerUpdateNoticeListener(s,u=>{c(u?.version??null)}),()=>{n.unregisterUpdateNoticeListener(s)}}}),_e({name:d.settings.items.supportDevelopment.name,desc:d.settings.items.supportDevelopment.desc,render:i=>{i.setName(d.settings.items.supportDevelopment.name).setDesc(d.settings.items.supportDevelopment.desc),i.addButton(s=>{s.setButtonText(d.settings.items.supportDevelopment.buttonText).onClick(()=>window.open(uA)),s.buttonEl.addClass("nn-support-button")}),i.addButton(s=>{s.setButtonText(d.settings.items.supportDevelopment.coffeeButton).onClick(()=>window.open(dw)),s.buttonEl.addClass("nn-support-button")})}}),_e({name:d.settings.items.masteringVideo.name,desc:d.settings.items.masteringVideo.desc,render:i=>{i.setName(d.settings.items.masteringVideo.name).setDesc(d.settings.items.masteringVideo.desc).addButton(s=>{s.setIcon("lucide-play").setTooltip(d.modals.welcome.openVideoButton).onClick(()=>{window.open(pA())}),s.buttonEl.addClass("nn-youtube-button"),s.buttonEl.setAttr("aria-label",d.modals.welcome.openVideoButton)})}})])]}var OA=U(()=>{jl();Ee();ot();Xa();ns();Ca()});var wK,En,Ai=U(()=>{wK=require("obsidian");Ee();ot();En=class extends wK.Modal{constructor(n,r,o,a,i,s){super(n);this.onConfirm=a;this.didConfirm=!1;this.onCancel=s?.onCancel,this.titleEl.setText(r),o&&this.contentEl.createEl("p",{text:o}),s?.buildContent&&s.buildContent(this.contentEl);let l=this.contentEl.createDiv("nn-button-container");this.cancelHandler=()=>this.close(),this.confirmHandler=()=>{this.didConfirm=!0,this.close(),this.triggerConfirm()},this.cancelBtn=l.createEl("button",{text:d.common.cancel}),this.cancelBtn.addEventListener("click",this.cancelHandler),this.confirmBtn=l.createEl("button",{text:i||d.common.delete,cls:s?.confirmButtonClass??"mod-warning"}),this.confirmBtn.addEventListener("click",this.confirmHandler),this.scope.register([],"Enter",c=>{c.preventDefault(),this.didConfirm=!0,this.close(),this.triggerConfirm()}),this.scope.register([],"Escape",c=>{c.preventDefault(),this.close()})}onClose(){this.cancelBtn&&this.cancelHandler&&this.cancelBtn.removeEventListener("click",this.cancelHandler),this.confirmBtn&&this.confirmHandler&&this.confirmBtn.removeEventListener("click",this.confirmHandler),!this.didConfirm&&this.onCancel&&Q(()=>this.onCancel?.())}triggerConfirm(){Q(()=>this.onConfirm())}}});var LA={};In(LA,{InputModal:()=>dl});var TK,dl,fh=U(()=>{TK=require("obsidian");Ee();ot();dl=class extends TK.Modal{constructor(n,r,o,a,i="",s){super(n);this.onSubmit=a;this.isSubmitting=!1;this.checkboxEl=null;this.titleEl.setText(r),this.closeOnSubmit=s?.closeOnSubmit??!0;let l=s?.inputFilter,c=l?l(i):i;if(s?.description&&this.contentEl.createDiv({cls:"nn-input-description",text:s.description}),this.inputEl=this.contentEl.createEl("input",{type:"text",placeholder:o,value:c}),this.inputEl.addClass("nn-input"),this.cancelHandler=()=>this.close(),this.submitHandler=()=>this.handleSubmit(),s?.checkbox){let p=this.contentEl.createEl("label",{cls:"nn-input-checkbox-row"});this.checkboxEl=p.createEl("input",{type:"checkbox"}),this.checkboxEl.checked=!!s.checkbox.defaultChecked,p.createSpan({text:s.checkbox.label})}let u=this.contentEl.createDiv("nn-button-container");this.cancelBtn=u.createEl("button",{text:d.common.cancel}),this.cancelBtn.addEventListener("click",this.cancelHandler),this.submitBtn=u.createEl("button",{text:s?.submitButtonText??d.common.submit,cls:"mod-cta"}),this.submitBtn.addEventListener("click",this.submitHandler),this.scope.register([],"Enter",p=>{let m=activeDocument.activeElement;m instanceof HTMLElement&&this.contentEl.contains(m)&&m!==this.cancelBtn&&(p.preventDefault(),this.handleSubmit())}),this.inputEl.focus(),i&&this.inputEl.select(),(l||s?.onInputChange)&&this.inputEl.addEventListener("input",()=>{let p=this.inputEl.value,m=l?l(p):p;if(m!==p){let g=this.inputEl.selectionStart??p.length,f=this.inputEl.selectionEnd??g,h=g-(l?l(p.slice(0,g)).length:g),b=f-(l?l(p.slice(0,f)).length:f);this.inputEl.value=m;let v=Math.min(m.length,Math.max(0,g-h)),y=Math.min(m.length,Math.max(0,f-b));this.inputEl.setSelectionRange(v,y)}s?.onInputChange&&s.onInputChange({rawValue:p,filteredValue:this.inputEl.value})})}onClose(){this.cancelBtn&&this.cancelHandler&&this.cancelBtn.removeEventListener("click",this.cancelHandler),this.submitBtn&&this.submitHandler&&this.submitBtn.removeEventListener("click",this.submitHandler)}handleSubmit(){if(this.isSubmitting)return;let n=this.inputEl.value;this.closeOnSubmit&&this.close(),this.submitValue(n)}submitValue(n){if(this.isSubmitting)return;this.isSubmitting=!0;let r=this.checkboxEl?{checkboxValue:this.checkboxEl.checked}:void 0;Q(async()=>{try{await this.onSubmit(n,r)}finally{this.isSubmitting=!1}})}}});function cl(t){return t==="/"?t:t.endsWith("/")?t.slice(0,-1):t}function zc(t){let e=cl(t);if(!e)return"";let n=e.split("/").filter(Boolean);return n.length===0?e||"/":n[n.length-1]}function Ds(t){let e=t.lastIndexOf("/");return e===-1||e===0?"/":t.slice(0,e)}function kK(t,e){if(t==="/"||t===e)return!0;let n=t.endsWith("/")?t:`${t}/`;return e.startsWith(n)}function Na(t){if(typeof t!="string")return null;let e=t.trim();if(!e||e==="/")return null;let n=(0,zA.normalizePath)(e);if(!n||n==="."||n==="/")return null;let r=n.replace(/^\/+/u,"");return!r||r==="."?null:r}function LC(t){if(typeof t!="string")return null;let e=t.trim();if(!e)return null;if(e==="/")return"/";if(/^\/+$/u.test(e))return null;let r=(0,zA.normalizePath)(e).replace(/\/{2,}/gu,"/");if(!r||r==="."||r==="/")return null;let o=r.replace(/^\/+/u,"");if(!o||o===".")return null;let a=o.replace(/\/+$/u,"");return a.length>0?a:null}var zA,$o=U(()=>{zA=require("obsidian")});var BA,ye,Jr=U(()=>{BA=1,ye={_app:null,init(t){ye._app=t},isInitialized(){return ye._app!==null},get(t){try{return ye._app?ye._app.loadLocalStorage(t):null}catch(e){return console.error(`Failed to get from localStorage for key "${t}":`,e),null}},set(t,e){try{return ye._app?(ye._app.saveLocalStorage(t,e),!0):!1}catch(n){return console.error(`Failed to set localStorage for key "${t}":`,n),!1}},remove(t){try{return ye._app?(ye._app.saveLocalStorage(t,null),!0):!1}catch(e){return console.error(`Failed to remove from localStorage for key "${t}":`,e),!1}}}});function Gw(){return typeof performance<"u"&&typeof performance.now=="function"?performance.now():Date.now()}function Vd(t){return typeof t=="object"&&t!==null}function NK(t=new Date){let e=t.toISOString().replace(/[:.]/g,"-");return`${vle}${e}${yle}`}function yh(t){return!t.includes("/")&&Tle.test(t)}function RK(){return ye.get(ut.debugLoggingEnabledKey)===!0}function HA(t){vh=t}function HC(){return vh?.isActive()??RK()}function Rr(t,e){vh?.recordStartupEvent(t,e)}function VA(t){vh?.recordStorageReady(t)}function DK(t){vh?.recordUserVisible(t)}function AK(t,e){vh?.logReport(t,e)}function OK(t){vh?.recordContentProviderBatch(t)}function BC(t,e=new WeakSet){if(t instanceof Error)return{name:t.name,message:t.message,stack:t.stack};if(Array.isArray(t)){if(e.has(t))return"[Circular]";e.add(t);let n=t.map(r=>BC(r,e));return e.delete(t),n}if(Vd(t)){if(e.has(t))return"[Circular]";e.add(t);let n={};for(let[r,o]of Object.entries(t))n[r]=BC(o,e);return e.delete(t),n}return t}function LK(t){try{return JSON.stringify(BC(t),null,2)}catch{return JSON.stringify({message:"Failed to serialize diagnostic payload."},null,2)}}function kle(t){return`${((typeof t=="number"&&Number.isFinite(t)?Math.max(0,t):0)/1e3).toFixed(3)}s`.padStart(MK," ")}function Ku(t){return`${typeof t=="number"&&Number.isFinite(t)?Math.max(0,Math.round(t)):0} ms`}function IK(t){return t===null?"not recorded":Ku(t)}function zC(t){return typeof t=="number"&&Number.isFinite(t)?t:null}function _A(t,e){let n=Array.isArray(t.events)?t.events:[];for(let r of n)if(!(!Vd(r)||r.event!==e))return zC(r.elapsedMs);return null}function Hd(t){if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return String(t);if(t===null)return"null";if(Array.isArray(t))return t.length===0?"[]":t.length<=4&&t.every(e=>!Vd(e)&&!Array.isArray(e))?`[${t.map(e=>Hd(e)).join(", ")}]`:`[${t.length} items]`;if(Vd(t)){let e=Object.entries(t);return e.length===0?"{}":`{${e.slice(0,3).map(([n,r])=>`${n}: ${Hd(r)}`).join(", ")}${e.length>3?", ...":""}}`}return t===void 0?"undefined":typeof t=="bigint"?t.toString():typeof t=="symbol"?t.description?`symbol(${t.description})`:"symbol":typeof t=="function"?"function":"unknown"}function xK(t){return t.replace(/\\/g,"\\\\").replace(/\|/g,"\\|").replace(/\r?\n/g," ")}function Fle(t){return Vd(t)?Object.entries(t).map(([e,n])=>`${e}=${Hd(n)}`).join(", "):""}function Ple(t){let e=["### Summary",""],n=Vd(t.mainThreadStalls)?t.mainThreadStalls:{},r=Vd(t.storage)?t.storage:{},o=Vd(r.timingsMs)?r.timingsMs:{},a=Vd(r.diff)?r.diff:{},i=Vd(r.queued)?r.queued:{},s=Array.isArray(t.contentProviderBatches)?t.contentProviderBatches:[],l=_A(t,"userVisible"),c=_A(t,"storage.ready"),u=_A(t,"layout.ready"),p=zC(t.settleDelayMs);e.push(`- Result: ${Hd(t.reason??"unknown")}`),e.push("- Scope: starts when Obsidian calls Notebook Navigator onload; timeline gaps can include Obsidian or other plugins."),l!==null&&e.push(`- User visible: ${Ku(l)}`),(c!==null||u!==null)&&e.push(`- Ready markers: storage ${IK(c)}, layout ${IK(u)}`),e.push(`- Diagnostic window: ${Ku(t.elapsedMs)}${p!==null?`, including ${Ku(p)} settle delay`:""}`),e.push(`- Platform: ${Hd(t.platform??"unknown")}`),e.push(`- Main-thread stalls: ${Hd(n.count??0)}, max ${Ku(n.maxGapMs)}`);let m=zC(r.indexableFileCount),g=zC(r.cachedFileCount);return(m!==null||g!==null)&&e.push(`- Files: ${m??"?"} indexed, ${g??"?"} cached`),Object.keys(a).length>0&&e.push(`- Diff: add ${Hd(a.toAdd??0)}, update ${Hd(a.toUpdate??0)}, remove ${Hd(a.toRemove??0)}`),Object.keys(o).length>0&&e.push(`- Storage timings: initial load ${Ku(o.initialLoad)}, diff ${Ku(o.diff)}, tags ${Ku(o.tagTree)}, properties ${Ku(o.propertyTree)}`),Object.keys(i).length>0&&e.push(`- Queued: ${Hd(i.markdownFiles??0)} markdown, ${Hd(i.fileThumbnailFiles??0)} file thumbnails`),s.length>0&&e.push(`- Content providers during startup: ${s.length}`),e}function Cle(t){let e=Array.isArray(t.events)?t.events:[],n=["### Timeline","",`| ${"Time".padStart(MK," ")} | Event | Details |`,"| ------: | ----- | ------- |"];for(let r of e){if(!Vd(r))continue;let o=typeof r.event=="string"?r.event:"unknown",a=Fle(r.details);n.push(`| ${kle(r.elapsedMs)} | ${xK(o)} | ${xK(a)} |`)}return n}function Nle(t,e){return[`
## ${new Date().toISOString()} ${t}`,"",...Ple(e),"",...Cle(e),"","### Raw data","","```json",LK(e),"```",""].join(`
`)}var EK,vle,yle,ble,FK,Sle,PK,CK,wle,Tle,MK,vh,_C,Wu=U(()=>{EK=require("obsidian");Ue();Jr();vle="nn-debug-",yle=".md",ble=1e3,FK=2e3,Sle=3e4,PK=100,CK=250,wle=8,Tle=/^nn-debug-\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}-\d{3}Z\.md$/,MK=7,vh=null;_C=class{constructor(e,n){this.settingEnabled=!1;this.logPath=NK();this.pendingText="";this.pendingFlushTimerId=null;this.flushPromise=null;this.startupSession=null;this.startupTimeoutId=null;this.heartbeatTimeoutId=null;this.startupSettleTimeoutId=null;this.contentProviderBatches=new Map;this.lastHeartbeatMs=0;this.app=e,this.pluginVersion=n.pluginVersion}initialize(){this.logPath=NK(),this.settingEnabled=RK(),this.settingEnabled&&this.startStartupSession()}isEnabled(){return this.settingEnabled}isActive(){return this.settingEnabled&&this.startupSession!==null&&!this.startupSession.finalized}getLogPath(){return this.logPath}setEnabled(e){ye.set(ut.debugLoggingEnabledKey,e),e!==this.settingEnabled&&(this.settingEnabled=e,e||this.stopImmediately())}recordStartupEvent(e,n){!this.isActive()||!this.startupSession||this.startupSession.events.push({event:e,elapsedMs:Math.round(Gw()-this.startupSession.startMs),...n?{details:n}:{}})}recordStorageReady(e){let n=this.startupSession;!this.isActive()||!n||(n.storageReadyDetails=e,this.recordStartupEvent("storage.ready"),this.scheduleStartupFinalizationIfReady())}recordUserVisible(e){let n=this.startupSession;!this.isActive()||!n||(n.userVisibleDetails=e??{},this.recordStartupEvent("userVisible",e),this.scheduleStartupFinalizationIfReady())}finishStartupReport(e,n={}){let r=this.startupSession;!this.settingEnabled||!r||r.finalized||(r.finalized=!0,this.clearStartupTimers(),this.appendReport("Startup diagnostics",{...this.getSessionHeader(),reason:e,elapsedMs:Math.round(Gw()-r.startMs),mainThreadStalls:{thresholdMs:CK,count:r.stallCount,maxGapMs:Math.round(r.maxStallMs),samplesMs:r.stallSamples.map(o=>Math.round(o))},events:r.events,...r.storageReadyDetails?{storage:r.storageReadyDetails}:{},...r.userVisibleDetails?{userVisible:r.userVisibleDetails}:{},...this.contentProviderBatches.size>0?{contentProviderBatches:this.getContentProviderSummaries()}:{},...n}),this.contentProviderBatches.clear())}logReport(e,n){this.isActive()&&this.appendReport(e,n)}recordContentProviderBatch(e){if(!this.isActive())return;let n=this.contentProviderBatches.get(e.provider);n?(n.batches+=1,n.queued+=e.queued,n.active+=e.active,n.contentUpdates+=e.contentUpdates,n.processedMtimeUpdates+=e.processedMtimeUpdates,n.maxQueued=Math.max(n.maxQueued,e.queued),n.maxActive=Math.max(n.maxActive,e.active)):this.contentProviderBatches.set(e.provider,{provider:e.provider,batches:1,queued:e.queued,active:e.active,contentUpdates:e.contentUpdates,processedMtimeUpdates:e.processedMtimeUpdates,maxQueued:e.queued,maxActive:e.active})}async flush(){if(!this.settingEnabled||this.pendingText.length===0)return;this.pendingFlushTimerId!==null&&(window.clearTimeout(this.pendingFlushTimerId),this.pendingFlushTimerId=null);let e=this.pendingText;this.pendingText="";let n=async()=>{try{await this.app.vault.adapter.append(this.logPath,e)}catch(r){console.log("[Notebook Navigator debug] Failed to append debug log",r)}};this.flushPromise=this.flushPromise?this.flushPromise.then(n,n):n(),await this.flushPromise}dispose(){this.clearStartupTimers(),this.settingEnabled&&(this.finishStartupReport("dispose",{status:"partial"}),this.flush())}startStartupSession(){this.clearStartupTimers();let e=Gw();this.startupSession={startMs:e,events:[],stallCount:0,maxStallMs:0,stallSamples:[],storageReadyDetails:null,userVisibleDetails:null,finalized:!1},this.recordStartupEvent("debugLogging.initialized",this.getSessionHeader()),this.startHeartbeat(),this.startupTimeoutId=window.setTimeout(()=>{this.finishStartupReport("timeout",{status:"partial"})},Sle)}startHeartbeat(){this.lastHeartbeatMs=Gw();let e=()=>{if(!this.isActive()||!this.startupSession){this.heartbeatTimeoutId=null;return}let n=Gw(),r=n-this.lastHeartbeatMs;this.lastHeartbeatMs=n,r>CK&&(this.startupSession.stallCount+=1,this.startupSession.maxStallMs=Math.max(this.startupSession.maxStallMs,r),this.startupSession.stallSamples.length<wle&&this.startupSession.stallSamples.push(r)),this.heartbeatTimeoutId=window.setTimeout(e,PK)};this.heartbeatTimeoutId=window.setTimeout(e,PK)}stopImmediately(){this.pendingText="",this.contentProviderBatches.clear(),this.clearStartupTimers(),this.startupSession=null,this.pendingFlushTimerId!==null&&(window.clearTimeout(this.pendingFlushTimerId),this.pendingFlushTimerId=null)}scheduleStartupFinalizationIfReady(){let e=this.startupSession;!e||e.finalized||!e.storageReadyDetails||!e.userVisibleDetails||this.startupSettleTimeoutId===null&&(this.startupSettleTimeoutId=window.setTimeout(()=>{this.startupSettleTimeoutId=null,this.finishStartupReport("settled",{settleDelayMs:FK})},FK))}getContentProviderSummaries(){return Array.from(this.contentProviderBatches.values()).sort((e,n)=>e.provider.localeCompare(n.provider))}clearStartupTimers(){this.startupTimeoutId!==null&&(window.clearTimeout(this.startupTimeoutId),this.startupTimeoutId=null),this.heartbeatTimeoutId!==null&&(window.clearTimeout(this.heartbeatTimeoutId),this.heartbeatTimeoutId=null),this.startupSettleTimeoutId!==null&&(window.clearTimeout(this.startupSettleTimeoutId),this.startupSettleTimeoutId=null)}scheduleFlush(){this.pendingFlushTimerId===null&&(this.pendingFlushTimerId=window.setTimeout(()=>{this.pendingFlushTimerId=null,this.flush()},ble))}getSessionHeader(){return{pluginVersion:this.pluginVersion,platform:EK.Platform.isMobile?"mobile":"desktop",logPath:this.logPath}}appendReport(e,n){let r=BC(n);this.pendingText+=this.formatReport(e,r),this.scheduleFlush()}formatReport(e,n){return e==="Startup diagnostics"?Nle(e,n):[`
## ${new Date().toISOString()} ${e}`,"","```json",LK(n),"```",""].join(`
`)}}});var VC,zK=U(()=>{VC=class{constructor(e){this.entries=new Map;this.maxEntries=Math.max(0,e)}get(e,n){let r=this.entries.get(e);return r?r.featureImageKey!==n?(this.entries.delete(e),null):(this.entries.delete(e),this.entries.set(e,r),r.blob):null}set(e,n){this.maxEntries!==0&&(this.entries.has(e)&&this.entries.delete(e),this.entries.set(e,n),this.evictIfNeeded())}delete(e){this.entries.delete(e)}move(e,n){let r=this.entries.get(e);r&&(this.entries.delete(e),this.entries.set(n,r),this.evictIfNeeded())}clear(){this.entries.clear()}getEntryCount(){return this.entries.size}evictIfNeeded(){for(;this.entries.size>this.maxEntries;){let n=this.entries.keys().next();if(n.done)return;this.entries.delete(n.value)}}}});var $t,Ud=U(()=>{$t={markdown:{maxReadBytes:{mobile:2e6,desktop:8e6}},thumbnails:{featureImage:{maxWidth:256,maxHeight:144,output:{mimeType:"image/webp",iosMimeType:"image/png",quality:.75},externalRequest:{timeoutMs:1e4,maxLifetimeMs:6e4,parallelLimit:6,timeoutDebtMax:{mobile:0,desktop:2}},thumbnailCanvasParallelLimit:6,imageDecodeBudgetPixels:{mobile:1e8,desktop:Number.MAX_SAFE_INTEGER},maxImageBytes:{local:{mobile:5e7,desktop:5e7},external:{mobile:15e6,desktop:5e7}},maxFallbackPixels:{mobile:15e6,desktop:5e7}},pdf:{maxParallelRenders:2,maxParallelRendersMobile:1,preflight:{mobileBudgetBytes:2e8,operatorListTimeoutMs:1500,multipliers:{transparencyGroup:1.5,softMask:1.5}},workerIdleTimeoutMs:6e4}},storage:{featureImageCacheMaxEntriesDefault:1e3,previewTextCacheMaxEntriesDefault:1e4,previewLoadMaxBatchDefault:50},contentProvider:{queueBatchSize:100,parallelLimit:10,retry:{initialDelayMs:1e3,maxDelayMs:3e4,maxAttempts:5},metadataCache:{emptyValueRetryLimit:2,recentFileWindowMs:15e3}},operations:{metadataMutationYieldBatchSize:100}}});function KC(t){let e={},n=t.existingKey,r=t.existingStatus,o=null,a=!1,i=!1;if(t.featureImageKey!==void 0){let c=t.featureImageKey??null;c!==t.existingKey&&(n=c,r=n===null?"unprocessed":"none",e.featureImageKey=n,e.featureImageStatus=r,a=!0,i=!0)}if(t.featureImage!==void 0){i=!0;let c=t.featureImage;c instanceof Blob&&c.size>0&&n!==null&&n!==""?(o={featureImageKey:n,blob:c},r="has",e.featureImageStatus="has",a=!1):(o=null,a=!0,r=n===null?"unprocessed":"none",e.featureImageStatus=r)}return{nextKey:n,nextStatus:r,changes:e,blobUpdate:o,shouldDeleteBlob:a,shouldClearCache:i}}var jt,BK,UC,qw=U(()=>{zK();Ud();jt="featureImageBlobs",BK=$t.storage.featureImageCacheMaxEntriesDefault;UC=class{constructor(e){this.globalCacheEpoch=0;this.cacheEpochs=new Map;this.inFlight=new Map;this.cache=new VC(e)}clearMemoryCaches(){this.cache.clear(),this.globalCacheEpoch+=1,this.cacheEpochs.clear(),this.inFlight.clear()}deleteFromCache(e){this.cache.delete(e),this.bumpCacheEpoch(e),this.dropInFlightForPath(e)}moveCacheEntry(e,n){this.cache.move(e,n),this.bumpCacheEpoch(e),this.bumpCacheEpoch(n),this.dropInFlightForPath(e),this.dropInFlightForPath(n)}async getBlob(e,n,r){if(!r)return null;let o=this.cache.get(n,r);if(o)return o;let a=this.inFlight.get(n),i=a?.get(r)??null;if(i)return i;let s=this.getCacheEpoch(n),l=this.globalCacheEpoch,c=this.readBlobFromStore(e,n,r).then(p=>(p&&this.globalCacheEpoch===l&&this.getCacheEpoch(n)===s&&this.cache.set(n,{featureImageKey:r,blob:p}),p)).finally(()=>{let p=this.inFlight.get(n);!p||p.get(r)!==c||(p.delete(r),p.size===0&&this.inFlight.delete(n))}),u=a??new Map;return u.set(r,c),a||this.inFlight.set(n,u),c}async forEachBlobRecord(e,n){let r=e.transaction([jt],"readonly"),o=r.objectStore(jt),a="forEachBlobRecord",i=null;await new Promise((s,l)=>{let c=o.openCursor();c.onsuccess=()=>{let u=c.result;if(!u)return;if(typeof u.key!="string"){u.continue();return}let p=u.key,m=u.value;if(m&&typeof m.featureImageKey=="string"&&m.blob instanceof Blob&&m.blob.size>0)try{n(p,m)}catch(g){console.error("[IndexedDB] callback failed",{store:jt,op:a,path:p,error:g})}u.continue()},c.onerror=()=>{i=c.error||null,console.error("[IndexedDB] openCursor failed",{store:jt,op:a,name:c.error?.name,message:c.error?.message}),l(c.error??new Error("Cursor request failed"))},r.oncomplete=()=>s(),r.onabort=()=>{console.error("[IndexedDB] transaction aborted",{store:jt,op:a,txError:r.error?.message,reqError:i?.message}),l(r.error||i||new Error("Transaction aborted"))},r.onerror=()=>{console.error("[IndexedDB] transaction error",{store:jt,op:a,txError:r.error?.message,reqError:i?.message}),l(r.error||i||new Error("Transaction error"))}})}async moveBlob(e,n,r){let o=e.transaction([jt],"readwrite"),a=o.objectStore(jt),i=!1,s="moveFeatureImageBlob",l=null;await new Promise((c,u)=>{let p=a.get(n);p.onsuccess=()=>{let m=p.result;if(!m)return;i=!0;let g=a.put(m,r);g.onerror=()=>{l=g.error||null,console.error("[IndexedDB] put failed",{store:jt,op:s,path:r,name:g.error?.name,message:g.error?.message})};let f=a.delete(n);f.onerror=()=>{l=f.error||null,console.error("[IndexedDB] delete failed",{store:jt,op:s,path:n,name:f.error?.name,message:f.error?.message})}},p.onerror=()=>{l=p.error||null,console.error("[IndexedDB] get failed",{store:jt,op:s,path:n,name:p.error?.name,message:p.error?.message});try{o.abort()}catch(m){}},o.oncomplete=()=>c(),o.onabort=()=>{console.error("[IndexedDB] transaction aborted",{store:jt,op:s,txError:o.error?.message,reqError:l?.message}),u(o.error||l||new Error("Transaction aborted"))},o.onerror=()=>{console.error("[IndexedDB] transaction error",{store:jt,op:s,txError:o.error?.message,reqError:l?.message}),u(o.error||l||new Error("Transaction error"))}}),i?this.moveCacheEntry(n,r):this.deleteFromCache(n)}async deleteBlob(e,n){let r=e.transaction([jt],"readwrite"),o=r.objectStore(jt),a="deleteFeatureImageBlob",i=null;await new Promise((s,l)=>{let c=o.delete(n);c.onerror=()=>{i=c.error||null,console.error("[IndexedDB] delete failed",{store:jt,op:a,path:n,name:c.error?.name,message:c.error?.message})},r.oncomplete=()=>s(),r.onabort=()=>{console.error("[IndexedDB] transaction aborted",{store:jt,op:a,txError:r.error?.message,reqError:i?.message}),l(r.error||i||new Error("Transaction aborted"))},r.onerror=()=>{console.error("[IndexedDB] transaction error",{store:jt,op:a,txError:r.error?.message,reqError:i?.message}),l(r.error||i||new Error("Transaction error"))}}),this.deleteFromCache(n)}async readBlobFromStore(e,n,r){let a=e.transaction([jt],"readonly").objectStore(jt),i="getFeatureImageBlob";return new Promise(s=>{let l=a.get(n);l.onsuccess=()=>{let c=l.result;if(!c||c.featureImageKey!==r||!(c.blob instanceof Blob)||c.blob.size===0){s(null);return}s(c.blob)},l.onerror=()=>{console.error("[IndexedDB] get failed",{store:jt,op:i,path:n,name:l.error?.name,message:l.error?.message}),s(null)}})}getCacheEpoch(e){return this.cacheEpochs.get(e)??0}bumpCacheEpoch(e){this.cacheEpochs.set(e,this.getCacheEpoch(e)+1)}dropInFlightForPath(e){this.inFlight.delete(e)}}});var WC,_K=U(()=>{WC=class{constructor(e){this.entries=new Map;this.maxEntries=Math.max(0,e)}has(e){return this.entries.has(e)}get(e){let n=this.entries.get(e);return n===void 0?null:(this.entries.delete(e),this.entries.set(e,n),n)}set(e,n){if(this.maxEntries!==0){if(n.length===0){this.entries.delete(e);return}this.entries.has(e)&&this.entries.delete(e),this.entries.set(e,n),this.evictIfNeeded()}}delete(e){this.entries.delete(e)}clear(){this.entries.clear()}getEntryCount(){return this.entries.size}evictIfNeeded(){for(;this.entries.size>this.maxEntries;){let n=this.entries.keys().next();if(n.done)return;this.entries.delete(n.value)}}}});function Fo(t){return t.split(",").map(e=>e.trim()).filter(e=>e.length>0)}function nr(t){return t.join(", ")}function Bc(t){return nr(Fo(t))}function ul(t){let e=HK.get(t);if(e)return e;let n=Fo(t),r=n.length>0?n:Ile;return HK.set(t,r),r}var HK,Ile,As=U(()=>{HK=new Map,Ile=Object.freeze([])});function bh(t){return t.startsWith("modified")||t.startsWith("created")}function xle(t){return!bh(t)}function Jl(t){return t==="property-asc"||t==="property-desc"}function jK(t,e){if(typeof t!="string")return[];let n=[],r=new Set;return t.split(",").forEach(o=>{let a=o.trim(),i=Me(a);if(!i)return;let s=e?e(a,i):a;if(!s)return;let l=Me(s);!l||r.has(l)||(r.add(l),n.push(s))}),n}function GC(t){return jK(t)}function Tv(t){return typeof t.manualSortPropertyKey=="string"?t.manualSortPropertyKey.trim():""}function as(t,e){let n=Me(Tv(t));return n.length>0&&Me(e.trim())===n}function GK(t){if(typeof t=="string"){let e=t.trim();return e.length>0?[e]:[]}if(typeof t=="number")return Number.isFinite(t)?[t.toString()]:[];if(typeof t=="boolean")return[t?"true":"false"];if(Array.isArray(t)){let e=[];for(let n of t)e.push(...GK(n));return e}return[]}function qK(t,e){if(!mt(t))return null;let n=GK(sl(t,e));if(n.length===0)return null;let r=n.join(" ").trim();return r.length>0?r:null}function YK(t,e,n){return jK(t,(r,o)=>o===e?n:r).join(", ")}function Yw(t){return t.endsWith("-desc")?"desc":"asc"}function Kd(t){return t.startsWith("modified")?"modified":t.startsWith("created")?"created":t.startsWith("title")?"title":t.startsWith("filename")?"filename":"property"}function WA(t,e){return`${t}-${e}`}function jA(t,e){let n=e?.trim()??"";return Jl(t)&&n.length>0?{option:t,propertyKey:n}:t}function GA(t){return typeof t=="string"?t:{...t}}function wm(t){let e=GC(t.propertySortKey),n=new Set(e.map(s=>Me(s))),r=Tv(t),o=new Set(n),a=Me(r);a&&o.add(a);let i=!1;return KA.forEach(s=>{let l=t[s];l&&Object.keys(l).forEach(c=>{let u=Oc(l[c]);if(!u)return;if(typeof u=="string"){n.size===0&&Jl(u)&&(delete l[c],i=!0);return}let p=Me(u.propertyKey??"");!p||o.has(p)||(delete l[c],i=!0)})}),i}function Mle(t,e){let n=Me(e);return n?t.find(r=>Me(r)===n)??"":""}function Rle(t,e,n){return e&&Me(n)===Me(e)?e:Mle(t,n)}function VK(t){let e=Oc(t);return e?typeof e=="string"?e:`${e.option}\0${Me(e.propertyKey??"")}`:""}function $K(t,e){return VK(t)===VK(e)}function XK(t,e){return t.startsWith("modified")||Jl(t)&&e==="modified"}function QK(t){let{sortOption:e,propertySortKey:n,propertySortSecondary:r,useFrontmatterMetadata:o,frontmatterNameField:a,frontmatterCreatedField:i,frontmatterModifiedField:s}=t;return Jl(e)?n.trim().length>0?!0:o?r==="created"?i.trim().length>0:r==="modified"?s.trim().length>0:r==="title"?a.trim().length>0:!1:!1:o?e.startsWith("created")?i.trim().length>0:e.startsWith("modified")?s.trim().length>0:e.startsWith("title")?a.trim().length>0:!1:!1}function Mt(t,e){let n="system",r=UK.get(n);return r||(r=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base",usage:"sort"}),UK.set(n,r)),r.compare(t,e)}function ju(t,e,n){let r=Mt(t,e);return r===0?0:n==="alpha-desc"?-r:r}function ZK(t,e){let n=t.folderTreeSortOverrides;return n&&Object.prototype.hasOwnProperty.call(n,e)?n[e]??t.folderSortOrder:t.folderSortOrder}function qA(t,e,n){let r=Mt(t,e);return r!==0?n?-r:r:t.length!==e.length?t.length-e.length:0}function jC(t,e,n,r){let o=n?n(t):t.basename,a=n?n(e):e.basename;return qA(o,a,r)}function UA(t,e,n){return qA(t.basename,e.basename,n)}function KK(t,e,n,r){let o=n(t)-n(e);return o===0?0:r?-o:o}function pl(t,e){let n=Oc(e),r=typeof n=="string"?n:n?.option??t.defaultFolderSort,o=GC(t.propertySortKey),a=o[0]??"",i=Tv(t),s=typeof n=="object"?Rle(o,i,n.propertyKey??""):"",l=Jl(r)?s||a:"";return{option:r==="property-desc"&&as(t,l)?"property-asc":r,propertyKey:l,propertySortSecondary:t.propertySortSecondary}}function Sh(t,e,n,r,o){if(e===W.FOLDER&&n)return t.folderSortOverrides?.[n.path];if(e===W.TAG&&r)return t.tagSortOverrides?.[r];if(e===W.PROPERTY&&o)return t.propertySortOverrides?.[o]}function Tm(t,e,n,r,o){return pl(t,Sh(t,e,n,r,o))}function YA(t){return Ele[t]}function WK(t){return t.endsWith("-desc")?"list-sort-descending":"list-sort-ascending"}function Dle(t,e){let n=Kd(t.option),r=Kd(e.option);return n!==r?!1:n!=="property"?!0:Me(t.propertyKey)===Me(e.propertyKey)}function JK(t,e){let n=pl(t,e);if(e===void 0)return WK(n.option);let r=pl(t);return Dle(n,r)&&Yw(n.option)!==Yw(r.option)?WK(n.option):YA(Kd(n.option))}function $w(t,e,n,r,o,a,i="title"){let s=(l,c)=>c==="created"?n(l):r(l);switch(e){case"modified-desc":t.sort((l,c)=>s(c,"modified")-s(l,"modified"));break;case"modified-asc":t.sort((l,c)=>s(l,"modified")-s(c,"modified"));break;case"created-desc":t.sort((l,c)=>s(c,"created")-s(l,"created"));break;case"created-asc":t.sort((l,c)=>s(l,"created")-s(c,"created"));break;case"title-asc":t.sort((l,c)=>{let u=jC(l,c,o,!1);return u!==0?u:l.path.localeCompare(c.path)});break;case"title-desc":t.sort((l,c)=>{let u=jC(l,c,o,!0);return u!==0?u:l.path.localeCompare(c.path)});break;case"filename-asc":t.sort((l,c)=>{let u=UA(l,c,!1);return u!==0?u:l.path.localeCompare(c.path)});break;case"filename-desc":t.sort((l,c)=>{let u=UA(l,c,!0);return u!==0?u:l.path.localeCompare(c.path)});break;case"property-asc":case"property-desc":{let l=e==="property-desc";t.sort((c,u)=>{let p=a?a(c):null,m=a?a(u):null,g=!!p,f=!!m;if(g!==f)return g?-1:1;if(g&&f&&p&&m){let b=qA(p,m,l);if(b!==0)return b}let h;if(i==="created"?h=KK(c,u,n,l):i==="modified"?h=KK(c,u,r,l):i==="filename"?h=UA(c,u,l):h=jC(c,u,o,l),h!==0)return h;if(i!=="title"){let b=jC(c,u,o,l);if(b!==0)return b}return c.path.localeCompare(u.path)});break}}}function eW(t){return t.endsWith("-desc")?"lucide-sort-desc":"lucide-sort-asc"}function $A(t){return t.startsWith("created")?"ctime":"mtime"}function qC(t,e){return xle(t)?e==="created"?"created":"modified":$A(t)==="ctime"?"created":"modified"}var KA,Ele,UK,Rn=U(()=>{xn();Ue();Ot();Zr();KA=["folderSortOverrides","tagSortOverrides","propertySortOverrides"],Ele={modified:"list-sort-modified",created:"list-sort-created",title:"list-sort-title",filename:"list-sort-filename",property:"list-sort-property"};UK=new Map});function zle(t){let e=t.manualSortGroupHeaderProperty.trim();if(!e||e.includes(","))return!1;let n=t.manualSortPropertyKey.trim();return!n||Me(e)!==Me(n)}function Ble(t){return t.noteGrouping==="custom"?!0:[t.folderAppearances,t.tagAppearances,t.propertyAppearances].some(n=>Object.values(n).some(r=>r?.groupBy==="custom"))}function YC(t){return il(t.textCountDisplay)||zle(t)&&Ble(t)}function tW(t){return Oi(t).trim().length>0?!0:YC(t)&&t.wordCountTargetProperty.trim().length>0}function XA(t){let e=[...ul(Oi(t))],n=YC(t)?t.wordCountTargetProperty.trim():"",r=Me(n);return r&&!e.some(o=>Me(o)===r)&&e.push(n),e}function kv(t){return nr(XA(t))}function nW(t){let e=new Map,n=(o,a)=>{let i=o.trim(),s=Me(i);if(!s)return;let l=e.get(s);if(l){a&&(l.noteCount+=1);return}e.set(s,{displayKey:i,noteCount:a?1:0})};t.vault.getMarkdownFiles().forEach(o=>{let a=t.metadataCache.getFileCache(o)?.frontmatter;mt(a)&&Object.keys(a).forEach(i=>{n(i,!0)})});let r=Array.from(e.values()).map(o=>({key:o.displayKey,noteCount:o.noteCount}));return r.sort((o,a)=>{let i=Mt(o.key,a.key);return i!==0?i:o.key.localeCompare(a.key)}),r}function rW(t,e){let n=ul(t),r=Me(e.trim());if(!r)return nr(n);let o=n.filter(a=>Me(a.trim())!==r);return nr(o)}function oW(t,e,n,r=!1){let o=ul(t),a=Me(e.trim()),i=n.trim(),s=Me(i);if(!a||!s)return nr(o);let l=r?o.some(p=>Me(p.trim())===s):!1,c=[],u=new Set;return o.forEach(p=>{let m=p.trim(),g=Me(m);if(!g||g===a&&l)return;let f=g===a?i:m,h=Me(f);!h||u.has(h)||(u.add(h),c.push(f))}),nr(c)}function rr(t){let e=aW(t);return e?Me(e.displayText):Me(t)}function aW(t){let e=t.trim();if(!e.startsWith("[[")||!e.endsWith("]]"))return null;let n=e.slice(2,-2).trim();if(n.length===0||n.includes(`
`)||n.includes("\r"))return null;let r=n.indexOf("|"),o=(r===-1?n:n.slice(0,r)).trim();if(o.length===0)return null;let a=r===-1?"":n.slice(r+1).trim(),i=a.length>0?a:o;return{kind:"internal",target:o,displayText:i.startsWith("#")?i.slice(1):i}}function iW(t){let e=t.trim();if(!e||e.includes(`
`)||e.includes("\r")||!Ale.exec(e))return null;try{let o=new URL(e).protocol.toLowerCase();return Ole.has(o)?null:Lle.has(o)||e.slice(o.length).startsWith("//")?e:null}catch{return null}}function _le(t){let e=t.trim();if(!e.startsWith("[")||e.startsWith("![")||!e.endsWith(")")||e.includes(`
`)||e.includes("\r"))return null;let n=e.indexOf("](");if(n<=1)return null;let r=e.slice(1,n).trim();if(r.length===0)return null;let o=e.slice(n+2,-1).trim();if(o.startsWith("<")&&o.endsWith(">")&&(o=o.slice(1,-1).trim()),o.length===0)return null;let a=iW(o);return a?{kind:"external",target:a,displayText:r}:{kind:"unsupported",displayText:r}}function Hle(t){let e=t.trim(),n=iW(e);return n?{kind:"external",target:n,displayText:n}:null}function $C(t){return aW(t)??_le(t)??Hle(t)}function sW(t){return $C(t)?.displayText??t.trim()}function Fv(t){let e=t.trim(),n=$C(e);return n!==null&&n.displayText!==e}function QA(t){let e=t.trim();if(e.length===0)return!1;let n=activeWindow.CSS;if(n&&typeof n.supports=="function")return n.supports("color",e);let r=e.toLowerCase();return r.startsWith("#")||r.startsWith("rgb(")||r.startsWith("rgba(")||r.startsWith("hsl(")||r.startsWith("hsla(")||r.startsWith("var(")}function Xw(t){return t?t.map(e=>({...e})):null}function wh(t,e){if(t===e)return!0;if(!t||!e||t.length!==e.length)return!1;for(let n=0;n<t.length;n+=1){let r=t[n],o=e[n];if(r.fieldKey!==o.fieldKey||r.value!==o.value)return!1;let a=r.valueKind??"string",i=o.valueKind??"string";if(a!==i)return!1}return!0}var Ale,Ole,Lle,ed=U(()=>{xn();As();Ot();Rn();Zr();dn();Ale=/^([a-z][a-z0-9+.-]{1,31}):/i,Ole=new Set(["data:","javascript:","vbscript:"]),Lle=new Set(["mailto:","sms:","tel:"])});function Vle(t){return{mtime:t.mtime,markdownPipelineMtime:t.markdownPipelineMtime,tagsMtime:t.tagsMtime,metadataMtime:t.metadataMtime,fileThumbnailsMtime:t.fileThumbnailsMtime,tags:t.tags?[...t.tags]:null,wordCount:t.wordCount,characterCountWithSpaces:t.characterCountWithSpaces,characterCountWithoutSpaces:t.characterCountWithoutSpaces,taskTotal:t.taskTotal,taskUnfinished:t.taskUnfinished,properties:Xw(t.properties),previewStatus:t.previewStatus,featureImage:null,featureImageStatus:t.featureImageStatus,featureImageKey:t.featureImageKey,metadata:t.metadata?{...t.metadata}:null}}var XC,lW=U(()=>{_K();ed();XC=class{constructor(e){this.fileDataByPath=new Map;this.isInitialized=!1;let n=e?.previewTextCacheMaxEntries??1e4;this.previewTexts=new WC(n)}markInitialized(){this.isInitialized=!0}resetToEmpty(){this.fileDataByPath.clear(),this.previewTexts.clear(),this.isInitialized=!0}getFile(e){return this.fileDataByPath.get(e)||null}getFiles(e){let n=new Map;for(let r of e){let o=this.fileDataByPath.get(r);o&&n.set(r,o)}return n}hasPreview(e){return this.fileDataByPath.get(e)?.previewStatus==="has"}getPreviewText(e){return this.previewTexts.get(e)??""}isPreviewTextLoaded(e){return this.previewTexts.has(e)}getPreviewTextEntryCount(){return this.previewTexts.getEntryCount()}hasFile(e){return this.fileDataByPath.has(e)}getAllFiles(){return Array.from(this.fileDataByPath.values())}getAllFilesWithPaths(){let e=[];for(let[n,r]of this.fileDataByPath.entries())e.push({path:n,data:r});return e}getFileCount(){return this.fileDataByPath.size}forEachFile(e){this.fileDataByPath.forEach((n,r)=>{e(r,n)})}updateFile(e,n){this.fileDataByPath.set(e,n),n.previewStatus!=="has"&&this.previewTexts.delete(e)}setClonedFile(e,n){this.fileDataByPath.set(e,Vle(n)),n.previewStatus!=="has"&&this.previewTexts.delete(e)}updateFileContent(e,n){let r=this.fileDataByPath.get(e);r&&(n.previewStatus!==void 0&&(r.previewStatus=n.previewStatus),n.previewText!==void 0&&(n.previewText.length>0?this.previewTexts.set(e,n.previewText):this.previewTexts.delete(e)),r.previewStatus!=="has"&&this.previewTexts.delete(e),n.featureImage!==void 0&&(r.featureImage=null),n.featureImageKey!==void 0&&(r.featureImageKey=n.featureImageKey),n.featureImageStatus!==void 0&&(r.featureImageStatus=n.featureImageStatus),n.metadata!==void 0&&(r.metadata=n.metadata),n.properties!==void 0&&(r.properties=n.properties))}deleteFile(e){this.fileDataByPath.delete(e),this.previewTexts.delete(e)}batchDelete(e){for(let n of e)this.fileDataByPath.delete(n),this.previewTexts.delete(n)}batchUpdate(e){for(let{path:n,data:r}of e)this.fileDataByPath.set(n,r),r.previewStatus!=="has"&&this.previewTexts.delete(n)}batchUpdateFileContent(e){for(let n of e)this.updateFileContent(n.path,n)}isReady(){return this.isInitialized}clear(){this.fileDataByPath.clear(),this.previewTexts.clear(),this.isInitialized=!1}}});var QC,dW=U(()=>{QC=class{constructor(e){this.moveInFlight=new Map;this.getDb=e.getDb,this.init=e.init,this.isClosing=e.isClosing,this.blobs=e.blobs}beginMove(e,n){e===n||(this.pruneMovesInFlight(),this.moveInFlight.get(n)?.oldPath===e)||(this.moveInFlight.set(n,{oldPath:e,startedAt:Date.now()}),this.blobs.moveCacheEntry(e,n))}async getBlob(e,n){if(!n)return null;await this.init();let r=this.getDb();if(!r)return null;this.pruneMovesInFlight();let o=await this.blobs.getBlob(r,e,n);if(o||!this.isMoveInFlight(e))return o;let i=this.moveInFlight.get(e)?.oldPath??"";if(i.length===0)return o;let s=await this.blobs.getBlob(r,i,n);return s?(this.blobs.moveCacheEntry(i,e),s):o}async forEachBlobRecord(e){await this.init();let n=this.getDb();n&&await this.blobs.forEachBlobRecord(n,e)}async moveBlob(e,n){if(e===n)return;this.beginMove(e,n);let r=!1;try{await this.init();let o=this.getDb();if(!o)throw new Error("Database not initialized");await this.blobs.moveBlob(o,e,n),r=!0}catch(o){this.isClosing()||console.error("[FeatureImageBlob] Failed to move feature image blob",{oldPath:e,newPath:n,error:o})}finally{r&&this.endMove(e,n)}}async deleteBlob(e){await this.init();let n=this.getDb();if(!n)throw new Error("Database not initialized");await this.blobs.deleteBlob(n,e)}close(){this.moveInFlight.clear()}endMove(e,n){this.moveInFlight.get(n)?.oldPath===e&&this.moveInFlight.delete(n)}isMoveInFlight(e){return this.moveInFlight.has(e)}pruneMovesInFlight(){let n=Date.now()-1e4;for(let[r,o]of this.moveInFlight.entries())o.startedAt<=n&&this.moveInFlight.delete(r)}}});var at,_t,ZA,cW,uW,pW,Th=U(()=>{Ud();at="keyvaluepairs",_t="filePreviews",ZA=3,cW=5,uW=$t.storage.previewTextCacheMaxEntriesDefault,pW=$t.storage.previewLoadMaxBatchDefault});function km(t,e){return t instanceof Error?t:new Error(e)}function Ja(t,e,n,r){let o=e.error||n;t(km(o,r))}function mW(t){return t instanceof DOMException&&t.name==="VersionError"}var Qw=U(()=>{});function Ule(t){return t==="string"||t==="number"||t==="boolean"}function Kle(t){if(!ka(t))return!1;let e=t.fieldKey;if(typeof e!="string"||e.trim().length===0||typeof t.value!="string")return!1;let r=t.valueKind;return!(r!==void 0&&!Ule(r))}function fW(t){return Array.isArray(t)?t.every(e=>Kle(e)):!1}function ZC(t,e){let n=typeof t=="number"&&Number.isFinite(t)&&t>=0,r=typeof e=="number"&&Number.isFinite(e)&&e>=0;return t===null&&e===null?{taskTotal:null,taskUnfinished:null}:n&&r?{taskTotal:Math.trunc(t),taskUnfinished:Math.trunc(e)}:{taskTotal:null,taskUnfinished:null}}function Gu(t){return qo(t)?"unprocessed":"none"}function Pv(t){let e=qo(t.path);return{mtime:t.mtime,markdownPipelineMtime:0,tagsMtime:0,metadataMtime:0,fileThumbnailsMtime:0,tags:e?null:[],wordCount:e?null:0,characterCountWithSpaces:e?null:0,characterCountWithoutSpaces:e?null:0,taskTotal:e?null:0,taskUnfinished:e?null:0,properties:null,previewStatus:Gu(t.path),featureImage:null,featureImageStatus:"unprocessed",featureImageKey:null,metadata:e?null:{}}}function gW(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function Gle(t,e,n){if(!gW(e,n))return!1;let r=e[n];return r===void 0?gW(t,n)?(delete t[n],!0):!1:t[n]===r?!1:(t[n]=r,!0)}function vW(t,e){let n={...t??{}},r=!1;for(let o of Wle)r=Gle(n,e,o)||r;return{metadata:n,changed:r}}function hW(t){let e=t?.name;if(typeof e!="string")return;let n=e.trim();if(n.length!==0)return n}function _c(t,e){return hW(t)!==hW(e)}function qu(t,e){return _c(t,e)?!0:jle.some(n=>t?.[n]!==e?.[n])}function Yu(t,e){return!!t?.hidden!=!!e?.hidden}var br,Wle,jle,Cv=U(()=>{Mr();Ot();br={FIELD_NOT_CONFIGURED:0,PARSE_FAILED:-1},Wle=["name","created","modified","icon","color","background","hidden"],jle=["icon","color","background"]});var JC,yW=U(()=>{Ot();Th();Qw();Cv();JC=class{constructor(e){this.previewLoadPromises=new Map;this.previewLoadDeferred=new Map;this.previewLoadQueue=new Set;this.previewLoadFlushTimer=null;this.previewLoadFlushTimerWindow=null;this.isPreviewLoadFlushRunning=!1;this.previewLoadSessionId=0;this.previewTextMoveInFlight=new Map;this.isPreviewWarmupEnabled=!1;this.isPreviewWarmupComplete=!1;this.isPreviewWarmupRunning=!1;this.previewWarmupCursorKey=null;this.previewWarmupTimer=null;this.previewWarmupTimerWindow=null;this.cache=e.deps.cache,this.getDb=e.deps.getDb,this.init=e.deps.init,this.isClosing=e.deps.isClosing,this.emitChanges=e.deps.emitChanges,this.previewTextCacheMaxEntries=e.previewTextCacheMaxEntries,this.previewLoadMaxBatch=e.previewLoadMaxBatch}getCachedPreviewText(e){return this.cache.isReady()?this.cache.getPreviewText(e):""}async ensurePreviewTextLoaded(e){if(this.isClosing()||!this.cache.isReady())return;let n=this.cache.getFile(e);if(!n||n.previewStatus!=="has"||this.cache.getPreviewText(e).length>0)return;let r=this.previewLoadPromises.get(e);if(r)return r;let o={resolve:()=>{}},a=new Promise(i=>{o.resolve=i}).finally(()=>{this.previewLoadPromises.delete(e),this.previewLoadDeferred.delete(e)});return this.previewLoadDeferred.set(e,o),this.previewLoadPromises.set(e,a),this.previewLoadQueue.add(e),this.schedulePreviewTextLoadFlush(),this.enablePreviewTextWarmup(),a}beginMove(e,n){if(e===n||(this.pruneMovesInFlight(),this.previewTextMoveInFlight.get(n)?.oldPath===e)||(this.previewTextMoveInFlight.set(n,{oldPath:e,startedAt:Date.now()}),!this.cache.isReady()))return;let o=this.cache.getPreviewText(e);if(o.length===0)return;let a=this.cache.getFile(n);if(!a)return;let i=a.previewStatus;this.cache.updateFileContent(n,{previewText:o,previewStatus:"has"});let s={preview:o};i!=="has"&&(s.previewStatus="has"),this.emitChanges([{path:n,changes:s,changeType:"content"}])}async deletePreviewText(e){await this.init();let n=this.getDb();if(!n)throw new Error("Database not initialized");this.cache.isReady()&&this.cache.updateFileContent(e,{previewText:""});let r=n.transaction([_t],"readwrite"),o=r.objectStore(_t);await new Promise((a,i)=>{let s="deletePreviewText",l=null,c=o.delete(e);c.onerror=()=>{l=c.error||null,console.error("[IndexedDB] delete failed",{store:_t,op:s,path:e,name:c.error?.name,message:c.error?.message})},r.oncomplete=()=>a(),r.onabort=()=>{console.error("[IndexedDB] transaction aborted",{store:_t,op:s,txError:r.error?.message,reqError:l?.message}),Ja(i,r,l,"Transaction aborted")},r.onerror=()=>{console.error("[IndexedDB] transaction error",{store:_t,op:s,txError:r.error?.message,reqError:l?.message}),Ja(i,r,l,"Transaction error")}})}async forEachPreviewTextRecord(e){await this.init();let n=this.getDb();if(!n)return;let r=n.transaction([_t],"readonly"),o=r.objectStore(_t);await new Promise((a,i)=>{let s="forEachPreviewTextRecord",l=null,c=o.openCursor();c.onsuccess=()=>{let u=c.result;if(!u)return;let p=u.key,m=u.value;typeof p=="string"&&typeof m=="string"&&m.length>0&&e(p,m),u.continue()},c.onerror=()=>{let u=c.error;l=u||null,console.error("[IndexedDB] openCursor failed",{store:_t,op:s,name:u?.name,message:u?.message}),i(km(u,"Cursor request failed"))},r.oncomplete=()=>a(),r.onabort=()=>{console.error("[IndexedDB] transaction aborted",{store:_t,op:s,txError:r.error?.message,reqError:l?.message}),Ja(i,r,l,"Transaction aborted")},r.onerror=()=>{console.error("[IndexedDB] transaction error",{store:_t,op:s,txError:r.error?.message,reqError:l?.message}),Ja(i,r,l,"Transaction error")}})}async movePreviewText(e,n){if(e!==n){this.beginMove(e,n);try{await this.init();let r=this.getDb();if(!r)throw new Error("Database not initialized");let o=r.transaction([_t],"readwrite"),a=o.objectStore(_t),i=await new Promise((s,l)=>{let c="movePreviewText",u=null,p=null,m=a.get(e);m.onsuccess=()=>{let g=m.result;if(typeof g=="string"&&g.length>0){p=g;let h=a.put(g,n);h.onerror=()=>{u=h.error||null,console.error("[IndexedDB] put failed",{store:_t,op:c,path:n,name:h.error?.name,message:h.error?.message})}}let f=a.delete(e);f.onerror=()=>{u=f.error||null,console.error("[IndexedDB] delete failed",{store:_t,op:c,path:e,name:f.error?.name,message:f.error?.message})}},m.onerror=()=>{u=m.error||null,console.error("[IndexedDB] get failed",{store:_t,op:c,path:e,name:m.error?.name,message:m.error?.message});try{o.abort()}catch(g){}},o.oncomplete=()=>s(p),o.onabort=()=>{console.error("[IndexedDB] transaction aborted",{store:_t,op:c,txError:o.error?.message,reqError:u?.message}),Ja(l,o,u,"Transaction aborted")},o.onerror=()=>{console.error("[IndexedDB] transaction error",{store:_t,op:c,txError:o.error?.message,reqError:u?.message}),Ja(l,o,u,"Transaction error")}});if(this.cache.isReady())if(i&&i.length>0){let s=this.cache.getFile(n)?.previewStatus??null;this.cache.updateFileContent(n,{previewText:i,previewStatus:"has"});let l={preview:i};s!==null&&s!=="has"&&(l.previewStatus="has"),this.emitChanges([{path:n,changes:l,changeType:"content"}]);try{await this.repairPreviewStatusRecords([{path:n,previewStatus:"has"}])}catch(c){this.isClosing()||console.error("[PreviewText] Failed to persist preview status after move",c)}}else{let s=this.cache.getFile(n);if(s&&s.previewStatus==="has"){let l=Gu(n);this.cache.updateFileContent(n,{previewText:"",previewStatus:l}),this.emitChanges([{path:n,changes:{preview:null,previewStatus:l},changeType:"content"}]);try{await this.repairPreviewStatusRecords([{path:n,previewStatus:l}])}catch(c){this.isClosing()||console.error("[PreviewText] Failed to persist preview status repair after move",c)}}}}catch(r){this.isClosing()||console.error("[PreviewText] Failed to move preview text",{oldPath:e,newPath:n,error:r})}finally{this.endMove(e,n),this.previewLoadQueue.delete(n),this.previewLoadDeferred.get(n)?.resolve()}}}close(){this.previewLoadSessionId+=1,this.previewLoadFlushTimer!==null&&((this.previewLoadFlushTimerWindow??activeWindow).clearTimeout(this.previewLoadFlushTimer),this.previewLoadFlushTimer=null,this.previewLoadFlushTimerWindow=null),this.previewWarmupTimer!==null&&((this.previewWarmupTimerWindow??activeWindow).clearTimeout(this.previewWarmupTimer),this.previewWarmupTimer=null,this.previewWarmupTimerWindow=null),this.isPreviewWarmupEnabled=!1,this.isPreviewWarmupComplete=!0,this.isPreviewWarmupRunning=!1,this.previewWarmupCursorKey=null,this.previewLoadQueue.clear(),this.previewLoadDeferred.forEach(e=>e.resolve()),this.previewLoadDeferred.clear(),this.previewLoadPromises.clear(),this.previewTextMoveInFlight.clear()}schedulePreviewTextLoadFlush(){if(this.isClosing()||this.previewLoadFlushTimer!==null)return;let e=activeWindow;this.previewLoadFlushTimerWindow=e,this.previewLoadFlushTimer=e.setTimeout(()=>{this.previewLoadFlushTimer=null,this.previewLoadFlushTimerWindow=null,this.flushPreviewTextLoadQueue()},0)}enablePreviewTextWarmup(){if(!this.isClosing()&&!this.isPreviewWarmupComplete&&!this.isPreviewWarmupEnabled){if(this.previewTextCacheMaxEntries===0){this.isPreviewWarmupComplete=!0;return}this.isPreviewWarmupEnabled=!0,this.schedulePreviewTextWarmupFlush()}}schedulePreviewTextWarmupFlush(e=0){if(this.isClosing()||!this.isPreviewWarmupEnabled||this.isPreviewWarmupComplete||this.previewWarmupTimer!==null)return;let n=activeWindow;this.previewWarmupTimerWindow=n,this.previewWarmupTimer=n.setTimeout(()=>{this.previewWarmupTimer=null,this.previewWarmupTimerWindow=null,this.flushPreviewTextWarmup()},e)}async flushPreviewTextWarmup(){if(this.isClosing()||!this.isPreviewWarmupEnabled||this.isPreviewWarmupComplete||this.isPreviewWarmupRunning||!this.cache.isReady())return;if(this.previewTextCacheMaxEntries===0||this.cache.getPreviewTextEntryCount()>=this.previewTextCacheMaxEntries){this.isPreviewWarmupEnabled=!1,this.isPreviewWarmupComplete=!0;return}if(this.isPreviewLoadFlushRunning||this.previewLoadFlushTimer!==null||this.previewLoadQueue.size>0){this.schedulePreviewTextWarmupFlush(25);return}let e=this.previewLoadSessionId;this.isPreviewWarmupRunning=!0;try{await this.init();let n=this.getDb();if(!n){this.isPreviewWarmupEnabled=!1,this.isPreviewWarmupComplete=!0;return}if(this.isClosing()||e!==this.previewLoadSessionId)return;let r=this.previewLoadMaxBatch*10;if(!await this.warmPreviewTextCacheBatch(r,e,n)){this.isPreviewWarmupEnabled=!1,this.isPreviewWarmupComplete=!0;return}}catch(n){!this.isClosing()&&e===this.previewLoadSessionId&&console.error("[PreviewText] Warmup failed",n),this.isPreviewWarmupEnabled=!1,this.isPreviewWarmupComplete=!0;return}finally{this.isPreviewWarmupRunning=!1}if(!(this.isClosing()||e!==this.previewLoadSessionId)){if(this.cache.getPreviewTextEntryCount()>=this.previewTextCacheMaxEntries){this.isPreviewWarmupEnabled=!1,this.isPreviewWarmupComplete=!0;return}this.schedulePreviewTextWarmupFlush()}}async warmPreviewTextCacheBatch(e,n,r){if(this.isClosing()||n!==this.previewLoadSessionId||!this.cache.isReady()||this.previewTextCacheMaxEntries===0||this.cache.getPreviewTextEntryCount()>=this.previewTextCacheMaxEntries)return!1;let o=r.transaction([_t],"readonly"),a=o.objectStore(_t),i=!1;return await new Promise((s,l)=>{let c="warmPreviewTextCache",u=null,p=this.previewWarmupCursorKey?IDBKeyRange.lowerBound(this.previewWarmupCursorKey,!0):void 0,m=a.openCursor(p),g=0;m.onsuccess=()=>{if(this.isClosing()||n!==this.previewLoadSessionId)return;let f=m.result;if(!f){i=!0;return}if(this.isPreviewLoadFlushRunning||this.previewLoadFlushTimer!==null||this.previewLoadQueue.size>0||this.cache.getPreviewTextEntryCount()>=this.previewTextCacheMaxEntries)return;g+=1;let h=f.key,b=f.value;if(typeof h=="string"&&(this.previewWarmupCursorKey=h,typeof b=="string"&&b.length>0)){let v=this.cache.getFile(h);v&&v.previewStatus==="has"&&!this.cache.isPreviewTextLoaded(h)&&this.cache.updateFileContent(h,{previewText:b})}this.cache.getPreviewTextEntryCount()>=this.previewTextCacheMaxEntries||g>=e||f.continue()},m.onerror=()=>{u=m.error||null,console.error("[IndexedDB] openCursor failed",{store:_t,op:c,name:m.error?.name,message:m.error?.message}),l(km(m.error,"Cursor request failed"))},o.oncomplete=()=>s(),o.onabort=()=>{if(this.isClosing()||n!==this.previewLoadSessionId){s();return}console.error("[IndexedDB] transaction aborted",{store:_t,op:c,txError:o.error?.message,reqError:u?.message}),Ja(l,o,u,"Transaction aborted")},o.onerror=()=>{if(this.isClosing()||n!==this.previewLoadSessionId){s();return}console.error("[IndexedDB] transaction error",{store:_t,op:c,txError:o.error?.message,reqError:u?.message}),Ja(l,o,u,"Transaction error")}}),this.isClosing()||n!==this.previewLoadSessionId||this.cache.getPreviewTextEntryCount()>=this.previewTextCacheMaxEntries?!1:!i}async repairPreviewStatusRecords(e){if(this.isClosing()||e.length===0)return;await this.init();let n=this.getDb();if(!n)return;let r=this.previewLoadSessionId;if(this.isClosing()||r!==this.previewLoadSessionId)return;let o=n.transaction([at],"readwrite"),a=o.objectStore(at);await new Promise((i,s)=>{let l="repairPreviewStatusRecords",c=null;e.forEach(u=>{let p=a.get(u.path);p.onsuccess=()=>{let m=p.result;if(!ka(m))return;let g=m;if(g.previewStatus===u.previewStatus)return;g.previewStatus=u.previewStatus;let f=a.put(g,u.path);f.onerror=()=>{c=f.error||null,console.error("[IndexedDB] put failed",{store:at,op:l,path:u.path,name:f.error?.name,message:f.error?.message})}},p.onerror=()=>{c=p.error||null,console.error("[IndexedDB] get failed",{store:at,op:l,path:u.path,name:p.error?.name,message:p.error?.message});try{o.abort()}catch(m){}}}),o.oncomplete=()=>i(),o.onabort=()=>{if(this.isClosing()){i();return}console.error("[IndexedDB] transaction aborted",{store:at,op:l,txError:o.error?.message,reqError:c?.message}),Ja(s,o,c,"Transaction aborted")},o.onerror=()=>{if(this.isClosing()){i();return}console.error("[IndexedDB] transaction error",{store:at,op:l,txError:o.error?.message,reqError:c?.message}),Ja(s,o,c,"Transaction error")}})}async flushPreviewTextLoadQueue(){if(this.isPreviewLoadFlushRunning)return;this.isPreviewLoadFlushRunning=!0;let e=this.previewLoadSessionId;try{this.pruneMovesInFlight();let n=Array.from(this.previewLoadQueue);if(this.previewLoadQueue.clear(),n.length===0)return;let r=n.slice(0,this.previewLoadMaxBatch);if(n.length>this.previewLoadMaxBatch)for(let p of n.slice(this.previewLoadMaxBatch))this.previewLoadQueue.add(p);if(this.isClosing()||e!==this.previewLoadSessionId){for(let p of r)this.previewLoadDeferred.get(p)?.resolve();return}try{await this.init()}catch(p){if(this.isClosing()||e!==this.previewLoadSessionId){for(let g of n)this.previewLoadDeferred.get(g)?.resolve();return}let m=p instanceof Error?p:new Error("Failed to initialize database");console.error("[PreviewText] Failed to initialize database for preview load",m);for(let g of n)this.previewLoadDeferred.get(g)?.resolve();return}let o=this.getDb();if(!o){if(this.isClosing()||e!==this.previewLoadSessionId){for(let p of r)this.previewLoadDeferred.get(p)?.resolve();return}console.error("[PreviewText] Database not initialized for preview load");for(let p of r)this.previewLoadDeferred.get(p)?.resolve();return}let a=[];for(let p of r){let m=this.previewLoadDeferred.get(p);if(!m)continue;let g=this.cache.getFile(p);if(!g||g.previewStatus!=="has"){m.resolve();continue}if(this.cache.getPreviewText(p).length>0){m.resolve();continue}a.push(p)}if(a.length===0)return;let i=new Map,s=[],l=[];if(this.isClosing()||e!==this.previewLoadSessionId){for(let p of a)this.previewLoadDeferred.get(p)?.resolve();return}let c=o.transaction([_t],"readonly"),u=c.objectStore(_t);try{await new Promise((p,m)=>{let g="loadPreviewText:batch",f=null;for(let h of a){let b=u.get(h);b.onsuccess=()=>{let v=b.result;typeof v=="string"&&v.length>0?i.set(h,v):i.set(h,null)},b.onerror=()=>{f=b.error||null,!this.isClosing()&&e===this.previewLoadSessionId&&console.error("[IndexedDB] get failed",{store:_t,op:g,path:h,name:b.error?.name,message:b.error?.message});try{c.abort()}catch(v){}}}c.oncomplete=()=>p(),c.onabort=()=>{if(this.isClosing()||e!==this.previewLoadSessionId){p();return}console.error("[IndexedDB] transaction aborted",{store:_t,op:g,txError:c.error?.message,reqError:f?.message}),Ja(m,c,f,"Transaction aborted")},c.onerror=()=>{if(this.isClosing()||e!==this.previewLoadSessionId){p();return}console.error("[IndexedDB] transaction error",{store:_t,op:g,txError:c.error?.message,reqError:f?.message}),Ja(m,c,f,"Transaction error")}})}catch(p){let m=p instanceof Error?p:new Error("Preview load failed");!this.isClosing()&&e===this.previewLoadSessionId&&console.error("[PreviewText] Failed to load previews",m);for(let g of a)this.previewLoadDeferred.get(g)?.resolve();return}for(let p of a){let m=i.get(p);if(typeof m=="string"&&m.length>0){this.cache.updateFileContent(p,{previewText:m,previewStatus:"has"}),s.push({path:p,changes:{preview:m},changeType:"content"}),this.previewLoadDeferred.get(p)?.resolve();continue}let g=this.cache.getFile(p);if(g&&g.previewStatus==="has"){if(this.isMoveInFlight(p)){this.previewLoadDeferred.get(p)?.resolve();continue}let f=Gu(p);this.cache.updateFileContent(p,{previewText:"",previewStatus:f}),l.push({path:p,previewStatus:f}),s.push({path:p,changes:{preview:null,previewStatus:f},changeType:"content"})}this.previewLoadDeferred.get(p)?.resolve()}if(l.length>0&&!this.isClosing()&&e===this.previewLoadSessionId)try{await this.repairPreviewStatusRecords(l)}catch(p){!this.isClosing()&&e===this.previewLoadSessionId&&console.error("[PreviewText] Failed to persist preview status repairs",p)}s.length>0&&this.emitChanges(s)}finally{this.isPreviewLoadFlushRunning=!1,e===this.previewLoadSessionId&&!this.isClosing()&&this.previewLoadQueue.size>0&&this.schedulePreviewTextLoadFlush()}}endMove(e,n){this.previewTextMoveInFlight.get(n)?.oldPath===e&&this.previewTextMoveInFlight.delete(n)}isMoveInFlight(e){return this.previewTextMoveInFlight.has(e)}pruneMovesInFlight(){let n=Date.now()-1e4;for(let[r,o]of this.previewTextMoveInFlight.entries())o.startedAt<=n&&this.previewTextMoveInFlight.delete(r)}}});function JA(t){return typeof t=="number"&&Number.isFinite(t)&&t>=0?Math.trunc(t):null}function eO(t,e){let n=typeof t.featureImageKey=="string"?t.featureImageKey:null,r=t.featureImageStatus,o=r==="unprocessed"||r==="none"||r==="has"?r:n===null?"unprocessed":"none",a=t.previewStatus,i=a==="unprocessed"||a==="none"||a==="has"?a:typeof t.preview=="string"?t.preview.length>0?"has":"none":typeof e=="string"?Gu(e):"unprocessed";t.mtime=typeof t.mtime=="number"?t.mtime:0,t.markdownPipelineMtime=typeof t.markdownPipelineMtime=="number"?t.markdownPipelineMtime:t.mtime,t.tagsMtime=typeof t.tagsMtime=="number"?t.tagsMtime:t.mtime,t.metadataMtime=typeof t.metadataMtime=="number"?t.metadataMtime:t.mtime,t.fileThumbnailsMtime=typeof t.fileThumbnailsMtime=="number"?t.fileThumbnailsMtime:t.mtime,t.tags=Array.isArray(t.tags)?t.tags:null,t.wordCount=JA(t.wordCount),t.characterCountWithSpaces=JA(t.characterCountWithSpaces),t.characterCountWithoutSpaces=JA(t.characterCountWithoutSpaces);let s=ZC(t.taskTotal,t.taskUnfinished);t.taskTotal=s.taskTotal,t.taskUnfinished=s.taskUnfinished;let l=t.properties??t.customProperty;return t.properties=fW(l)?l:null,"customProperty"in t&&delete t.customProperty,t.previewStatus=i,t.featureImage=null,t.featureImageStatus=o,t.featureImageKey=n,t.metadata=t.metadata&&typeof t.metadata=="object"?t.metadata:null,"preview"in t&&delete t.preview,t}function bW(t){let e={...t};return eO(e)}var tO=U(()=>{Cv()});async function SW(t){let{db:e,cache:n}=t;n.clear();let r=(i,s)=>new Promise((l,c)=>{i.onsuccess=()=>l(i.result),i.onerror=()=>c(km(i.error,s))}),o=5e3,a=null;for(;;){let s=e.transaction([at],"readonly").objectStore(at),l=a===null?void 0:IDBKeyRange.lowerBound(a,!0),c=s.getAllKeys(l,o),u=s.getAll(l,o),[p,m]=await Promise.all([r(c,"getAllKeys failed"),r(u,"getAll failed")]);if(p.length===0)break;let g=Math.min(p.length,m.length);for(let f=0;f<g;f+=1){let h=p[f];typeof h=="string"&&n.updateFile(h,eO(m[f],h))}if(a=p[p.length-1],p.length<o)break}n.markInitialized()}var wW=U(()=>{Qw();Th();tO()});function TW(t){let e=t.target;if(!(e instanceof IDBOpenDBRequest))return;let n=e.result;if(!n.objectStoreNames.contains(at)){let o=n.createObjectStore(at);o.createIndex("mtime","mtime",{unique:!1}),o.createIndex("tags","tags",{unique:!1,multiEntry:!0})}n.objectStoreNames.contains(jt)||n.createObjectStore(jt),n.objectStoreNames.contains(_t)||n.createObjectStore(_t);let r=e.transaction;if(r){if(t.oldVersion<2){try{r.objectStoreNames.contains(at)&&r.objectStore(at).clear()}catch(o){console.error("[IndexedDB] clear failed during upgrade",{store:at,error:o})}try{r.objectStoreNames.contains(jt)&&r.objectStore(jt).clear()}catch(o){console.error("[IndexedDB] clear failed during upgrade",{store:jt,error:o})}try{r.objectStoreNames.contains(_t)&&r.objectStore(_t).clear()}catch(o){console.error("[IndexedDB] clear failed during upgrade",{store:_t,error:o})}}if(t.oldVersion<3){let o=r.objectStore(at),a=r.objectStore(_t),i=o.openCursor();i.onsuccess=()=>{let s=i.result;if(!s)return;let l=s.key;if(typeof l!="string"){s.continue();return}let c=s.value;if(!ka(c)){s.continue();return}let u=c,p=u.preview,m=typeof p=="string"?p:null,g=h=>{delete u.preview,u.previewStatus=h,u.featureImage=null;let b=s.update(u);b.onsuccess=()=>s.continue(),b.onerror=v=>{v.preventDefault(),console.error("[IndexedDB] cursor.update failed during preview migration",{store:at,path:l,name:b.error?.name,message:b.error?.message}),s.continue()}};if(m===null){g("unprocessed");return}if(m.length===0){g("none");return}let f=a.put(m,l);f.onsuccess=()=>g("has"),f.onerror=h=>{h.preventDefault(),console.error("[IndexedDB] put failed during preview migration",{store:_t,path:l,name:f.error?.name,message:f.error?.message}),g("unprocessed")}},i.onerror=()=>{console.error("[IndexedDB] preview migration cursor failed",{store:at,name:i.error?.name,message:i.error?.message})}}}}var kW=U(()=>{qw();Ot();Th()});function qle(t){return String(t)}function Yle(t){throw new Error(`Unsupported content provider type: ${qle(t)}`)}function kh(t){switch(t){case"markdownPipeline":return"markdownPipelineMtime";case"tags":return"tagsMtime";case"metadata":return"metadataMtime";case"fileThumbnails":return"fileThumbnailsMtime";default:return Yle(t)}}var eN=U(()=>{});async function FW(t,e){let n=e.contentUpdates,r=e.processedMtimeUpdates??[],o=e.provider;if(r.length>0&&!o)throw new Error("Provider type required when updating processed mtimes");if(n.length===0&&r.length===0)return;let a=new Map;for(let k of n)a.set(k.path,k);let i=new Map;for(let k of r)i.set(k.path,k);let s=new Set;if(a.forEach((k,F)=>s.add(F)),i.forEach((k,F)=>s.add(F)),s.size===0)return;let l=n.some(k=>k.preview!==void 0),c=n.some(k=>k.featureImageKey!==void 0||k.featureImage!==void 0),u=[at];c&&u.push(jt),l&&u.push(_t);let p=t.db.transaction(u,"readwrite"),m=p.objectStore(at),g=c?p.objectStore(jt):null,f=l?p.objectStore(_t):null,h=[],b=[],v=new Set,y=[],S=0,w=[];await new Promise((k,F)=>{let P="batchUpdateFileContentAndProviderProcessedMtimes",T=null;s.forEach(I=>{let N=a.get(I),O=i.get(I),K=m.get(I);K.onsuccess=()=>{let G=K.result||null,X=O?.mtime??0,L=G?t.normalizeFileData(G):t.normalizeFileData(Pv({mtime:X,path:I}));!G&&X===0&&N&&(S+=1,w.length<5&&w.push(I));let V={...L},D={},A=!1,_=!1,E=!1,R=!1,M=o?kh(o):null,x=!o||!O||!M||V[M]===O.expectedPreviousMtime?N:null,z=x?.featureImageKey!==void 0||x?.featureImage!==void 0,H=x&&z?KC({existingKey:L.featureImageKey,existingStatus:L.featureImageStatus,featureImageKey:x.featureImageKey,featureImage:x.featureImage}):null;if(x){if(x.tags!==void 0&&(V.tags=x.tags,D.tags=x.tags,R=!0),x.wordCount!==void 0&&(V.wordCount=x.wordCount,D.wordCount=x.wordCount,R=!0),x.characterCountWithSpaces!==void 0&&(V.characterCountWithSpaces=x.characterCountWithSpaces,D.characterCountWithSpaces=x.characterCountWithSpaces,R=!0),x.characterCountWithoutSpaces!==void 0&&(V.characterCountWithoutSpaces=x.characterCountWithoutSpaces,D.characterCountWithoutSpaces=x.characterCountWithoutSpaces,R=!0),x.taskTotal!==void 0||x.taskUnfinished!==void 0){let j=ZC(x.taskTotal,x.taskUnfinished);V.taskTotal=j.taskTotal,V.taskUnfinished=j.taskUnfinished,D.taskTotal=j.taskTotal,D.taskUnfinished=j.taskUnfinished,R=!0}if(x.properties!==void 0&&(V.properties=x.properties,D.properties=x.properties,R=!0),x.preview!==void 0){let j=x.preview.length>0?"has":"none";if(V.previewStatus=j,D.preview=x.preview,L.previewStatus!==j&&(D.previewStatus=j),R=!0,f&&j==="has"){let J=f.put(x.preview,I);J.onerror=()=>{T=J.error||null,console.error("[IndexedDB] put failed",{store:_t,op:P,path:I,name:J.error?.name,message:J.error?.message})},y.push({path:I,previewText:x.preview,previewStatus:j})}else if(f){let J=f.delete(I);J.onerror=()=>{T=J.error||null,console.error("[IndexedDB] delete failed",{store:_t,op:P,path:I,name:J.error?.name,message:J.error?.message})}}}H&&(H.changes.featureImageKey!==void 0&&(D.featureImageKey=H.changes.featureImageKey,R=!0),H.changes.featureImageStatus!==void 0&&(D.featureImageStatus=H.changes.featureImageStatus,R=!0),V.featureImageKey=H.nextKey,V.featureImage=null,V.featureImageStatus=H.nextStatus,H.shouldClearCache&&v.add(I)),x.metadata!==void 0&&(A=Yu(L.metadata,x.metadata),_=_c(L.metadata,x.metadata),E=qu(L.metadata,x.metadata),V.metadata=x.metadata,D.metadata=x.metadata,R=!0)}let Y=!1;if(O&&o){let{mtime:$,expectedPreviousMtime:j}=O,J=kh(o);V[J]===j&&V[J]!==$&&(V[J]=$,Y=!0)}if(R||Y){let $=m.put(V,I);if($.onerror=()=>{T=$.error||null,console.error("[IndexedDB] put failed",{store:at,op:P,path:I,name:$.error?.name,message:$.error?.message})},g&&H){if(H.blobUpdate){let j=g.put(H.blobUpdate,I);j.onerror=()=>{T=j.error||null,console.error("[IndexedDB] put failed",{store:jt,op:P,path:I,name:j.error?.name,message:j.error?.message})}}else if(H.shouldDeleteBlob){let j=g.delete(I);j.onerror=()=>{T=j.error||null,console.error("[IndexedDB] delete failed",{store:jt,op:P,path:I,name:j.error?.name,message:j.error?.message})}}}if(h.push({path:I,data:V}),R){let j=D.preview!==void 0||D.previewStatus!==void 0||D.featureImageKey!==void 0||D.featureImageStatus!==void 0||D.wordCount!==void 0||D.characterCountWithSpaces!==void 0||D.characterCountWithoutSpaces!==void 0||D.taskTotal!==void 0||D.taskUnfinished!==void 0||D.properties!==void 0,J=D.metadata!==void 0||D.tags!==void 0,oe={path:I,changes:D,changeType:j&&J?"both":j?"content":"metadata"};D.metadata!==void 0&&(oe.metadataHiddenChanged=A,oe.metadataNameChanged=_,oe.metadataDecorationChanged=E),b.push(oe)}}},K.onerror=()=>{T=K.error||null,console.error("[IndexedDB] get failed",{store:at,op:P,path:I,name:K.error?.name,message:K.error?.message});try{p.abort()}catch(G){}}}),p.oncomplete=()=>k(),p.onabort=()=>{console.error("[IndexedDB] transaction aborted",{store:at,op:P,txError:p.error?.message,reqError:T?.message}),Ja(F,p,T,"Transaction aborted")},p.onerror=()=>{console.error("[IndexedDB] transaction error",{store:at,op:P,txError:p.error?.message,reqError:T?.message}),Ja(F,p,T,"Transaction error")}}),h.length>0&&(t.cache.batchUpdate(h),y.length>0&&y.forEach(k=>{t.cache.updateFileContent(k.path,{previewText:k.previewText,previewStatus:k.previewStatus})}),b.length>0&&t.emitChanges(b)),v.size>0&&v.forEach(k=>t.featureImageBlobs.deleteFromCache(k)),S>0&&console.error("[IndexedDB] Created file record without known mtime during content update",{count:S,examples:w})}var PW=U(()=>{qw();eN();Th();Cv();Qw()});async function CW(t,e){let{path:n,preview:r,image:o,metadata:a,featureImageKey:i}=e,s=t.db.transaction([at,jt,_t],"readwrite"),l=s.objectStore(at),c=s.objectStore(jt),u=s.objectStore(_t),p={},m=null,g=!1,f=!1,h=!1,b=!1,v="updateFileContent",y=null;if(await new Promise((S,w)=>{let k=l.get(n);k.onsuccess=()=>{let F=k.result||null;if(!F){S();return}let P=t.normalizeFileData(F),T={...P},I=KC({existingKey:P.featureImageKey,existingStatus:P.featureImageStatus,featureImageKey:i,featureImage:o});if(I.changes.featureImageKey!==void 0&&(p.featureImageKey=I.changes.featureImageKey),I.changes.featureImageStatus!==void 0&&(p.featureImageStatus=I.changes.featureImageStatus),I.shouldClearCache&&(b=!0),r!==void 0){let O=r.length>0?"has":"none";if(T.previewStatus=O,p.preview=r,P.previewStatus!==O&&(p.previewStatus=O),O==="has"){let K=u.put(r,n);K.onerror=()=>{y=K.error||null,console.error("[IndexedDB] put failed",{store:_t,op:v,path:n,name:K.error?.name,message:K.error?.message})}}else{let K=u.delete(n);K.onerror=()=>{y=K.error||null,console.error("[IndexedDB] delete failed",{store:_t,op:v,path:n,name:K.error?.name,message:K.error?.message})}}}if(a!==void 0&&(T.metadata=a,p.metadata=a,g=Yu(P.metadata,a),f=_c(P.metadata,a),h=qu(P.metadata,a)),T.featureImageKey=I.nextKey,T.featureImage=null,T.featureImageStatus=I.nextStatus,m=T,I.blobUpdate){let O=c.put(I.blobUpdate,n);O.onerror=()=>{y=O.error||null,console.error("[IndexedDB] put failed",{store:jt,op:v,path:n,name:O.error?.name,message:O.error?.message})}}else if(I.shouldDeleteBlob){let O=c.delete(n);O.onerror=()=>{y=O.error||null,console.error("[IndexedDB] delete failed",{store:jt,op:v,path:n,name:O.error?.name,message:O.error?.message})}}let N=l.put(T,n);N.onerror=()=>{y=N.error||null,console.error("[IndexedDB] put failed",{store:at,op:v,path:n,name:N.error?.name,message:N.error?.message})}},k.onerror=()=>{y=k.error||null,console.error("[IndexedDB] get failed",{store:at,op:v,path:n,name:k.error?.name,message:k.error?.message});try{s.abort()}catch(F){}},s.oncomplete=()=>S(),s.onabort=()=>{console.error("[IndexedDB] transaction aborted",{store:at,op:v,path:n,txError:s.error?.message,reqError:y?.message}),t.rejectWithTransactionError(w,s,y,"Transaction aborted")},s.onerror=()=>{console.error("[IndexedDB] transaction error",{store:at,op:v,path:n,txError:s.error?.message,reqError:y?.message}),t.rejectWithTransactionError(w,s,y,"Transaction error")}}),m){let S=m;if(t.cache.updateFile(n,S),r!==void 0&&t.cache.updateFileContent(n,{previewText:r,previewStatus:S.previewStatus}),b&&t.featureImageBlobs.deleteFromCache(n),Object.keys(p).length>0){let w=p.preview!==void 0||p.previewStatus!==void 0||p.featureImageKey!==void 0||p.featureImageStatus!==void 0,k=p.metadata!==void 0,P={path:n,changes:p,changeType:w&&k?"both":w?"content":"metadata"};p.metadata!==void 0&&(P.metadataHiddenChanged=g,P.metadataNameChanged=f,P.metadataDecorationChanged=h),t.emitChanges([P])}}}async function NW(t,e){let{path:n,metadata:r}=e,o=t.db.transaction([at],"readwrite"),a=o.objectStore(at),i=null,s=!1,l=!1,c=!1,u="updateFileMetadata",p=null;if(await new Promise((m,g)=>{let f=a.get(n);f.onsuccess=()=>{let h=f.result||null;if(!h){m();return}let b=t.normalizeFileData(h),v=vW(b.metadata,r);if(!v.changed){m();return}let y=v.metadata;s=Yu(b.metadata,y),l=_c(b.metadata,y),c=qu(b.metadata,y),i={...b,metadata:y};let S=a.put(i,n);S.onerror=()=>{p=S.error||null,console.error("[IndexedDB] put failed",{store:at,op:u,path:n,name:S.error?.name,message:S.error?.message})}},f.onerror=()=>{p=f.error||null,console.error("[IndexedDB] get failed",{store:at,op:u,path:n,name:f.error?.name,message:f.error?.message});try{o.abort()}catch(h){}},o.oncomplete=()=>m(),o.onabort=()=>{console.error("[IndexedDB] transaction aborted",{store:at,op:u,path:n,txError:o.error?.message,reqError:p?.message}),t.rejectWithTransactionError(g,o,p,"Transaction aborted")},o.onerror=()=>{console.error("[IndexedDB] transaction error",{store:at,op:u,path:n,txError:o.error?.message,reqError:p?.message}),t.rejectWithTransactionError(g,o,p,"Transaction error")}}),i){let m=i;t.cache.updateFile(n,m),t.emitChanges([{path:n,changes:{metadata:m.metadata},changeType:"metadata",metadataHiddenChanged:s,metadataNameChanged:l,metadataDecorationChanged:c}])}}async function IW(t,e){let{path:n,type:r}=e,o=t.db.transaction([at,jt,_t],"readwrite"),a=o.objectStore(at),i=o.objectStore(jt),s=o.objectStore(_t),l={},c=null,u=!1,p=!1,m=!1,g=!1,f="clearFileContent",h=null;if(await new Promise((b,v)=>{let y=a.get(n);y.onsuccess=()=>{let S=y.result||null;if(!S){b();return}let w={...t.normalizeFileData(S)};if(r==="preview"||r==="all"){let F=Gu(n);w.previewStatus!==F&&(w.previewStatus=F,l.preview=null,l.previewStatus=F);let P=s.delete(n);P.onerror=()=>{h=P.error||null,console.error("[IndexedDB] delete failed",{store:_t,op:f,path:n,name:P.error?.name,message:P.error?.message})}}if(r==="featureImage"||r==="all"){w.featureImageKey!==null&&(w.featureImageKey=null,l.featureImageKey=null),w.featureImageStatus!=="unprocessed"&&(w.featureImageStatus="unprocessed",l.featureImageStatus="unprocessed"),w.featureImage=null,g=!0;let F=i.delete(n);F.onerror=()=>{h=F.error||null,console.error("[IndexedDB] delete failed",{store:jt,op:f,path:n,name:F.error?.name,message:F.error?.message})}}(r==="metadata"||r==="all")&&w.metadata!==null&&(u=Yu(w.metadata,null),p=_c(w.metadata,null),m=qu(w.metadata,null),w.metadata=null,l.metadata=null),c=w;let k=a.put(w,n);k.onerror=()=>{h=k.error||null,console.error("[IndexedDB] put failed",{store:at,op:f,path:n,name:k.error?.name,message:k.error?.message})}},y.onerror=()=>{h=y.error||null,console.error("[IndexedDB] get failed",{store:at,op:f,path:n,name:y.error?.name,message:y.error?.message});try{o.abort()}catch(S){}},o.oncomplete=()=>b(),o.onabort=()=>{console.error("[IndexedDB] transaction aborted",{store:at,op:f,path:n,txError:o.error?.message,reqError:h?.message}),t.rejectWithTransactionError(v,o,h,"Transaction aborted")},o.onerror=()=>{console.error("[IndexedDB] transaction error",{store:at,op:f,path:n,txError:o.error?.message,reqError:h?.message}),t.rejectWithTransactionError(v,o,h,"Transaction error")}}),c&&(t.cache.updateFile(n,c),g&&t.featureImageBlobs.deleteFromCache(n),Object.keys(l).length>0)){let b=l.preview===null||l.previewStatus!==void 0||l.featureImageKey===null||l.featureImageStatus!==void 0,v=l.metadata===null,S={path:n,changes:l,changeType:b&&v?"both":b?"content":"metadata"};l.metadata!==void 0&&(S.metadataHiddenChanged=u,S.metadataNameChanged=p,S.metadataDecorationChanged=m),t.emitChanges([S])}}async function xW(t,e){let{type:n}=e,r=t.db.transaction([at,jt,_t],"readwrite"),o=r.objectStore(at),a=r.objectStore(jt),i=r.objectStore(_t),s=[],l=[],c="batchClearAllFileContent",u=null;await new Promise((p,m)=>{if(n==="preview"||n==="all"){let f=i.clear();f.onerror=()=>{u=f.error||null,console.error("[IndexedDB] clear failed",{store:_t,op:c,name:f.error?.name,message:f.error?.message})}}if(n==="featureImage"||n==="all"){let f=a.clear();f.onerror=()=>{u=f.error||null,console.error("[IndexedDB] clear failed",{store:jt,op:c,name:f.error?.name,message:f.error?.message})}}let g=o.openCursor();g.onsuccess=()=>{let f=g.result;if(f){let h=t.normalizeFileData(f.value),b={...h},v={},y=!1,S=!1,w=!1,k=!1,F=f.key;if(typeof F!="string"){f.continue();return}let P=qo(F);if(n==="preview"||n==="all"){let T=P?"unprocessed":"none";b.previewStatus!==T&&(b.previewStatus=T,v.preview=null,v.previewStatus=T,k=!0)}if((n==="featureImage"||n==="all")&&b.featureImageKey!==null&&(b.featureImageKey=null,v.featureImageKey=null,k=!0),(n==="featureImage"||n==="all")&&(b.featureImage=null,b.featureImageStatus!=="unprocessed"&&(b.featureImageStatus="unprocessed",v.featureImageStatus="unprocessed",k=!0)),(n==="metadata"||n==="all")&&(P?b.metadata!==null&&(y=Yu(h.metadata,null),S=_c(h.metadata,null),w=qu(h.metadata,null),b.metadata=null,v.metadata=null,k=!0):b.metadata===null&&(y=Yu(h.metadata,{}),S=_c(h.metadata,{}),w=qu(h.metadata,{}),b.metadata={},v.metadata={},k=!0)),(n==="tags"||n==="all")&&(P?b.tags!==null&&(b.tags=null,v.tags=null,k=!0):b.tags===null&&(b.tags=[],v.tags=[],k=!0)),n==="wordCount"||n==="all"){let T=P?null:0;b.wordCount!==T&&(b.wordCount=T,v.wordCount=T,k=!0)}if(n==="characterCount"||n==="all"){let T=P?null:0;(b.characterCountWithSpaces!==T||b.characterCountWithoutSpaces!==T)&&(b.characterCountWithSpaces=T,b.characterCountWithoutSpaces=T,v.characterCountWithSpaces=T,v.characterCountWithoutSpaces=T,k=!0)}if((n==="properties"||n==="all")&&b.properties!==null&&(b.properties=null,v.properties=null,k=!0),k){let T=f.update(b);T.onerror=()=>{u=T.error||null,console.error("[IndexedDB] cursor.update failed",{store:at,op:c,path:F,name:T.error?.name,message:T.error?.message});try{r.abort()}catch(G){}},l.push({path:F,data:b});let I=v.preview===null||v.previewStatus!==void 0||v.featureImageKey===null||v.featureImageStatus!==void 0||v.wordCount!==void 0||v.characterCountWithSpaces!==void 0||v.characterCountWithoutSpaces!==void 0||v.properties===null,N=v.metadata===null||v.tags!==void 0,K={path:F,changes:v,changeType:I&&N?"both":I?"content":"metadata"};v.metadata!==void 0&&(K.metadataHiddenChanged=y,K.metadataNameChanged=S,K.metadataDecorationChanged=w),s.push(K)}f.continue()}},g.onerror=()=>{let f=g.error;u=f||null,console.error("[IndexedDB] openCursor failed",{store:at,op:c,name:f?.name,message:f?.message}),m(t.normalizeIdbError(f,"Cursor request failed"))},r.oncomplete=()=>{l.length>0&&(t.cache.batchUpdate(l),t.emitChanges(s)),(n==="featureImage"||n==="all")&&t.featureImageBlobs.clearMemoryCaches(),p()},r.onabort=()=>{console.error("[IndexedDB] transaction aborted",{store:at,op:c,txError:r.error?.message,reqError:u?.message}),t.rejectWithTransactionError(m,r,u,"Transaction aborted")},r.onerror=()=>{console.error("[IndexedDB] transaction error",{store:at,op:c,txError:r.error?.message,reqError:u?.message}),t.rejectWithTransactionError(m,r,u,"Transaction error")}})}async function EW(t,e){let{scope:n}=e,r=t.db.transaction([at,jt],"readwrite"),o=r.objectStore(at),a=r.objectStore(jt),i=[],s=[],l=[],c="batchClearFeatureImageContent",u=null;if(await new Promise((p,m)=>{let g=o.openCursor();g.onsuccess=()=>{let f=g.result;if(!f)return;let h=f.key;if(typeof h!="string"){f.continue();return}let b=qo(h);if(!(n==="markdown"?b:!b)){f.continue();return}let y=t.normalizeFileData(f.value),S={...y},w={},k=!1;if(S.featureImageKey!==null&&(S.featureImageKey=null,w.featureImageKey=null,k=!0),S.featureImage=null,S.featureImageStatus!=="unprocessed"&&(S.featureImageStatus="unprocessed",w.featureImageStatus="unprocessed",k=!0),k){let P=f.update(S);P.onerror=()=>{u=P.error||null,console.error("[IndexedDB] cursor.update failed",{store:at,op:c,path:h,name:P.error?.name,message:P.error?.message});try{r.abort()}catch(T){}},s.push({path:h,data:S}),i.push({path:h,changes:w,changeType:"content"})}if(y.featureImageKey!==null||y.featureImageStatus==="has"){let P=a.delete(h);P.onerror=()=>{u=P.error||null,console.error("[IndexedDB] delete failed",{store:jt,op:c,path:h,name:P.error?.name,message:P.error?.message})},l.push(h)}f.continue()},g.onerror=()=>{let f=g.error;u=f||null,console.error("[IndexedDB] openCursor failed",{store:at,op:c,name:f?.name,message:f?.message}),m(t.normalizeIdbError(f,"Cursor request failed"))},r.oncomplete=()=>p(),r.onabort=()=>{console.error("[IndexedDB] transaction aborted",{store:at,op:c,txError:r.error?.message,reqError:u?.message}),t.rejectWithTransactionError(m,r,u,"Transaction aborted")},r.onerror=()=>{console.error("[IndexedDB] transaction error",{store:at,op:c,txError:r.error?.message,reqError:u?.message}),t.rejectWithTransactionError(m,r,u,"Transaction error")}}),s.length>0&&(t.cache.batchUpdate(s),t.emitChanges(i)),l.length>0)for(let p of l)t.featureImageBlobs.deleteFromCache(p)}async function MW(t,e){let{paths:n,type:r}=e,o=t.db.transaction([at,jt,_t],"readwrite"),a=o.objectStore(at),i=o.objectStore(jt),s=o.objectStore(_t),l=[],c=[],u="batchClearFileContent",p=null;if(await new Promise((m,g)=>{if(n.length===0){m();return}n.forEach(f=>{let h=a.get(f);h.onsuccess=()=>{let b=h.result||null;if(!b)return;let v={...t.normalizeFileData(b)},y={},S=!1,w=!1,k=!1,F=!1;if(r==="preview"||r==="all"){let P=Gu(f);v.previewStatus!==P&&(v.previewStatus=P,y.preview=null,y.previewStatus=P,F=!0);let T=s.delete(f);T.onerror=()=>{p=T.error||null,console.error("[IndexedDB] delete failed",{store:_t,op:u,path:f,name:T.error?.name,message:T.error?.message})}}if((r==="featureImage"||r==="all")&&v.featureImageKey!==null&&(v.featureImageKey=null,y.featureImageKey=null,F=!0),(r==="featureImage"||r==="all")&&(v.featureImage=null,v.featureImageStatus!=="unprocessed"&&(v.featureImageStatus="unprocessed",y.featureImageStatus="unprocessed",F=!0)),(r==="metadata"||r==="all")&&v.metadata!==null&&(S=Yu(v.metadata,null),w=_c(v.metadata,null),k=qu(v.metadata,null),v.metadata=null,y.metadata=null,F=!0),(r==="tags"||r==="all")&&v.tags!==null&&(v.tags=null,y.tags=null,F=!0),(r==="properties"||r==="all")&&v.properties!==null&&(v.properties=null,y.properties=null,F=!0),F){let P=a.put(v,f);if(P.onerror=()=>{p=P.error||null,console.error("[IndexedDB] put failed",{store:at,op:u,path:f,name:P.error?.name,message:P.error?.message})},r==="featureImage"||r==="all"){let K=i.delete(f);K.onerror=()=>{p=K.error||null,console.error("[IndexedDB] delete failed",{store:jt,op:u,path:f,name:K.error?.name,message:K.error?.message})}}l.push({path:f,data:v});let T=y.preview===null||y.previewStatus!==void 0||y.featureImageKey===null||y.featureImageStatus!==void 0||y.properties===null,I=y.metadata===null||y.tags!==void 0,O={path:f,changes:y,changeType:T&&I?"both":T?"content":"metadata"};y.metadata!==void 0&&(O.metadataHiddenChanged=S,O.metadataNameChanged=w,O.metadataDecorationChanged=k),c.push(O)}},h.onerror=()=>{p=h.error||null,console.error("[IndexedDB] get failed",{store:at,op:u,path:f,name:h.error?.name,message:h.error?.message});try{o.abort()}catch(b){}}}),o.oncomplete=()=>m(),o.onabort=()=>{console.error("[IndexedDB] transaction aborted",{store:at,op:u,txError:o.error?.message,reqError:p?.message}),t.rejectWithTransactionError(g,o,p,"Transaction aborted")},o.onerror=()=>{console.error("[IndexedDB] transaction error",{store:at,op:u,txError:o.error?.message,reqError:p?.message}),t.rejectWithTransactionError(g,o,p,"Transaction error")}}),l.length>0&&(t.cache.batchUpdate(l),t.emitChanges(c)),r==="featureImage"||r==="all")for(let m of n)t.featureImageBlobs.deleteFromCache(m)}var RW=U(()=>{Mr();qw();Th();Cv()});var tN,Nv=U(()=>{Ue();Jr();Wu();Mr();qw();lW();dW();yW();wW();Th();Qw();tO();kW();Cv();PW();RW();tN=class{constructor(e,n){this.changeListeners=new Set;this.db=null;this.fileChangeListeners=new Map;this.isClosing=!1;this.initPromise=null;this.pendingRebuildNotice=!1;this.dbName=`notebooknavigator/cache/${e}`;let r=n?.previewTextCacheMaxEntries??uW;this.cache=n?.cache??new XC({previewTextCacheMaxEntries:r});let o=Math.max(0,r),a=Math.max(1,n?.previewLoadMaxBatch??pW),i=n?.featureImageCacheMaxEntries??BK;this.featureImageBlobs=new UC(i),this.featureImages=new QC({getDb:()=>this.db,init:()=>this.init(),isClosing:()=>this.isClosing,blobs:this.featureImageBlobs}),this.previewTexts=new JC({deps:{cache:this.cache,getDb:()=>this.db,init:()=>this.init(),isClosing:()=>this.isClosing,emitChanges:s=>this.emitChanges(s)},previewTextCacheMaxEntries:o,previewLoadMaxBatch:a})}consumePendingRebuildNotice(){let e=this.pendingRebuildNotice;return this.pendingRebuildNotice=!1,e}normalizeFileData(e){return bW(e)}onContentChange(e){return this.changeListeners.add(e),()=>this.changeListeners.delete(e)}onFileContentChange(e,n){let r=this.fileChangeListeners.get(e);return r||(r=new Set,this.fileChangeListeners.set(e,r)),r.add(n),()=>{let o=this.fileChangeListeners.get(e);o&&(o.delete(n),o.size===0&&this.fileChangeListeners.delete(e))}}emitChanges(e){if(e.length!==0){this.changeListeners.forEach(n=>{try{n(e)}catch(r){console.error("Error in change listener:",r)}});for(let n of e){let r=this.fileChangeListeners.get(n.path);r&&r.forEach(o=>{try{o(n.changes)}catch(a){console.error("Error in file change listener:",a)}})}}}isInitialized(){return this.db!==null}async init(){if(!this.isClosing&&!this.db)return this.initPromise?this.initPromise:(this.initPromise=this.checkSchemaAndInit().catch(e=>{throw console.error("Failed to initialize database:",e),this.initPromise=null,e}),this.initPromise)}parseStoredVersion(e){if(typeof e=="number"&&Number.isFinite(e))return Math.trunc(e);if(typeof e=="string"){let n=Number.parseInt(e,10);return Number.isFinite(n)?n:null}return null}getStoredVersion(e){let n=ye.get(e);return this.parseStoredVersion(n)}isVersionError(e){return mW(e)}async checkSchemaAndInit(){let e=this.getStoredVersion(ut.databaseSchemaVersionKey),n=this.getStoredVersion(ut.databaseContentVersionKey),r=ZA,o=cW,a=e===null,i=n===null,s=e!==null&&e!==r,l=n!==null&&n!==o,c=s&&e!==null&&e>r,u=[];c&&u.push("schemaDowngrade"),l&&u.push("contentChanged"),a&&u.push("schemaVersionMissing"),i&&u.push("contentVersionMissing"),Rr("indexedDb.versionCheck",{storedSchemaVersion:e,storedContentVersion:n,currentSchemaVersion:r,currentContentVersion:o,rebuildReasons:u}),s?c?(console.log(`Database schema version downgraded from ${e} to ${r}. Recreating database.`),await this.deleteDatabase()):console.log(`Database schema version upgraded from ${e} to ${r}.`):a&&console.log("Database schema version is missing. Rebuilding database."),l?console.log(`Content version changed from ${n} to ${o}. Rebuilding content.`):i&&console.log("Content version is missing. Rebuilding content.");let p=c||l||a||i;this.pendingRebuildNotice=c||l;try{await this.openDatabase(p)}catch(m){this.isVersionError(m)?console.log("Database version mismatch detected. Recreating database."):console.error("Database open failed. Recreating database.",m),this.pendingRebuildNotice=!0,Rr("indexedDb.open.recreate",{error:m}),await this.deleteDatabase(),await this.openDatabase(!0)}p&&(await this.clear(),Rr("indexedDb.rebuildContent",{reasons:u})),ye.set(ut.databaseSchemaVersionKey,r.toString()),ye.set(ut.databaseContentVersionKey,o.toString())}async deleteDatabase(){return this.db&&(this.db.close(),this.db=null),new Promise((e,n)=>{let r=indexedDB.deleteDatabase(this.dbName);r.onsuccess=()=>{e()},r.onerror=()=>{let o=r.error;console.error("Failed to delete database:",o),n(this.normalizeIdbError(o,"Failed to delete database"))},r.onblocked=()=>{console.error("Database deletion blocked"),n(new Error("Database deletion blocked"))}})}normalizeIdbError(e,n){return km(e,n)}rejectWithTransactionError(e,n,r,o){Ja(e,n,r,o)}async openDatabase(e=!1){let n=performance.now();return new Promise((r,o)=>{let a=indexedDB.open(this.dbName,ZA);a.onerror=()=>{let i=a.error;console.error("Database open error:",i),o(this.normalizeIdbError(i,"Failed to open database"))},a.onblocked=()=>{console.error("Database open blocked"),o(new Error("Database open blocked"))},a.onsuccess=async()=>{let i=a.result;if(this.isClosing){try{i.close()}catch{}this.db=null,r();return}if(this.db=i,this.featureImageBlobs.clearMemoryCaches(),this.db&&(this.db.onversionchange=()=>{try{this.db?.close()}catch{}this.db=null}),e)this.cache.resetToEmpty(),Rr("indexedDb.cacheHydration.skipped",{elapsedMs:Math.round(performance.now()-n)});else try{let s=this.db;if(!s){this.cache.resetToEmpty(),r();return}let l=performance.now();await SW({db:s,cache:this.cache}),Rr("indexedDb.cacheHydration.complete",{elapsedMs:Math.round(performance.now()-l),fileCount:this.cache.getFileCount()})}catch(s){Rr("indexedDb.cacheHydration.failed",{error:s}),console.error("[DB Cache] Failed to initialize cache:",s),console.error("[DB Cache] IndexedDB cache hydration failed. Run Notebook Navigator: Rebuild cache to reset the database."),this.cache.resetToEmpty()}r()},a.onupgradeneeded=TW})}async clear(){if(await this.init(),!this.db)throw new Error("Database not initialized");let e=this.db.transaction([at,jt,_t],"readwrite"),n=e.objectStore(at),r=e.objectStore(jt),o=e.objectStore(_t);return new Promise((a,i)=>{let s="clear",l=null,c=n.clear();c.onerror=()=>{l=c.error||null,console.error("[IndexedDB] clear failed",{store:at,name:c.error?.name,message:c.error?.message})};let u=r.clear();u.onerror=()=>{l=u.error||null,console.error("[IndexedDB] clear failed",{store:jt,name:u.error?.name,message:u.error?.message})};let p=o.clear();p.onerror=()=>{l=p.error||null,console.error("[IndexedDB] clear failed",{store:_t,name:p.error?.name,message:p.error?.message})},e.oncomplete=()=>{this.cache.resetToEmpty(),this.featureImageBlobs.clearMemoryCaches(),a()},e.onabort=()=>{console.error("[IndexedDB] transaction aborted",{store:at,op:s,txError:e.error?.message,reqError:l?.message}),this.rejectWithTransactionError(i,e,l,"Transaction aborted")},e.onerror=()=>{console.error("[IndexedDB] transaction error",{store:at,op:s,txError:e.error?.message,reqError:l?.message}),this.rejectWithTransactionError(i,e,l,"Transaction error")}})}getFile(e){return this.cache.isReady()?this.cache.getFile(e):null}seedMemoryFile(e,n){this.cache.isReady()&&this.cache.setClonedFile(e,n)}beginFeatureImageBlobMove(e,n){this.featureImages.beginMove(e,n)}beginPreviewTextMove(e,n){this.previewTexts.beginMove(e,n)}async setFile(e,n){if(await this.init(),!this.db)throw new Error("Database not initialized");let r=this.db.transaction([at],"readwrite"),o=r.objectStore(at);return new Promise((a,i)=>{let l=null,c=this.normalizeFileData({...n,featureImage:null}),u=o.put(c,e);u.onerror=()=>{l=u.error||null,console.error("[IndexedDB] put failed",{store:at,path:e,name:u.error?.name,message:u.error?.message})},r.oncomplete=()=>{this.cache.updateFile(e,c),a()},r.onabort=()=>{console.error("[IndexedDB] transaction aborted",{store:at,op:"put",path:e,txError:r.error?.message,reqError:l?.message}),this.rejectWithTransactionError(i,r,l,"Transaction aborted")},r.onerror=()=>{console.error("[IndexedDB] transaction error",{store:at,op:"put",path:e,txError:r.error?.message,reqError:l?.message}),this.rejectWithTransactionError(i,r,l,"Transaction error")}})}async deleteFile(e){if(await this.init(),!this.db)throw new Error("Database not initialized");let n=this.db.transaction([at,jt,_t],"readwrite"),r=n.objectStore(at),o=n.objectStore(jt),a=n.objectStore(_t);return new Promise((i,s)=>{let l="delete",c=null,u=r.delete(e);u.onerror=()=>{c=u.error||null,console.error("[IndexedDB] delete failed",{store:at,path:e,name:u.error?.name,message:u.error?.message})};let p=o.delete(e);p.onerror=()=>{c=p.error||null,console.error("[IndexedDB] delete failed",{store:jt,path:e,name:p.error?.name,message:p.error?.message})};let m=a.delete(e);m.onerror=()=>{c=m.error||null,console.error("[IndexedDB] delete failed",{store:_t,path:e,name:m.error?.name,message:m.error?.message})},n.oncomplete=()=>{this.cache.deleteFile(e),this.featureImageBlobs.deleteFromCache(e),i()},n.onabort=()=>{console.error("[IndexedDB] transaction aborted",{store:at,op:l,path:e,txError:n.error?.message,reqError:c?.message}),this.rejectWithTransactionError(s,n,c,"Transaction aborted")},n.onerror=()=>{console.error("[IndexedDB] transaction error",{store:at,op:l,path:e,txError:n.error?.message,reqError:c?.message}),this.rejectWithTransactionError(s,n,c,"Transaction error")}})}getFiles(e){return this.cache.isReady()?this.cache.getFiles(e):new Map}async setFiles(e){if(await this.init(),!this.db)throw new Error("Database not initialized");let n=this.db.transaction([at],"readwrite"),r=n.objectStore(at);return new Promise((o,a)=>{let i="put:batch",s=null;if(e.length===0){o();return}let l=e.map(({path:c,data:u})=>({path:c,data:this.normalizeFileData({...u,featureImage:null})}));l.forEach(({path:c,data:u})=>{let p=r.put(u,c);p.onerror=()=>{s=p.error||null,console.error("[IndexedDB] put failed",{store:at,path:c,name:p.error?.name,message:p.error?.message})}}),n.oncomplete=()=>{this.cache.batchUpdate(l),o()},n.onabort=()=>{console.error("[IndexedDB] transaction aborted",{store:at,op:i,txError:n.error?.message,reqError:s?.message}),this.rejectWithTransactionError(a,n,s,"Transaction aborted")},n.onerror=()=>{console.error("[IndexedDB] transaction error",{store:at,op:i,txError:n.error?.message,reqError:s?.message}),this.rejectWithTransactionError(a,n,s,"Transaction error")}})}async upsertFilesWithPatch(e){if(await this.init(),!this.db)throw new Error("Database not initialized");let n=new Map;for(let i of e){let s=n.get(i.path);if(!s){n.set(i.path,i);continue}let l=s.patch?{...s.patch,...i.patch}:i.patch;n.set(i.path,{...i,patch:l})}let r=Array.from(n.values());if(r.length===0)return;let o=this.db.transaction([at],"readwrite"),a=o.objectStore(at);await new Promise((i,s)=>{let l="upsertFilesWithPatch",c=null,u=[];r.forEach(p=>{let m=a.get(p.path);m.onsuccess=()=>{let g=m.result||null,f=g?this.normalizeFileData(g):this.normalizeFileData(p.create),h=p.patch?{...f,...p.patch}:f;h.featureImage=null;let b=this.normalizeFileData(h);u.push({path:p.path,data:b});let v=a.put(b,p.path);v.onerror=()=>{c=v.error||null,console.error("[IndexedDB] put failed",{store:at,op:l,path:p.path,name:v.error?.name,message:v.error?.message})}},m.onerror=()=>{c=m.error||null,console.error("[IndexedDB] get failed",{store:at,op:l,path:p.path,name:m.error?.name,message:m.error?.message})}}),o.oncomplete=()=>{u.length>0&&this.cache.batchUpdate(u),i()},o.onabort=()=>{console.error("[IndexedDB] transaction aborted",{store:at,op:l,txError:o.error?.message,reqError:c?.message}),this.rejectWithTransactionError(s,o,c,"Transaction aborted")},o.onerror=()=>{console.error("[IndexedDB] transaction error",{store:at,op:l,txError:o.error?.message,reqError:c?.message}),this.rejectWithTransactionError(s,o,c,"Transaction error")}})}async deleteFiles(e){if(await this.init(),!this.db)throw new Error("Database not initialized");let n=this.db.transaction([at,jt,_t],"readwrite"),r=n.objectStore(at),o=n.objectStore(jt),a=n.objectStore(_t);return new Promise((i,s)=>{let l="delete:batch",c=null;if(e.length===0){i();return}e.forEach(u=>{let p=r.delete(u);p.onerror=()=>{c=p.error||null,console.error("[IndexedDB] delete failed",{store:at,path:u,name:p.error?.name,message:p.error?.message})};let m=o.delete(u);m.onerror=()=>{c=m.error||null,console.error("[IndexedDB] delete failed",{store:jt,path:u,name:m.error?.name,message:m.error?.message})};let g=a.delete(u);g.onerror=()=>{c=g.error||null,console.error("[IndexedDB] delete failed",{store:_t,path:u,name:g.error?.name,message:g.error?.message})}}),n.oncomplete=()=>{this.cache.batchDelete(e),e.forEach(u=>this.featureImageBlobs.deleteFromCache(u)),i()},n.onabort=()=>{console.error("[IndexedDB] transaction aborted",{store:at,op:l,txError:n.error?.message,reqError:c?.message}),this.rejectWithTransactionError(s,n,c,"Transaction aborted")},n.onerror=()=>{console.error("[IndexedDB] transaction error",{store:at,op:l,txError:n.error?.message,reqError:c?.message}),this.rejectWithTransactionError(s,n,c,"Transaction error")}})}getFilesWithContent(e){return this.cache.isReady()?this.cache.getAllFiles().filter(n=>e==="preview"?n.previewStatus!=="unprocessed":e==="featureImage"?n.featureImageStatus==="has":e==="metadata"?n.metadata!==null:!1):[]}getFileCount(){return this.cache.isReady()?this.cache.getFileCount():0}getAllFiles(){return this.cache.isReady()?this.cache.getAllFilesWithPaths():[]}forEachFile(e){this.cache.isReady()&&this.cache.forEachFile(e)}getFilesNeedingContent(e){if(!this.cache.isReady())return new Set;let n=new Set;return this.cache.forEachFile((r,o)=>{(e==="tags"&&qo(r)&&o.tags===null||e==="preview"&&qo(r)&&o.previewStatus==="unprocessed"||e==="featureImage"&&(o.featureImageKey===null||o.featureImageStatus==="unprocessed")||e==="metadata"&&qo(r)&&o.metadata===null||e==="wordCount"&&qo(r)&&o.wordCount===null||e==="characterCount"&&qo(r)&&(o.characterCountWithSpaces===null||o.characterCountWithoutSpaces===null)||e==="tasks"&&qo(r)&&(o.taskTotal===null||o.taskUnfinished===null)||e==="properties"&&qo(r)&&o.properties===null)&&n.add(r)}),n}getFilesNeedingAnyContent(e){if(!this.cache.isReady()||e.length===0)return new Set;let n=e.includes("tags"),r=e.includes("preview"),o=e.includes("featureImage"),a=e.includes("metadata"),i=e.includes("wordCount"),s=e.includes("characterCount"),l=e.includes("tasks"),c=e.includes("properties"),u=new Set;return this.cache.forEachFile((p,m)=>{let g=qo(p);(n&&g&&m.tags===null||r&&g&&m.previewStatus==="unprocessed"||o&&(m.featureImageKey===null||m.featureImageStatus==="unprocessed")||a&&g&&m.metadata===null||i&&g&&m.wordCount===null||s&&g&&(m.characterCountWithSpaces===null||m.characterCountWithoutSpaces===null)||l&&g&&(m.taskTotal===null||m.taskUnfinished===null)||c&&g&&m.properties===null)&&u.add(p)}),u}async getDatabaseStats(){if(!this.cache.isReady())return{itemCount:0,sizeMB:0};let e=0,n=0;this.cache.forEachFile((o,a)=>{e++,n+=o.length+JSON.stringify(a).length}),await this.forEachPreviewTextRecord((o,a)=>{n+=o.length+a.length}),await this.forEachFeatureImageBlobRecord((o,a)=>{n+=a.blob.size});let r=n/1024/1024;return{itemCount:e,sizeMB:r}}async updateFileContent(e,n,r,o,a){if(await this.init(),!this.db)throw new Error("Database not initialized");await CW({db:this.db,cache:this.cache,featureImageBlobs:this.featureImageBlobs,normalizeFileData:i=>this.normalizeFileData(i),emitChanges:i=>this.emitChanges(i),normalizeIdbError:(i,s)=>this.normalizeIdbError(i,s),rejectWithTransactionError:(i,s,l,c)=>this.rejectWithTransactionError(i,s,l,c)},{path:e,preview:n,image:r,metadata:o,featureImageKey:a})}async updateFileMetadata(e,n){if(await this.init(),!this.db)throw new Error("Database not initialized");await NW({db:this.db,cache:this.cache,featureImageBlobs:this.featureImageBlobs,normalizeFileData:r=>this.normalizeFileData(r),emitChanges:r=>this.emitChanges(r),normalizeIdbError:(r,o)=>this.normalizeIdbError(r,o),rejectWithTransactionError:(r,o,a,i)=>this.rejectWithTransactionError(r,o,a,i)},{path:e,metadata:n})}async updateProviderProcessedMtimes(e,n){await this.batchUpdateFileContentAndProviderProcessedMtimes({provider:e,contentUpdates:[],processedMtimeUpdates:n})}async clearFileContent(e,n){if(await this.init(),!this.db)throw new Error("Database not initialized");await IW({db:this.db,cache:this.cache,featureImageBlobs:this.featureImageBlobs,normalizeFileData:r=>this.normalizeFileData(r),emitChanges:r=>this.emitChanges(r),normalizeIdbError:(r,o)=>this.normalizeIdbError(r,o),rejectWithTransactionError:(r,o,a,i)=>this.rejectWithTransactionError(r,o,a,i)},{path:e,type:n})}async batchClearAllFileContent(e){if(await this.init(),!this.db)throw new Error("Database not initialized");await xW({db:this.db,cache:this.cache,featureImageBlobs:this.featureImageBlobs,normalizeFileData:n=>this.normalizeFileData(n),emitChanges:n=>this.emitChanges(n),normalizeIdbError:(n,r)=>this.normalizeIdbError(n,r),rejectWithTransactionError:(n,r,o,a)=>this.rejectWithTransactionError(n,r,o,a)},{type:e})}async batchClearFeatureImageContent(e){if(await this.init(),!this.db)throw new Error("Database not initialized");await EW({db:this.db,cache:this.cache,featureImageBlobs:this.featureImageBlobs,normalizeFileData:n=>this.normalizeFileData(n),emitChanges:n=>this.emitChanges(n),normalizeIdbError:(n,r)=>this.normalizeIdbError(n,r),rejectWithTransactionError:(n,r,o,a)=>this.rejectWithTransactionError(n,r,o,a)},{scope:e})}async batchClearFileContent(e,n){if(await this.init(),!this.db)throw new Error("Database not initialized");await MW({db:this.db,cache:this.cache,featureImageBlobs:this.featureImageBlobs,normalizeFileData:r=>this.normalizeFileData(r),emitChanges:r=>this.emitChanges(r),normalizeIdbError:(r,o)=>this.normalizeIdbError(r,o),rejectWithTransactionError:(r,o,a,i)=>this.rejectWithTransactionError(r,o,a,i)},{paths:e,type:n})}async batchUpdateFileContent(e){await this.batchUpdateFileContentAndProviderProcessedMtimes({contentUpdates:e})}async batchUpdateFileContentAndProviderProcessedMtimes(e){if(await this.init(),!this.db)throw new Error("Database not initialized");await FW({db:this.db,cache:this.cache,normalizeFileData:n=>this.normalizeFileData(n),featureImageBlobs:this.featureImageBlobs,emitChanges:n=>this.emitChanges(n)},e)}async batchUpdate(e){await this.setFiles(e)}async clearDatabase(){await this.clear()}hasPreview(e){return this.cache.isReady()?this.cache.hasPreview(e):!1}hasFile(e){return this.cache.isReady()?this.cache.hasFile(e):!1}getCachedPreviewText(e){return this.previewTexts.getCachedPreviewText(e)}async ensurePreviewTextLoaded(e){return this.previewTexts.ensurePreviewTextLoaded(e)}async deletePreviewText(e){await this.previewTexts.deletePreviewText(e)}getCachedTags(e){let n=this.getFile(e);return!n||n.tags===null?[]:n.tags}async getFeatureImageBlob(e,n){return this.featureImages.getBlob(e,n)}async forEachFeatureImageBlobRecord(e){await this.featureImages.forEachBlobRecord(e)}async forEachPreviewTextRecord(e){await this.previewTexts.forEachPreviewTextRecord(e)}async moveFeatureImageBlob(e,n){await this.featureImages.moveBlob(e,n)}async movePreviewText(e,n){await this.previewTexts.movePreviewText(e,n)}async deleteFeatureImageBlob(e){await this.featureImages.deleteBlob(e)}close(){this.isClosing=!0,this.db&&(this.db.close(),this.db=null),this.initPromise=null,this.cache.clear(),this.previewTexts.close(),this.featureImages.close(),this.featureImageBlobs.clearMemoryCaches()}}});function is(){return Jw||nN}function kt(){if(!Wd){if(!Xu)throw new Error("Database not initialized. Call initializeDatabase(appId) first.");let t={};rN!==null&&(t.featureImageCacheMaxEntries=rN),oN!==null&&(t.previewTextCacheMaxEntries=oN),aN!==null&&(t.previewLoadMaxBatch=aN),Wd=new tN(Xu,Object.keys(t).length>0?t:void 0)}return Wd}function Sr(){return is()||!Xu?null:kt()}async function DW(t,e){let n=performance.now();if(Rr("fileOperations.initializeDatabase.start",{appId:t,hasExistingInstance:Wd!==null}),Jw){Rr("fileOperations.initializeDatabase.skipped",{reason:"shutdown"});return}if(nN&&(nN=!1),Zw){$u&&await $u;return}let r=Wd;if(!(r&&r.isInitialized())){Zw=!0,$u=(async()=>{try{if(is()){Rr("fileOperations.initializeDatabase.skipped",{reason:"shutdownInProgress"});return}Xu=t,e?.featureImageCacheMaxEntries!==void 0&&(rN=e.featureImageCacheMaxEntries),e?.previewTextCacheMaxEntries!==void 0&&(oN=e.previewTextCacheMaxEntries),e?.previewLoadMaxBatch!==void 0&&(aN=e.previewLoadMaxBatch);let o=kt();if(await o.init(),is()||Wd!==o)return;Rr("fileOperations.initializeDatabase.complete",{elapsedMs:Math.round(performance.now()-n)})}finally{Zw=!1}})();try{await $u}finally{$u=null}}}async function AW(){if(is())return null;if(!Xu){let e=Date.now();for(;!Xu&&!is()&&Date.now()-e<5e3;)await new Promise(n=>{window.setTimeout(n,50)})}if(is()||!Xu)return null;if($u)try{await $u}catch(e){return console.error("Failed while waiting for database initialization:",e),null}let t=Sr();if(!t)return null;if(!t.isInitialized()){if(is()||Wd!==t)return null;try{if(await t.init(),is()||Wd!==t)return null}catch(e){return console.error("Failed to initialize database while waiting:",e),null}}return t}function OW(){if(!(!Wd&&!Xu&&!Zw&&!$u)&&!Jw){Jw=!0,nN=!0;try{try{Wd?.close()}catch(t){console.error("Failed to close database on shutdown:",t)}}finally{Wd=null,Xu=null,Zw=!1,$u=null,rN=null,oN=null,aN=null,Jw=!1}}}async function Iv(t,e,n,r){if(is())return;let o=r??kt(),a=[];for(let i of t){let s=e.get(i.path),l=n?.get(i.path);if(s){if(l){let c={mtime:i.stat.mtime,markdownPipelineMtime:l.markdownPipelineMtime,tagsMtime:l.tagsMtime,metadataMtime:l.metadataMtime,fileThumbnailsMtime:l.fileThumbnailsMtime,tags:l.tags,wordCount:l.wordCount,characterCountWithSpaces:l.characterCountWithSpaces,characterCountWithoutSpaces:l.characterCountWithoutSpaces,taskTotal:l.taskTotal,taskUnfinished:l.taskUnfinished,properties:l.properties,previewStatus:l.previewStatus,featureImageStatus:l.featureImageStatus,featureImageKey:l.featureImageKey,metadata:l.metadata},u={...l,mtime:i.stat.mtime};a.push({path:i.path,create:u,patch:c}),n?.delete(i.path)}else if(s.mtime!==i.stat.mtime){let c={...s,mtime:i.stat.mtime};a.push({path:i.path,create:c,patch:{mtime:i.stat.mtime}})}}else{if(l){let c={...l,mtime:i.stat.mtime};a.push({path:i.path,create:c}),n?.delete(i.path);continue}a.push({path:i.path,create:Pv({mtime:i.stat.mtime,path:i.path})})}}await o.upsertFilesWithPatch(a)}async function LW(t,e,n){if(is())return;let r=n??kt(),o=t.map(l=>l.path),a=r.getFiles(o),i=e&&e.length>0?e:null,s=[];for(let l of t){let c=a.get(l.path);if(!c)s.push({path:l.path,create:Pv({mtime:l.stat.mtime,path:l.path})});else{let u={mtime:l.stat.mtime};if(i)for(let m of i)u[kh(m)]=0;else u.markdownPipelineMtime=0,u.tagsMtime=0,u.metadataMtime=0,u.fileThumbnailsMtime=0;let p={...c,...u};s.push({path:l.path,create:p,patch:u})}}await r.upsertFilesWithPatch(s)}async function eT(t){if(is())return;await kt().deleteFiles(t)}var Wd,Xu,Zw,Jw,nN,$u,rN,oN,aN,zn=U(()=>{Nv();Wu();eN();Wd=null,Xu=null,Zw=!1,Jw=!1,nN=!1,$u=null,rN=null,oN=null,aN=null});var $le,xv,Os,nO,Fh,tT,rO,Ph,iN=U(()=>{$le=t=>{if(!t)return null;let e=(t.match(/\*/g)||[]).length;if(e===0)return{type:"literal",value:t};if(e>1)return null;if(t==="*")return{type:"wildcard"};if(t.endsWith("*")){let n=t.slice(0,-1);return!n||n.includes("*")?null:{type:"prefix",value:n}}return null},xv=(t,e)=>{if(typeof t!="string")return null;let n=t.trim();if(e.requireRoot&&!n.startsWith("/"))return null;let r=e.normalizePattern(n);if(!r)return null;let o=r.split("/").filter(Boolean);if(o.length===0)return null;let a=[];for(let s of o){let l=$le(s);if(!l)return null;a.push(l)}let i=0;for(let s of a){if(s.type==="literal"){i+=1;continue}break}return{raw:t,normalized:r,segments:a,literalPrefixLength:i}},Os=(t,e)=>{let n=e(t);return n?n.split("/").filter(Boolean):[]},nO=(t,e)=>{if(e.length===0)return!1;let n=t.segments.length,r=Math.min(n,e.length);for(let o=0;o<r;o+=1){let a=t.segments[o],i=e[o];if(a.type!=="wildcard"){if(a.type==="prefix"){if(!i.startsWith(a.value))return!1;continue}if(i!==a.value)return!1}}if(e.length===n)return!0;if(e.length<n){if(e.length<n&&t.segments.slice(e.length).every(i=>i.type==="wildcard")&&e.length>t.literalPrefixLength)return!0;for(let i=e.length;i<n;i+=1)if(t.segments[i].type!=="wildcard")return!1;return!1}return!0},Fh=(t,e)=>{if(t.literalPrefixLength===0||e.length===0)return!1;let n=Math.min(t.literalPrefixLength,t.segments.length,e.length);if(n===0)return!1;for(let r=0;r<n;r+=1){let o=t.segments[r],a=e[r];if(o.type!=="literal"||o.value!==a)return!1}return!0},tT=(t,e,n={})=>{let o=t.segments.map((i,s)=>s<t.literalPrefixLength&&i.type==="literal"?e[s]??i.value:i.type==="wildcard"?"*":i.type==="prefix"?`${i.value}*`:i.value).join("/"),a=n.addLeadingSlash?`/${o}`:o;return n.normalizePattern?n.normalizePattern(a):a},rO=(t,e)=>{let n=t.map(o=>xv(o,e)).filter(o=>!!o);return{patterns:n,matches:o=>{let a=Os(o,e.normalizePath);return a.length===0||n.length===0?!1:n.some(i=>nO(i,a))}}},Ph=t=>t.join("")});function zW(t){return(t.startsWith("#")?t.substring(1):t).replace(/^\/+|\/+$/g,"")}function Xle(t,e){let n=zW(t);return n===e||n.startsWith(`${e}/`)}function Qle(t,e){return e.some(n=>Xle(t,n))}function nT(t){return It(t)}function It(t){return ql(zW(t))}function Fm(t){if(t.length===0)return Zle;let e=Ph(t),n=oO.get(e);if(n)return n;let r=new Set,o=new Set,a=new Set,i=Ev(t);for(let l of t){let c=nT(l);if(c.length===0)continue;let u=c.includes("/"),p=(c.match(/\*/g)||[]).length,m=c.startsWith("*"),g=c.endsWith("*");if(!u&&p===1&&m&&!g){let f=c.slice(1);f.length>0&&a.add(f);continue}if(!u&&p===1&&g&&!m){let f=c.slice(0,-1);f.length>0&&(o.add(f),r.add(f));continue}c.includes("*")||r.add(c)}let s={prefixes:Array.from(r),startsWithNames:Array.from(o),endsWithNames:Array.from(a),pathPatterns:i};return oO.set(e,s),s}function ss(t,e,n){if(n.pathPatterns.length===0&&n.prefixes.length===0&&n.startsWithNames.length===0&&n.endsWithNames.length===0)return!1;let r=nT(t),o=Os(r,It),a=ql(e);return!!(n.pathPatterns.some(i=>nO(i,o))||n.prefixes.length>0&&Qle(r,n.prefixes)||n.startsWithNames.some(i=>a.startsWith(i))||n.endsWithNames.some(i=>a.endsWith(i)))}function Br(t,e){let n=Fm(t),r=n.pathPatterns.length>0||n.prefixes.length>0||n.startsWithNames.length>0||n.endsWithNames.length>0,o=r&&!e,a=o?(s,l)=>{let c=It(s),u=l!==void 0?ql(l):c.split("/").pop()??c;return!ss(c,u,n)}:()=>!0;return{matcher:n,hasHiddenRules:r,shouldFilterHiddenTags:o,isTagVisible:a,hasVisibleTags:o?s=>{for(let l of s)if(a(l))return!0;return!1}:s=>s.length>0}}function _W(t,e){let n=nT(e);if(n.length===0)return t;let r=n.includes("*"),o=[],a=new Set;for(let i of t){let s=nT(i);s.length!==0&&(a.has(s)||!r&&!s.includes("*")&&s.startsWith(`${n}/`)||(o.push(s),a.add(s)))}return a.has(n)||o.push(n),o}var Zle,oO,aO,BW,Ev,Dr=U(()=>{iN();Ot();Zle={prefixes:[],startsWithNames:[],endsWithNames:[],pathPatterns:[]};oO=new Map,aO=new Map,BW=()=>{oO.clear(),aO.clear()},Ev=t=>{let e=Ph(t),n=aO.get(e);if(n)return n;let r=t.map(o=>xv(o,{normalizePattern:nT})).filter(o=>!!o);return aO.set(e,r),r}});function Mv(t){return t.key==="Enter"||t.code==="Enter"||t.code==="NumpadEnter"}function Rv(t,e){return t.metaKey||t.ctrlKey?e.cmdCtrlEnterOpenContext:t.shiftKey?e.shiftEnterOpenContext:null}function sN(t){return HW.Platform.isMacOS?t.metaKey:t.metaKey||t.ctrlKey}function Dv(t,e){return e==="optionAlt"?t.altKey:sN(t)}function Hc(t,e,n,r){return e==="new-tab"?"tab":e==="right-sidebar"?"right-sidebar":r||n!=="optionAlt"?null:sN(t)?"tab":null}function lN(t){return t==="new-tab"?"tab":t==="right-sidebar"?"right-sidebar":null}var HW,td=U(()=>{HW=require("obsidian")});function cN(){dN=null}function Jle(){return dN||(dN=new WeakMap),dN}function VW(t,e){let n=new Map,r=new Map;t.sort((o,a)=>{let i=Mt(o,a);return i!==0?i:o.localeCompare(a)});for(let o of t){let a=o.split("/"),i="";for(let s=0;s<a.length;s++){let l=a[s];if(i=s===0?l:`${i}/${l}`,!l)continue;let c=It(i);if(c.length===0)continue;let u=n.get(c);if(u||(u={name:l,path:c,displayPath:i,children:new Map,notesWithTag:new Set},n.set(c,u),s===0&&r.set(c,u)),s===a.length-1){let p=e.get(i);p&&(u.notesWithTag=p)}if(s>0){let p=It(a.slice(0,s).join("/"));if(!p||p===c)continue;let m=n.get(p);m&&m.children.get(c)!==u&&m.children.set(c,u)}}}return r}function uN(t,e,n,r=[],o=!1,a=!0){let i=new Set,s=0,l=0,c=new Map,u=Br(r,o),p=u.shouldFilterHiddenTags,m=new Map,g=new Map,f=Array.isArray(e)&&e.length>0,h=f&&e?e:null,b=(y,S)=>{let w=(y.startsWith("#")?y.substring(1):y).replace(/^\/+|\/+$/g,"");if(w.length===0)return;let[k]=w.split("/");if(!k)return;let F=It(k);if(F.length===0)return;let P=g.get(F);P||(P={name:k,path:F,displayPath:k,children:new Map,notesWithTag:new Set},g.set(F,P)),P.notesWithTag.add(S)};t.forEachFile((y,S)=>{let w=h?ls(y,h):!1;if(n&&!n.has(y))return;if(w){let P=S.tags;if(!f||!P||P.length===0)return;for(let T of P)b(T,y);return}let k=S.tags;if(k===null||k.length===0){k!==null&&y.endsWith(".md")&&s++;return}let F=!1;for(let P of k){let T=(P.startsWith("#")?P.substring(1):P).replace(/^\/+|\/+$/g,""),I=It(P);if(T.length===0||I.length===0)continue;(!p||u.isTagVisible(P,T.split("/").pop()))&&(F=!0);let N=c.get(I);N||(N=T,c.set(I,N)),i.add(N),m.has(N)||m.set(N,new Set);let O=m.get(N);O&&O.add(y)}y.endsWith(".md")&&F&&l++});let v=VW(Array.from(i),m);if(g.size>0)for(let y of Array.from(g.keys()))v.has(y)&&g.delete(y);return a&&cN(),{tagTree:v,tagged:l,untagged:s,hiddenRootTags:g}}function UW(t,e,n=[],r=!1,o=!0){let a=new Set,i=0,s=0,l=new Map,c=new Map,u=Br(n,r),p=u.shouldFilterHiddenTags;for(let g of e){let f=t.getFile(g);if(!f)continue;let h=f.tags;if(h===null||h.length===0){h!==null&&g.endsWith(".md")&&i++;continue}let b=!1;for(let v of h){let y=(v.startsWith("#")?v.substring(1):v).replace(/^\/+|\/+$/g,""),S=It(v);if(y.length===0||S.length===0)continue;(!p||u.isTagVisible(v,y.split("/").pop()))&&(b=!0);let w=l.get(S);w||(w=y,l.set(S,w)),a.add(w),c.has(w)||c.set(w,new Set),c.get(w)?.add(g)}g.endsWith(".md")&&b&&s++}let m=VW(Array.from(a),c);return o&&cN(),{tagTree:m,tagged:s,untagged:i,hiddenRootTags:new Map}}function rT(t){let e=Jle(),n=e.get(t);if(n!==void 0)return n;let r=new Set,o=new Set,a=s=>{if(!o.has(s)){o.add(s),s.notesWithTag.forEach(l=>r.add(l));for(let l of s.children.values())a(l)}};a(t);let i=r.size;return e.set(t,i),i}function pN(t,e){let n=t.notesWithTag.size;if(!e)return{current:n,descendants:0,total:n};let r=rT(t);return{current:n,descendants:Math.max(r-n,0),total:r}}function ml(t,e=new Set,n=new Set){if(n.has(t))return e;n.add(t),e.add(t.path);for(let r of t.children.values())ml(r,e,n);return e}function iO(t,e=new Set,n=new Set){if(n.has(t))return e;n.add(t),t.notesWithTag.forEach(r=>e.add(r));for(let r of t.children.values())iO(r,e,n);return e}function Li(t,e){let n=It(e);function r(o,a){for(let i of o.values()){if(a.has(i))continue;if(a.add(i),i.path===n)return i;let s=r(i.children,a);if(s)return s}return null}return r(t,new Set)}function mN(t,e){if(e.pathPatterns.length===0&&e.prefixes.length===0&&e.startsWithNames.length===0&&e.endsWithNames.length===0)return t;let n=new Map;function r(o){if(ss(o.path,o.name,e))return null;let i=new Map;for(let[s,l]of o.children){let c=r(l);c&&i.set(s,c)}return i.size===0&&o.notesWithTag.size===0?null:{name:o.name,path:o.path,displayPath:o.displayPath,children:i,notesWithTag:o.notesWithTag}}for(let[o,a]of t){let i=r(a);i&&n.set(o,i)}return n}var dN,Ba=U(()=>{Yr();Dr();Rn();dN=null});function gN(t){if(!t)return!1;let e=t.trim();if(e.length===0||/\s/u.test(e)||e.includes("#")||e.startsWith("/")||e.endsWith("/")||e.includes("//"))return!1;let n=!1;for(let r of e)if(!ade.has(r)){if(tde.test(r)){nde.test(r)||(n=!0);continue}if(rde.test(r)){n=!0;continue}if(ode.test(r)){n=!0;continue}return!1}return n}function hN(t){if(!t)return!1;let e=t.trim();if(e.length===0)return!1;let n=e.startsWith("#")?e:`#${e}`;return ede.test(n)}function fN(t){return t?/\s/u.test(t):!0}function Ze(t){if(!t)return null;let e=t.trim();if(e==="")return null;let n=It(e);return n===""?null:n}function Vc(t,e){if(t===zt)return zt;if(t===bt)return bt;let n=Ze(t);return!e||!n?n:Li(e,n)?.path??n}function sO(t){if(!t||t.length===0)return[];let e=new Set,n=[];for(let r of t){let o=r.startsWith("#")?r.slice(1):r;if(!o)continue;let a=It(o);!a||e.has(a)||(e.add(a),n.push(o))}return n}function Pr(t){if(t.file.extension!=="md")return oT;let e=t.fileData??null;if(e&&e.tags!==null)return e.tags;let n=t.db??Sr();if(n){if(typeof n.getFile=="function"){let a=n.getFile(t.file.path);return a?a.tags??oT:oT}if(typeof n.getCachedTags=="function"){let a=n.getCachedTags(t.file.path);return a.length>0?a:oT}}let r=t.app.metadataCache.getFileCache(t.file),o=r?(0,KW.getAllTags)(r):null;return!o||o.length===0?oT:sO(o)}function Av(t,e,n){return!t||n||!Dv(t,e)?null:t.shiftKey?"OR":"AND"}function WW(t,e){if(t.extension!=="md")return[];let r=e.getFile(t.path)?.tags;return!r||r.length===0?[]:r.map(o=>It(o)).filter(o=>o.length>0)}function ide(t,e,n){let r=WW(t,n),o=It(e);return o.length===0?!1:r.some(a=>a===o)}function jW(t,e,n,r,o,a){let i=r.getFile(t.path);if(!i||i.tags===null)return e;let s=WW(t,r);if(s.length===0)return n.showUntagged?bt:null;let l=i.tags,c=()=>l&&l.length>0?l[0]:s[0]??null;if(e===zt)return o&&a?zt:c();if(e&&e!==bt&&e!==zt){if(ide(t,e,r))return e;if(o&&a){let u=It(e);if(u.length>0){let p=`${u}/`;for(let m of s)if(m.startsWith(p))return e}}}return c()}function sde(t,e){if(!t||t===bt||t===zt)return!0;let n=t.split("/"),r="";for(let o=0;o<n.length-1;o++)if(r=r?`${r}/${n[o]}`:n[o],!e.has(r))return!1;return!0}function GW(t,e){if(!t||t===bt||t===zt)return t;let n=t.split("/");for(let r=n.length;r>0;r--){let o=n.slice(0,r).join("/");if(sde(o,e))return o}return t}var KW,Ch,ede,tde,nde,rde,ode,ade,oT,Sn=U(()=>{KW=require("obsidian");Ue();zn();td();Dr();Ba();Ch="\\u2000-\\u206F\\u2E00-\\u2E7F'!\"#$%&()*+,.:;<=>?@^`{|}~[\\]\\\\\\s",ede=new RegExp(`^#[^${Ch}]+$`,"u"),tde=/^[\p{L}\p{N}\p{M}_\-/]$/u,nde=/^\p{M}$/u,rde=/^\p{Extended_Pictographic}$/u,ode=/^\p{Regional_Indicator}$/u,ade=new Set(["‍","︎","️"]);oT=[]});function sT(){return activeDocument.body?.classList.contains("theme-dark")?"dark":"light"}function qW(){vN.forEach(t=>t())}function YW(){aT?.disconnect(),aT=null,Ov&&iT&&Ov.workspace.offref(iT),iT=null,Ov=null}function lde(t){Ov&&Ov!==t&&YW(),Ov=t,!aT&&activeDocument.body&&(aT=new MutationObserver(qW),aT.observe(activeDocument.body,{attributes:!0,attributeFilter:["class"]})),iT||(iT=t.workspace.on("css-change",qW))}function $W(t,e){return vN.add(e),lde(t),()=>{vN.delete(e),vN.size===0&&YW()}}var vN,aT,iT,Ov,lO=U(()=>{vN=new Set,aT=null,iT=null,Ov=null});function pde(t){let e=t.lastIndexOf(".");return e<=0?null:t.slice(0,e)}function QW(t,e){let n=t.vault.getAbstractFileByPath((0,bN.normalizePath)(e));return n instanceof bN.TFile?n:null}function mde(t){return!t||typeof t!="object"||Array.isArray(t)?!1:FA(t[ude])}function gde(t,e){return t.extension==="md"?Mi(t)?!0:PA(e):t.name.toLowerCase().endsWith(Fa)}function hde(t,e){let n=t.extension.toLowerCase();return n==="tldr"?!0:n==="md"&&mde(e)}function fde(t){let e=t.toLowerCase();for(let n of[".dark.png",".light.png",".png"])if(e.endsWith(n))return t.slice(0,-n.length);return null}function XW(t,e){let n=pde(t.path);return n?`${n}.${e}`:null}function vde(t,e){let n=t.companionImageExtensions;if(n.length===0)return n;let r=e==="dark"?"dark.png":"light.png",o=e==="dark"?"light.png":"dark.png";return!n.includes(r)||!n.includes(o)||!n.includes("png")?n:[r,"png",o]}function ZW(t){return lT.find(e=>e.id===t)??lT[0]}function JW(t,e){return lT.find(n=>n.isSourceFileWithFrontmatter(t,e))??null}function yde(t,e){let n=dO(e);return n||(e.extension.toLowerCase()!=="md"?null:JW(e,t.metadataCache.getFileCache(e)?.frontmatter))}function dO(t){return t.extension.toLowerCase()==="md"?null:lT.find(e=>e.isSourceFileWithFrontmatter(t,null))??null}function Lv(t,e){return JW(t,e)?.id??null}function bde(t){return{providerId:t.id,iconId:t.iconId,showsFeatureImageBox:t.showsFeatureImageBox,supportsCompanionImages:t.companionImageExtensions.length>0}}function jd(t,e){let n=yde(t,e);return n?bde(n):null}function ej(t){return dO(t)!==null}function tj(t){return dO(t)?.id??null}function Uc(t,e){return`${cde}${e}:${t.path}`}function nj(t,e){let n=ZW(e);return n.companionImageExtensions.map(r=>n.getCompanionImagePath(t,r)).filter(r=>r!==null)}function Sde(t,e,n,r){for(let o of vde(n,r)){let a=n.getCompanionImagePath(e,o);if(!a)continue;let i=QW(t,a);if(i)return i}return null}function SN(t,e,n,r=sT()){return Sde(t,e,ZW(n),r)}function wN(t,e){let n=fde(e);if(!n)return null;for(let r of lT){if(r.companionImageExtensions.length===0)continue;let o=r.getSourcePathCandidatesForCompanionBasePath(n);for(let a of o){let i=QW(t,a);if(!i)continue;let s=i.extension.toLowerCase()==="md"?t.metadataCache.getFileCache(i)?.frontmatter:null;if(r.isSourceFileWithFrontmatter(i,s))return i}}return null}function wde(t,e){return e.extension.toLowerCase()==="png"&&wN(t,e.path)!==null}function Qu(t,e,n){return n.hideDrawingPreviewImages&&wde(t,e)}function rj(t,e){let n=yN.get(t),r=n??new Set;return r.add(e),n||yN.set(t,r),()=>{r.delete(e),r.size===0&&yN.delete(t)}}function Tde(t){yN.get(t)?.forEach(e=>e())}function oj(t,e){let n=wN(t,e);n&&Tde(n.path)}var bN,dde,cde,ude,yN,lT,gl=U(()=>{bN=require("obsidian");rs();lO();dde=["png","dark.png","light.png"],cde="d:",ude="tldraw-file",yN=new Map;lT=Object.freeze([{id:"excalidraw",iconId:"excalidraw-icon",showsFeatureImageBox:!0,companionImageExtensions:dde,getCompanionImagePath:XW,getSourcePathCandidatesForCompanionBasePath:t=>t.toLowerCase().endsWith(Fa)?[`${t}.md`,t]:[`${t}.md`,`${t}${Fa}`],isSourceFileWithFrontmatter:gde},{id:"tldraw",iconId:"brush",showsFeatureImageBox:!0,companionImageExtensions:[],getCompanionImagePath:XW,getSourcePathCandidatesForCompanionBasePath:t=>[`${t}.md`,`${t}.tldr`],isSourceFileWithFrontmatter:hde}])});function sj(){pO.clear()}function Fde(t){return Array.from(new Set(t.map(e=>Pde(e)).filter(e=>e.length>0))).sort()}function Pde(t){let e=t.trim();return e.length===0?"":Rs(e)}function aj(t){return t.includes("/")}function cO(t){let e=t.trim(),n=e.length===0?"":Rs(e);return n.length===0?"":n.startsWith("/")?n:`/${n}`}function Cde(t){return!t.startsWith(".")||t.includes("/")||t.includes("*")?!1:t.length>1}function ij(t){if(t==="*")return{glob:t,parts:[],requiresPrefixMatch:!1,requiresSuffixMatch:!1,matchAll:!0};let e=t.split("*").filter(n=>n.length>0);return{glob:t,parts:e,requiresPrefixMatch:!t.startsWith("*"),requiresSuffixMatch:!t.endsWith("*"),matchAll:!1}}function TN(t,e){if(e.matchAll)return!0;let{parts:n,requiresPrefixMatch:r,requiresSuffixMatch:o}=e;if(n.length===0)return!0;let a=0,i=0;if(r){let c=n[0];if(!t.startsWith(c))return!1;a=c.length,i=1}let s=n.length-1,l=o?s:n.length;for(;i<l;i+=1){let c=n[i],u=t.indexOf(c,a);if(u===-1)return!1;a=u+c.length}if(o){let c=n[s],u=t.lastIndexOf(c);return u===-1||u<a?!1:u+c.length===t.length}return!0}function FN(t){let e=Fde(t),n=e.join("\0"),r=pO.get(n);if(r)return r;let o=new Set,a=new Set,i=new Set,s=[],l=[];e.forEach(u=>{if(!u.includes("*")){if(aj(u)){a.add(cO(u));return}if(Cde(u)){i.add(u);return}o.add(u);return}if(aj(u)){l.push(ij(cO(u)));return}s.push(ij(u))});let c={matches:u=>{let p=Rs(u.name),m=Rs(u.basename),g=cO(u.path),f=u.extension?`.${Rs(u.extension)}`:"";return o.has(p)||a.has(g)||f.length>0&&i.has(f)||s.some(h=>TN(p,h)||TN(m,h))||l.some(h=>TN(g,h))?!0:f.length>0&&s.some(h=>TN(f,h))}};return pO.set(n,c),c}function Gd(t,e){return e||t.length===0?null:FN(t)}function pT(t,e){return e.length===0?!1:FN(e).matches(t)}function Ide(t,e){if(cT.size>=Nde){let n=cT.keys().next();n.done||cT.delete(n.value)}cT.set(t,e)}function xde(t){let e=t.indexOf("=");if(e===-1){let o=Me(t);return o?{key:o,value:null}:null}let n=Me(t.slice(0,e)),r=rr(t.slice(e+1));return!n||!r?null:{key:n,value:r}}function lj(t,e){if(t==null)return!1;if(typeof t=="string"){let n=rr(t);return n.length>0&&e.has(n)}if(typeof t=="number"){if(!Number.isFinite(t))return!1;let n=rr(t.toString());return n.length>0&&e.has(n)}return typeof t=="boolean"?e.has(t?"true":"false"):Array.isArray(t)?t.some(n=>lj(n,e)):!1}function Ede(t,e){let n=t.key.localeCompare(e.key);return n!==0?n:t.value===e.value?0:t.value===null?-1:e.value===null?1:t.value.localeCompare(e.value)}function po(t){let e=dT.get(t);if(e)return e;if(t.length===0)return dT.set(t,kN),kN;let n=t.map(xde).filter(c=>c!==null);if(n.length===0)return dT.set(t,kN),kN;let r=TA(n,Ede),o=r.map(c=>c.value===null?`${c.key}k`:`${c.key}v${c.value}`).join("\0"),a=cT.get(o);if(a)return dT.set(t,a),a;let i=new Set,s=new Map;r.forEach(c=>{if(c.value===null){i.add(c.key);return}let u=s.get(c.key);if(u){u.add(c.value);return}s.set(c.key,new Set([c.value]))});let l={hasCriteria:!0,matches:c=>{if(!c)return!1;for(let[u,p]of Object.entries(c)){let m=Me(u);if(!m)continue;if(i.has(m))return!0;let g=s.get(m);if(g&&lj(p,g))return!0}return!1}};return Ide(o,l),dT.set(t,l),l}function Xo(t,e,n){if(!e.hasCriteria)return!1;let r=n.metadataCache.getFileCache(t);return e.matches(r?.frontmatter)}function dj(t,e,n){if(e.length===0)return!1;let r=po(e);return Xo(t,r,n)}function mO(t,e){let n=Me(e);if(!n)return!1;let r=Me(t);if(!r)return!1;if(!n.includes("*"))return r===n;if(n.endsWith("*")&&!n.startsWith("*")){let o=n.slice(0,-1);return r.startsWith(o)}if(n.startsWith("*")&&!n.endsWith("*")){let o=n.slice(1);return r.endsWith(o)}return r===n}function qd(t,e,n){let r=mT(e).matches;if(e.some(i=>!i.startsWith("/")&&mO(t,i)))return!0;if(!n)return!1;let a=n.startsWith("/")?n:`/${n}`;return r(a)}function Mde(t,e){if(!t||e.length===0)return!1;let n=mT(e).matches,r=e.filter(i=>!i.startsWith("/")),o=i=>r.some(s=>mO(i,s)),a=t.parent;for(;a;){let i=a.path.startsWith("/")?a.path:`/${a.path}`;if(o(a.name)||n(i))return!0;a=a.parent}return!1}function ei(t,e){if(!t||e.length===0)return!1;let n=mT(e).matches,r=e.filter(s=>!s.startsWith("/")),o=s=>r.some(l=>mO(s,l)),a=t.path.startsWith("/")?t.path:`/${t.path}`;if(n(a)||o(t.name))return!0;let i=t.parent;for(;i;){let s=i.path.startsWith("/")?i.path:`/${i.path}`;if(n(s)||o(i.name))return!0;i=i.parent}return!1}function PN(t,e){if(!e.startsWith("/"))return[...t,e];let n=mT([e]).matches,r=t.filter(o=>{if(!o.startsWith("/"))return!0;let a=o.startsWith("/")?o:`/${o}`;return!n(a)});return r.push(e),r}function ls(t,e){if(!t||e.length===0)return!1;let n=t.split("/");for(let r=0;r<n.length-1;r++){let o=n[r],a=n.slice(0,r+1).join("/");if(qd(o,e,a))return!0}return!1}function zv(t,e,n){if(!t.children||t.children.length===0)return!1;if(n)return t.children.some(o=>o instanceof uO.TFolder);let r=e.length===0;return t.children.some(o=>o instanceof uO.TFolder?r?!0:!qd(o.name,e,o.path):!1)}function CN(t,e){let n=e?.showHiddenItems??!1,r=Qo(t),o=po(r),a=Kc(t),i=Gd(a,n),s=Wc(t),l=s.length>0?Br(s,n):null,c=!n&&l?.shouldFilterHiddenTags?Sr():null;return{excludedPropertyMatcher:o,excludedFolderPatterns:ti(t),includeHiddenItems:n,hideDrawingPreviewImages:t.hideDrawingPreviewImages,fileNameMatcher:i,hiddenFileTagVisibility:l,db:c}}function uT(t,e,n){let{excludedPropertyMatcher:r,excludedFolderPatterns:o,includeHiddenItems:a,hideDrawingPreviewImages:i,fileNameMatcher:s,hiddenFileTagVisibility:l,db:c}=e;if(yh(t.path)||!a&&Qu(n,t,{hideDrawingPreviewImages:i}))return!1;if(!a&&t.extension==="md"&&r.hasCriteria){let u=n.metadataCache.getFileCache(t);if(r.matches(u?.frontmatter))return!1}return!(s&&s.matches(t)||l&&l.shouldFilterHiddenTags&&t.extension==="md"&&Pr({app:n,file:t,db:c}).some(p=>!l.isTagVisible(p))||kde&&Mde(t,o))}function cj(t,e,n){if(!t||!e)return[];let r=CN(e,n);return t.vault.getMarkdownFiles().filter(o=>uT(o,r,t))}function uj(t,e,n){if(!t||!e)return[];let r=Bv(e),o=CN(e,n),a=[];for(let i of t.vault.getFiles()){if(i.extension==="md"){uT(i,o,t)&&a.push(i);continue}let s=ej(i);!Od(i)&&!s||!s&&!rl(i,r,t)||uT(i,o,t)&&a.push(i)}return a}function pj(t,e,n){if(!t||!e)return[];let r=CN(e,n);return t.vault.getFiles().filter(o=>oh(o)?uT(o,r,t):!1)}function mj(t,e,n){if(!t||!e)return[];let r=Bv(e),o=CN(e,n);return t.vault.getFiles().filter(a=>rl(a,r,t)?uT(a,o,t):!1)}var uO,kde,pO,kN,Nde,cT,dT,Yr=U(()=>{uO=require("obsidian");Mr();dn();zn();Dr();Sn();Ot();ed();gl();Wu();kde=!1,pO=new Map;kN={hasCriteria:!1,matches:()=>!1},Nde=256,cT=new Map,dT=new WeakMap});function hj(){return gT||(gT=new WeakMap),gT}function Dde(){return gO||(gO=new WeakMap),gO}function Ade(){return hO||(hO=new WeakMap),hO}function Ode(t){if(t.size===0)return"";let e=Ade(),n=e.get(t);if(n!==void 0)return n;let r=Array.from(t).sort().join(",");return e.set(t,r),r}function Pm(t,e){if(!e)return 0;let n=sa(t.key,e);return t.children.get(n)?.notesWithValue.size??0}function fj(t,e){return t===e}function vj(t,e){let n=sa(t.key,e),r=t.children.get(n);return r?new Set(r.notesWithValue):new Set}function NN(t,e){return t.length===0?!0:Rde.has(t)?e==="boolean"||e===void 0:!1}function yO(t){return t.length===0}function bO(t,e=[]){hj().set(t,new Set(e))}function yj(t,e){return e?new Set(t.notesWithValue):new Set(IN(t))}function jc(t){return IN(t).size}function bj(t){return IN(t)}function Lde(t){let e=new Set(t.notesWithValue);return t.children.forEach(n=>{n.notesWithValue.forEach(r=>e.delete(r))}),e}function IN(t){let e=hj(),n=e.get(t);if(n)return n;let r=Lde(t);return e.set(t,r),r}function Hv(t){return t.showProperties?Cm(t,"any").size>0:!1}function Sj(t,e,n,r){if(t===null)return e;if(t.length===0)return null;let o=Cm(n,"navigation");if(o.size===0)return null;let a=new Set,i=[],s=new Map,l=c=>{a.has(c)||(a.add(c),i.push(c))};for(let c of t){let u=xN(c.fieldKey);if(!u||!o.has(u))continue;let p=s.get(u);p||(p={keyNodeId:Gn(u),hasKeyOnlyValue:!1,valueNodeIds:[],valueNodeIdSet:new Set},s.set(u,p));let m=rr(c.value);if(yO(m)){p.hasKeyOnlyValue=!0,l(p.keyNodeId);continue}if(!m)continue;let g=sa(u,m);p.valueNodeIdSet.has(g)||(p.valueNodeIdSet.add(g),p.valueNodeIds.push(g)),l(g)}if(i.length===0)return null;if(e===Oe)return r?e:i[0]??null;if(e){let c=kn(e);if(c){let u=s.get(c.key);if(u){if(!c.valuePath)return r||u.hasKeyOnlyValue?u.keyNodeId:u.valueNodeIds[0]??null;let p=rr(c.valuePath);if(p){let m=sa(c.key,p);if(u.valueNodeIdSet.has(m))return m}}}}return i[0]??null}function xN(t){return Me(t)}function wj(t){let e=new Set;return!t||t.size===0||t.forEach(n=>{let r=xN(n);r&&e.add(r)}),e}function Tj(t,e){let n=Mt(t,e);return n!==0?n:t.localeCompare(e)}function zde(t){if(t.size<=1)return t;let e=Array.from(t.values()).sort((r,o)=>{let a=r.valuePath??"",i=o.valuePath??"",s=Tj(a,i);return s!==0?s:r.id.localeCompare(o.id)}),n=new Map;return e.forEach(r=>{n.set(r.id,r)}),n}function kj(t){let e=Array.from(t.values()).sort((r,o)=>{let a=Tj(r.key,o.key);return a!==0?a:r.id.localeCompare(o.id)}),n=new Map;return e.forEach(r=>{r.children=zde(r.children),n.set(r.key,r)}),n}function Bde(t,e){return t?!Fv(t)&&Fv(e):!0}function Fj(t){let e=gj.get(t);if(e)return e;let n=new Set;for(let r of ul(t)){let o=Me(r);o&&n.add(o)}return gj.set(t,n),n}function _de(t,e){if(e.size===0||t.length===0)return new Set;let n=Ode(e);if(!n)return new Set;let r=Dde(),o=r.get(t);if(o){let i=o.get(n);if(i)return i}let a=new Set;return t.forEach(i=>{let s=i.data.properties;!s||s.length===0||s.forEach(l=>{let c=Me(l.fieldKey);if(!c||!e.has(c))return;a.add(Gn(c));let u=rr(l.value);yO(u)||a.add(sa(c,u))})}),o?o.set(n,a):r.set(t,new Map([[n,a]])),a}function Vv(t){let{propertyFields:e,dbFiles:n,propertyTreeProvider:r}=t,o=Fj(e);if(o.size===0)return()=>!1;if(n){let a=_de(n,o);return i=>a.has(i)}return!r||!r.hasNodes()?null:a=>r.findNode(a)!==null}function Pj(t,e){if(e===Oe)return!0;let n=Gt(e);if(!n)return!1;let r=kn(n);return r?Fj(Oi(t)).has(r.key):!1}function hT(t,e){if(e===Oe)return!0;let n=Gt(e);if(!n)return!1;let r=kn(n);return r?Cm(t,"navigation").has(r.key):!1}function Uv(t,e){return t.showProperties?e===Oe?!0:hT(t,e):!1}function EN(t,e){if(e===Oe)return e;let n=Gt(e);if(!n)return Oe;let r=kn(n);if(!r)return Oe;let o=t.get(r.key);if(!o)return Oe;if(!r.valuePath)return o.id;let a=rr(r.valuePath);if(!a)return o.id;let i=sa(r.key,a);return o.children.has(i)?i:o.id}function vO(t){return t.replace(/%/g,"%25").replace(/=/g,"%3D")}function fO(t){return t.replace(/%3[dD]/g,"=").replace(/%25/g,"%")}function Gn(t){return`${_v}${vO(t)}`}function sa(t,e){return`${_v}${vO(t)}${SO}${vO(e)}`}function Gt(t){let e=kn(t);if(!e)return null;let n=Me(e.key);if(!n)return null;if(!e.valuePath)return Gn(n);let r=rr(e.valuePath);return r?sa(n,r):null}function Kv(t,e){let n=t??e;return n?Gt(n)??n:null}function MN(t){let{nodeId:e,propertyTreeService:n,propertyTree:r}=t,o=Gt(e);if(!o)return null;let a=n?.findNode(o);if(a)return{normalizedNodeId:o,node:a};let i=kn(o);if(!i)return null;let s=n?.getKeyNode(i.key)??r?.get(i.key)??null;if(!s)return null;if(!i.valuePath)return{normalizedNodeId:s.id,node:s};let l=s.children.get(o)??null;return l?{normalizedNodeId:o,node:l}:null}function Wv(t){let e=kn(t);if(!e)return null;let n=Me(e.key);return n?Gn(n):null}function zi(t){if(!t.startsWith(_v))return null;let e=t.indexOf(SO,_v.length);return e===-1?t:t.slice(0,e)}function kn(t){if(!t.startsWith(_v))return null;let e=t.slice(_v.length);if(!e)return null;let n=e.indexOf(SO);if(n===-1){let s=fO(e);return s?{key:s,valuePath:null}:null}let r=e.slice(0,n),o=e.slice(n+1);if(!r||!o)return null;let a=fO(r),i=fO(o);return!a||!i?null:{key:a,valuePath:i}}function fT(t){return kn(t)!==null}function Hde(t){let e=t.trim();return e?sW(e):""}function Vde(t){if(!t)return null;let e=xN(t.key);if(!e)return null;if(t.value){let n=rr(t.value);return n?sa(e,n):null}return Gn(e)}function Ude(t){if(!mt(t))return null;let e=t.key;if(typeof e!="string"||e.length===0)return null;let n={key:e,value:t.value===null?null:typeof t.value=="string"?t.value:null};return typeof t.displayKey=="string"&&t.displayKey.length>0&&(n.displayKey=t.displayKey),(t.displayValuePath===null||typeof t.displayValuePath=="string")&&(n.displayValuePath=t.displayValuePath),n}function jv(t){if(typeof t=="string"&&t.length>0)return t===Oe?Oe:fT(t)?Gt(t):null;let e=Ude(t);return e?Vde(e):null}function Cj(t,e,n,r,o){let a=xN(n.fieldKey);if(!a||o&&!r.has(a))return;let i=n.fieldKey.trim();if(!i)return;let s=t.get(a);s||(s={id:Gn(a),kind:"key",key:a,valuePath:null,name:i,displayPath:i,children:new Map,notesWithValue:new Set},bO(s),t.set(a,s)),s.notesWithValue.add(e);let l=rr(n.value);if(yO(l)){IN(s).add(e);return}let c=Hde(n.value);if(!c)return;let u=sa(a,l),p=s.children.get(u);p?Bde(p.assignmentValue,n.value)&&(p.assignmentValue=n.value):(p={id:u,kind:"value",key:a,valuePath:l,name:c,displayPath:c,assignmentValue:n.value,children:new Map,notesWithValue:new Set},s.children.set(u,p)),p.notesWithValue.add(e)}function Nj(t,e={}){gT=new WeakMap;let n=new Map,r=e.excludedFolderPatterns??[],o=r.length>0,a=e.includedPaths,i=e.includedPropertyKeys!==void 0&&e.includedPropertyKeys.size>0,s=wj(e.includedPropertyKeys),l=i;return t.forEachFile((c,u)=>{if(a&&!a.has(c)||o&&ls(c,r))return;let p=u.properties;if(!(!p||p.length===0))for(let m of p)Cj(n,c,m,s,l)}),kj(n)}function Ij(t,e,n={}){gT=new WeakMap;let r=new Map,o=n.includedPropertyKeys!==void 0&&n.includedPropertyKeys.size>0,a=wj(n.includedPropertyKeys),i=o;for(let s of e){let l=t.getFile(s);if(!l)continue;let c=l.properties;if(!(!c||c.length===0))for(let u of c)Cj(r,s,u,a,i)}return kj(r)}var gT,gj,gO,hO,Rde,_v,SO,cn=U(()=>{Ue();Yr();As();ed();Ot();Rn();Zr();dn();gT=null,gj=new Map,gO=null,hO=null,Rde=new Set(["true","false"]);_v="key:",SO="="});function Zo(t){return t.type===Dn.FOLDER}function Po(t){return t.type===Dn.NOTE}function Bi(t){return t.type===Dn.SEARCH}function wO(t){return typeof t=="object"&&t!==null}function RN(t){return wO(t)&&t.type===ni.FOLDER&&typeof t.path=="string"}function TO(t){return wO(t)&&t.type===ni.TAG&&typeof t.tagPath=="string"}function kO(t){return wO(t)&&t.type===ni.PROPERTY&&typeof t.nodeId=="string"}function Zu(t){return t===Oe?Oe:typeof t!="string"?null:Gt(t)}function Ju(t){return Me(t)}function DN(t){if(RN(t)){let n=LC(t.path);return n?{type:ni.FOLDER,path:n}:void 0}if(TO(t)){let n=Ze(t.tagPath);return n?{type:ni.TAG,tagPath:n}:void 0}if(!kO(t))return;let e=Zu(t.nodeId);if(e)return{type:ni.PROPERTY,nodeId:e}}function vT(t){let e=DN(t);return e?e.type===ni.FOLDER?`${ni.FOLDER}:${e.path}`:e.type===ni.TAG?`${ni.TAG}:${e.tagPath}`:`${ni.PROPERTY}:${e.nodeId}`:""}function Co(t){return t.type===Dn.TAG}function la(t){return t.type===Dn.PROPERTY}function nd(t){return Zo(t)?`${Dn.FOLDER}:${t.path}`:Po(t)?`${Dn.NOTE}:${t.path}`:Co(t)?`${Dn.TAG}:${t.tagPath}`:la(t)?`${Dn.PROPERTY}:${t.nodeId}`:Bi(t)?`${Dn.SEARCH}:${Ju(t.name)}`:Wde(t)}function Kde(t){if(typeof t=="object"&&t!==null)try{return JSON.stringify(t)}catch{return"[object Object]"}return String(t)}function Wde(t){throw new Error(`Unsupported shortcut type: ${Kde(t)}`)}var Dn,Gv,ni,Ia=U(()=>{Ue();$o();cn();Ot();Sn();Dn={FOLDER:"folder",NOTE:"note",SEARCH:"search",TAG:"tag",PROPERTY:"property"},Gv="application/x-notebook-shortcut",ni={FOLDER:"folder",TAG:"tag",PROPERTY:"property"}});function de(t,e){let n=new xj.Notice(t,e?.timeout),r=n.containerEl;if(r){if(!r.isConnected){let o=r.parentElement;if(o&&o.classList.contains("notice-container")&&!o.isConnected){let a=r.ownerDocument?.body??null;a&&a.appendChild(o)}}e?.variant==="success"?r.addClass("mod-success"):e?.variant==="warning"?r.addClass("mod-warning"):e?.variant==="loading"&&r.addClass("is-loading")}return n}var xj,Fn=U(()=>{xj=require("obsidian")});function _i(t){if(!t)return"";let e=t.trim();if(e.length===0)return"";let n=e.startsWith("/")?e:`/${e}`;return cl(n)}function qv(t,e="any"){let n=t??[];if(n.length===0)return new Set;let r=new Set,o=new Set;return n.forEach(a=>{if(!a||e==="navigation"&&!a.showInNavigation||e==="list"&&!a.showInList||e==="file-menu"&&!a.showInFileMenu||e==="any"&&!a.showInNavigation&&!a.showInList&&!a.showInFileMenu)return;let i=typeof a.key=="string"?a.key.trim():"",s=Me(i);!s||o.has(s)||(o.add(s),r.add(s))}),r}function Cm(t,e="any"){return qv(nn(t).propertyKeys,e)}function BN(t,e){let n=new Map;ep(e).forEach(a=>{let i=Me(a.key);i&&n.set(i,a)});let r=[],o=new Set;return ul(t).forEach(a=>{let i=a.trim(),s=Me(i);if(!i||!s||o.has(s))return;o.add(s);let l=n.get(s);r.push({key:i,showInNavigation:l?.showInNavigation??!0,showInList:l?.showInList??!0,showInFileMenu:l?.showInFileMenu??!1})}),r}function ST(t){if(!Array.isArray(t)||t.length===0)return"";let e=Rj.get(t);if(e!==void 0)return e;let n=nr(Xde(t));return Rj.set(t,n),n}function CO(t,e={}){return{id:e.id??Qde(),name:Vj(t),fileVisibility:Uj(e.fileVisibility),hiddenFolders:Gc(e.hiddenFolders),hiddenTags:Gc(e.hiddenTags),hiddenFileNames:Gc(e.hiddenFileNames),hiddenFileTags:Gc(e.hiddenFileTags),hiddenFileProperties:Gc(e.hiddenFileProperties),navigationBanner:typeof e.navigationBanner=="string"&&e.navigationBanner.length>0?e.navigationBanner:null,periodicNotesFolder:Ri(typeof e.periodicNotesFolder=="string"?e.periodicNotesFolder:""),propertyKeys:ep(e.propertyKeys),shortcuts:Yc(e.shortcuts),navRainbow:_j(e.navRainbow)}}function Zde(t,e={}){let n=e.sourceProfile??null;return CO(t,{hiddenFolders:n?.hiddenFolders,hiddenFileProperties:n?.hiddenFileProperties,hiddenFileNames:n?.hiddenFileNames,hiddenTags:n?.hiddenTags??e.fallbackHiddenTags,hiddenFileTags:n?.hiddenFileTags,fileVisibility:n?.fileVisibility??e.fallbackFileVisibility,navigationBanner:n?.navigationBanner,periodicNotesFolder:n?.periodicNotesFolder,propertyKeys:n?.propertyKeys,shortcuts:n?.shortcuts,navRainbow:n?.navRainbow})}function Kj(t,e,n={}){let r=e.trim();return r?Jde(t,r,n)?"duplicate":null:"empty"}function HN(t,e,n={}){let r=Kj(t,e);return r?{error:r}:{profile:Zde(e.trim(),n)}}function wT(t,e,n={}){let r=Kj(t,e,n);return r?r==="empty"?(de(d.settings.items.vaultProfiles.errors.emptyName,{variant:"warning"}),null):(r==="duplicate"&&de(d.settings.items.vaultProfiles.errors.duplicateName,{variant:"warning"}),null):e.trim()}function Jde(t,e,n={}){if(!Array.isArray(t))return!1;let r=Me(e);return r?t.some(o=>n.excludeId&&o.id===n.excludeId?!1:Me(o.name??"")===r):!1}function ece(t){let e=t.trim();if(!e)return"";let n=xv(e,{normalizePattern:It});if(n)return n.normalized;if(e.startsWith("*")&&!e.slice(1).includes("*")&&!e.includes("/")){let r=It(e.slice(1));return r.length>0?`*${r}`:""}if(e.endsWith("*")&&!e.slice(0,-1).includes("*")&&!e.includes("/")){let r=It(e.slice(0,-1));return r.length>0?`${r}*`:""}return It(e)}function Wj(t){let e=[],n=new Set;return t.forEach(r=>{let o=ece(r);!o||n.has(o)||(n.add(o),e.push(r))}),e}function qc(){let t=d.settings.items.vaultProfiles.defaultName?.trim();return t&&t.length>0?t:jde}function Oo(t){Array.isArray(t.vaultProfiles)||(t.vaultProfiles=[]),t.vaultProfiles.length===0&&t.vaultProfiles.push(CO(qc(),{id:eo})),t.vaultProfiles.some(r=>r.id===eo)||t.vaultProfiles.unshift(CO(qc(),{id:eo})),t.vaultProfiles.forEach(r=>{let o=mt(r)?r:null;if(o){let l=o.hiddenFiles;if(!Array.isArray(o.hiddenFileProperties)&&Array.isArray(l)){let p=l.map(m=>typeof m=="string"?m.trim():"").filter(m=>m.length>0);r.hiddenFileProperties=p}delete o.hiddenFiles;let c=o.hiddenFileNamePatterns;if(!Array.isArray(o.hiddenFileNames)&&Array.isArray(c)){let p=c.map(m=>typeof m=="string"?m.trim():"").filter(m=>m.length>0);r.hiddenFileNames=p}delete o.hiddenFileNamePatterns;let u=o.propertyFields;!Array.isArray(o.propertyKeys)&&typeof u=="string"&&(r.propertyKeys=BN(u)),delete o.propertyFields}r.name=Vj(r.name),r.fileVisibility=Uj(r.fileVisibility),r.hiddenFolders=Gc(r.hiddenFolders);let a=Array.isArray(r.hiddenTags)?r.hiddenTags:[];r.hiddenTags=Gc(a),r.hiddenFileNames=Gc(r.hiddenFileNames);let i=Array.isArray(r.hiddenFileTags)?r.hiddenFileTags:[];r.hiddenFileTags=Gc(i),r.hiddenFileProperties=Gc(r.hiddenFileProperties),r.navigationBanner=typeof r.navigationBanner=="string"&&r.navigationBanner.length>0?r.navigationBanner:null;let s=o&&typeof o.periodicNotesFolder=="string"?o.periodicNotesFolder:null;r.periodicNotesFolder=Ri(s??""),r.propertyKeys=ep(r.propertyKeys),r.shortcuts=Yc(r.shortcuts),r.navRainbow=_j(r.navRainbow)}),t.vaultProfiles.some(r=>r.id===t.vaultProfile)||(t.vaultProfile=eo)}function nn(t){if(!Array.isArray(t.vaultProfiles)||t.vaultProfiles.length===0)throw new Error("No vault profiles configured");return TT(t.vaultProfiles,t.vaultProfile)}function TT(t,e){if(!Array.isArray(t)||t.length===0)throw new Error("No vault profiles configured");if(e){let n=t.find(r=>r.id===e);if(n)return n}return t[0]}function ti(t){return nn(t).hiddenFolders}function Kc(t){return nn(t).hiddenFileNames}function VN(t){return nn(t).hiddenTags}function Wc(t){return nn(t).hiddenFileTags}function Qo(t){return nn(t).hiddenFileProperties}function Oi(t){return ST(nn(t).propertyKeys)}function NO(t,e){let n=nn(t),r=BN(e,n.propertyKeys),o=ST(n.propertyKeys),a=ST(r);return o===a?!1:(n.propertyKeys=r,!0)}function Bv(t){return nn(t).fileVisibility}function jj(t){return nn(t).navRainbow}function IO(t,e){if(Oo(t),!e)return!1;let n=e.split("/").pop()??e,r=e.split("/").filter(Boolean);return t.vaultProfiles.some(o=>{if(!Array.isArray(o.hiddenTags)||o.hiddenTags.length===0)return!1;let a=Fm(o.hiddenTags);return ss(e,n,a)?!0:a.pathPatterns.some(i=>Fh(i,r))})}function xO(t,e){if(Oo(t),!e)return!1;let n=e.split("/").pop()??e,r=e.split("/").filter(Boolean);return t.vaultProfiles.some(o=>{if(!Array.isArray(o.hiddenFileTags)||o.hiddenFileTags.length===0)return!1;let a=Fm(o.hiddenFileTags);return ss(e,n,a)?!0:a.pathPatterns.some(i=>Fh(i,r))})}function Gj(t,e,n){Oo(t);let r=Ze(e),o=Ze(n);if(!r||!o||r===o)return!1;let a=Os(r,It),i=Os(o,It),s=!1;return t.vaultProfiles.forEach(l=>{if(!Array.isArray(l.hiddenTags)||l.hiddenTags.length===0)return;let c=Ev(l.hiddenTags),u=new Map(c.map(g=>[g.raw,g])),p=!1,m=l.hiddenTags.map(g=>{let f=u.get(g);if(!f||f.literalPrefixLength===0||!Fh(f,a))return g;let h=tT(f,i,{normalizePattern:It});return h!==g&&(p=!0),h});p&&(l.hiddenTags=Wj(m),s=!0)}),s}function qj(t,e,n){Oo(t);let r=Ze(e),o=Ze(n);if(!r||!o||r===o)return!1;let a=Os(r,It),i=Os(o,It),s=!1;return t.vaultProfiles.forEach(l=>{if(!Array.isArray(l.hiddenFileTags)||l.hiddenFileTags.length===0)return;let c=Ev(l.hiddenFileTags),u=new Map(c.map(g=>[g.raw,g])),p=!1,m=l.hiddenFileTags.map(g=>{let f=u.get(g);if(!f||f.literalPrefixLength===0||!Fh(f,a))return g;let h=tT(f,i,{normalizePattern:It});return h!==g&&(p=!0),h});p&&(l.hiddenFileTags=Wj(m),s=!0)}),s}function Yj(t,e){Oo(t);let n=Ze(e);if(!n)return!1;let r=Os(n,It),o=!1;return t.vaultProfiles.forEach(a=>{if(!Array.isArray(a.hiddenTags)||a.hiddenTags.length===0)return;let i=Ev(a.hiddenTags),s=new Map(i.map(u=>[u.raw,u])),l=!1,c=a.hiddenTags.filter(u=>{let p=s.get(u);return!p||!Fh(p,r)||p.literalPrefixLength<r.length&&p.literalPrefixLength<p.segments.length?!0:(l=!0,!1)});l&&(a.hiddenTags=c,o=!0)}),o}function $j(t,e){Oo(t);let n=Ze(e);if(!n)return!1;let r=Os(n,It),o=!1;return t.vaultProfiles.forEach(a=>{if(!Array.isArray(a.hiddenFileTags)||a.hiddenFileTags.length===0)return;let i=Ev(a.hiddenFileTags),s=new Map(i.map(u=>[u.raw,u])),l=!1,c=a.hiddenFileTags.filter(u=>{let p=s.get(u);return!p||!Fh(p,r)||p.literalPrefixLength<r.length&&p.literalPrefixLength<p.segments.length?!0:(l=!0,!1)});l&&(a.hiddenFileTags=c,o=!0)}),o}function UN(t,e,n){Oo(t);let r=_i(e),o=_i(n);if(!r||!o||r===o)return!1;let a=Os(r,LN),i=Os(o,_i),s=!1;return t.vaultProfiles.forEach(l=>{if(!Array.isArray(l.hiddenFolders)||l.hiddenFolders.length===0)return;let c=Aj(l.hiddenFolders);if(c.patterns.length===0)return;let u=new Map(c.patterns.map(g=>[g.raw,g])),p=!1,m=l.hiddenFolders.map(g=>{let f=u.get(g);if(!f||f.literalPrefixLength===0||!Oj(f,a))return g;let h=tT(f,i,{addLeadingSlash:!0,normalizePattern:_i});return h!==f.raw&&(p=!0),h});p&&(l.hiddenFolders=Array.from(new Set(m)),s=!0)}),s}function KN(t,e){Oo(t);let n=_i(e);if(!n)return!1;let r=!1;return t.vaultProfiles.forEach(o=>{if(!Array.isArray(o.hiddenFolders)||o.hiddenFolders.length===0)return;let a=Aj(o.hiddenFolders);if(a.patterns.length===0)return;let i=new Map(a.patterns.map(u=>[u.raw,u])),s=Os(n,LN),l=!1,c=o.hiddenFolders.filter(u=>{let p=i.get(u);return!p||p.literalPrefixLength===0||!Oj(p,s)||p.literalPrefixLength<s.length&&p.literalPrefixLength<p.segments.length?!0:(l=!0,!1)});l&&(o.hiddenFolders=c,r=!0)}),r}var eo,jde,Dj,LN,Ej,Gde,Aj,Oj,PO,ON,FO,mT,Lj,qde,zj,Gc,Yde,AN,yT,Bj,zN,bT,_j,Mj,$de,Hj,ep,Rj,Xde,Yc,_N,Qde,Vj,Uj,dn=U(()=>{ko();xn();Ia();Ee();Xl();Mr();Fn();$o();Ot();Sn();Zr();Dr();As();iN();eo="default",jde="Default",Dj=t=>{let e=_i(t);if(!e)return"";let n=e.split("/").filter(Boolean);return n.length===0?"/":`/${n.join("/")}`},LN=t=>{let e=_i(t);return e?Me(e):""},Ej=t=>{let e=LN(t);if(!e)return"";let n=e.split("/").filter(Boolean);return n.length===0?"/":`/${n.join("/")}`},Gde=t=>xv(t,{normalizePattern:Dj,requireRoot:!0}),Aj=t=>{let e=t.filter(n=>n.trim().startsWith("/"));return rO(e,{normalizePattern:Dj,normalizePath:_i,requireRoot:!0})},Oj=(t,e)=>{if(t.literalPrefixLength===0||e.length===0)return!1;let n=Math.min(t.literalPrefixLength,t.segments.length,e.length);if(n===0)return!1;for(let r=0;r<n;r+=1){let o=t.segments[r],a=e[r];if(o.type!=="literal"||Me(o.value)!==a)return!1}return!0},PO=new Map,ON=0,FO=new WeakMap,mT=t=>{let e=FO.get(t);if(e&&e.version===ON)return e.matcher;let n=[],r=new Set;t.forEach(s=>{let l=s.trim();if(!l.startsWith("/"))return;n.push(l);let c=Ej(l);c&&r.add(c)});let o=Ph(Array.from(r).sort()),a=PO.get(o);if(a)return FO.set(t,{version:ON,matcher:a}),a;let i=rO(n,{normalizePattern:Ej,normalizePath:LN,requireRoot:!0});return PO.set(o,i),FO.set(t,{version:ON,matcher:i}),i},Lj=()=>{PO.clear(),ON+=1};qde=t=>typeof t=="string"&&t.startsWith("/"),zj=t=>{if(!qde(t))return null;let e=Gde(t);if(!e||e.literalPrefixLength===0)return null;let n=e.segments.slice(0,e.literalPrefixLength).map(o=>o.type==="literal"?o.value:"");return{normalizedPrefix:_i(`/${n.join("/")}`),rebuildPattern:o=>{let a=_i(o);if(!a)return"";let i=Os(a,_i);return tT(e,i,{addLeadingSlash:!0,normalizePattern:_i})}}},Gc=t=>Array.isArray(t)?t.map(e=>e.trim()).filter(e=>e.length>0):[],Yde=t=>({key:t.key,showInNavigation:t.showInNavigation,showInList:t.showInList,showInFileMenu:t.showInFileMenu}),AN=(t,e)=>{if(typeof t!="string")return e;let n=t.trim();return n.length>0?n:e},yT=t=>({...t}),Bj=t=>({mode:t.mode,balanceHueLuminance:t.balanceHueLuminance,separateThemeColors:t.separateThemeColors,shortcuts:yT(t.shortcuts),recent:yT(t.recent),folders:yT(t.folders),tags:yT(t.tags),properties:yT(t.properties)}),zN=(t,e)=>t===e?!0:!t||!e?!1:t.mode===e.mode&&t.balanceHueLuminance===e.balanceHueLuminance&&t.separateThemeColors===e.separateThemeColors&&t.shortcuts.enabled===e.shortcuts.enabled&&t.shortcuts.firstColor===e.shortcuts.firstColor&&t.shortcuts.lastColor===e.shortcuts.lastColor&&t.shortcuts.darkFirstColor===e.shortcuts.darkFirstColor&&t.shortcuts.darkLastColor===e.shortcuts.darkLastColor&&t.shortcuts.transitionStyle===e.shortcuts.transitionStyle&&t.recent.enabled===e.recent.enabled&&t.recent.firstColor===e.recent.firstColor&&t.recent.lastColor===e.recent.lastColor&&t.recent.darkFirstColor===e.recent.darkFirstColor&&t.recent.darkLastColor===e.recent.darkLastColor&&t.recent.transitionStyle===e.recent.transitionStyle&&t.folders.enabled===e.folders.enabled&&t.folders.firstColor===e.folders.firstColor&&t.folders.lastColor===e.folders.lastColor&&t.folders.darkFirstColor===e.folders.darkFirstColor&&t.folders.darkLastColor===e.folders.darkLastColor&&t.folders.transitionStyle===e.folders.transitionStyle&&t.folders.scope===e.folders.scope&&t.tags.enabled===e.tags.enabled&&t.tags.firstColor===e.tags.firstColor&&t.tags.lastColor===e.tags.lastColor&&t.tags.darkFirstColor===e.tags.darkFirstColor&&t.tags.darkLastColor===e.tags.darkLastColor&&t.tags.transitionStyle===e.tags.transitionStyle&&t.tags.scope===e.tags.scope&&t.properties.enabled===e.properties.enabled&&t.properties.firstColor===e.properties.firstColor&&t.properties.lastColor===e.properties.lastColor&&t.properties.darkFirstColor===e.properties.darkFirstColor&&t.properties.darkLastColor===e.properties.darkLastColor&&t.properties.transitionStyle===e.properties.transitionStyle&&t.properties.scope===e.properties.scope,bT=(t,e)=>{let n=mt(t)?t:null,r=AN(n?.firstColor,e.firstColor),o=AN(n?.lastColor,e.lastColor);return{enabled:typeof n?.enabled=="boolean"?n.enabled:e.enabled,firstColor:r,lastColor:o,darkFirstColor:AN(n?.darkFirstColor,e.darkFirstColor),darkLastColor:AN(n?.darkLastColor,e.darkLastColor),transitionStyle:aC(n?.transitionStyle)?n.transitionStyle:e.transitionStyle}},_j=(t,e=Pa)=>{let n=mt(t)?t:null,r=mt(n?.shortcuts)?n.shortcuts:null,o=mt(n?.recent)?n.recent:null,a=mt(n?.folders)?n.folders:null,i=mt(n?.tags)?n.tags:null,s=mt(n?.properties)?n.properties:null,l=bT(a,e.folders),c=bT(i,e.tags),u=bT(s,e.properties);return{mode:iv(n?.mode)?n.mode:e.mode,balanceHueLuminance:typeof n?.balanceHueLuminance=="boolean"?n.balanceHueLuminance:e.balanceHueLuminance,separateThemeColors:typeof n?.separateThemeColors=="boolean"?n.separateThemeColors:e.separateThemeColors,shortcuts:bT(r,e.shortcuts),recent:bT(o,e.recent),folders:{...l,scope:um(a?.scope)?a.scope:e.folders.scope},tags:{...c,scope:um(i?.scope)?i.scope:e.tags.scope},properties:{...u,scope:um(s?.scope)?s.scope:e.properties.scope}}},Mj=t=>t!==!1,$de=t=>t===!0,Hj=t=>{if(!mt(t))return null;let e=typeof t.key=="string"?t.key.trim():"",n=Me(e);return!e||!n?null:{key:e,showInNavigation:Mj(t.showInNavigation),showInList:Mj(t.showInList),showInFileMenu:$de(t.showInFileMenu)}},ep=t=>{if(!Array.isArray(t)||t.length===0)return[];let e=[],n=new Set;return t.forEach(r=>{let o=Hj(r);if(!o||!o.showInNavigation&&!o.showInList&&!o.showInFileMenu)return;let a=Me(o.key);!a||n.has(a)||(n.add(a),e.push(Yde(o)))}),e};Rj=new WeakMap,Xde=t=>{let e=[],n=new Set;return t.forEach(r=>{let o=Hj(r);if(!o)return;let a=Me(o.key);!a||n.has(a)||(n.add(a),e.push(o.key))}),e};Yc=t=>Array.isArray(t)?t.map(e=>!Bi(e)||!e.startTarget?{...e}:{...e,startTarget:{...e.startTarget}}):[],_N=(t,e)=>{if(!Array.isArray(t)||t.length===0)return!1;let n=!1;return t.forEach(r=>{if(!Array.isArray(r.shortcuts)||r.shortcuts.length===0)return;let o=e(r.shortcuts);o&&(r.shortcuts=o,n=!0)}),n},Qde=()=>`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`,Vj=t=>{let e=(t??"").trim();return e.length>0?e:qc()},Uj=t=>t===Er.ALL||t===Er.DOCUMENTS||t===Er.SUPPORTED?t:Er.SUPPORTED});var Yv,WN,Xj=U(()=>{Yv=require("obsidian");Ee();Ql();ot();Ai();fh();dn();WN=class extends Yv.Modal{constructor(n,r){super(n);this.options=r;this.listEl=null;this.rowDisposers=[];this.footerDisposers=[];this.applyButton=null;this.previousNames=new Map;this.rowInputs=new Map;this.rowControls=new Map;this.isSaving=!1;this.profiles=this.cloneProfiles(r.profiles),this.activeProfileId=r.activeProfileId??eo,this.initialSnapshot=this.serializeProfiles(this.profiles,this.activeProfileId),this.profiles.forEach(o=>{this.previousNames.set(o.id,this.resolveProfileName(o))})}onOpen(){this.modalEl.addClass("nn-edit-profiles-modal"),this.titleEl.setText(d.settings.items.vaultProfiles.editProfilesModalTitle),this.contentEl.empty(),this.listEl=this.contentEl.createDiv({cls:"nn-edit-profiles-list"}),this.renderRows(),this.renderFooter(),this.registerKeyboardShortcuts()}onClose(){this.applyChanges(!1),this.disposeRowDisposers(),this.disposeFooterDisposers(),this.modalEl.removeClass("nn-edit-profiles-modal"),this.contentEl.empty()}renderRows(){this.listEl&&(this.disposeRowDisposers(),this.rowInputs.clear(),this.rowControls.clear(),this.listEl.empty(),this.profiles.forEach((n,r)=>{let o=this.listEl?.createDiv({cls:"nn-edit-profiles-row"});if(!o)return;let a=o.createEl("input",{cls:"nn-input",attr:{type:"text",placeholder:qc()}});a.value=n.name??"",this.rowInputs.set(n.id,a),this.rowDisposers.push(St(a,"input",()=>{this.handleNameInput(n.id)})),this.rowDisposers.push(St(a,"blur",()=>{this.commitProfileName(n.id)}));let i=o.createDiv({cls:"nn-edit-profiles-actions"}),s=i.createEl("button",{cls:"nn-action-btn",attr:{type:"button","aria-label":d.settings.items.vaultProfiles.moveUp}});(0,Yv.setIcon)(s,"lucide-chevron-up"),s.disabled=r===0,this.rowDisposers.push(St(s,"click",()=>{this.moveProfile(n.id,-1)}));let l=i.createEl("button",{cls:"nn-action-btn",attr:{type:"button","aria-label":d.settings.items.vaultProfiles.moveDown}});(0,Yv.setIcon)(l,"lucide-chevron-down"),l.disabled=r===this.profiles.length-1,this.rowDisposers.push(St(l,"click",()=>{this.moveProfile(n.id,1)}));let c=i.createEl("button",{cls:"nn-action-btn mod-warning",attr:{type:"button","aria-label":d.settings.items.vaultProfiles.deleteButton}});(0,Yv.setIcon)(c,"lucide-trash-2");let u=n.id===eo;c.disabled=u||this.profiles.length===1,this.rowDisposers.push(St(c,"click",()=>{this.confirmDeleteProfile(n.id)})),this.rowControls.set(n.id,{rowEl:o,upBtn:s,downBtn:l,deleteBtn:c,input:a})}),this.updateMoveButtons())}renderFooter(){let n=this.contentEl.createDiv({cls:"nn-button-container"}),r=n.createEl("button",{text:d.settings.items.vaultProfiles.addButton,attr:{type:"button"}});this.footerDisposers.push(St(r,"click",()=>{this.promptAddProfile()})),this.applyButton=n.createEl("button",{cls:"mod-cta",text:d.settings.items.vaultProfiles.applyButton,attr:{type:"button"}}),this.footerDisposers.push(St(this.applyButton,"click",()=>{this.applyChanges(!0)})),this.isSaving&&(this.applyButton.disabled=!0)}applyChanges(n){if(this.isSaving)return;this.commitAllProfileNames();let r=this.getActiveProfileId(),o=this.serializeProfiles(this.profiles,r);if(o===this.initialSnapshot){n&&this.close();return}let a=this.cloneProfiles(this.profiles);this.setSavingState(!0),Q(async()=>{try{await this.options.onSave(a,r),this.initialSnapshot=o,n&&this.close()}finally{this.setSavingState(!1)}})}promptAddProfile(){new dl(this.app,d.settings.items.vaultProfiles.addModalTitle,d.settings.items.vaultProfiles.addModalPlaceholder,r=>{this.addProfileWithName(r)}).open()}addProfileWithName(n){let r=wT(this.profiles,n);if(!r)return;let o=HN(this.profiles,r,{sourceProfile:this.resolveActiveProfile()});if("error"in o)return;let a=o.profile;this.profiles.push(a),this.previousNames.set(a.id,a.name??""),this.activeProfileId=a.id,this.renderRows()}resolveActiveProfile(){if(this.profiles.length===0)return null;let n=this.profiles.find(o=>o.id===this.activeProfileId);if(n)return n;let r=this.profiles.find(o=>o.id===eo);return r||this.profiles[0]}handleNameInput(n){let r=this.rowInputs.get(n);if(!r)return;let o=this.profiles.findIndex(i=>i.id===n);if(o===-1)return;let a=this.profiles[o];this.profiles[o]={...a,name:r.value}}commitProfileName(n){let r=this.rowInputs.get(n);if(!r)return;let o=this.profiles.findIndex(l=>l.id===n);if(o===-1)return;let a=this.profiles[o],i=this.previousNames.get(n)??this.resolveProfileName(a),s=wT(this.profiles,r.value,{excludeId:n});if(!s){r.value=i,this.profiles[o]={...a,name:i};return}this.profiles[o]={...a,name:s},this.previousNames.set(n,s),r.value=s}moveProfile(n,r){let o=this.profiles.findIndex(l=>l.id===n);if(o===-1)return;let a=o+r;if(a<0||a>=this.profiles.length)return;let i=[...this.profiles],[s]=i.splice(o,1);if(i.splice(a,0,s),this.profiles=i,this.listEl){let l=createFragment();i.forEach(c=>{let u=this.rowControls.get(c.id);u?.rowEl&&l.appendChild(u.rowEl)}),this.listEl.appendChild(l)}this.updateMoveButtons(i)}updateMoveButtons(n=this.profiles){let r=n.length-1;n.forEach((o,a)=>{let i=this.rowControls.get(o.id);if(!i)return;i.upBtn.disabled=a===0,i.downBtn.disabled=a===r;let s=o.id===eo;i.deleteBtn.disabled=s||n.length===1})}confirmDeleteProfile(n){let r=this.profiles.find(i=>i.id===n);if(!r||r.id===eo||this.profiles.length===1)return;let o=this.resolveProfileName(r);new En(this.app,d.settings.items.vaultProfiles.deleteModalTitle.replace("{name}",o),d.settings.items.vaultProfiles.deleteModalMessage.replace("{name}",o),async()=>{this.deleteProfile(n)}).open()}deleteProfile(n){let r=this.profiles.findIndex(o=>o.id===n);r===-1||this.profiles.length===1||(this.profiles.splice(r,1),this.previousNames.delete(n),this.rowInputs.delete(n),this.activeProfileId===n&&(this.activeProfileId=this.resolveNextActiveProfileId(r)),this.renderRows())}resolveNextActiveProfileId(n){let r=this.profiles[n]??this.profiles[n-1]??this.profiles.find(o=>o.id===eo)??this.profiles[0];return r?r.id:eo}getActiveProfileId(){if(this.profiles.some(o=>o.id===this.activeProfileId))return this.activeProfileId;let r=this.profiles.find(o=>o.id===eo);return r?r.id:this.profiles[0]?.id??eo}resolveProfileName(n){let r=n.name?.trim();return r&&r.length>0?r:qc()}cloneProfiles(n){return Array.isArray(n)?n.map(r=>({...r,name:r.name??"",hiddenFolders:Array.isArray(r.hiddenFolders)?[...r.hiddenFolders]:[],hiddenTags:Array.isArray(r.hiddenTags)?[...r.hiddenTags]:[],hiddenFileNames:Array.isArray(r.hiddenFileNames)?[...r.hiddenFileNames]:[],hiddenFileTags:Array.isArray(r.hiddenFileTags)?[...r.hiddenFileTags]:[],hiddenFileProperties:Array.isArray(r.hiddenFileProperties)?[...r.hiddenFileProperties]:[],navigationBanner:typeof r.navigationBanner=="string"?r.navigationBanner:null,shortcuts:Yc(r.shortcuts)})):[]}serializeProfiles(n,r){return JSON.stringify({activeProfileId:r,profiles:n.map(o=>({id:o.id,name:o.name?.trim()??"",hiddenFolders:Array.isArray(o.hiddenFolders)?[...o.hiddenFolders]:[],hiddenTags:Array.isArray(o.hiddenTags)?[...o.hiddenTags]:[],hiddenFileNames:Array.isArray(o.hiddenFileNames)?[...o.hiddenFileNames]:[],hiddenFileTags:Array.isArray(o.hiddenFileTags)?[...o.hiddenFileTags]:[],hiddenFileProperties:Array.isArray(o.hiddenFileProperties)?[...o.hiddenFileProperties]:[],navigationBanner:o.navigationBanner??null,fileVisibility:o.fileVisibility,shortcuts:Yc(o.shortcuts)}))})}commitAllProfileNames(){for(let n of this.rowInputs.keys())this.commitProfileName(n)}findProfileIdByInputElement(n){if(!n||!n.instanceOf(HTMLInputElement))return null;for(let[r,o]of this.rowInputs.entries())if(o===n)return r;return null}registerKeyboardShortcuts(){this.scope.register([],"Enter",n=>{let r=this.findProfileIdByInputElement(activeDocument.activeElement);if(!r)return;n.preventDefault(),this.commitProfileName(r);let o=this.rowInputs.get(r);o&&o.blur()}),this.scope.register([],"Escape",n=>{n.preventDefault(),this.close()})}setSavingState(n){this.isSaving=n,this.applyButton&&(this.applyButton.disabled=n)}disposeRowDisposers(){this.rowDisposers.length&&(this.rowDisposers.forEach(n=>{try{n()}catch(r){console.error("Failed to dispose EditVaultProfilesModal row listener",r)}}),this.rowDisposers=[])}disposeFooterDisposers(){this.footerDisposers.length&&(this.footerDisposers.forEach(n=>{try{n()}catch(r){console.error("Failed to dispose EditVaultProfilesModal footer listener",r)}}),this.footerDisposers=[],this.applyButton=null)}}});var Hi,jN,tce,GN,nce,rce,oce,ace,$v,EO=U(()=>{Hi=require("obsidian");Ee();ot();Ql();Ot();Rn();ed();dn();jN="lucide-square",tce="lucide-square-minus",GN="lucide-square-check-big",nce="lucide-circle-x",rce="panel-left",oce="list",ace="square-menu",$v=class extends Hi.Modal{constructor(n,r){super(n);this.rows=[];this.rowsByKey=new Map;this.rowControls=new Map;this.selectAllControls=null;this.headerDisposers=[];this.rowDisposers=[];this.footerDisposers=[];this.applyButton=null;this.listEl=null;this.filterInputEl=null;this.filterClearButtonEl=null;this.filterQuery="";this.initialSnapshot="";this.isSaving=!1;this.initialOrder=[];this.options=r,this.initializeRows()}onOpen(){this.modalEl.addClass("nn-property-keys-modal"),this.titleEl.setText(d.modals.propertyKeyVisibility.title),this.contentEl.empty();let n=this.contentEl.createDiv({cls:"nn-property-keys-search-container"}),r=n.createEl("input",{cls:["nn-input","nn-property-keys-search"],attr:{type:"text",placeholder:d.modals.propertyKeyVisibility.searchPlaceholder}}),o=n.createEl("button",{cls:"nn-property-keys-search-clear",attr:{type:"button","aria-label":d.searchInput.clearSearch}});(0,Hi.setIcon)(o,nce),this.filterInputEl=r,this.filterClearButtonEl=o,this.updateSearchControls(),this.headerDisposers.push(St(r,"input",()=>{this.filterQuery=r.value,this.updateSearchControls(),this.renderRows()})),this.headerDisposers.push(St(r,"keydown",i=>{!Hi.Platform.isMobile||i.key!=="Enter"||(i.preventDefault(),i.stopPropagation(),r.blur())})),this.headerDisposers.push(St(o,"click",()=>{this.filterQuery="",r.value="",this.updateSearchControls(),this.renderRows(),r.focus()}));let a=this.contentEl.createDiv({cls:"nn-property-keys-scroll"});this.renderColumnHeader(a),this.listEl=a.createDiv({cls:"nn-property-keys-list"}),this.renderRows(),this.renderDescription(),this.renderFooter(),this.updateApplyButtonState(),Hi.Platform.isMobile||r.focus()}onClose(){this.disposeHeaderDisposers(),this.disposeRowDisposers(),this.disposeFooterDisposers(),this.rowControls.clear(),this.selectAllControls=null,this.rows=[],this.rowsByKey.clear(),this.listEl=null,this.applyButton=null,this.filterInputEl=null,this.filterClearButtonEl=null,this.modalEl.removeClass("nn-property-keys-modal"),this.contentEl.empty()}initializeRows(){let n=ep(this.options.initialKeys);this.initialOrder=n.map(s=>Me(s.key)).filter(Boolean);let r=new Map;n.forEach(s=>{let l=Me(s.key);!l||r.has(l)||r.set(l,s)});let o=nW(this.app),a=new Map;r.forEach((s,l)=>{a.set(l,{normalizedKey:l,displayKey:s.key.trim(),noteCount:0,showInNavigation:s.showInNavigation,showInList:s.showInList,showInFileMenu:s.showInFileMenu})}),o.forEach(s=>{let l=Me(s.key),c=s.key.trim();if(!l||!c)return;let u=a.get(l);if(u){u.noteCount=s.noteCount;return}a.set(l,{normalizedKey:l,displayKey:c,noteCount:s.noteCount,showInNavigation:!1,showInList:!1,showInFileMenu:!1})});let i=Array.from(a.values());i.sort((s,l)=>{let c=Mt(s.displayKey,l.displayKey);return c!==0?c:s.displayKey.localeCompare(l.displayKey)}),this.rows=i,this.rowsByKey=new Map(i.map(s=>[s.normalizedKey,s])),this.initialSnapshot=this.serializeSelection()}serializeSelection(){let r=this.buildNextPropertyKeys().map(o=>({key:o.key,showInNavigation:o.showInNavigation,showInList:o.showInList,showInFileMenu:o.showInFileMenu})).sort((o,a)=>{let i=Me(o.key),s=Me(a.key);return i<s?-1:i>s?1:0});return JSON.stringify(r)}buildNextPropertyKeys(){let n=this.initialOrder,r=new Set;n.forEach(s=>{s&&r.add(s)});let o=[],a=s=>{let l=s.displayKey.trim();l&&o.push({key:l,showInNavigation:s.showInNavigation,showInList:s.showInList,showInFileMenu:s.showInFileMenu})};n.forEach(s=>{let l=this.rowsByKey.get(s);l&&(!l.showInNavigation&&!l.showInList&&!l.showInFileMenu||a(l))});let i=this.rows.filter(s=>!s.showInNavigation&&!s.showInList&&!s.showInFileMenu?!1:!r.has(s.normalizedKey));return i.sort((s,l)=>{let c=Mt(s.displayKey,l.displayKey);return c!==0?c:s.displayKey.localeCompare(l.displayKey)}),i.forEach(s=>a(s)),o}getFilteredRows(){let n=this.filterQuery.trim();if(!n)return this.rows;let r=Me(n);return r?this.rows.filter(o=>o.normalizedKey.includes(r)):this.rows}renderRows(){if(!this.listEl)return;this.disposeRowDisposers(),this.rowControls.clear(),this.selectAllControls=null,this.listEl.empty();let n=this.getFilteredRows();if(n.length===0){this.listEl.createDiv({cls:"nn-property-keys-empty",text:d.modals.propertyKeyVisibility.emptyState});return}n.forEach(r=>{let o=this.listEl?.createDiv({cls:"nn-property-keys-row"});if(!o)return;let a=o.createDiv({cls:"nn-property-keys-label"});a.createSpan({text:r.displayKey}),r.noteCount>0&&a.createSpan({cls:"nn-property-keys-count",text:` (${r.noteCount.toLocaleString()})`});let i=o.createDiv({cls:"nn-property-keys-actions"}),s=this.createToggleButton(i,d.modals.propertyKeyVisibility.showInNavigation),l=this.createToggleButton(i,d.modals.propertyKeyVisibility.showInList),c=this.createToggleButton(i,d.modals.propertyKeyVisibility.showInFileMenu),u={rowEl:o,navigationButton:s,listButton:l,fileMenuButton:c};this.rowControls.set(r.normalizedKey,u),this.updateRowControls(r,u),this.rowDisposers.push(St(o,"click",p=>{p.target instanceof Element&&p.target.closest("button")||this.toggleEntireRow(r.normalizedKey)})),this.registerToggleButtonHandler(s,()=>{this.toggleRow(r.normalizedKey,"navigation")}),this.registerToggleButtonHandler(l,()=>{this.toggleRow(r.normalizedKey,"list")}),this.registerToggleButtonHandler(c,()=>{this.toggleRow(r.normalizedKey,"fileMenu")})}),this.renderSelectAllRow()}updateSearchControls(){let n=this.filterInputEl,r=this.filterClearButtonEl;if(!n||!r)return;let o=this.filterQuery.trim().length>0;n.toggleClass("is-active",o),r.toggleClass("is-visible",o)}renderColumnHeader(n){let r=n.createDiv({cls:["nn-property-keys-row","nn-property-keys-header-row","is-enabled"]});r.createDiv({cls:"nn-property-keys-label",text:d.modals.propertyKeyVisibility.propertyColumnLabel});let o=r.createDiv({cls:"nn-property-keys-actions"}),a=o.createDiv({cls:["nn-property-keys-toggle","nn-property-keys-header-icon","is-enabled"]});a.setAttribute("aria-hidden","true"),(0,Hi.setIcon)(a,rce);let i=o.createDiv({cls:["nn-property-keys-toggle","nn-property-keys-header-icon","is-enabled"]});i.setAttribute("aria-hidden","true"),(0,Hi.setIcon)(i,oce);let s=o.createDiv({cls:["nn-property-keys-toggle","nn-property-keys-header-icon","is-enabled"]});s.setAttribute("aria-hidden","true"),(0,Hi.setIcon)(s,ace)}createToggleButton(n,r){return n.createEl("button",{cls:["nn-action-btn","nn-property-keys-toggle"],attr:{type:"button","aria-label":r}})}registerToggleButtonHandler(n,r){this.rowDisposers.push(St(n,"click",r))}toggleRow(n,r){let o=this.rowsByKey.get(n);if(!o)return;r==="navigation"?o.showInNavigation=!o.showInNavigation:r==="list"?o.showInList=!o.showInList:o.showInFileMenu=!o.showInFileMenu;let a=this.rowControls.get(n);a&&this.updateRowControls(o,a),this.updateSelectAllControls(),this.updateApplyButtonState()}toggleEntireRow(n){let r=this.rowsByKey.get(n);if(!r)return;let a=Number(r.showInNavigation)+Number(r.showInList)+Number(r.showInFileMenu)<3;r.showInNavigation=a,r.showInList=a,r.showInFileMenu=a;let i=this.rowControls.get(n);i&&this.updateRowControls(r,i),this.updateSelectAllControls(),this.updateApplyButtonState()}updateRowControls(n,r){let o=n.showInNavigation||n.showInList||n.showInFileMenu;r.rowEl.toggleClass("is-enabled",o),r.navigationButton.toggleClass("is-enabled",n.showInNavigation),(0,Hi.setIcon)(r.navigationButton,n.showInNavigation?GN:jN),r.listButton.toggleClass("is-enabled",n.showInList),(0,Hi.setIcon)(r.listButton,n.showInList?GN:jN),r.fileMenuButton.toggleClass("is-enabled",n.showInFileMenu),(0,Hi.setIcon)(r.fileMenuButton,n.showInFileMenu?GN:jN)}renderSelectAllRow(){if(!this.listEl)return;let n=this.listEl.createDiv({cls:["nn-property-keys-row","nn-property-keys-select-all-row"]});n.createDiv({cls:"nn-property-keys-label"});let r=n.createDiv({cls:"nn-property-keys-actions"}),o=this.createToggleButton(r,d.modals.propertyKeyVisibility.toggleAllInNavigation),a=this.createToggleButton(r,d.modals.propertyKeyVisibility.toggleAllInList),i=this.createToggleButton(r,d.modals.propertyKeyVisibility.toggleAllInFileMenu);this.selectAllControls={rowEl:n,navigationButton:o,listButton:a,fileMenuButton:i},this.updateSelectAllControls(),this.registerToggleButtonHandler(o,()=>{this.toggleAllRows("navigation")}),this.registerToggleButtonHandler(a,()=>{this.toggleAllRows("list")}),this.registerToggleButtonHandler(i,()=>{this.toggleAllRows("fileMenu")})}getColumnToggleState(n,r){let o=r.length;if(o===0)return"none";let a=0;return r.forEach(i=>{if(n==="navigation"){i.showInNavigation&&(a+=1);return}if(n==="list"&&i.showInList){a+=1;return}n==="fileMenu"&&i.showInFileMenu&&(a+=1)}),a===0?"none":a===o?"all":"some"}getIconForColumnState(n){return n==="all"?GN:n==="some"?tce:jN}updateSelectAllControls(){let n=this.selectAllControls;if(!n)return;let r=this.getFilteredRows(),o=this.getColumnToggleState("navigation",r),a=this.getColumnToggleState("list",r),i=this.getColumnToggleState("fileMenu",r);n.navigationButton.toggleClass("is-enabled",o!=="none"),(0,Hi.setIcon)(n.navigationButton,this.getIconForColumnState(o)),n.listButton.toggleClass("is-enabled",a!=="none"),(0,Hi.setIcon)(n.listButton,this.getIconForColumnState(a)),n.fileMenuButton.toggleClass("is-enabled",i!=="none"),(0,Hi.setIcon)(n.fileMenuButton,this.getIconForColumnState(i)),n.rowEl.toggleClass("is-enabled",o!=="none"||a!=="none"||i!=="none")}toggleAllRows(n){let r=this.getFilteredRows(),a=this.getColumnToggleState(n,r)!=="all";r.forEach(i=>{n==="navigation"?i.showInNavigation=a:n==="list"?i.showInList=a:i.showInFileMenu=a}),this.rowControls.forEach((i,s)=>{let l=this.rowsByKey.get(s);l&&this.updateRowControls(l,i)}),this.updateSelectAllControls(),this.updateApplyButtonState()}renderDescription(){this.contentEl.createEl("p",{cls:"nn-property-keys-description",text:d.modals.propertyKeyVisibility.description})}renderFooter(){let n=this.contentEl.createDiv({cls:["nn-button-container","nn-property-keys-footer"]}),r=n.createEl("button",{text:d.common.cancel,attr:{type:"button"}});this.footerDisposers.push(St(r,"click",()=>{this.close()})),this.applyButton=n.createEl("button",{cls:"mod-cta",text:d.modals.propertyKeyVisibility.applyButton,attr:{type:"button"}}),this.footerDisposers.push(St(this.applyButton,"click",()=>{this.applyChanges()}))}updateApplyButtonState(){if(!this.applyButton)return;if(this.isSaving){this.applyButton.disabled=!0;return}let n=this.serializeSelection();this.applyButton.disabled=n===this.initialSnapshot}applyChanges(){if(this.isSaving)return;let n=this.buildNextPropertyKeys();if(this.serializeSelection()===this.initialSnapshot){this.close();return}this.isSaving=!0,this.updateApplyButtonState(),Q(async()=>{try{await this.options.onSave(n),this.close()}finally{this.isSaving=!1,this.updateApplyButtonState()}})}disposeRowDisposers(){let n=this.rowDisposers;this.rowDisposers=[],n.forEach(r=>{try{r()}catch{}})}disposeHeaderDisposers(){let n=this.headerDisposers;this.headerDisposers=[],n.forEach(r=>{try{r()}catch{}})}disposeFooterDisposers(){let n=this.footerDisposers;this.footerDisposers=[],n.forEach(r=>{try{r()}catch{}})}}});function Xv(t){let e=` ${d.settings.syncMode.notSynced}`;return t.endsWith(e)?t:`${t}${e}`}function ice(t){let e=t.nameEl.textContent?.trim()??"",n=` ${d.settings.syncMode.notSynced}`;return e.endsWith(n)?e.slice(0,-n.length):e}function At(t){let{setting:e,plugin:n,settingId:r,onToggle:o}=t,a=ice(e);e.addExtraButton(i=>{i.extraSettingsEl.addClass("nn-setting-sync-toggle");let s=()=>{let l=n.isLocal(r);i.setIcon(l?"lucide-cloud-off":"lucide-cloud");let c=l?d.settings.syncMode.switchToSynced:d.settings.syncMode.switchToLocal;i.setTooltip(c),i.extraSettingsEl.setAttr("aria-label",c),a.length>0&&e.setName(l?Xv(a):a)};s(),i.onClick(()=>{Q(async()=>{let c=n.isLocal(r)?"synced":"local";await n.setSyncMode(r,c),s(),o?.()})})})}var da=U(()=>{Ee();ot()});function Qj(t){sce(t,{heading:d.settings.groups.general.vaultConfiguration})}function sce(t,e){let{containerEl:n}=t,r=Jj(t),a=tr(n)(e.heading);a.addSetting(i=>r.renderProfileSetting(i)),MO.Platform.isMobile||a.addSetting(i=>r.renderVaultTitleSetting(i)),a.addSetting(i=>r.renderFileVisibilitySetting(i)),a.addSetting(i=>r.renderPropertyKeysSetting(i))}function Zj(t){let e=Jj(t),n=[_e({name:d.settings.items.vaultProfiles.name,desc:d.settings.items.vaultProfiles.desc,render:r=>e.renderProfileSetting(r)}),_e({name:d.settings.items.fileVisibility.name,desc:d.settings.items.fileVisibility.desc,render:r=>e.renderFileVisibilitySetting(r)}),_e({name:d.settings.items.propertyFields.name,desc:d.settings.items.propertyFields.desc,render:r=>e.renderPropertyKeysSetting(r)})];return MO.Platform.isMobile||n.splice(1,0,_e({name:d.settings.items.vaultTitle.name,desc:d.settings.items.vaultTitle.desc,render:r=>e.renderVaultTitleSetting(r)})),[Pt(d.settings.groups.general.vaultConfiguration,n)]}function Jj(t){let{plugin:e}=t;Oo(e.settings);let n=d.settings.items.vaultProfiles.defaultName||"Default",r=y=>{let S=y?.trim();return S&&S.length>0?S:n},o=()=>e.settings.vaultProfiles.find(y=>y.id===e.settings.vaultProfile)??e.settings.vaultProfiles[0]??null,a="__add_new__",i=null,s=null,l=null,c=y=>{let S=y.map(P=>P.key.trim()).filter(P=>P.length>0),w=S.length;if(w===0)return d.settings.items.propertyFields.noneConfigured;let k=S.slice(0,5),F=w>k.length?`${k.join(", ")}, ...`:k.join(", ");return w===1?d.settings.items.propertyFields.singleConfigured.replace("{properties}",F):d.settings.items.propertyFields.multipleConfigured.replace("{count}",w.toString()).replace("{properties}",F)},u=()=>{if(i){let S=i.selectEl;for(;S.firstChild;)S.removeChild(S.firstChild);e.settings.vaultProfiles.forEach(F=>{S.createEl("option",{value:F.id,text:r(F.name)})}),S.createEl("option",{value:a,text:d.settings.items.vaultProfiles.addProfileOption});let k=e.settings.vaultProfiles.some(F=>F.id===e.settings.vaultProfile)?e.settings.vaultProfile:e.settings.vaultProfiles[0]?.id??"";S.value=k}let y=o();if(s&&s.setValue(y?.fileVisibility??Er.SUPPORTED),l){let S=Array.isArray(y?.propertyKeys)?y.propertyKeys:[];l.setText(c(S))}},p=async y=>{let S=wT(e.settings.vaultProfiles,y);if(!S)return;let w=o(),k=HN(e.settings.vaultProfiles,S,{sourceProfile:w,fallbackHiddenTags:w?.hiddenTags,fallbackFileVisibility:w?.fileVisibility});if("error"in k){k.error==="duplicate"?de(d.settings.items.vaultProfiles.errors.duplicateName,{variant:"warning"}):de(d.settings.items.vaultProfiles.errors.emptyName,{variant:"warning"});return}e.settings.vaultProfiles.push(k.profile),e.setVaultProfile(k.profile.id),await e.saveSettingsAndUpdate(),u()},m=(y,S)=>{if(y.some(F=>F.id===S))return S;let k=y.find(F=>F.id===eo);return k?k.id:y[0]?.id??eo},g=()=>{new WN(t.app,{profiles:e.settings.vaultProfiles,activeProfileId:e.settings.vaultProfile,onSave:async(S,w)=>{e.settings.vaultProfiles=S;let k=m(S,w);e.settings.vaultProfile===k?await e.saveSettingsAndUpdate():(e.setVaultProfile(k),await e.saveSettingsAndUpdate()),u()}}).open()};return{renderProfileSetting:y=>{y.setName(d.settings.items.vaultProfiles.name).setDesc(d.settings.items.vaultProfiles.desc),y.addDropdown(S=>(i=S,u(),S.onChange(w=>{if(w===a){i&&(i.selectEl.value=e.settings.vaultProfile),new dl(t.app,d.settings.items.vaultProfiles.addModalTitle,d.settings.items.vaultProfiles.addModalPlaceholder,F=>p(F)).open();return}Q(()=>{e.setVaultProfile(w),u()})}),S)),y.addButton(S=>(S.setButtonText(d.settings.items.vaultProfiles.editProfilesButton).onClick(()=>{g()}),S)),y.controlEl.addClass("nn-setting-profile-dropdown"),At({setting:y,plugin:e,settingId:"vaultProfile"})},renderVaultTitleSetting:y=>{y.setName(d.settings.items.vaultTitle.name).setDesc(d.settings.items.vaultTitle.desc).addDropdown(S=>S.addOption("header",d.settings.items.vaultTitle.options.header).addOption("navigation",d.settings.items.vaultTitle.options.navigation).setValue(e.settings.vaultTitle).onChange(async w=>{OU(w)&&(e.settings.vaultTitle=w,await e.saveSettingsAndUpdate())}))},renderFileVisibilitySetting:y=>{y.setName(d.settings.items.fileVisibility.name).setDesc(d.settings.items.fileVisibility.desc).addDropdown(S=>(s=S,S.addOption(Er.DOCUMENTS,d.settings.items.fileVisibility.options.documents).addOption(Er.SUPPORTED,d.settings.items.fileVisibility.options.supported).addOption(Er.ALL,d.settings.items.fileVisibility.options.all).setValue(o()?.fileVisibility??Er.SUPPORTED).onChange(async w=>{if(!IU(w))return;let k=e.settings.vaultProfiles.find(F=>F.id===e.settings.vaultProfile);k&&(k.fileVisibility=w),await e.saveSettingsAndUpdate(),u()}),S))},renderPropertyKeysSetting:y=>{y.setName(d.settings.items.propertyFields.name).setDesc(d.settings.items.propertyFields.desc),l=y.descEl.createDiv({cls:"nn-setting-property-keys-count-line"}).createSpan({cls:"nn-setting-property-keys-summary-text"}),y.addButton(w=>w.setButtonText(d.settings.items.propertyFields.addButtonTooltip).onClick(()=>{let k=o();if(!k)return;new $v(t.app,{initialKeys:k.propertyKeys,onSave:async P=>{k.propertyKeys=P,await e.saveSettingsAndUpdate(),u()}}).open()})),u()}}}var MO,RO=U(()=>{MO=require("obsidian");Ee();Xj();fh();EO();ot();Mr();dn();Fn();da();xn();Ca();Xa()});function lce(t){return JSON.stringify({...t,featureImage:null}).length}async function e2(t,e){try{let n=kt(),r=ti(t),o=e?[]:r,a={itemsWithMetadataName:0,itemsWithMetadataCreated:0,itemsWithMetadataModified:0,itemsWithMetadataIcon:0,itemsWithMetadataColor:0,itemsWithFailedCreatedParse:0,itemsWithFailedModifiedParse:0};return n.forEachFile((i,s)=>{if(o.length>0&&ls(i,o))return;let l=s.metadata;if(!l)return;l.name&&a.itemsWithMetadataName++,typeof l.icon=="string"&&l.icon.trim().length>0&&a.itemsWithMetadataIcon++;let u=typeof l.color=="string"&&l.color.trim().length>0,p=typeof l.background=="string"&&l.background.trim().length>0;(u||p)&&a.itemsWithMetadataColor++,l.created!==void 0&&l.created!==br.FIELD_NOT_CONFIGURED&&(l.created===br.PARSE_FAILED?a.itemsWithFailedCreatedParse++:a.itemsWithMetadataCreated++),l.modified!==void 0&&l.modified!==br.FIELD_NOT_CONFIGURED&&(l.modified===br.PARSE_FAILED?a.itemsWithFailedModifiedParse++:a.itemsWithMetadataModified++)}),a}catch(n){return console.error("Failed to calculate metadata parsing statistics:",n),null}}async function t2(t,e){try{let n=kt(),r=ti(t),o=e?[]:r,a=[],i=[];return n.forEachFile((s,l)=>{if(o.length>0&&ls(s,o))return;let c=l.metadata;c&&(c.created===br.PARSE_FAILED&&a.push(s),c.modified===br.PARSE_FAILED&&i.push(s))}),{failedCreatedFiles:a,failedModifiedFiles:i}}catch(n){return console.error("Failed to calculate metadata parsing failure paths:",n),null}}async function n2(t,e){try{let n=kt(),r=ti(t),o=e?[]:r,a={totalItems:0,itemsWithTags:0,itemsWithPreview:0,itemsWithFeature:0,itemsWithMetadata:0,totalSizeMB:0,itemsWithMetadataName:0,itemsWithMetadataCreated:0,itemsWithMetadataModified:0,itemsWithMetadataIcon:0,itemsWithMetadataColor:0,itemsWithFailedCreatedParse:0,itemsWithFailedModifiedParse:0},i=0;return n.forEachFile((s,l)=>{if(!(o.length>0&&ls(s,o))&&(a.totalItems++,i+=s.length+lce(l),l.tags!==null&&l.tags.length>0&&a.itemsWithTags++,l.metadata)){let c=!!l.metadata.name,u=l.metadata.created!==void 0&&l.metadata.created!==br.PARSE_FAILED&&l.metadata.created!==br.FIELD_NOT_CONFIGURED,p=l.metadata.modified!==void 0&&l.metadata.modified!==br.PARSE_FAILED&&l.metadata.modified!==br.FIELD_NOT_CONFIGURED,m=typeof l.metadata.icon=="string"&&l.metadata.icon.trim().length>0,g=typeof l.metadata.color=="string"&&l.metadata.color.trim().length>0,f=typeof l.metadata.background=="string"&&l.metadata.background.trim().length>0;(c||u||p||m||g||f)&&a.itemsWithMetadata++,c&&a.itemsWithMetadataName++,m&&a.itemsWithMetadataIcon++,(g||f)&&a.itemsWithMetadataColor++,l.metadata.created!==void 0&&l.metadata.created!==br.FIELD_NOT_CONFIGURED&&(l.metadata.created===br.PARSE_FAILED?a.itemsWithFailedCreatedParse++:a.itemsWithMetadataCreated++),l.metadata.modified!==void 0&&l.metadata.modified!==br.FIELD_NOT_CONFIGURED&&(l.metadata.modified===br.PARSE_FAILED?a.itemsWithFailedModifiedParse++:a.itemsWithMetadataModified++)}}),await n.forEachFeatureImageBlobRecord((s,l)=>{if(o.length>0&&ls(s,o))return;let c=n.getFile(s);!c||c.featureImageStatus!=="has"||!c.featureImageKey||c.featureImageKey===l.featureImageKey&&(a.itemsWithFeature++,i+=l.blob.size)}),await n.forEachPreviewTextRecord((s,l)=>{o.length>0&&ls(s,o)||(a.itemsWithPreview++,i+=s.length+l.length)}),a.totalSizeMB=i/1024/1024,a}catch(n){return console.error("Failed to calculate cache statistics:",n),null}}var r2=U(()=>{Yr();dn();zn();Nv()});var qN,o2=U(()=>{Fn();Ee();jr();r2();ot();zn();qN=class{constructor(e){this.deps=e;this.activeTabId=null;this.statsTextEl=null;this.metadataInfoEl=null;this.metadataExportButton=null;this.statsUpdateInterval=null;this.metadataInfoChangeUnsubscribe=null;this.pendingStatisticsRefresh=null;this.pendingStatisticsRefreshRequested=!1;this.isUpdatingCacheStatistics=!1;this.isUpdatingMetadataInfo=!1;this.pendingMetadataInfoRefreshRequested=!1}registerStatsTextElement(e){this.statsTextEl=e}registerMetadataInfoElement(e,n){this.metadataInfoEl=e,this.metadataExportButton=n,n.setButtonText(d.settings.items.metadataInfo.exportFailed).onClick(()=>Q(()=>this.exportFailedMetadataReport())),n.buttonEl.addClass("nn-setting-hidden"),this.isMetadataInfoTab(this.activeTabId)&&Q(()=>this.updateMetadataInfo())}prepareForRender(){this.stopStatisticsInterval(),this.stopMetadataInfoListener(),this.statsTextEl=null,this.metadataInfoEl=null,this.metadataExportButton=null}dispose(){this.prepareForRender(),this.activeTabId=null,this.pendingStatisticsRefreshRequested=!1,this.pendingMetadataInfoRefreshRequested=!1}handleTabActivation(e){this.activeTabId=e,e==="advanced"?this.ensureStatisticsInterval():this.stopStatisticsInterval(),this.isMetadataInfoTab(e)?(this.ensureMetadataInfoListener(),Q(()=>this.updateMetadataInfo())):this.stopMetadataInfoListener(),this.pendingStatisticsRefreshRequested&&(e==="advanced"||this.isMetadataInfoTab(e))&&(this.pendingStatisticsRefreshRequested=!1,Q(()=>this.updateActiveTabInfo()),this.scheduleDeferredStatisticsRefresh())}requestRefresh(){this.pendingStatisticsRefreshRequested=!0,!(this.activeTabId!=="advanced"&&!this.isMetadataInfoTab(this.activeTabId))&&(this.pendingStatisticsRefreshRequested=!1,Q(()=>this.updateActiveTabInfo()),this.scheduleDeferredStatisticsRefresh())}ensureStatisticsInterval(){this.activeTabId!=="advanced"||this.statsUpdateInterval!==null||(Q(()=>this.updateCacheStatistics()),this.statsUpdateInterval=window.setInterval(()=>{Q(()=>this.updateCacheStatistics())},Lt.INTERVAL_STATISTICS),this.deps.registerInterval(this.statsUpdateInterval))}isMetadataInfoTab(e){return e==="frontmatter"}generateStatisticsText(e){let n=`${e.totalSizeMB.toFixed(1)} MB`;return`${d.settings.items.cacheStatistics.localCache}: ${e.totalItems} ${d.settings.items.cacheStatistics.items}. ${e.itemsWithTags} ${d.settings.items.cacheStatistics.withTags}, ${e.itemsWithPreview} ${d.settings.items.cacheStatistics.withPreviewText}, ${e.itemsWithFeature} ${d.settings.items.cacheStatistics.withFeatureImage}, ${e.itemsWithMetadata} ${d.settings.items.cacheStatistics.withMetadata}. ${n}`}generateMetadataInfoText(e){let n=e.itemsWithMetadataName||0,r=e.itemsWithMetadataCreated||0,o=e.itemsWithMetadataModified||0,a=e.itemsWithMetadataIcon||0,i=e.itemsWithMetadataColor||0,s=e.itemsWithFailedCreatedParse||0,l=e.itemsWithFailedModifiedParse||0,c=`${d.settings.items.metadataInfo.successfullyParsed}: ${n} ${d.settings.items.metadataInfo.itemsWithName}, ${r} ${d.settings.items.metadataInfo.withCreatedDate}, ${o} ${d.settings.items.metadataInfo.withModifiedDate}, ${a} ${d.settings.items.metadataInfo.withIcon}, ${i} ${d.settings.items.metadataInfo.withColor}.`,u=r+o+s+l,p=s+l,m=u>0?p/u*100:0,g=null;return(s>0||l>0)&&(g=`${d.settings.items.metadataInfo.failedToParse}: ${s} ${d.settings.items.metadataInfo.createdDates}, ${l} ${d.settings.items.metadataInfo.modifiedDates}.`,m>70&&(g+=` ${d.settings.items.metadataInfo.checkTimestampFormat}`)),{infoText:c,failedText:g,hasFailures:s>0||l>0,failurePercentage:m}}async updateCacheStatistics(){if(!(this.activeTabId!=="advanced"||!this.statsTextEl||this.isUpdatingCacheStatistics)){this.isUpdatingCacheStatistics=!0;try{let e=await n2(this.deps.plugin.settings,this.deps.plugin.getUXPreferences().showHiddenItems);e&&this.statsTextEl&&this.statsTextEl.setText(this.generateStatisticsText(e))}finally{this.isUpdatingCacheStatistics=!1}}}renderMetadataInfo(e,n){e.empty(),this.metadataExportButton?.buttonEl.toggleClass("nn-setting-hidden",!n.hasFailures),e.createSpan({text:n.infoText}),n.failedText&&(e.createEl("br"),e.createSpan({text:n.failedText,cls:n.failurePercentage>70?"nn-metadata-error-text":void 0}))}async updateMetadataInfo(){let e=this.metadataInfoEl;if(!(!this.isMetadataInfoTab(this.activeTabId)||!e)){if(this.isUpdatingMetadataInfo){this.pendingMetadataInfoRefreshRequested=!0;return}if(!this.deps.plugin.settings.useFrontmatterMetadata){e.empty(),this.metadataExportButton?.buttonEl.addClass("nn-setting-hidden");return}this.isUpdatingMetadataInfo=!0;try{let n=await e2(this.deps.plugin.settings,this.deps.plugin.getUXPreferences().showHiddenItems);if(!this.isMetadataInfoTab(this.activeTabId)||this.metadataInfoEl!==e)return;if(!this.deps.plugin.settings.useFrontmatterMetadata){e.empty(),this.metadataExportButton?.buttonEl.addClass("nn-setting-hidden");return}if(!n){e.empty(),this.metadataExportButton?.buttonEl.addClass("nn-setting-hidden");return}this.renderMetadataInfo(e,this.generateMetadataInfoText(n))}finally{this.isUpdatingMetadataInfo=!1,this.pendingMetadataInfoRefreshRequested&&(this.pendingMetadataInfoRefreshRequested=!1,Q(()=>this.updateMetadataInfo()))}}}scheduleDeferredStatisticsRefresh(){this.pendingStatisticsRefresh!==null&&window.clearTimeout(this.pendingStatisticsRefresh),this.pendingStatisticsRefresh=window.setTimeout(()=>{this.pendingStatisticsRefresh=null,Q(()=>this.updateActiveTabInfo())},Lt.INTERVAL_STATISTICS*2)}updateActiveTabInfo(){return this.activeTabId==="advanced"?this.updateCacheStatistics():this.isMetadataInfoTab(this.activeTabId)?this.updateMetadataInfo():Promise.resolve()}stopStatisticsInterval(){this.statsUpdateInterval!==null&&(window.clearInterval(this.statsUpdateInterval),this.statsUpdateInterval=null),this.pendingStatisticsRefresh!==null&&(window.clearTimeout(this.pendingStatisticsRefresh),this.pendingStatisticsRefresh=null)}ensureMetadataInfoListener(){if(this.metadataInfoChangeUnsubscribe)return;let e=Sr();e&&(this.metadataInfoChangeUnsubscribe=e.onContentChange(n=>{!this.isMetadataInfoTab(this.activeTabId)||!this.metadataInfoEl||!this.deps.plugin.settings.useFrontmatterMetadata||!n.some(o=>o.changes.metadata!==void 0)||this.deps.scheduleDebouncedUpdate("metadata-info-refresh",()=>this.updateMetadataInfo())}))}stopMetadataInfoListener(){this.metadataInfoChangeUnsubscribe&&(this.metadataInfoChangeUnsubscribe(),this.metadataInfoChangeUnsubscribe=null)}async exportFailedMetadataReport(){if(!this.deps.plugin.settings.useFrontmatterMetadata)return;let e=await t2(this.deps.plugin.settings,this.deps.plugin.getUXPreferences().showHiddenItems);if(!e){de(d.settings.metadataReport.exportFailed,{variant:"warning"});return}let n=new Date,r=n.toISOString().replace(/[:.]/g,"-").slice(0,-5),o=n.toLocaleString(),a=`metadata-parsing-failures-${r}.md`,i=[...e.failedCreatedFiles].sort(),s=[...e.failedModifiedFiles].sort(),l=[];l.push("# Metadata Parsing Failures","",`Generated on: ${o}`,""),l.push("## Failed Created Date Parsing",`Total files: ${i.length}`,""),i.length>0?i.forEach(c=>{l.push(`- [[${c}]]`)}):l.push("*No failures*"),l.push("","## Failed Modified Date Parsing",`Total files: ${s.length}`,""),s.length>0?s.forEach(c=>{l.push(`- [[${c}]]`)}):l.push("*No failures*");try{await this.deps.app.vault.create(a,`${l.join(`
`)}
`),de(d.settings.metadataReport.exportSuccess.replace("{filename}",a),{variant:"success"})}catch(c){console.error("Failed to export metadata report:",c),de(d.settings.metadataReport.exportFailed,{variant:"warning"})}}}});function dce(t){let e=structuredClone(Le),n=t;return a2.forEach(r=>{kT(n,r)&&(e[r]=structuredClone(n[r]))}),e}function s2(t,e){if(Array.isArray(t))return Array.isArray(e)?structuredClone(e):structuredClone(t);if(mt(t)){if(!mt(e))return structuredClone(t);let n=Object.keys(t);if(n.length===0)return structuredClone(e);let r={};return n.forEach(o=>{if(!kT(e,o)){r[o]=structuredClone(t[o]);return}r[o]=s2(t[o],e[o])}),r}return structuredClone(e)}function DO(t){let e={},n=t,r=Le;return Object.keys(r).forEach(o=>{a2.has(o)||(e[o]=s2(r[o],n[o]))}),e}function kT(t,e){return Object.prototype.hasOwnProperty.call(t,e)===!0}function AO(t,e){if(t===e)return!0;if(Array.isArray(t)||Array.isArray(e))return!Array.isArray(t)||!Array.isArray(e)||t.length!==e.length?!1:t.every((n,r)=>AO(n,e[r]));if(mt(t)||mt(e)){if(!mt(t)||!mt(e))return!1;let n=Object.keys(t),r=Object.keys(e);return n.length!==r.length?!1:n.every(o=>kT(e,o)&&AO(t[o],e[o]))}return!1}function l2(t,e){if(!AO(t,e)){if(Array.isArray(t)||Array.isArray(e))return structuredClone(e);if(mt(t)&&mt(e)){let n=Object.keys(t),r=Object.keys(e);if(n.some(s=>!kT(e,s)))return structuredClone(e);let a={};return new Set([...n,...r]).forEach(s=>{let l=l2(t[s],e[s]);l!==void 0&&(a[s]=l)}),Object.keys(a).length>0?a:void 0}return structuredClone(e)}}function OO(t,e){if(e===void 0)return structuredClone(t);if(Array.isArray(t))return Array.isArray(e)?t.length===0?structuredClone(e):e.map(n=>OO(t[0],n)):structuredClone(t);if(mt(t)){if(!mt(e))return structuredClone(t);let n=Object.keys(t);if(n.length===0)return structuredClone(e);let r=structuredClone(t);return n.forEach(o=>{kT(e,o)&&(r[o]=OO(r[o],e[o]))}),r}return t===null?e===null||typeof e=="string"?structuredClone(e):null:typeof e==typeof t?structuredClone(e):structuredClone(t)}function d2(t){let e=DO(t),n=DO(Le),r=l2(n,e);return mt(r)?r:{}}function c2(t,e){if(!mt(e))throw new Error("Settings import must be a JSON object.");let n=DO(Le),r=OO(n,e);if(!mt(r))throw new Error("Settings import must be a JSON object.");let o=dce(t);return Object.entries(n).forEach(([a])=>{o[a]=r[a]}),o}var a2,i2,LO=U(()=>{ko();Zr();a2=new Set(["hiddenTags","fileVisibility","recentColors","lastReleaseCheckAt","latestKnownRelease","searchProvider","showCalendar","calendarCustomPromptForTitle","saveMetadataToFrontmatter","propertyFields"]),i2="notebook-navigator-settings.json"});function cce(t,e=u2){if(t instanceof Error)return t;if(mt(t)&&typeof t.message=="string")return new Error(t.message);if(typeof t=="string"){let n=t.trim();return new Error(n||e)}if(typeof t=="number"||typeof t=="boolean"||typeof t=="bigint")return new Error(String(t));if(typeof t=="object"&&t!==null)try{return new Error(JSON.stringify(t))}catch{return new Error(e)}return new Error(e)}function to(t,e=u2){if(t instanceof Error&&t.message)return t.message;if(mt(t)&&typeof t.message=="string"){let r=t.message.trim();if(r)return r}return typeof t=="string"?t.trim()||e:cce(t,e).message||e}var u2,tp=U(()=>{Ee();Zr();u2=d.common.unknownError});function p2(t,e,n){let r=new $c.Setting(t);r.settingEl.addClass("nn-settings-transfer-editor-setting"),r.setName(e).setDesc(n)}function m2(t,e,n){let r=t.createEl("textarea",{cls:"nn-input nn-settings-transfer-editor",placeholder:n});return r.value=e,r.spellcheck=!1,r}function pce(t){let e=new Blob([t],{type:"application/json;charset=utf-8"}),n=URL.createObjectURL(e),r=createEl("a");r.href=n,r.download=i2,r.addClass("nn-visually-hidden"),activeDocument.body.appendChild(r),r.click(),r.remove(),window.setTimeout(()=>URL.revokeObjectURL(n),0)}var $c,uce,Qv,Zv,zO=U(()=>{$c=require("obsidian");Ee();LO();ot();tp();Fn();uce=".json,application/json,text/json";Qv=class extends $c.Modal{constructor(e,n){super(e),this.plugin=n,this.modalEl.addClass("nn-settings-transfer-modal"),this.titleEl.setText(d.settings.items.settingsTransfer.import.modalTitle)}onOpen(){let{contentEl:e}=this;e.empty();let n=e.createEl("input",{type:"file"});n.accept=uce,n.addClass("nn-visually-hidden");let r=!1,o=null,a=null,i=c=>{r=c,o?.setDisabled(c),a?.setDisabled(c)};new $c.Setting(e).setName(d.settings.items.settingsTransfer.import.fileButtonName).setDesc(d.settings.items.settingsTransfer.import.fileButtonDesc).addButton(c=>{o=c,c.setButtonText(d.settings.items.settingsTransfer.import.fileButtonText).onClick(()=>{r||n.click()})}),p2(e,d.settings.items.settingsTransfer.import.editorName,d.settings.items.settingsTransfer.import.editorDesc);let s=m2(e,"",d.settings.items.settingsTransfer.import.placeholder);n.addEventListener("change",()=>{let c=n.files?.[0];!c||r||Q(async()=>{i(!0);try{s.value=await c.text(),s.focus()}catch(u){console.error("Failed to read settings import file",u);let p=to(u);de(d.settings.items.settingsTransfer.import.fileReadError.replace("{message}",p),{variant:"warning"})}finally{n.value="",i(!1)}})});let l=e.createDiv("nn-button-container");a=new $c.ButtonComponent(l),a.setButtonText(d.settings.items.settingsTransfer.import.confirmButtonText),a.setCta(),a.onClick(()=>{r||Q(async()=>{i(!0);try{let c=JSON.parse(s.value);await this.plugin.importSettingsTransfer(c),de(d.settings.items.settingsTransfer.import.successNotice),this.close()}catch(c){console.error("Failed to import settings transfer",c);let u=to(c);de(d.settings.items.settingsTransfer.import.errorNotice.replace("{message}",u),{variant:"warning"})}finally{i(!1)}})}),s.focus()}onClose(){this.modalEl.removeClass("nn-settings-transfer-modal"),this.contentEl.empty()}},Zv=class extends $c.Modal{constructor(e,n){super(e),this.plugin=n,this.modalEl.addClass("nn-settings-transfer-modal"),this.titleEl.setText(d.settings.items.settingsTransfer.export.modalTitle)}onOpen(){let{contentEl:e}=this;e.empty(),p2(e,d.settings.items.settingsTransfer.export.editorName,d.settings.items.settingsTransfer.export.editorDesc);let n=m2(e,this.plugin.createSettingsTransferJson(),d.settings.items.settingsTransfer.export.placeholder),r=e.createDiv("nn-button-container"),o=new $c.ButtonComponent(r);o.setButtonText(d.settings.items.settingsTransfer.export.copyButtonText),o.onClick(()=>{Q(async()=>{try{await navigator.clipboard.writeText(n.value),de(d.settings.items.settingsTransfer.export.copyNotice)}catch(i){console.error("Failed to copy settings transfer",i),de(d.common.clipboardWriteError,{variant:"warning"})}})});let a=new $c.ButtonComponent(r);a.setButtonText(d.settings.items.settingsTransfer.export.downloadButtonText),a.setCta(),a.onClick(()=>{try{pce(n.value),de(d.settings.items.settingsTransfer.export.downloadNotice)}catch(i){console.error("Failed to download settings transfer",i);let s=to(i);de(d.settings.items.settingsTransfer.export.downloadError.replace("{message}",s),{variant:"warning"})}}),n.focus(),n.select()}onClose(){this.modalEl.removeClass("nn-settings-transfer-modal"),this.contentEl.empty()}}});function Yd(t){return t==="vertical"?{defaultSize:Ld.defaultHeight,minSize:Ld.minHeight,storageKey:ut.navigationPaneHeightKey}:{defaultSize:Ld.defaultWidth,minSize:Ld.minWidth,storageKey:ut.navigationPaneWidthKey}}var Jv=U(()=>{Ue()});function h2(t){let e=[et("checkForUpdatesOnStart",{name:d.settings.items.updateCheckOnStart.name,desc:d.settings.items.updateCheckOnStart.desc}),_e({name:Xv(d.settings.items.debugLogging.name),desc:d.settings.items.debugLogging.desc,aliases:[d.settings.items.debugLogging.name],render:o=>mce(o,t)}),_e({name:d.settings.items.settingsTransfer.name,desc:d.settings.items.settingsTransfer.desc,aliases:[d.settings.items.settingsTransfer.importButtonText,d.settings.items.settingsTransfer.exportButtonText],render:o=>{let{plugin:a}=t;o.setName(d.settings.items.settingsTransfer.name).setDesc(d.settings.items.settingsTransfer.desc).addButton(i=>i.setButtonText(d.settings.items.settingsTransfer.importButtonText).onClick(()=>{new Qv(t.app,a).open()})).addButton(i=>i.setButtonText(d.settings.items.settingsTransfer.exportButtonText).onClick(()=>{new Zv(t.app,a).open()}))}})],n=[];g2.Platform.isMobile||n.push(_e({name:d.settings.items.resetPaneSeparator.name,desc:d.settings.items.resetPaneSeparator.desc,aliases:[d.settings.items.resetPaneSeparator.buttonText],render:o=>{let{plugin:a}=t;o.setName(d.settings.items.resetPaneSeparator.name).setDesc(d.settings.items.resetPaneSeparator.desc).addButton(i=>i.setButtonText(d.settings.items.resetPaneSeparator.buttonText).onClick(()=>{let s=a.getDualPaneOrientation(),{storageKey:l}=Yd(s);ye.remove(l),de(d.settings.items.resetPaneSeparator.notice)}))}})),n.push(_e({name:d.settings.items.metadataCleanup.name,desc:d.settings.items.metadataCleanup.desc,aliases:[d.settings.items.metadataCleanup.buttonText],render:o=>hce(o,t)}),_e({name:d.settings.items.rebuildCache.name,desc:d.settings.items.rebuildCache.desc,aliases:[d.settings.items.rebuildCache.buttonText],render:o=>fce(o,t)}),_e({name:d.settings.items.cacheStatistics.localCache,render:o=>vce(o,t)}));let r=[_e({name:d.settings.items.resetAllSettings.name,desc:d.settings.items.resetAllSettings.desc,aliases:[d.settings.items.resetAllSettings.buttonText],render:o=>gce(o,t)})];return[Pt(void 0,e),Pt(d.settings.groups.advanced.maintenance,n),Pt(d.settings.groups.advanced.resetSettings,r)]}function mce(t,e){let{plugin:n}=e;t.setName(Xv(d.settings.items.debugLogging.name)).setDesc(d.settings.items.debugLogging.desc).addToggle(r=>r.setValue(n.isDebugLoggingEnabled()).onChange(o=>{n.setDebugLoggingEnabled(o)}))}function gce(t,e){let{plugin:n}=e;t.setName(d.settings.items.resetAllSettings.name).setDesc(d.settings.items.resetAllSettings.desc).addButton(r=>{r.setButtonText(d.settings.items.resetAllSettings.buttonText),r.buttonEl.addClass("mod-warning"),r.onClick(()=>{new En(e.app,d.settings.items.resetAllSettings.confirmTitle,d.settings.items.resetAllSettings.confirmMessage,async()=>{r.setDisabled(!0);try{await n.resetAllSettings(),de(d.settings.items.resetAllSettings.notice)}catch(o){console.error("Failed to reset all settings",o),de(d.settings.items.resetAllSettings.error,{variant:"warning"})}finally{r.setDisabled(!1)}},d.settings.items.resetAllSettings.confirmButtonText).open()})})}function hce(t,e){let{plugin:n}=e,r=null,o=null,a=()=>{o?.setText(d.settings.items.metadataCleanup.loading),r?.setDisabled(!0)},i=({folders:l,tags:c,properties:u,files:p,pinnedNotes:m,separators:g,total:f})=>{if(!o)return;if(f===0){o.setText(d.settings.items.metadataCleanup.statusClean),r?.setDisabled(!0);return}let h=d.settings.items.metadataCleanup.statusCounts.replace("{folders}",l.toString()).replace("{tags}",c.toString()).replace("{properties}",u.toString()).replace("{files}",p.toString()).replace("{pinned}",m.toString()).replace("{separators}",g.toString());o.setText(h),r?.setDisabled(!1)},s=async()=>{a();try{let l=await n.getMetadataCleanupSummary();i(l)}catch(l){console.error("Failed to fetch metadata cleanup summary",l),o?.setText(d.settings.items.metadataCleanup.error),r?.setDisabled(!1)}};t.setName(d.settings.items.metadataCleanup.name).setDesc(d.settings.items.metadataCleanup.desc),t.addButton(l=>{r=l,l.setButtonText(d.settings.items.metadataCleanup.buttonText),l.setDisabled(!0),l.onClick(()=>{Q(async()=>{a();try{await n.runMetadataCleanup()}catch(c){console.error("Metadata cleanup failed",c),de(d.settings.items.metadataCleanup.error,{variant:"warning"})}finally{await s()}})})}),o=t.descEl.createDiv({cls:"setting-item-description",text:d.settings.items.metadataCleanup.loading}),Q(()=>s())}function fce(t,e){let{plugin:n}=e;t.setName(d.settings.items.rebuildCache.name).setDesc(d.settings.items.rebuildCache.desc).addButton(r=>r.setButtonText(d.settings.items.rebuildCache.buttonText).onClick(()=>{Q(async()=>{r.setDisabled(!0);try{await n.rebuildCache()}catch(o){console.error("Failed to rebuild cache from settings:",o),de(d.settings.items.rebuildCache.error,{variant:"warning"})}finally{r.setDisabled(!1)}})}))}function vce(t,e){t.setName("").setDesc(""),t.settingEl.addClass("nn-database-stats"),t.settingEl.addClass("nn-stats-section");let n=t.descEl.createDiv({cls:"nn-stats-text"});e.registerStatsTextElement(n),e.requestStatisticsRefresh(),e.ensureStatisticsInterval()}var g2,f2=U(()=>{g2=require("obsidian");Ee();Ai();zO();Jv();Jr();ot();Fn();Ca();da()});var ey,Ls,Nh=U(()=>{ey=require("obsidian");ot();Ls=class extends ey.FuzzySuggestModal{constructor(e,n,r,o){super(e),this.onChooseCallback=n,this.setPlaceholder(r),this.setInstructions([{command:"↑↓",purpose:o.navigate},{command:"↵",purpose:o.action},{command:"esc",purpose:o.dismiss}])}getItemKey(e){return this.getItemText(e)}getSuggestions(e){let n=super.getSuggestions(e),r=e.trim();if(!r||r.split(/\s+/u).filter(Boolean).length<=1)return n;let a=(0,ey.prepareSimpleSearch)(r),i=new Set(n.map(c=>this.getItemKey(c.item))),s=[];for(let c of this.getItems()){let u=this.getItemKey(c);if(i.has(u))continue;let p=a(this.getItemText(c));p&&s.push({item:c,match:p})}if(s.length===0)return n;let l=[...n,...s];return l.sort((c,u)=>c.match.score-u.match.score),l}getItemClass(){return"nn-suggest-item"}renderAdditionalContent(e,n){}renderSuggestion(e,n){let r=e.item,o=n.createDiv({cls:this.getItemClass()}),a=this.getDisplayPath(r);(0,ey.renderMatches)(o,a,e.match.matches),this.renderAdditionalContent(r,o)}onChooseItem(e,n){Q(()=>this.onChooseCallback(e))}}});var YN,v2=U(()=>{Ee();Rn();Xl();Nh();YN=class extends Ls{constructor(e,n,r){super(e,r,d.modals.calendarTemplate.placeholder,{navigate:d.modals.calendarTemplate.instructions.navigate,action:d.modals.calendarTemplate.instructions.select,dismiss:d.modals.calendarTemplate.instructions.dismiss}),this.templateFolder=Ri(n)}getItems(){let e=this.templateFolder?`${this.templateFolder}/`:"",n=this.app.vault.getFiles().filter(r=>r.extension==="md"&&(e===""||r.path.startsWith(e)));return n.sort((r,o)=>Mt(r.path,o.path)),n}getItemText(e){return e.path}getDisplayPath(e){return e.path}}});var Ih,xh,FT,PT=U(()=>{Ih="obsidian-excalidraw-plugin",xh="tldraw",FT="templater-obsidian"});function y2(t){if(!t)return!1;let e=pw(t,"fuzzy_suggester");return mt(e)?typeof pw(e,"create_new_note_from_template")=="function":!1}function b2(t){if(!t)return!1;let e=pw(t,"templater");return mt(e)?typeof pw(e,"create_new_note_from_template")=="function":!1}function ty(t){return y2(Du(t,FT))?e=>{let n=Du(t,FT);if(y2(n))return n.fuzzy_suggester.create_new_note_from_template(e)}:null}function rd(t){return b2(Du(t,FT))?async(e,n,r,o)=>{let a=Du(t,FT);if(b2(a))return await a.templater.create_new_note_from_template(e,n,r,o)}:null}var Xc=U(()=>{PT();Zr()});function xa(t,e){let n=t==="/"||t===""?"":`${t}/`;return(0,ny.normalizePath)(`${n}${e}`)}function od(t,e,n){return n?xa(t,`${e}.${n}`):xa(t,e)}function hl(t,e,n,r,o){let a=o?.occupiedPaths,i=o?.useVaultLookup!==!1,s=o?.baseNameSuffix??"",l=0,c=u=>od(t,u,n);for(;;){let p=`${l===0?e:`${e} ${l}`}${s}`,m=c(p),g=a?.has(m)??!1,f=i&&!!r.vault.getAbstractFileByPath(m);if(!g&&!f)return p;l++}}async function $N(t,e,n){let{extension:r,content:o="",openFile:a=!0,openInNewTab:i=!1,triggerRename:s=!0,afterCreate:l,errorKey:c="createFile"}=n;try{let u=d.fileSystem.defaultNames.untitled,p=hl(t.path,u,r,e),m;if(r==="md"&&o.length===0)m=await e.fileManager.createNewMarkdownFile(t,p);else{let g=od(t.path,p,r);m=await e.vault.create(g,o)}if(l&&await l(m),a){let g=e.workspace.getLeaf(i),f=r==="md"?{state:{mode:"source"},active:!0}:void 0;await g.openFile(m,f),s&&window.setTimeout(()=>{Rc(e,Zf.EDIT_FILE_TITLE)},Lt.FILE_OPERATION_DELAY)}return m}catch(u){let p=d.fileSystem.errors,m=u instanceof Error?u.message:String(u),g=p[c]?.replace("{error}",m)||`Failed to create file: ${m}`;return de(g,{variant:"warning"}),null}}async function yce({app:t,folder:e,baseName:n,templatePath:r,templateErrorContext:o}){let a=await t.fileManager.createNewMarkdownFile(e,n);if(r){let i=Na(r);if(!i)return console.warn(`[${o} template] Invalid template path`,r),a;try{let s=t.vault.getAbstractFileByPath(i);if(!(s instanceof ny.TFile)||s.extension!=="md")return console.warn(`[${o} template] Template file not found`,i),a;let l=await t.vault.read(s);await t.vault.modify(a,l)}catch(s){console.error(`Failed to apply ${o} template`,i,s)}}return a}function bce(t,e){let n=Na(e);if(!n)return null;let r=t.vault.getAbstractFileByPath(n);return r instanceof ny.TFile&&r.extension==="md"?r:null}async function XN({app:t,folder:e,baseName:n,templatePath:r,templateErrorContext:o,templaterCreationErrorContext:a=o}){if(r){let i=rd(t),s=i?bce(t,r):null;if(i&&s){let l=await i(s,e,n,!1);if(l instanceof ny.TFile)return l;throw new Error(`Templater did not create the ${a}`)}}return yce({app:t,folder:e,baseName:n,templatePath:r,templateErrorContext:o})}function QN(){return JSON.stringify({model:{version:1,kind:"Table",columns:[]},pluginVersion:"1.0.0"},null,2)}var ny,Nm=U(()=>{ny=require("obsidian");Ee();jr();Zr();Fn();$o();Xc()});function np(t,e){switch(t){case"day":return{calendarCustomFilePattern:e.calendarCustomFilePattern,isPatternValid:kC,parsingErrorText:d.settings.items.calendarCustomFilePattern.parsingError};case"week":return{calendarCustomFilePattern:e.calendarCustomWeekPattern,fallbackPattern:"",isPatternValid:Cw,parsingErrorText:d.settings.items.calendarCustomWeekPattern.parsingError};case"month":return{calendarCustomFilePattern:e.calendarCustomMonthPattern,fallbackPattern:"",isPatternValid:FC,parsingErrorText:d.settings.items.calendarCustomMonthPattern.parsingError};case"quarter":return{calendarCustomFilePattern:e.calendarCustomQuarterPattern,fallbackPattern:"",isPatternValid:PC,parsingErrorText:d.settings.items.calendarCustomQuarterPattern.parsingError};case"year":return{calendarCustomFilePattern:e.calendarCustomYearPattern,fallbackPattern:"",isPatternValid:CC,parsingErrorText:d.settings.items.calendarCustomYearPattern.parsingError}}}function oy(t,e){switch(t){case"day":return e.calendarCustomFileTemplate;case"week":return e.calendarCustomWeekTemplate;case"month":return e.calendarCustomMonthTemplate;case"quarter":return e.calendarCustomQuarterTemplate;case"year":return e.calendarCustomYearTemplate}}function Im(t,e){let{folderPattern:n,filePattern:r}=Fw(t,e);return n?`${n}/${r}`:r}function rp(t,e,n,r,o){return t==="week"?rK(e,n,o??r):e.clone().locale(r)}function xm(t,e,n,r){let o=Ri(e.calendarCustomRootFolder),{folderPattern:a,filePattern:i}=Fw(n,r),s=fv(a),l=fv(i),c=s(t),u=o?c?`${o}/${c}`:o:c,p=TC(u||"/"),m=l(t).trim(),g=wC(m),f=p==="/"?g:(0,ry.normalizePath)(`${p}/${g}`);return{folderPath:p,fileName:g,filePath:f,formattedFilePattern:m}}async function Sce(t,e){if(e==="/"||!e)return t.vault.getRoot();let n=(0,ry.normalizePath)(e);if(!n||n==="/"||n===".")return t.vault.getRoot();let r=n.split("/").filter(Boolean),o="";for(let i of r){o=o?`${o}/${i}`:i;let s=t.vault.getAbstractFileByPath(o);if(!s){await t.vault.createFolder(o);continue}if(!(s instanceof ry.TFolder))return null}let a=t.vault.getAbstractFileByPath(n);return a instanceof ry.TFolder?a:null}function wce(t){let e=t.replace(/\.md$/iu,"").trim();return e.length>0?e:null}async function ay(t,e,n,r){let o=wce(n);if(!o)throw new Error("Invalid calendar note filename");let a=await Sce(t,e);if(!a)throw new Error("Calendar folder path is not a folder");return XN({app:t,folder:a,baseName:o,templatePath:r,templateErrorContext:"calendar",templaterCreationErrorContext:"calendar note"})}var ry,iy=U(()=>{ry=require("obsidian");Ee();Xl();Nm()});function BO({href:t,text:e}){let n=createEl("a");return n.textContent=e,n.href=t,n.rel="noopener noreferrer",n.target="_blank",n}function Qc(t){let e=createFragment();return e.append(t.text,createEl("br"),BO(t.link)),e}function S2(t){let e=createFragment();return e.append(t.prefix,BO(t.link),t.suffix),e}function ZN(t){let e=createFragment(),n=t.text.indexOf(t.link.text);if(n===-1)return e.append(t.text),e;let r=t.text.slice(0,n),o=t.text.slice(n+t.link.text.length);return e.append(r,BO(t.link),o),e}var Em=U(()=>{});function $d(t,e){return t?.value??e}function sy(t,e){let{folderPattern:n,filePattern:r}=Fw(t,e);return n?`${n}/${r}`:r}function w2(t,e){let n=t().locale(e).localeData();return{firstDayOfWeek:n.firstDayOfWeek(),firstDayOfYear:n.firstDayOfYear?.()??null}}function Tce(t){let e=t.split("/").filter(Boolean);return e.length>0?e[e.length-1]:t}function ly(t,e){t.exampleTextEl.setText(e),Tn(t.exampleEl,e.trim()!=="")}function Vi(t,e){t&&Tn(t,e)}function op(t,e){t&&t.setText(e)}function ad(t){return t!==null}function T2(t,e){let n=d.settings.items.calendarTemplateFile.current.replace("{name}","").trim();return[_e({name:d.settings.items.calendarCustomRootFolder.name,desc:d.settings.items.calendarCustomRootFolder.desc,aliases:[d.settings.items.calendarCustomRootFolder.placeholder],visible:e,render:r=>t.renderRootFolderSetting(r)}),_e({name:d.settings.items.calendarCustomFilePattern.name,desc:d.settings.items.calendarCustomFilePattern.desc,aliases:[d.settings.items.calendarCustomFilePattern.placeholder,d.settings.items.calendarCustomFilePattern.momentLinkText,n],visible:e,render:r=>t.renderDailyPatternSetting(r)}),_e({name:d.settings.items.calendarCustomWeekPattern.name,aliases:[Sw,n],visible:e,render:r=>t.renderWeeklyPatternSetting(r)}),_e({name:d.settings.items.calendarCustomMonthPattern.name,aliases:[ww,n],visible:e,render:r=>t.renderMonthlyPatternSetting(r)}),_e({name:d.settings.items.calendarCustomQuarterPattern.name,aliases:[Tw,n],visible:e,render:r=>t.renderQuarterlyPatternSetting(r)}),_e({name:d.settings.items.calendarCustomYearPattern.name,aliases:[kw,n],visible:e,render:r=>t.renderYearlyPatternSetting(r)}),_e({name:d.settings.items.calendarCustomFilePattern.momentLinkText,searchable:!1,visible:e,render:r=>t.renderPatternInfoSetting(r)})]}function _O(t){let{context:e,getCalendarLocaleWarningEl:n,getActiveProfile:r,resolveSelectedCalendarLocales:o,requestVisibilityRefresh:a}=t,{plugin:i,configureDebouncedTextSetting:s}=e,l=null,c=null,u=null,p=null,m=null,g=null,f=null,h=null,b=null,v=null,y=null,S=null,w=()=>[c,u,p,m,g].filter(ad),k=A=>{s(A,d.settings.items.calendarCustomRootFolder.name,d.settings.items.calendarCustomRootFolder.desc,d.settings.items.calendarCustomRootFolder.placeholder,()=>r().periodicNotesFolder,E=>{r().periodicNotesFolder=Ri(E)}),A.controlEl.addClass("nn-setting-wide-input");let _=A.controlEl.querySelector("input");return l=_,()=>{l===_&&(l=null)}},F=(A,_)=>{s(A,_.name,"",_.placeholder,_.getValue,_.setValue,void 0,_.onAfterUpdate),A.controlEl.addClass("nn-setting-wide-input");let E=A.descEl;E.empty();let R=E.createDiv({cls:"nn-setting-calendar-pattern-example nn-setting-hidden"}),M=R.createSpan({cls:"nn-setting-calendar-pattern-example-text"}),C=E.createDiv({cls:"nn-setting-calendar-template-file nn-setting-hidden"}),x=C.createSpan({cls:"nn-setting-calendar-pattern-example-text"}),z=A.controlEl.querySelector("input"),H=null;A.addExtraButton(ee=>{H=ee,ee.onClick(()=>{if(_.getTemplatePath()){Q(async()=>{_.setTemplatePath(null),a(),await i.saveSettingsAndUpdate()});return}let j=i.settings.calendarTemplateFolder;new YN(e.app,j,async J=>{_.setTemplatePath(J.path),a(),await i.saveSettingsAndUpdate()}).open()})});let Y=()=>a();return z?.addEventListener("input",Y),{descEl:E,exampleEl:R,exampleTextEl:M,templateEl:C,templateTextEl:x,templateButton:H,inputEl:z,getTemplatePath:_.getTemplatePath,dispose:()=>z?.removeEventListener("input",Y)}},P=A=>{let _=F(A,{name:d.settings.items.calendarCustomFilePattern.name,placeholder:d.settings.items.calendarCustomFilePattern.placeholder,getValue:()=>ll(i.settings.calendarCustomFilePattern),setValue:E=>{i.settings.calendarCustomFilePattern=ll(E)},getTemplatePath:()=>i.settings.calendarCustomFileTemplate,setTemplatePath:E=>{i.settings.calendarCustomFileTemplate=E},onAfterUpdate:()=>a()});return c=_,f=c.descEl.createDiv({cls:"setting-item-description nn-setting-hidden nn-setting-warning"}),a(),()=>{_.dispose(),c===_&&(c=null,f=null)}},T=A=>{let _=F(A,{name:d.settings.items.calendarCustomWeekPattern.name,placeholder:Sw,getValue:()=>ll(i.settings.calendarCustomWeekPattern,""),setValue:E=>{i.settings.calendarCustomWeekPattern=ll(E,"")},getTemplatePath:()=>i.settings.calendarCustomWeekTemplate,setTemplatePath:E=>{i.settings.calendarCustomWeekTemplate=E},onAfterUpdate:()=>X()});return u=_,h=u.descEl.createDiv({cls:"setting-item-description nn-setting-hidden nn-setting-warning"}),b=u.descEl.createDiv({cls:"setting-item-description nn-setting-hidden nn-setting-warning"}),a(),()=>{_.dispose(),u===_&&(u=null,h=null,b=null)}},I=A=>{let _=F(A,{name:d.settings.items.calendarCustomMonthPattern.name,placeholder:ww,getValue:()=>ll(i.settings.calendarCustomMonthPattern,""),setValue:E=>{i.settings.calendarCustomMonthPattern=ll(E,"")},getTemplatePath:()=>i.settings.calendarCustomMonthTemplate,setTemplatePath:E=>{i.settings.calendarCustomMonthTemplate=E},onAfterUpdate:()=>X()});return p=_,v=p.descEl.createDiv({cls:"setting-item-description nn-setting-hidden nn-setting-warning"}),a(),()=>{_.dispose(),p===_&&(p=null,v=null)}},N=A=>{let _=F(A,{name:d.settings.items.calendarCustomQuarterPattern.name,placeholder:Tw,getValue:()=>ll(i.settings.calendarCustomQuarterPattern,""),setValue:E=>{i.settings.calendarCustomQuarterPattern=ll(E,"")},getTemplatePath:()=>i.settings.calendarCustomQuarterTemplate,setTemplatePath:E=>{i.settings.calendarCustomQuarterTemplate=E},onAfterUpdate:()=>X()});return m=_,y=m.descEl.createDiv({cls:"setting-item-description nn-setting-hidden nn-setting-warning"}),a(),()=>{_.dispose(),m===_&&(m=null,y=null)}},O=A=>{let _=F(A,{name:d.settings.items.calendarCustomYearPattern.name,placeholder:kw,getValue:()=>ll(i.settings.calendarCustomYearPattern,""),setValue:E=>{i.settings.calendarCustomYearPattern=ll(E,"")},getTemplatePath:()=>i.settings.calendarCustomYearTemplate,setTemplatePath:E=>{i.settings.calendarCustomYearTemplate=E},onAfterUpdate:()=>X()});return g=_,S=g.descEl.createDiv({cls:"setting-item-description nn-setting-hidden nn-setting-warning"}),a(),()=>{_.dispose(),g===_&&(g=null,S=null)}},K=A=>{A.setName("").setDesc(""),A.settingEl.addClass("nn-setting-info-container"),A.descEl.empty();let _=S2({prefix:d.settings.items.calendarCustomFilePattern.momentDescPrefix,link:{text:d.settings.items.calendarCustomFilePattern.momentLinkText,href:Wl},suffix:d.settings.items.calendarCustomFilePattern.momentDescSuffix}),E=rd(e.app)?d.settings.items.calendarCustomFilePattern.templaterSupportInstalled:d.settings.items.calendarCustomFilePattern.templaterSupportMissing;_.append(createEl("br"),createEl("br"),createEl("strong",{text:E})),A.descEl.append(_)},G=()=>{w().forEach(A=>{let _=A.getTemplatePath(),E=!!_;A.templateButton?.setIcon(E?"file-x":"file-plus"),A.templateButton&&(A.templateButton.extraSettingsEl.style.color=E?"var(--text-normal)":"var(--text-muted)");let R=_?Tce(_):"-";A.templateTextEl.setText(d.settings.items.calendarTemplateFile.current.replace("{name}",R)),Tn(A.templateEl,!0)})},X=()=>{let A=qr(),_=d.settings.items.calendarCustomFilePattern.example,E=()=>{w().forEach(x=>ly(x,""))};if(!A){E();return}let{periodicNotesLocale:R}=o(A),M=A("2026-01-19","YYYY-MM-DD",!0);if(!M.isValid()){E();return}let C=(x,z,H)=>{let Y=ll(z,H);if(!Y)return"";let ee=Y.lastIndexOf("/"),$=ee===-1?"":Y.slice(0,ee),j=ee===-1?Y:Y.slice(ee+1),J=fv($),re=fv(j),oe=$?`${$}/${j}`:j,Z=rp(x,M,oe,R,R),ce=J(Z),ae=TC(ce||"/"),se=ae==="/"?"":ae,ne=re(Z).trim(),B=wC(ne);return B?se?`${se}/${B}`:B:""};if(ad(c)){let x=$d(c.inputEl,i.settings.calendarCustomFilePattern),z=C("day",x,hv);ly(c,z?_.replace("{path}",z):"")}if(ad(u)){let x=$d(u.inputEl,i.settings.calendarCustomWeekPattern),z=C("week",x,"");ly(u,z?_.replace("{path}",z):"")}if(ad(p)){let x=$d(p.inputEl,i.settings.calendarCustomMonthPattern),z=C("month",x,"");ly(p,z?_.replace("{path}",z):"")}if(ad(m)){let x=$d(m.inputEl,i.settings.calendarCustomQuarterPattern),z=C("quarter",x,"");ly(m,z?_.replace("{path}",z):"")}if(ad(g)){let x=$d(g.inputEl,i.settings.calendarCustomYearPattern),z=C("year",x,"");ly(g,z?_.replace("{path}",z):"")}},L=()=>{let A=n();if(op(A,""),op(b,""),Vi(A,!1),Vi(b,!1),i.settings.calendarIntegrationMode!=="notebook-navigator"||!ad(u))return;let _=qr();if(!_)return;let E=$d(u.inputEl,i.settings.calendarCustomWeekPattern);if(E.trim()==="")return;let R=sy(E,"");if(!Cw(R,_))return;let{calendarRulesLocale:M,periodicNotesLocale:C}=o(_);oK(R,w2(_,M),w2(_,C))&&(op(A,d.settings.items.calendarLocale.weekPathMismatchWarning),op(b,nK(R)?d.settings.items.calendarCustomWeekPattern.mixedWeekTokensWarning:d.settings.items.calendarCustomWeekPattern.weekPathMismatchWarning),Vi(A,!0),Vi(b,!0))};return{renderRootFolderSetting:k,renderDailyPatternSetting:P,renderWeeklyPatternSetting:T,renderMonthlyPatternSetting:I,renderQuarterlyPatternSetting:N,renderYearlyPatternSetting:O,renderPatternInfoSetting:K,refresh:()=>{let A=r(),_=typeof activeDocument<"u"?activeDocument.activeElement:null;l&&_!==l&&(l.value=A.periodicNotesFolder);let E=qr();if(ad(c)){let R=$d(c.inputEl,i.settings.calendarCustomFilePattern),M=sy(R,hv),C=!kC(M,E);op(f,C?d.settings.items.calendarCustomFilePattern.parsingError:""),Vi(f,C)}if(ad(u)){let R=$d(u.inputEl,i.settings.calendarCustomWeekPattern),M=sy(R,""),C=R.trim()!==""&&!Cw(M,E);op(h,C?d.settings.items.calendarCustomWeekPattern.parsingError:""),Vi(h,C)}if(ad(p)){let R=$d(p.inputEl,i.settings.calendarCustomMonthPattern),M=sy(R,""),C=R.trim()!==""&&!FC(M,E);op(v,C?d.settings.items.calendarCustomMonthPattern.parsingError:""),Vi(v,C)}if(ad(m)){let R=$d(m.inputEl,i.settings.calendarCustomQuarterPattern),M=sy(R,""),C=R.trim()!==""&&!PC(M,E);op(y,C?d.settings.items.calendarCustomQuarterPattern.parsingError:""),Vi(y,C)}if(ad(g)){let R=$d(g.inputEl,i.settings.calendarCustomYearPattern),M=sy(R,""),C=R.trim()!==""&&!CC(M,E);op(S,C?d.settings.items.calendarCustomYearPattern.parsingError:""),Vi(S,C)}L(),X(),G()},hideMessages:()=>{Vi(f,!1),Vi(h,!1),Vi(b,!1),Vi(v,!1),Vi(y,!1),Vi(S,!1),Vi(n(),!1)}}}function k2(t){let e=_O(t),{containerEl:n}=t;return e.renderRootFolderSetting(new Mm.Setting(n)),e.renderDailyPatternSetting(new Mm.Setting(n)),e.renderWeeklyPatternSetting(new Mm.Setting(n)),e.renderMonthlyPatternSetting(new Mm.Setting(n)),e.renderQuarterlyPatternSetting(new Mm.Setting(n)),e.renderYearlyPatternSetting(new Mm.Setting(n)),e.renderPatternInfoSetting(new Mm.Setting(n)),e}var Mm,F2=U(()=>{Mm=require("obsidian");jl();Ee();v2();ot();Xl();iy();Bd();Xc();ns();Ca();Em()});function kce(t){let n=qr()?.("2026-01-19","YYYY-MM-DD",!0).locale(t);if(!n?.isValid())return"";let r=n.format("dddd").trim(),[o="",...a]=Array.from(r);return o?`${o.toLocaleUpperCase()}${a.join("")}`:""}function P2(t,e){let n=kce(e);return n?`${t} - ${e} (${n})`:`${t} - ${e}`}function C2(t){let{plugin:e}=t;return n=>{let r=Hu(e.settings.calendarLocale,n,Ei());return{calendarRulesLocale:r.calendarRulesLocale,periodicNotesLocale:Vu(e.settings.calendarPeriodicNotesLocaleSource,r.calendarRulesLocale,n)}}}function N2(t){t.setName("").setDesc(""),t.settingEl.addClass("nn-setting-info-container"),t.descEl.empty(),t.descEl.createDiv({text:d.settings.items.calendarIntegrationMode.info.dailyNotes})}function I2(t,e,n){let{plugin:r}=e;t.setName(d.settings.items.calendarIntegrationMode.name).setDesc(d.settings.items.calendarIntegrationMode.desc).addDropdown(o=>o.addOption("daily-notes",d.settings.items.calendarIntegrationMode.options.dailyNotes).addOption("notebook-navigator",d.settings.items.calendarIntegrationMode.options.notebookNavigator).setValue(r.settings.calendarIntegrationMode).onChange(async a=>{a!=="daily-notes"&&a!=="notebook-navigator"||(r.settings.calendarIntegrationMode=a,n(),await r.saveSettingsAndUpdate())}))}function x2(t,e){if(!t)return;let n=qr(),{calendarRulesLocale:r}=e(n),o=Lc(n),a={calendar:P2(d.settings.items.calendarPeriodicNotesLocale.options.calendar,r),obsidian:P2(d.settings.items.calendarPeriodicNotesLocale.options.obsidian,o)};Object.entries(a).forEach(([i,s])=>{let l=t.selectEl.querySelector(`option[value="${i}"]`);l&&(l.text=s)})}function E2(t,e,n){let{plugin:r}=e;t.setName(d.settings.items.calendarPeriodicNotesLocale.name).setDesc(d.settings.items.calendarPeriodicNotesLocale.desc).addDropdown(o=>{n.setDropdown(o),o.addOption("calendar",d.settings.items.calendarPeriodicNotesLocale.options.calendar).addOption("obsidian",d.settings.items.calendarPeriodicNotesLocale.options.obsidian).setValue(r.settings.calendarPeriodicNotesLocaleSource).onChange(async a=>{mC(a)&&(r.settings.calendarPeriodicNotesLocaleSource=a,n.refresh(),await r.saveSettingsAndUpdate())}),n.refresh()})}function M2(t,e){let{plugin:n}=t,r=()=>nn(n.settings),o=C2(t),a=()=>n.settings.calendarIntegrationMode==="notebook-navigator",i=null,s=_O({context:t,getCalendarLocaleWarningEl:e.getCalendarLocaleWarningEl,getActiveProfile:r,resolveSelectedCalendarLocales:o,requestVisibilityRefresh:()=>l()}),l=()=>{if(x2(i,o),!a()){s.hideMessages();return}s.refresh()},c=()=>{t.refreshSettingsDomState(),l()};return[Pt(d.settings.groups.navigation.calendarIntegration,[_e({name:d.settings.items.calendarIntegrationMode.name,desc:d.settings.items.calendarIntegrationMode.desc,aliases:Object.values(d.settings.items.calendarIntegrationMode.options),render:u=>{I2(u,t,c),t.registerSettingsUpdateListener("calendar-tab-calendar-integration",c),l()}}),_e({name:d.settings.items.calendarIntegrationMode.info.dailyNotes,searchable:!1,visible:()=>n.settings.calendarIntegrationMode==="daily-notes",render:u=>N2(u)}),_e({name:d.settings.items.calendarPeriodicNotesLocale.name,desc:d.settings.items.calendarPeriodicNotesLocale.desc,aliases:Object.values(d.settings.items.calendarPeriodicNotesLocale.options),visible:a,render:u=>E2(u,t,{setDropdown:p=>{i=p},refresh:l})}),...T2(s,a)])]}function R2(t,e,n){let{calendarLocaleWarningEl:r}=n,{plugin:o}=t,a=()=>nn(o.settings),i=C2(t),s=e(d.settings.groups.navigation.calendarIntegration),l=()=>{},c=s.addSetting(h=>{I2(h,t,()=>l())}),u=Qa(c),p=Qa(c);N2(new HO.Setting(u));let m=null,g=()=>{x2(m,i)};E2(new HO.Setting(p),t,{setDropdown:h=>{m=h},refresh:()=>l()});let f=k2({context:t,containerEl:p,getCalendarLocaleWarningEl:()=>r,getActiveProfile:a,resolveSelectedCalendarLocales:i,requestVisibilityRefresh:()=>l()});return l=()=>{let h=o.settings.calendarIntegrationMode==="daily-notes",b=o.settings.calendarIntegrationMode==="notebook-navigator";if(g(),Tn(u,h),Tn(p,b),!b){f.hideMessages();return}f.refresh()},t.registerSettingsUpdateListener("calendar-tab-calendar-integration",()=>{l()}),l}var HO,VO=U(()=>{HO=require("obsidian");Ee();Bd();dn();ns();xn();Ca();F2()});function D2(t){let e=null;return[Pt(void 0,[et("calendarEnabled",{name:d.settings.items.calendarEnabled.name,desc:d.settings.items.calendarEnabled.desc}),_e({name:d.settings.items.calendarPlacement.name,desc:d.settings.items.calendarPlacement.desc,aliases:Object.values(d.settings.items.calendarPlacement.options),render:n=>Pce(n,t)}),et("calendarConfirmBeforeCreate",{name:d.settings.items.calendarConfirmBeforeCreate.name,desc:d.settings.items.calendarConfirmBeforeCreate.desc})]),Pt(d.settings.groups.navigation.appearance,[_e({name:d.settings.items.calendarLocale.name,desc:d.settings.items.calendarLocale.desc,render:n=>{e=Cce(n,t)}}),Gr("calendarWeekendDays",{name:d.settings.items.calendarWeekendDays.name,desc:d.settings.items.calendarWeekendDays.desc,aliases:Object.values(d.settings.items.calendarWeekendDays.options),options:{none:d.settings.items.calendarWeekendDays.options.none,"sat-sun":d.settings.items.calendarWeekendDays.options.satSun,"fri-sat":d.settings.items.calendarWeekendDays.options.friSat,"thu-fri":d.settings.items.calendarWeekendDays.options.thuFri}}),Gr("calendarMonthHeadingFormat",{name:d.settings.items.calendarMonthHeadingFormat.name,desc:d.settings.items.calendarMonthHeadingFormat.desc,aliases:Object.values(d.settings.items.calendarMonthHeadingFormat.options),options:{full:d.settings.items.calendarMonthHeadingFormat.options.full,short:d.settings.items.calendarMonthHeadingFormat.options.short}}),et("calendarHighlightToday",{name:d.settings.items.calendarHighlightToday.name,desc:d.settings.items.calendarHighlightToday.desc}),et("calendarShowFeatureImage",{name:d.settings.items.calendarShowFeatureImage.name,desc:d.settings.items.calendarShowFeatureImage.desc}),et("calendarShowWeekNumber",{name:d.settings.items.calendarShowWeekNumber.name,desc:d.settings.items.calendarShowWeekNumber.desc}),et("calendarShowQuarter",{name:d.settings.items.calendarShowQuarter.name,desc:d.settings.items.calendarShowQuarter.desc})]),Pt(d.settings.groups.navigation.leftSidebar,[_e({name:d.settings.items.calendarLeftPlacement.name,desc:d.settings.items.calendarLeftPlacement.desc,aliases:Object.values(d.settings.items.calendarLeftPlacement.options),render:n=>Nce(n,t)}),_e({name:d.settings.items.calendarWeeksToShow.name,desc:d.settings.items.calendarWeeksToShow.desc,aliases:Object.values(d.settings.items.calendarWeeksToShow.options),render:n=>Ice(n,t)})]),Pt(d.settings.items.calendarPlacement.options.rightSidebar,[et("calendarShowYearCalendar",{name:d.settings.items.calendarShowYearCalendar.name,desc:d.settings.items.calendarShowYearCalendar.desc})]),...M2(t,{getCalendarLocaleWarningEl:()=>e})]}function Pce(t,e){let{plugin:n}=e;t.setName(d.settings.items.calendarPlacement.name).setDesc(d.settings.items.calendarPlacement.desc),t.addDropdown(r=>{r.addOption("left-sidebar",d.settings.items.calendarPlacement.options.leftSidebar).addOption("right-sidebar",d.settings.items.calendarPlacement.options.rightSidebar).setValue(n.settings.calendarPlacement).onChange(o=>{gm(o)&&n.setCalendarPlacement(o)})}),At({setting:t,plugin:n,settingId:"calendarPlacement"})}function Cce(t,e){let{plugin:n}=e,r=qr(),o=r?[...r.locales()].sort((s,l)=>s.localeCompare(l)):[],a=typeof navigator<"u"?(navigator.language??"").toLowerCase():"",i=r?.locale()||a;return t.setName(d.settings.items.calendarLocale.name).setDesc(d.settings.items.calendarLocale.desc),t.addDropdown(s=>{s.addOption(Fce,`${d.settings.items.calendarLocale.options.systemDefault} (${i||"en"})`);for(let l of o)s.addOption(l,l);s.setValue(n.settings.calendarLocale).onChange(async l=>{n.settings.calendarLocale=l,await n.saveSettingsAndUpdate()})}),t.descEl.createDiv({cls:"setting-item-description nn-setting-hidden nn-setting-warning"})}function Nce(t,e){let{plugin:n}=e;t.setName(d.settings.items.calendarLeftPlacement.name).setDesc(d.settings.items.calendarLeftPlacement.desc),t.addDropdown(r=>{r.addOption("below",d.settings.items.calendarLeftPlacement.options.below).addOption("navigation",d.settings.items.calendarLeftPlacement.options.navigationPane).setValue(n.settings.calendarLeftPlacement).onChange(o=>{hm(o)&&n.setCalendarLeftPlacement(o)})}),At({setting:t,plugin:n,settingId:"calendarLeftPlacement"})}function Ice(t,e){let{plugin:n}=e;t.setName(d.settings.items.calendarWeeksToShow.name).setDesc(d.settings.items.calendarWeeksToShow.desc),t.addDropdown(r=>{r.addOption("1",d.settings.items.calendarWeeksToShow.options.oneWeek);for(let o=2;o<=5;o++)r.addOption(String(o),d.settings.items.calendarWeeksToShow.options.weeksCount.replace("{count}",o.toString()));r.addOption("6",d.settings.items.calendarWeeksToShow.options.fullMonth),r.setValue(String(n.settings.calendarWeeksToShow)).onChange(o=>{let a=Number.parseInt(o,10);!Number.isFinite(a)||a<1||a>6||n.setCalendarWeeksToShow(a)})}),At({setting:t,plugin:n,settingId:"calendarWeeksToShow"})}var Fce,A2=U(()=>{Ee();Bd();Ca();da();xn();VO();Fce="system-default"});function eI({items:t,query:e,limit:n,getPath:r,getDisplayPath:o}){let a=o??((c,u)=>u),i=e.trim();if(!i){let c=t.map(u=>{let p=r(u);return{item:u,path:p,displayPath:a(u,p)}});return c.sort((u,p)=>Mt(u.path,p.path)),c.slice(0,n).map(u=>({...u,match:null}))}let s=(0,JN.prepareFuzzySearch)(i),l=[];for(let c of t){let u=r(c),p=s(u);p&&l.push({item:c,path:u,displayPath:a(c,u),match:p})}return l.sort((c,u)=>{let p=c.match?.score??Number.POSITIVE_INFINITY,m=u.match?.score??Number.POSITIVE_INFINITY;return p===m?Mt(c.path,u.path):p-m}),l.slice(0,n)}function tI(t,e){if(t.match&&t.match.matches.length>0){(0,JN.renderMatches)(e,t.displayPath,t.match.matches);return}e.setText(t.displayPath)}var JN,UO=U(()=>{JN=require("obsidian");Rn()});var O2,xce,dy,KO=U(()=>{O2=require("obsidian");UO();$o();xce=200,dy=class extends O2.AbstractInputSuggest{constructor(e,n,r){super(e,n),this.inputEl=n,this.getBaseFolder=r?.getBaseFolder??(()=>""),this.includeFile=r?.includeFile??(()=>!0),this.limit=r?.limit??xce}getSuggestions(e){let n=this.getNormalizedBaseFolder(this.getBaseFolder),r=n?`${n}/`:"",o=this.app.vault.getFiles().filter(a=>this.includeFile(a)&&(r===""||a.path.startsWith(r)));return eI({items:o,query:e,limit:this.limit,getPath:a=>a.path})}renderSuggestion(e,n){tI(e,n)}selectSuggestion(e){this.inputEl.value=e.path,this.inputEl.dispatchEvent(new Event("input",{bubbles:!0})),this.close()}getNormalizedBaseFolder(e){return Na(e())??""}}});function WO(t){return z2.lastIndex=0,t.replace(z2,Ece)}function Mce(t){return B2.lastIndex=0,B2.test(t)}function Xd(t,e){let n=e.folderNoteNamePattern;if(typeof n=="string"&&n.length>0){let r=WO(n);L2.lastIndex=0;let o=r.replace(L2,()=>t);if(o.length>0)return o}return e.folderNoteName.length>0?e.folderNoteName:t}function _2(t){let e=t.folderNoteNamePattern;return typeof e=="string"&&e.length>0?Mce(e):!(t.folderNoteName.length>0)}var Ece,CT,L2,z2,B2,ap=U(()=>{Ece="{{folder}}",CT="_{{folder}}",L2=/\{\{\s*folder\s*\}\}/giu,z2=/\{\{\s*folder_name\s*\}\}/giu,B2=/\{\{\s*folder(?:_name)?\s*\}\}/giu});function Rce(t){return t==="markdown"||t==="canvas"||t==="base"}function H2(t){return t==="ask"||Rce(t)}var Qd,cy=U(()=>{Qd={markdown:"md",canvas:"canvas",base:"base"}});function U2(t,e,n){return new Promise(r=>{new jO(t,e,r,n).open()})}var V2,jO,K2=U(()=>{V2=require("obsidian");Ee();jO=class extends V2.Modal{constructor(n,r,o,a){super(n);this.folder=r;this.onSelect=o;this.folderDisplayName=a;this.buttonBindings=[];this.hasResolved=!1}onOpen(){this.modalEl.addClass("nn-folder-note-type-modal"),this.titleEl.setText(d.modals.folderNoteType.title);let n=this.contentEl.createDiv("nn-folder-note-type-info"),r=this.folderDisplayName&&this.folderDisplayName.length>0?this.folderDisplayName:this.folder.name;n.setText(d.modals.folderNoteType.folderLabel.replace("{name}",r));let o=this.contentEl.createDiv("nn-folder-note-type-buttons"),a=this.createTypeButton(o,d.settings.items.folderNoteType.options.markdown,"markdown");this.createTypeButton(o,d.settings.items.folderNoteType.options.canvas,"canvas"),this.createTypeButton(o,d.settings.items.folderNoteType.options.base,"base");let i=o.createEl("button",{text:d.common.cancel,cls:"mod-warning"});this.bindButton(i,()=>this.resolveAndClose(null)),a.focus(),this.scope.register([],"Escape",s=>{s.preventDefault(),this.resolveAndClose(null)})}onClose(){for(let{button:n,handler:r}of this.buttonBindings)n.removeEventListener("click",r);this.hasResolved||(this.onSelect(null),this.hasResolved=!0)}createTypeButton(n,r,o){let a=n.createEl("button",{text:r});return this.bindButton(a,()=>this.resolveAndClose(o)),a}bindButton(n,r){n.addEventListener("click",r),this.buttonBindings.push({button:n,handler:r})}resolveAndClose(n){this.hasResolved||(this.hasResolved=!0,this.onSelect(n),this.close())}}});async function no({app:t,commandQueue:e,file:n,context:r,active:o=!0}){let a=W2.Platform.isMobile&&r==="window"?"tab":r,i=async()=>{let s=t.workspace.getLeaf(a);if(!s)throw new Error(`Unable to open file in ${a} context: leaf not available`);await s.openFile(n,{active:o})};if(e){await e.executeOpenInNewContext(n,a,i);return}await i()}var W2,Zc=U(()=>{W2=require("obsidian")});function No(t){return{enableFolderNotes:t.enableFolderNotes,folderNoteName:t.folderNoteName,folderNoteNamePattern:t.folderNoteNamePattern}}function uy(t,e){let n=e??t.vault,r=typeof n?.getName=="function"?n.getName():"";if(typeof r=="string"&&r.trim().length>0)return r;let o=typeof t.name=="string"?t.name:"";return o.trim().length>0&&o!=="/"?o:"Vault"}function ip(t,e){return Xd(t.path==="/"?uy(t):t.name,e)}function fl(t){return GO.has(t)}function Pn(t,e){if(!e.enableFolderNotes)return null;let n=ip(t,e),r=t.path==="/"?"":`${t.path}/`,o=[];for(let l of Object.values(Qd)){let c=(0,Eh.normalizePath)(`${r}${n}.${l}`),u=t.vault.getAbstractFileByPath(c);!(u instanceof Eh.TFile)||u.parent?.path!==t.path||GO.has(u.extension)&&u.basename===n&&o.push(u)}let a=null,i=(0,Eh.normalizePath)(`${r}${n}${Fa}.md`),s=t.vault.getAbstractFileByPath(i);if(s instanceof Eh.TFile&&s.parent?.path===t.path&&Mi(s)&&$l(s.basename)===n&&(a=s),o.length===1)return o[0];if(o.length>1){let l=new Set(o.map(c=>c.path));for(let c of t.children)if(c instanceof Eh.TFile&&c.parent?.path===t.path&&l.has(c.path))return c;return o[0]??null}return a}function zs(t,e,n){if(!n.enableFolderNotes||!GO.has(t.extension)||t.parent?.path!==e.path)return!1;let r=ip(e,n);return t.basename===r?!0:!Mi(t)||$l(t.basename)!==r?!1:Pn(e,n)?.path===t.path}var Eh,GO,_a=U(()=>{Eh=require("obsidian");cy();rs();ap();GO=new Set(Object.values(Qd))});function Dce(t){let e=t.split("/").pop()??"",n=e.lastIndexOf(".");return n===-1||n===e.length-1?"":e.slice(n+1)}function NT(t,e){let n=Na(t);if(!n)return!0;let r=Dce(n);return fl(r)?e==="ask"?!0:r===Qd[e]:!1}function Ace(t,e,n){let r=Na(e);if(!r)return null;let o=Qd[n],a=t.vault.getAbstractFileByPath(r);return a instanceof G2.TFile?a.extension!==o?(console.warn("[folder note template] Template file extension does not match folder note type",r),null):a:(console.warn("[folder note template] Template file not found",r),null)}async function j2(t,e,n){let r=Ace(t,e,n);if(!r)return null;try{return await t.vault.read(r)}catch(o){return console.error("Failed to read folder note template",r.path,o),null}}async function ri({app:t,commandQueue:e,folder:n,folderNote:r,context:o,active:a=!0,openInRightSidebar:i}){let s=async()=>{if(o==="right-sidebar"){if(i){await i(r);return}let c=t.workspace.getRightLeaf(!0)??t.workspace.getRightLeaf(!1);if(!c)return;await c.openFile(r,{active:!1}),await t.workspace.revealLeaf(c);return}if(o){await no({app:t,commandQueue:e,file:r,context:o,active:a});return}let l=t.workspace.getLeaf(!1);l&&await l.openFile(r,{active:a})};if(e){await e.executeOpenFolderNote(n.path,s);return}await s()}async function q2(t,e,n,r,o){if(Pn(e,No({enableFolderNotes:!0,folderNoteName:n.folderNoteName,folderNoteNamePattern:n.folderNoteNamePattern})))return de(d.fileSystem.errors.folderNoteAlreadyExists,{variant:"warning"}),null;let i;if(n.folderNoteType==="ask"){if(i=await U2(t,e,o?.folderDisplayName),!i)return null}else i=n.folderNoteType;let s=Qd[i],l=ip(e,n),c=`${l}.${s}`,u=xa(e.path,c);if(t.vault.getAbstractFileByPath(u))return de(d.fileSystem.errors.folderNoteAlreadyExists,{variant:"warning"}),null;try{let m,g=NT(n.folderNoteTemplate,i)?n.folderNoteTemplate:null;if(i==="markdown")m=await XN({app:t,folder:e,baseName:l,templatePath:g,templateErrorContext:"folder note"});else if(i==="canvas"){let f=await j2(t,g,i);m=await t.vault.create(u,f??"{}")}else{let f=await j2(t,g,i);m=await t.vault.create(u,f??QN())}return await ri({app:t,commandQueue:r??null,folder:e,folderNote:m,context:o?.openContext??null,active:!0,openInRightSidebar:o?.openInRightSidebar}),m}catch(m){let g=m instanceof Error?m.message:String(m);de(d.fileSystem.errors.createFile.replace("{error}",g),{variant:"warning"})}return null}var G2,Jc=U(()=>{G2=require("obsidian");Ee();cy();Nm();K2();Fn();Zc();$o();_a();_a()});function Y2(t,e){let{plugin:n}=t;return[Pt(e,[et("showFolderIcons",{name:d.settings.items.showFolderIcons.name,desc:d.settings.items.showFolderIcons.desc}),et("showRootFolder",{name:d.settings.items.showRootFolder.name,desc:d.settings.items.showRootFolder.desc}),et("inheritFolderColors",{name:d.settings.items.inheritFolderColors.name,desc:d.settings.items.inheritFolderColors.desc}),_e({name:d.settings.items.folderSortOrder.name,desc:d.settings.items.folderSortOrder.desc,aliases:Object.values(d.settings.items.folderSortOrder.options),render:r=>Oce(r,t)})]),Pt(d.settings.sections.folderNotes,[et("enableFolderNotes",{name:d.settings.items.enableFolderNotes.name,desc:d.settings.items.enableFolderNotes.desc}),Gr("folderNoteOpenLocation",{name:d.settings.items.folderNoteOpenLocation.name,desc:d.settings.items.folderNoteOpenLocation.desc,aliases:Object.values(d.settings.items.folderNoteOpenLocation.options),visible:()=>n.settings.enableFolderNotes,options:{"current-tab":d.settings.items.folderNoteOpenLocation.options.currentTab,"new-tab":d.settings.items.folderNoteOpenLocation.options.newTab,"right-sidebar":d.settings.items.folderNoteOpenLocation.options.rightSidebar}}),et("showNearestFolderNoteInSidebar",{name:d.settings.items.showNearestFolderNoteInSidebar.name,desc:d.settings.items.showNearestFolderNoteInSidebar.desc,visible:()=>n.settings.enableFolderNotes&&n.settings.folderNoteOpenLocation==="right-sidebar"}),et("enableFolderNoteLinks",{name:d.settings.items.enableFolderNoteLinks.name,desc:d.settings.items.enableFolderNoteLinks.desc,visible:()=>n.settings.enableFolderNotes}),et("hideFolderNoteInList",{name:d.settings.items.hideFolderNoteInList.name,desc:d.settings.items.hideFolderNoteInList.desc,visible:()=>n.settings.enableFolderNotes}),et("pinCreatedFolderNote",{name:d.settings.items.pinCreatedFolderNote.name,desc:d.settings.items.pinCreatedFolderNote.desc,visible:()=>n.settings.enableFolderNotes})]),Pt(d.settings.sections.folderNoteFiles,[Gr("folderNoteType",{name:d.settings.items.folderNoteType.name,desc:d.settings.items.folderNoteType.desc,aliases:Object.values(d.settings.items.folderNoteType.options),options:{ask:d.settings.items.folderNoteType.options.ask,markdown:d.settings.items.folderNoteType.options.markdown,canvas:d.settings.items.folderNoteType.options.canvas,base:d.settings.items.folderNoteType.options.base}}),MA("folderNoteName",{name:d.settings.items.folderNoteName.name,desc:d.settings.items.folderNoteName.desc,aliases:[d.settings.items.folderNoteName.placeholder],placeholder:d.settings.items.folderNoteName.placeholder}),MA("folderNoteNamePattern",{name:d.settings.items.folderNoteNamePattern.name,desc:d.settings.items.folderNoteNamePattern.desc,aliases:[CT],placeholder:CT}),_e({name:d.settings.items.folderNoteTemplate.name,desc:d.settings.items.folderNoteTemplate.desc,render:r=>Lce(r,t)}),_e({name:"Templater",searchable:!1,render:r=>zce(r,t)})],{visible:()=>n.settings.enableFolderNotes})]}function Oce(t,e){let{plugin:n}=e;t.setName(d.settings.items.folderSortOrder.name).setDesc(d.settings.items.folderSortOrder.desc),t.addDropdown(r=>{r.addOption("alpha-asc",d.settings.items.folderSortOrder.options.alphaAsc).addOption("alpha-desc",d.settings.items.folderSortOrder.options.alphaDesc).setValue(n.getFolderSortOrder()).onChange(o=>{al(o)&&n.setFolderSortOrder(o)})}),At({setting:t,plugin:n,settingId:"folderSortOrder"})}function Lce(t,e){let{plugin:n}=e,r=()=>{};e.configureDebouncedTextSetting(t,d.settings.items.folderNoteTemplate.name,d.settings.items.folderNoteTemplate.desc,"",()=>n.settings.folderNoteTemplate??"",i=>{n.settings.folderNoteTemplate=Na(i)},void 0,()=>r()),t.controlEl.addClass("nn-setting-wide-input");let o=t.descEl.createDiv({cls:"setting-item-description nn-setting-hidden nn-setting-warning"}),a=t.controlEl.querySelector("input");if(r=()=>{let i=a?.value??n.settings.folderNoteTemplate??"",s=NT(i,n.settings.folderNoteType);o.setText(s?"":d.settings.items.folderNoteTemplate.formatWarning),Tn(o,!s)},a){let i=new dy(e.app,a,{getBaseFolder:()=>n.settings.calendarTemplateFolder,includeFile:s=>fl(s.extension)});a.addEventListener("input",r),a.addEventListener("click",()=>i.open())}e.registerSettingsUpdateListener("folders-folder-note-template-warning",r),r()}function zce(t,e){t.setName("").setDesc(""),t.settingEl.addClass("nn-setting-info-container"),t.descEl.empty();let n=rd(e.app)?d.settings.items.calendarCustomFilePattern.templaterSupportInstalled:d.settings.items.calendarCustomFilePattern.templaterSupportMissing;t.descEl.createEl("strong",{text:n})}var $2=U(()=>{Ee();xn();Ca();da();KO();ap();$o();Xc();Jc();ns()});function X2(t,e){let{plugin:n}=t;return[Pt(e,[et("showProperties",{name:d.settings.items.showProperties.name,desc:d.settings.items.showProperties.desc}),et("showPropertyIcons",{name:d.settings.items.showPropertyIcons.name,desc:d.settings.items.showPropertyIcons.desc,visible:()=>n.settings.showProperties}),et("inheritPropertyColors",{name:d.settings.items.inheritPropertyColors.name,desc:d.settings.items.inheritPropertyColors.desc,visible:()=>n.settings.showProperties}),_e({name:d.settings.items.propertySortOrder.name,desc:d.settings.items.propertySortOrder.desc,aliases:Object.values(d.settings.items.propertySortOrder.options),visible:()=>n.settings.showProperties,render:r=>Bce(r,t)}),et("showAllPropertiesFolder",{name:d.settings.items.showAllPropertiesFolder.name,desc:d.settings.items.showAllPropertiesFolder.desc,visible:()=>n.settings.showProperties}),et("scopePropertiesToCurrentContext",{name:d.settings.items.scopePropertiesToCurrentContext.name,desc:d.settings.items.scopePropertiesToCurrentContext.desc,visible:()=>n.settings.showProperties}),_e({name:d.settings.items.showProperties.propertyKeysInfoLinkText,searchable:!1,visible:()=>n.settings.showProperties,render:r=>_ce(r)})])]}function Bce(t,e){let{plugin:n}=e;t.setName(d.settings.items.propertySortOrder.name).setDesc(d.settings.items.propertySortOrder.desc),t.addDropdown(r=>{let o=`${d.settings.items.propertySortOrder.options.frequency} (${d.settings.items.propertySortOrder.options.lowToHigh})`,a=`${d.settings.items.propertySortOrder.options.frequency} (${d.settings.items.propertySortOrder.options.highToLow})`;r.addOption("alpha-asc",d.settings.items.propertySortOrder.options.alphaAsc).addOption("alpha-desc",d.settings.items.propertySortOrder.options.alphaDesc).addOption("frequency-asc",o).addOption("frequency-desc",a).setValue(n.getPropertySortOrder()).onChange(i=>{Ta(i)&&n.setPropertySortOrder(i)})}),At({setting:t,plugin:n,settingId:"propertySortOrder"})}function _ce(t){t.setName("").setDesc(""),t.settingEl.addClass("nn-setting-info-container"),t.settingEl.addClass("nn-setting-property-keys-info"),t.setDesc(`${d.settings.items.showProperties.propertyKeysInfoPrefix}${d.settings.items.showProperties.propertyKeysInfoLinkText}${d.settings.items.showProperties.propertyKeysInfoSuffix}`)}var Q2=U(()=>{Ee();xn();Ca();da()});function Z2(t,e){let{plugin:n}=t;return[Pt(e,[et("showTags",{name:d.settings.items.showTags.name,desc:d.settings.items.showTags.desc}),et("showTagIcons",{name:d.settings.items.showTagIcons.name,desc:d.settings.items.showTagIcons.desc,visible:()=>n.settings.showTags}),et("inheritTagColors",{name:d.settings.items.inheritTagColors.name,desc:d.settings.items.inheritTagColors.desc,visible:()=>n.settings.showTags}),_e({name:d.settings.items.tagSortOrder.name,desc:d.settings.items.tagSortOrder.desc,aliases:Object.values(d.settings.items.tagSortOrder.options),visible:()=>n.settings.showTags,render:r=>Hce(r,t)}),et("showAllTagsFolder",{name:d.settings.items.showAllTagsFolder.name,desc:d.settings.items.showAllTagsFolder.desc,visible:()=>n.settings.showTags}),et("showUntagged",{name:d.settings.items.showUntagged.name,desc:d.settings.items.showUntagged.desc,visible:()=>n.settings.showTags}),et("scopeTagsToCurrentContext",{name:d.settings.items.scopeTagsToCurrentContext.name,desc:d.settings.items.scopeTagsToCurrentContext.desc,visible:()=>n.settings.showTags}),et("keepEmptyTagsProperty",{name:d.settings.items.keepEmptyTagsProperty.name,desc:d.settings.items.keepEmptyTagsProperty.desc,visible:()=>n.settings.showTags})])]}function Hce(t,e){let{plugin:n}=e;t.setName(d.settings.items.tagSortOrder.name).setDesc(d.settings.items.tagSortOrder.desc),t.addDropdown(r=>{let o=`${d.settings.items.tagSortOrder.options.frequency} (${d.settings.items.tagSortOrder.options.lowToHigh})`,a=`${d.settings.items.tagSortOrder.options.frequency} (${d.settings.items.tagSortOrder.options.highToLow})`;r.addOption("alpha-asc",d.settings.items.tagSortOrder.options.alphaAsc).addOption("alpha-desc",d.settings.items.tagSortOrder.options.alphaDesc).addOption("frequency-asc",o).addOption("frequency-desc",a).setValue(n.getTagSortOrder()).onChange(i=>{Ta(i)&&n.setTagSortOrder(i)})}),At({setting:t,plugin:n,settingId:"tagSortOrder"})}var J2=U(()=>{Ee();xn();Ca();da()});function eG(t){return Y2(t,d.settings.sections.folders)}function tG(t){return[...Z2(t,d.settings.sections.tags),...X2(t,d.navigationPane.properties)]}var nG=U(()=>{Ee();$2();Q2();J2()});function rG(t){let{plugin:e}=t;Oo(e.settings);let n=()=>e.settings.vaultProfiles.find(r=>r.id===e.settings.vaultProfile)??e.settings.vaultProfiles[0]??null;return[Pt(void 0,[_e({name:d.settings.items.excludedFileNamePatterns.name,desc:d.settings.items.excludedFileNamePatterns.desc,aliases:[d.settings.items.excludedFileNamePatterns.placeholder],render:r=>{t.configureDebouncedTextSetting(r,d.settings.items.excludedFileNamePatterns.name,d.settings.items.excludedFileNamePatterns.desc,d.settings.items.excludedFileNamePatterns.placeholder,()=>nr(n()?.hiddenFileNames??[]),o=>{let a=n();a&&(a.hiddenFileNames=Array.from(new Set(Fo(o))))}),r.controlEl.addClass("nn-setting-wide-input")}}),_e({name:d.settings.items.excludedFolders.name,desc:d.settings.items.excludedFolders.desc,aliases:[d.settings.items.excludedFolders.placeholder],render:r=>{t.configureDebouncedTextSetting(r,d.settings.items.excludedFolders.name,d.settings.items.excludedFolders.desc,d.settings.items.excludedFolders.placeholder,()=>nr(n()?.hiddenFolders??[]),o=>{let a=n();a&&(a.hiddenFolders=Array.from(new Set(Fo(o))))}),r.controlEl.addClass("nn-setting-wide-input")}}),_e({name:d.settings.items.hiddenTags.name,desc:d.settings.items.hiddenTags.desc,aliases:[d.settings.items.hiddenTags.placeholder],render:r=>{t.configureDebouncedTextSetting(r,d.settings.items.hiddenTags.name,d.settings.items.hiddenTags.desc,d.settings.items.hiddenTags.placeholder,()=>nr(n()?.hiddenTags??[]),o=>{let a=n();if(!a)return;let i=Fo(o).map(s=>Ze(s)).filter(s=>s!==null);a.hiddenTags=Array.from(new Set(i))}),r.controlEl.addClass("nn-setting-wide-input")}}),_e({name:d.settings.items.hiddenFileTags.name,desc:d.settings.items.hiddenFileTags.desc,aliases:[d.settings.items.hiddenFileTags.placeholder],render:r=>{t.configureDebouncedTextSetting(r,d.settings.items.hiddenFileTags.name,d.settings.items.hiddenFileTags.desc,d.settings.items.hiddenFileTags.placeholder,()=>nr(n()?.hiddenFileTags??[]),o=>{let a=n();if(!a)return;let i=Fo(o).map(s=>Ze(s)).filter(s=>s!==null);a.hiddenFileTags=Array.from(new Set(i))}),r.controlEl.addClass("nn-setting-wide-input")}}),_e({name:d.settings.items.excludedNotes.name,desc:d.settings.items.excludedNotes.desc,aliases:[d.settings.items.excludedNotes.placeholder],render:r=>{t.configureDebouncedTextSetting(r,d.settings.items.excludedNotes.name,d.settings.items.excludedNotes.desc,d.settings.items.excludedNotes.placeholder,()=>nr(n()?.hiddenFileProperties??[]),o=>{let a=n();a&&(a.hiddenFileProperties=Array.from(new Set(Fo(o))))}),r.controlEl.addClass("nn-setting-wide-input")}})])]}var oG=U(()=>{Ee();As();Sn();dn();Ca()});function aG(t,e){return[Pt(e,[et("confirmBeforeDelete",{name:d.settings.items.confirmBeforeDelete.name,desc:d.settings.items.confirmBeforeDelete.desc}),Gr("deleteAttachments",{name:d.settings.items.deleteAttachments.name,desc:d.settings.items.deleteAttachments.desc,aliases:Object.values(d.settings.items.deleteAttachments.options),options:{ask:d.settings.items.deleteAttachments.options.ask,always:d.settings.items.deleteAttachments.options.always,never:d.settings.items.deleteAttachments.options.never}}),Gr("moveFileConflicts",{name:d.settings.items.moveFileConflicts.name,desc:d.settings.items.moveFileConflicts.desc,aliases:Object.values(d.settings.items.moveFileConflicts.options),options:{ask:d.settings.items.moveFileConflicts.options.ask,rename:d.settings.items.moveFileConflicts.options.rename}})]),Pt(d.settings.groups.general.templates,[mK("calendarTemplateFolder",{name:d.settings.items.calendarTemplateFolder.name,desc:d.settings.items.calendarTemplateFolder.desc,aliases:[d.settings.items.calendarTemplateFolder.placeholder],placeholder:d.settings.items.calendarTemplateFolder.placeholder,includeRoot:!0}),_e({name:"Templater",searchable:!1,render:n=>Vce(n,t)})])]}function Vce(t,e){t.setName("").setDesc(""),t.settingEl.addClass("nn-setting-info-container"),t.descEl.empty(),t.descEl.createDiv({text:d.settings.items.calendarTemplateFolder.usage});let n=rd(e.app)?d.settings.items.calendarCustomFilePattern.templaterSupportInstalled:d.settings.items.calendarCustomFilePattern.templaterSupportMissing;t.descEl.append(createEl("br"),createEl("strong",{text:n}))}var iG=U(()=>{Ee();Xc();Ca()});function Uce(t){return t instanceof sG.TFile&&t.extension==="md"}function qO(t,e){if(!t)return 0;let n=0;for(let r of Object.keys(t)){let o=e.vault.getAbstractFileByPath(r);Uce(o)&&(n+=1)}return n}function lG(t){let{app:e,plugin:n}=t,r=null,o=null,a=null,i=()=>{a?.(),t.requestStatisticsRefresh()};return a=()=>{if(!o)return;let s=o.descEl;s.empty();let l=qO(n.settings.fileIcons,e),c=qO(n.settings.fileColors,e)+qO(n.settings.fileBackgroundColors,e),u=l===0&&c===0,p=n.settings.frontmatterIconField.trim().length>0,m=n.settings.frontmatterColorField.trim().length>0,g=n.settings.frontmatterBackgroundField.trim().length>0,f=p||m||g,h=n.settings.useFrontmatterMetadata,b=d.settings.items.frontmatterMigration.desc.replace("{icons}",l.toString()).replace("{colors}",c.toString());s.createDiv({text:b});let v=!u&&f&&h;r?.setDisabled(!h||!f||u),Tn(o.settingEl,v)},[Pt(void 0,[_e({name:d.settings.items.useFrontmatterDates.name,desc:d.settings.items.useFrontmatterDates.desc,render:s=>{s.setName(d.settings.items.useFrontmatterDates.name).setDesc(d.settings.items.useFrontmatterDates.desc).addToggle(l=>l.setValue(n.settings.useFrontmatterMetadata).onChange(async c=>{n.settings.useFrontmatterMetadata=c,t.refreshSettingsDomState(),await n.saveSettingsAndUpdate(),i()}))}}),py({context:t,name:d.settings.items.frontmatterIconField.name,desc:d.settings.items.frontmatterIconField.desc,placeholder:d.settings.items.frontmatterIconField.placeholder,visible:()=>n.settings.useFrontmatterMetadata,getValue:()=>n.settings.frontmatterIconField,setValue:s=>{n.settings.frontmatterIconField=s||""},onAfterUpdate:i}),py({context:t,name:d.settings.items.frontmatterColorField.name,desc:d.settings.items.frontmatterColorField.desc,placeholder:d.settings.items.frontmatterColorField.placeholder,visible:()=>n.settings.useFrontmatterMetadata,getValue:()=>n.settings.frontmatterColorField,setValue:s=>{n.settings.frontmatterColorField=s||""},onAfterUpdate:i}),py({context:t,name:d.settings.items.frontmatterBackgroundField.name,desc:d.settings.items.frontmatterBackgroundField.desc,placeholder:d.settings.items.frontmatterBackgroundField.placeholder,visible:()=>n.settings.useFrontmatterMetadata,getValue:()=>n.settings.frontmatterBackgroundField,setValue:s=>{n.settings.frontmatterBackgroundField=s||""},onAfterUpdate:i}),_e({name:d.settings.items.frontmatterMigration.name,aliases:[d.settings.items.frontmatterMigration.button],visible:()=>n.settings.useFrontmatterMetadata,render:s=>{o=s.setName(d.settings.items.frontmatterMigration.name),s.addButton(l=>{r=l,l.setButtonText(d.settings.items.frontmatterMigration.button),l.setCta(),l.onClick(()=>{Q(async()=>{if(n.metadataService){l.setDisabled(!0),l.setButtonText(d.settings.items.frontmatterMigration.buttonWorking);try{let c=await n.metadataService.migrateFileMetadataToFrontmatter();a?.();let{iconsBefore:u,colorsBefore:p,migratedIcons:m,migratedColors:g,failures:f}=c;if(u===0&&p===0)de(d.settings.items.frontmatterMigration.noticeNone);else if(m===0&&g===0)de(d.settings.items.frontmatterMigration.noticeNone);else{let h=d.settings.items.frontmatterMigration.noticeDone.replace("{migratedIcons}",m.toString()).replace("{icons}",u.toString()).replace("{migratedColors}",g.toString()).replace("{colors}",p.toString());f>0&&(h+=` ${d.settings.items.frontmatterMigration.noticeFailures.replace("{failures}",f.toString())}`),de(h,{variant:"success"})}}catch(c){console.error("Failed to migrate icon/color metadata to frontmatter",c),de(d.settings.items.frontmatterMigration.noticeError,{timeout:Lt.NOTICE_ERROR,variant:"warning"})}finally{l.setButtonText(d.settings.items.frontmatterMigration.button),l.setDisabled(!1),i()}}})})}),a?.()}}),py({context:t,name:d.settings.items.frontmatterNameField.name,desc:d.settings.items.frontmatterNameField.desc,placeholder:d.settings.items.frontmatterNameField.placeholder,visible:()=>n.settings.useFrontmatterMetadata,getValue:()=>Bc(n.settings.frontmatterNameField),setValue:s=>{n.settings.frontmatterNameField=Bc(s)},onAfterUpdate:()=>t.requestStatisticsRefresh()}),py({context:t,name:d.settings.items.frontmatterCreatedField.name,desc:d.settings.items.frontmatterCreatedField.desc,placeholder:d.settings.items.frontmatterCreatedField.placeholder,visible:()=>n.settings.useFrontmatterMetadata,getValue:()=>n.settings.frontmatterCreatedField,setValue:s=>{n.settings.frontmatterCreatedField=s},onAfterUpdate:()=>t.requestStatisticsRefresh()}),py({context:t,name:d.settings.items.frontmatterModifiedField.name,desc:d.settings.items.frontmatterModifiedField.desc,placeholder:d.settings.items.frontmatterModifiedField.placeholder,visible:()=>n.settings.useFrontmatterMetadata,getValue:()=>n.settings.frontmatterModifiedField,setValue:s=>{n.settings.frontmatterModifiedField=s},onAfterUpdate:()=>t.requestStatisticsRefresh()}),_e({name:d.settings.items.frontmatterDateFormat.name,desc:d.settings.items.frontmatterDateFormat.desc,aliases:[d.settings.items.frontmatterDateFormat.momentLinkText,d.settings.items.frontmatterDateFormat.helpTooltip],visible:()=>n.settings.useFrontmatterMetadata,render:s=>{t.configureDebouncedTextSetting(s,d.settings.items.frontmatterDateFormat.name,Qc({text:d.settings.items.frontmatterDateFormat.desc,link:{text:d.settings.items.frontmatterDateFormat.momentLinkText,href:Wl}}),DC,()=>n.settings.frontmatterDateFormat,l=>{n.settings.frontmatterDateFormat=l},void 0,()=>t.requestStatisticsRefresh()),s.addExtraButton(l=>l.setIcon("lucide-help-circle").setTooltip(d.settings.items.frontmatterDateFormat.helpTooltip).onClick(()=>{de(d.settings.items.frontmatterDateFormat.help,{timeout:Lt.NOTICE_HELP})})),s.controlEl.addClass("nn-setting-wide-input")}}),_e({name:d.settings.items.metadataInfo.successfullyParsed,searchable:!1,visible:()=>n.settings.useFrontmatterMetadata,render:s=>{s.setName("").setDesc(""),s.settingEl.addClass("nn-setting-info-container"),s.descEl.empty(),s.addButton(l=>{t.registerMetadataInfoElement(s.descEl,l)})}})])]}function py(t){return _e({name:t.name,desc:t.desc,aliases:[t.placeholder],visible:t.visible,render:e=>{t.context.configureDebouncedTextSetting(e,t.name,t.desc,t.placeholder,t.getValue,t.setValue,void 0,t.onAfterUpdate),e.controlEl.addClass("nn-setting-wide-input")}})}var sG,dG=U(()=>{sG=require("obsidian");Ee();jl();Fn();Zl();jr();ot();ns();As();Em();Ca()});var Bs,Mh=U(()=>{Bs={"bootstrap-icons":{id:"bootstrap-icons",name:"Bootstrap Icons",manifestUrl:"https://raw.githubusercontent.com/johansan/notebook-navigator/main/icon-assets/bootstrap-icons/latest.json",fontFamily:"NotebookNavigatorBootstrapIcons",catalogUrl:"https://icons.getbootstrap.com/"},"fontawesome-solid":{id:"fontawesome-solid",name:"Font Awesome",manifestUrl:"https://raw.githubusercontent.com/johansan/notebook-navigator/main/icon-assets/fontawesome/latest.json",fontFamily:"NotebookNavigatorFontAwesomeSolid",catalogUrl:"https://fontawesome.com/"},"material-icons":{id:"material-icons",name:"Material Icons",manifestUrl:"https://raw.githubusercontent.com/johansan/notebook-navigator/main/icon-assets/material-icons/latest.json",fontFamily:"NotebookNavigatorMaterialIcons",catalogUrl:"https://fonts.google.com/icons"},phosphor:{id:"phosphor",name:"Phosphor Icons",manifestUrl:"https://raw.githubusercontent.com/johansan/notebook-navigator/main/icon-assets/phosphor/latest.json",fontFamily:"NotebookNavigatorPhosphorIcons",catalogUrl:"https://phosphoricons.com/"},"rpg-awesome":{id:"rpg-awesome",name:"RPG Awesome",manifestUrl:"https://raw.githubusercontent.com/johansan/notebook-navigator/main/icon-assets/rpg-awesome/latest.json",fontFamily:"NotebookNavigatorRpgAwesome",catalogUrl:"https://nagoshiashumari.github.io/Rpg-Awesome/"},"simple-icons":{id:"simple-icons",name:"Simple Icons",manifestUrl:"https://raw.githubusercontent.com/johansan/notebook-navigator/main/icon-assets/simple-icons/latest.json",fontFamily:"NotebookNavigatorSimpleIcons",catalogUrl:"https://simpleicons.org/"}}});function cG(t){return[Pt(void 0,[...Object.values(Bs).map(e=>_e({name:e.name,desc:e.catalogUrl,aliases:[d.settings.items.externalIcons.downloadButton,d.settings.items.externalIcons.removeButton,e.catalogUrl],render:n=>Kce(n,t,e)})),_e({name:d.settings.items.externalIcons.infoNote,searchable:!1,render:e=>{e.setName("").setDesc(""),e.settingEl.addClass("nn-setting-info-container"),e.descEl.empty(),e.descEl.createDiv().append(ZN({text:d.settings.items.externalIcons.infoNote,link:{text:Jf,href:Jf}}))}})])]}function Kce(t,e,n){let{plugin:r}=e,o=()=>{t.clear();let a=r.isExternalIconProviderInstalled(n.id),i=r.isExternalIconProviderDownloading(n.id),s=r.getExternalIconProviderVersion(n.id),l=a?d.settings.items.externalIcons.statusInstalled.replace("{version}",s||d.settings.items.externalIcons.versionUnknown):d.settings.items.externalIcons.statusNotInstalled;t.setName(n.name).setDesc("");let c=t.descEl;c.empty();let u=c.createDiv(),p=n.catalogUrl,m=u.createEl("a",{text:p,href:p});if(m.setAttr("rel","noopener noreferrer"),m.setAttr("target","_blank"),c.createDiv({text:l}),a){t.addButton(g=>{g.setButtonText(d.settings.items.externalIcons.removeButton),g.setDisabled(i),g.onClick(()=>{Q(async()=>{g.setDisabled(!0);try{await r.removeExternalIconProvider(n.id),o()}catch(f){console.error("Failed to remove icon provider",f),de(d.settings.items.externalIcons.removeFailed.replace("{name}",n.name),{variant:"warning"}),g.setDisabled(!1)}})})});return}t.addButton(g=>{g.setButtonText(i?d.settings.items.externalIcons.downloadingLabel:d.settings.items.externalIcons.downloadButton),g.setDisabled(i),g.onClick(()=>{Q(async()=>{g.setDisabled(!0);try{await r.downloadExternalIconProvider(n.id),o()}catch(f){console.error("Failed to download icon provider",f),de(d.settings.items.externalIcons.downloadFailed.replace("{name}",n.name),{variant:"warning"}),g.setDisabled(!1)}})})})};o()}var uG=U(()=>{Ee();Mh();jl();ot();Fn();Ca();Em()});var pG,mG=U(()=>{pG={"bootstrap-icons":{"0Circle":"0-circle","0CircleFill":"0-circle-fill","0Square":"0-square","0SquareFill":"0-square-fill","1Circle":"1-circle","1CircleFill":"1-circle-fill","1Square":"1-square","1SquareFill":"1-square-fill","2Circle":"2-circle","2CircleFill":"2-circle-fill","2Square":"2-square","2SquareFill":"2-square-fill","3Circle":"3-circle","3CircleFill":"3-circle-fill","3Square":"3-square","3SquareFill":"3-square-fill","4Circle":"4-circle","4CircleFill":"4-circle-fill","4Square":"4-square","4SquareFill":"4-square-fill","5Circle":"5-circle","5CircleFill":"5-circle-fill","5Square":"5-square","5SquareFill":"5-square-fill","6Circle":"6-circle","6CircleFill":"6-circle-fill","6Square":"6-square","6SquareFill":"6-square-fill","7Circle":"7-circle","7CircleFill":"7-circle-fill","7Square":"7-square","7SquareFill":"7-square-fill","8Circle":"8-circle","8CircleFill":"8-circle-fill","8Square":"8-square","8SquareFill":"8-square-fill","9Circle":"9-circle","9CircleFill":"9-circle-fill","9Square":"9-square","9SquareFill":"9-square-fill",Arrow90degDown:"arrow-90deg-down",Arrow90degLeft:"arrow-90deg-left",Arrow90degRight:"arrow-90deg-right",Arrow90degUp:"arrow-90deg-up",Backpack2Fill:"backpack2-fill",Backpack3Fill:"backpack3-fill",Backpack4Fill:"backpack4-fill",Badge3d:"badge-3d",Badge3dFill:"badge-3d-fill",Badge4k:"badge-4k",Badge4kFill:"badge-4k-fill",Badge8k:"badge-8k",Badge8kFill:"badge-8k-fill",Basket2Fill:"basket2-fill",Basket3Fill:"basket3-fill",Box2Fill:"box2-fill",Box2Heart:"box2-heart",Box2HeartFill:"box2-heart-fill",Cake2Fill:"cake2-fill",Calendar2Check:"calendar2-check",Calendar2CheckFill:"calendar2-check-fill",Calendar2Date:"calendar2-date",Calendar2DateFill:"calendar2-date-fill",Calendar2Day:"calendar2-day",Calendar2DayFill:"calendar2-day-fill",Calendar2Event:"calendar2-event",Calendar2EventFill:"calendar2-event-fill",Calendar2Fill:"calendar2-fill",Calendar2Heart:"calendar2-heart",Calendar2HeartFill:"calendar2-heart-fill",Calendar2Minus:"calendar2-minus",Calendar2MinusFill:"calendar2-minus-fill",Calendar2Month:"calendar2-month",Calendar2MonthFill:"calendar2-month-fill",Calendar2Plus:"calendar2-plus",Calendar2PlusFill:"calendar2-plus-fill",Calendar2Range:"calendar2-range",Calendar2RangeFill:"calendar2-range-fill",Calendar2Week:"calendar2-week",Calendar2WeekFill:"calendar2-week-fill",Calendar2X:"calendar2-x",Calendar2XFill:"calendar2-x-fill",Calendar3Event:"calendar3-event",Calendar3EventFill:"calendar3-event-fill",Calendar3Fill:"calendar3-fill",Calendar3Range:"calendar3-range",Calendar3RangeFill:"calendar3-range-fill",Calendar3Week:"calendar3-week",Calendar3WeekFill:"calendar3-week-fill",Calendar4Event:"calendar4-event",Calendar4Range:"calendar4-range",Calendar4Week:"calendar4-week",Check2All:"check2-all",Check2Circle:"check2-circle",Check2Square:"check2-square",Clipboard2Check:"clipboard2-check",Clipboard2CheckFill:"clipboard2-check-fill",Clipboard2Data:"clipboard2-data",Clipboard2DataFill:"clipboard2-data-fill",Clipboard2Fill:"clipboard2-fill",Clipboard2Heart:"clipboard2-heart",Clipboard2HeartFill:"clipboard2-heart-fill",Clipboard2Minus:"clipboard2-minus",Clipboard2MinusFill:"clipboard2-minus-fill",Clipboard2Plus:"clipboard2-plus",Clipboard2PlusFill:"clipboard2-plus-fill",Clipboard2Pulse:"clipboard2-pulse",Clipboard2PulseFill:"clipboard2-pulse-fill",Clipboard2X:"clipboard2-x",Clipboard2XFill:"clipboard2-x-fill",CloudFog2Fill:"cloud-fog2-fill",CloudHaze2Fill:"cloud-haze2-fill",CreditCard2Back:"credit-card-2-back",CreditCard2BackFill:"credit-card-2-back-fill",CreditCard2Front:"credit-card-2-front",CreditCard2FrontFill:"credit-card-2-front-fill",Diagram2:"diagram-2",Diagram2Fill:"diagram-2-fill",Diagram3:"diagram-3",Diagram3Fill:"diagram-3-fill",Dice1:"dice-1",Dice1Fill:"dice-1-fill",Dice2:"dice-2",Dice2Fill:"dice-2-fill",Dice3:"dice-3",Dice3Fill:"dice-3-fill",Dice4:"dice-4",Dice4Fill:"dice-4-fill",Dice5:"dice-5",Dice5Fill:"dice-5-fill",Dice6:"dice-6",Dice6Fill:"dice-6-fill",Easel2Fill:"easel2-fill",Easel3Fill:"easel3-fill",FileEarmarkLock2Fill:"file-earmark-lock2-fill",FileLock2Fill:"file-lock2-fill",Floppy2Fill:"floppy2-fill",Folder2Open:"folder2-open",Grid1x2:"grid-1x2",Grid1x2Fill:"grid-1x2-fill",Grid3x2:"grid-3x2",Grid3x2Gap:"grid-3x2-gap",Grid3x2GapFill:"grid-3x2-gap-fill",Grid3x3:"grid-3x3",Grid3x3Gap:"grid-3x3-gap",Grid3x3GapFill:"grid-3x3-gap-fill",Link45deg:"link-45deg",Mailbox2Flag:"mailbox2-flag",Mouse2Fill:"mouse2-fill",Mouse3Fill:"mouse3-fill",Reception0:"reception-0",Reception1:"reception-1",Reception2:"reception-2",Reception3:"reception-3",Reception4:"reception-4",Record2Fill:"record2-fill",Repeat1:"repeat-1",Safe2Fill:"safe2-fill",Save2Fill:"save2-fill",Signpost2:"signpost-2",Signpost2Fill:"signpost-2-fill",Sliders2Vertical:"sliders2-vertical",Suitcase2Fill:"suitcase2-fill",Toggle2Off:"toggle2-off",Toggle2On:"toggle2-on",Trash2Fill:"trash2-fill",Trash3Fill:"trash3-fill",Unlock2Fill:"unlock2-fill",Wifi1:"wifi-1",Wifi2:"wifi-2"},"fontawesome-solid":{ArrowDown19:"arrow-down-1-9",ArrowDown91:"arrow-down-9-1",ArrowDownAZ:"arrow-down-a-z",ArrowDownZA:"arrow-down-z-a",ArrowUp19:"arrow-up-1-9",ArrowUp91:"arrow-up-9-1",ArrowUpAZ:"arrow-up-a-z",ArrowUpZA:"arrow-up-z-a",MoneyBill1:"money-bill-1",MoneyBill1Wave:"money-bill-1-wave",Stopwatch20:"stopwatch-20"},"material-icons":{"18UpRating":"18_up_rating","6FtApart":"6_ft_apart",Battery0Bar:"battery_0_bar",Battery1Bar:"battery_1_bar",Battery2Bar:"battery_2_bar",Battery3Bar:"battery_3_bar",Battery4Bar:"battery_4_bar",Battery5Bar:"battery_5_bar",Battery6Bar:"battery_6_bar",Brightness1:"brightness_1",Brightness2:"brightness_2",Brightness3:"brightness_3",Brightness4:"brightness_4",Brightness5:"brightness_5",Brightness6:"brightness_6",Brightness7:"brightness_7",Crop169:"crop_16_9",Crop32:"crop_3_2",Crop54:"crop_5_4",Crop75:"crop_7_5",Diversity1:"diversity_1",Diversity2:"diversity_2",Diversity3:"diversity_3",ExposureMinus1:"exposure_minus_1",ExposureMinus2:"exposure_minus_2",ExposureNeg1:"exposure_neg_1",ExposureNeg2:"exposure_neg_2",ExposurePlus1:"exposure_plus_1",ExposurePlus2:"exposure_plus_2",Face2:"face_2",Face3:"face_3",Face4:"face_4",Face5:"face_5",Face6:"face_6",Filter1:"filter_1",Filter2:"filter_2",Filter3:"filter_3",Filter4:"filter_4",Filter5:"filter_5",Filter6:"filter_6",Filter7:"filter_7",Filter8:"filter_8",Filter9:"filter_9",Filter9Plus:"filter_9_plus",Forward10:"forward_10",Forward30:"forward_30",Forward5:"forward_5",Grid3x3:"grid_3x3",Grid4x4:"grid_4x4",Groups2:"groups_2",Groups3:"groups_3",Inventory2:"inventory_2",Looks3:"looks_3",Looks4:"looks_4",Looks5:"looks_5",Looks6:"looks_6",Man2:"man_2",Man3:"man_3",Man4:"man_4",NetworkWifi1Bar:"network_wifi_1_bar",NetworkWifi2Bar:"network_wifi_2_bar",NetworkWifi3Bar:"network_wifi_3_bar",Person2:"person_2",Person3:"person_3",Person4:"person_4",PersonAddAlt1:"person_add_alt_1",PersonRemoveAlt1:"person_remove_alt_1",QrCode2:"qr_code_2",Replay10:"replay_10",Replay30:"replay_30",Replay5:"replay_5",Rotate90DegreesCcw:"rotate_90_degrees_ccw",Rotate90DegreesCw:"rotate_90_degrees_cw",Shop2:"shop_2",SignalCellular0Bar:"signal_cellular_0_bar",SignalCellular4Bar:"signal_cellular_4_bar",SignalCellularAlt1Bar:"signal_cellular_alt_1_bar",SignalCellularAlt2Bar:"signal_cellular_alt_2_bar",SignalCellularConnectedNoInternet0Bar:"signal_cellular_connected_no_internet_0_bar",SignalCellularConnectedNoInternet4Bar:"signal_cellular_connected_no_internet_4_bar",SignalWifi0Bar:"signal_wifi_0_bar",SignalWifi4Bar:"signal_wifi_4_bar",SignalWifi4BarLock:"signal_wifi_4_bar_lock",SignalWifiConnectedNoInternet4:"signal_wifi_connected_no_internet_4",SignalWifiStatusbar4Bar:"signal_wifi_statusbar_4_bar",SignalWifiStatusbarConnectedNoInternet4:"signal_wifi_statusbar_connected_no_internet_4",StickyNote2:"sticky_note_2",Timer10:"timer_10",Timer10Select:"timer_10_select",Timer3:"timer_3",Timer3Select:"timer_3_select",Wifi1Bar:"wifi_1_bar",Wifi2Bar:"wifi_2_bar",WifiCalling3:"wifi_calling_3",Woman2:"woman_2"},phosphor:{},"rpg-awesome":{Battery0:"battery-0",Battery100:"battery-100",Battery25:"battery-25",Battery50:"battery-50",Battery75:"battery-75"},"simple-icons":{}}});var hG,gG,fG,vG=U(()=>{hG=String.raw,gG=hG`\p{Emoji}(?:\p{EMod}|[\u{E0020}-\u{E007E}]+\u{E007F}|\uFE0F?\u20E3?)`,fG=()=>new RegExp(hG`\p{RI}{2}|(?![#*\d](?!\uFE0F?\u20E3))${gG}(?:\u200D${gG})*`,"gu")});function Gce(t){if(!t||t.length===0)return!1;let e=t.trim();return e.length===0?!1:Wce.test(e)}function Rh(t){if(!t)return null;let e=t.trim();if(e.length===0)return null;if(Gce(e))return e;let n=e.match(jce);return n&&n[0].length>0?n[0]:null}var yG,bG,SG,Wce,jce,YO=U(()=>{vG();yG=fG(),bG=yG.source,SG=yG.flags.replace(/g/g,""),Wce=new RegExp(`^(?:${bG})+$`,SG),jce=new RegExp(`^(?:${bG})`,SG)});function XO(t,e){let n=t;if(n.length===0||e.length===0)return n;let r=e.map(a=>a.toLowerCase()),o=!0;for(;o&&n.length>0;){o=!1;for(let a=0;a<e.length;a++){let i=e[a];if(!i)continue;let s=r[a];if(n.toLowerCase().startsWith(s)){n=n.substring(i.length),o=!0;break}}}return n}function nI(t,e){let n=$O.get(e);if(!n)return t;let r=XO(t,n.redundantPrefixes??[]);return n.canonicalDelimiter?n.canonicalDelimiter==="snake"?r.replace(/-/g,"_"):n.canonicalDelimiter==="kebab"?r.replace(/_/g,"-"):r:r}function QO(t){return t.split(/[ -]|[ _]/g).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join("")}function ZO(t){return t?t.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").replace(/_/g,"-").toLowerCase():""}var $O,wG=U(()=>{$O=new Map([["lucide",{redundantPrefixes:["lucide-"]}],["phosphor",{redundantPrefixes:["ph-"]}],["rpg-awesome",{redundantPrefixes:["ra-"]}],["material-icons",{redundantPrefixes:[],canonicalDelimiter:"snake"}]])});function Dh(t){if(t.includes("-")){let r=t.split("-");if(r.length===0)return"";let o=r[0].charAt(0).toUpperCase();for(let a=1;a<r.length;a++){let i=r[a];o+=i.charAt(0).toLowerCase()}return o}if(t.length===0)return"";let e=t.charAt(0).toUpperCase(),n=t.charAt(1)?t.charAt(1).toLowerCase():"";return`${e}${n}`}function tL(t,e){return nI(t,e)}function $ce(t){let e=t.indexOf(":");if(e===-1)return rI(t)?t:null;let n=t.substring(0,e),r=t.substring(e+1).trim();if(!r)return null;if(n===Ah)return rI(r)?r:null;let o=IG.get(n);return o?`${o}-${r}`:null}function kG(t,e){let n=t.indexOf(e);if(n<=0||n>=t.length-1)return null;let r=t.substring(0,n).toLowerCase(),o=t.substring(n+1).trim();if(!r||!o||o.includes(":"))return null;let a=NG.get(r);if(!a)return null;let i=tL(o,a);return i?a===Ah?rI(i)?i:null:`${a}:${i}`:null}function Xce(t){return kG(t,"-")??kG(t,":")}function xG(){return my!==void 0?my:typeof eL.getIconIds!="function"?(my=null,my):(my=new Set((0,eL.getIconIds)().map(t=>qn(t)).filter(t=>t.length>0)),my)}function rI(t){let e=t.trim();return!e||e.startsWith("lucide-")?!1:xG()?.has(e)??!1}function Qce(t){let e=t.trim();if(!e)return null;let n=Rh(e);if(n&&n===e)return`emoji:${n}`;let r=due(e);if(r)return`${IT}:${r}`;if(!e.includes(":")&&e.toLowerCase().endsWith(oI))return`${IT}:${e}`;if(!e.includes(":")&&rI(e))return e;let o=Xce(e);return o||(e.includes(":"),null)}function EG(t){let e=Qce(t);return e||MG(t)}function Zce(t){let e=FG.get(t);if(e)return e;let n=($O.get(t)?.redundantPrefixes??[]).map(r=>QO(r)).filter(r=>r.length>0);return FG.set(t,n),n}function Jce(t,e){return XO(t,Zce(e))}function eue(t,e){let n=new Map;return t.forEach(r=>{let o=QO(r);nI(ZO(o),e)!==r&&n.set(o,r)}),n}function tue(t){let e=JO.get(t);if(e)return e;if(t===Ah){let o=xG();if(!o)return null;let a=eue([...o],t);return JO.set(t,a),a}let n=pG[t];if(!n)return null;let r=new Map(Object.entries(n));return JO.set(t,r),r}function nue(t,e){let n=Jce(t,e),r=tue(e),o=r?.get(t)??r?.get(n)??null;return o||null}function rue(t){if(t.length<2)return 0;let e=t.substring(1).search(/[A-Z0-9]/);return e===-1?0:e+1}function MG(t){let e=t.trim();if(e.length===0)return null;let n=rue(e);if(n<=0||n>=e.length)return null;let r=e.substring(0,n),o=e.substring(n),a=CG.get(r);if(!a)return null;let i=nue(o,a.providerId);if(i)return a.isDefaultProvider?i:`${a.providerId}:${i}`;let s=ZO(o);if(!s)return null;let l=nI(s,a.providerId);return l?a.isDefaultProvider?l:`${a.providerId}:${l}`:null}function qn(t){let e=t.trim();if(!e)return e;let n=e.indexOf(":");if(n===-1){let i=tL(e,Ah);return i&&i.length>0?i:e}let r=e.substring(0,n),o=e.substring(n+1),a=tL(o,r);return!a||a.length===0||a===o?e:`${r}:${a}`}function Rm(t){let e=t.trim(),r=RG(e)??e;return Me(r.trim().replace(/^\./,""))}function Dm(t){if(!t||t.trim().length===0)return"";let e=t.trim(),n=RG(e);return n!==null?n.trim().length===0?"":Rs(n):/^\s|\s$/.test(t)?Rs(t):Me(t)}function aI(t,e,n){let r=n(t);if(!r)return null;let o=oue(e);return o?{key:r,iconId:o}:null}function oue(t){let e=t.trim();if(!e)return null;let n=Rh(e);if(n&&n===e)return n;if(!MG(e)&&!e.includes(":")&&/[A-Z]/.test(e)&&!/[-_]/.test(e))return null;let o=Zd(e);if(!o)return null;let a=oi(o);return a&&a.length>0?a:null}function xT(t,e){let n=De(void 0);return Object.entries(t).forEach(([r,o])=>{if(typeof o!="string")return;let a=aI(r,o,e);a&&(n[a.key]=a.iconId)}),n}function Oh(t){return Object.entries(t).filter(([n,r])=>!!n&&!!r).sort(([n],[r])=>n.localeCompare(r)).map(([n,r])=>`${aue(n)?`'${iue(n)}'`:n}=${r}`).join(`
`)}function gy(t,e){let n=De(void 0),r=[],o=t.replace(/\r\n/g,`
`).split(`
`);for(let a=0;a<o.length;a++){let s=o[a].trim();if(!s||s.startsWith("#"))continue;let l=s.indexOf("="),c=s.indexOf(":"),m=l!==-1?l:c!==-1?c:-1;if(m===-1){r.push(s);continue}let g=s.substring(0,m).trim(),f=s.substring(m+1).trim(),h=aI(g,f,e);if(!h){r.push(s);continue}n[h.key]=h.iconId}return{map:n,invalidLines:r}}function aue(t){return/\s/.test(t)||t.startsWith("#")}function iue(t){return t.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}function RG(t){return t.length<2||!t.startsWith("'")||!t.endsWith("'")?null:sue(t.slice(1,-1))}function sue(t){let e="";for(let n=0;n<t.length;n++){let r=t[n];if(r==="\\"&&n+1<t.length){let o=t[n+1];if(o==="'"||o==="\\"){e+=o,n+=1;continue}}e+=r}return e}function oi(t){let e=qn(t);if(!e)return null;let n=e.trim();if(!n)return null;let r=n.indexOf(":");if(r!==-1){let l=n.substring(0,r),c=n.substring(r+1).trim();if(l===IT&&c.toLowerCase().endsWith(oI))return c}let o="emoji:",a=n.startsWith(o)?n.substring(o.length).trim():n,i=Rh(a);if(i&&a===i)return i;let s=$ce(n);return s||null}function Zd(t){return EG(t)}function lue(t){let e=t.trim();if(!e)return null;let n=e.indexOf(":");if(n===-1)return null;let r=e.substring(0,n).trim().toLowerCase(),o=e.substring(n+1).trim();if(!r||!o)return null;if(r==="emoji"){let a=Rh(o);return a&&a===o?`emoji:${a}`:null}if(r===Ah){let a=qn(o);return a&&a.length>0?a:null}return r===IT&&!o.includes(":")&&o.toLowerCase().endsWith(oI)?`${IT}:${o}`:null}function due(t){let e=t.trim();if(!e.startsWith("[[")||!e.endsWith("]]"))return null;let n=e.slice(2,-2).trim();if(!n||n.includes(`
`)||n.includes("\r"))return null;let r=n.indexOf("|"),o=(r===-1?n:n.slice(0,r)).trim();return!o||o.includes("#")||o.includes("^")?null:o.toLowerCase().endsWith(oI)?o:null}function nL(t){return EG(t)}function Lh(t){let e=lue(t);return e||nL(t)}var eL,Ah,IT,oI,qce,PG,CG,TG,NG,IG,Yce,my,JO,FG,Si=U(()=>{eL=require("obsidian");mG();YO();wG();Ot();Ah="lucide",IT="vault",oI=".svg",qce=[{alias:"li",providerId:Ah},{alias:"ph",providerId:"phosphor"},{alias:"bi",providerId:"bootstrap-icons"},{alias:"fas",providerId:"fontawesome-solid"},{alias:"mi",providerId:"material-icons"},{alias:"si",providerId:"simple-icons"},{alias:"ra",providerId:"rpg-awesome"}],PG=[{providerId:"fontawesome-solid",packName:"font-awesome-solid",prefix:Dh("font-awesome-solid")},{providerId:"bootstrap-icons",packName:"bootstrap-icons",prefix:Dh("bootstrap-icons")},{providerId:"material-icons",packName:"material-icons",prefix:Dh("material-icons")},{providerId:"phosphor",packName:"phosphor",prefix:Dh("phosphor")},{providerId:"rpg-awesome",packName:"rpg-awesome",prefix:Dh("rpg-awesome")},{providerId:"simple-icons",packName:"simple-icons",prefix:Dh("simple-icons")},{providerId:Ah,packName:"lucide-icons",prefix:Dh("lucide-icons"),isDefaultProvider:!0}];CG=new Map,TG=new Map,NG=new Map,IG=new Map;PG.forEach(t=>{TG.has(t.providerId)||TG.set(t.providerId,t)});Yce=[...PG].sort((t,e)=>e.prefix.length-t.prefix.length);Yce.forEach(t=>{CG.set(t.prefix,t)});qce.forEach(({alias:t,providerId:e})=>{NG.set(t,e),IG.set(e,t)});JO=new Map,FG=new Map});function id(t){return Math.trunc(t).toLocaleString()}function AG(t,e){let n=e>0?t.slice(e):t;DG.lastIndex=0;let r=0;for(;DG.exec(n);)r+=1;return r}function OG(t){if(rL.lastIndex=0,!rL.exec(t))return 0;iI.lastIndex=rL.lastIndex;let e=iI.exec(t);for(;e&&t.charAt(e.index-1)!==`
`;)e=iI.exec(t);return e?iI.lastIndex:0}function mue(t){return t===" "||t===`
`||t==="\r"||t==="	"||t==="\f"||t==="\v"||pue.test(t)}function LG(t,e){let n=e>0?t.slice(e):t,r=n.length,o=0;for(let a=0;a<n.length;a+=1){let i=n.charAt(a);mue(i)||(o+=1)}return{withSpaces:r,withoutSpaces:o}}function zG(t){if(typeof t=="number")return Number.isSafeInteger(t)&&t>0?t:null;if(typeof t!="string")return null;let e=t.replace(/,/g,"").trim();if(!/^\d+$/.test(e))return null;let n=Number(e);return Number.isSafeInteger(n)&&n>0?n:null}function ET(t,e){let n=Me(e);if(!t||!n)return null;for(let r of t){if(Me(r.fieldKey)!==n)continue;let o=zG(r.value);if(o!==null)return o}return null}function sI(t,e,n){let r=n.trim();if(e.extension!=="md"||!r)return null;let o=t.metadataCache?.getFileCache(e)?.frontmatter;if(!mt(o))return null;let a=Yo(o,r);return a?zG(o[a]):null}function gue(t){let{wordCount:e,targetWordCount:n=null,showTargetPercentage:r}=t;if(typeof e!="number"||!Number.isFinite(e)||e<=0)return null;let o=Math.trunc(e),a=id(o);if(n===null)return a;let i=Math.round(o/n*100),s=Number.isFinite(i)?i:0;if(r)return`${s}%`;let l=id(n);return`${a} / ${l}`}function BG(t){let e=ET(t.properties,t.targetProperty);return gue({wordCount:t.wordCount,targetWordCount:e,showTargetPercentage:t.showTargetPercentage})}var cue,uue,DG,pue,rL,iI,Am=U(()=>{Ot();Zr();cue="ༀཀ-ཇཉ-ཬྈ-ྌぁ-ゖゝ-ゟァ-ヺー-ヿ一-鿕가-힣ꥠ-ꥼힰ-ퟆ",uue="A-Za-z\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AD\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC",DG=new RegExp(`(?:[0-9]+(?:(?:,|\\.)[0-9]+)*|[\\-'’${uue}஀-௿가-힣ꥠ-ꥼힰ-ퟆ])+|[${cue}]`,"g"),pue=/\s/u,rL=/^---(\r?\n)/g,iI=/---(\r?\n|$)/g});function sp(t){return t.trim()}function hue(t,e){let n=t.failures[0];return n?t.failed===1?`${n.path}: ${n.message}`:e.multipleFailureMessage(t.failed,n.path,n.message):e.unknownError}function zh(t){return hue(t,{unknownError:d.common.unknownError,multipleFailureMessage:(e,n,r)=>d.listPane.manualSortMultipleWriteFailure.replace("{count}",e.toString()).replace("{path}",n).replace("{message}",r)})}function Om(t){let e=sp(t);return e.length>0&&!e.includes(",")}function sd(t){let e=typeof t.manualSortGroupHeaderProperty=="string"?t.manualSortGroupHeaderProperty.trim():"";if(!e||e.includes(","))return null;let n=sp(t.manualSortPropertyKey);return n&&Me(e)===Me(n)?null:e}function oL(t){return{...t,pinnedNotes:{}}}function ld(t){let e=[],n=[];return t.forEach(r=>{if(r.extension==="md"){e.push(r);return}n.push(r)}),{markdown:e,nonMarkdown:n}}function UG(t){let{markdown:e,nonMarkdown:n}=ld(t);return[...e,...n]}function lI(t,e){let{markdown:n,nonMarkdown:r}=ld(t);if(e.length===0||n.length===0)return[...n,...r];let o=new Map(e.map((i,s)=>[i,s]));return[...[...n].sort((i,s)=>{let l=o.get(i.path),c=o.get(s.path);return l!==void 0&&c!==void 0?l-c:l!==void 0?-1:c!==void 0?1:0}),...r]}function fue(t,e,n){let r=[...t],[o]=r.splice(e,1);return r.splice(n,0,o),r}function Lm(t,e,n){return n.has(e)?new Set(t.filter(r=>n.has(r.path)).map(r=>r.path)):new Set}function KG(t,e,n,r){let{markdown:o,nonMarkdown:a}=ld(t),i=o.findIndex(g=>g.path===e),s=o.findIndex(g=>g.path===n);if(i===-1||s===-1||i===s)return null;let l=Lm(o,e,r);if(l.size<=1)return[...fue(o,i,s),...a];if(l.has(n))return null;let c=o.filter(g=>l.has(g.path)),u=o.filter(g=>!l.has(g.path)),p=u.findIndex(g=>g.path===n);if(p===-1)return null;let m=s>i?p+1:p;return[...u.slice(0,m),...c,...u.slice(m),...a]}function dI(t,e,n,r){if(!e)return null;let{markdown:o,nonMarkdown:a}=ld(t);if(!o.find(h=>h.path===e))return null;let s=n.has(e)?new Set(o.filter(h=>n.has(h.path)).map(h=>h.path)):new Set([e]);if(s.size===0)return null;let l=o.filter(h=>s.has(h.path)),c=o.filter(h=>!s.has(h.path));if(l.length===0||c.length===0)return null;let u=o.findIndex(h=>s.has(h.path)),p=o.slice(0,u).filter(h=>!s.has(h.path)).length,m=r==="up"?p-1:p+1;if(m<0||m>c.length)return null;let g=[...c.slice(0,m),...l,...c.slice(m)],f=r==="up"?l[0]:l[l.length-1];return{files:[...g,...a],scrollPath:f.path}}function vue(t){return ld(t).markdown.map((e,n)=>({path:e.path,value:(n+1)*fy}))}function yue(t){return t.path==="/"?"":`${t.path}/`}function _G(t,e,n,r){if(t instanceof MT.TFile)return n.has(t.path)?t.path:null;if(!(t instanceof MT.TFolder))return null;let o=yue(t);if(r==="after")return e.find(a=>a.path.startsWith(o))?.path??null;for(let a=e.length-1;a>=0;a-=1){let i=e[a];if(i.path.startsWith(o))return i.path}return null}function bue(t,e){let n=new Set(e.map(i=>i.path)),r=null,o=null,a=t;for(;a.parent instanceof MT.TFolder&&a.parent.path!==a.path;){let i=a.parent.children,s=i.findIndex(l=>l.path===a.path);if(s!==-1){if(!r)for(let l=s-1;l>=0&&(r=_G(i[l],e,n,"before"),!r);l-=1);if(!o)for(let l=s+1;l<i.length&&(o=_G(i[l],e,n,"after"),!o);l+=1);}if(r&&o)break;a=a.parent}return{beforePath:r,afterPath:o}}function aL(t,e,n){if(!t)return;let{beforePath:r,afterPath:o}=bue(t,e),a=new Map(n.map((l,c)=>[l.path,c])),i=r?a.get(r)??-1:-1,s=o?a.get(o)??-1:-1;if(i!==-1)return i+1;if(s!==-1)return s}function cI(t,e,n){let r=new Set(e.map(s=>s.path));if(r.size===0)return[...t];let o=t.findIndex(s=>r.has(s.path));if(o===-1)return[...t];let a=o;for(let s=t.length-1;s>o;s--)if(r.has(t[s].path)){a=s;break}let i=t.slice(o,a+1).filter(s=>!r.has(s.path));return[...t.slice(0,o),...n,...i,...t.slice(a+1)]}function Sue(t,e,n){let r=new Set(n.map(s=>s.path)),o=Math.max(0,Math.min(e,t.length)),a=t.slice(0,o).filter(s=>!r.has(s.path)).length,i=t.filter(s=>!r.has(s.path));return[...i.slice(0,a),...n,...i.slice(a)]}function uI(t){if(typeof t=="number")return Number.isSafeInteger(t)&&t>0?t:null;if(typeof t!="string")return null;let e=t.trim();if(!/^\d+$/.test(e))return null;let n=Number(e);return Number.isSafeInteger(n)&&n>0?n:null}function pI(t){if(typeof t=="number")return Number.isSafeInteger(t)&&t>0?t:null;if(typeof t!="string")return null;let e=t.replace(/,/g,"").trim();if(!/^\d+$/.test(e))return null;let n=Number(e);return Number.isSafeInteger(n)&&n>0?n:null}function WG(t,e){return uI(t)===e}function jG(t,e,n){if(e.extension!=="md")return null;let r=RT(t,e,n);return r===null?null:r.toString()}function mI(t,e,n){let r=t.metadataCache?.getFileCache(e)?.frontmatter;if(!mt(r))return{hasProperty:!1,rank:null};let o=Yo(r,n);return o===null?{hasProperty:!1,rank:null}:{hasProperty:!0,rank:uI(r[o])}}function iL(t,e,n){return mI(t,e,n).hasProperty}function RT(t,e,n){return mI(t,e,n).rank}function wue(t){if(typeof t!="string"){if(!mt(t))return null;let n=typeof t.title=="string"?t.title.trim():"";return n?{title:n,showWordCount:t.show_word_count===!0,targetWordCount:pI(t.target_word_count),iconId:qG(t.icon),color:YG(t.color)}:null}let e=t.trim();return e.length>0?{title:e,showWordCount:!1,targetWordCount:null,iconId:null,color:null}:null}function zm(t,e,n){if(e.extension!=="md")return null;let r=t.metadataCache?.getFileCache(e)?.frontmatter;if(!mt(r))return null;let o=Yo(r,n);return o?wue(r[o]):null}function lp(t){return t.showWordCount}function DT(t,e=t.targetWordCount){if(!lp(t))return null;let n=t.targetWordCount??e;return typeof n=="number"&&Number.isFinite(n)&&n>0?Math.trunc(n):null}function Bh(t,e=t.targetWordCount){return DT(t,e)!==null}function gI(t){return typeof t=="number"&&Number.isFinite(t)&&t>0?Math.trunc(t):0}function GG(t,e,n=t.targetWordCount){if(!lp(t))return t.title;let r=id(e),o=DT(t,n);return o!==null?`${t.title} (${r} / ${id(o)})`:`${t.title} (${r})`}function qG(t){if(typeof t!="string")return null;let e=t.trim();if(!e)return null;let n=Lh(e)??qn(e);return n.length>0?n:null}function YG(t){if(typeof t!="string")return null;let e=t.trim();return e.length>0?e:null}function $G(t,e,n,r){let o=t.metadataCache?.getFileCache(e)?.frontmatter;if(!mt(o))return!1;let a=Yo(o,n)??n;return WG(o[a],r)}function ds(t,e){return uI(t.get(e))}function XG(t,e){return ds(t,e.path)!==null}function Tue(t,e,n){if(n===null){let i=(e??0)+fy;return Number.isSafeInteger(i)?[{path:t.path,value:i}]:null}let r=e??0,o=n-r;return o<=1?null:[{path:t.path,value:r+Math.floor(o/2)}]}function HG(t,e){let n=-1;return t.forEach((r,o)=>{XG(e,r)&&(n=o)}),n===-1?{insertionIndex:t.length,lowerRank:null}:{insertionIndex:n+1,lowerRank:ds(e,t[n].path)}}function QG({files:t,planningFiles:e,planningInsertionIndex:n,insertedFile:r,placement:o,selectedPath:a,rankByPath:i}){if(r.extension!=="md"||o==="unsorted")return null;let s=t.filter(b=>b.path!==r.path),{markdown:l,nonMarkdown:c}=ld(s),u=null,p=null,m=null;if(o==="below-selected-note"){let b=a?ds(i,a):null,v=a?l.findIndex(y=>y.path===a):-1;if(b!==null&&v!==-1){u=v+1,p=b;for(let y=v+1;y<l.length&&(m=ds(i,l[y].path),m===null);y++);}else{let y=HG(l,i);u=y.insertionIndex,p=y.lowerRank}}else if(o==="top"){let b=l.findIndex(v=>XG(i,v));u=b===-1?0:b,m=b===-1?null:ds(i,l[b].path)}else{let b=HG(l,i);u=b.insertionIndex,p=b.lowerRank}let f=[...[...l.slice(0,u),r,...l.slice(u)],...c];if(e&&e!==t&&s.length>0)return hy(cI(e,s,f),new Set([r.path]),i);if(e&&e!==t&&s.length===0&&n!==void 0)return hy(Sue(e,n,f),new Set([r.path]),i);let h=Tue(r,p,m);return h?{files:[r],assignments:h,requiresCompaction:!1}:hy(f,new Set([r.path]),i)}function hI(t,e,n){for(let r=e-1;r>=0;r--)if(ds(n,t[r].path)!==null)return r;return-1}function sL(t,e,n){for(let r=e+1;r<t.length;r++)if(ds(n,t[r].path)!==null)return r;return-1}function kue(t,e,n){let r=t.length;if(r===0)return[];if(n===null){let s=e??0,l=s+r*fy;return Number.isSafeInteger(l)?t.map((c,u)=>({path:c.path,value:s+(u+1)*fy})):null}let o=e??0,a=n-o;if(a<=r)return null;let i=Math.floor(a/(r+1));return i<1?null:t.map((s,l)=>({path:s.path,value:o+(l+1)*i}))}function Fue(t,e,n,r){let o=n-e+1,a=hI(t,e,r),i=sL(t,n,r),s=a===-1?0:ds(r,t[a].path),l=i===-1?null:ds(r,t[i].path),u=(s??0)+o*fy;return Number.isSafeInteger(u)?l===null||l>u:!1}function Pue(t,e,n,r){let o=e,a=n;for(;!Fue(t,o,a,r);){let i=hI(t,o,r),s=sL(t,a,r);if(i===-1&&s===-1)return{startIndex:0,endIndex:t.length-1};if(i===-1){a=s;continue}if(s===-1){o=i;continue}o-i<=s-a?o=i:a=s}return{startIndex:o,endIndex:a}}function Cue(t,e,n,r){let o=hI(t,e,r),i=(o===-1?0:ds(r,t[o].path))??0;return t.slice(e,n+1).map((s,l)=>({path:s.path,value:i+(l+1)*fy}))}function VG(t,e,n,r){r.forEach(o=>{t.set(o.path,o),e.set(o.path,o.value),n.add(o.path)})}function hy(t,e,n){let r=ld(t).markdown,o=new Set(r.map(f=>f.path)),a=new Set(Array.from(e).filter(f=>o.has(f))),i=new Map,s=new Map;if(n.forEach((f,h)=>{let b=uI(f);b!==null&&o.has(h)&&(s.set(h,b),a.has(h)||i.set(h,b))}),a.size===0)return{files:[...t],assignments:[],requiresCompaction:!1};let l=new Set(a),c=-1;r.forEach((f,h)=>{(a.has(f.path)||ds(i,f.path)!==null)&&(c=h)});for(let f=0;f<=c;f++){let h=r[f]?.path;h&&ds(i,h)===null&&l.add(h)}let u=0;r.forEach(f=>{let h=ds(i,f.path);h!==null&&(h<=u&&l.add(f.path),u=h)});let p=new Map,m=new Set,g=!1;for(let f=0;f<r.length;f++){let h=r[f].path;if(!l.has(h)||m.has(h))continue;let b=f,v=f;for(;v+1<r.length&&l.has(r[v+1].path)&&!m.has(r[v+1].path);)v+=1;let y=hI(r,b,i),S=sL(r,v,i),w=y===-1?null:ds(i,r[y].path),k=S===-1?null:ds(i,r[S].path),F=kue(r.slice(b,v+1),w,k);if(F){VG(p,i,m,F),f=v;continue}g=!0;let P=Pue(r,b,v,i),T=Cue(r,P.startIndex,P.endIndex,i);VG(p,i,m,T),f=P.endIndex}return{files:[...t],assignments:Array.from(p.values()).filter(f=>s.get(f.path)!==f.value),requiresCompaction:g}}function ZG(t,e,n,r){let o=new Map(e.map(a=>[a.path,a]));return r.every(a=>{let i=o.get(a.path);return!!(i&&i.extension==="md"&&$G(t,i,n,a.value))})}async function AT(t,e,n,r){let o=new Set(r.map(c=>c.path)),a=new Map(e.filter(c=>o.has(c.path)).map(c=>[c.path,c])),i=0,s=0,l=[];for(let c of r){let u=a.get(c.path);if(!u||u.extension!=="md")continue;if($G(t,u,n,c.value)){s+=1;continue}let p=!1;try{await t.fileManager.processFrontMatter(u,m=>{let f=Yo(m,n)??n;WG(m[f],c.value)||(m[f]=c.value,p=!0)})}catch(m){l.push({path:u.path,message:to(m)});continue}p?i+=1:s+=1}return{updated:i,skipped:s,failed:l.length,failures:l}}async function JG(t,e,n){return AT(t,e,n,vue(e))}async function eq(t,e,n){let r=sp(n),o=Me(r);if(!o)return{updated:0,skipped:0,failed:0,failures:[]};let a=0,i=0,s=[];for(let l of e){if(l.extension!=="md")continue;if(!iL(t,l,r)){i+=1;continue}let c=!1;try{await t.fileManager.processFrontMatter(l,u=>{Object.keys(u).forEach(p=>{Me(p)===o&&(delete u[p],c=!0)})})}catch(u){s.push({path:l.path,message:to(u)});continue}c?a+=1:i+=1}return{updated:a,skipped:i,failed:s.length,failures:s}}function Nue(t){if(typeof t=="string"){let n=t.trim();return n?{title:n,showWordCount:!1,targetWordCount:null,iconId:null,color:null}:null}let e=t.title.trim();return e?{title:e,showWordCount:t.showWordCount===!0,targetWordCount:pI(t.targetWordCount),iconId:qG(t.iconId),color:YG(t.color)}:null}function Iue(t){let e=t.iconId?oi(t.iconId):null;if(!t.showWordCount&&t.targetWordCount===null&&!e&&t.color===null)return t.title;let n={title:t.title,show_word_count:t.showWordCount};return t.targetWordCount!==null&&(n.target_word_count=t.targetWordCount),e&&(n.icon=e),t.color!==null&&(n.color=t.color),n}async function OT(t,e,n,r){if(e.extension!=="md")return;let o=Nue(r);await t.fileManager.processFrontMatter(e,a=>{let i=Yo(a,n),s=i??n;if(!o){i&&delete a[i];return}a[s]=Iue(o)})}var MT,fy,wi=U(()=>{MT=require("obsidian");Ee();tp();Si();Ot();Zr();Am();fy=1e3});function Ui(t){return`${t}px`}function vy(t){return`${Number(t.toFixed(1))}s`}function xue(t,e){let n=Reflect.get(t,"setDisplayFormat");typeof n=="function"&&Reflect.apply(n,t,[e])}function Eue(t){let e=Reflect.get(t,"setDynamicTooltip");typeof e=="function"&&Reflect.apply(e,t,[])}function _r(t,e){let n=e.normalizeValue??(u=>u),r=e.formatValue??(u=>u.toString()),o=n(e.value),a=(0,tq.requireApiVersion)("1.13.0"),i=null;t.setName(e.name).setDesc(e.desc),t.controlEl.addClass("nn-slider-control");let s=a?null:t.controlEl.createDiv({cls:"nn-slider-value"}),l=u=>{s?.setText(r(u))},c=u=>{let p=n(u);l(p),Q(()=>e.onChange(p))};t.addSlider(u=>{let p=u.setLimits(e.min,e.max,e.step).setValue(o).setInstant(!1);return a?xue(p,r):a||Eue(p),i=p.onChange(c),u}).addExtraButton(u=>u.setIcon("lucide-rotate-ccw").setTooltip(e.resetTooltip??d.common.restoreDefault).onClick(()=>{if(!i)return;let p=n(e.defaultValue);i.setValue(p),c(p)})),l(o)}var tq,dp=U(()=>{tq=require("obsidian");Ee();ot()});function Rue(t,e){let n=0;for(let r of e.matchAll(Mue)){let o=r[0],a=r[1];if(!o||a===void 0)continue;let i=r.index??-1;if(i===-1)break;i>n&&t.appendText(e.slice(n,i)),t.createEl("strong",{text:a}),n=i+o.length}n<e.length&&t.appendText(e.slice(n))}function nq(t){let{plugin:e}=t;return[Pt(void 0,[_e({name:d.settings.items.includeDescendantNotes.name,desc:d.settings.items.includeDescendantNotes.desc,render:r=>zue(r,t)}),Gr("defaultFolderSort",{name:d.settings.items.sortNotesBy.name,desc:d.settings.items.sortNotesBy.desc,aliases:Object.values(d.settings.items.sortNotesBy.options),options:Aue()}),Gr("noteGrouping",{name:d.settings.items.groupNotes.name,desc:d.settings.items.groupNotes.desc,aliases:Object.values(d.settings.items.groupNotes.options),options:{custom:d.settings.items.groupNotes.options.custom,date:d.settings.items.groupNotes.options.date,folder:d.settings.items.groupNotes.options.folder}}),et("showCurrentFolderFilesAtBottom",{name:d.settings.items.showCurrentFolderFilesAtBottom.name,desc:d.settings.items.showCurrentFolderFilesAtBottom.desc})]),Pt(d.settings.groups.list.groupHeaders,[et("stickyGroupHeaders",{name:d.settings.items.stickyGroupHeaders.name,desc:d.settings.items.stickyGroupHeaders.desc}),et("showFolderGroupPaths",{name:d.settings.items.showFolderGroupPaths.name,desc:d.settings.items.showFolderGroupPaths.desc}),_e({name:d.settings.items.manualSortGroupHeaderProperty.name,desc:d.settings.items.manualSortGroupHeaderProperty.desc,render:r=>Hue(r,t)}),_e({name:d.settings.items.groupHeadersInstructions.intro,searchable:!1,render:r=>lL(r,d.settings.items.groupHeadersInstructions)})]),Pt(d.settings.groups.list.propertySort,[_e({name:d.settings.items.propertySortKey.name,desc:d.settings.items.propertySortKey.desc,aliases:[d.settings.items.propertySortKey.placeholder],render:r=>Vue(r,t)}),Gr("propertySortSecondary",{name:d.settings.items.propertySortSecondary.name,desc:d.settings.items.propertySortSecondary.desc,aliases:Object.values(d.settings.items.propertySortSecondary.options),visible:()=>e.settings.propertySortKey.trim().length>0,options:Oue()}),_e({name:d.settings.items.propertySortInstructions.intro,searchable:!1,render:r=>Kue(r,d.settings.items.propertySortInstructions.intro)})]),Pt(d.settings.groups.list.manualSort,[_e({name:d.settings.items.manualSortPropertyKey.name,desc:d.settings.items.manualSortPropertyKey.desc,aliases:[Le.manualSortPropertyKey],render:r=>Uue(r,t)}),Gr("manualSortNewNotePlacement",{name:d.settings.items.manualSortNewNotePlacement.name,desc:d.settings.items.manualSortNewNotePlacement.desc,aliases:Object.values(d.settings.items.manualSortNewNotePlacement.options),options:Lue()}),et("confirmBeforeManualSort",{name:d.settings.items.confirmBeforeManualSort.name,desc:d.settings.items.confirmBeforeManualSort.desc}),_e({name:d.settings.items.manualSortInstructions.intro,searchable:!1,render:r=>lL(r,d.settings.items.manualSortInstructions)})]),Pt(d.settings.groups.list.pinnedNotes,[et("filterPinnedByFolder",{name:d.settings.items.limitPinnedToCurrentFolder.name,desc:d.settings.items.limitPinnedToCurrentFolder.desc})]),Due(t),Pt(d.settings.groups.general.behavior,[et("revealFileOnListChanges",{name:d.settings.items.revealFileOnListChanges.name,desc:d.settings.items.revealFileOnListChanges.desc}),...LT.Platform.isMobile?[]:[_e({name:d.settings.items.showQuickActions.name,desc:d.settings.items.showQuickActions.desc,aliases:[d.contextMenu.file.revealInFolder,d.contextMenu.file.addTag,d.shortcuts.add,d.contextMenu.file.pinNote,d.contextMenu.file.openInNewTab],render:r=>Wue(r,t)})]]),Pt(d.settings.groups.list.drawingPreviews,[et("hideDrawingPreviewImages",{name:d.settings.items.hideDrawingPreviewImages.name,desc:d.settings.items.hideDrawingPreviewImages.desc}),_e({name:d.settings.items.drawingIntegrationInfo.intro,searchable:!1,render:r=>lL(r,d.settings.items.drawingIntegrationInfo)})])]}function Due(t){let e=[];return LT.Platform.isMobile||e.push(Gr("listPaneTitle",{name:d.settings.items.listPaneTitle.name,desc:d.settings.items.listPaneTitle.desc,aliases:Object.values(d.settings.items.listPaneTitle.options),options:{header:d.settings.items.listPaneTitle.options.header,list:d.settings.items.listPaneTitle.options.list,hidden:d.settings.items.listPaneTitle.options.hidden}})),e.push(Gr("defaultListMode",{name:d.settings.items.defaultListMode.name,desc:d.settings.items.defaultListMode.desc,aliases:Object.values(d.settings.items.defaultListMode.options),options:{standard:d.settings.items.defaultListMode.options.standard,compact:d.settings.items.defaultListMode.options.compact}}),_e({name:d.settings.items.compactItemHeight.name,desc:d.settings.items.compactItemHeight.desc,aliases:[d.settings.items.compactItemHeight.resetTooltip],render:n=>Bue(n,t)}),_e({name:d.settings.items.compactItemHeightScaleText.name,desc:d.settings.items.compactItemHeightScaleText.desc,render:n=>_ue(n,t)}),et("showSelectedNavigationPills",{name:d.settings.items.showSelectedNavigationPills.name,desc:d.settings.items.showSelectedNavigationPills.desc})),Pt(d.settings.groups.list.display,e)}function Aue(){let t={};return vw.forEach(e=>{e==="property-asc"||e==="property-desc"||(t[e]=d.settings.items.sortNotesBy.options[e])}),t}function Oue(){let t={};return tC.forEach(e=>{t[e]=d.settings.items.propertySortSecondary.options[e]}),t}function Lue(){let t={};return rC.forEach(e=>{t[e]=d.settings.items.manualSortNewNotePlacement.options[e]}),t}function zue(t,e){let{plugin:n}=e;t.setName(d.settings.items.includeDescendantNotes.name).setDesc(d.settings.items.includeDescendantNotes.desc).addToggle(r=>{let o=n.getUXPreferences();r.setValue(o.includeDescendantNotes).onChange(a=>{n.setIncludeDescendantNotes(a)})}),At({setting:t,plugin:n,settingId:"includeDescendantNotes"})}function Bue(t,e){let{plugin:n}=e;_r(t,{name:d.settings.items.compactItemHeight.name,desc:d.settings.items.compactItemHeight.desc,value:n.settings.compactItemHeight,defaultValue:Le.compactItemHeight,min:20,max:28,step:1,resetTooltip:d.settings.items.compactItemHeight.resetTooltip,formatValue:Ui,onChange:r=>{n.setCompactItemHeight(r)}}),At({setting:t,plugin:n,settingId:"compactItemHeight"})}function _ue(t,e){let{plugin:n}=e;t.setName(d.settings.items.compactItemHeightScaleText.name).setDesc(d.settings.items.compactItemHeightScaleText.desc).addToggle(r=>r.setValue(n.settings.compactItemHeightScaleText).onChange(o=>{n.setCompactItemHeightScaleText(o)})),At({setting:t,plugin:n,settingId:"compactItemHeightScaleText"})}function Hue(t,e){let{plugin:n}=e;t.setName(d.settings.items.manualSortGroupHeaderProperty.name).setDesc(d.settings.items.manualSortGroupHeaderProperty.desc).addText(r=>{let o=async()=>{let a=r.getValue().trim();if(a.length>0&&sd({manualSortGroupHeaderProperty:a,manualSortPropertyKey:n.settings.manualSortPropertyKey})===null){r.setValue(n.settings.manualSortGroupHeaderProperty);return}r.setValue(a),n.settings.manualSortGroupHeaderProperty!==a&&(n.settings.manualSortGroupHeaderProperty=a,await n.saveSettingsAndUpdate())};return r.inputEl.addEventListener("blur",()=>{Q(o)}),r.inputEl.addEventListener("keydown",a=>{a.key==="Enter"&&(a.preventDefault(),Q(o),r.inputEl.blur())}),r.setPlaceholder(Le.manualSortGroupHeaderProperty).setValue(n.settings.manualSortGroupHeaderProperty)})}function Vue(t,e){let{plugin:n}=e;t.setName(d.settings.items.propertySortKey.name).setDesc(d.settings.items.propertySortKey.desc).addText(r=>{let o=async()=>{let a=r.getValue();n.settings.propertySortKey!==a&&(n.settings.propertySortKey=a,wm(n.settings),e.refreshSettingsDomState(),await n.saveSettingsAndUpdate())};return r.inputEl.addEventListener("blur",()=>{Q(o)}),r.inputEl.addEventListener("keydown",a=>{a.key==="Enter"&&(a.preventDefault(),Q(o),r.inputEl.blur())}),r.setPlaceholder(d.settings.items.propertySortKey.placeholder).setValue(n.settings.propertySortKey)})}function Uue(t,e){let{plugin:n}=e;t.setName(d.settings.items.manualSortPropertyKey.name).setDesc(d.settings.items.manualSortPropertyKey.desc).addText(r=>{let o=async()=>{let a=sp(r.getValue());if(!Om(a)){r.setValue(n.settings.manualSortPropertyKey);return}r.setValue(a),n.settings.manualSortPropertyKey!==a&&(n.settings.manualSortPropertyKey=a,wm(n.settings),await n.saveSettingsAndUpdate())};return r.inputEl.addEventListener("blur",()=>{Q(o)}),r.inputEl.addEventListener("keydown",a=>{a.key==="Enter"&&(a.preventDefault(),Q(o),r.inputEl.blur())}),r.setPlaceholder(Le.manualSortPropertyKey).setValue(n.settings.manualSortPropertyKey)})}function lL(t,e){t.setName("").setDesc(""),t.settingEl.addClass("nn-setting-info-container"),t.settingEl.addClass("nn-setting-info-list"),t.descEl.empty(),t.descEl.createDiv({text:e.intro});let n=t.descEl.createEl("ol");e.items.forEach(r=>{let o=n.createEl("li");Rue(o,r)})}function Kue(t,e){t.setName("").setDesc(""),t.settingEl.addClass("nn-setting-info-container"),t.descEl.empty(),t.descEl.createDiv({text:e})}function Wue(t,e){let{plugin:n}=e;t.setName(d.settings.items.showQuickActions.name).setDesc(d.settings.items.showQuickActions.desc),t.controlEl.addClass("nn-quick-actions-control");let r=t.controlEl.createDiv({cls:["nn-toolbar-visibility-grid","nn-quick-actions-buttons"]}),o=i=>{r.classList.toggle("is-disabled",!i),r.querySelectorAll("button").forEach(s=>{s.toggleAttribute("disabled",!i)})};[{key:"quickActionRevealInFolder",icon:"lucide-folder-search",label:d.contextMenu.file.revealInFolder},{key:"quickActionAddTag",icon:"lucide-tag",label:d.contextMenu.file.addTag},{key:"quickActionAddToShortcuts",icon:"lucide-star",label:d.shortcuts.add},{key:"quickActionPinNote",icon:"lucide-pin",label:d.contextMenu.file.pinNote},{key:"quickActionOpenInNewTab",icon:"lucide-file-plus",label:d.contextMenu.file.openInNewTab}].forEach(i=>{let s=r.createEl("button",{cls:["nn-toolbar-visibility-toggle","nn-mobile-toolbar-button"],attr:{type:"button"}});s.setAttr("aria-label",i.label),s.setAttr("title",i.label);let l=s.createSpan({cls:"nn-toolbar-visibility-icon"});(0,LT.setIcon)(l,i.icon);let c=()=>{let u=!!n.settings[i.key];s.classList.toggle("is-active",u),s.classList.toggle("nn-mobile-toolbar-button-active",u),s.setAttr("aria-pressed",u?"true":"false")};s.addEventListener("click",()=>{n.settings[i.key]=!n.settings[i.key],c(),Q(async()=>{await n.saveSettingsAndUpdate()})}),c()}),t.addToggle(i=>{i.setValue(n.settings.showQuickActions).onChange(async s=>{n.settings.showQuickActions=s,o(s),await n.saveSettingsAndUpdate()}),i.toggleEl.addClass("nn-quick-actions-master-toggle")}),o(n.settings.showQuickActions)}var LT,Mue,rq=U(()=>{LT=require("obsidian");Ee();ko();Ca();xn();ot();da();Rn();wi();dp();Mue=/\*\*([^*]+)\*\*/g});var yy,dL=U(()=>{Nh();Ee();Rn();Mr();yy=class extends Ls{constructor(e,n){super(e,n,d.modals.navigationBanner.placeholder,{navigate:d.modals.navigationBanner.instructions.navigate,action:d.modals.navigationBanner.instructions.select,dismiss:d.modals.navigationBanner.instructions.dismiss})}getItems(){let e=this.app.vault.getFiles().filter(n=>Ms(n));return e.sort((n,r)=>Mt(n.path,r.path)),e}getItemText(e){return e.path}getDisplayPath(e){return e.path}}});function zT(t,e,n={}){let r=t.dataTransfer;if(!r)return!1;let o=e.ownerDocument,a=o.createElement("div");a.className=n.className??"nn-drag-native-preview",a.appendChild(e),o.body.appendChild(a);try{r.setDragImage(a,n.hotspot?.x??0,n.hotspot?.y??0)}catch(i){return a.remove(),!1}return window.setTimeout(()=>a.remove(),0),!0}var cL=U(()=>{});var fI,oq,cp,uL=U(()=>{fI=require("obsidian");Ee();uw();ot();Ql();Fn();cL();Ai();oq="#3b82f6",cp=class t{constructor(e){this.currentColor=null;this.selectedColor=oq;this.previewNew=null;this.userColorDots=[];this.defaultColors=[...gA];this.paletteMode="default";this.activeDefaultColorIndex=null;this.activeCustomColorIndex=null;this.paletteDisposers=[];this.recentColorDisposers=[];this.pointerDisposers=[];this.domDisposers=[];this.isUpdating=!1;this.isBuilding=!1;this.cleared=!1;this.hue=0;this.saturation=0;this.value=0;this.alpha=255;this.pendingPaletteSwitchHandle=null;this.app=e.app,this.rootEl=e.rootEl,this.scope=e.scope,this.settingsProvider=e.settingsProvider,this.sharedState=e.sharedState??t.createSharedState(e.settingsProvider),this.showPreview=e.showPreview!==!1,this.recentInLeftColumn=e.recentInLeftColumn??!1,this.onChange=e.onChange,this.onCommitRequested=e.onCommitRequested,this.paletteMode=t.getLastPaletteMode();let n=e.initialColor;if(n){this.currentColor=n;let r=this.parseColorString(n);if(r){this.selectedColor=this.rgbaToHex(r);return}}this.selectedColor=oq}static{this.lastPaletteMode="default"}static getLastPaletteMode(){return t.lastPaletteMode}static setLastPaletteMode(e){t.lastPaletteMode=e}static createSharedState(e){return{customColors:t.getNormalizedCustomColors(e),customColorsDirty:!1}}build(){this.isBuilding=!0;let e=this.rootEl.createDiv("nn-color-picker-content"),n=e.createDiv("nn-color-picker-left");this.showPreview?this.buildPreview(n):n.addClass("nn-color-picker-left-no-preview"),this.buildPalette(n);let r=e.createDiv("nn-color-picker-right");this.buildVisualPicker(r),this.buildRecentColors(this.recentInLeftColumn?n:this.rootEl),this.registerKeyboardShortcuts(),this.loadRecentColors(),this.loadPaletteState(),this.updatePaletteToggleState(),this.renderUserColors(),this.updatePresetButtonsVisibility(),this.updateFromHex(this.selectedColor,{notify:!1}),this.isBuilding=!1}getColor(){return this.selectedColor}setColor(e){this.cleared=!1,this.updateFromHex(e,{syncInput:!0,notify:!1})}markCleared(){this.cleared=!0,this.renderSelectedSwatch()}isCleared(){return this.cleared}commitRecentColor(){this.saveToRecentColors(this.selectedColor)}persistCustomColors(){this.sharedState.customColorsDirty&&(this.settingsProvider.settings.userColors=[...this.sharedState.customColors],Q(()=>this.settingsProvider.saveSettingsAndUpdate()),this.sharedState.customColorsDirty=!1)}dispose(){this.persistCustomColors(),this.disposePaletteListeners(),this.disposeRecentColorListeners(),this.disposePointerListeners(),this.disposeDomListeners(),this.pendingPaletteSwitchHandle!==null&&(window.cancelAnimationFrame(this.pendingPaletteSwitchHandle),this.pendingPaletteSwitchHandle=null)}static getNormalizedCustomColors(e){let n=e.settings.userColors??[],r=[...cw];for(let o=0;o<KP;o++){let a=t.normalizeHexColor(n[o]);a&&(r[o]=a)}return r}static normalizeHexColor(e){if(!e)return null;let n=t.parseColorString(e);return n?t.rgbaToHex(n):null}static hexToRgba(e){let n=e.startsWith("#")?e.slice(1):e;if(n.length!==3&&n.length!==4&&n.length!==6&&n.length!==8)return null;if(n.length===3||n.length===4){let[s,l,c,u]=n.split(""),p=(s??"0").repeat(2),m=(l??"0").repeat(2),g=(c??"0").repeat(2),f=n.length===4?(u??"f").repeat(2):"ff",h=parseInt(p,16),b=parseInt(m,16),v=parseInt(g,16),y=parseInt(f,16);return[h,b,v,y].some(S=>Number.isNaN(S))?null:{r:h,g:b,b:v,a:y}}let r=parseInt(n.slice(0,2),16),o=parseInt(n.slice(2,4),16),a=parseInt(n.slice(4,6),16),i=n.length===8?parseInt(n.slice(6,8),16):255;return[r,o,a,i].some(s=>Number.isNaN(s))?null:{r,g:o,b:a,a:i}}static rgbaToHex({r:e,g:n,b:r,a:o}){let a=[e,n,r].map(s=>s.toString(16).padStart(2,"0")).join("");if(o>=255)return`#${a}`;let i=o.toString(16).padStart(2,"0");return`#${a}${i}`}static parseColorString(e){if(!e)return null;let n=t.hexToRgba(e);if(n)return n;let r=e.match(/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/i);if(r){let[a,i,s]=r.slice(1,4).map(l=>t.clampColorComponent(parseInt(l,10)));return{r:a,g:i,b:s,a:255}}let o=e.match(/^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*([0-9]*\.?[0-9]+)\s*\)$/i);if(o){let[a,i,s]=o.slice(1,4).map(u=>t.clampColorComponent(parseInt(u,10))),l=parseFloat(o[4]);if(Number.isNaN(l))return null;let c=Math.max(0,Math.min(1,l));return{r:a,g:i,b:s,a:Math.round(c*255)}}return null}static clampColorComponent(e){return Number.isNaN(e)?0:Math.max(0,Math.min(255,e))}buildPreview(e){let r=e.createDiv("nn-color-preview-section").createDiv("nn-color-preview-container"),o=r.createDiv("nn-preview-current");o.createSpan({text:d.modals.colorPicker.currentColor,cls:"nn-preview-label"});let a=o.createDiv("nn-preview-color");this.currentColor?this.applySwatchColor(a,this.currentColor):a.addClass("nn-no-color"),this.makeSwatchDraggable(a,()=>this.currentColor,this.domDisposers),this.domDisposers.push(St(a,"click",()=>{let c=this.normalizeHexColor(this.currentColor);c&&this.updateFromHex(c)})),this.domDisposers.push(St(a,"dblclick",()=>{let c=this.normalizeHexColor(this.currentColor);c&&this.handleSwatchDoubleClick(c)}));let i=r.createDiv("nn-preview-arrow");(0,fI.setIcon)(i,"lucide-arrow-right");let s=r.createDiv("nn-preview-new");s.createSpan({text:d.modals.colorPicker.newColor,cls:"nn-preview-label"});let l=s.createDiv("nn-preview-color nn-show-checkerboard");this.previewNew=l,this.applySwatchColor(l,this.selectedColor),this.makeSwatchDraggable(l,()=>this.cleared?null:this.selectedColor,this.domDisposers)}buildPalette(e){let n=e.createDiv("nn-preset-section"),r=n.createDiv("nn-preset-header"),o=r.createDiv("nn-preset-toggle");this.paletteToggleDefault=o.createSpan({text:d.modals.colorPicker.paletteDefault,cls:"nn-preset-toggle-label"}),this.domDisposers.push(St(this.paletteToggleDefault,"click",i=>{i.preventDefault(),this.setPaletteMode("default")})),o.createSpan({text:"|",cls:"nn-preset-toggle-separator"}),this.paletteToggleCustom=o.createSpan({text:d.modals.colorPicker.paletteCustom,cls:"nn-preset-toggle-label"}),this.domDisposers.push(St(this.paletteToggleCustom,"click",i=>{i.preventDefault(),this.setPaletteMode("custom")}));let a=r.createDiv("nn-preset-buttons");this.copyColorsButton=a.createEl("button",{cls:"nn-preset-action-button",attr:{type:"button","aria-label":d.modals.colorPicker.copyColors,title:d.modals.colorPicker.copyColors}}),(0,fI.setIcon)(this.copyColorsButton,"copy"),this.domDisposers.push(St(this.copyColorsButton,"click",()=>this.copySelectedColor())),this.pasteColorsButton=a.createEl("button",{cls:"nn-preset-action-button",attr:{type:"button","aria-label":d.modals.colorPicker.pasteColors,title:d.modals.colorPicker.pasteColors}}),(0,fI.setIcon)(this.pasteColorsButton,"clipboard-paste"),this.domDisposers.push(St(this.pasteColorsButton,"click",()=>this.pasteSelectedColor())),this.clearCustomColorsButton=a.createEl("button",{cls:"nn-clear-recent nn-clear-custom-colors",text:"×",attr:{type:"button","aria-label":d.modals.colorPicker.resetUserColors,title:d.modals.colorPicker.resetUserColors}}),this.domDisposers.push(St(this.clearCustomColorsButton,"click",()=>this.confirmClearCustomColors())),this.userColorsContainer=n.createDiv("nn-preset-colors")}buildHexInput(e){let n=e.createDiv("nn-hex-section");n.createDiv("nn-hex-header").createEl("label",{text:d.modals.colorPicker.hexLabel,cls:"nn-hex-title"});let o=n.createDiv("nn-hex-container");o.createSpan({text:"#",cls:"nn-hex-label"}),this.hexInput=o.createEl("input",{type:"text",cls:"nn-hex-input",value:this.selectedColor.substring(1),attr:{"aria-label":d.modals.colorPicker.hexInputLabel,maxlength:"8",placeholder:"RRGGBB or RRGGBBAA"}}),this.hexInput.setAttribute("enterkeyhint","done"),this.domDisposers.push(St(this.hexInput,"input",()=>{let a=this.sanitizeHexInput(this.hexInput.value);a!==this.hexInput.value&&(this.hexInput.value=a),(a.length===6||a.length===8)&&this.updateFromHex(`#${a.toLowerCase()}`,{syncInput:!1})}))}buildVisualPicker(e){e.createDiv("nn-sv-header").createSpan({text:d.modals.colorPicker.pickerLabel,cls:"nn-section-label"});let r=e.createDiv("nn-color-area-section");this.svArea=r.createDiv("nn-sv-area"),this.svArea.setAttribute("aria-label",d.modals.colorPicker.saturationValueArea),this.svThumb=this.svArea.createDiv("nn-sv-thumb"),this.attachPointerArea(this.svArea,(a,i)=>{this.saturation=a,this.value=1-i,this.commitHsvColor()});let o=r.createDiv("nn-color-controls");this.hueSlider=o.createDiv("nn-color-slider nn-hue-slider"),this.hueSlider.setAttribute("aria-label",d.modals.colorPicker.hueSlider),this.hueThumb=this.hueSlider.createDiv("nn-slider-thumb"),this.attachPointerArea(this.hueSlider,a=>{this.hue=a*360,this.commitHsvColor()}),this.alphaSlider=o.createDiv("nn-color-slider nn-alpha-slider nn-checkerboard"),this.alphaSlider.setAttribute("aria-label",d.modals.colorPicker.alphaSlider),this.alphaSlider.createDiv("nn-alpha-gradient"),this.alphaThumb=this.alphaSlider.createDiv("nn-slider-thumb"),this.attachPointerArea(this.alphaSlider,a=>{this.alpha=Math.round(a*255),this.commitHsvColor()}),this.buildHexInput(o)}buildRecentColors(e){let n=e.createDiv("nn-recent-section"),r=n.createDiv("nn-recent-header");r.createDiv({text:d.modals.colorPicker.recentColors,cls:"nn-section-label"});let o=r.createEl("button",{text:"×",cls:"nn-clear-recent",title:d.modals.colorPicker.clearRecentColors});this.domDisposers.push(St(o,"click",()=>{this.clearRecentColors()})),this.recentColorsContainer=n.createDiv("nn-recent-colors")}attachPointerArea(e,n){let r=i=>{let s=e.getBoundingClientRect(),l=s.width<=0?0:(i.clientX-s.left)/s.width,c=s.height<=0?0:(i.clientY-s.top)/s.height;n(Math.max(0,Math.min(1,l)),Math.max(0,Math.min(1,c)))},o=i=>{i.preventDefault(),r(i)},a=i=>{e.releasePointerCapture(i.pointerId),e.removeEventListener("pointermove",o),e.removeEventListener("pointerup",a),e.removeEventListener("pointercancel",a)};this.pointerDisposers.push(St(e,"pointerdown",i=>{i.preventDefault(),e.setPointerCapture(i.pointerId),r(i),e.addEventListener("pointermove",o),e.addEventListener("pointerup",a),e.addEventListener("pointercancel",a)}))}registerKeyboardShortcuts(){this.scope.register([],"Enter",e=>{activeDocument.activeElement===this.hexInput&&(e.preventDefault(),window.setTimeout(()=>{this.hexInput.blur()}))})}getRecentColors(){return this.settingsProvider.getRecentColors()}saveRecentColors(e){this.settingsProvider.setRecentColors(e)}loadRecentColors(){let e=this.getRecentColors();this.disposeRecentColorListeners(),this.recentColorsContainer.empty(),e.forEach((n,r)=>{let o=this.recentColorsContainer.createDiv("nn-color-dot nn-recent-color nn-show-checkerboard");this.applySwatchColor(o,n),o.setAttribute("data-color",n),this.makeSwatchDraggable(o,()=>n,this.recentColorDisposers),this.recentColorDisposers.push(St(o,"click",()=>{this.updateFromHex(n)})),this.recentColorDisposers.push(St(o,"dblclick",()=>{this.handleSwatchDoubleClick(n)}));let a=o.createEl("button",{cls:"nn-recent-remove-button",attr:{type:"button","aria-label":d.modals.colorPicker.removeRecentColor,title:d.modals.colorPicker.removeRecentColor}});a.createSpan({text:"×",cls:"nn-recent-remove-glyph",attr:{"aria-hidden":"true"}}),this.recentColorDisposers.push(St(a,"click",i=>{i.stopPropagation(),i.preventDefault(),this.removeRecentColor(r)}))});for(let n=e.length;n<lm;n++)this.recentColorsContainer.createDiv("nn-color-dot nn-color-empty")}clearRecentColors(){this.saveRecentColors([]),this.loadRecentColors()}removeRecentColor(e){let n=this.getRecentColors();e<0||e>=n.length||(n.splice(e,1),this.saveRecentColors(n),this.loadRecentColors())}loadPaletteState(){this.activeDefaultColorIndex=this.findDefaultColorIndex(this.selectedColor),this.activeCustomColorIndex=this.findCustomColorIndex(this.selectedColor)}renderUserColors(){this.disposePaletteListeners(),this.userColorsContainer.empty(),this.userColorDots=[];let e=this.paletteMode==="default"?this.defaultColors:this.sharedState.customColors,n=this.paletteMode==="default"?this.activeDefaultColorIndex:this.activeCustomColorIndex;e.forEach((r,o)=>{let a=this.userColorsContainer.createDiv("nn-color-dot");this.userColorDots.push(a),a.setAttribute("title",this.getUserColorSlotLabel(o));let i=this.normalizeHexColor(r)??th;a.addClass("nn-show-checkerboard"),this.applySwatchColor(a,i),a.setAttribute("data-color",i),n===o&&a.addClass("nn-user-color-selected"),this.makeSwatchDraggable(a,()=>e[o],this.paletteDisposers),this.paletteMode==="custom"&&this.registerCustomDropTarget(a,o),this.paletteDisposers.push(St(a,"click",()=>{let s=this.paletteMode==="default"?this.defaultColors[o]:this.sharedState.customColors[o]??th,l=this.normalizeHexColor(s)??th;this.handlePaletteColorClick(o,l)})),this.paletteDisposers.push(St(a,"dblclick",()=>{let s=this.paletteMode==="default"?this.defaultColors[o]:this.sharedState.customColors[o]??th,l=this.normalizeHexColor(s)??th;this.handlePaletteColorDoubleClick(o,l)}))})}registerCustomDropTarget(e,n){let r=()=>e.addClass("nn-drop-hover"),o=()=>e.removeClass("nn-drop-hover");this.paletteDisposers.push(St(e,"dragover",a=>{let i=a.dataTransfer;if(!i)return;let s=Array.from(i.types||[]);(s.includes("application/x-notebook-navigator-color")||s.includes("text/plain"))&&(a.preventDefault(),i.dropEffect="move",r())})),this.paletteDisposers.push(St(e,"dragleave",()=>{o()})),this.paletteDisposers.push(St(e,"drop",a=>{let i=this.parseDragData(a);o(),i&&(a.preventDefault(),a.stopPropagation(),this.handleCustomDrop(n,i))}))}updatePaletteSelection(){let e=this.paletteMode==="custom"?this.activeCustomColorIndex:this.activeDefaultColorIndex;this.userColorDots.forEach((n,r)=>{n.toggleClass("nn-user-color-selected",r===e)}),this.updatePresetButtonsVisibility()}handlePaletteColorClick(e,n){if((this.paletteMode==="custom"?this.activeCustomColorIndex:this.activeDefaultColorIndex)===e){this.paletteMode==="custom"?this.activeCustomColorIndex=null:this.activeDefaultColorIndex=null,this.updatePaletteSelection();return}this.paletteMode==="custom"?this.activeCustomColorIndex=e:this.activeDefaultColorIndex=e,this.updatePaletteSelection(),n&&this.updateFromHex(n,{syncInput:!0})}handlePaletteColorDoubleClick(e,n){n&&(this.paletteMode==="custom"?this.activeCustomColorIndex=e:this.activeDefaultColorIndex=e,this.updatePaletteSelection(),this.handleSwatchDoubleClick(n))}getUserColorSlotLabel(e){return d.modals.colorPicker.userColorSlot.replace("{slot}",(e+1).toString())}findDefaultColorIndex(e){let n=this.normalizeHexColor(e);if(!n)return null;let r=this.defaultColors.findIndex(o=>o===n);return r===-1?null:r}findCustomColorIndex(e){let n=this.normalizeHexColor(e);if(!n)return null;let r=this.sharedState.customColors.findIndex(o=>o===n);return r===-1?null:r}disposePaletteListeners(){this.paletteDisposers.length&&(this.paletteDisposers.forEach(e=>{try{e()}catch(n){console.error("Error disposing palette listener:",n)}}),this.paletteDisposers=[])}disposeRecentColorListeners(){this.recentColorDisposers.length&&(this.recentColorDisposers.forEach(e=>{try{e()}catch(n){console.error("Error disposing recent color listener:",n)}}),this.recentColorDisposers=[])}disposePointerListeners(){this.pointerDisposers.length&&(this.pointerDisposers.forEach(e=>{try{e()}catch(n){console.error("Error disposing color pointer listener:",n)}}),this.pointerDisposers=[])}disposeDomListeners(){this.domDisposers.length&&(this.domDisposers.forEach(e=>{try{e()}catch(n){console.error("Error disposing color picker listener:",n)}}),this.domDisposers=[])}makeSwatchDraggable(e,n,r=this.domDisposers){e.setAttribute("draggable","true");let o=St(e,"dragstart",a=>{let i=this.normalizeHexColor(n()),s=a.dataTransfer;if(!i||!s){a.preventDefault();return}let l={color:i};s.setData("application/x-notebook-navigator-color",JSON.stringify(l)),s.setData("text/plain",i),s.effectAllowed="copyMove",zT(a,this.createDragPreview(i)),this.ensureCustomPaletteVisibleForDrag()});r.push(o)}parseDragData(e){let n=e.dataTransfer;if(!n)return null;let r=n.getData("application/x-notebook-navigator-color");if(r){let i=this.tryParseDragPayload(r);if(i)return i}let o=n.getData("text/plain"),a=this.normalizeHexColor(o);return a?{color:a}:null}tryParseDragPayload(e){try{let n=JSON.parse(e);if(!n||typeof n.color!="string")return null;let r=this.normalizeHexColor(n.color);return r?{color:r}:null}catch{return null}}createDragPreview(e){let r=this.rootEl.ownerDocument.createElement("canvas");r.width=36,r.height=36,r.className="nn-drag-preview";let o=r.getContext("2d");if(!o)return r;let a=this.hexToRgba(e)??{r:0,g:0,b:0,a:255},i=`rgba(${a.r}, ${a.g}, ${a.b}, ${Math.max(0,Math.min(255,a.a))/255})`,s=36/2-2;return o.beginPath(),o.arc(36/2,36/2,s,0,Math.PI*2),o.fillStyle=i,o.fill(),o.lineWidth=1.5,o.strokeStyle="rgba(0,0,0,0.25)",o.stroke(),r}ensureCustomPaletteVisibleForDrag(){this.paletteMode!=="custom"&&this.pendingPaletteSwitchHandle===null&&(this.pendingPaletteSwitchHandle=window.requestAnimationFrame(()=>{this.pendingPaletteSwitchHandle=null,this.setPaletteMode("custom")}))}handleCustomDrop(e,n){if(this.paletteMode!=="custom"||e<0||e>=KP)return;let r=this.normalizeHexColor(n.color);r&&(this.sharedState.customColors[e]=r,this.activeCustomColorIndex=e,this.markCustomColorsDirty(),this.renderUserColors(),this.updatePresetButtonsVisibility(),this.updateFromHex(r,{syncInput:!0}))}handleSwatchDoubleClick(e){this.updateFromHex(e,{syncInput:!0}),this.onCommitRequested?.()}setPaletteMode(e){this.paletteMode!==e&&(this.paletteMode=e,t.setLastPaletteMode(e),e==="custom"?this.activeCustomColorIndex=this.findCustomColorIndex(this.selectedColor):this.activeDefaultColorIndex=this.findDefaultColorIndex(this.selectedColor),this.updatePaletteToggleState(),this.renderUserColors(),this.updatePresetButtonsVisibility())}updatePaletteToggleState(){let e=this.paletteMode==="default";this.paletteToggleDefault&&this.paletteToggleDefault.toggleClass("nn-preset-toggle-active",e),this.paletteToggleCustom&&this.paletteToggleCustom.toggleClass("nn-preset-toggle-active",!e)}updatePresetButtonsVisibility(){let e=this.paletteMode==="custom",n=this.paletteMode==="custom"&&this.activeCustomColorIndex!==null||this.paletteMode==="default"&&this.activeDefaultColorIndex!==null,r=this.activeCustomColorIndex!==null&&this.paletteMode==="custom";this.copyColorsButton&&(this.copyColorsButton.removeClass("nn-preset-action-hidden"),this.copyColorsButton.toggleAttribute("disabled",!n),this.copyColorsButton.toggleClass("nn-preset-action-disabled",!n)),this.pasteColorsButton&&(this.pasteColorsButton.toggleClass("nn-preset-action-hidden",!e),this.pasteColorsButton.toggleAttribute("disabled",!r),this.pasteColorsButton.toggleClass("nn-preset-action-disabled",!r)),this.clearCustomColorsButton&&this.clearCustomColorsButton.toggleClass("nn-preset-action-hidden",!e)}confirmClearCustomColors(){new En(this.app,d.modals.colorPicker.resetUserColors,d.modals.colorPicker.clearCustomColorsConfirm,()=>this.clearCustomColors(),d.common.clear).open()}clearCustomColors(){this.sharedState.customColors.splice(0,this.sharedState.customColors.length,...cw),this.activeCustomColorIndex=null,this.paletteMode==="custom"&&(this.renderUserColors(),this.updatePresetButtonsVisibility()),this.markCustomColorsDirty()}async copySelectedColor(){let e=this.getActiveColor();if(!e)return;let n=this.normalizeHexColor(e);if(!n)return;let r=n.startsWith("#")?n.substring(1):n;try{await navigator.clipboard.writeText(r),de(d.modals.colorPicker.colorsCopied,{variant:"success"})}catch{de(d.common.clipboardWriteError,{variant:"warning"})}}async pasteSelectedColor(){if(this.activeCustomColorIndex===null||this.paletteMode!=="custom")return;let e;try{e=await navigator.clipboard.readText()}catch{de(d.modals.colorPicker.pasteClipboardError,{variant:"warning"});return}let n=this.sanitizeHexInput(e.trim());if(n.length!==6&&n.length!==8){de(d.modals.colorPicker.pasteInvalidFormat,{variant:"warning"});return}let r=this.normalizeHexColor(`#${n}`);if(!r){de(d.modals.colorPicker.pasteInvalidFormat,{variant:"warning"});return}this.sharedState.customColors[this.activeCustomColorIndex]=r,this.markCustomColorsDirty(),this.updateFromHex(r,{syncInput:!0}),this.renderUserColors(),de(d.modals.colorPicker.colorsPasted,{variant:"success"})}getActiveColor(){return this.paletteMode==="custom"?this.activeCustomColorIndex===null?null:this.sharedState.customColors[this.activeCustomColorIndex]:this.activeDefaultColorIndex===null?null:this.defaultColors[this.activeDefaultColorIndex]}updateActiveCustomColor(e){if(this.paletteMode!=="custom"||this.activeCustomColorIndex===null)return;let n=this.activeCustomColorIndex;if(this.sharedState.customColors[n]===e)return;this.sharedState.customColors[n]=e;let r=this.userColorDots[n];r&&(this.applySwatchColor(r,e),r.setAttribute("data-color",e),r.removeClass("nn-color-empty")),this.markCustomColorsDirty()}markCustomColorsDirty(){this.sharedState.customColorsDirty=!0}applySwatchColor(e,n){e.classList.remove("nn-no-color");let r=e.hasClass("nn-show-checkerboard");e.addClass("nn-color-swatch"),e.style.setProperty("--nn-color-swatch-color",n),r?e.addClass("nn-checkerboard"):e.removeClass("nn-checkerboard")}renderSelectedSwatch(){if(this.previewNew){if(this.cleared){this.previewNew.addClass("nn-no-color"),this.previewNew.removeClass("nn-color-swatch"),this.previewNew.style.removeProperty("--nn-color-swatch-color");return}this.previewNew.removeClass("nn-no-color"),this.applySwatchColor(this.previewNew,this.selectedColor)}}updateFromHex(e,{syncInput:n=!0,notify:r=!0,fromHsv:o=!1}={}){this.isUpdating=!0;let a=null,i=this.hexToRgba(e);if(i){if(a=this.rgbaToHex(i),this.selectedColor=a,!o){this.alpha=i.a;let s=this.rgbToHsv(i);s.s>0&&s.v>0&&(this.hue=s.h),this.saturation=s.s,this.value=s.v}this.cleared=!1,this.renderSelectedSwatch(),n&&(this.hexInput.value=a.substring(1)),this.renderColorControls()}this.isUpdating=!1,a&&(this.updateActiveCustomColor(a),r&&!this.isBuilding&&this.onChange?.(a))}commitHsvColor(){this.isUpdating||this.updateFromHex(this.composeHsvColor(),{syncInput:!0,fromHsv:!0})}composeHsvColor(){let e=this.hsvToRgb(this.hue,this.saturation,this.value);return this.rgbaToHex({...e,a:this.alpha})}renderColorControls(){if(!this.svArea)return;let e=this.rgbaToHex({...this.hsvToRgb(this.hue,1,1),a:255}),n=this.rgbaToHex({...this.hsvToRgb(this.hue,this.saturation,this.value),a:255});this.svArea.style.setProperty("--nn-sv-hue",e),this.svThumb.style.left=this.formatThumbPosition(this.saturation),this.svThumb.style.top=this.formatThumbPosition(1-this.value),this.svThumb.style.setProperty("--nn-thumb-color",n),this.hueThumb.style.left=this.formatThumbPosition(this.hue/360),this.alphaSlider.style.setProperty("--nn-alpha-color",n),this.alphaThumb.style.left=this.formatThumbPosition(this.alpha/255)}formatThumbPosition(e){let n=Math.max(0,Math.min(1,e));return`calc(${n*100}% + ${8-n*16}px)`}rgbToHsv({r:e,g:n,b:r}){let o=e/255,a=n/255,i=r/255,s=Math.max(o,a,i),l=Math.min(o,a,i),c=s-l,u=0;c!==0&&(s===o?u=(a-i)/c%6:s===a?u=(i-o)/c+2:u=(o-a)/c+4,u*=60,u<0&&(u+=360));let p=s===0?0:c/s;return{h:u,s:p,v:s}}hsvToRgb(e,n,r){let o=r*n,a=(e%360+360)%360/60,i=o*(1-Math.abs(a%2-1)),s=r-o,l=0,c=0,u=0;return a<1?(l=o,c=i):a<2?(l=i,c=o):a<3?(c=o,u=i):a<4?(c=i,u=o):a<5?(l=i,u=o):(l=o,u=i),{r:Math.round((l+s)*255),g:Math.round((c+s)*255),b:Math.round((u+s)*255)}}hexToRgba(e){return t.hexToRgba(e)}rgbaToHex(e){return t.rgbaToHex(e)}normalizeHexColor(e){return t.normalizeHexColor(e)}parseColorString(e){return t.parseColorString(e)}sanitizeHexInput(e){return e.replace(/[^0-9A-Fa-f]/g,"").slice(0,8)}saveToRecentColors(e){if(this.defaultColors.some(o=>o===e)||this.sharedState.customColors.some(o=>o===e))return;let r=this.getRecentColors();r=r.filter(o=>o!==e),r.unshift(e),r=r.slice(0,lm),this.saveRecentColors(r)}}});var vI={};In(vI,{ColorPickerModal:()=>BT});var aq,BT,_T=U(()=>{aq=require("obsidian");Ee();Ql();uL();BT=class extends aq.Modal{constructor(n,r){super(n);this.surface=null;this.domDisposers=[];this.title=r.title,this.initialColor=r.initialColor,this.settingsProvider=r.settingsProvider,this.chooseColorHandler=r.onChooseColor}static getLastPaletteMode(){return cp.getLastPaletteMode()}static setLastPaletteMode(n){cp.setLastPaletteMode(n)}onOpen(){let{contentEl:n}=this;n.empty(),this.modalEl.addClass("nn-color-picker-modal"),n.createDiv("nn-color-picker-header").createEl("h3",{text:this.title}),this.attachCloseButtonHandler(),this.surface=new cp({app:this.app,rootEl:n,scope:this.scope,initialColor:this.initialColor,settingsProvider:this.settingsProvider,onCommitRequested:()=>this.applyColor()}),this.surface.build();let o=n.createDiv("nn-color-button-container"),a=o.createEl("button",{text:this.initialColor?d.common.restoreDefault:d.common.cancel});this.domDisposers.push(St(a,"click",()=>{if(this.initialColor)return this.restoreDefaultColor();this.close()}));let i=o.createEl("button",{text:d.modals.colorPicker.apply,cls:"mod-cta"});this.domDisposers.push(St(i,"click",()=>this.applyColor()))}onClose(){let{contentEl:n}=this;n.empty(),this.modalEl.removeClass("nn-color-picker-modal"),this.surface?.dispose(),this.surface=null,this.domDisposers.forEach(r=>{try{r()}catch(o){console.error("Error disposing color modal listener:",o)}}),this.domDisposers=[]}attachCloseButtonHandler(){let n=this.modalEl.querySelector(".modal-close-button");if(!n)return;let r=o=>{o.preventDefault(),this.close()};this.domDisposers.push(St(n,"click",r)),this.domDisposers.push(St(n,"pointerdown",r))}async applyColor(){this.surface&&(this.surface.commitRecentColor(),await this.chooseColorHandler(this.surface.getColor()),this.close())}async restoreDefaultColor(){await this.chooseColorHandler(null),this.close()}}});var Bm,eu,pL=U(()=>{Bm=require("obsidian");Ee();ot();xn();ko();dn();eu=class extends Bm.Modal{constructor(e,n,r){super(e),this.plugin=n,this.profileId=nn(n.settings).id,this.section=r}onOpen(){let{contentEl:e}=this;e.empty();let n=this.getSectionSettingsAccess();this.titleEl.setText(d.modals.navRainbowSection.title(n.sectionLabel)),this.createColorSetting({containerEl:e,name:d.settings.items.navRainbowFirstColor.name,desc:d.settings.items.navRainbowFirstColor.desc,access:n.firstColor,separateThemeColors:n.separateThemeColors.getValue()}),this.createColorSetting({containerEl:e,name:d.settings.items.navRainbowLastColor.name,desc:d.settings.items.navRainbowLastColor.desc,access:n.lastColor,separateThemeColors:n.separateThemeColors.getValue()}),new Bm.Setting(e).setName(d.settings.items.navRainbowTransitionStyle.name).setDesc(d.settings.items.navRainbowTransitionStyle.desc).addDropdown(o=>o.addOption("hue",d.settings.items.navRainbowTransitionStyle.options.hue).addOption("rgb",d.settings.items.navRainbowTransitionStyle.options.rgb).setValue(n.transitionStyle.getValue()).onChange(async a=>{aC(a)&&(n.transitionStyle.setValue(a),await this.plugin.saveSettingsAndUpdate())}));let r=n.levelScope;r&&new Bm.Setting(e).setName(r.name).setDesc(r.desc).addDropdown(o=>o.addOption("root",r.rootOption).addOption("child",r.childOption).addOption("all",r.allOption).setValue(r.getValue()).onChange(async a=>{r.isValid(a)&&(r.setValue(a),await this.plugin.saveSettingsAndUpdate())}))}onClose(){this.contentEl.empty()}getBoundProfile(){let e=this.plugin.settings.vaultProfiles;return Array.isArray(e)?e.find(n=>n.id===this.profileId)??null:null}getSectionSettingsAccess(){return this.section==="shortcuts"?this.createSectionAccess({sectionLabel:d.settings.items.navRainbowApplyToShortcuts.name,getSection:e=>e.shortcuts,setSection:(e,n)=>({...e,shortcuts:n}),defaultSection:Pa.shortcuts}):this.section==="recent"?this.createSectionAccess({sectionLabel:d.settings.items.navRainbowApplyToRecent.name,getSection:e=>e.recent,setSection:(e,n)=>({...e,recent:n}),defaultSection:Pa.recent}):this.section==="folders"?this.createSectionAccess({sectionLabel:d.settings.items.navRainbowApplyToFolders.name,getSection:e=>e.folders,setSection:(e,n)=>({...e,folders:n}),defaultSection:Pa.folders,levelScope:{getValue:e=>e.scope,setValue:(e,n)=>({...e,scope:n}),isValid:um,name:d.settings.items.navRainbowFolderScope.name,desc:d.settings.items.navRainbowFolderScope.desc,rootOption:d.settings.items.navRainbowFolderScope.options.root,childOption:d.settings.items.navRainbowFolderScope.options.child,allOption:d.settings.items.navRainbowFolderScope.options.all}}):this.section==="tags"?this.createSectionAccess({sectionLabel:d.settings.items.navRainbowApplyToTags.name,getSection:e=>e.tags,setSection:(e,n)=>({...e,tags:n}),defaultSection:Pa.tags,levelScope:{getValue:e=>e.scope,setValue:(e,n)=>({...e,scope:n}),isValid:um,name:d.settings.items.navRainbowTagScope.name,desc:d.settings.items.navRainbowTagScope.desc,rootOption:d.settings.items.navRainbowTagScope.options.root,childOption:d.settings.items.navRainbowTagScope.options.child,allOption:d.settings.items.navRainbowTagScope.options.all}}):this.createSectionAccess({sectionLabel:d.settings.items.navRainbowApplyToProperties.name,getSection:e=>e.properties,setSection:(e,n)=>({...e,properties:n}),defaultSection:Pa.properties,levelScope:{getValue:e=>e.scope,setValue:(e,n)=>({...e,scope:n}),isValid:um,name:d.settings.items.navRainbowPropertyScope.name,desc:d.settings.items.navRainbowPropertyScope.desc,rootOption:d.settings.items.navRainbowPropertyScope.options.root,childOption:d.settings.items.navRainbowPropertyScope.options.child,allOption:d.settings.items.navRainbowPropertyScope.options.all}})}createSectionAccess(e){let n=()=>this.getBoundProfile()?.navRainbow??null,r=i=>{let s=this.getBoundProfile();if(!s)return;let l=s.navRainbow,c=i(e.getSection(l));s.navRainbow=e.setSection(l,c)},o=()=>{let i=n();return i?e.getSection(i):e.defaultSection},a={sectionLabel:e.sectionLabel,separateThemeColors:{getValue:()=>n()?.separateThemeColors??Pa.separateThemeColors},firstColor:{getLightValue:()=>o().firstColor,setLightValue:i=>{r(s=>({...s,firstColor:i}))},lightDefaultValue:e.defaultSection.firstColor,getDarkValue:()=>o().darkFirstColor,setDarkValue:i=>{r(s=>({...s,darkFirstColor:i}))},darkDefaultValue:e.defaultSection.darkFirstColor},lastColor:{getLightValue:()=>o().lastColor,setLightValue:i=>{r(s=>({...s,lastColor:i}))},lightDefaultValue:e.defaultSection.lastColor,getDarkValue:()=>o().darkLastColor,setDarkValue:i=>{r(s=>({...s,darkLastColor:i}))},darkDefaultValue:e.defaultSection.darkLastColor},transitionStyle:{getValue:()=>o().transitionStyle,setValue:i=>{r(s=>({...s,transitionStyle:i}))}}};if(e.levelScope){let i=e.levelScope;a.levelScope={getValue:()=>i.getValue(o()),setValue:s=>{r(l=>i.setValue(l,s))},isValid:i.isValid,name:i.name,desc:i.desc,rootOption:i.rootOption,childOption:i.childOption,allOption:i.allOption}}return a}createColorSetting(e){let r=new Bm.Setting(e.containerEl).setName(e.name).setDesc(e.desc).controlEl.createDiv({cls:"nn-setting-color-preview"}),o=m=>{let g=m==="dark",f=g?d.common.darkMode:d.common.lightMode,h=r.createEl("button",{cls:`nn-setting-color-swatch-button${g?" nn-setting-color-swatch-button-dark":""}`,attr:{type:"button","aria-label":`${e.name} (${f})`}}),b=h.createDiv({cls:"nn-setting-color-swatch"});return{buttonEl:h,swatchEl:b}},a=()=>{let m=r.createEl("button",{cls:"nn-setting-color-swatch-button",attr:{type:"button","aria-label":e.name}}),g=m.createDiv({cls:"nn-setting-color-swatch"});return{buttonEl:m,swatchEl:g}},i=e.separateThemeColors?o("light"):null,s=e.separateThemeColors&&i?r.createEl("button",{cls:"clickable-icon nn-setting-color-copy-button",attr:{type:"button","aria-label":d.settings.items.navRainbowCopyLightToDark,title:d.settings.items.navRainbowCopyLightToDark}}):null,l=e.separateThemeColors?o("dark"):null,c=e.separateThemeColors?null:a();s&&(0,Bm.setIcon)(s,"arrow-right");let u=m=>{Q(async()=>{if(!this.plugin.metadataService)return;let g=this.plugin.metadataService,{ColorPickerModal:f}=await Promise.resolve().then(()=>(_T(),vI)),h=m==="dark",b=m==="single",v=h?d.common.darkMode:d.common.lightMode,y=h?e.access.getDarkValue():e.access.getLightValue(),S=h?e.access.darkDefaultValue:e.access.lightDefaultValue;new f(this.app,{title:b?e.name:`${e.name} (${v})`,initialColor:y,settingsProvider:g.getSettingsProvider(),onChooseColor:async k=>{let F=typeof k=="string"&&k.trim().length>0?k.trim():S;h?e.access.setDarkValue(F):e.access.setLightValue(F),await this.plugin.saveSettingsAndUpdate(),p()}}).open()})};c?c.buttonEl.addEventListener("click",()=>u("single")):(i?.buttonEl.addEventListener("click",()=>u("light")),l?.buttonEl.addEventListener("click",()=>u("dark")),s?.addEventListener("click",()=>{Q(async()=>{let m=e.access.getLightValue();e.access.getDarkValue()!==m&&(e.access.setDarkValue(m),await this.plugin.saveSettingsAndUpdate(),p())})}));let p=()=>{let m=e.access.getLightValue();if(c){c.swatchEl.style.backgroundColor=m,c.buttonEl.setAttribute("title",m);return}if(!i||!l)return;i.swatchEl.style.backgroundColor=m,i.buttonEl.setAttribute("title",`${d.common.lightMode}: ${m}`);let g=e.access.getDarkValue();l.swatchEl.style.backgroundColor=g,l.buttonEl.setAttribute("title",`${d.common.darkMode}: ${g}`)};p()}}});function sq(t){let{plugin:e}=t;return[Pt(void 0,[...mL.Platform.isMobile?[]:[et("autoSelectFirstFileOnFocusChange",{name:d.settings.items.autoSelectFirstFileOnFocusChange.name,desc:d.settings.items.autoSelectFirstFileOnFocusChange.desc})],et("autoExpandNavItems",{name:d.settings.items.autoExpandNavItems.name,desc:d.settings.items.autoExpandNavItems.desc}),et("collapseOtherBranchesOnExpand",{name:d.settings.items.collapseOtherBranchesOnExpand.name,desc:d.settings.items.collapseOtherBranchesOnExpand.desc})]),Pt(d.settings.groups.navigation.collapseItems,[Gr("collapseBehavior",{name:d.settings.items.collapseBehavior.name,desc:d.settings.items.collapseBehavior.desc,aliases:Object.values(d.settings.items.collapseBehavior.options),options:{all:d.settings.items.collapseBehavior.options.all,"folders-only":d.settings.items.collapseBehavior.options.foldersOnly,"tags-only":d.settings.items.collapseBehavior.options.tagsOnly,"properties-only":d.settings.items.collapseBehavior.options.propertiesOnly}}),et("smartCollapse",{name:d.settings.items.smartCollapse.name,desc:d.settings.items.smartCollapse.desc}),et("excludeVaultRootFromCollapse",{name:d.settings.items.excludeVaultRootFromCollapse.name,desc:d.settings.items.excludeVaultRootFromCollapse.desc})]),...mL.Platform.isMobile?[]:[Pt(d.settings.groups.navigation.dragAndDrop,[et("springLoadedFolders",{name:d.settings.items.springLoadedFolders.name,desc:d.settings.items.springLoadedFolders.desc}),_e({name:d.settings.items.springLoadedFoldersInitialDelay.name,desc:d.settings.items.springLoadedFoldersInitialDelay.desc,visible:()=>e.settings.springLoadedFolders,render:n=>Xue(n,t)}),_e({name:d.settings.items.springLoadedFoldersSubsequentDelay.name,desc:d.settings.items.springLoadedFoldersSubsequentDelay.desc,visible:()=>e.settings.springLoadedFolders,render:n=>Que(n,t)})])],Pt(d.settings.groups.navigation.rainbowColors,[_e({name:d.settings.items.navRainbowMode.name,desc:d.settings.items.navRainbowMode.desc,aliases:Object.values(d.settings.items.navRainbowMode.options),render:n=>Jue(n,t)}),_e({name:d.settings.items.navRainbowApplyToShortcuts.name,desc:d.settings.items.navRainbowApplyToShortcuts.desc,visible:()=>nn(e.settings).navRainbow.mode!=="none",render:n=>HT(n,t,"shortcuts")}),_e({name:d.settings.items.navRainbowApplyToRecent.name,desc:d.settings.items.navRainbowApplyToRecent.desc,visible:()=>nn(e.settings).navRainbow.mode!=="none",render:n=>HT(n,t,"recent")}),_e({name:d.settings.items.navRainbowApplyToFolders.name,desc:d.settings.items.navRainbowApplyToFolders.desc,visible:()=>nn(e.settings).navRainbow.mode!=="none",render:n=>HT(n,t,"folders")}),_e({name:d.settings.items.navRainbowApplyToTags.name,desc:d.settings.items.navRainbowApplyToTags.desc,visible:()=>nn(e.settings).navRainbow.mode!=="none",render:n=>HT(n,t,"tags")}),_e({name:d.settings.items.navRainbowApplyToProperties.name,desc:d.settings.items.navRainbowApplyToProperties.desc,visible:()=>nn(e.settings).navRainbow.mode!=="none",render:n=>HT(n,t,"properties")}),_e({name:d.settings.items.navRainbowBalanceHueLuminance.name,desc:d.settings.items.navRainbowBalanceHueLuminance.desc,visible:()=>nn(e.settings).navRainbow.mode!=="none",render:n=>iq(n,t,"balanceHueLuminance")}),_e({name:d.settings.items.navRainbowSeparateThemeColors.name,desc:d.settings.items.navRainbowSeparateThemeColors.desc,visible:()=>nn(e.settings).navRainbow.mode!=="none",render:n=>iq(n,t,"separateThemeColors")})]),Pt(d.settings.groups.navigation.noteCounts,[et("showNoteCount",{name:d.settings.items.showNoteCount.name,desc:d.settings.items.showNoteCount.desc}),et("separateNoteCounts",{name:d.settings.items.separateNoteCounts.name,desc:d.settings.items.separateNoteCounts.desc,visible:()=>e.settings.showNoteCount})]),Pt(d.settings.groups.navigation.banner,[_e({name:d.settings.items.navigationBanner.name,desc:d.settings.items.navigationBanner.desc,aliases:[d.settings.items.navigationBanner.chooseButton,d.common.clear],render:n=>jue(n,t)}),_e({name:d.settings.items.pinNavigationBanner.name,desc:d.settings.items.pinNavigationBanner.desc,render:n=>Gue(n,t)})]),Pt(d.settings.groups.navigation.appearance,[et("showIndentGuides",{name:d.settings.items.showIndentGuides.name,desc:d.settings.items.showIndentGuides.desc}),Gr("navCountLeaderStyle",{name:d.settings.items.navCountLeaderStyle.name,desc:d.settings.items.navCountLeaderStyle.desc,aliases:Object.values(d.settings.items.navCountLeaderStyle.options),options:{none:d.settings.items.navCountLeaderStyle.options.none,dots:d.settings.items.navCountLeaderStyle.options.dots,dashes:d.settings.items.navCountLeaderStyle.options.dashes,line:d.settings.items.navCountLeaderStyle.options.line}}),_e({name:d.settings.items.navRootSpacing.name,desc:d.settings.items.navRootSpacing.desc,render:n=>que(n,t)}),_e({name:d.settings.items.navIndent.name,desc:d.settings.items.navIndent.desc,render:n=>Yue(n,t)}),_e({name:d.settings.items.navItemHeight.name,desc:d.settings.items.navItemHeight.desc,render:n=>$ue(n,t)}),_e({name:d.settings.items.navItemHeightScaleText.name,desc:d.settings.items.navItemHeightScaleText.desc,render:n=>Zue(n,t)})])]}function jue(t,e){let{plugin:n}=e,r=()=>nn(n.settings);t.setName(d.settings.items.navigationBanner.name).setDesc("");let o=t.descEl;o.empty(),o.createDiv({text:d.settings.items.navigationBanner.desc});let a=o.createDiv(),i=null,s=()=>{let l=r().navigationBanner;a.setText(""),l&&a.setText(d.settings.items.navigationBanner.current.replace("{path}",l)),i?.setDisabled(!l)};t.addButton(l=>{l.setButtonText(d.settings.items.navigationBanner.chooseButton),l.onClick(()=>{new yy(e.app,c=>{r().navigationBanner=c.path,s(),Q(()=>n.saveSettingsAndUpdate())}).open()})}),t.addButton(l=>{l.setButtonText(d.common.clear),i=l,l.setDisabled(!r().navigationBanner),l.onClick(()=>{Q(async()=>{let c=r();c.navigationBanner&&(c.navigationBanner=null,s(),await n.saveSettingsAndUpdate())})})}),s(),e.registerSettingsUpdateListener("navigation-pane-navigation-banner",()=>{s()})}function Gue(t,e){let{plugin:n}=e;t.setName(d.settings.items.pinNavigationBanner.name).setDesc(d.settings.items.pinNavigationBanner.desc).addToggle(r=>r.setValue(n.settings.pinNavigationBanner).onChange(o=>{n.setPinNavigationBanner(o)})),At({setting:t,plugin:n,settingId:"pinNavigationBanner"})}function que(t,e){let{plugin:n}=e;_r(t,{name:d.settings.items.navRootSpacing.name,desc:d.settings.items.navRootSpacing.desc,value:n.settings.rootLevelSpacing,defaultValue:Le.rootLevelSpacing,min:0,max:12,step:1,formatValue:Ui,onChange:async r=>{n.settings.rootLevelSpacing=r,await n.saveSettingsAndUpdate()}})}function Yue(t,e){let{plugin:n}=e;_r(t,{name:d.settings.items.navIndent.name,desc:d.settings.items.navIndent.desc,value:n.settings.navIndent,defaultValue:Le.navIndent,min:10,max:24,step:1,formatValue:Ui,onChange:r=>{n.setNavIndent(r)}}),At({setting:t,plugin:n,settingId:"navIndent"})}function $ue(t,e){let{plugin:n}=e;_r(t,{name:d.settings.items.navItemHeight.name,desc:d.settings.items.navItemHeight.desc,value:n.settings.navItemHeight,defaultValue:Le.navItemHeight,min:20,max:28,step:1,formatValue:Ui,onChange:r=>{n.setNavItemHeight(r)}}),At({setting:t,plugin:n,settingId:"navItemHeight"})}function Xue(t,e){let{plugin:n}=e;_r(t,{name:d.settings.items.springLoadedFoldersInitialDelay.name,desc:d.settings.items.springLoadedFoldersInitialDelay.desc,value:n.settings.springLoadedFoldersInitialDelay,defaultValue:Le.springLoadedFoldersInitialDelay,min:.1,max:2,step:.1,formatValue:vy,normalizeValue:r=>Math.round(r*10)/10,onChange:async r=>{n.settings.springLoadedFoldersInitialDelay=r,await n.saveSettingsAndUpdate()}})}function Que(t,e){let{plugin:n}=e;_r(t,{name:d.settings.items.springLoadedFoldersSubsequentDelay.name,desc:d.settings.items.springLoadedFoldersSubsequentDelay.desc,value:n.settings.springLoadedFoldersSubsequentDelay,defaultValue:Le.springLoadedFoldersSubsequentDelay,min:.1,max:2,step:.1,formatValue:vy,normalizeValue:r=>Math.round(r*10)/10,onChange:async r=>{n.settings.springLoadedFoldersSubsequentDelay=r,await n.saveSettingsAndUpdate()}})}function Zue(t,e){let{plugin:n}=e;t.setName(d.settings.items.navItemHeightScaleText.name).setDesc(d.settings.items.navItemHeightScaleText.desc).addToggle(r=>r.setValue(n.settings.navItemHeightScaleText).onChange(o=>{n.setNavItemHeightScaleText(o)})),At({setting:t,plugin:n,settingId:"navItemHeightScaleText"})}function Jue(t,e){let{plugin:n}=e;t.setName(d.settings.items.navRainbowMode.name).setDesc(d.settings.items.navRainbowMode.desc).addDropdown(r=>r.addOption("none",d.settings.items.navRainbowMode.options.none).addOption("foreground",d.settings.items.navRainbowMode.options.foreground).addOption("background",d.settings.items.navRainbowMode.options.background).setValue(nn(n.settings).navRainbow.mode).onChange(async o=>{if(!iv(o))return;let a=nn(n.settings);a.navRainbow={...a.navRainbow,mode:o},e.refreshSettingsDomState(),await n.saveSettingsAndUpdate()}))}function HT(t,e,n){let{plugin:r}=e,o={shortcuts:d.settings.items.navRainbowApplyToShortcuts,recent:d.settings.items.navRainbowApplyToRecent,folders:d.settings.items.navRainbowApplyToFolders,tags:d.settings.items.navRainbowApplyToTags,properties:d.settings.items.navRainbowApplyToProperties}[n];t.setName(o.name).setDesc(o.desc),t.addToggle(a=>a.setValue(nn(r.settings).navRainbow[n].enabled).onChange(async i=>{let s=nn(r.settings);s.navRainbow={...s.navRainbow,[n]:{...s.navRainbow[n],enabled:i}},await r.saveSettingsAndUpdate()})),t.addButton(a=>{a.setButtonText(d.common.configure),a.onClick(()=>{new eu(e.app,r,n).open()})})}function iq(t,e,n){let{plugin:r}=e,o=n==="balanceHueLuminance"?d.settings.items.navRainbowBalanceHueLuminance:d.settings.items.navRainbowSeparateThemeColors;t.setName(o.name).setDesc(o.desc),t.addToggle(a=>a.setValue(nn(r.settings).navRainbow[n]).onChange(async i=>{let s=nn(r.settings);s.navRainbow={...s.navRainbow,[n]:i},await r.saveSettingsAndUpdate()}))}var mL,lq=U(()=>{mL=require("obsidian");Ee();dL();pL();ko();xn();ot();dn();da();Ca();dp()});var gL=U(()=>{});var Sq=Mc(Un=>{"use strict";var VT=Symbol.for("react.element"),epe=Symbol.for("react.portal"),tpe=Symbol.for("react.fragment"),npe=Symbol.for("react.strict_mode"),rpe=Symbol.for("react.profiler"),ope=Symbol.for("react.provider"),ape=Symbol.for("react.context"),ipe=Symbol.for("react.forward_ref"),spe=Symbol.for("react.suspense"),lpe=Symbol.for("react.memo"),dpe=Symbol.for("react.lazy"),dq=Symbol.iterator;function cpe(t){return t===null||typeof t!="object"?null:(t=dq&&t[dq]||t["@@iterator"],typeof t=="function"?t:null)}var pq={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},mq=Object.assign,gq={};function by(t,e,n){this.props=t,this.context=e,this.refs=gq,this.updater=n||pq}by.prototype.isReactComponent={};by.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,e,"setState")};by.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function hq(){}hq.prototype=by.prototype;function fL(t,e,n){this.props=t,this.context=e,this.refs=gq,this.updater=n||pq}var vL=fL.prototype=new hq;vL.constructor=fL;mq(vL,by.prototype);vL.isPureReactComponent=!0;var cq=Array.isArray,fq=Object.prototype.hasOwnProperty,yL={current:null},vq={key:!0,ref:!0,__self:!0,__source:!0};function yq(t,e,n){var r,o={},a=null,i=null;if(e!=null)for(r in e.ref!==void 0&&(i=e.ref),e.key!==void 0&&(a=""+e.key),e)fq.call(e,r)&&!vq.hasOwnProperty(r)&&(o[r]=e[r]);var s=arguments.length-2;if(s===1)o.children=n;else if(1<s){for(var l=Array(s),c=0;c<s;c++)l[c]=arguments[c+2];o.children=l}if(t&&t.defaultProps)for(r in s=t.defaultProps,s)o[r]===void 0&&(o[r]=s[r]);return{$$typeof:VT,type:t,key:a,ref:i,props:o,_owner:yL.current}}function upe(t,e){return{$$typeof:VT,type:t.type,key:e,ref:t.ref,props:t.props,_owner:t._owner}}function bL(t){return typeof t=="object"&&t!==null&&t.$$typeof===VT}function ppe(t){var e={"=":"=0",":":"=2"};return"$"+t.replace(/[=:]/g,function(n){return e[n]})}var uq=/\/+/g;function hL(t,e){return typeof t=="object"&&t!==null&&t.key!=null?ppe(""+t.key):e.toString(36)}function bI(t,e,n,r,o){var a=typeof t;(a==="undefined"||a==="boolean")&&(t=null);var i=!1;if(t===null)i=!0;else switch(a){case"string":case"number":i=!0;break;case"object":switch(t.$$typeof){case VT:case epe:i=!0}}if(i)return i=t,o=o(i),t=r===""?"."+hL(i,0):r,cq(o)?(n="",t!=null&&(n=t.replace(uq,"$&/")+"/"),bI(o,e,n,"",function(c){return c})):o!=null&&(bL(o)&&(o=upe(o,n+(!o.key||i&&i.key===o.key?"":(""+o.key).replace(uq,"$&/")+"/")+t)),e.push(o)),1;if(i=0,r=r===""?".":r+":",cq(t))for(var s=0;s<t.length;s++){a=t[s];var l=r+hL(a,s);i+=bI(a,e,n,l,o)}else if(l=cpe(t),typeof l=="function")for(t=l.call(t),s=0;!(a=t.next()).done;)a=a.value,l=r+hL(a,s++),i+=bI(a,e,n,l,o);else if(a==="object")throw e=String(t),Error("Objects are not valid as a React child (found: "+(e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)+"). If you meant to render a collection of children, use an array instead.");return i}function yI(t,e,n){if(t==null)return t;var r=[],o=0;return bI(t,r,"","",function(a){return e.call(n,a,o++)}),r}function mpe(t){if(t._status===-1){var e=t._result;e=e(),e.then(function(n){(t._status===0||t._status===-1)&&(t._status=1,t._result=n)},function(n){(t._status===0||t._status===-1)&&(t._status=2,t._result=n)}),t._status===-1&&(t._status=0,t._result=e)}if(t._status===1)return t._result.default;throw t._result}var cs={current:null},SI={transition:null},gpe={ReactCurrentDispatcher:cs,ReactCurrentBatchConfig:SI,ReactCurrentOwner:yL};function bq(){throw Error("act(...) is not supported in production builds of React.")}Un.Children={map:yI,forEach:function(t,e,n){yI(t,function(){e.apply(this,arguments)},n)},count:function(t){var e=0;return yI(t,function(){e++}),e},toArray:function(t){return yI(t,function(e){return e})||[]},only:function(t){if(!bL(t))throw Error("React.Children.only expected to receive a single React element child.");return t}};Un.Component=by;Un.Fragment=tpe;Un.Profiler=rpe;Un.PureComponent=fL;Un.StrictMode=npe;Un.Suspense=spe;Un.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=gpe;Un.act=bq;Un.cloneElement=function(t,e,n){if(t==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+t+".");var r=mq({},t.props),o=t.key,a=t.ref,i=t._owner;if(e!=null){if(e.ref!==void 0&&(a=e.ref,i=yL.current),e.key!==void 0&&(o=""+e.key),t.type&&t.type.defaultProps)var s=t.type.defaultProps;for(l in e)fq.call(e,l)&&!vq.hasOwnProperty(l)&&(r[l]=e[l]===void 0&&s!==void 0?s[l]:e[l])}var l=arguments.length-2;if(l===1)r.children=n;else if(1<l){s=Array(l);for(var c=0;c<l;c++)s[c]=arguments[c+2];r.children=s}return{$$typeof:VT,type:t.type,key:o,ref:a,props:r,_owner:i}};Un.createContext=function(t){return t={$$typeof:ape,_currentValue:t,_currentValue2:t,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},t.Provider={$$typeof:ope,_context:t},t.Consumer=t};Un.createElement=yq;Un.createFactory=function(t){var e=yq.bind(null,t);return e.type=t,e};Un.createRef=function(){return{current:null}};Un.forwardRef=function(t){return{$$typeof:ipe,render:t}};Un.isValidElement=bL;Un.lazy=function(t){return{$$typeof:dpe,_payload:{_status:-1,_result:t},_init:mpe}};Un.memo=function(t,e){return{$$typeof:lpe,type:t,compare:e===void 0?null:e}};Un.startTransition=function(t){var e=SI.transition;SI.transition={};try{t()}finally{SI.transition=e}};Un.unstable_act=bq;Un.useCallback=function(t,e){return cs.current.useCallback(t,e)};Un.useContext=function(t){return cs.current.useContext(t)};Un.useDebugValue=function(){};Un.useDeferredValue=function(t){return cs.current.useDeferredValue(t)};Un.useEffect=function(t,e){return cs.current.useEffect(t,e)};Un.useId=function(){return cs.current.useId()};Un.useImperativeHandle=function(t,e,n){return cs.current.useImperativeHandle(t,e,n)};Un.useInsertionEffect=function(t,e){return cs.current.useInsertionEffect(t,e)};Un.useLayoutEffect=function(t,e){return cs.current.useLayoutEffect(t,e)};Un.useMemo=function(t,e){return cs.current.useMemo(t,e)};Un.useReducer=function(t,e,n){return cs.current.useReducer(t,e,n)};Un.useRef=function(t){return cs.current.useRef(t)};Un.useState=function(t){return cs.current.useState(t)};Un.useSyncExternalStore=function(t,e,n){return cs.current.useSyncExternalStore(t,e,n)};Un.useTransition=function(){return cs.current.useTransition()};Un.version="18.3.1"});var ze=Mc((qLe,wq)=>{"use strict";wq.exports=Sq()});function kq(t,e){Tq.set(t,e)}function Jd(t){return Tq.get(t)}function _m(t){t.empty(),t.removeClass("nn-emoji-icon"),hpe.forEach(e=>{t.removeClass(e)})}var hpe,Tq,Sy=U(()=>{hpe=["nn-iconfont","nn-iconfont-fa-solid","nn-iconfont-rpg-awesome","nn-iconfont-bootstrap-icons","nn-iconfont-material-icons","nn-iconfont-phosphor","nn-iconfont-simple-icons"],Tq=new WeakMap});var wI,Fq=U(()=>{Sy();wI=class t{constructor(e={}){this.providers=new Map;this.version=0;this.listeners=new Set;this.config={defaultProvider:t.DEFAULT_PROVIDER,...e}}static{this.DEFAULT_PROVIDER="lucide"}static{this.FALLBACK_ICON_ID="image-off"}static getInstance(e){return t.instance||(t.instance=new t(e)),t.instance}registerProvider(e){if(!e.isAvailable())return;let n=this.providers.get(e.id);this.providers.set(e.id,e),n!==e&&this.notifyListeners()}unregisterProvider(e){this.providers.delete(e)&&this.notifyListeners()}getProvider(e){return this.providers.get(e)}getAllProviders(){return Array.from(this.providers.values())}parseIconId(e){let n=e.indexOf(":");return n===-1?{provider:this.config.defaultProvider||t.DEFAULT_PROVIDER,identifier:e,raw:e}:{provider:e.substring(0,n),identifier:e.substring(n+1),raw:e}}formatIconId(e,n){return e===this.config.defaultProvider||e===t.DEFAULT_PROVIDER?n:`${e}:${n}`}renderIcon(e,n,r){let o=Symbol("icon-render");if(kq(e,o),!n){e.empty();return}let a=this.parseIconId(n),i=this.providers.get(a.provider);if(!i){this.renderFallbackIcon(e,r);return}try{let s=i.render(e,a.identifier,r);if(s instanceof Promise){s.then(l=>{Jd(e)===o&&(l==="not-found"||!this.hasRenderedContent(e))&&this.renderFallbackIcon(e,r)}).catch(l=>{Jd(e)===o&&(console.error(`[IconService] Error rendering icon ${n}:`,l),this.renderFallbackIcon(e,r))});return}(s==="not-found"||!this.hasRenderedContent(e))&&this.renderFallbackIcon(e,r)}catch(s){console.error(`[IconService] Error rendering icon ${n}:`,s),this.renderFallbackIcon(e,r)}}search(e,n){if(n){let o=this.providers.get(n);return o?o.search(e):[]}let r=[];for(let o of this.providers.values()){let a=o.search(e);r.push(...a.map(i=>({...i,id:this.formatIconId(o.id,i.id)})))}return r}getAllIcons(e){if(e){let r=this.providers.get(e);return r?r.getAll():[]}let n=[];for(let r of this.providers.values()){let o=r.getAll();n.push(...o.map(a=>({...a,id:this.formatIconId(r.id,a.id)})))}return n}getVersion(){return this.version}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}notifyIconAssetsChanged(){this.notifyListeners()}notifyListeners(){this.version+=1,this.listeners.forEach(e=>{try{e()}catch(n){console.error("[IconService] Listener error",n)}})}hasRenderedContent(e){return e.childElementCount>0||(e.textContent?.trim().length??0)>0}renderFallbackIcon(e,n){if(!e)return;let r=Jd(e),o=this.config.defaultProvider||t.DEFAULT_PROVIDER,a=this.providers.get(o);if(!a){e.empty();return}try{let i=a.render(e,t.FALLBACK_ICON_ID,n);if(i instanceof Promise){i.then(s=>{r&&Jd(e)!==r||(s==="not-found"||!this.hasRenderedContent(e))&&e.empty()}).catch(s=>{r&&Jd(e)!==r||(console.error("[IconService] Error rendering fallback icon",s),e.empty())});return}this.hasRenderedContent(e)||e.empty()}catch(i){console.error("[IconService] Error rendering fallback icon",i),e.empty()}}isValidIcon(e){let n=this.parseIconId(e),r=this.providers.get(n.provider);return r?r.getAll().some(a=>a.id===n.identifier):!1}}});var wy,Pq,TI,Cq=U(()=>{wy=require("obsidian");Sy();Pq="lucide-",TI=class{constructor(){this.id="lucide";this.name="Lucide";this.iconCache=null}getVersion(){return null}isAvailable(){return typeof wy.getIconIds=="function"&&typeof wy.setIcon=="function"}render(e,n,r){_m(e);let o=this.normalizeIconId(n);return o?((0,wy.setIcon)(e,o),r?(e.style.setProperty("--icon-size",`${r}px`),e.style.width=`${r}px`,e.style.height=`${r}px`):(e.style.removeProperty("--icon-size"),e.style.removeProperty("width"),e.style.removeProperty("height")),e.childElementCount>0?"rendered":"not-found"):"not-found"}search(e){let n=e.toLowerCase().trim();if(!n)return[];let r=this.getIconList(),o=[];for(let a of r){let i=this.normalizeIconId(a),s=this.getKeywords(i),l=s.map(g=>g.toLowerCase()),c=this.formatDisplayName(i),u=i.toLowerCase(),p=c.toLowerCase(),m=this.resolveMatchScore(n,u,p,l);m!==null&&o.push({icon:{id:i,displayName:c,keywords:s},score:m,name:p||u,id:i})}return o.sort((a,i)=>{if(a.score!==i.score)return a.score-i.score;let s=a.name.localeCompare(i.name);return s!==0?s:a.id.localeCompare(i.id)}),o.map(a=>a.icon).slice(0,50)}getAll(){return this.getIconList().map(n=>{let r=this.normalizeIconId(n);return{id:r,displayName:this.formatDisplayName(r),keywords:this.getKeywords(r)}})}getIconList(){return this.iconCache||(this.iconCache=(0,wy.getIconIds)()),this.iconCache}formatDisplayName(e){return e.split("-").map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}getKeywords(e){let n=e.split("-"),r={folder:["directory","container"],file:["document","page"],tag:["label","category"],search:["find","query"],star:["favorite","bookmark"],heart:["love","like","favorite"],home:["house","main"],settings:["config","preferences","gear"],user:["person","account","profile"],calendar:["date","schedule"],clock:["time","watch"],mail:["email","message","envelope"],phone:["call","mobile"],trash:["delete","bin","remove"],edit:["modify","change","pencil"],plus:["add","new","create"],check:["done","complete","tick"],x:["close","cancel","remove"],arrow:["direction","pointer"],chevron:["expand","collapse"],grid:["layout","dashboard"],list:["items","menu"],image:["picture","photo"],video:["movie","film"],music:["audio","sound"],book:["read","library"],bookmark:["save","mark"],download:["save","get"],upload:["send","put"],share:["send","distribute"],link:["url","connection"],lock:["secure","private"],unlock:["open","public"],eye:["view","see","visible"],alert:["warning","attention"],info:["information","help"],question:["help","ask"],zap:["lightning","fast","energy"],sun:["light","day","bright"],moon:["night","dark"],cloud:["weather","storage"],globe:["world","internet","web"],map:["location","navigate"],pin:["location","mark","attach"],flag:["mark","country","report"],bell:["notification","alert","ring"],message:["chat","talk","comment"],code:["programming","develop"],terminal:["console","command"],database:["storage","data"],server:["host","backend"],cpu:["processor","computer"],wifi:["internet","wireless","network"],battery:["power","charge"],printer:["print","document"],camera:["photo","capture"],mic:["microphone","audio","record"]},o=[];return n.forEach(a=>{r[a]&&o.push(...r[a])}),[...n,...o]}normalizeIconId(e){if(!e)return e;let n=e.trim();return n&&(n.startsWith(Pq)?n.substring(Pq.length):n)}resolveMatchScore(e,n,r,o){return n===e?0:r&&r===e?1:o.includes(e)?2:n.startsWith(e)?3:r&&r.startsWith(e)?4:o.some(a=>a.startsWith(e))?5:n.includes(e)?6:r&&r.includes(e)?7:o.some(a=>a.includes(e))?8:null}}});var Nq=Mc((JLe,fpe)=>{fpe.exports={"😀":["grinning_face","face","smile","happy","joy",":D","grin","smiley"],"😃":["grinning_face_with_big_eyes","face","happy","joy","haha",":D",":)","smile","funny","mouth","open","smiley","smiling"],"😄":["grinning_face_with_smiling_eyes","face","happy","joy","funny","haha","laugh","like",":D",":)","smile","eye","grin","mouth","open","pleased","smiley"],"😁":["beaming_face_with_smiling_eyes","face","happy","smile","joy","kawaii","eye","grin","grinning"],"😆":["grinning_squinting_face","happy","joy","lol","satisfied","haha","face","glad","XD","laugh","big","closed","eyes","grin","laughing","mouth","open","smile","smiling","tightly"],"😅":["grinning_face_with_sweat","face","hot","happy","laugh","sweat","smile","relief","cold","exercise","mouth","open","smiling"],"🤣":["rolling_on_the_floor_laughing","face","rolling","floor","laughing","lol","haha","rofl","laugh","rotfl"],"😂":["face_with_tears_of_joy","face","cry","tears","weep","happy","happytears","haha","crying","laugh","laughing","lol","tear"],"🙂":["slightly_smiling_face","face","smile","fine","happy","this"],"🙃":["upside_down_face","face","flipped","silly","smile","sarcasm"],"😉":["winking_face","face","happy","mischievous","secret",";)","smile","eye","flirt","wink","winky"],"😊":["smiling_face_with_smiling_eyes","face","smile","happy","flushed","crush","embarrassed","shy","joy","^^","blush","eye","proud","smiley"],"😇":["smiling_face_with_halo","face","angel","heaven","halo","innocent","fairy","fantasy","smile","tale"],"🥰":["smiling_face_with_hearts","face","love","like","affection","valentines","infatuation","crush","hearts","adore","eyes","three"],"😍":["smiling_face_with_heart_eyes","face","love","like","affection","valentines","infatuation","crush","heart","eye","shaped","smile"],"🤩":["star_struck","face","smile","starry","eyes","grinning","excited","eyed","wow"],"😘":["face_blowing_a_kiss","face","love","like","affection","valentines","infatuation","kiss","blow","flirt","heart","kissing","throwing"],"😗":["kissing_face","love","like","face","3","valentines","infatuation","kiss","duck","kissy","whistling"],"☺️":["smiling_face","face","blush","massage","happiness","happy","outlined","pleased","relaxed","smile","smiley","white"],"😚":["kissing_face_with_closed_eyes","face","love","like","affection","valentines","infatuation","kiss","eye","kissy"],"😙":["kissing_face_with_smiling_eyes","face","affection","valentines","infatuation","kiss","eye","kissy","smile","whistle","whistling"],"😋":["face_savoring_food","happy","joy","tongue","smile","face","silly","yummy","nom","delicious","savouring","goofy","hungry","lick","licking","lips","smiling","um","yum"],"😛":["face_with_tongue","face","prank","childish","playful","mischievous","smile","tongue","cheeky","out","stuck"],"😜":["winking_face_with_tongue","face","prank","childish","playful","mischievous","smile","wink","tongue","crazy","eye","joke","out","silly","stuck"],"🤪":["zany_face","face","goofy","crazy","excited","eye","eyes","grinning","large","one","small","wacky","wild"],"😝":["squinting_face_with_tongue","face","prank","playful","mischievous","smile","tongue","closed","eye","eyes","horrible","out","stuck","taste","tightly"],"🤑":["money_mouth_face","face","rich","dollar","money","eyes","sign"],"🤗":["hugging_face","face","smile","hug","hands","hugs","open","smiling"],"🤭":["face_with_hand_over_mouth","face","whoops","shock","surprise","blushing","covering","eyes","quiet","smiling"],"🤫":["shushing_face","face","quiet","shhh","closed","covering","finger","hush","lips","shh","shush","silence"],"🤔":["thinking_face","face","hmmm","think","consider","chin","shade","thinker","throwing","thumb"],"🤐":["zipper_mouth_face","face","sealed","zipper","secret","hush","lips","silence","zip"],"🤨":["face_with_raised_eyebrow","face","distrust","scepticism","disapproval","disbelief","surprise","suspicious","colbert","mild","one","rock","skeptic"],"😐":["neutral_face","indifference","meh",":|","neutral","deadpan","faced","mouth","straight"],"😑":["expressionless_face","face","indifferent","-_-","meh","deadpan","inexpressive","mouth","straight","unexpressive"],"😶":["face_without_mouth","face","blank","mouthless","mute","no","quiet","silence","silent"],"😏":["smirking_face","face","smile","mean","prank","smug","sarcasm","flirting","sexual","smirk","suggestive"],"😒":["unamused_face","indifference","bored","straight face","serious","sarcasm","unimpressed","skeptical","dubious","ugh","side_eye","dissatisfied","meh","unhappy"],"🙄":["face_with_rolling_eyes","face","eyeroll","frustrated","eye","roll"],"😬":["grimacing_face","face","grimace","teeth","awkward","eek","nervous"],"🤥":["lying_face","face","lie","pinocchio","liar","long","nose"],"😌":["relieved_face","face","relaxed","phew","massage","happiness","content","pleased","whew"],"😔":["pensive_face","face","sad","depressed","upset","dejected","sadface","sorrowful"],"😪":["sleepy_face","face","tired","rest","nap","bubble","side","sleep","snot","tear"],"🤤":["drooling_face","face","drool"],"😴":["sleeping_face","face","tired","sleepy","night","zzz","sleep","snoring"],"😷":["face_with_medical_mask","face","sick","ill","disease","covid","cold","coronavirus","doctor","medicine","surgical"],"🤒":["face_with_thermometer","sick","temperature","thermometer","cold","fever","covid","ill"],"🤕":["face_with_head_bandage","injured","clumsy","bandage","hurt","bandaged","injury"],"🤢":["nauseated_face","face","vomit","gross","green","sick","throw up","ill","barf","disgust","disgusted","green face"],"🤮":["face_vomiting","face","sick","barf","ill","mouth","open","puke","spew","throwing","up","vomit"],"🤧":["sneezing_face","face","gesundheit","sneeze","sick","allergy","achoo"],"🥵":["hot_face","face","feverish","heat","red","sweating","overheated","stroke"],"🥶":["cold_face","face","blue","freezing","frozen","frostbite","icicles","ice"],"🥴":["woozy_face","face","dizzy","intoxicated","tipsy","wavy","drunk","eyes","groggy","mouth","uneven"],"😵":["dizzy_face","spent","unconscious","xox","dizzy","cross","crossed","dead","eyes","knocked","out","spiral eyes"],"🤯":["exploding_head","face","shocked","mind","blown","blowing","explosion","mad"],"🤠":["cowboy_hat_face","face","cowgirl","hat"],"🥳":["partying_face","face","celebration","woohoo","birthday","hat","horn","party"],"😎":["smiling_face_with_sunglasses","face","cool","smile","summer","beach","sunglass","best","bright","eye","eyewear","friends","glasses","mutual","snapchat","sun","weather"],"🤓":["nerd_face","face","nerdy","geek","dork","glasses","smiling"],"🧐":["face_with_monocle","face","stuffy","wealthy","rich","exploration","inspection"],"😕":["confused_face","face","indifference","huh","weird","hmmm",":/","meh","nonplussed","puzzled","s"],"😟":["worried_face","face","concern","nervous",":(","sad","sadface"],"🙁":["slightly_frowning_face","face","frowning","disappointed","sad","upset","frown","unhappy"],"☹️":["frowning_face","face","sad","upset","frown","megafrown","unhappy","white"],"😮":["face_with_open_mouth","face","surprise","impressed","wow","whoa",":O","surprised","sympathy"],"😯":["hushed_face","face","woo","shh","silence","speechless","stunned","surprise","surprised"],"😲":["astonished_face","face","xox","surprised","poisoned","amazed","drunk face","gasp","gasping","shocked","totally"],"😳":["flushed_face","face","blush","shy","flattered","blushing","dazed","embarrassed","eyes","open","shame","wide"],"🥺":["pleading_face","face","begging","mercy","cry","tears","sad","grievance","eyes","glossy","puppy","simp"],"😦":["frowning_face_with_open_mouth","face","aw","what","frown","yawning"],"😧":["anguished_face","face","stunned","nervous","pained"],"😨":["fearful_face","face","scared","terrified","nervous","fear","oops","shocked","surprised"],"😰":["anxious_face_with_sweat","face","nervous","sweat","blue","cold","concerned face","mouth","open","rushed"],"😥":["sad_but_relieved_face","face","phew","sweat","nervous","disappointed","eyebrow","whew"],"😢":["crying_face","face","tears","sad","depressed","upset",":'(","cry","tear"],"😭":["loudly_crying_face","sobbing","face","cry","tears","sad","upset","depressed","bawling","sob","tear"],"😱":["face_screaming_in_fear","face","munch","scared","omg","alone","fearful","home","horror","scream","shocked"],"😖":["confounded_face","face","confused","sick","unwell","oops",":S","mouth","quivering","scrunched"],"😣":["persevering_face","face","sick","no","upset","oops","eyes","helpless","persevere","scrunched","struggling"],"😞":["disappointed_face","face","sad","upset","depressed",":(","sadface"],"😓":["downcast_face_with_sweat","face","hot","sad","tired","exercise","cold","hard","work"],"😩":["weary_face","face","tired","sleepy","sad","frustrated","upset","distraught","wailing"],"😫":["tired_face","sick","whine","upset","frustrated","distraught","exhausted","fed","up"],"🥱":["yawning_face","tired","sleepy","bored","yawn"],"😤":["face_with_steam_from_nose","face","gas","phew","proud","pride","triumph","airing","frustrated","grievances","look","mad","smug","steaming","won"],"😡":["pouting_face","angry","mad","hate","despise","enraged","grumpy","pout","rage","red"],"😠":["angry_face","mad","face","annoyed","frustrated","anger","grumpy"],"🤬":["face_with_symbols_on_mouth","face","swearing","cursing","cussing","profanity","expletive","covering","foul","grawlix","over","serious"],"😈":["smiling_face_with_horns","devil","horns","evil","fairy","fantasy","happy","imp","purple","red devil","smile","tale"],"👿":["angry_face_with_horns","devil","angry","horns","demon","evil","fairy","fantasy","goblin","imp","purple","sad","tale"],"💀":["skull","dead","skeleton","creepy","death","dead","body","danger","face","fairy","grey","halloween","monster","poison","tale"],"☠️":["skull_and_crossbones","poison","danger","deadly","scary","death","pirate","evil","body","face","halloween","monster"],"💩":["pile_of_poo","hankey","shitface","fail","turd","shit","comic","crap","dirt","dog","dung","face","monster","poop","smiling","bad","needs_improvement"],"🤡":["clown_face","face","mock"],"👹":["ogre","monster","red","mask","halloween","scary","creepy","devil","demon","japanese_ogre","creature","face","fairy","fantasy","oni","tale","shrek"],"👺":["goblin","red","evil","mask","monster","scary","creepy","japanese_goblin","creature","face","fairy","fantasy","long","nose","tale","tengu"],"👻":["ghost","halloween","spooky","scary","creature","disappear","face","fairy","fantasy","ghoul","monster","tale"],"👽":["alien","UFO","paul","weird","outer_space","creature","et","extraterrestrial","face","fairy","fantasy","monster","tale","external"],"👾":["alien_monster","game","arcade","play","creature","extraterrestrial","face","fairy","fantasy","invader","retro","space","tale","ufo","video"],"🤖":["robot","computer","machine","bot","face","monster"],"😺":["grinning_cat","animal","cats","happy","smile","face","mouth","open","smiley","smiling"],"😸":["grinning_cat_with_smiling_eyes","animal","cats","smile","eye","face","grin","happy"],"😹":["cat_with_tears_of_joy","animal","cats","haha","happy","tears","face","laughing","tear"],"😻":["smiling_cat_with_heart_eyes","animal","love","like","affection","cats","valentines","heart","eye","face","loving cat","shaped","smile"],"😼":["cat_with_wry_smile","animal","cats","smirk","face","ironic","smirking"],"😽":["kissing_cat","animal","cats","kiss","closed","eye","eyes","face"],"🙀":["weary_cat","animal","cats","munch","scared","scream","face","fear","horror","oh","screaming","surprised"],"😿":["crying_cat","animal","tears","weep","sad","cats","upset","cry","face","sad cat","tear"],"😾":["pouting_cat","animal","cats","face","grumpy"],"🙈":["see_no_evil_monkey","monkey","animal","nature","haha","blind","covering","eyes","face","forbidden","gesture","ignore","mizaru","not","prohibited"],"🙉":["hear_no_evil_monkey","animal","monkey","nature","covering","deaf","ears","face","forbidden","gesture","kikazaru","not","prohibited"],"🙊":["speak_no_evil_monkey","monkey","animal","nature","omg","covering","face","forbidden","gesture","hush","iwazaru","mouth","mute","not","no speaking","prohibited","ignore"],"💋":["kiss_mark","face","lips","love","like","affection","valentines","heart","kissing","lipstick","romance"],"💌":["love_letter","email","like","affection","envelope","valentines","heart","mail","note","romance"],"💘":["heart_with_arrow","love","like","heart","affection","valentines","cupid","lovestruck","romance"],"💝":["heart_with_ribbon","love","valentines","box","chocolate","chocolates","gift","valentine"],"💖":["sparkling_heart","love","like","affection","valentines","excited","sparkle","sparkly","stars heart"],"💗":["growing_heart","like","love","affection","valentines","pink","excited","heartpulse","multiple","nervous","pulse","triple"],"💓":["beating_heart","love","like","affection","valentines","pink","heart","alarm","heartbeat","pulsating","wifi"],"💞":["revolving_hearts","love","like","affection","valentines","heart","two"],"💕":["two_hearts","love","like","affection","valentines","heart","pink","small"],"💟":["heart_decoration","purple-square","love","like"],"❣️":["heart_exclamation","decoration","love","above","an","as","dot","heavy","mark","ornament","punctuation","red"],"💔":["broken_heart","sad","sorry","break","heart","heartbreak","breaking","brokenhearted"],"❤️":["red_heart","love","like","valentines","black","heavy"],"🧡":["orange_heart","love","like","affection","valentines"],"💛":["yellow_heart","love","like","affection","valentines","bf","gold","snapchat"],"💚":["green_heart","love","like","affection","valentines","nct"],"💙":["blue_heart","love","like","affection","valentines","brand","neutral"],"💜":["purple_heart","love","like","affection","valentines","bts","emoji"],"🤎":["brown_heart","coffee"],"🖤":["black_heart","evil","dark","wicked"],"🤍":["white_heart","pure"],"💯":["hundred_points","score","perfect","numbers","century","exam","quiz","test","pass","hundred","100","full","keep","symbol"],"💢":["anger_symbol","angry","mad","comic","pop","sign","vein"],"💥":["collision","bomb","explode","explosion","blown","bang","boom","comic","impact","red","spark","symbol","break"],"💫":["dizzy","star","sparkle","shoot","magic","circle","comic","symbol","animations","transitions"],"💦":["sweat_droplets","water","drip","oops","comic","drops","plewds","splashing","symbol","workout"],"💨":["dashing_away","wind","air","fast","shoo","fart","smoke","puff","blow","comic","dash","gust","running","steam","symbol","vaping"],"🕳️":["hole","embarrassing"],"💣":["bomb","boom","explode","explosion","terrorism","comic"],"💬":["speech_balloon","bubble","words","message","talk","chatting","chat","comic","comment","dialog","text","literals"],"👁️‍🗨️":["eye_in_speech_bubble","info","am","i","witness"],"🗨️":["left_speech_bubble","words","message","talk","chatting","dialog"],"🗯️":["right_anger_bubble","caption","speech","thinking","mad","angry","balloon","zag","zig"],"💭":["thought_balloon","bubble","cloud","speech","thinking","dream","comic"],"💤":["zzz","sleepy","tired","dream","bedtime","boring","comic","sign","sleep","sleeping","symbol"],"👋":["waving_hand","wave","hands","gesture","goodbye","solong","farewell","hello","hi","palm","body","sign"],"🤚":["raised_back_of_hand","fingers","raised","backhand","body"],"🖐️":["hand_with_fingers_splayed","hand","fingers","palm","body","finger","five","raised"],"✋":["raised_hand","fingers","stop","highfive","palm","ban","body","five","high"],"🖖":["vulcan_salute","hand","fingers","spock","star trek","between","body","finger","middle","part","prosper","raised","ring","split"],"👌":["ok_hand","fingers","limbs","perfect","ok","okay","body","sign"],"🤏":["pinching_hand","tiny","small","size","amount","body","little"],"✌️":["victory_hand","fingers","ohyeah","hand","peace","victory","two","air","body","quotes","sign","v"],"🤞":["crossed_fingers","good","lucky","body","cross","finger","hand","hopeful","index","luck","middle"],"🤟":["love_you_gesture","hand","fingers","gesture","body","i","ily","sign"],"🤘":["sign_of_the_horns","hand","fingers","evil_eye","sign_of_horns","rock_on","body","devil","finger","heavy","metal"],"🤙":["call_me_hand","hands","gesture","shaka","body","phone","sign"],"👈":["backhand_index_pointing_left","direction","fingers","hand","left","body","finger","point","white"],"👉":["backhand_index_pointing_right","fingers","hand","direction","right","body","finger","point","white"],"👆":["backhand_index_pointing_up","fingers","hand","direction","up","body","finger","middle","point","white"],"🖕":["middle_finger","hand","fingers","rude","middle","flipping","bird","body","dito","extended","fu","medio","middle finger","reversed"],"👇":["backhand_index_pointing_down","fingers","hand","direction","down","body","finger","point","white"],"☝️":["index_pointing_up","hand","fingers","direction","up","body","finger","point","secret","white"],"👍":["thumbs_up","thumbsup","yes","awesome","good","agree","accept","cool","hand","like","+1","approve","body","ok","sign","thumb"],"👎":["thumbs_down","thumbsdown","no","dislike","hand","-1","bad","body","bury","disapprove","sign","thumb"],"✊":["raised_fist","fingers","hand","grasp","body","clenched","power","pump","punch"],"👊":["oncoming_fist","angry","violence","fist","hit","attack","hand","body","bro","brofist","bump","clenched","closed","facepunch","fisted","punch","sign"],"🤛":["left_facing_fist","hand","fistbump","body","bump","leftwards"],"🤜":["right_facing_fist","hand","fistbump","body","bump","rightwards","right fist"],"👏":["clapping_hands","hands","praise","applause","congrats","yay","body","clap","golf","hand","round","sign"],"🙌":["raising_hands","gesture","hooray","yea","celebration","hands","air","arms","banzai","body","both","festivus","hallelujah","hand","miracle","person","praise","raised","two"],"👐":["open_hands","fingers","butterfly","hands","open","body","hand","hug","jazz","sign"],"🤲":["palms_up_together","hands","gesture","cupped","prayer","body","dua","facing"],"🤝":["handshake","agreement","shake","deal","hand","hands","meeting","shaking"],"🙏":["folded_hands","please","hope","wish","namaste","highfive","pray","thank you","thanks","appreciate","ask","body","bow","five","gesture","hand","high","person","prayer","pressed","together"],"✍️":["writing_hand","lower_left_ballpoint_pen","stationery","write","compose","body"],"💅":["nail_polish","nail_care","beauty","manicure","finger","fashion","nail","slay","body","cosmetics","fingers","nonchalant"],"🤳":["selfie","camera","phone","arm","hand"],"💪":["flexed_biceps","arm","flex","hand","summer","strong","biceps","bicep","body","comic","feats","flexing","muscle","muscles","strength","workout"],"🦾":["mechanical_arm","accessibility","body","prosthetic"],"🦿":["mechanical_leg","accessibility","body","prosthetic"],"🦵":["leg","kick","limb","body"],"🦶":["foot","kick","stomp","body"],"👂":["ear","face","hear","sound","listen","body","ears","hearing","listening","nose"],"🦻":["ear_with_hearing_aid","accessibility","body","hard"],"👃":["nose","smell","sniff","body","smelling","sniffing","stinky"],"🧠":["brain","smart","intelligent","body","organ"],"🦷":["tooth","teeth","dentist","body"],"🦴":["bone","skeleton","body"],"👀":["eyes","look","watch","stalk","peek","see","body","eye","eyeballs","face","shifty","wide"],"👁️":["eye","face","look","see","watch","stare","body","single"],"👅":["tongue","mouth","playful","body","out","taste"],"👄":["mouth","kiss","body","kissing","lips"],"👶":["baby","child","boy","girl","toddler","newborn","young"],"🧒":["child","gender-neutral","young","boy","gender","girl","inclusive","neutral","person","unspecified"],"👦":["boy","man","male","guy","teenager","child","young"],"👧":["girl","female","woman","teenager","child","maiden","virgin","virgo","young","zodiac"],"🧑":["person","gender-neutral","adult","female","gender","inclusive","male","man","men","neutral","unspecified","woman","women"],"👱":["person_blond_hair","hairstyle","blonde","haired","man"],"👨":["man","mustache","father","dad","guy","classy","sir","moustache","adult","male","men"],"🧔":["man_beard","person","bewhiskered","bearded"],"👨‍🦰":["man_red_hair","hairstyle","adult","ginger","haired","male","men","redhead"],"👨‍🦱":["man_curly_hair","hairstyle","adult","haired","male","men"],"👨‍🦳":["man_white_hair","old","elder","adult","haired","male","men"],"👨‍🦲":["man_bald","hairless","adult","hair","male","men","no"],"👩":["woman","female","girls","lady","adult","women","yellow"],"👩‍🦰":["woman_red_hair","hairstyle","adult","female","ginger","haired","redhead","women"],"🧑‍🦰":["person_red_hair","hairstyle","adult","gender","haired","unspecified"],"👩‍🦱":["woman_curly_hair","hairstyle","adult","female","haired","women"],"🧑‍🦱":["person_curly_hair","hairstyle","adult","gender","haired","unspecified"],"👩‍🦳":["woman_white_hair","old","elder","adult","female","haired","women"],"🧑‍🦳":["person_white_hair","elder","old","adult","gender","haired","unspecified"],"👩‍🦲":["woman_bald","hairless","adult","female","hair","no","women"],"🧑‍🦲":["person_bald","hairless","adult","gender","hair","no","unspecified"],"👱‍♀️":["woman_blond_hair","woman","female","girl","blonde","person","haired","women"],"👱‍♂️":["man_blond_hair","man","male","boy","blonde","guy","person","haired","men"],"🧓":["older_person","human","elder","senior","gender-neutral","adult","female","gender","male","man","men","neutral","old","unspecified","woman","women"],"👴":["old_man","human","male","men","old","elder","senior","adult","elderly","grandpa","older"],"👵":["old_woman","human","female","women","lady","old","elder","senior","adult","elderly","grandma","nanna","older"],"🙍":["person_frowning","worried","frown","gesture","sad","woman"],"🙍‍♂️":["man_frowning","male","boy","man","sad","depressed","discouraged","unhappy","frown","gesture","men"],"🙍‍♀️":["woman_frowning","female","girl","woman","sad","depressed","discouraged","unhappy","frown","gesture","women"],"🙎":["person_pouting","upset","blank","face","fed","gesture","look","up"],"🙎‍♂️":["man_pouting","male","boy","man","gesture","men"],"🙎‍♀️":["woman_pouting","female","girl","woman","gesture","women"],"🙅":["person_gesturing_no","decline","arms","deal","denied","face","forbidden","gesture","good","halt","hand","not","ok","prohibited","stop","x"],"🙅‍♂️":["man_gesturing_no","male","boy","man","nope","denied","forbidden","gesture","good","halt","hand","men","ng","not","ok","prohibited","stop"],"🙅‍♀️":["woman_gesturing_no","female","girl","woman","nope","denied","forbidden","gesture","good","halt","hand","ng","not","ok","prohibited","stop","women"],"🙆":["person_gesturing_ok","agree","ballerina","face","gesture","hand","hands","head"],"🙆‍♂️":["man_gesturing_ok","men","boy","male","blue","human","man","gesture","hand"],"🙆‍♀️":["woman_gesturing_ok","women","girl","female","pink","human","woman","gesture","hand"],"💁":["person_tipping_hand","information","attendant","bellhop","concierge","desk","female","flick","girl","hair","help","sassy","woman","women"],"💁‍♂️":["man_tipping_hand","male","boy","man","human","information","desk","help","men","sassy"],"💁‍♀️":["woman_tipping_hand","female","girl","woman","human","information","desk","help","sassy","women"],"🙋":["person_raising_hand","question","answering","gesture","happy","one","raised","up"],"🙋‍♂️":["man_raising_hand","male","boy","man","gesture","happy","men","one","raised"],"🙋‍♀️":["woman_raising_hand","female","girl","woman","gesture","happy","one","raised","women"],"🧏":["deaf_person","accessibility","ear","hear"],"🧏‍♂️":["deaf_man","accessibility","male","men"],"🧏‍♀️":["deaf_woman","accessibility","female","women"],"🙇":["person_bowing","respectiful","apology","bow","boy","cute","deeply","dogeza","gesture","man","massage","respect","sorry","thanks"],"🙇‍♂️":["man_bowing","man","male","boy","apology","bow","deeply","favor","gesture","men","respect","sorry","thanks"],"🙇‍♀️":["woman_bowing","woman","female","girl","apology","bow","deeply","favor","gesture","respect","sorry","thanks","women"],"🤦":["person_facepalming","disappointed","disbelief","exasperation","face","facepalm","head","hitting","palm","picard","smh"],"🤦‍♂️":["man_facepalming","man","male","boy","disbelief","exasperation","face","facepalm","men","palm"],"🤦‍♀️":["woman_facepalming","woman","female","girl","disbelief","exasperation","face","facepalm","palm","women"],"🤷":["person_shrugging","regardless","doubt","ignorance","indifference","shrug","shruggie","¯\\"],"🤷‍♂️":["man_shrugging","man","male","boy","confused","indifferent","doubt","ignorance","indifference","men","shrug"],"🤷‍♀️":["woman_shrugging","woman","female","girl","confused","indifferent","doubt","ignorance","indifference","shrug","women"],"🧑‍⚕️":["health_worker","hospital","dentist","doctor","healthcare","md","nurse","physician","professional","therapist"],"👨‍⚕️":["man_health_worker","doctor","nurse","therapist","healthcare","man","human","dentist","male","md","men","physician","professional"],"👩‍⚕️":["woman_health_worker","doctor","nurse","therapist","healthcare","woman","human","dentist","female","md","physician","professional","women"],"🧑‍🎓":["student","learn","education","graduate","pupil","school"],"👨‍🎓":["man_student","graduate","man","human","education","graduation","male","men","pupil","school"],"👩‍🎓":["woman_student","graduate","woman","human","education","female","graduation","pupil","school","women"],"🧑‍🏫":["teacher","professor","education","educator","instructor"],"👨‍🏫":["man_teacher","instructor","professor","man","human","education","educator","male","men","school"],"👩‍🏫":["woman_teacher","instructor","professor","woman","human","education","educator","female","school","women"],"🧑‍⚖️":["judge","law","court","justice","scales"],"👨‍⚖️":["man_judge","justice","court","man","human","law","male","men","scales"],"👩‍⚖️":["woman_judge","justice","court","woman","human","female","law","scales","women"],"🧑‍🌾":["farmer","crops","farm","farming","gardener","rancher","worker"],"👨‍🌾":["man_farmer","rancher","gardener","man","human","farm","farming","male","men","worker"],"👩‍🌾":["woman_farmer","rancher","gardener","woman","human","farm","farming","female","women","worker"],"🧑‍🍳":["cook","food","kitchen","culinary","chef","cooking","service"],"👨‍🍳":["man_cook","chef","man","human","cooking","food","male","men","service"],"👩‍🍳":["woman_cook","chef","woman","human","cooking","female","food","service","women"],"🧑‍🔧":["mechanic","worker","technician","electrician","person","plumber","repair","tradesperson"],"👨‍🔧":["man_mechanic","plumber","man","human","wrench","electrician","male","men","person","repair","tradesperson"],"👩‍🔧":["woman_mechanic","plumber","woman","human","wrench","electrician","female","person","repair","tradesperson","women"],"🧑‍🏭":["factory_worker","labor","assembly","industrial","welder"],"👨‍🏭":["man_factory_worker","assembly","industrial","man","human","male","men","welder"],"👩‍🏭":["woman_factory_worker","assembly","industrial","woman","human","female","welder","women"],"🧑‍💼":["office_worker","business","accountant","adviser","analyst","architect","banker","clerk","manager"],"👨‍💼":["man_office_worker","business","manager","man","human","accountant","adviser","analyst","architect","banker","businessman","ceo","clerk","male","men"],"👩‍💼":["woman_office_worker","business","manager","woman","human","accountant","adviser","analyst","architect","banker","businesswoman","ceo","clerk","female","women"],"🧑‍🔬":["scientist","chemistry","biologist","chemist","engineer","lab","mathematician","physicist","technician"],"👨‍🔬":["man_scientist","biologist","chemist","engineer","physicist","man","human","lab","male","mathematician","men","research","technician"],"👩‍🔬":["woman_scientist","biologist","chemist","engineer","physicist","woman","human","female","lab","mathematician","research","technician","women"],"🧑‍💻":["technologist","computer","coder","engineer","laptop","software","technology","developer"],"👨‍💻":["man_technologist","coder","developer","engineer","programmer","software","man","human","laptop","computer","blogger","male","men","technology"],"👩‍💻":["woman_technologist","coder","developer","engineer","programmer","software","woman","human","laptop","computer","blogger","female","technology","women"],"🧑‍🎤":["singer","song","artist","performer","actor","entertainer","music","musician","rock","rocker","rockstar","star"],"👨‍🎤":["man_singer","rockstar","entertainer","man","human","actor","aladdin","bowie","male","men","music","musician","rock","rocker","sane","star"],"👩‍🎤":["woman_singer","rockstar","entertainer","woman","human","actor","female","music","musician","rock","rocker","star","women"],"🧑‍🎨":["artist","painting","draw","creativity","art","paint","painter","palette"],"👨‍🎨":["man_artist","painter","man","human","art","male","men","paint","palette"],"👩‍🎨":["woman_artist","painter","woman","human","art","female","paint","palette","women"],"🧑‍✈️":["pilot","fly","plane","airplane","aviation","aviator"],"👨‍✈️":["man_pilot","aviator","plane","man","human","airplane","aviation","male","men"],"👩‍✈️":["woman_pilot","aviator","plane","woman","human","airplane","aviation","female","women"],"🧑‍🚀":["astronaut","outerspace","moon","planets","rocket","space","stars"],"👨‍🚀":["man_astronaut","space","rocket","man","human","cosmonaut","male","men","moon","planets","stars"],"👩‍🚀":["woman_astronaut","space","rocket","woman","human","cosmonaut","female","moon","planets","stars","women"],"🧑‍🚒":["firefighter","fire","firetruck"],"👨‍🚒":["man_firefighter","fireman","man","human","fire","firetruck","male","men"],"👩‍🚒":["woman_firefighter","fireman","woman","human","female","fire","firetruck","women"],"👮":["police_officer","cop","law","policeman","policewoman"],"👮‍♂️":["man_police_officer","man","police","law","legal","enforcement","arrest","911","cop","male","men","policeman"],"👮‍♀️":["woman_police_officer","woman","police","law","legal","enforcement","arrest","911","female","cop","policewoman","women"],"🕵️":["detective","human","spy","eye","or","private","sleuth"],"🕵️‍♂️":["man_detective","crime","male","men","sleuth","spy"],"🕵️‍♀️":["woman_detective","human","spy","detective","female","woman","sleuth","women"],"💂":["guard","protect","british","guardsman"],"💂‍♂️":["man_guard","uk","gb","british","male","guy","royal","guardsman","men"],"💂‍♀️":["woman_guard","uk","gb","british","female","royal","woman","guardsman","guardswoman","women"],"👷":["construction_worker","labor","build","builder","face","hard","hat","helmet","safety","add_ci","update_ci"],"👷‍♂️":["man_construction_worker","male","human","wip","guy","build","construction","worker","labor","helmet","men"],"👷‍♀️":["woman_construction_worker","female","human","wip","build","construction","worker","labor","woman","helmet","women"],"🤴":["prince","boy","man","male","crown","royal","king","fairy","fantasy","men","tale"],"👸":["princess","girl","woman","female","blond","crown","royal","queen","blonde","fairy","fantasy","tale","tiara","women"],"👳":["person_wearing_turban","headdress","arab","man","muslim","sikh"],"👳‍♂️":["man_wearing_turban","male","indian","hinduism","arabs","men"],"👳‍♀️":["woman_wearing_turban","female","indian","hinduism","arabs","woman","women"],"👲":["man_with_skullcap","male","boy","chinese","asian","cap","gua","hat","mao","person","pi"],"🧕":["woman_with_headscarf","female","hijab","mantilla","tichel"],"🤵":["man_in_tuxedo","couple","marriage","wedding","groom","male","men","person","suit"],"👰":["bride_with_veil","couple","marriage","wedding","woman","bride","person"],"🤰":["pregnant_woman","baby","female","pregnancy","pregnant lady","women"],"🤱":["breast_feeding","nursing","baby","breastfeeding","child","female","infant","milk","mother","woman","women"],"👼":["baby_angel","heaven","wings","halo","cherub","cupid","face","fairy","fantasy","putto","tale"],"🎅":["santa_claus","festival","man","male","xmas","father christmas","activity","celebration","men","nicholas","saint","sinterklaas"],"🤶":["mrs_claus","woman","female","xmas","mother christmas","activity","celebration","mrs.","santa","women"],"🦸":["superhero","marvel","fantasy","good","hero","heroine","superpower","superpowers"],"🦸‍♂️":["man_superhero","man","male","good","hero","superpowers","fantasy","men","superpower"],"🦸‍♀️":["woman_superhero","woman","female","good","heroine","superpowers","fantasy","hero","superpower","women"],"🦹":["supervillain","marvel","bad","criminal","evil","fantasy","superpower","superpowers","villain"],"🦹‍♂️":["man_supervillain","man","male","evil","bad","criminal","hero","superpowers","fantasy","men","superpower","villain"],"🦹‍♀️":["woman_supervillain","woman","female","evil","bad","criminal","heroine","superpowers","fantasy","superpower","villain","women"],"🧙":["mage","magic","fantasy","sorcerer","sorceress","witch","wizard"],"🧙‍♂️":["man_mage","man","male","mage","sorcerer","fantasy","men","wizard"],"🧙‍♀️":["woman_mage","woman","female","mage","witch","fantasy","sorceress","wizard","women"],"🧚":["fairy","wings","magical","fantasy","oberon","puck","titania"],"🧚‍♂️":["man_fairy","man","male","fantasy","men","oberon","puck"],"🧚‍♀️":["woman_fairy","woman","female","fantasy","titania","wings","women"],"🧛":["vampire","blood","twilight","dracula","fantasy","undead"],"🧛‍♂️":["man_vampire","man","male","dracula","fantasy","men","undead"],"🧛‍♀️":["woman_vampire","woman","female","fantasy","undead","unded","women"],"🧜":["merperson","sea","fantasy","merboy","mergirl","mermaid","merman","merwoman"],"🧜‍♂️":["merman","man","male","triton","fantasy","men","mermaid"],"🧜‍♀️":["mermaid","woman","female","merwoman","ariel","fantasy","women"],"🧝":["elf","magical","ears","fantasy","legolas","pointed"],"🧝‍♂️":["man_elf","man","male","ears","fantasy","magical","men","pointed"],"🧝‍♀️":["woman_elf","woman","female","ears","fantasy","magical","pointed","women"],"🧞":["genie","magical","wishes","djinn","djinni","fantasy","jinni"],"🧞‍♂️":["man_genie","man","male","djinn","fantasy","men"],"🧞‍♀️":["woman_genie","woman","female","djinn","fantasy","women"],"🧟":["zombie","dead","fantasy","undead","walking"],"🧟‍♂️":["man_zombie","man","male","dracula","undead","walking dead","fantasy","men"],"🧟‍♀️":["woman_zombie","woman","female","undead","walking dead","fantasy","women"],"💆":["person_getting_massage","relax","face","head","massaging","salon","spa"],"💆‍♂️":["man_getting_massage","male","boy","man","head","face","men","salon","spa"],"💆‍♀️":["woman_getting_massage","female","girl","woman","head","face","salon","spa","women"],"💇":["person_getting_haircut","hairstyle","barber","beauty","cutting","hair","hairdresser","parlor"],"💇‍♂️":["man_getting_haircut","male","boy","man","barber","beauty","men","parlor"],"💇‍♀️":["woman_getting_haircut","female","girl","woman","barber","beauty","parlor","women"],"🚶":["person_walking","move","hike","pedestrian","walk","walker"],"🚶‍♂️":["man_walking","human","feet","steps","hike","male","men","pedestrian","walk"],"🚶‍♀️":["woman_walking","human","feet","steps","woman","female","hike","pedestrian","walk","women"],"🧍":["person_standing","still","stand"],"🧍‍♂️":["man_standing","still","male","men","stand"],"🧍‍♀️":["woman_standing","still","female","stand","women"],"🧎":["person_kneeling","pray","respectful","kneel"],"🧎‍♂️":["man_kneeling","pray","respectful","kneel","male","men"],"🧎‍♀️":["woman_kneeling","respectful","pray","female","kneel","women"],"🧑‍🦯":["person_with_probing_cane","blind","accessibility","white"],"👨‍🦯":["man_with_probing_cane","blind","accessibility","male","men","white"],"👩‍🦯":["woman_with_probing_cane","blind","accessibility","female","white","women"],"🧑‍🦼":["person_in_motorized_wheelchair","disability","accessibility"],"👨‍🦼":["man_in_motorized_wheelchair","disability","accessibility","male","men"],"👩‍🦼":["woman_in_motorized_wheelchair","disability","accessibility","female","women"],"🧑‍🦽":["person_in_manual_wheelchair","disability","accessibility"],"👨‍🦽":["man_in_manual_wheelchair","disability","accessibility","male","men"],"👩‍🦽":["woman_in_manual_wheelchair","disability","accessibility","female","women"],"🏃":["person_running","move","exercise","jogging","marathon","run","runner","workout"],"🏃‍♂️":["man_running","man","walking","exercise","race","running","male","marathon","men","racing","runner","workout"],"🏃‍♀️":["woman_running","woman","walking","exercise","race","running","female","boy","marathon","racing","runner","women","workout"],"💃":["woman_dancing","female","girl","woman","fun","dance","dancer","dress","red","salsa","women"],"🕺":["man_dancing","male","boy","fun","dancer","dance","disco","men"],"🕴️":["man_in_suit_levitating","suit","business","levitate","hover","jump","boy","hovering","jabsco","male","men","person","rude","walt"],"👯":["people_with_bunny_ears","perform","costume","dancer","dancing","ear","partying","wearing","women"],"👯‍♂️":["men_with_bunny_ears","male","bunny","men","boys","dancer","dancing","ear","man","partying","wearing"],"👯‍♀️":["women_with_bunny_ears","female","bunny","women","girls","dancer","dancing","ear","partying","people","wearing"],"🧖":["person_in_steamy_room","relax","spa","hamam","sauna","steam","steambath"],"🧖‍♂️":["man_in_steamy_room","male","man","spa","steamroom","sauna","hamam","men","steam","steambath"],"🧖‍♀️":["woman_in_steamy_room","female","woman","spa","steamroom","sauna","hamam","steam","steambath","women"],"🧗":["person_climbing","sport","bouldering","climber","rock"],"🧗‍♂️":["man_climbing","sports","hobby","man","male","rock","bouldering","climber","men"],"🧗‍♀️":["woman_climbing","sports","hobby","woman","female","rock","bouldering","climber","women"],"🤺":["person_fencing","sports","fencing","sword","fencer"],"🏇":["horse_racing","animal","betting","competition","gambling","luck","jockey","race","racehorse"],"⛷️":["skier","sports","winter","snow","ski"],"🏂":["snowboarder","sports","winter","ski","snow","snowboard","snowboarding"],"🏌️":["person_golfing","sports","business","ball","club","golf","golfer"],"🏌️‍♂️":["man_golfing","sport","ball","golf","golfer","male","men"],"🏌️‍♀️":["woman_golfing","sports","business","woman","female","ball","golf","golfer","women"],"🏄":["person_surfing","sport","sea","surf","surfer"],"🏄‍♂️":["man_surfing","sports","ocean","sea","summer","beach","male","men","surfer"],"🏄‍♀️":["woman_surfing","sports","ocean","sea","summer","beach","woman","female","surfer","women"],"🚣":["person_rowing_boat","sport","move","paddles","rowboat","vehicle"],"🚣‍♂️":["man_rowing_boat","sports","hobby","water","ship","male","men","rowboat","vehicle"],"🚣‍♀️":["woman_rowing_boat","sports","hobby","water","ship","woman","female","rowboat","vehicle","women"],"🏊":["person_swimming","sport","pool","swim","swimmer"],"🏊‍♂️":["man_swimming","sports","exercise","human","athlete","water","summer","male","men","swim","swimmer"],"🏊‍♀️":["woman_swimming","sports","exercise","human","athlete","water","summer","woman","female","swim","swimmer","women"],"⛹️":["person_bouncing_ball","sports","human","basketball","player"],"⛹️‍♂️":["man_bouncing_ball","sport","basketball","male","men","player"],"⛹️‍♀️":["woman_bouncing_ball","sports","human","woman","female","basketball","player","women"],"🏋️":["person_lifting_weights","sports","training","exercise","bodybuilder","gym","lifter","weight","weightlifter","workout"],"🏋️‍♂️":["man_lifting_weights","sport","gym","lifter","male","men","weight","weightlifter","workout"],"🏋️‍♀️":["woman_lifting_weights","sports","training","exercise","woman","female","gym","lifter","weight","weightlifter","women","workout"],"🚴":["person_biking","bicycle","bike","cyclist","sport","move","bicyclist"],"🚴‍♂️":["man_biking","bicycle","bike","cyclist","sports","exercise","hipster","bicyclist","male","men"],"🚴‍♀️":["woman_biking","bicycle","bike","cyclist","sports","exercise","hipster","woman","female","bicyclist","women"],"🚵":["person_mountain_biking","bicycle","bike","cyclist","sport","move","bicyclist","biker"],"🚵‍♂️":["man_mountain_biking","bicycle","bike","cyclist","transportation","sports","human","race","bicyclist","biker","male","men"],"🚵‍♀️":["woman_mountain_biking","bicycle","bike","cyclist","transportation","sports","human","race","woman","female","bicyclist","biker","women"],"🤸":["person_cartwheeling","sport","gymnastic","cartwheel","doing","gymnast","gymnastics"],"🤸‍♂️":["man_cartwheeling","gymnastics","cartwheel","doing","male","men"],"🤸‍♀️":["woman_cartwheeling","gymnastics","cartwheel","doing","female","women"],"🤼":["people_wrestling","sport","wrestle","wrestler","wrestlers"],"🤼‍♂️":["men_wrestling","sports","wrestlers","male","man","wrestle","wrestler"],"🤼‍♀️":["women_wrestling","sports","wrestlers","female","woman","wrestle","wrestler"],"🤽":["person_playing_water_polo","sport"],"🤽‍♂️":["man_playing_water_polo","sports","pool","male","men"],"🤽‍♀️":["woman_playing_water_polo","sports","pool","female","women"],"🤾":["person_playing_handball","sport","ball"],"🤾‍♂️":["man_playing_handball","sports","ball","male","men"],"🤾‍♀️":["woman_playing_handball","sports","ball","female","women"],"🤹":["person_juggling","performance","balance","juggle","juggler","multitask","skill"],"🤹‍♂️":["man_juggling","juggle","balance","skill","multitask","juggler","male","men"],"🤹‍♀️":["woman_juggling","juggle","balance","skill","multitask","female","juggler","women"],"🧘":["person_in_lotus_position","meditate","meditation","serenity","yoga"],"🧘‍♂️":["man_in_lotus_position","man","male","meditation","yoga","serenity","zen","mindfulness","men"],"🧘‍♀️":["woman_in_lotus_position","woman","female","meditation","yoga","serenity","zen","mindfulness","women"],"🛀":["person_taking_bath","clean","shower","bathroom","bathing","bathtub","hot"],"🛌":["person_in_bed","bed","rest","accommodation","hotel","sleep","sleeping"],"🧑‍🤝‍🧑":["people_holding_hands","friendship","couple","date","gender","hand","hold","inclusive","neutral","nonconforming"],"👭":["women_holding_hands","pair","friendship","couple","love","like","female","people","human","date","hand","hold","lesbian","lgbt","pride","two","woman"],"👫":["woman_and_man_holding_hands","pair","people","human","love","date","dating","like","affection","valentines","marriage","couple","female","hand","heterosexual","hold","male","men","straight","women"],"👬":["men_holding_hands","pair","couple","love","like","bromance","friendship","people","human","date","gay","hand","hold","lgbt","male","man","pride","two"],"💏":["kiss","pair","valentines","love","like","dating","marriage","couple","couplekiss","female","gender","heart","kissing","male","man","men","neutral","romance","woman","women"],"👩‍❤️‍💋‍👨":["kiss_woman_man","love","couple","couplekiss","female","heart","kissing","male","men","romance","women"],"👨‍❤️‍💋‍👨":["kiss_man_man","pair","valentines","love","like","dating","marriage","couple","couplekiss","gay","heart","kissing","lgbt","male","men","pride","romance","two"],"👩‍❤️‍💋‍👩":["kiss_woman_woman","pair","valentines","love","like","dating","marriage","couple","couplekiss","female","heart","kissing","lesbian","lgbt","pride","romance","two","women"],"💑":["couple_with_heart","pair","love","like","affection","human","dating","valentines","marriage","female","gender","loving","male","man","men","neutral","romance","woman","women"],"👩‍❤️‍👨":["couple_with_heart_woman_man","love","female","male","men","romance","women"],"👨‍❤️‍👨":["couple_with_heart_man_man","pair","love","like","affection","human","dating","valentines","marriage","gay","lgbt","male","men","pride","romance","two"],"👩‍❤️‍👩":["couple_with_heart_woman_woman","pair","love","like","affection","human","dating","valentines","marriage","female","lesbian","lgbt","pride","romance","two","women"],"👪":["family","home","parents","child","mom","dad","father","mother","people","human","boy","female","male","man","men","woman","women"],"👨‍👩‍👦":["family_man_woman_boy","love","father","mother","son"],"👨‍👩‍👧":["family_man_woman_girl","home","parents","people","human","child","daughter","father","female","male","men","mother","women"],"👨‍👩‍👧‍👦":["family_man_woman_girl_boy","home","parents","people","human","children","child","daughter","father","female","male","men","mother","son","women"],"👨‍👩‍👦‍👦":["family_man_woman_boy_boy","home","parents","people","human","children","child","father","female","male","men","mother","sons","two","women"],"👨‍👩‍👧‍👧":["family_man_woman_girl_girl","home","parents","people","human","children","child","daughters","father","female","male","men","mother","two","women"],"👨‍👨‍👦":["family_man_man_boy","home","parents","people","human","children","child","father","fathers","gay","lgbt","male","men","pride","son","two"],"👨‍👨‍👧":["family_man_man_girl","home","parents","people","human","children","child","daughter","father","fathers","gay","lgbt","male","men","pride","two"],"👨‍👨‍👧‍👦":["family_man_man_girl_boy","home","parents","people","human","children","child","daughter","father","fathers","gay","lgbt","male","men","pride","son","two"],"👨‍👨‍👦‍👦":["family_man_man_boy_boy","home","parents","people","human","children","child","father","fathers","gay","lgbt","male","men","pride","sons","two"],"👨‍👨‍👧‍👧":["family_man_man_girl_girl","home","parents","people","human","children","child","daughters","father","fathers","gay","lgbt","male","men","pride","two"],"👩‍👩‍👦":["family_woman_woman_boy","home","parents","people","human","children","child","female","lesbian","lgbt","mother","mothers","pride","son","two","women"],"👩‍👩‍👧":["family_woman_woman_girl","home","parents","people","human","children","child","daughter","female","lesbian","lgbt","mother","mothers","pride","two","women"],"👩‍👩‍👧‍👦":["family_woman_woman_girl_boy","home","parents","people","human","children","child","daughter","female","lesbian","lgbt","mother","mothers","pride","son","two","women"],"👩‍👩‍👦‍👦":["family_woman_woman_boy_boy","home","parents","people","human","children","child","female","lesbian","lgbt","mother","mothers","pride","sons","two","women"],"👩‍👩‍👧‍👧":["family_woman_woman_girl_girl","home","parents","people","human","children","child","daughters","female","lesbian","lgbt","mother","mothers","pride","two","women"],"👨‍👦":["family_man_boy","home","parent","people","human","child","father","male","men","son"],"👨‍👦‍👦":["family_man_boy_boy","home","parent","people","human","children","child","father","male","men","sons","two"],"👨‍👧":["family_man_girl","home","parent","people","human","child","daughter","father","female","male"],"👨‍👧‍👦":["family_man_girl_boy","home","parent","people","human","children","child","daughter","father","male","men","son"],"👨‍👧‍👧":["family_man_girl_girl","home","parent","people","human","children","child","daughters","father","female","male","two"],"👩‍👦":["family_woman_boy","home","parent","people","human","child","female","mother","son","women"],"👩‍👦‍👦":["family_woman_boy_boy","home","parent","people","human","children","child","female","mother","sons","two","women"],"👩‍👧":["family_woman_girl","home","parent","people","human","child","daughter","female","mother","women"],"👩‍👧‍👦":["family_woman_girl_boy","home","parent","people","human","children","child","daughter","female","male","mother","son"],"👩‍👧‍👧":["family_woman_girl_girl","home","parent","people","human","children","child","daughters","female","mother","two","women"],"🗣️":["speaking_head","user","person","human","sing","say","talk","face","mansplaining","shout","shouting","silhouette","speak"],"👤":["bust_in_silhouette","user","person","human","shadow"],"👥":["busts_in_silhouette","user","person","human","group","team","bust","people","shadows","silhouettes","two","users","contributors"],"👣":["footprints","feet","tracking","walking","beach","body","clothing","footprint","footsteps","print","tracks"],"🐵":["monkey_face","animal","nature","circus","head"],"🐒":["monkey","animal","nature","banana","circus","cheeky"],"🦍":["gorilla","animal","nature","circus"],"🦧":["orangutan","animal","ape"],"🐶":["dog_face","animal","friend","nature","woof","puppy","pet","faithful"],"🐕":["dog","animal","nature","friend","doge","pet","faithful","dog2","doggo"],"🦮":["guide_dog","animal","blind","accessibility","eye","seeing"],"🐕‍🦺":["service_dog","blind","animal","accessibility","assistance"],"🐩":["poodle","dog","animal","101","nature","pet","miniature","standard","toy"],"🐺":["wolf","animal","nature","wild","face"],"🦊":["fox","animal","nature","face"],"🦝":["raccoon","animal","nature","curious","face","sly"],"🐱":["cat_face","animal","meow","nature","pet","kitten","kitty"],"🐈":["cat","animal","meow","pet","cats","cat2","domestic","feline","housecat"],"🦁":["lion","animal","nature","face","leo","zodiac"],"🐯":["tiger_face","animal","cat","danger","wild","nature","roar","cute"],"🐅":["tiger","animal","nature","roar","bengal","tiger2"],"🐆":["leopard","animal","nature","african","jaguar"],"🐴":["horse_face","animal","brown","nature","head"],"🐎":["horse","animal","gamble","luck","equestrian","galloping","racehorse","racing","speed"],"🦄":["unicorn","animal","nature","mystical","face"],"🦓":["zebra","animal","nature","stripes","safari","face","stripe"],"🦌":["deer","animal","nature","horns","venison","buck","reindeer","stag"],"🐮":["cow_face","beef","ox","animal","nature","moo","milk","happy"],"🐂":["ox","animal","cow","beef","bull","bullock","oxen","steer","taurus","zodiac"],"🐃":["water_buffalo","animal","nature","ox","cow","domestic"],"🐄":["cow","beef","ox","animal","nature","moo","milk","cow2","dairy"],"🐷":["pig_face","animal","oink","nature","head"],"🐖":["pig","animal","nature","hog","pig2","sow"],"🐗":["boar","animal","nature","pig","warthog","wild"],"🐽":["pig_nose","animal","oink","face","snout"],"🐏":["ram","animal","sheep","nature","aries","male","zodiac"],"🐑":["ewe","animal","nature","wool","shipit","female","lamb","sheep"],"🐐":["goat","animal","nature","capricorn","zodiac"],"🐪":["camel","animal","hot","desert","hump","arabian","bump","dromedary","one"],"🐫":["two_hump_camel","animal","nature","hot","desert","hump","asian","bactrian","bump"],"🦙":["llama","animal","nature","alpaca","guanaco","vicuña","wool"],"🦒":["giraffe","animal","nature","spots","safari","face"],"🐘":["elephant","animal","nature","nose","th","circus"],"🦏":["rhinoceros","animal","nature","horn","rhino"],"🦛":["hippopotamus","animal","nature","hippo"],"🐭":["mouse_face","animal","nature","cheese_wedge","rodent"],"🐁":["mouse","animal","nature","rodent","dormouse","mice","mouse2"],"🐀":["rat","animal","mouse","rodent"],"🐹":["hamster","animal","nature","face","pet"],"🐰":["rabbit_face","animal","nature","pet","spring","magic","bunny","easter"],"🐇":["rabbit","animal","nature","pet","magic","spring","bunny","rabbit2"],"🐿️":["chipmunk","animal","nature","rodent","squirrel"],"🦔":["hedgehog","animal","nature","spiny","face"],"🦇":["bat","animal","nature","blind","vampire","batman"],"🐻":["bear","animal","nature","wild","face","teddy"],"🐨":["koala","animal","nature","bear","face","marsupial"],"🐼":["panda","animal","nature","face"],"🦥":["sloth","animal","lazy","slow"],"🦦":["otter","animal","fishing","playful"],"🦨":["skunk","animal","smelly","stink"],"🦘":["kangaroo","animal","nature","australia","joey","hop","marsupial","jump","roo"],"🦡":["badger","animal","nature","honey","pester"],"🐾":["paw_prints","animal","tracking","footprints","dog","cat","pet","feet","kitten","print","puppy"],"🦃":["turkey","animal","bird","thanksgiving","wild"],"🐔":["chicken","animal","cluck","nature","bird","hen"],"🐓":["rooster","animal","nature","chicken","bird","cock","cockerel"],"🐣":["hatching_chick","animal","chicken","egg","born","baby","bird"],"🐤":["baby_chick","animal","chicken","bird","yellow"],"🐥":["front_facing_baby_chick","animal","chicken","baby","bird","hatched","standing"],"🐦":["bird","animal","nature","fly","tweet","spring"],"🐧":["penguin","animal","nature","bird"],"🕊️":["dove","animal","bird","fly","peace"],"🦅":["eagle","animal","nature","bird","bald"],"🦆":["duck","animal","nature","bird","mallard"],"🦢":["swan","animal","nature","bird","cygnet","duckling","ugly"],"🦉":["owl","animal","nature","bird","hoot","wise"],"🦩":["flamingo","animal","flamboyant","tropical"],"🦚":["peacock","animal","nature","peahen","bird","ostentatious","proud"],"🦜":["parrot","animal","nature","bird","pirate","talk"],"🐸":["frog","animal","nature","croak","toad","face"],"🐊":["crocodile","animal","nature","reptile","lizard","alligator","croc"],"🐢":["turtle","animal","slow","nature","tortoise","terrapin"],"🦎":["lizard","animal","nature","reptile","gecko"],"🐍":["snake","animal","evil","nature","hiss","python","bearer","ophiuchus","serpent","zodiac"],"🐲":["dragon_face","animal","myth","nature","chinese","green","fairy","head","tale"],"🐉":["dragon","animal","myth","nature","chinese","green","fairy","tale"],"🦕":["sauropod","animal","nature","dinosaur","brachiosaurus","brontosaurus","diplodocus","extinct"],"🦖":["t_rex","animal","nature","dinosaur","tyrannosaurus","extinct","trex"],"🐳":["spouting_whale","animal","nature","sea","ocean","cute","face"],"🐋":["whale","animal","nature","sea","ocean","whale2"],"🐬":["dolphin","animal","nature","fish","sea","ocean","flipper","fins","beach"],"🐟":["fish","animal","food","nature","freshwater","pisces","zodiac"],"🐠":["tropical_fish","animal","swim","ocean","beach","nemo","blue","yellow"],"🐡":["blowfish","animal","nature","food","sea","ocean","fish","fugu","pufferfish"],"🦈":["shark","animal","nature","fish","sea","ocean","jaws","fins","beach","great","white"],"🐙":["octopus","animal","creature","ocean","sea","nature","beach"],"🐚":["spiral_shell","nature","sea","beach","seashell"],"🐌":["snail","slow","animal","shell","garden","slug"],"🦋":["butterfly","animal","insect","nature","caterpillar","pretty"],"🐛":["bug","animal","insect","nature","worm","caterpillar"],"🐜":["ant","animal","insect","nature","bug"],"🐝":["honeybee","animal","insect","nature","bug","spring","honey","bee","bumblebee"],"🐞":["lady_beetle","animal","insect","nature","ladybug","bug","ladybird"],"🦗":["cricket","animal","chirp","grasshopper","insect","orthoptera"],"🕷️":["spider","animal","arachnid","insect"],"🕸️":["spider_web","animal","insect","arachnid","silk","cobweb","spiderweb"],"🦂":["scorpion","animal","arachnid","scorpio","scorpius","zodiac"],"🦟":["mosquito","animal","nature","insect","malaria","disease","fever","pest","virus"],"🦠":["microbe","amoeba","bacteria","germs","virus","covid","cell","coronavirus","germ","microorganism"],"💐":["bouquet","flowers","nature","spring","flower","plant","romance"],"🌸":["cherry_blossom","nature","plant","spring","flower","pink","sakura"],"💮":["white_flower","japanese","spring","blossom","cherry","doily","done","paper","stamp","well"],"🏵️":["rosette","flower","decoration","military","plant"],"🌹":["rose","flowers","valentines","love","spring","flower","plant","red"],"🥀":["wilted_flower","plant","nature","flower","rose","dead","drooping"],"🌺":["hibiscus","plant","vegetable","flowers","beach","flower"],"🌻":["sunflower","nature","plant","fall","flower","sun","yellow"],"🌼":["blossom","nature","flowers","yellow","blossoming flower","daisy","flower","plant"],"🌷":["tulip","flowers","plant","nature","summer","spring","flower"],"🌱":["seedling","plant","nature","grass","lawn","spring","sprout","sprouting","young","seed"],"🌲":["evergreen_tree","plant","nature","fir","pine","wood"],"🌳":["deciduous_tree","plant","nature","rounded","shedding","wood"],"🌴":["palm_tree","plant","vegetable","nature","summer","beach","mojito","tropical","coconut"],"🌵":["cactus","vegetable","plant","nature","desert"],"🌾":["sheaf_of_rice","nature","plant","crop","ear","farming","grain","wheat"],"🌿":["herb","vegetable","plant","medicine","weed","grass","lawn","crop","leaf"],"☘️":["shamrock","vegetable","plant","nature","irish","clover","trefoil"],"🍀":["four_leaf_clover","vegetable","plant","nature","lucky","irish","ireland","luck"],"🍁":["maple_leaf","nature","plant","vegetable","ca","fall","canada","canadian","falling"],"🍂":["fallen_leaf","nature","plant","vegetable","leaves","autumn","brown","fall","falling"],"🍃":["leaf_fluttering_in_wind","nature","plant","tree","vegetable","grass","lawn","spring","blow","flutter","green","leaves"],"🍇":["grapes","fruit","food","wine","grape","plant"],"🍈":["melon","fruit","nature","food","cantaloupe","honeydew","muskmelon","plant"],"🍉":["watermelon","fruit","food","picnic","summer","plant"],"🍊":["tangerine","food","fruit","nature","orange","mandarin","plant"],"🍋":["lemon","fruit","nature","citrus","lemonade","plant"],"🍌":["banana","fruit","food","monkey","plant","plantain"],"🍍":["pineapple","fruit","nature","food","plant"],"🥭":["mango","fruit","food","tropical"],"🍎":["red_apple","fruit","mac","school","delicious","plant"],"🍏":["green_apple","fruit","nature","delicious","golden","granny","plant","smith"],"🍐":["pear","fruit","nature","food","plant"],"🍑":["peach","fruit","nature","food","bottom","butt","plant"],"🍒":["cherries","food","fruit","berries","cherry","plant","red","wild"],"🍓":["strawberry","fruit","food","nature","berry","plant"],"🥝":["kiwi_fruit","fruit","food","chinese","gooseberry","kiwifruit"],"🍅":["tomato","fruit","vegetable","nature","food","plant"],"🥥":["coconut","fruit","nature","food","palm","cocoanut","colada","piña"],"🥑":["avocado","fruit","food"],"🍆":["eggplant","vegetable","nature","food","aubergine","phallic","plant","purple"],"🥔":["potato","food","tuber","vegatable","starch","baked","idaho","vegetable"],"🥕":["carrot","vegetable","food","orange"],"🌽":["ear_of_corn","food","vegetable","plant","cob","maize","maze"],"🌶️":["hot_pepper","food","spicy","chilli","chili","plant"],"🥒":["cucumber","fruit","food","pickle","gherkin","vegetable"],"🥬":["leafy_green","food","vegetable","plant","bok choy","cabbage","kale","lettuce","chinese","cos","greens","romaine"],"🥦":["broccoli","fruit","food","vegetable","cabbage","wild"],"🧄":["garlic","food","spice","cook","flavoring","plant","vegetable"],"🧅":["onion","cook","food","spice","flavoring","plant","vegetable"],"🍄":["mushroom","plant","vegetable","fungus","shroom","toadstool"],"🥜":["peanuts","food","nut","nuts","peanut","vegetable"],"🌰":["chestnut","food","squirrel","acorn","nut","plant"],"🍞":["bread","food","wheat","breakfast","toast","loaf"],"🥐":["croissant","food","bread","french","breakfast","crescent","roll"],"🥖":["baguette_bread","food","bread","french","france","bakery"],"🥨":["pretzel","food","bread","twisted","germany","bakery","soft","twist"],"🥯":["bagel","food","bread","bakery","schmear","jewish_bakery","breakfast","cheese","cream"],"🥞":["pancakes","food","breakfast","flapjacks","hotcakes","brunch","crêpe","crêpes","hotcake","pancake"],"🧇":["waffle","food","breakfast","brunch","indecisive","iron"],"🧀":["cheese_wedge","food","chadder","swiss"],"🍖":["meat_on_bone","good","food","drumstick","barbecue","bbq","manga"],"🍗":["poultry_leg","food","meat","drumstick","bird","chicken","turkey","bone"],"🥩":["cut_of_meat","food","cow","meat","cut","chop","lambchop","porkchop","steak"],"🥓":["bacon","food","breakfast","pork","pig","meat","brunch","rashers"],"🍔":["hamburger","meat","fast food","beef","cheeseburger","mcdonalds","burger king"],"🍟":["french_fries","chips","snack","fast food","potato","mcdonald's"],"🍕":["pizza","food","party","italy","cheese","pepperoni","slice"],"🌭":["hot_dog","food","frankfurter","america","hotdog","redhot","sausage","wiener"],"🥪":["sandwich","food","lunch","bread","toast","bakery","cheese","deli","meat","vegetables"],"🌮":["taco","food","mexican"],"🌯":["burrito","food","mexican","wrap"],"🥙":["stuffed_flatbread","food","flatbread","stuffed","gyro","mediterranean","doner","falafel","kebab","pita","sandwich","shawarma"],"🧆":["falafel","food","mediterranean","chickpea","falfel","meatball"],"🥚":["egg","food","chicken","breakfast","easter_egg"],"🍳":["cooking","food","breakfast","kitchen","egg","skillet","fried","frying","pan"],"🥘":["shallow_pan_of_food","food","cooking","casserole","paella","skillet","curry"],"🍲":["pot_of_food","food","meat","soup","hot pot","bowl","stew"],"🥣":["bowl_with_spoon","food","breakfast","cereal","oatmeal","porridge","congee","tableware"],"🥗":["green_salad","food","healthy","lettuce","vegetable"],"🍿":["popcorn","food","movie theater","films","snack","drama","corn","popping"],"🧈":["butter","food","cook","dairy"],"🧂":["salt","condiment","shaker"],"🥫":["canned_food","food","soup","tomatoes","can","preserve","tin","tinned"],"🍱":["bento_box","food","japanese","box","lunch","assets"],"🍘":["rice_cracker","food","japanese","snack","senbei"],"🍙":["rice_ball","food","japanese","onigiri","omusubi"],"🍚":["cooked_rice","food","asian","boiled","bowl","steamed"],"🍛":["curry_rice","food","spicy","hot","indian"],"🍜":["steaming_bowl","food","japanese","noodle","chopsticks","ramen","noodles","soup"],"🍝":["spaghetti","food","italian","pasta","noodle"],"🍠":["roasted_sweet_potato","food","nature","plant","goguma","yam"],"🍢":["oden","skewer","food","japanese","kebab","seafood","stick"],"🍣":["sushi","food","fish","japanese","rice","sashimi","seafood"],"🍤":["fried_shrimp","food","animal","appetizer","summer","prawn","tempura"],"🍥":["fish_cake_with_swirl","food","japan","sea","beach","narutomaki","pink","swirl","kamaboko","surimi","ramen","design","fishcake","pastry"],"🥮":["moon_cake","food","autumn","dessert","festival","mooncake","yuèbǐng"],"🍡":["dango","food","dessert","sweet","japanese","barbecue","meat","balls","green","pink","skewer","stick","white"],"🥟":["dumpling","food","empanada","pierogi","potsticker","gyoza","gyōza","jiaozi"],"🥠":["fortune_cookie","food","prophecy","dessert"],"🥡":["takeout_box","food","leftovers","chinese","container","out","oyster","pail","take"],"🦀":["crab","animal","crustacean","cancer","zodiac"],"🦞":["lobster","animal","nature","bisque","claws","seafood"],"🦐":["shrimp","animal","ocean","nature","seafood","food","prawn","shellfish","small"],"🦑":["squid","animal","nature","ocean","sea","food","molusc"],"🦪":["oyster","food","diving","pearl"],"🍦":["soft_ice_cream","food","hot","dessert","summer","icecream","mr.","serve","sweet","whippy"],"🍧":["shaved_ice","hot","dessert","summer","cone","snow","sweet"],"🍨":["ice_cream","food","hot","dessert","bowl","sweet"],"🍩":["doughnut","food","dessert","snack","sweet","donut","breakfast"],"🍪":["cookie","food","snack","oreo","chocolate","sweet","dessert","biscuit","chip"],"🎂":["birthday_cake","food","dessert","cake","candles","celebration","party","pastry","sweet"],"🍰":["shortcake","food","dessert","cake","pastry","piece","slice","strawberry","sweet"],"🧁":["cupcake","food","dessert","bakery","sweet","cake","fairy","pastry"],"🥧":["pie","food","dessert","pastry","filling","sweet"],"🍫":["chocolate_bar","food","snack","dessert","sweet","candy"],"🍬":["candy","snack","dessert","sweet","lolly"],"🍭":["lollipop","food","snack","candy","sweet","dessert","lollypop","sucker"],"🍮":["custard","dessert","food","pudding","flan","caramel","creme","sweet"],"🍯":["honey_pot","bees","sweet","kitchen","honeypot"],"🍼":["baby_bottle","food","container","milk","drink","feeding"],"🥛":["glass_of_milk","beverage","drink","cow"],"☕":["hot_beverage","beverage","caffeine","latte","espresso","coffee","mug","cafe","chocolate","drink","steaming","tea"],"🍵":["teacup_without_handle","drink","bowl","breakfast","green","british","beverage","cup","matcha","tea"],"🍶":["sake","wine","drink","drunk","beverage","japanese","alcohol","booze","bar","bottle","cup","rice"],"🍾":["bottle_with_popping_cork","drink","wine","bottle","celebration","bar","bubbly","champagne","party","sparkling"],"🍷":["wine_glass","drink","beverage","drunk","alcohol","booze","bar","red"],"🍸":["cocktail_glass","drink","drunk","alcohol","beverage","booze","mojito","bar","martini"],"🍹":["tropical_drink","beverage","cocktail","summer","beach","alcohol","booze","mojito","bar","fruit","punch","tiki","vacation"],"🍺":["beer_mug","relax","beverage","drink","drunk","party","pub","summer","alcohol","booze","bar","stein"],"🍻":["clinking_beer_mugs","relax","beverage","drink","drunk","party","pub","summer","alcohol","booze","bar","beers","cheers","clink","drinks","mug"],"🥂":["clinking_glasses","beverage","drink","party","alcohol","celebrate","cheers","wine","champagne","toast","celebration","clink","glass"],"🥃":["tumbler_glass","drink","beverage","drunk","alcohol","liquor","booze","bourbon","scotch","whisky","glass","shot","rum","whiskey"],"🥤":["cup_with_straw","drink","soda","go","juice","malt","milkshake","pop","smoothie","soft","tableware","water"],"🧃":["beverage_box","drink","juice","straw","sweet"],"🧉":["mate","drink","tea","beverage","bombilla","chimarrão","cimarrón","maté","yerba"],"🧊":["ice","water","cold","cube","iceberg"],"🥢":["chopsticks","food","hashi","jeotgarak","kuaizi"],"🍽️":["fork_and_knife_with_plate","food","eat","meal","lunch","dinner","restaurant","cooking","cutlery","dining","tableware"],"🍴":["fork_and_knife","cutlery","kitchen","cooking","silverware","tableware"],"🥄":["spoon","cutlery","kitchen","tableware"],"🔪":["kitchen_knife","knife","blade","cutlery","kitchen","weapon","butchers","chop","cooking","cut","hocho","tool"],"🏺":["amphora","vase","jar","aquarius","cooking","drink","jug","tool","zodiac"],"🌍":["globe_showing_europe_africa","globe","world","earth","international","planet"],"🌎":["globe_showing_americas","globe","world","USA","earth","international","planet"],"🌏":["globe_showing_asia_australia","globe","world","east","earth","international","planet"],"🌐":["globe_with_meridians","earth","international","world","internet","interweb","i18n","global","web","wide","www","internationalization","localization"],"🗺️":["world_map","location","direction","travel"],"🗾":["map_of_japan","nation","country","japanese","asia","silhouette"],"🧭":["compass","magnetic","navigation","orienteering"],"🏔️":["snow_capped_mountain","photo","nature","environment","winter","cold"],"⛰️":["mountain","photo","nature","environment"],"🌋":["volcano","photo","nature","disaster","eruption","mountain","weather"],"🗻":["mount_fuji","photo","mountain","nature","japanese","capped","san","snow"],"🏕️":["camping","photo","outdoors","tent","campsite"],"🏖️":["beach_with_umbrella","weather","summer","sunny","sand","mojito"],"🏜️":["desert","photo","warm","saharah"],"🏝️":["desert_island","photo","tropical","mojito"],"🏞️":["national_park","photo","environment","nature"],"🏟️":["stadium","photo","place","sports","concert","venue","grandstand","sport"],"🏛️":["classical_building","art","culture","history"],"🏗️":["building_construction","wip","working","progress","crane","architectural"],"🧱":["brick","bricks","clay","construction","mortar","wall","infrastructure"],"🏘️":["houses","buildings","photo","building","group","house"],"🏚️":["derelict_house","abandon","evict","broken","building","abandoned","haunted","old"],"🏠":["house","building","home"],"🏡":["house_with_garden","home","plant","nature","building","tree"],"🏢":["office_building","building","bureau","work","city","high","rise"],"🏣":["japanese_post_office","building","envelope","communication","japan","mark","postal"],"🏤":["post_office","building","email","european"],"🏥":["hospital","building","health","surgery","doctor","cross","emergency","medical","medicine","red","room"],"🏦":["bank","building","money","sales","cash","business","enterprise","bakkureru","bk","branch"],"🏨":["hotel","building","accomodation","checkin","accommodation","h"],"🏩":["love_hotel","like","affection","dating","building","heart","hospital"],"🏪":["convenience_store","building","shopping","groceries","corner","e","eleven®","hour","kwik","mart","shop"],"🏫":["school","building","student","education","learn","teach","clock","elementary","high","middle","tower"],"🏬":["department_store","building","shopping","mall","center","shops"],"🏭":["factory","building","industry","pollution","smoke","industrial","smog"],"🏯":["japanese_castle","photo","building","fortress"],"🏰":["castle","building","royalty","history","european","turrets"],"💒":["wedding","love","like","affection","couple","marriage","bride","groom","activity","chapel","church","heart","romance"],"🗼":["tokyo_tower","photo","japanese","eiffel","red"],"🗽":["statue_of_liberty","american","newyork","new","york"],"⛪":["church","building","religion","christ","christian","cross"],"🕌":["mosque","islam","worship","minaret","domed","muslim","religion","roof"],"🛕":["hindu_temple","religion"],"🕍":["synagogue","judaism","worship","temple","jewish","jew","religion","synagog"],"⛩️":["shinto_shrine","temple","japan","kyoto","kami","michi","no","religion"],"🕋":["kaaba","mecca","mosque","islam","muslim","religion"],"⛲":["fountain","photo","summer","water","fresh","feature","park"],"⛺":["tent","photo","camping","outdoors"],"🌁":["foggy","photo","mountain","bridge","city","fog","fog bridge","karl","under","weather"],"🌃":["night_with_stars","evening","city","downtown","star","starry","weather"],"🏙️":["cityscape","photo","night life","urban","building","city","skyline"],"🌄":["sunrise_over_mountains","view","vacation","photo","morning","mountain","sun","weather"],"🌅":["sunrise","morning","view","vacation","photo","sun","sunset","weather"],"🌆":["cityscape_at_dusk","photo","evening","sky","buildings","building","city","landscape","orange","sun","sunset","weather"],"🌇":["sunset","photo","good morning","dawn","building","buildings","city","dusk","over","sun","sunrise","weather"],"🌉":["bridge_at_night","photo","sanfrancisco","gate","golden","weather"],"♨️":["hot_springs","bath","warm","relax","hotsprings","onsen","steam","steaming"],"🎠":["carousel_horse","photo","carnival","activity","entertainment","fairground","go","merry","round"],"🎡":["ferris_wheel","photo","carnival","londoneye","activity","amusement","big","entertainment","fairground","observation","park"],"🎢":["roller_coaster","carnival","playground","photo","fun","activity","amusement","entertainment","park","rollercoaster","theme"],"💈":["barber_pole","hair","salon","style","barber's","haircut","hairdresser","shop","stripes"],"🎪":["circus_tent","festival","carnival","party","activity","big","entertainment","top"],"🚂":["locomotive","transportation","vehicle","train","engine","railway","steam"],"🚃":["railway_car","transportation","vehicle","carriage","electric","railcar","railroad","train","tram","trolleybus","wagon"],"🚄":["high_speed_train","transportation","vehicle","bullettrain","railway","shinkansen","side"],"🚅":["bullet_train","transportation","vehicle","speed","fast","public","travel","bullettrain","front","high","nose","railway","shinkansen"],"🚆":["train","transportation","vehicle","diesel","electric","passenger","railway","regular","train2"],"🚇":["metro","transportation","blue-square","mrt","underground","tube","subway","train","vehicle"],"🚈":["light_rail","transportation","vehicle","railway"],"🚉":["station","transportation","vehicle","public","platform","railway","train"],"🚊":["tram","transportation","vehicle","trolleybus"],"🚝":["monorail","transportation","vehicle"],"🚞":["mountain_railway","transportation","vehicle","car","funicular","train"],"🚋":["tram_car","transportation","vehicle","carriage","public","travel","train","trolleybus"],"🚌":["bus","car","vehicle","transportation","school"],"🚍":["oncoming_bus","vehicle","transportation","front"],"🚎":["trolleybus","bart","transportation","vehicle","bus","electric bus","tram","trolley"],"🚐":["minibus","vehicle","car","transportation","bus","minivan","mover","people"],"🚑":["ambulance","health","911","hospital","vehicle"],"🚒":["fire_engine","transportation","cars","vehicle","department","truck"],"🚓":["police_car","vehicle","cars","transportation","law","legal","enforcement","cop","patrol","side"],"🚔":["oncoming_police_car","vehicle","law","legal","enforcement","911","front of","🚓 cop"],"🚕":["taxi","uber","vehicle","cars","transportation","new","side","taxicab","york"],"🚖":["oncoming_taxi","vehicle","cars","uber","front","taxicab"],"🚗":["automobile","red","transportation","vehicle","car","side"],"🚘":["oncoming_automobile","car","vehicle","transportation","front"],"🚙":["sport_utility_vehicle","transportation","vehicle","blue","campervan","car","motorhome","recreational","rv"],"🚚":["delivery_truck","cars","transportation","vehicle","resources"],"🚛":["articulated_lorry","vehicle","cars","transportation","express","green","semi","truck"],"🚜":["tractor","vehicle","car","farming","agriculture","farm"],"🏎️":["racing_car","sports","race","fast","formula","f1","one"],"🏍️":["motorcycle","race","sports","fast","motorbike","racing"],"🛵":["motor_scooter","vehicle","vespa","sasha","bike","cycle"],"🦽":["manual_wheelchair","accessibility"],"🦼":["motorized_wheelchair","accessibility"],"🛺":["auto_rickshaw","move","transportation","tuk"],"🚲":["bicycle","bike","sports","exercise","hipster","push","vehicle"],"🛴":["kick_scooter","vehicle","kick","razor"],"🛹":["skateboard","board","skate"],"🚏":["bus_stop","transportation","wait","busstop"],"🛣️":["motorway","road","cupertino","interstate","highway"],"🛤️":["railway_track","train","transportation"],"🛢️":["oil_drum","barrell"],"⛽":["fuel_pump","gas station","petroleum","diesel","fuelpump","petrol"],"🚨":["police_car_light","police","ambulance","911","emergency","alert","error","pinged","law","legal","beacon","cars","car’s","emergency light","flashing","revolving","rotating","siren","vehicle","warning"],"🚥":["horizontal_traffic_light","transportation","signal"],"🚦":["vertical_traffic_light","transportation","driving","semaphore","signal"],"🛑":["stop_sign","stop","octagonal"],"🚧":["construction","wip","progress","caution","warning","barrier","black","roadwork","sign","striped","yellow","work_in_progress"],"⚓":["anchor","ship","ferry","sea","boat","admiralty","fisherman","pattern","tool"],"⛵":["sailboat","ship","summer","transportation","water","sailing","boat","dinghy","resort","sea","vehicle","yacht"],"🛶":["canoe","boat","paddle","water","ship"],"🚤":["speedboat","ship","transportation","vehicle","summer","boat","motorboat","powerboat"],"🛳️":["passenger_ship","yacht","cruise","ferry","vehicle"],"⛴️":["ferry","boat","ship","yacht","passenger"],"🛥️":["motor_boat","ship","motorboat","vehicle"],"🚢":["ship","transportation","titanic","deploy","boat","cruise","passenger","vehicle"],"✈️":["airplane","vehicle","transportation","flight","fly","aeroplane","plane"],"🛩️":["small_airplane","flight","transportation","fly","vehicle","aeroplane","plane"],"🛫":["airplane_departure","airport","flight","landing","aeroplane","departures","off","plane","taking","vehicle"],"🛬":["airplane_arrival","airport","flight","boarding","aeroplane","arrivals","arriving","landing","plane","vehicle"],"🪂":["parachute","fly","glide","hang","parasail","skydive"],"💺":["seat","sit","airplane","transport","bus","flight","fly","aeroplane","chair","train"],"🚁":["helicopter","transportation","vehicle","fly"],"🚟":["suspension_railway","vehicle","transportation"],"🚠":["mountain_cableway","transportation","vehicle","ski","cable","gondola"],"🚡":["aerial_tramway","transportation","vehicle","ski","cable","car","gondola","ropeway"],"🛰️":["satellite","communication","gps","orbit","spaceflight","NASA","ISS","artificial","space","vehicle"],"🚀":["rocket","launch","ship","staffmode","NASA","outer space","outer_space","fly","shuttle","vehicle","deploy"],"🛸":["flying_saucer","transportation","vehicle","ufo","alien","extraterrestrial","fantasy","space"],"🛎️":["bellhop_bell","service","hotel"],"🧳":["luggage","packing","travel","suitcase"],"⌛":["hourglass_done","time","clock","oldschool","limit","exam","quiz","test","sand","timer"],"⏳":["hourglass_not_done","oldschool","time","countdown","flowing","sand","timer"],"⌚":["watch","time","accessories","apple","clock","timepiece","wrist","wristwatch"],"⏰":["alarm_clock","time","wake","morning"],"⏱️":["stopwatch","time","deadline","clock"],"⏲️":["timer_clock","alarm"],"🕰️":["mantelpiece_clock","time"],"🕛":["twelve_o_clock","12","00:00","0000","12:00","1200","time","noon","midnight","midday","late","early","schedule","clock12","face","oclock","o’clock"],"🕧":["twelve_thirty","00:30","0030","12:30","1230","time","late","early","schedule","clock","clock1230","face"],"🕐":["one_o_clock","1","1:00","100","13:00","1300","time","late","early","schedule","clock1","face","oclock","o’clock"],"🕜":["one_thirty","1:30","130","13:30","1330","time","late","early","schedule","clock","clock130","face"],"🕑":["two_o_clock","2","2:00","200","14:00","1400","time","late","early","schedule","clock2","face","oclock","o’clock"],"🕝":["two_thirty","2:30","230","14:30","1430","time","late","early","schedule","clock","clock230","face"],"🕒":["three_o_clock","3","3:00","300","15:00","1500","time","late","early","schedule","clock3","face","oclock","o’clock"],"🕞":["three_thirty","3:30","330","15:30","1530","time","late","early","schedule","clock","clock330","face"],"🕓":["four_o_clock","4","4:00","400","16:00","1600","time","late","early","schedule","clock4","face","oclock","o’clock"],"🕟":["four_thirty","4:30","430","16:30","1630","time","late","early","schedule","clock","clock430","face"],"🕔":["five_o_clock","5","5:00","500","17:00","1700","time","late","early","schedule","clock5","face","oclock","o’clock"],"🕠":["five_thirty","5:30","530","17:30","1730","time","late","early","schedule","clock","clock530","face"],"🕕":["six_o_clock","6","6:00","600","18:00","1800","time","late","early","schedule","dawn","dusk","clock6","face","oclock","o’clock"],"🕡":["six_thirty","6:30","630","18:30","1830","time","late","early","schedule","clock","clock630","face"],"🕖":["seven_o_clock","7","7:00","700","19:00","1900","time","late","early","schedule","clock7","face","oclock","o’clock"],"🕢":["seven_thirty","7:30","730","19:30","1930","time","late","early","schedule","clock","clock730","face"],"🕗":["eight_o_clock","8","8:00","800","20:00","2000","time","late","early","schedule","clock8","face","oclock","o’clock"],"🕣":["eight_thirty","8:30","830","20:30","2030","time","late","early","schedule","clock","clock830","face"],"🕘":["nine_o_clock","9","9:00","900","21:00","2100","time","late","early","schedule","clock9","face","oclock","o’clock"],"🕤":["nine_thirty","9:30","930","21:30","2130","time","late","early","schedule","clock","clock930","face"],"🕙":["ten_o_clock","10","10:00","1000","22:00","2200","time","late","early","schedule","clock10","face","oclock","o’clock"],"🕥":["ten_thirty","10:30","1030","22:30","2230","time","late","early","schedule","clock","clock1030","face"],"🕚":["eleven_o_clock","11","11:00","1100","23:00","2300","time","late","early","schedule","clock11","face","oclock","o’clock"],"🕦":["eleven_thirty","11:30","1130","23:30","2330","time","late","early","schedule","clock","clock1130","face"],"🌑":["new_moon","nature","twilight","planet","space","night","evening","sleep","dark","eclipse","shadow moon","solar","symbol","weather"],"🌒":["waxing_crescent_moon","nature","twilight","planet","space","night","evening","sleep","symbol","weather"],"🌓":["first_quarter_moon","nature","twilight","planet","space","night","evening","sleep","symbol","weather"],"🌔":["waxing_gibbous_moon","nature","night","sky","gray","twilight","planet","space","evening","sleep","symbol","weather"],"🌕":["full_moon","nature","yellow","twilight","planet","space","night","evening","sleep","symbol","weather"],"🌖":["waning_gibbous_moon","nature","twilight","planet","space","night","evening","sleep","waxing_gibbous_moon","symbol","weather"],"🌗":["last_quarter_moon","nature","twilight","planet","space","night","evening","sleep","symbol","weather"],"🌘":["waning_crescent_moon","nature","twilight","planet","space","night","evening","sleep","symbol","weather"],"🌙":["crescent_moon","night","sleep","sky","evening","magic","space","weather"],"🌚":["new_moon_face","nature","twilight","planet","space","night","evening","sleep","creepy","dark","molester","weather"],"🌛":["first_quarter_moon_face","nature","twilight","planet","space","night","evening","sleep","weather"],"🌜":["last_quarter_moon_face","nature","twilight","planet","space","night","evening","sleep","weather"],"🌡️":["thermometer","weather","temperature","hot","cold"],"☀️":["sun","weather","nature","brightness","summer","beach","spring","black","bright","rays","space","sunny","sunshine"],"🌝":["full_moon_face","nature","twilight","planet","space","night","evening","sleep","bright","moonface","smiley","smiling","weather"],"🌞":["sun_with_face","nature","morning","sky","bright","smiley","smiling","space","summer","sunface","weather"],"🪐":["ringed_planet","outerspace","planets","saturn","saturnine","space"],"⭐":["star","night","yellow","gold","medium","white"],"🌟":["glowing_star","night","sparkle","awesome","good","magic","glittery","glow","shining","star2"],"🌠":["shooting_star","night","photo","activity","falling","meteoroid","space","stars","upon","when","wish","you"],"🌌":["milky_way","photo","space","stars","galaxy","night","sky","universe","weather"],"☁️":["cloud","weather","sky","cloudy","overcast"],"⛅":["sun_behind_cloud","weather","nature","cloudy","morning","fall","spring","partly","sunny"],"⛈️":["cloud_with_lightning_and_rain","weather","lightning","thunder"],"🌤️":["sun_behind_small_cloud","weather","white"],"🌥️":["sun_behind_large_cloud","weather","white"],"🌦️":["sun_behind_rain_cloud","weather","white"],"🌧️":["cloud_with_rain","weather"],"🌨️":["cloud_with_snow","weather","cold"],"🌩️":["cloud_with_lightning","weather","thunder"],"🌪️":["tornado","weather","cyclone","twister","cloud","whirlwind"],"🌫️":["fog","weather","cloud"],"🌬️":["wind_face","gust","air","blow","blowing","cloud","mother","nature","weather"],"🌀":["cyclone","weather","swirl","blue","cloud","vortex","spiral","whirlpool","spin","tornado","hurricane","typhoon","dizzy","twister"],"🌈":["rainbow","nature","happy","unicorn_face","photo","sky","spring","gay","lgbt","pride","primary","rain","weather"],"🌂":["closed_umbrella","weather","rain","drizzle","clothing","collapsed umbrella","pink"],"☂️":["umbrella","weather","spring","clothing","open","rain"],"☔":["umbrella_with_rain_drops","rainy","weather","spring","clothing","drop","raining"],"⛱️":["umbrella_on_ground","weather","summer","beach","parasol","rain","sun"],"⚡":["high_voltage","thunder","weather","lightning bolt","fast","zap","danger","electric","electricity","sign","thunderbolt","speed"],"❄️":["snowflake","winter","season","cold","weather","christmas","xmas","snow","snowing"],"☃️":["snowman","winter","season","cold","weather","christmas","xmas","frozen","snow","snowflakes","snowing"],"⛄":["snowman_without_snow","winter","season","cold","weather","christmas","xmas","frozen","without_snow","frosty","olaf"],"☄️":["comet","space"],"🔥":["fire","hot","cook","flame","burn","lit","snapstreak","tool","remove"],"💧":["droplet","water","drip","faucet","spring","cold","comic","drop","sweat","weather"],"🌊":["water_wave","sea","water","wave","nature","tsunami","disaster","beach","ocean","waves","weather"],"🎃":["jack_o_lantern","halloween","light","pumpkin","creepy","fall","activity","celebration","entertainment","gourd"],"🎄":["christmas_tree","festival","vacation","december","xmas","celebration","activity","entertainment","xmas tree"],"🎆":["fireworks","photo","festival","carnival","congratulations","activity","celebration","entertainment","explosion"],"🎇":["sparkler","stars","night","shine","activity","celebration","entertainment","firework","fireworks","hanabi","senko","sparkle"],"🧨":["firecracker","dynamite","boom","explode","explosion","explosive","fireworks"],"✨":["sparkles","stars","shine","shiny","cool","awesome","good","magic","entertainment","glitter","sparkle","star"],"🎈":["balloon","party","celebration","birthday","circus","activity","entertainment","red"],"🎉":["party_popper","party","congratulations","birthday","magic","circus","celebration","tada","activity","entertainment","hat","hooray"],"🎊":["confetti_ball","festival","party","birthday","circus","activity","celebration","entertainment"],"🎋":["tanabata_tree","plant","nature","branch","summer","bamboo","wish","star_festival","tanzaku","activity","banner","celebration","entertainment","japanese"],"🎍":["pine_decoration","japanese","plant","nature","vegetable","panda","new_years","bamboo","activity","celebration","kadomatsu","year"],"🎎":["japanese_dolls","japanese","toy","kimono","activity","celebration","doll","entertainment","festival","hinamatsuri","imperial"],"🎏":["carp_streamer","fish","japanese","koinobori","carp","banner","activity","celebration","entertainment","flag","flags","socks","wind"],"🎐":["wind_chime","nature","ding","spring","bell","activity","celebration","entertainment","furin","jellyfish"],"🎑":["moon_viewing_ceremony","photo","japan","asia","tsukimi","activity","autumn","celebration","dumplings","entertainment","festival","grass","harvest","mid","rice","scene"],"🧧":["red_envelope","gift","ang","good","hóngbāo","lai","luck","money","packet","pao","see"],"🎀":["ribbon","decoration","pink","girl","bowtie","bow","celebration"],"🎁":["wrapped_gift","present","birthday","christmas","xmas","box","celebration","entertainment"],"🎗️":["reminder_ribbon","sports","cause","support","awareness","celebration"],"🎟️":["admission_tickets","sports","concert","entrance","entertainment","ticket"],"🎫":["ticket","event","concert","pass","activity","admission","entertainment","stub","tour","world"],"🎖️":["military_medal","award","winning","army","celebration","decoration","medallion"],"🏆":["trophy","win","award","contest","place","ftw","ceremony","championship","prize","winner","winners"],"🏅":["sports_medal","award","winning","gold","winner"],"🥇":["1st_place_medal","award","winning","first","gold"],"🥈":["2nd_place_medal","award","second","silver"],"🥉":["3rd_place_medal","award","third","bronze"],"⚽":["soccer_ball","sports","football"],"⚾":["baseball","sports","balls","ball","softball"],"🥎":["softball","sports","balls","ball","game","glove","sport","underarm"],"🏀":["basketball","sports","balls","NBA","ball","hoop","orange"],"🏐":["volleyball","sports","balls","ball","game"],"🏈":["american_football","sports","balls","NFL","ball","gridiron","superbowl"],"🏉":["rugby_football","sports","team","ball","league","union"],"🎾":["tennis","sports","balls","green","ball","racket","racquet"],"🥏":["flying_disc","sports","frisbee","ultimate","game","golf","sport"],"🎳":["bowling","sports","fun","play","ball","game","pin","pins","skittles","ten"],"🏏":["cricket_game","sports","ball","bat","field"],"🏑":["field_hockey","sports","ball","game","stick"],"🏒":["ice_hockey","sports","game","puck","stick"],"🥍":["lacrosse","sports","ball","stick","game","goal","sport"],"🏓":["ping_pong","sports","pingpong","ball","bat","game","paddle","table","tennis"],"🏸":["badminton","sports","birdie","game","racquet","shuttlecock"],"🥊":["boxing_glove","sports","fighting"],"🥋":["martial_arts_uniform","judo","karate","taekwondo"],"🥅":["goal_net","sports","catch"],"⛳":["flag_in_hole","sports","business","flag","hole","summer","golf"],"⛸️":["ice_skate","sports","skating"],"🎣":["fishing_pole","food","hobby","summer","entertainment","fish","rod"],"🤿":["diving_mask","sport","ocean","scuba","snorkeling"],"🎽":["running_shirt","play","pageant","athletics","marathon","sash","singlet"],"🎿":["skis","sports","winter","cold","snow","boot","ski","skiing"],"🛷":["sled","sleigh","luge","toboggan","sledge"],"🥌":["curling_stone","sports","game","rock"],"🎯":["direct_hit","game","play","bar","target","bullseye","activity","archery","bull","dart","darts","entertainment","eye"],"🪀":["yo_yo","toy","fluctuate","yoyo"],"🪁":["kite","wind","fly","soar","toy"],"🎱":["pool_8_ball","pool","hobby","game","luck","magic","8ball","billiard","billiards","cue","eight","snooker"],"🔮":["crystal_ball","disco","party","magic","circus","fortune_teller","clairvoyant","fairy","fantasy","psychic","purple","tale","tool"],"🧿":["nazar_amulet","bead","charm","boncuğu","evil","eye","talisman"],"🎮":["video_game","play","console","PS4","controller","entertainment","gamepad","playstation","u","wii","xbox"],"🕹️":["joystick","game","play","entertainment","video"],"🎰":["slot_machine","bet","gamble","vegas","fruit machine","luck","casino","activity","gambling","game","poker"],"🎲":["game_die","dice","random","tabletop","play","luck","entertainment","gambling"],"🧩":["puzzle_piece","interlocking","puzzle","piece","clue","jigsaw"],"🧸":["teddy_bear","plush","stuffed","plaything","toy"],"♠️":["spade_suit","poker","cards","suits","magic","black","card","game","spades"],"♥️":["heart_suit","poker","cards","magic","suits","black","card","game","hearts"],"♦️":["diamond_suit","poker","cards","magic","suits","black","card","diamonds","game"],"♣️":["club_suit","poker","cards","magic","suits","black","card","clubs","game"],"♟️":["chess_pawn","expendable","black","dupe","game","piece"],"🃏":["joker","poker","cards","game","play","magic","black","card","entertainment","playing","wildcard"],"🀄":["mahjong_red_dragon","game","play","chinese","kanji","tile"],"🎴":["flower_playing_cards","game","sunset","red","activity","card","deck","entertainment","hanafuda","hwatu","japanese","of cards"],"🎭":["performing_arts","acting","theater","drama","activity","art","comedy","entertainment","greek","logo","mask","masks","theatre","theatre masks","tragedy"],"🖼️":["framed_picture","photography","art","frame","museum","painting"],"🎨":["artist_palette","design","paint","draw","colors","activity","art","entertainment","museum","painting","improve"],"🧵":["thread","needle","sewing","spool","string","crafts"],"🧶":["yarn","ball","crochet","knit","crafts"],"👓":["glasses","fashion","accessories","eyesight","nerdy","dork","geek","clothing","eye","eyeglasses","eyewear"],"🕶️":["sunglasses","face","cool","accessories","dark","eye","eyewear","glasses"],"🥽":["goggles","eyes","protection","safety","clothing","eye","swimming","welding"],"🥼":["lab_coat","doctor","experiment","scientist","chemist","clothing"],"🦺":["safety_vest","protection","emergency"],"👔":["necktie","shirt","suitup","formal","fashion","cloth","business","clothing","tie"],"👕":["t_shirt","fashion","cloth","casual","shirt","tee","clothing","polo","tshirt"],"👖":["jeans","fashion","shopping","clothing","denim","pants","trousers"],"🧣":["scarf","neck","winter","clothes","clothing"],"🧤":["gloves","hands","winter","clothes","clothing","hand"],"🧥":["coat","jacket","clothing"],"🧦":["socks","stockings","clothes","clothing","pair","stocking"],"👗":["dress","clothes","fashion","shopping","clothing","gown","skirt"],"👘":["kimono","dress","fashion","women","female","japanese","clothing","dressing","gown"],"🥻":["sari","dress","clothing","saree","shari"],"🩱":["one_piece_swimsuit","fashion","bathing","clothing","suit","swim"],"🩲":["briefs","clothing","bathing","brief","suit","swim","swimsuit","underwear"],"🩳":["shorts","clothing","bathing","pants","suit","swim","swimsuit","underwear"],"👙":["bikini","swimming","female","woman","girl","fashion","beach","summer","bathers","clothing","swim","swimsuit"],"👚":["woman_s_clothes","fashion","shopping_bags","female","blouse","clothing","pink","shirt","womans","woman’s"],"👛":["purse","fashion","accessories","money","sales","shopping","clothing","coin","wallet"],"👜":["handbag","fashion","accessory","accessories","shopping","bag","clothing","purse","women’s"],"👝":["clutch_bag","bag","accessories","shopping","clothing","pouch","small"],"🛍️":["shopping_bags","mall","buy","purchase","bag","hotel"],"🎒":["backpack","student","education","bag","activity","rucksack","satchel","school"],"👞":["man_s_shoe","fashion","male","brown","clothing","dress","mans","man’s"],"👟":["running_shoe","shoes","sports","sneakers","athletic","clothing","runner","sneaker","sport","tennis","trainer"],"🥾":["hiking_boot","backpacking","camping","hiking","clothing"],"🥿":["flat_shoe","ballet","slip-on","slipper","clothing","woman’s"],"👠":["high_heeled_shoe","fashion","shoes","female","pumps","stiletto","clothing","heel","heels","woman"],"👡":["woman_s_sandal","shoes","fashion","flip flops","clothing","heeled","sandals","shoe","womans","woman’s"],"🩰":["ballet_shoes","dance","clothing","pointe","shoe"],"👢":["woman_s_boot","shoes","fashion","boots","clothing","cowgirl","heeled","high","knee","shoe","womans","woman’s"],"👑":["crown","king","kod","leader","royalty","lord","clothing","queen","royal"],"👒":["woman_s_hat","fashion","accessories","female","lady","spring","bow","clothing","ladies","womans","woman’s"],"🎩":["top_hat","magic","gentleman","classy","circus","activity","clothing","entertainment","formal","groom","tophat","wear"],"🎓":["graduation_cap","school","college","degree","university","graduation","cap","hat","legal","learn","education","academic","activity","board","celebration","clothing","graduate","mortar","square"],"🧢":["billed_cap","cap","baseball","clothing","hat"],"⛑️":["rescue_worker_s_helmet","construction","build","aid","cross","face","hat","white","worker’s"],"📿":["prayer_beads","dhikr","religious","clothing","necklace","religion","rosary"],"💄":["lipstick","female","girl","fashion","woman","cosmetics","gloss","lip","makeup","style"],"💍":["ring","wedding","propose","marriage","valentines","diamond","fashion","jewelry","gem","engagement","engaged","romance"],"💎":["gem_stone","blue","ruby","diamond","jewelry","gemstone","jewel","romance"],"🔇":["muted_speaker","sound","volume","silence","quiet","cancellation","mute","off","silent","stroke"],"🔈":["speaker_low_volume","sound","volume","silence","broadcast","soft"],"🔉":["speaker_medium_volume","volume","speaker","broadcast","low","one","reduce","sound","wave"],"🔊":["speaker_high_volume","volume","noise","noisy","speaker","broadcast","entertainment","increase","loud","sound","three","waves"],"📢":["loudspeaker","volume","sound","address","announcement","bullhorn","communication","loud","megaphone","pa","public","system"],"📣":["megaphone","sound","speaker","volume","bullhorn","cheering","communication","mega"],"📯":["postal_horn","instrument","music","bugle","communication","entertainment","french","post"],"🔔":["bell","sound","notification","christmas","xmas","chime","liberty","ringer","wedding"],"🔕":["bell_with_slash","sound","volume","mute","quiet","silent","cancellation","disabled","forbidden","muted","no","not","notifications","off","prohibited","ringer","stroke"],"🎼":["musical_score","treble","clef","compose","activity","entertainment","music","sheet"],"🎵":["musical_note","score","tone","sound","activity","beamed","eighth","entertainment","music","notes","pair","quavers"],"🎶":["musical_notes","music","score","activity","entertainment","multiple","note","singing"],"🎙️":["studio_microphone","sing","recording","artist","talkshow","mic","music","podcast"],"🎚️":["level_slider","scale","music"],"🎛️":["control_knobs","dial","music"],"🎤":["microphone","sound","music","PA","sing","talkshow","activity","entertainment","karaoke","mic","singing"],"🎧":["headphone","music","score","gadgets","activity","earbud","earphone","earphones","entertainment","headphones","ipod"],"📻":["radio","communication","music","podcast","program","digital","entertainment","video","wireless"],"🎷":["saxophone","music","instrument","jazz","blues","activity","entertainment","sax"],"🎸":["guitar","music","instrument","acoustic guitar","activity","bass","electric","entertainment","rock"],"🎹":["musical_keyboard","piano","instrument","compose","activity","entertainment","music"],"🎺":["trumpet","music","brass","activity","entertainment","horn","instrument","jazz"],"🎻":["violin","music","instrument","orchestra","symphony","activity","entertainment","quartet","smallest","string","world’s"],"🪕":["banjo","music","instructment","activity","entertainment","instrument","stringed"],"🥁":["drum","music","instrument","drumsticks","snare"],"📱":["mobile_phone","technology","apple","gadgets","dial","cell","communication","iphone","smartphone","telephone","responsive_design"],"📲":["mobile_phone_with_arrow","iphone","incoming","call","calling","cell","communication","left","pointing","receive","rightwards","telephone"],"☎️":["telephone","technology","communication","dial","black","phone","rotary"],"📞":["telephone_receiver","technology","communication","dial","call","handset","phone"],"📟":["pager","bbcall","oldschool","90s","beeper","bleeper","communication"],"📠":["fax_machine","communication","technology","facsimile"],"🔋":["battery","power","energy","sustain","aa","phone"],"🔌":["electric_plug","charger","power","ac","adaptor","cable","electricity"],"💻":["laptop","technology","screen","display","monitor","computer","desktop","notebook","pc","personal"],"🖥️":["desktop_computer","technology","computing","screen","imac"],"🖨️":["printer","paper","ink","computer"],"⌨️":["keyboard","technology","computer","type","input","text"],"🖱️":["computer_mouse","click","button","three"],"🖲️":["trackball","technology","trackpad","computer"],"💽":["computer_disk","technology","record","data","disk","90s","entertainment","minidisc","minidisk","optical"],"💾":["floppy_disk","oldschool","technology","save","90s","80s","computer"],"💿":["optical_disk","technology","dvd","disk","disc","90s","cd","compact","computer","rom"],"📀":["dvd","cd","disk","disc","computer","entertainment","optical","rom","video"],"🧮":["abacus","calculation","count","counting","frame","math"],"🎥":["movie_camera","film","record","activity","cinema","entertainment","hollywood","video"],"🎞️":["film_frames","movie","cinema","entertainment","strip"],"📽️":["film_projector","video","tape","record","movie","cinema","entertainment"],"🎬":["clapper_board","movie","film","record","activity","clapboard","director","entertainment","slate"],"📺":["television","technology","program","oldschool","show","entertainment","tv","video"],"📷":["camera","gadgets","photography","digital","entertainment","photo","video"],"📸":["camera_with_flash","photography","gadgets","photo","video","snapshots"],"📹":["video_camera","film","record","camcorder","entertainment"],"📼":["videocassette","record","video","oldschool","90s","80s","entertainment","tape","vcr","vhs"],"🔍":["magnifying_glass_tilted_left","search","zoom","find","detective","icon","mag","magnifier","pointing","tool"],"🔎":["magnifying_glass_tilted_right","search","zoom","find","detective","icon","mag","magnifier","pointing","tool","seo"],"🕯️":["candle","fire","wax","light"],"💡":["light_bulb","light","electricity","idea","comic","electric"],"🔦":["flashlight","dark","camping","sight","night","electric","light","tool","torch"],"🏮":["red_paper_lantern","light","paper","halloween","spooky","asian","bar","izakaya","japanese"],"🪔":["diya_lamp","lighting","oil"],"📔":["notebook_with_decorative_cover","classroom","notes","record","paper","study","book","decorated"],"📕":["closed_book","read","library","knowledge","textbook","learn","red"],"📖":["open_book","book","read","library","knowledge","literature","learn","study","novel"],"📗":["green_book","read","library","knowledge","study","textbook"],"📘":["blue_book","read","library","knowledge","learn","study","textbook"],"📙":["orange_book","read","library","knowledge","textbook","study"],"📚":["books","literature","library","study","book","pile","stack"],"📓":["notebook","stationery","record","notes","paper","study","black","book","composition","white"],"📒":["ledger","notes","paper","binder","book","bound","notebook","spiral","yellow"],"📃":["page_with_curl","documents","office","paper","curled","curly page","document","license"],"📜":["scroll","documents","ancient","history","paper","degree","document","parchment"],"📄":["page_facing_up","documents","office","paper","information","document","printed"],"📰":["newspaper","press","headline","communication","news","paper"],"🗞️":["rolled_up_newspaper","press","headline","delivery","news","paper","roll"],"📑":["bookmark_tabs","favorite","save","order","tidy","mark","marker"],"🔖":["bookmark","favorite","label","save","mark","price","tag"],"🏷️":["label","sale","tag"],"💰":["money_bag","dollar","payment","coins","sale","cream","moneybag","moneybags","rich"],"💴":["yen_banknote","money","sales","japanese","dollar","currency","bank","banknotes","bill","note","sign"],"💵":["dollar_banknote","money","sales","bill","currency","american","bank","banknotes","note","sign"],"💶":["euro_banknote","money","sales","dollar","currency","bank","banknotes","bill","note","sign"],"💷":["pound_banknote","british","sterling","money","sales","bills","uk","england","currency","bank","banknotes","bill","note","quid","sign","twenty"],"💸":["money_with_wings","dollar","bills","payment","sale","bank","banknote","bill","fly","flying","losing","note"],"💳":["credit_card","money","sales","dollar","bill","payment","shopping","amex","bank","club","diners","mastercard","subscription","visa"],"🧾":["receipt","accounting","expenses","bookkeeping","evidence","proof"],"💹":["chart_increasing_with_yen","green-square","graph","presentation","stats","bank","currency","exchange","growth","market","money","rate","rise","sign","trend","upward","upwards"],"💱":["currency_exchange","money","sales","dollar","travel","bank"],"💲":["heavy_dollar_sign","money","sales","payment","currency","buck"],"✉️":["envelope","letter","postal","inbox","communication","email","✉ letter"],"📧":["e_mail","communication","inbox","email","letter","symbol"],"📨":["incoming_envelope","email","inbox","communication","fast","letter","lines","mail","receive"],"📩":["envelope_with_arrow","email","communication","above","down","downwards","insert","letter","mail","outgoing","sent"],"📤":["outbox_tray","inbox","email","box","communication","letter","mail","sent"],"📥":["inbox_tray","email","documents","box","communication","letter","mail","receive"],"📦":["package","mail","gift","cardboard","box","moving","communication","parcel","shipping","container"],"📫":["closed_mailbox_with_raised_flag","email","inbox","communication","mail","postbox"],"📪":["closed_mailbox_with_lowered_flag","email","communication","inbox","mail","postbox"],"📬":["open_mailbox_with_raised_flag","email","inbox","communication","mail","postbox"],"📭":["open_mailbox_with_lowered_flag","email","inbox","communication","mail","no","postbox"],"📮":["postbox","email","letter","envelope","communication","mail","mailbox"],"🗳️":["ballot_box_with_ballot","election","vote","voting"],"✏️":["pencil","stationery","write","paper","writing","school","study","lead","pencil2","typos"],"✒️":["black_nib","pen","stationery","writing","write","fountain","✒ fountain"],"🖋️":["fountain_pen","stationery","writing","write","communication","left","lower"],"🖊️":["pen","stationery","writing","write","ballpoint","communication","left","lower"],"🖌️":["paintbrush","drawing","creativity","art","brush","communication","left","lower","painting"],"🖍️":["crayon","drawing","creativity","communication","left","lower"],"📝":["memo","write","documents","stationery","pencil","paper","writing","legal","exam","quiz","test","study","compose","communication","document","memorandum","note","documentation"],"💼":["briefcase","business","documents","work","law","legal","job","career","suitcase"],"📁":["file_folder","documents","business","office","closed","directory","manilla"],"📂":["open_file_folder","documents","load"],"🗂️":["card_index_dividers","organizing","business","stationery"],"📅":["calendar","schedule","date","day","emoji","july","world"],"📆":["tear_off_calendar","schedule","date","planning","day","desk"],"🗒️":["spiral_notepad","memo","stationery","note","pad"],"🗓️":["spiral_calendar","date","schedule","planning","pad"],"📇":["card_index","business","stationery","rolodex","system"],"📈":["chart_increasing","graph","presentation","stats","recovery","business","economics","money","sales","good","success","growth","metrics","pointing","positive chart","trend","up","upward","upwards","analytics"],"📉":["chart_decreasing","graph","presentation","stats","recession","business","economics","money","sales","bad","failure","down","downwards","down pointing","metrics","negative chart","trend"],"📊":["bar_chart","graph","presentation","stats","metrics"],"📋":["clipboard","stationery","documents"],"📌":["pushpin","stationery","mark","here","location","pin","tack","thumb"],"📍":["round_pushpin","stationery","location","map","here","dropped","pin","red"],"📎":["paperclip","documents","stationery","clippy"],"🖇️":["linked_paperclips","documents","stationery","communication","link","paperclip"],"📏":["straight_ruler","stationery","calculate","length","math","school","drawing","architect","sketch","edge"],"📐":["triangular_ruler","stationery","math","architect","sketch","set","triangle"],"✂️":["scissors","stationery","cut","black","cutting","tool"],"🗃️":["card_file_box","business","stationery","database"],"🗄️":["file_cabinet","filing","organizing"],"🗑️":["wastebasket","bin","trash","rubbish","garbage","toss","basket","can","litter","wastepaper"],"🔒":["locked","security","password","padlock","closed","lock","private","privacy"],"🔓":["unlocked","privacy","security","lock","open","padlock","unlock"],"🔏":["locked_with_pen","security","secret","fountain","ink","lock","lock with","nib","privacy"],"🔐":["locked_with_key","security","privacy","closed","lock","secure","secret"],"🔑":["key","lock","door","password","gold"],"🗝️":["old_key","lock","door","password","clue"],"🔨":["hammer","tools","build","create","claw","handyman","tool"],"🪓":["axe","tool","chop","cut","hatchet","split","wood"],"⛏️":["pick","tools","dig","mining","pickaxe","tool"],"⚒️":["hammer_and_pick","tools","build","create","tool"],"🛠️":["hammer_and_wrench","tools","build","create","spanner","tool"],"🗡️":["dagger","weapon","knife"],"⚔️":["crossed_swords","weapon"],"🔫":["pistol","violence","weapon","revolver","gun","handgun","shoot","squirt","tool","water"],"🏹":["bow_and_arrow","sports","archer","archery","sagittarius","tool","zodiac"],"🛡️":["shield","protection","security","weapon"],"🔧":["wrench","tools","diy","ikea","fix","maintainer","spanner","tool"],"🔩":["nut_and_bolt","handy","tools","fix","screw","tool"],"⚙️":["gear","cog","cogwheel","tool"],"🗜️":["clamp","tool","compress","compression","table","vice","winzip"],"⚖️":["balance_scale","law","fairness","weight","justice","libra","scales","tool","zodiac"],"🦯":["probing_cane","accessibility","blind","white"],"🔗":["link","rings","url","chain","hyperlink","linked","symbol"],"⛓️":["chains","lock","arrest","chain"],"🧰":["toolbox","tools","diy","fix","maintainer","mechanic","chest","tool"],"🧲":["magnet","attraction","magnetic","horseshoe"],"⚗️":["alembic","distilling","science","experiment","chemistry","tool"],"🧪":["test_tube","chemistry","experiment","lab","science","chemist","test"],"🧫":["petri_dish","bacteria","biology","culture","lab","biologist"],"🧬":["dna","biologist","genetics","life","double","evolution","gene","helix"],"🔬":["microscope","laboratory","experiment","zoomin","science","study","investigate","magnify","tool"],"🔭":["telescope","stars","space","zoom","science","astronomy","stargazing","tool"],"📡":["satellite_antenna","communication","future","radio","space","dish","signal"],"💉":["syringe","health","hospital","drugs","blood","medicine","needle","doctor","nurse","shot","sick","tool","vaccination","vaccine"],"🩸":["drop_of_blood","period","hurt","harm","wound","bleed","doctor","donation","injury","medicine","menstruation"],"💊":["pill","health","medicine","doctor","pharmacy","drug","capsule","drugs","sick","tablet"],"🩹":["adhesive_bandage","heal","aid","band","doctor","medicine","plaster"],"🩺":["stethoscope","health","doctor","heart","medicine","healthcheck"],"🚪":["door","house","entry","exit","doorway","front"],"🛏️":["bed","sleep","rest","bedroom","hotel"],"🛋️":["couch_and_lamp","read","chill","hotel","lounge","settee","sofa"],"🪑":["chair","sit","furniture","seat"],"🚽":["toilet","restroom","wc","washroom","bathroom","potty","loo"],"🚿":["shower","clean","water","bathroom","bath","head"],"🛁":["bathtub","clean","shower","bathroom","bath","bubble"],"🪒":["razor","cut","sharp","shave"],"🧴":["lotion_bottle","moisturizer","sunscreen","shampoo"],"🧷":["safety_pin","diaper","punk","rock"],"🧹":["broom","cleaning","sweeping","witch","brush","sweep"],"🧺":["basket","laundry","farming","picnic"],"🧻":["roll_of_paper","roll","toilet","towels"],"🧼":["soap","bar","bathing","cleaning","lather","soapdish"],"🧽":["sponge","absorbing","cleaning","porous"],"🧯":["fire_extinguisher","quench","extinguish"],"🛒":["shopping_cart","trolley"],"🚬":["cigarette","kills","tobacco","joint","smoke","activity","smoking","symbol"],"⚰️":["coffin","vampire","dead","die","death","rip","graveyard","cemetery","casket","funeral","box","remove"],"⚱️":["funeral_urn","dead","die","death","rip","ashes","vase"],"🗿":["moai","rock","easter island","carving","face","human","moyai","statue","stone"],"🏧":["atm_sign","money","sales","cash","blue-square","payment","bank","automated","machine","teller"],"🚮":["litter_in_bin_sign","blue-square","sign","human","info","its","litterbox","person","place","put","symbol","trash"],"🚰":["potable_water","blue-square","liquid","restroom","cleaning","faucet","drink","drinking","symbol","tap","thirst","thirsty"],"♿":["wheelchair_symbol","blue-square","disabled","accessibility","access","accessible","bathroom"],"🚹":["men_s_room","toilet","restroom","wc","blue-square","gender","male","lavatory","man","mens","men’s","symbol"],"🚺":["women_s_room","purple-square","woman","female","toilet","loo","restroom","gender","lavatory","symbol","wc","womens","womens toilet","women’s"],"🚻":["restroom","blue-square","toilet","refresh","wc","gender","bathroom","lavatory","sign"],"🚼":["baby_symbol","orange-square","child","change","changing","nursery","station"],"🚾":["water_closet","toilet","restroom","blue-square","lavatory","wc"],"🛂":["passport_control","custom","blue-square","border","permissions","authorization","roles"],"🛃":["customs","passport","border","blue-square"],"🛄":["baggage_claim","blue-square","airport","transport"],"🛅":["left_luggage","blue-square","travel","baggage","bag with","key","locked","locker","suitcase"],"⚠️":["warning","exclamation","wip","alert","error","problem","issue","sign","symbol"],"🚸":["children_crossing","school","warning","danger","sign","driving","yellow-diamond","child","kids","pedestrian","traffic","experience","usability"],"⛔":["no_entry","limit","security","privacy","bad","denied","stop","circle","forbidden","not","prohibited","traffic"],"🚫":["prohibited","forbid","stop","limit","denied","disallow","circle","backslash","banned","block","crossed","entry","forbidden","no","not","red","restricted","sign"],"🚳":["no_bicycles","no_bikes","bicycle","bike","cyclist","prohibited","circle","forbidden","not","sign","vehicle"],"🚭":["no_smoking","cigarette","blue-square","smell","smoke","forbidden","not","prohibited","sign","symbol"],"🚯":["no_littering","trash","bin","garbage","circle","do","forbidden","litter","not","prohibited","symbol"],"🚱":["non_potable_water","drink","faucet","tap","circle","drinking","forbidden","no","not","prohibited","symbol"],"🚷":["no_pedestrians","rules","crossing","walking","circle","forbidden","not","pedestrian","people","prohibited"],"📵":["no_mobile_phones","iphone","mute","circle","cell","communication","forbidden","not","phone","prohibited","smartphones","telephone"],"🔞":["no_one_under_eighteen","18","drink","pub","night","minor","circle","age","forbidden","not","nsfw","prohibited","restriction","symbol","underage"],"☢️":["radioactive","nuclear","danger","international","radiation","sign","symbol"],"☣️":["biohazard","danger","sign"],"⬆️":["up_arrow","blue-square","continue","top","direction","black","cardinal","north","pointing","upwards","upgrade"],"↗️":["up_right_arrow","blue-square","point","direction","diagonal","northeast","east","intercardinal","north","upper"],"➡️":["right_arrow","blue-square","next","black","cardinal","direction","east","pointing","rightwards","right arrow"],"↘️":["down_right_arrow","blue-square","direction","diagonal","southeast","east","intercardinal","lower","right arrow","south"],"⬇️":["down_arrow","blue-square","direction","bottom","black","cardinal","downwards","down arrow","pointing","south","downgrade"],"↙️":["down_left_arrow","blue-square","direction","diagonal","southwest","intercardinal","left arrow","lower","south","west"],"⬅️":["left_arrow","blue-square","previous","back","black","cardinal","direction","leftwards","left arrow","pointing","west"],"↖️":["up_left_arrow","blue-square","point","direction","diagonal","northwest","intercardinal","left arrow","north","upper","west"],"↕️":["up_down_arrow","blue-square","direction","way","vertical","arrows","intercardinal","northwest"],"↔️":["left_right_arrow","shape","direction","horizontal","sideways","arrows","horizontal arrows"],"↩️":["right_arrow_curving_left","back","return","blue-square","undo","enter","curved","email","hook","leftwards","reply"],"↪️":["left_arrow_curving_right","blue-square","return","rotate","direction","email","forward","hook","rightwards","right curved"],"⤴️":["right_arrow_curving_up","blue-square","direction","top","heading","pointing","rightwards","then","upwards"],"⤵️":["right_arrow_curving_down","blue-square","direction","bottom","curved","downwards","heading","pointing","rightwards","then"],"🔃":["clockwise_vertical_arrows","sync","cycle","round","repeat","arrow","circle","downwards","open","reload","upwards"],"🔄":["counterclockwise_arrows_button","blue-square","sync","cycle","anticlockwise","arrow","circle","downwards","open","refresh","rotate","switch","upwards","withershins"],"🔙":["back_arrow","arrow","words","return","above","leftwards"],"🔚":["end_arrow","words","arrow","above","leftwards"],"🔛":["on_arrow","arrow","words","above","exclamation","left","mark","on!","right"],"🔜":["soon_arrow","arrow","words","above","rightwards"],"🔝":["top_arrow","words","blue-square","above","up","upwards"],"🛐":["place_of_worship","religion","church","temple","prayer","building","religious"],"⚛️":["atom_symbol","science","physics","chemistry","atheist"],"🕉️":["om","hinduism","buddhism","sikhism","jainism","aumkara","hindu","omkara","pranava","religion","symbol"],"✡️":["star_of_david","judaism","jew","jewish","magen","religion"],"☸️":["wheel_of_dharma","hinduism","buddhism","sikhism","jainism","buddhist","helm","religion"],"☯️":["yin_yang","balance","religion","tao","taoist"],"✝️":["latin_cross","christianity","christian","religion"],"☦️":["orthodox_cross","suppedaneum","religion","christian"],"☪️":["star_and_crescent","islam","muslim","religion"],"☮️":["peace_symbol","hippie","sign"],"🕎":["menorah","hanukkah","candles","jewish","branches","candelabrum","candlestick","chanukiah","nine","religion"],"🔯":["dotted_six_pointed_star","purple-square","religion","jewish","hexagram","dot","fortune","middle"],"♈":["aries","sign","purple-square","zodiac","astrology","ram"],"♉":["taurus","purple-square","sign","zodiac","astrology","bull","ox"],"♊":["gemini","sign","zodiac","purple-square","astrology","twins"],"♋":["cancer","sign","zodiac","purple-square","astrology","crab"],"♌":["leo","sign","purple-square","zodiac","astrology","lion"],"♍":["virgo","sign","zodiac","purple-square","astrology","maiden","virgin"],"♎":["libra","sign","purple-square","zodiac","astrology","balance","justice","scales"],"♏":["scorpio","sign","zodiac","purple-square","astrology","scorpion","scorpius"],"♐":["sagittarius","sign","zodiac","purple-square","astrology","archer"],"♑":["capricorn","sign","zodiac","purple-square","astrology","goat"],"♒":["aquarius","sign","purple-square","zodiac","astrology","bearer","water"],"♓":["pisces","purple-square","sign","zodiac","astrology","fish"],"⛎":["ophiuchus","sign","purple-square","constellation","astrology","bearer","serpent","snake","zodiac"],"🔀":["shuffle_tracks_button","blue-square","shuffle","music","random","arrow","arrows","crossed","rightwards","symbol","twisted","merge"],"🔁":["repeat_button","loop","record","arrow","arrows","circle","clockwise","leftwards","open","retweet","rightwards","symbol"],"🔂":["repeat_single_button","blue-square","loop","arrow","arrows","circle","circled","clockwise","leftwards","number","once","one","open","overlay","rightwards","symbol","track"],"▶️":["play_button","blue-square","right","direction","play","arrow","black","forward","pointing","right triangle","triangle"],"⏩":["fast_forward_button","blue-square","play","speed","continue","arrow","black","double","pointing","right","symbol","triangle"],"⏭️":["next_track_button","forward","next","blue-square","arrow","bar","black","double","pointing","right","scene","skip","symbol","triangle","vertical"],"⏯️":["play_or_pause_button","blue-square","play","pause","arrow","bar","black","double","play/pause","pointing","right","symbol","triangle","vertical"],"◀️":["reverse_button","blue-square","left","direction","arrow","backward","black","pointing","triangle"],"⏪":["fast_reverse_button","play","blue-square","arrow","black","double","left","pointing","rewind","symbol","triangle","revert"],"⏮️":["last_track_button","backward","arrow","bar","black","double","left","pointing","previous","scene","skip","symbol","triangle","vertical"],"🔼":["upwards_button","blue-square","triangle","direction","point","forward","top","arrow","pointing","red","small","up"],"⏫":["fast_up_button","blue-square","direction","top","arrow","black","double","pointing","triangle"],"🔽":["downwards_button","blue-square","direction","bottom","arrow","down","pointing","red","small","triangle"],"⏬":["fast_down_button","blue-square","direction","bottom","arrow","black","double","pointing","triangle"],"⏸️":["pause_button","pause","blue-square","bar","double","symbol","vertical"],"⏹️":["stop_button","blue-square","black","for","square","symbol"],"⏺️":["record_button","blue-square","black","circle","for","symbol"],"⏏️":["eject_button","blue-square","symbol"],"🎦":["cinema","blue-square","record","film","movie","curtain","stage","theater","activity","camera","entertainment","movies","screen","symbol"],"🔅":["dim_button","sun","afternoon","warm","summer","brightness","decrease","low","symbol"],"🔆":["bright_button","sun","light","brightness","high","increase","symbol"],"📶":["antenna_bars","blue-square","reception","phone","internet","connection","wifi","bluetooth","bars","bar","cell","cellular","communication","mobile","signal","stairs","strength","telephone"],"📳":["vibration_mode","orange-square","phone","cell","communication","heart","mobile","silent","telephone"],"📴":["mobile_phone_off","mute","orange-square","silence","quiet","cell","communication","telephone"],"♀️":["female_sign","woman","women","lady","girl","symbol","venus"],"♂️":["male_sign","man","boy","men","mars","symbol"],"⚕️":["medical_symbol","health","hospital","aesculapius","asclepius","asklepios","care","doctor","medicine","rod","snake","staff"],"♾️":["infinity","forever","paper","permanent","sign","unbounded","universal"],"♻️":["recycling_symbol","arrow","environment","garbage","trash","black","green","logo","recycle","universal","reuse"],"⚜️":["fleur_de_lis","decorative","scout","new","orleans","saints","scouts"],"🔱":["trident_emblem","weapon","spear","anchor","pitchfork","ship","tool"],"📛":["name_badge","fire","forbid","tag","tofu"],"🔰":["japanese_symbol_for_beginner","badge","shield","chevron","green","leaf","mark","shoshinsha","tool","yellow"],"⭕":["hollow_red_circle","circle","round","correct","heavy","large","mark","o"],"✅":["check_mark_button","green-square","ok","agree","vote","election","answer","tick","green","heavy","symbol","white","pass_tests"],"☑️":["check_box_with_check","ok","agree","confirm","black-square","vote","election","yes","tick","ballot","checkbox","mark"],"✔️":["check_mark","ok","nike","answer","yes","tick","heavy"],"✖️":["multiplication_sign","math","calculation","cancel","heavy","multiply","symbol","x"],"❌":["cross_mark","no","delete","remove","cancel","red","multiplication","multiply","x"],"❎":["cross_mark_button","x","green-square","no","deny","negative","square","squared"],"➕":["plus_sign","math","calculation","addition","more","increase","heavy","symbol","add"],"➖":["minus_sign","math","calculation","subtract","less","heavy","symbol","remove"],"➗":["division_sign","divide","math","calculation","heavy","symbol"],"➰":["curly_loop","scribble","draw","shape","squiggle","curl","curling"],"➿":["double_curly_loop","tape","cassette","curl","curling","voicemail"],"〽️":["part_alternation_mark","graph","presentation","stats","business","economics","bad","m","mcdonald’s"],"✳️":["eight_spoked_asterisk","star","sparkle","green-square"],"✴️":["eight_pointed_star","orange-square","shape","polygon","black","orange"],"❇️":["sparkle","stars","green-square","awesome","good","fireworks"],"‼️":["double_exclamation_mark","exclamation","surprise","bangbang","punctuation","red"],"⁉️":["exclamation_question_mark","wat","punctuation","surprise","interrobang","red"],"❓":["question_mark","doubt","confused","black","ornament","punctuation","red"],"❔":["white_question_mark","doubts","gray","huh","confused","grey","ornament","outlined","punctuation"],"❕":["white_exclamation_mark","surprise","punctuation","gray","wow","warning","grey","ornament","outlined"],"❗":["exclamation_mark","heavy_exclamation_mark","danger","surprise","punctuation","wow","warning","bang","red","symbol"],"〰️":["wavy_dash","draw","line","moustache","mustache","squiggle","scribble","punctuation","wave"],"©️":["copyright","ip","license","circle","law","legal","c","sign"],"®️":["registered","alphabet","circle","r","sign"],"™️":["trade_mark","trademark","brand","law","legal","sign","tm"],"#️⃣":["keycap_","symbol","blue-square","twitter","hash","hashtag","key","number","octothorpe","pound","sign"],"*️⃣":["keycap_","star","keycap","asterisk"],"0️⃣":["keycap_0","0","numbers","blue-square","null","zero","digit"],"1️⃣":["keycap_1","blue-square","numbers","1","one","digit"],"2️⃣":["keycap_2","numbers","2","prime","blue-square","two","digit"],"3️⃣":["keycap_3","3","numbers","prime","blue-square","three","digit"],"4️⃣":["keycap_4","4","numbers","blue-square","four","digit"],"5️⃣":["keycap_5","5","numbers","blue-square","prime","five","digit"],"6️⃣":["keycap_6","6","numbers","blue-square","six","digit"],"7️⃣":["keycap_7","7","numbers","blue-square","prime","seven","digit"],"8️⃣":["keycap_8","8","blue-square","numbers","eight","digit"],"9️⃣":["keycap_9","blue-square","numbers","9","nine","digit"],"🔟":["keycap_10","numbers","10","blue-square","ten","number"],"🔠":["input_latin_uppercase","alphabet","words","letters","uppercase","blue-square","abcd","capital","for","symbol"],"🔡":["input_latin_lowercase","blue-square","letters","lowercase","alphabet","abcd","for","small","symbol"],"🔢":["input_numbers","numbers","blue-square","1234","1","2","3","4","for","numeric","symbol"],"🔣":["input_symbols","blue-square","music","note","ampersand","percent","glyphs","characters","for","symbol","symbol input"],"🔤":["input_latin_letters","blue-square","alphabet","abc","for","symbol"],"🅰️":["a_button","red-square","alphabet","letter","blood","capital","latin","negative","squared","type"],"🆎":["ab_button","red-square","alphabet","blood","negative","squared","type"],"🅱️":["b_button","red-square","alphabet","letter","blood","capital","latin","negative","squared","type"],"🆑":["cl_button","alphabet","words","red-square","clear","sign","squared"],"🆒":["cool_button","words","blue-square","sign","square","squared"],"🆓":["free_button","blue-square","words","sign","squared"],"ℹ️":["information","blue-square","alphabet","letter","i","info","lowercase","source","tourist"],"🆔":["id_button","purple-square","words","identification","identity","sign","squared"],"Ⓜ️":["circled_m","alphabet","blue-circle","letter","capital","circle","latin","metro"],"🆕":["new_button","blue-square","words","start","fresh","sign","squared"],"🆖":["ng_button","blue-square","words","shape","icon","blooper","good","no","sign","squared"],"🅾️":["o_button","alphabet","red-square","letter","blood","capital","latin","negative","o2","squared","type"],"🆗":["ok_button","good","agree","yes","blue-square","okay","sign","square","squared"],"🅿️":["p_button","cars","blue-square","alphabet","letter","capital","latin","negative","parking","sign","squared"],"🆘":["sos_button","help","red-square","words","emergency","911","distress","sign","signal","squared"],"🆙":["up_button","blue-square","above","high","exclamation","level","mark","sign","squared","up!"],"🆚":["vs_button","words","orange-square","squared","versus"],"🈁":["japanese_here_button","blue-square","here","katakana","japanese","destination","koko","meaning","sign","squared","word","“here”"],"🈂️":["japanese_service_charge_button","japanese","blue-square","katakana","charge”","meaning","or","sa","sign","squared","“service","“service”"],"🈷️":["japanese_monthly_amount_button","chinese","month","moon","japanese","orange-square","kanji","amount”","cjk","ideograph","meaning","radical","sign","squared","u6708","unified","“monthly"],"🈶":["japanese_not_free_of_charge_button","orange-square","chinese","have","kanji","charge”","cjk","exist","ideograph","meaning","own","sign","squared","u6709","unified","“not"],"🈯":["japanese_reserved_button","chinese","point","green-square","kanji","cjk","finger","ideograph","meaning","sign","squared","u6307","unified","“reserved”"],"🉐":["japanese_bargain_button","chinese","kanji","obtain","get","circle","acquire","advantage","circled","ideograph","meaning","sign","“bargain”"],"🈹":["japanese_discount_button","cut","divide","chinese","kanji","pink-square","bargain","cjk","ideograph","meaning","sale","sign","squared","u5272","unified","“discount”"],"🈚":["japanese_free_of_charge_button","nothing","chinese","kanji","japanese","orange-square","charge”","cjk","ideograph","lacking","meaning","negation","sign","squared","u7121","unified","“free"],"🈲":["japanese_prohibited_button","kanji","japanese","chinese","forbidden","limit","restricted","red-square","cjk","forbid","ideograph","meaning","prohibit","sign","squared","u7981","unified","“prohibited”"],"🉑":["japanese_acceptable_button","ok","good","chinese","kanji","agree","yes","orange-circle","accept","circled","ideograph","meaning","sign","“acceptable”"],"🈸":["japanese_application_button","chinese","japanese","kanji","orange-square","apply","cjk","form","ideograph","meaning","monkey","request","sign","squared","u7533","unified","“application”"],"🈴":["japanese_passing_grade_button","japanese","chinese","join","kanji","red-square","agreement","cjk","grade”","ideograph","meaning","sign","squared","together","u5408","unified","“passing"],"🈳":["japanese_vacancy_button","kanji","japanese","chinese","empty","sky","blue-square","7a7a","available","cjk","ideograph","meaning","sign","squared","u7a7a","unified","“vacancy”"],"㊗️":["japanese_congratulations_button","chinese","kanji","japanese","red-circle","circled","congratulate","congratulation","ideograph","meaning","sign","“congratulations”"],"㊙️":["japanese_secret_button","privacy","chinese","sshh","kanji","red-circle","circled","ideograph","meaning","sign","“secret”"],"🈺":["japanese_open_for_business_button","japanese","opening hours","orange-square","55b6","business”","chinese","cjk","ideograph","meaning","operating","sign","squared","u55b6","unified","work","“open"],"🈵":["japanese_no_vacancy_button","full","chinese","japanese","red-square","kanji","6e80","cjk","fullness","ideograph","meaning","sign","squared","u6e80","unified","vacancy”","“full;","“no"],"🔴":["red_circle","shape","error","danger","geometric","large"],"🟠":["orange_circle","round","geometric","large"],"🟡":["yellow_circle","round","geometric","large"],"🟢":["green_circle","round","geometric","large"],"🔵":["blue_circle","shape","icon","button","geometric","large"],"🟣":["purple_circle","round","geometric","large"],"🟤":["brown_circle","round","geometric","large"],"⚫":["black_circle","shape","button","round","geometric","medium"],"⚪":["white_circle","shape","round","geometric","medium"],"🟥":["red_square","card","geometric","large"],"🟧":["orange_square","geometric","large"],"🟨":["yellow_square","card","geometric","large"],"🟩":["green_square","geometric","large"],"🟦":["blue_square","geometric","large"],"🟪":["purple_square","geometric","large"],"🟫":["brown_square","geometric","large"],"⬛":["black_large_square","shape","icon","button","geometric"],"⬜":["white_large_square","shape","icon","stone","button","geometric"],"◼️":["black_medium_square","shape","button","icon","geometric"],"◻️":["white_medium_square","shape","stone","icon","geometric"],"◾":["black_medium_small_square","icon","shape","button","geometric"],"◽":["white_medium_small_square","shape","stone","icon","button","geometric"],"▪️":["black_small_square","shape","icon","geometric"],"▫️":["white_small_square","shape","icon","geometric"],"🔶":["large_orange_diamond","shape","jewel","gem","geometric"],"🔷":["large_blue_diamond","shape","jewel","gem","geometric"],"🔸":["small_orange_diamond","shape","jewel","gem","geometric"],"🔹":["small_blue_diamond","shape","jewel","gem","geometric"],"🔺":["red_triangle_pointed_up","shape","direction","up","top","geometric","pointing","small"],"🔻":["red_triangle_pointed_down","shape","direction","bottom","geometric","pointing","small"],"💠":["diamond_with_a_dot","jewel","blue","gem","crystal","fancy","comic","cuteness","flower","geometric","inside","kawaii","shape"],"🔘":["radio_button","input","old","music","circle","geometric"],"🔳":["white_square_button","shape","input","geometric","outlined"],"🔲":["black_square_button","shape","input","frame","geometric"],"🏁":["chequered_flag","contest","finishline","race","gokart","checkered","finish","girl","grid","milestone","racing"],"🚩":["triangular_flag","mark","milestone","place","pole","post","red","flag"],"🎌":["crossed_flags","japanese","nation","country","border","activity","celebration","cross","flag","two"],"🏴":["black_flag","pirate","waving"],"🏳️":["white_flag","losing","loser","lost","surrender","give up","fail","waving"],"🏳️‍🌈":["rainbow_flag","flag","rainbow","pride","gay","lgbt","queer","homosexual","lesbian","bisexual"],"🏴‍☠️":["pirate_flag","skull","crossbones","flag","banner","jolly","plunder","roger","treasure"],"🇦🇨":["flag_ascension_island"],"🇦🇩":["flag_andorra","ad","flag","nation","country","banner","andorra","andorran"],"🇦🇪":["flag_united_arab_emirates","united","arab","emirates","flag","nation","country","banner","united_arab_emirates","emirati","uae"],"🇦🇫":["flag_afghanistan","af","flag","nation","country","banner","afghanistan","afghan"],"🇦🇬":["flag_antigua_barbuda","antigua","barbuda","flag","nation","country","banner","antigua_barbuda"],"🇦🇮":["flag_anguilla","ai","flag","nation","country","banner","anguilla","anguillan"],"🇦🇱":["flag_albania","al","flag","nation","country","banner","albania","albanian"],"🇦🇲":["flag_armenia","am","flag","nation","country","banner","armenia","armenian"],"🇦🇴":["flag_angola","ao","flag","nation","country","banner","angola","angolan"],"🇦🇶":["flag_antarctica","aq","flag","nation","country","banner","antarctica","antarctic"],"🇦🇷":["flag_argentina","ar","flag","nation","country","banner","argentina","argentinian"],"🇦🇸":["flag_american_samoa","american","ws","flag","nation","country","banner","american_samoa","samoan"],"🇦🇹":["flag_austria","at","flag","nation","country","banner","austria","austrian"],"🇦🇺":["flag_australia","au","flag","nation","country","banner","australia","aussie","australian","heard","mcdonald"],"🇦🇼":["flag_aruba","aw","flag","nation","country","banner","aruba","aruban"],"🇦🇽":["flag_aland_islands","Åland","islands","flag","nation","country","banner","aland_islands"],"🇦🇿":["flag_azerbaijan","az","flag","nation","country","banner","azerbaijan","azerbaijani"],"🇧🇦":["flag_bosnia_herzegovina","bosnia","herzegovina","flag","nation","country","banner","bosnia_herzegovina"],"🇧🇧":["flag_barbados","bb","flag","nation","country","banner","barbados","bajan","barbadian"],"🇧🇩":["flag_bangladesh","bd","flag","nation","country","banner","bangladesh","bangladeshi"],"🇧🇪":["flag_belgium","be","flag","nation","country","banner","belgium","belgian"],"🇧🇫":["flag_burkina_faso","burkina","faso","flag","nation","country","banner","burkina_faso","burkinabe"],"🇧🇬":["flag_bulgaria","bg","flag","nation","country","banner","bulgaria","bulgarian"],"🇧🇭":["flag_bahrain","bh","flag","nation","country","banner","bahrain","bahrainian","bahrani"],"🇧🇮":["flag_burundi","bi","flag","nation","country","banner","burundi","burundian"],"🇧🇯":["flag_benin","bj","flag","nation","country","banner","benin","beninese"],"🇧🇱":["flag_st_barthelemy","saint","barthélemy","flag","nation","country","banner","st_barthelemy","st."],"🇧🇲":["flag_bermuda","bm","flag","nation","country","banner","bermuda","bermudan flag"],"🇧🇳":["flag_brunei","bn","darussalam","flag","nation","country","banner","brunei","bruneian"],"🇧🇴":["flag_bolivia","bo","flag","nation","country","banner","bolivia","bolivian"],"🇧🇶":["flag_caribbean_netherlands","bonaire","flag","nation","country","banner","caribbean_netherlands","eustatius","saba","sint"],"🇧🇷":["flag_brazil","br","flag","nation","country","banner","brazil","brasil","brazilian","for"],"🇧🇸":["flag_bahamas","bs","flag","nation","country","banner","bahamas","bahamian"],"🇧🇹":["flag_bhutan","bt","flag","nation","country","banner","bhutan","bhutanese"],"🇧🇻":["flag_bouvet_island","norway"],"🇧🇼":["flag_botswana","bw","flag","nation","country","banner","botswana","batswana"],"🇧🇾":["flag_belarus","by","flag","nation","country","banner","belarus","belarusian"],"🇧🇿":["flag_belize","bz","flag","nation","country","banner","belize","belizean"],"🇨🇦":["flag_canada","ca","flag","nation","country","banner","canada","canadian"],"🇨🇨":["flag_cocos_islands","cocos","keeling","islands","flag","nation","country","banner","cocos_islands","island"],"🇨🇩":["flag_congo_kinshasa","congo","democratic","republic","flag","nation","country","banner","congo_kinshasa","drc"],"🇨🇫":["flag_central_african_republic","central","african","republic","flag","nation","country","banner","central_african_republic"],"🇨🇬":["flag_congo_brazzaville","congo","flag","nation","country","banner","congo_brazzaville","republic"],"🇨🇭":["flag_switzerland","ch","flag","nation","country","banner","switzerland","cross","red","swiss"],"🇨🇮":["flag_cote_d_ivoire","ivory","coast","flag","nation","country","banner","cote_d_ivoire","côte","divoire","d’ivoire"],"🇨🇰":["flag_cook_islands","cook","islands","flag","nation","country","banner","cook_islands","island","islander"],"🇨🇱":["flag_chile","flag","nation","country","banner","chile","chilean"],"🇨🇲":["flag_cameroon","cm","flag","nation","country","banner","cameroon","cameroonian"],"🇨🇳":["flag_china","china","chinese","prc","flag","country","nation","banner","cn","indicator","letters","regional","symbol"],"🇨🇴":["flag_colombia","co","flag","nation","country","banner","colombia","colombian"],"🇨🇵":["flag_clipperton_island"],"🇨🇷":["flag_costa_rica","costa","rica","flag","nation","country","banner","costa_rica","rican"],"🇨🇺":["flag_cuba","cu","flag","nation","country","banner","cuba","cuban"],"🇨🇻":["flag_cape_verde","cabo","verde","flag","nation","country","banner","cape_verde","verdian"],"🇨🇼":["flag_curacao","curaçao","flag","nation","country","banner","curacao","antilles","curaçaoan"],"🇨🇽":["flag_christmas_island","christmas","island","flag","nation","country","banner","christmas_island"],"🇨🇾":["flag_cyprus","cy","flag","nation","country","banner","cyprus","cypriot"],"🇨🇿":["flag_czechia","cz","flag","nation","country","banner","czechia","czech","republic"],"🇩🇪":["flag_germany","german","nation","flag","country","banner","germany","de","deutsch","indicator","letters","regional","symbol"],"🇩🇬":["flag_diego_garcia"],"🇩🇯":["flag_djibouti","dj","flag","nation","country","banner","djibouti","djiboutian"],"🇩🇰":["flag_denmark","dk","flag","nation","country","banner","denmark","danish"],"🇩🇲":["flag_dominica","dm","flag","nation","country","banner","dominica"],"🇩🇴":["flag_dominican_republic","dominican","republic","flag","nation","country","banner","dominican_republic","dom","rep"],"🇩🇿":["flag_algeria","dz","flag","nation","country","banner","algeria","algerian"],"🇪🇦":["flag_ceuta_melilla"],"🇪🇨":["flag_ecuador","ec","flag","nation","country","banner","ecuador","ecuadorian"],"🇪🇪":["flag_estonia","ee","flag","nation","country","banner","estonia","estonian"],"🇪🇬":["flag_egypt","eg","flag","nation","country","banner","egypt","egyptian"],"🇪🇭":["flag_western_sahara","western","sahara","flag","nation","country","banner","western_sahara","saharan","west"],"🇪🇷":["flag_eritrea","er","flag","nation","country","banner","eritrea","eritrean"],"🇪🇸":["flag_spain","spain","flag","nation","country","banner","ceuta","es","indicator","letters","melilla","regional","spanish","symbol"],"🇪🇹":["flag_ethiopia","et","flag","nation","country","banner","ethiopia","ethiopian"],"🇪🇺":["flag_european_union","european","union","flag","banner","eu"],"🇫🇮":["flag_finland","fi","flag","nation","country","banner","finland","finnish"],"🇫🇯":["flag_fiji","fj","flag","nation","country","banner","fiji","fijian"],"🇫🇰":["flag_falkland_islands","falkland","islands","malvinas","flag","nation","country","banner","falkland_islands","falklander","falklands","island","islas"],"🇫🇲":["flag_micronesia","micronesia","federated","states","flag","nation","country","banner","micronesian"],"🇫🇴":["flag_faroe_islands","faroe","islands","flag","nation","country","banner","faroe_islands","island","islander"],"🇫🇷":["flag_france","banner","flag","nation","france","french","country","clipperton","fr","indicator","island","letters","martin","regional","saint","st.","symbol"],"🇬🇦":["flag_gabon","ga","flag","nation","country","banner","gabon","gabonese"],"🇬🇧":["flag_united_kingdom","united","kingdom","great","britain","northern","ireland","flag","nation","country","banner","british","UK","english","england","union jack","united_kingdom","cornwall","gb","scotland","wales"],"🇬🇩":["flag_grenada","gd","flag","nation","country","banner","grenada","grenadian"],"🇬🇪":["flag_georgia","ge","flag","nation","country","banner","georgia","georgian"],"🇬🇫":["flag_french_guiana","french","guiana","flag","nation","country","banner","french_guiana","guinean"],"🇬🇬":["flag_guernsey","gg","flag","nation","country","banner","guernsey"],"🇬🇭":["flag_ghana","gh","flag","nation","country","banner","ghana","ghanaian"],"🇬🇮":["flag_gibraltar","gi","flag","nation","country","banner","gibraltar","gibraltarian"],"🇬🇱":["flag_greenland","gl","flag","nation","country","banner","greenland","greenlandic"],"🇬🇲":["flag_gambia","gm","flag","nation","country","banner","gambia","gambian flag"],"🇬🇳":["flag_guinea","gn","flag","nation","country","banner","guinea","guinean"],"🇬🇵":["flag_guadeloupe","gp","flag","nation","country","banner","guadeloupe","guadeloupean"],"🇬🇶":["flag_equatorial_guinea","equatorial","gn","flag","nation","country","banner","equatorial_guinea","equatoguinean","guinean"],"🇬🇷":["flag_greece","gr","flag","nation","country","banner","greece","greek"],"🇬🇸":["flag_south_georgia_south_sandwich_islands","south","georgia","sandwich","islands","flag","nation","country","banner","south_georgia_south_sandwich_islands","island"],"🇬🇹":["flag_guatemala","gt","flag","nation","country","banner","guatemala","guatemalan"],"🇬🇺":["flag_guam","gu","flag","nation","country","banner","guam","chamorro","guamanian"],"🇬🇼":["flag_guinea_bissau","gw","bissau","flag","nation","country","banner","guinea_bissau"],"🇬🇾":["flag_guyana","gy","flag","nation","country","banner","guyana","guyanese"],"🇭🇰":["flag_hong_kong_sar_china","hong","kong","flag","nation","country","banner","hong_kong_sar_china"],"🇭🇲":["flag_heard_mcdonald_islands"],"🇭🇳":["flag_honduras","hn","flag","nation","country","banner","honduras","honduran"],"🇭🇷":["flag_croatia","hr","flag","nation","country","banner","croatia","croatian"],"🇭🇹":["flag_haiti","ht","flag","nation","country","banner","haiti","haitian"],"🇭🇺":["flag_hungary","hu","flag","nation","country","banner","hungary","hungarian"],"🇮🇨":["flag_canary_islands","canary","islands","flag","nation","country","banner","canary_islands","island"],"🇮🇩":["flag_indonesia","flag","nation","country","banner","indonesia","indonesian"],"🇮🇪":["flag_ireland","ie","flag","nation","country","banner","ireland","irish flag"],"🇮🇱":["flag_israel","il","flag","nation","country","banner","israel","israeli"],"🇮🇲":["flag_isle_of_man","isle","man","flag","nation","country","banner","isle_of_man","manx"],"🇮🇳":["flag_india","in","flag","nation","country","banner","india","indian"],"🇮🇴":["flag_british_indian_ocean_territory","british","indian","ocean","territory","flag","nation","country","banner","british_indian_ocean_territory","chagos","diego","garcia","island"],"🇮🇶":["flag_iraq","iq","flag","nation","country","banner","iraq","iraqi"],"🇮🇷":["flag_iran","iran","islamic","republic","flag","nation","country","banner","iranian flag"],"🇮🇸":["flag_iceland","is","flag","nation","country","banner","iceland","icelandic"],"🇮🇹":["flag_italy","italy","flag","nation","country","banner","indicator","italian","letters","regional","symbol"],"🇯🇪":["flag_jersey","je","flag","nation","country","banner","jersey"],"🇯🇲":["flag_jamaica","jm","flag","nation","country","banner","jamaica","jamaican flag"],"🇯🇴":["flag_jordan","jo","flag","nation","country","banner","jordan","jordanian"],"🇯🇵":["flag_japan","japanese","nation","flag","country","banner","japan","jp","ja","indicator","letters","regional","symbol"],"🇰🇪":["flag_kenya","ke","flag","nation","country","banner","kenya","kenyan"],"🇰🇬":["flag_kyrgyzstan","kg","flag","nation","country","banner","kyrgyzstan","kyrgyzstani"],"🇰🇭":["flag_cambodia","kh","flag","nation","country","banner","cambodia","cambodian"],"🇰🇮":["flag_kiribati","ki","flag","nation","country","banner","kiribati","i"],"🇰🇲":["flag_comoros","km","flag","nation","country","banner","comoros","comoran"],"🇰🇳":["flag_st_kitts_nevis","saint","kitts","nevis","flag","nation","country","banner","st_kitts_nevis","st."],"🇰🇵":["flag_north_korea","north","korea","nation","flag","country","banner","north_korea","korean"],"🇰🇷":["flag_south_korea","south","korea","nation","flag","country","banner","south_korea","indicator","korean","kr","letters","regional","symbol"],"🇰🇼":["flag_kuwait","kw","flag","nation","country","banner","kuwait","kuwaiti"],"🇰🇾":["flag_cayman_islands","cayman","islands","flag","nation","country","banner","cayman_islands","caymanian","island"],"🇰🇿":["flag_kazakhstan","kz","flag","nation","country","banner","kazakhstan","kazakh","kazakhstani"],"🇱🇦":["flag_laos","lao","democratic","republic","flag","nation","country","banner","laos","laotian"],"🇱🇧":["flag_lebanon","lb","flag","nation","country","banner","lebanon","lebanese"],"🇱🇨":["flag_st_lucia","saint","lucia","flag","nation","country","banner","st_lucia","st."],"🇱🇮":["flag_liechtenstein","li","flag","nation","country","banner","liechtenstein","liechtensteiner"],"🇱🇰":["flag_sri_lanka","sri","lanka","flag","nation","country","banner","sri_lanka","lankan"],"🇱🇷":["flag_liberia","lr","flag","nation","country","banner","liberia","liberian"],"🇱🇸":["flag_lesotho","ls","flag","nation","country","banner","lesotho","basotho"],"🇱🇹":["flag_lithuania","lt","flag","nation","country","banner","lithuania","lithuanian"],"🇱🇺":["flag_luxembourg","lu","flag","nation","country","banner","luxembourg","luxembourger"],"🇱🇻":["flag_latvia","lv","flag","nation","country","banner","latvia","latvian"],"🇱🇾":["flag_libya","ly","flag","nation","country","banner","libya","libyan"],"🇲🇦":["flag_morocco","ma","flag","nation","country","banner","morocco","moroccan"],"🇲🇨":["flag_monaco","mc","flag","nation","country","banner","monaco","monégasque"],"🇲🇩":["flag_moldova","moldova","republic","flag","nation","country","banner","moldovan"],"🇲🇪":["flag_montenegro","me","flag","nation","country","banner","montenegro","montenegrin"],"🇲🇫":["flag_st_martin","st."],"🇲🇬":["flag_madagascar","mg","flag","nation","country","banner","madagascar","madagascan"],"🇲🇭":["flag_marshall_islands","marshall","islands","flag","nation","country","banner","marshall_islands","island","marshallese"],"🇲🇰":["flag_north_macedonia","macedonia","flag","nation","country","banner","north_macedonia","macedonian"],"🇲🇱":["flag_mali","ml","flag","nation","country","banner","mali","malian"],"🇲🇲":["flag_myanmar","mm","flag","nation","country","banner","myanmar","burma","burmese","for","myanmarese flag"],"🇲🇳":["flag_mongolia","mn","flag","nation","country","banner","mongolia","mongolian"],"🇲🇴":["flag_macao_sar_china","macao","flag","nation","country","banner","macao_sar_china","macanese flag","macau"],"🇲🇵":["flag_northern_mariana_islands","northern","mariana","islands","flag","nation","country","banner","northern_mariana_islands","island","micronesian","north"],"🇲🇶":["flag_martinique","mq","flag","nation","country","banner","martinique","martiniquais flag","of martinique","snake"],"🇲🇷":["flag_mauritania","mr","flag","nation","country","banner","mauritania","mauritanian"],"🇲🇸":["flag_montserrat","ms","flag","nation","country","banner","montserrat","montserratian"],"🇲🇹":["flag_malta","mt","flag","nation","country","banner","malta","maltese"],"🇲🇺":["flag_mauritius","mu","flag","nation","country","banner","mauritius","mauritian"],"🇲🇻":["flag_maldives","mv","flag","nation","country","banner","maldives","maldivian"],"🇲🇼":["flag_malawi","mw","flag","nation","country","banner","malawi","malawian flag"],"🇲🇽":["flag_mexico","mx","flag","nation","country","banner","mexico","mexican"],"🇲🇾":["flag_malaysia","my","flag","nation","country","banner","malaysia","malaysian"],"🇲🇿":["flag_mozambique","mz","flag","nation","country","banner","mozambique","mozambican"],"🇳🇦":["flag_namibia","na","flag","nation","country","banner","namibia","namibian"],"🇳🇨":["flag_new_caledonia","new","caledonia","flag","nation","country","banner","new_caledonia","caledonian"],"🇳🇪":["flag_niger","ne","flag","nation","country","banner","niger","nigerien flag"],"🇳🇫":["flag_norfolk_island","norfolk","island","flag","nation","country","banner","norfolk_island"],"🇳🇬":["flag_nigeria","flag","nation","country","banner","nigeria","nigerian"],"🇳🇮":["flag_nicaragua","ni","flag","nation","country","banner","nicaragua","nicaraguan"],"🇳🇱":["flag_netherlands","nl","flag","nation","country","banner","netherlands","dutch"],"🇳🇴":["flag_norway","no","flag","nation","country","banner","norway","bouvet","jan","mayen","norwegian","svalbard"],"🇳🇵":["flag_nepal","np","flag","nation","country","banner","nepal","nepalese"],"🇳🇷":["flag_nauru","nr","flag","nation","country","banner","nauru","nauruan"],"🇳🇺":["flag_niue","nu","flag","nation","country","banner","niue","niuean"],"🇳🇿":["flag_new_zealand","new","zealand","flag","nation","country","banner","new_zealand","kiwi"],"🇴🇲":["flag_oman","om_symbol","flag","nation","country","banner","oman","omani"],"🇵🇦":["flag_panama","pa","flag","nation","country","banner","panama","panamanian"],"🇵🇪":["flag_peru","pe","flag","nation","country","banner","peru","peruvian"],"🇵🇫":["flag_french_polynesia","french","polynesia","flag","nation","country","banner","french_polynesia","polynesian"],"🇵🇬":["flag_papua_new_guinea","papua","new","guinea","flag","nation","country","banner","papua_new_guinea","guinean","png"],"🇵🇭":["flag_philippines","ph","flag","nation","country","banner","philippines"],"🇵🇰":["flag_pakistan","pk","flag","nation","country","banner","pakistan","pakistani"],"🇵🇱":["flag_poland","pl","flag","nation","country","banner","poland","polish"],"🇵🇲":["flag_st_pierre_miquelon","saint","pierre","miquelon","flag","nation","country","banner","st_pierre_miquelon","st."],"🇵🇳":["flag_pitcairn_islands","pitcairn","flag","nation","country","banner","pitcairn_islands","island"],"🇵🇷":["flag_puerto_rico","puerto","rico","flag","nation","country","banner","puerto_rico","rican"],"🇵🇸":["flag_palestinian_territories","palestine","palestinian","territories","flag","nation","country","banner","palestinian_territories"],"🇵🇹":["flag_portugal","pt","flag","nation","country","banner","portugal","portugese"],"🇵🇼":["flag_palau","pw","flag","nation","country","banner","palau","palauan"],"🇵🇾":["flag_paraguay","py","flag","nation","country","banner","paraguay","paraguayan"],"🇶🇦":["flag_qatar","qa","flag","nation","country","banner","qatar","qatari"],"🇷🇪":["flag_reunion","réunion","flag","nation","country","banner","reunion","réunionnais"],"🇷🇴":["flag_romania","ro","flag","nation","country","banner","romania","romanian"],"🇨🇶":["flag_sark","cq","flag","banner"],"🇷🇸":["flag_serbia","rs","flag","nation","country","banner","serbia","serbian flag"],"🇷🇺":["flag_russia","russian","federation","flag","nation","country","banner","russia","indicator","letters","regional","ru","symbol"],"🇷🇼":["flag_rwanda","rw","flag","nation","country","banner","rwanda","rwandan"],"🇸🇦":["flag_saudi_arabia","flag","nation","country","banner","saudi_arabia","arabian flag"],"🇸🇧":["flag_solomon_islands","solomon","islands","flag","nation","country","banner","solomon_islands","island","islander flag"],"🇸🇨":["flag_seychelles","sc","flag","nation","country","banner","seychelles","seychellois flag"],"🇸🇩":["flag_sudan","sd","flag","nation","country","banner","sudan","sudanese"],"🇸🇪":["flag_sweden","se","flag","nation","country","banner","sweden","swedish"],"🇸🇬":["flag_singapore","sg","flag","nation","country","banner","singapore","singaporean"],"🇸🇭":["flag_st_helena","saint","helena","ascension","tristan","cunha","flag","nation","country","banner","st_helena","st."],"🇸🇮":["flag_slovenia","si","flag","nation","country","banner","slovenia","slovenian"],"🇸🇯":["flag_svalbard_jan_mayen"],"🇸🇰":["flag_slovakia","sk","flag","nation","country","banner","slovakia","slovakian","slovak flag"],"🇸🇱":["flag_sierra_leone","sierra","leone","flag","nation","country","banner","sierra_leone","leonean"],"🇸🇲":["flag_san_marino","san","marino","flag","nation","country","banner","san_marino","sammarinese"],"🇸🇳":["flag_senegal","sn","flag","nation","country","banner","senegal","sengalese"],"🇸🇴":["flag_somalia","so","flag","nation","country","banner","somalia","somalian flag"],"🇸🇷":["flag_suriname","sr","flag","nation","country","banner","suriname","surinamer"],"🇸🇸":["flag_south_sudan","south","sd","flag","nation","country","banner","south_sudan","sudanese flag"],"🇸🇹":["flag_sao_tome_principe","sao","tome","principe","flag","nation","country","banner","sao_tome_principe","príncipe","são","tomé"],"🇸🇻":["flag_el_salvador","el","salvador","flag","nation","country","banner","el_salvador","salvadoran"],"🇸🇽":["flag_sint_maarten","sint","maarten","dutch","flag","nation","country","banner","sint_maarten"],"🇸🇾":["flag_syria","syrian","arab","republic","flag","nation","country","banner","syria"],"🇸🇿":["flag_eswatini","sz","flag","nation","country","banner","eswatini","swaziland"],"🇹🇦":["flag_tristan_da_cunha"],"🇹🇨":["flag_turks_caicos_islands","turks","caicos","islands","flag","nation","country","banner","turks_caicos_islands","island"],"🇹🇩":["flag_chad","td","flag","nation","country","banner","chad","chadian"],"🇹🇫":["flag_french_southern_territories","french","southern","territories","flag","nation","country","banner","french_southern_territories","antarctic","lands"],"🇹🇬":["flag_togo","tg","flag","nation","country","banner","togo","togolese"],"🇹🇭":["flag_thailand","th","flag","nation","country","banner","thailand","thai"],"🇹🇯":["flag_tajikistan","tj","flag","nation","country","banner","tajikistan","tajik"],"🇹🇰":["flag_tokelau","tk","flag","nation","country","banner","tokelau","tokelauan"],"🇹🇱":["flag_timor_leste","timor","leste","flag","nation","country","banner","timor_leste","east","leste flag","timorese"],"🇹🇲":["flag_turkmenistan","flag","nation","country","banner","turkmenistan","turkmen"],"🇹🇳":["flag_tunisia","tn","flag","nation","country","banner","tunisia","tunisian"],"🇹🇴":["flag_tonga","to","flag","nation","country","banner","tonga","tongan flag"],"🇹🇷":["flag_turkey","turkey","flag","nation","country","banner","tr","turkish flag","türkiye"],"🇹🇹":["flag_trinidad_tobago","trinidad","tobago","flag","nation","country","banner","trinidad_tobago"],"🇹🇻":["flag_tuvalu","flag","nation","country","banner","tuvalu","tuvaluan"],"🇹🇼":["flag_taiwan","tw","flag","nation","country","banner","taiwan","china","taiwanese"],"🇹🇿":["flag_tanzania","tanzania","united","republic","flag","nation","country","banner","tanzanian"],"🇺🇦":["flag_ukraine","ua","flag","nation","country","banner","ukraine","ukrainian"],"🇺🇬":["flag_uganda","ug","flag","nation","country","banner","uganda","ugandan flag"],"🇺🇲":["flag_u_s_outlying_islands","u.s.","us"],"🇺🇳":["flag_united_nations","un","flag","banner"],"🇺🇸":["flag_united_states","united","states","america","flag","nation","country","banner","united_states","american","indicator","islands","letters","outlying","regional","symbol","us","usa"],"🇺🇾":["flag_uruguay","uy","flag","nation","country","banner","uruguay","uruguayan"],"🇺🇿":["flag_uzbekistan","uz","flag","nation","country","banner","uzbekistan","uzbek","uzbekistani"],"🇻🇦":["flag_vatican_city","vatican","city","flag","nation","country","banner","vatican_city","vanticanien"],"🇻🇨":["flag_st_vincent_grenadines","saint","vincent","grenadines","flag","nation","country","banner","st_vincent_grenadines","st."],"🇻🇪":["flag_venezuela","ve","bolivarian","republic","flag","nation","country","banner","venezuela","venezuelan"],"🇻🇬":["flag_british_virgin_islands","british","virgin","islands","bvi","flag","nation","country","banner","british_virgin_islands","island","islander"],"🇻🇮":["flag_u_s_virgin_islands","virgin","islands","us","flag","nation","country","banner","u_s_virgin_islands","america","island","islander","states","u.s.","united","usa"],"🇻🇳":["flag_vietnam","viet","nam","flag","nation","country","banner","vietnam","vietnamese"],"🇻🇺":["flag_vanuatu","vu","flag","nation","country","banner","vanuatu","ni","vanuatu flag"],"🇼🇫":["flag_wallis_futuna","wallis","futuna","flag","nation","country","banner","wallis_futuna"],"🇼🇸":["flag_samoa","ws","flag","nation","country","banner","samoa","samoan flag"],"🇽🇰":["flag_kosovo","xk","flag","nation","country","banner","kosovo","kosovar"],"🇾🇪":["flag_yemen","ye","flag","nation","country","banner","yemen","yemeni flag"],"🇾🇹":["flag_mayotte","yt","flag","nation","country","banner","mayotte"],"🇿🇦":["flag_south_africa","south","africa","flag","nation","country","banner","south_africa","african flag"],"🇿🇲":["flag_zambia","zm","flag","nation","country","banner","zambia","zambian"],"🇿🇼":["flag_zimbabwe","zw","flag","nation","country","banner","zimbabwe","zim","zimbabwean flag"],"🏴󠁧󠁢󠁥󠁮󠁧󠁿":["flag_england","flag","english","cross","george's","st"],"🏴󠁧󠁢󠁳󠁣󠁴󠁿":["flag_scotland","flag","scottish","andrew's","cross","saltire","st"],"🏴󠁧󠁢󠁷󠁬󠁳󠁿":["flag_wales","flag","welsh","baner","cymru","ddraig","dragon","goch","red","y"],"🥲":["smiling face with tear","sad","cry","pretend","grateful","happy","proud","relieved","smile","touched"],"🥸":["disguised face","pretent","brows","glasses","moustache","disguise","incognito","nose"],"🤌":["pinched fingers","size","tiny","small","che","finger","gesture","hand","interrogation","ma","purse","sarcastic","vuoi"],"🫀":["anatomical heart","health","heartbeat","cardiology","organ","pulse"],"🫁":["lungs","breathe","breath","exhalation","inhalation","organ","respiration"],"🥷":["ninja","ninjutsu","skills","japanese","fighter","hidden","stealth"],"🤵‍♂️":["man in tuxedo","formal","fashion","groom","male","men","person","suit","wedding"],"🤵‍♀️":["woman in tuxedo","formal","fashion","female","wedding","women"],"👰‍♂️":["man with veil","wedding","marriage","bride","male","men"],"👰‍♀️":["woman with veil","wedding","marriage","bride","female","women"],"👩‍🍼":["woman feeding baby","birth","food","bottle","child","female","infant","milk","nursing","women"],"👨‍🍼":["man feeding baby","birth","food","bottle","child","infant","male","men","milk","nursing"],"🧑‍🍼":["person feeding baby","birth","food","bottle","child","infant","milk","nursing"],"🧑‍🎄":["mx claus","christmas","activity","celebration","mx.","santa"],"🫂":["people hugging","care","goodbye","hello","hug","thanks"],"🐈‍⬛":["black cat","superstition","luck","halloween","pet","unlucky"],"🦬":["bison","ox","buffalo","herd","wisent"],"🦣":["mammoth","elephant","tusks","extinct","extinction","large","tusk","woolly"],"🦫":["beaver","animal","rodent","dam"],"🐻‍❄️":["polar bear","animal","arctic","face","white"],"🦤":["dodo","animal","bird","extinct","extinction","large","mauritius","obsolete"],"🪶":["feather","bird","fly","flight","light","plumage"],"🦭":["seal","animal","creature","sea","lion"],"🪲":["beetle","insect","bug"],"🪳":["cockroach","insect","pests","pest","roach"],"🪰":["fly","insect","disease","maggot","pest","rotting"],"🪱":["worm","animal","annelid","earthworm","parasite"],"🪴":["potted plant","greenery","house","boring","grow","houseplant","nurturing","useless"],"🫐":["blueberries","fruit","berry","bilberry","blue","blueberry"],"🫒":["olive","fruit","food","olives"],"🫑":["bell pepper","fruit","plant","capsicum","vegetable"],"🫓":["flatbread","flour","food","bakery","arepa","bread","flat","lavash","naan","pita"],"🫔":["tamale","food","masa","mexican","tamal","wrapped"],"🫕":["fondue","cheese","pot","food","chocolate","melted","swiss"],"🫖":["teapot","drink","hot","kettle","pot","tea"],"🧋":["bubble tea","taiwan","boba","milk tea","straw","momi","pearl","tapioca"],"🪨":["rock","stone","boulder","construction","heavy","solid"],"🪵":["wood","nature","timber","trunk","construction","log","lumber"],"🛖":["hut","house","structure","roundhouse","yurt"],"🛻":["pickup truck","car","transportation","vehicle"],"🛼":["roller skate","footwear","sports","derby","inline"],"🪄":["magic wand","supernature","power","witch","wizard"],"🪅":["pinata","mexico","candy","celebration","party","piñata"],"🪆":["nesting dolls","matryoshka","toy","doll","russia","russian"],"🪡":["sewing needle","stitches","embroidery","sutures","tailoring"],"🪢":["knot","rope","scout","tangled","tie","twine","twist"],"🩴":["thong sandal","footwear","summer","beach","flip","flops","jandals","sandals","thongs","zōri"],"🪖":["military helmet","army","protection","soldier","warrior"],"🪗":["accordion","music","accordian","box","concertina","squeeze"],"🪘":["long drum","music","beat","conga","djembe","rhythm"],"🪙":["coin","money","currency","gold","metal","silver","treasure"],"🪃":["boomerang","weapon","australia","rebound","repercussion"],"🪚":["carpentry saw","cut","chop","carpenter","hand","lumber","tool"],"🪛":["screwdriver","tools","screw","tool"],"🪝":["hook","tools","catch","crook","curve","ensnare","fishing","point","selling","tool"],"🪜":["ladder","tools","climb","rung","step","tool"],"🛗":["elevator","lift","accessibility","hoist"],"🪞":["mirror","reflection","reflector","speculum"],"🪟":["window","scenery","air","frame","fresh","glass","opening","transparent","view"],"🪠":["plunger","toilet","cup","force","plumber","suction"],"🪤":["mouse trap","cheese","bait","mousetrap","rodent","snare"],"🪣":["bucket","water","container","cask","pail","vat"],"🪥":["toothbrush","hygiene","dental","bathroom","brush","clean","teeth"],"🪦":["headstone","death","rip","grave","cemetery","graveyard","halloween","tombstone"],"🪧":["placard","announcement","demonstration","lawn","picket","post","protest","sign"],"⚧️":["transgender symbol","transgender","lgbtq","female","lgbt","male","pride","sign","stroke"],"🏳️‍⚧️":["transgender flag","transgender","flag","pride","lgbtq","blue","lgbt","light","pink","trans","white"],"😶‍🌫️":["face in clouds","shower","steam","dream","absentminded","brain","fog","forgetful","haze","head","impractical","unrealistic"],"😮‍💨":["face exhaling","relieve","relief","tired","sigh","exhale","gasp","groan","whisper","whistle"],"😵‍💫":["face with spiral eyes","sick","ill","confused","nauseous","nausea","dizzy","hypnotized","trouble","whoa"],"❤️‍🔥":["heart on fire","passionate","enthusiastic","burn","love","lust","sacred"],"❤️‍🩹":["mending heart","broken heart","bandage","wounded","bandaged","healing","healthier","improving","recovering","recuperating","unbroken","well"],"🧔‍♂️":["man beard","facial hair","bearded","bewhiskered","male","men"],"🧔‍♀️":["woman beard","facial hair","bearded","bewhiskered","female","women"],"🫠":["melting face","hot","heat","disappear","dissolve","dread","liquid","melt","sarcasm"],"🫢":["face with open eyes and hand over mouth","silence","secret","shock","surprise","amazement","awe","disbelief","embarrass","gasp","scared"],"🫣":["face with peeking eye","scared","frightening","embarrassing","shy","captivated","peep","stare"],"🫡":["saluting face","respect","salute","ok","sunny","troops","yes"],"🫥":["dotted line face","invisible","lonely","isolation","depression","depressed","disappear","hide","introvert"],"🫤":["face with diagonal mouth","skeptic","confuse","frustrated","indifferent","confused","disappointed","meh","skeptical","unsure"],"🥹":["face holding back tears","touched","gratitude","cry","angry","proud","resist","sad"],"🫱":["rightwards hand","palm","offer","right","rightward"],"🫲":["leftwards hand","palm","offer","left","leftward"],"🫳":["palm down hand","palm","drop","dismiss","shoo"],"🫴":["palm up hand","lift","offer","demand","beckon","catch","come"],"🫰":["hand with index finger and thumb crossed","heart","love","money","expensive","snap"],"🫵":["index pointing at the viewer","you","recruit","point"],"🫶":["heart hands","love","appreciation","support"],"🫦":["biting lip","flirt","sexy","pain","worry","anxious","fear","flirting","nervous","uncomfortable","worried"],"🫅":["person with crown","royalty","power","monarch","noble","regal"],"🫃":["pregnant man","baby","belly","bloated","full"],"🫄":["pregnant person","baby","belly","bloated","full"],"🧌":["troll","mystical","monster","fairy","fantasy","tale","shrek"],"🪸":["coral","ocean","sea","reef"],"🪷":["lotus","flower","calm","meditation","buddhism","hinduism","india","purity","vietnam"],"🪹":["empty nest","bird","nesting"],"🪺":["nest with eggs","bird","nesting"],"🫘":["beans","food","kidney","legume"],"🫗":["pouring liquid","cup","water","drink","empty","glass","spill"],"🫙":["jar","container","sauce","condiment","empty","store"],"🛝":["playground slide","fun","park","amusement","play"],"🛞":["wheel","car","transport","circle","tire","turn"],"🛟":["ring buoy","life saver","life preserver","float","rescue","safety"],"🪬":["hamsa","religion","protection","amulet","fatima","hand","mary","miriam"],"🪩":["mirror ball","disco","dance","party","glitter"],"🪫":["low battery","drained","dead","electronic","energy","no","red"],"🩼":["crutch","accessibility","assist","aid","cane","disability","hurt","mobility","stick"],"🩻":["x-ray","skeleton","medicine","bones","doctor","medical","ray","x"],"🫧":["bubbles","soap","fun","carbonation","sparkling","burp","clean","underwater"],"🪪":["identification card","document","credentials","id","license","security"],"🟰":["heavy equals sign","math","equality"],"🫨":["shaking face","dizzy","shock","blurry","earthquake"],"🩷":["pink heart","valentines"],"🩵":["light blue heart","ice","baby blue"],"🩶":["grey heart","silver","monochrome"],"🫷":["leftwards pushing hand","highfive","pressing","stop"],"🫸":["rightwards pushing hand","highfive","pressing","stop"],"🫎":["moose","canada","sweden","sven","cool"],"🫏":["donkey","eeyore","mule"],"🪽":["wing","angel","birds","flying","fly"],"🐦‍⬛":["black bird","crow"],"🪿":["goose","silly","jemima","goosebumps","honk"],"🪼":["jellyfish","sting","tentacles"],"🪻":["hyacinth","flower","lavender"],"🫚":["ginger root","spice","yellow","cooking","gingerbread"],"🫛":["pea pod","cozy","green"],"🪭":["folding hand fan","flamenco","hot","sensu"],"🪮":["hair pick","afro","comb"],"🪇":["maracas","music","instrument","percussion","shaker"],"🪈":["flute","bamboo","music","instrument","pied piper","recorder"],"🪯":["khanda","Sikhism","religion"],"🛜":["wireless","wifi","internet","contactless","signal"],"🙂‍↔️":["head shaking horizontally","disapprove","indiffernt","left"],"🙂‍↕️":["head shaking vertically","down","nod"],"🚶‍➡️":["person walking facing right","peerson","exercise"],"🚶‍♀️‍➡️":["woman walking facing right","person","exercise"],"🚶‍♂️‍➡️":["man walking facing right","person","exercise"],"🧎‍➡️":["person kneeling facing right","pray"],"🧎‍♀️‍➡️":["woman kneeling facing right","pray","worship"],"🧎‍♂️‍➡️":["man kneeling facing right","pray","worship"],"🧑‍🦯‍➡️":["person with white cane facing right","walk","walk","visually impaired","blind"],"👨‍🦯‍➡️":["man with white cane facing right","visually impaired","blind","walk","stick"],"👩‍🦯‍➡️":["woman with white cane facing right","stick","visually impaired","blind"],"🧑‍🦼‍➡️":["person in motorized wheelchair facing right","accessibility","disability"],"👨‍🦼‍➡️":["man in motorized wheelchair facing right","disability","accessibility","mobility"],"👩‍🦼‍➡️":["woman in motorized wheelchair facing right","mobility","accessibility","disability"],"🧑‍🦽‍➡️":["person in manual wheelchair facing right","mobility","accessibility","disability"],"👨‍🦽‍➡️":["man in manual wheelchair facing right","mobility","accessibility","disability"],"👩‍🦽‍➡️":["woman in manual wheelchair facing right","disability","mobility","accessibility"],"🏃‍➡️":["person running facing right","exercise","jog"],"🏃‍♀️‍➡️":["woman running facing right","exercise","jog"],"🏃‍♂️‍➡️":["man running facing right","jog","exercise"],"🧑‍🧑‍🧒":["family adult, adult, child","kid","parents"],"🧑‍🧑‍🧒‍🧒":["family adult, adult, child, child","children","parents"],"🧑‍🧒":["family adult, child","parent","kid"],"🧑‍🧒‍🧒":["family adult, child, child","parent","children"],"🐦‍🔥":["phoenix","immortal","bird","mythtical","reborn"],"🍋‍🟩":["lime","fruit","acidic","citric"],"🍄‍🟫":["brown mushroom","toadstool","fungus"],"⛓️‍💥":["broken chain","constraint","break"],"🫩":["face with bags under eyes","tired","sleepy","exhausted"],"🫆":["fingerprint"],"🪾":["leafless tree"],"🫜":["root vegetable","radish"],"🪉":["harp","music","instrument"],"🪏":["shovel","tool","dig"],"🫟":["splatter"],"🫪":["distorted face","surprised","fluttered","wide-eyed"],"🫯":["fight cloud","brawl","conflict"],"🫈":["hairy creature","sasquatch","bigfoot","treeman"],"🧑‍🩰":["ballet dancer"],"🫍":["orca","ocean","whale","dolphin","animal"],"🛘":["landslide","disaster","accident"],"🪊":["trombone","music","instrument"],"🪎":["treasure chest","gold","haul","mimic","crate","jewelry","riches"]}});function vpe(t){return typeof t=="object"&&t!==null}function ype(t){return Array.isArray(t)&&t.every(e=>typeof e=="string")}function Iq(){if(SL)return SL;let t=Nq(),e={},n=vpe(t)?Object.entries(t):[];for(let[r,o]of n)ype(o)&&(e[r]=o);return SL=e,e}function xq(){return Object.entries(Iq())}function kI(t){return Iq()[t]?.[0]??""}var SL,FI=U(()=>{SL=null});var PI,Eq=U(()=>{Sy();FI();YO();PI=class{constructor(){this.id="emoji";this.name="Emoji"}getVersion(){return null}isAvailable(){return!0}render(e,n,r){return _m(e),n?(e.addClass("nn-emoji-icon"),e.setText(n),r?(e.style.fontSize=`${r}px`,e.style.width=`${r}px`,e.style.height=`${r}px`,e.style.lineHeight=`${r}px`):(e.style.removeProperty("font-size"),e.style.removeProperty("width"),e.style.removeProperty("height"),e.style.removeProperty("line-height")),"rendered"):"not-found"}search(e){if(!e||e.trim().length===0)return[];let n=Rh(e);if(n)return[{id:n,displayName:n,preview:n}];let r=[],o=e.toLowerCase();for(let[a,i]of xq()){if(i.length===0)continue;if(i.some(l=>l.toLowerCase().includes(o))){let l=i.find(c=>c.toLowerCase().includes(o))||i[0];r.push({id:a,displayName:l,preview:a})}}return r.slice(0,50)}getAll(){return[]}}});function bpe(){return _h||(_h=wI.getInstance(),_h.registerProvider(new TI),_h.registerProvider(new PI)),_h}function yn(){return _h||bpe()}function Ki(){let t=yn();return(0,Mq.useSyncExternalStore)(e=>t.subscribe(e),()=>t.getVersion(),()=>t.getVersion())}var Mq,_h,Ha=U(()=>{gL();Mq=ue(ze());Fq();Cq();Eq();_h=null});function CI(t){if(!t)return null;let e=Spe[t];return e||(Bs[t]?.catalogUrl??null)}var Spe,wL=U(()=>{Mh();Spe={lucide:"https://lucide.dev/icons/"}});function Npe(t){return t.toLowerCase()===Dq}function dd(t){return Npe(t.extension)}function UT(t){return t.trim().toLowerCase().endsWith(`.${Dq}`)}function Ty(t){if(typeof t=="string"&&t.trim().length>0){Hh.delete(t);return}Hh.clear()}function NI(t,e,n){let r=t.trim();!r||TL.get(r)===e||(TL.set(r,e),console.log("[VaultIconProvider] SVG icon not rendered",{path:r,reason:e,...n}))}function Rq(t){let e=t.trim();e&&TL.delete(e)}function Aq(t,e){let n=Mt(t.displayName,e.displayName);return n!==0?n:Mt(t.id,e.id)}function Ipe(t,e){let n=0,r=t.length;for(;n<r;){let o=Math.floor((n+r)/2);Aq(e,t[o])<=0?r=o:n=o+1}t.splice(n,0,e)}function Oq(t,e){let n=t.findIndex(r=>r.id===e);return n===-1?!1:(t.splice(n,1),!0)}function Lq(t){up&&(Oq(up,t.path),Ipe(up,{id:t.path,displayName:t.name}))}function zq(t){up&&Oq(up,t)}function Bq(t){dd(t)&&Lq(t)}function _q(t){UT(t)&&zq(t)}function Hq(t,e){let n=UT(e),r=dd(t);up&&(n&&zq(e),r&&Lq(t))}function Hm(t){if(!t)return!1;let e=t.trim().toLowerCase();return e.length>0&&e!=="none"}function xpe(t){let e=t.trim();return/^#[A-Za-z_][\w:.-]*$/.test(e)}function Epe(t){let e=new Map;return t.split(";").forEach(r=>{let o=r.trim();if(!o)return;let a=o.indexOf(":");if(a===-1)return;let i=o.substring(0,a).trim().toLowerCase();if(!i)return;let s=o.substring(a+1).trim();s&&e.set(i,s)}),e}function Mpe(t){let e=[];return t.forEach((n,r)=>{let o=n.trim();o&&e.push(`${r}: ${o}`)}),e.join("; ")}function Rpe(t){let e=t.getAttribute("style");if(!e)return!1;let n=Epe(e),r=n.get("fill"),o=n.get("stroke"),a=Hm(r),i=Hm(o);a&&!Hm(t.getAttribute("fill"))&&t.setAttribute("fill","currentColor"),i&&!Hm(t.getAttribute("stroke"))&&t.setAttribute("stroke","currentColor");let s=new Map;n.forEach((c,u)=>{Ppe.has(u)||Cpe.has(u)&&s.set(u,c)});let l=Mpe(s);return l?l!==e&&t.setAttribute("style",l):t.removeAttribute("style"),i}function Dpe(t){t.querySelectorAll(Fpe).forEach(e=>{e.remove()})}function Ape(t){let e=Array.from(t.querySelectorAll("style")).map(i=>i.textContent??"").join(`
`);if(!e.trim())return{hasStroke:!1,hasStrokeHints:!1,hasFillNone:!1,hasExplicitFill:!1};let n=/fill\s*:\s*none\b/i.test(e),r=/stroke\s*:\s*(?!none\b)[^;}\n]+/i.test(e),o=/(?:stroke-(?:width|linecap|linejoin|miterlimit|dasharray|dashoffset|opacity)|vector-effect)\s*:/i.test(e),a=/fill\s*:\s*(?!none\b)[^;}\n]+/i.test(e);return{hasStroke:r,hasStrokeHints:o,hasFillNone:n,hasExplicitFill:a}}function Ope(t){[t,...Array.from(t.querySelectorAll("*"))].forEach(n=>{let r=Array.from(n.attributes),o=n.tagName.toLowerCase();r.forEach(a=>{let i=a.name.toLowerCase();if(i.startsWith("on")){n.removeAttribute(a.name);return}if(i==="class"){n.removeAttribute(a.name);return}if(i==="tabindex"){n.removeAttribute(a.name);return}if(i==="href"||i==="xlink:href"){let s=a.value;if(o==="use"&&xpe(s)){i==="xlink:href"&&(n.setAttribute("href",s.trim()),n.removeAttribute(a.name));return}n.removeAttribute(a.name);return}(i==="filter"||i==="mask"||i==="clip-path")&&n.removeAttribute(a.name)})})}function Lpe(t,e){t.classList.add("nn-vault-icon-svg"),e.hasStroke?(t.setAttribute("stroke","currentColor"),t.setAttribute("fill","none")):(t.setAttribute("fill","currentColor"),t.setAttribute("stroke","none")),[t,...Array.from(t.querySelectorAll("*"))].forEach(r=>{let o=r.getAttribute("fill");Hm(o)&&r.setAttribute("fill","currentColor");let a=r.getAttribute("stroke");Hm(a)&&r.setAttribute("stroke","currentColor")})}function zpe(t){return t.querySelector("path,circle,rect,line,polyline,polygon,ellipse,use,text")!==null}function Bpe(t){if(typeof DOMParser>"u")return{svg:null,reason:"dom-parser-unavailable"};if(!t)return{svg:null,reason:"empty-svg"};if(t.length>Tpe)return{svg:null,reason:"svg-source-too-large"};let n=new DOMParser().parseFromString(t,"image/svg+xml").documentElement;return n.instanceOf(SVGSVGElement)?1+n.querySelectorAll("*").length>kpe?{svg:null,reason:"svg-too-complex"}:{svg:n,reason:null}:{svg:null,reason:"invalid-svg-root"}}function _pe(t){return t.hasAttribute("stroke-width")||t.hasAttribute("stroke-linecap")||t.hasAttribute("stroke-linejoin")||t.hasAttribute("stroke-miterlimit")||t.hasAttribute("stroke-dasharray")||t.hasAttribute("stroke-dashoffset")||t.hasAttribute("stroke-opacity")||t.hasAttribute("vector-effect")}var xI,Hh,up,TL,wpe,Tpe,kpe,Dq,Fpe,Ppe,Cpe,II,KT=U(()=>{xI=require("obsidian");Rn();Sy();Hh=new Map,up=null,TL=new Map,wpe=200,Tpe=2e5,kpe=2e3,Dq="svg",Fpe="script,style,foreignObject,iframe,object,embed,link,image,a,animate,animateMotion,animateTransform,animateColor,set,mpath,filter,mask,pattern,linearGradient,radialGradient,stop",Ppe=new Set(["fill","stroke","color"]),Cpe=new Set(["clip-rule","fill-opacity","fill-rule","opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","vector-effect"]);II=class{constructor(e){this.id="vault";this.name="Vault";this.app=e}isAvailable(){return!0}render(e,n,r){_m(e),r?(e.style.width=`${r}px`,e.style.height=`${r}px`):(e.style.removeProperty("width"),e.style.removeProperty("height"));let o=this.app.vault.getAbstractFileByPath(n);if(!(o instanceof xI.TFile)||!dd(o))return n.trim().length>0&&NI(n,"file-not-found-or-not-svg"),"not-found";let a=Hh.get(o.path);if(a&&a.mtime===o.stat.mtime)return Rq(o.path),e.appendChild(a.svg.cloneNode(!0)),"rendered";let i=Jd(e);return i?this.app.vault.cachedRead(o).then(s=>{if(Jd(e)!==i)return"not-found";let l=Bpe(s),c=l.svg;if(!c)return NI(o.path,l.reason??"parse-failed"),"not-found";let u=Ape(c);if(Dpe(c),Ope(c),!zpe(c))return NI(o.path,"no-renderable-elements-after-sanitize"),"not-found";let p=[c,...Array.from(c.querySelectorAll("*"))],m=!1,g=!1,f=!1,h=!1;p.forEach(v=>{let y=v.getAttribute("fill");y&&y.trim().toLowerCase()==="none"?f=!0:Hm(y)&&(h=!0),Hm(v.getAttribute("stroke"))&&(m=!0),Rpe(v)&&(m=!0),!m&&_pe(v)&&(g=!0)});let b=m||u.hasStroke||(g||u.hasStrokeHints)&&(f||u.hasFillNone)&&!(h||u.hasExplicitFill);for(Lpe(c,{hasStroke:b}),Hh.set(o.path,{mtime:o.stat.mtime,svg:c});Hh.size>wpe;){let v=Hh.keys().next();if(v.done)break;Hh.delete(v.value)}return Jd(e)!==i?"not-found":(e.empty(),e.appendChild(c.cloneNode(!0)),Rq(o.path),"rendered")}).catch(s=>(Jd(e)!==i||NI(o.path,"read-or-render-error",{error:s}),"not-found")):"not-found"}search(e){let n=e.trim();if(!n)return[];let r=this.getAll();if(!r.length)return[];let o=(0,xI.prepareFuzzySearch)(n),a=[];for(let i of r){let s=o(i.displayName);s&&a.push({icon:i,match:s})}return a.sort((i,s)=>{let l=i.match.score,c=s.match.score;if(l===c){let u=Mt(i.icon.displayName,s.icon.displayName);return u!==0?u:Mt(i.icon.id,s.icon.id)}return l-c}),a.map(i=>i.icon).slice(0,50)}getAll(){if(up)return up.slice();let n=this.app.vault.getFiles().filter(r=>dd(r)).map(r=>({id:r.path,displayName:r.name}));return n.sort(Aq),up=n,n.slice()}}});var MI={};In(MI,{IconPickerModal:()=>kL});var EI,Hpe,Vq,ky,Vh,kL,RI=U(()=>{EI=require("obsidian");Ee();Ha();FI();wL();KT();Ue();jr();ot();Ql();cn();Hpe=5,Vq=50,ky="all",Vh="vault",kL=class t extends EI.Modal{constructor(n,r,o,a=W.FOLDER,i={}){super(n);this.currentProvider=ky;this.iconService=yn();this.searchDebounceTimer=null;this.domDisposers=[];this.providerTabs=[];this.removeButton=null;this.providerLinkContainer=null;this.providerLinkEl=null;this.metadataService=r,this.settingsProvider=r.getSettingsProvider(),this.itemPath=o,this.itemType=a,this.titleOverride=i.titleOverride,this.showRemoveButton=i.showRemoveButton!==!1,this.disableMetadataUpdates=i.disableMetadataUpdates===!0,this.currentIcon=i.currentIconId===void 0&&!this.disableMetadataUpdates?this.getCurrentIconForItem():i.currentIconId??void 0}static{this.lastUsedProvider=null}static getLastUsedProvider(){return t.lastUsedProvider}static setLastUsedProvider(n){t.lastUsedProvider=n}onOpen(){let{contentEl:n}=this;n.empty(),this.modalEl.addClass("nn-icon-picker-modal"),this.cleanupVaultRecentIcons();let r=n.createDiv("nn-icon-picker-header"),o=(()=>{if(this.titleOverride)return this.titleOverride;if(this.itemType===W.TAG)return`#${this.itemPath}`;if(this.itemType===W.PROPERTY){let i=kn(this.itemPath);if(i?.valuePath)return`${i.key} = ${i.valuePath}`;if(i)return i.key}return this.itemPath.split("/").pop()||this.itemPath})();r.createEl("h3",{text:o}),this.createProviderTabs();let a=n.createDiv("nn-icon-search-container");if(this.searchInput=a.createEl("input",{type:"text",placeholder:d.modals.iconPicker.searchPlaceholder,cls:"nn-icon-search-input"}),this.searchInput.setAttribute("enterkeyhint","done"),this.attachCloseButtonHandler(),this.resultsContainer=n.createDiv("nn-icon-results-container"),this.domDisposers.push(St(this.resultsContainer,"click",i=>this.handleResultsClick(i))),this.createProviderLinkRow(),this.updateProviderLink(this.currentProvider),this.showRemoveButton){let s=n.createDiv("nn-icon-button-container").createEl("button"),l=d.modals.iconPicker.removeIcon;s.setText(l),s.instanceOf(HTMLButtonElement)&&(this.removeButton=s,this.currentIcon||(s.disabled=!0)),this.domDisposers.push(St(s,"click",()=>this.removeIcon()))}this.domDisposers.push(St(this.searchInput,"input",()=>{this.searchDebounceTimer&&window.clearTimeout(this.searchDebounceTimer),this.searchDebounceTimer=window.setTimeout(()=>{this.updateResults()},Lt.DEBOUNCE_KEYBOARD)})),this.setupKeyboardNavigation(),this.searchInput.focus(),typeof window<"u"&&window.requestAnimationFrame(()=>{this.searchInput.focus()}),this.updateResults()}async handleResultsClick(n){let r=n.target;if(!(r instanceof Element))return;let o=r.closest(".nn-icon-recent-remove-button");if(o){n.stopPropagation(),n.preventDefault();let s=o.getAttribute("data-recent-icon-id");s&&this.removeRecentIcon(s);return}let a=r.closest(".nn-icon-item");if(!a)return;let i=a.getAttribute("data-icon-id");i&&await this.selectIcon(i)}createProviderTabs(){this.tabContainer=this.contentEl.createDiv("nn-icon-provider-tabs"),this.tabContainer.setAttribute("role","tablist"),this.providerTabs=[];let n=this.sortProvidersForDisplay(this.iconService.getAllProviders().slice()),r=this.resolveInitialProvider(n);this.currentProvider=r,t.setLastUsedProvider(r),this.addProviderTab(ky,d.modals.iconPicker.allTabLabel),n.forEach(o=>{this.addProviderTab(o.id,o.name)}),this.setActiveProviderTab(r)}addProviderTab(n,r){if(!this.tabContainer)return;let o=this.tabContainer.createDiv({cls:"nn-icon-provider-tab",text:r});o.setAttribute("role","tab"),o.setAttribute("tabindex","-1"),o.dataset.providerId=n,this.providerTabs.push(o),this.domDisposers.push(St(o,"click",()=>{this.setActiveProviderTab(n),this.currentProvider=n,t.setLastUsedProvider(n),this.updateResults(),this.resetResultsScroll()}))}createProviderLinkRow(){this.providerLinkContainer=this.contentEl.createDiv("nn-icon-provider-link-row"),this.providerLinkEl=this.providerLinkContainer.createEl("a",{cls:"nn-icon-provider-link"}),this.providerLinkEl.setAttribute("target","_blank"),this.providerLinkEl.setAttribute("rel","noopener noreferrer"),this.providerLinkContainer.addClass("nn-icon-provider-link-row-hidden")}sortProvidersForDisplay(n){let r=[Vh,"emoji","lucide"];return n.sort((o,a)=>{let i=r.indexOf(o.id),s=r.indexOf(a.id);return i!==-1&&s!==-1?i-s:i!==-1?-1:s!==-1?1:o.name.localeCompare(a.name)})}cleanupVaultRecentIcons(){let n=this.settingsProvider.getRecentIcons(),r=n[Vh],o=Array.isArray(r)?r:[],a=r!==void 0&&!Array.isArray(r);if(o.length===0&&!a)return;if(a){delete n[Vh],this.settingsProvider.setRecentIcons(n);return}let i=[],s=!1;o.forEach(l=>{if(typeof l!="string"){s=!0;return}let c=this.iconService.parseIconId(l);if(c.provider!==Vh){s=!0;return}let u=this.app.vault.getAbstractFileByPath(c.identifier);if(u instanceof EI.TFile&&dd(u)){i.push(l);return}s=!0}),s&&(i.length===0?delete n[Vh]:n[Vh]=i,this.settingsProvider.setRecentIcons(n))}resolveInitialProvider(n){if(!n.length)return ky;let r=new Set(n.map(a=>a.id)),o=[t.getLastUsedProvider(),this.currentProvider];for(let a of o)if(a&&(a===ky||r.has(a)))return a;return ky}searchAllProvidersExcludingVault(n){let r=[];return this.iconService.getAllProviders().forEach(o=>{if(o.id===Vh)return;let a=o.search(n);r.push(...a.map(i=>({...i,id:this.iconService.formatIconId(o.id,i.id)})))}),r}updateResults(){this.resultsContainer.empty();let n=this.searchInput.value.toLowerCase().trim(),r=this.currentProvider===ky,o=r?void 0:this.iconService.getProvider(this.currentProvider);if(n===""){!r&&this.renderRecentIcons()||(this.currentProvider==="emoji"?this.resultsContainer.createDiv("nn-icon-empty-message").setText(d.modals.iconPicker.emojiInstructions):this.showEmptyState());return}let a=r?this.searchAllProvidersExcludingVault(n):this.iconService.search(n,this.currentProvider);if(a.length>0&&(r||o)){let i=this.resultsContainer.createDiv("nn-icon-grid");a.slice(0,Vq).forEach(s=>{this.createIconItem(s,i,o)}),a.length>Vq&&this.resultsContainer.createDiv("nn-icon-more-message").setText(d.modals.iconPicker.showingResultsInfo.replace("{count}",a.length.toString()));return}this.showEmptyState(!0)}renderRecentIcons(){let r=this.settingsProvider.getRecentIcons()[this.currentProvider]||[];if(!r.length)return!1;let o=this.resultsContainer.createDiv("nn-icon-section-header");o.setText(d.modals.iconPicker.recentlyUsedHeader);let a=this.resultsContainer.createDiv("nn-icon-grid"),i=0,s=new Map;return r.forEach(l=>{let c=this.iconService.parseIconId(l),u=this.iconService.getProvider(c.provider);if(!u)return;if(u.id==="emoji"){let f={id:c.identifier,displayName:kI(c.identifier),preview:c.identifier},h=this.createIconItem(f,a,u);h&&this.addRecentIconRemoveButton(h,l),i+=1;return}let p=s.get(u.id);p||(p=u.getAll(),s.set(u.id,p));let m=p.find(f=>f.id===c.identifier);if(!m)return;let g=this.createIconItem(m,a,u);g&&this.addRecentIconRemoveButton(g,l),i+=1}),i===0?(o.remove(),a.remove(),!1):!0}addRecentIconRemoveButton(n,r){n.createEl("button",{cls:"nn-icon-recent-remove-button",attr:{type:"button","aria-label":d.modals.iconPicker.removeFromRecents,title:d.modals.iconPicker.removeFromRecents,"data-recent-icon-id":r}}).createSpan({text:"×",cls:"nn-icon-recent-remove-glyph",attr:{"aria-hidden":"true"}})}removeRecentIcon(n){let o=this.iconService.parseIconId(n).provider,a=this.settingsProvider.getRecentIcons(),i=a[o];if(i!==void 0&&!Array.isArray(i)){delete a[o],this.settingsProvider.setRecentIcons(a),this.updateResults();return}let l=Array.isArray(i)?i:[],c=l.indexOf(n);if(c<0)return;let u=[...l];u.splice(c,1),u.length===0?delete a[o]:a[o]=u,this.settingsProvider.setRecentIcons(a),this.updateResults()}resetResultsScroll(){this.resultsContainer&&(this.resultsContainer.scrollTop=0)}showEmptyState(n=!1){this.resultsContainer.createDiv("nn-icon-empty-message").setText(n?d.modals.iconPicker.emptyStateNoResults:d.modals.iconPicker.emptyStateSearch)}createIconItem(n,r,o){let a=o,i;if(a)i=this.iconService.formatIconId(a.id,n.id);else{let u=this.iconService.parseIconId(n.id);if(a=this.iconService.getProvider(u.provider),!a)return null;i=n.id}let s=r.createDiv("nn-icon-item");s.setAttribute("data-icon-id",i);let l=s.createDiv("nn-icon-item-preview");return this.iconService.renderIcon(l,i),a.id==="emoji"&&n.preview&&l.addClass("nn-emoji-preview"),s.createDiv("nn-icon-item-name").setText(n.displayName),s.setAttribute("tabindex","0"),s}saveToRecentIcons(n){let o=this.iconService.parseIconId(n).provider,a=this.settingsProvider.getRecentIcons(),i=[...a[o]??[]],s=i.indexOf(n);s>-1&&i.splice(s,1),i.unshift(n),i.length>15&&(i.length=15),a[o]=i,this.settingsProvider.setRecentIcons(a)}async wasHandledBySelection(n){return this.onChooseIcon?(await this.onChooseIcon(n))?.handled===!0:!1}async selectIcon(n){if(this.saveToRecentIcons(n),await this.wasHandledBySelection(n)){this.currentIcon=n,this.close();return}if(this.disableMetadataUpdates){this.currentIcon=n,this.close();return}this.itemType===W.TAG?await this.metadataService.setTagIcon(this.itemPath,n):this.itemType===W.PROPERTY?await this.metadataService.setPropertyIcon(this.itemPath,n):this.itemType===W.FILE?await this.metadataService.setFileIcon(this.itemPath,n):await this.metadataService.setFolderIcon(this.itemPath,n),this.currentIcon=n,this.close()}getCurrentIconForItem(){return this.itemType===W.TAG?this.metadataService.getTagIcon(this.itemPath):this.itemType===W.PROPERTY?this.metadataService.getPropertyIcon(this.itemPath):this.itemType===W.FILE?this.metadataService.getFileIcon(this.itemPath):this.metadataService.getFolderIcon(this.itemPath)}async removeIcon(){if(!(this.disableMetadataUpdates?this.currentIcon:this.getCurrentIconForItem())){this.close();return}if(!await this.wasHandledBySelection(null)){if(this.disableMetadataUpdates){this.currentIcon=void 0,this.removeButton&&(this.removeButton.disabled=!0),this.close();return}this.itemType===W.TAG?await this.metadataService.removeTagIcon(this.itemPath):this.itemType===W.PROPERTY?await this.metadataService.removePropertyIcon(this.itemPath):this.itemType===W.FILE?await this.metadataService.removeFileIcon(this.itemPath):await this.metadataService.removeFolderIcon(this.itemPath)}this.currentIcon=void 0,this.removeButton&&(this.removeButton.disabled=!0),this.close()}setupKeyboardNavigation(){this.scope.register(["Shift"],"Tab",n=>{let r=activeDocument.activeElement instanceof HTMLElement?activeDocument.activeElement:null;if(r?.classList.contains("nn-icon-provider-tab")){n.preventDefault();return}n.preventDefault();let o=this.getActiveProviderTab();if(r?.classList.contains("nn-icon-item")){this.searchInput.focus();return}if(r===this.searchInput){o?.focus();return}this.searchInput.focus()}),this.scope.register([],"Tab",n=>{let r=activeDocument.activeElement,o=r instanceof HTMLElement?r:null;if(o?.classList.contains("nn-icon-provider-tab")){n.preventDefault(),this.searchInput.focus();return}if(!o?.classList.contains("nn-icon-item")){n.preventDefault();let i=this.resultsContainer.querySelector(".nn-icon-item");i&&i.focus()}}),this.scope.register([],"ArrowLeft",n=>this.handleArrowKey(n,-1,0)),this.scope.register([],"ArrowRight",n=>this.handleArrowKey(n,1,0)),this.scope.register([],"ArrowUp",n=>this.handleArrowKey(n,0,-1)),this.scope.register([],"ArrowDown",n=>this.handleArrowKey(n,0,1)),this.scope.register([],"Enter",n=>{let r=activeDocument.activeElement instanceof HTMLElement?activeDocument.activeElement:null;if(r===this.searchInput){n.preventDefault(),window.setTimeout(()=>{this.searchInput.blur()});return}if(r?.classList.contains("nn-icon-item")){n.preventDefault();let o=r.getAttribute("data-icon-id");o&&Q(()=>this.selectIcon(o))}})}handleArrowKey(n,r,o){let a=activeDocument.activeElement;if(!(a instanceof HTMLElement))return;let i=a;if(i?.classList.contains("nn-icon-provider-tab")){if(r===0)return;n.preventDefault(),this.focusAdjacentTab(i,r);return}if(!i?.classList.contains("nn-icon-item"))return;n.preventDefault();let s=Array.from(this.resultsContainer.querySelectorAll(".nn-icon-item")),l=s.indexOf(i),c=r!==0?l+r:l+o*Hpe;c>=0&&c<s.length&&(s[c].focus(),this.ensureIconVisible(s[c]))}focusAdjacentTab(n,r){let o=this.providerTabs.indexOf(n);if(o===-1)return;let a=o+(r<0?-1:1);if(a<0||a>=this.providerTabs.length)return;let i=this.providerTabs[a],s=i.dataset.providerId;s&&(this.setActiveProviderTab(s),i.focus(),i.click())}ensureIconVisible(n){let r=this.resultsContainer,o=r.getBoundingClientRect(),a=n.getBoundingClientRect(),i=8;a.top<o.top+i&&(r.scrollTop-=o.top-a.top+i),a.bottom>o.bottom-i&&(r.scrollTop+=a.bottom-o.bottom+i)}setActiveProviderTab(n){this.providerTabs.forEach(r=>{r.dataset.providerId===n?(r.addClass("nn-active"),r.setAttribute("tabindex","0")):(r.removeClass("nn-active"),r.setAttribute("tabindex","-1"))}),this.updateProviderLink(n)}updateProviderLink(n){if(!this.providerLinkContainer||!this.providerLinkEl)return;let r=CI(n);if(!r){this.providerLinkContainer.addClass("nn-icon-provider-link-row-hidden"),this.providerLinkEl.removeAttribute("href"),this.providerLinkEl.setText(""),this.providerLinkEl.removeAttribute("title");return}this.providerLinkContainer.removeClass("nn-icon-provider-link-row-hidden"),this.providerLinkEl.setAttribute("href",r),this.providerLinkEl.setAttribute("title",r);let o=this.iconService.getProvider(n);this.providerLinkEl.setText(this.buildProviderLinkLabel(o,r))}formatCatalogLinkText(n){let r=n.trim();return r?r.replace(/^https?:\/\//,"").replace(/\/$/,""):""}buildProviderLinkLabel(n,r){let o=this.resolveProviderVersion(n),a=this.formatCatalogLinkText(r);return o?`${o}, ${a}`:a}resolveProviderVersion(n){if(!n||typeof n.getVersion!="function")return null;let r=n.getVersion();if(!r)return null;let o=r.trim();return o?/^v/i.test(o)?o:`v${o}`:null}getActiveProviderTab(){return this.providerTabs.find(n=>n.dataset.providerId===this.currentProvider)??null}onClose(){this.searchDebounceTimer&&(window.clearTimeout(this.searchDebounceTimer),this.searchDebounceTimer=null);let{contentEl:n}=this;n.empty(),this.modalEl.removeClass("nn-icon-picker-modal"),this.removeButton=null,this.providerLinkContainer=null,this.providerLinkEl=null,this.domDisposers.length&&(this.domDisposers.forEach(r=>{try{r()}catch(o){console.error("Error disposing icon picker listener:",o)}}),this.domDisposers=[])}attachCloseButtonHandler(){let n=this.modalEl.querySelector(".modal-close-button");if(!n)return;let r=o=>{o.preventDefault(),this.close()};this.domDisposers.push(St(n,"click",r)),this.domDisposers.push(St(n,"pointerdown",r))}}});var PL={};In(PL,{FileIconRuleEditorModal:()=>FL});var WT,FL,CL=U(()=>{WT=require("obsidian");Ee();Ha();Ue();ot();Ql();Si();Ot();FL=class extends WT.Modal{constructor(n,r){super(n);this.options=r;this.iconService=yn();this.listEl=null;this.rowDisposers=[];this.footerDisposers=[];this.rowControls=new Map;this.applyButton=null;this.rowIdCounter=0;this.rows=this.deserializeRows(r.initialMap)}onOpen(){this.modalEl.addClass("nn-file-icon-rule-editor-modal"),this.titleEl.setText(this.options.title),this.contentEl.empty();let n=this.contentEl.createDiv({cls:"nn-file-icon-rule-editor-scroll"});this.listEl=n.createDiv({cls:"nn-file-icon-rule-editor-list"}),this.renderRows(),this.renderFooter(),this.updateApplyButtonState()}onClose(){this.disposeRowDisposers(),this.disposeFooterDisposers(),this.rowControls.clear(),this.listEl=null,this.applyButton=null,this.modalEl.removeClass("nn-file-icon-rule-editor-modal"),this.contentEl.empty()}deserializeRows(n){let r=Object.entries(n).filter(([a,i])=>!!a&&!!i).sort(([a],[i])=>a.localeCompare(i)),o=this.options.fallbackIconId??"file";return r.map(([a,i])=>{let s=Zd(i)??o;return{id:this.nextRowId(),keyInput:a,iconId:qn(s)}})}nextRowId(){return this.rowIdCounter+=1,`row-${this.rowIdCounter}`}disposeRowDisposers(){let n=this.rowDisposers;this.rowDisposers=[],n.forEach(r=>{try{r()}catch(o){console.error("[FileIconRuleEditorModal] Failed to dispose row handler",o)}})}disposeFooterDisposers(){let n=this.footerDisposers;this.footerDisposers=[],n.forEach(r=>{try{r()}catch(o){console.error("[FileIconRuleEditorModal] Failed to dispose footer handler",o)}})}renderRows(){this.listEl&&(this.disposeRowDisposers(),this.rowControls.clear(),this.listEl.empty(),this.rows.forEach(n=>{let r=this.listEl?.createDiv({cls:"nn-file-icon-rule-row"});if(!r)return;let o=r.createEl("button",{cls:"nn-action-btn",attr:{type:"button","aria-label":d.contextMenu.file.changeIcon}}),a=o.createSpan();this.iconService.renderIcon(a,n.iconId,16),this.rowDisposers.push(St(o,"click",()=>{this.openIconPicker(n.id)}));let i=r.createEl("input",{cls:"nn-input nn-file-icon-rule-key",attr:{type:"text",placeholder:this.options.mode==="fileType"?"pdf":"meeting"}});i.value=n.keyInput,this.rowDisposers.push(St(i,"input",()=>{this.handleRowKeyInput(n.id,i.value)}));let s=r.createEl("button",{cls:"nn-action-btn mod-warning",attr:{type:"button","aria-label":d.common.delete}});(0,WT.setIcon)(s,"lucide-trash-2"),this.rowDisposers.push(St(s,"click",()=>{this.deleteRow(n.id)})),this.rowControls.set(n.id,{rowEl:r,inputEl:i,iconSpan:a})}),this.updateApplyButtonState())}renderFooter(){this.disposeFooterDisposers();let n=this.contentEl.createDiv({cls:"nn-file-icon-rule-editor-footer nn-button-container"}),r=n.createEl("button",{attr:{type:"button","aria-label":d.modals.fileIconRuleEditor.addRuleAria}});(0,WT.setIcon)(r,"lucide-plus"),this.footerDisposers.push(St(r,"click",()=>{this.addRow()}));let o=n.createEl("button",{text:d.common.cancel,attr:{type:"button"}});this.footerDisposers.push(St(o,"click",()=>{this.close()})),this.applyButton=n.createEl("button",{cls:"mod-cta",text:d.modals.colorPicker.apply,attr:{type:"button"}}),this.footerDisposers.push(St(this.applyButton,"click",()=>{this.applyChanges()}))}addRow(){let n=this.options.fallbackIconId??"file";this.rows.push({id:this.nextRowId(),keyInput:"",iconId:n}),this.renderRows();let r=this.rows[this.rows.length-1],o=this.rowControls.get(r.id);o?.inputEl.focus(),o?.rowEl.scrollIntoView({block:"nearest"})}deleteRow(n){this.rows=this.rows.filter(r=>r.id!==n),this.renderRows()}handleRowKeyInput(n,r){let o=this.rows.find(a=>a.id===n);o&&(o.keyInput=r,this.updateApplyButtonState())}openIconPicker(n){let r=this.rows.find(o=>o.id===n);r&&Q(async()=>{let{IconPickerModal:o}=await Promise.resolve().then(()=>(RI(),MI)),a=this.options.normalizeKey(r.keyInput),i=a?`${this.options.title}: ${a}`:this.options.title,s=new o(this.app,this.options.metadataService,"",W.FILE,{titleOverride:i,currentIconId:r.iconId,showRemoveButton:!1,disableMetadataUpdates:!0});s.onChooseIcon=async l=>l?(this.setRowIcon(n,l),{handled:!0}):{handled:!0},s.open()})}setRowIcon(n,r){let o=this.rows.find(i=>i.id===n);if(!o)return;o.iconId=qn(r);let a=this.rowControls.get(n);a&&this.iconService.renderIcon(a.iconSpan,o.iconId,16),this.updateApplyButtonState()}updateApplyButtonState(){let n=this.computeValidationState();this.applyButton&&(this.applyButton.disabled=!n.isValid),n.invalidRowIds.forEach(r=>{this.rowControls.get(r)?.rowEl.addClass("nn-file-icon-rule-row-invalid")}),this.rowControls.forEach((r,o)=>{n.invalidRowIds.has(o)||r.rowEl.removeClass("nn-file-icon-rule-row-invalid")})}computeValidationState(){let n=new Set,r=new Map;return this.rows.forEach(o=>{let a=this.serializeRowIcon(o.iconId),i=a?aI(o.keyInput,a,this.options.normalizeKey):null;if(!i){n.add(o.id);return}let s=r.get(i.key)??[];s.push(o.id),r.set(i.key,s)}),r.forEach(o=>{o.length>1&&o.forEach(a=>n.add(a))}),{isValid:n.size===0,invalidRowIds:n}}serializeRowIcon(n){return oi(n)}applyChanges(){if(!this.computeValidationState().isValid)return;let r=De(void 0);this.rows.forEach(a=>{let i=this.serializeRowIcon(a.iconId);i&&(r[a.keyInput]=i)});let o=xT(r,this.options.normalizeKey);Q(async()=>{await this.options.onSave(o),this.close()})}}});function Vpe(t){return gy(t,Rm)}function Upe(t){return gy(t,Dm)}function Kq(t){let{plugin:e}=t;return[Pt(d.settings.groups.notes.tasks,[et("showFileIconUnfinishedTask",{name:d.settings.items.showFileIconUnfinishedTask.name,desc:d.settings.items.showFileIconUnfinishedTask.desc}),et("showFileBackgroundUnfinishedTask",{name:d.settings.items.showFileBackgroundUnfinishedTask.name,desc:d.settings.items.showFileBackgroundUnfinishedTask.desc}),_e({name:d.settings.items.unfinishedTaskBackgroundColor.name,desc:d.settings.items.unfinishedTaskBackgroundColor.desc,visible:()=>e.settings.showFileBackgroundUnfinishedTask,render:n=>Kpe(n,t,{name:d.settings.items.unfinishedTaskBackgroundColor.name,desc:d.settings.items.unfinishedTaskBackgroundColor.desc,access:{getValue:()=>e.settings.unfinishedTaskBackgroundColor,setValue:r=>{e.settings.unfinishedTaskBackgroundColor=r},defaultValue:Le.unfinishedTaskBackgroundColor}})})]),Pt(d.settings.groups.notes.icon,[et("showFileIcons",{name:d.settings.items.showFileIcons.name,desc:d.settings.items.showFileIcons.desc}),et("useFolderIconForFiles",{name:d.settings.items.useFolderIcon.name,desc:d.settings.items.useFolderIcon.desc,visible:()=>e.settings.showFileIcons}),et("showFilenameMatchIcons",{name:d.settings.items.showFilenameMatchIcons.name,desc:d.settings.items.showFilenameMatchIcons.desc,visible:()=>e.settings.showFileIcons}),_e({name:d.settings.items.fileNameIconMap.name,desc:d.settings.items.fileNameIconMap.desc,aliases:[d.settings.items.fileNameIconMap.placeholder,d.settings.items.fileNameIconMap.editTooltip],visible:()=>e.settings.showFileIcons&&e.settings.showFilenameMatchIcons,render:n=>Uq(n,t,{name:d.settings.items.fileNameIconMap.name,desc:d.settings.items.fileNameIconMap.desc,placeholder:d.settings.items.fileNameIconMap.placeholder,tooltip:d.settings.items.fileNameIconMap.editTooltip,mode:"fileName",getMap:()=>e.settings.fileNameIconMap,setMap:r=>{e.settings.fileNameIconMap=r},parse:Upe,normalizeKey:Dm})}),et("showCategoryIcons",{name:d.settings.items.showCategoryIcons.name,desc:d.settings.items.showCategoryIcons.desc,visible:()=>e.settings.showFileIcons}),_e({name:d.settings.items.fileTypeIconPreset.name,desc:d.settings.items.fileTypeIconPreset.desc,aliases:Object.values(Wq(t)).map(n=>n.label),visible:()=>e.settings.showFileIcons&&e.settings.showCategoryIcons,render:n=>jpe(n,t)}),_e({name:d.settings.items.fileTypeIconMap.name,desc:d.settings.items.fileTypeIconMap.desc,aliases:[d.settings.items.fileTypeIconMap.placeholder,d.settings.items.fileTypeIconMap.editTooltip],visible:()=>e.settings.showFileIcons&&e.settings.showCategoryIcons,render:n=>Uq(n,t,{name:d.settings.items.fileTypeIconMap.name,desc:d.settings.items.fileTypeIconMap.desc,placeholder:d.settings.items.fileTypeIconMap.placeholder,tooltip:d.settings.items.fileTypeIconMap.editTooltip,mode:"fileType",getMap:()=>e.settings.fileTypeIconMap,setMap:r=>{e.settings.fileTypeIconMap=r},parse:Vpe,normalizeKey:Rm})})]),Pt(d.settings.groups.notes.title,[_e({name:d.settings.items.fileNameRows.name,desc:d.settings.items.fileNameRows.desc,aliases:Object.values(d.settings.items.fileNameRows.options),render:n=>Gpe(n,t)}),et("useFolderColorForTitles",{name:d.settings.items.useFolderColor.name,desc:d.settings.items.useFolderColor.desc})]),Pt(d.settings.groups.notes.previewText,[et("showFilePreview",{name:d.settings.items.showFilePreview.name,desc:d.settings.items.showFilePreview.desc}),_e({name:d.settings.items.previewRows.name,desc:d.settings.items.previewRows.desc,aliases:Object.values(d.settings.items.previewRows.options),visible:()=>e.settings.showFilePreview,render:n=>qpe(n,t)}),et("skipHeadingsInPreview",{name:d.settings.items.skipHeadingsInPreview.name,desc:d.settings.items.skipHeadingsInPreview.desc,visible:()=>e.settings.showFilePreview}),et("skipCodeBlocksInPreview",{name:d.settings.items.skipCodeBlocksInPreview.name,desc:d.settings.items.skipCodeBlocksInPreview.desc,visible:()=>e.settings.showFilePreview}),et("stripHtmlInPreview",{name:d.settings.items.stripHtmlInPreview.name,desc:d.settings.items.stripHtmlInPreview.desc,visible:()=>e.settings.showFilePreview}),et("stripLatexInPreview",{name:d.settings.items.stripLatexInPreview.name,desc:d.settings.items.stripLatexInPreview.desc,visible:()=>e.settings.showFilePreview}),_e({name:d.settings.items.previewProperties.name,desc:d.settings.items.previewProperties.desc,aliases:[d.settings.items.previewProperties.placeholder],visible:()=>e.settings.showFilePreview,render:n=>NL(n,t,{name:d.settings.items.previewProperties.name,desc:d.settings.items.previewProperties.desc,placeholder:d.settings.items.previewProperties.placeholder,getValue:()=>nr(e.settings.previewProperties),setValue:r=>{e.settings.previewProperties=Fo(r)},onAfterUpdate:()=>t.refreshSettingsDomState()})}),et("previewPropertiesFallback",{name:d.settings.items.previewPropertiesFallback.name,desc:d.settings.items.previewPropertiesFallback.desc,visible:()=>e.settings.showFilePreview&&e.settings.previewProperties.length>0})]),Pt(d.settings.groups.notes.featureImage,[et("showFeatureImage",{name:d.settings.items.showFeatureImage.name,desc:d.settings.items.showFeatureImage.desc}),_e({name:d.settings.items.featureImageProperties.name,desc:d.settings.items.featureImageProperties.desc,aliases:[d.settings.items.featureImageProperties.placeholder],visible:()=>e.settings.showFeatureImage,render:n=>NL(n,t,{name:d.settings.items.featureImageProperties.name,desc:d.settings.items.featureImageProperties.desc,placeholder:d.settings.items.featureImageProperties.placeholder,getValue:()=>nr(e.settings.featureImageProperties),setValue:r=>{e.settings.featureImageProperties=Fo(r)}})}),_e({name:d.settings.items.featureImageExcludeProperties.name,desc:d.settings.items.featureImageExcludeProperties.desc,aliases:[d.settings.items.featureImageExcludeProperties.placeholder],visible:()=>e.settings.showFeatureImage,render:n=>NL(n,t,{name:d.settings.items.featureImageExcludeProperties.name,desc:d.settings.items.featureImageExcludeProperties.desc,placeholder:d.settings.items.featureImageExcludeProperties.placeholder,getValue:()=>nr(e.settings.featureImageExcludeProperties),setValue:r=>{e.settings.featureImageExcludeProperties=Fo(r)}})}),_e({name:d.settings.items.featureImageSize.name,desc:d.settings.items.featureImageSize.desc,aliases:Object.values(d.settings.items.featureImageSize.options),visible:()=>e.settings.showFeatureImage,render:n=>Ype(n,t)}),_e({name:d.settings.items.featureImagePixelSize.name,desc:d.settings.items.featureImagePixelSize.desc,aliases:Object.values(d.settings.items.featureImagePixelSize.options),visible:()=>e.settings.showFeatureImage,render:n=>$pe(n,t)}),et("forceSquareFeatureImage",{name:d.settings.items.forceSquareFeatureImage.name,desc:d.settings.items.forceSquareFeatureImage.desc,visible:()=>e.settings.showFeatureImage}),et("downloadExternalFeatureImages",{name:d.settings.items.downloadExternalFeatureImages.name,desc:d.settings.items.downloadExternalFeatureImages.desc,visible:()=>e.settings.showFeatureImage})]),Pt(d.settings.groups.notes.tags,[et("showFileTags",{name:d.settings.items.showFileTags.name,desc:d.settings.items.showFileTags.desc}),et("colorFileTags",{name:d.settings.items.colorFileTags.name,desc:d.settings.items.colorFileTags.desc,visible:()=>e.settings.showFileTags}),et("prioritizeColoredFileTags",{name:d.settings.items.prioritizeColoredFileTags.name,desc:d.settings.items.prioritizeColoredFileTags.desc,visible:()=>e.settings.showFileTags&&e.settings.colorFileTags}),et("showFileTagAncestors",{name:d.settings.items.showFileTagAncestors.name,desc:d.settings.items.showFileTagAncestors.desc,visible:()=>e.settings.showFileTags}),et("showFileTagsInCompactMode",{name:d.settings.items.showFileTagsInCompactMode.name,desc:d.settings.items.showFileTagsInCompactMode.desc,visible:()=>e.settings.showFileTags})],{visible:()=>e.settings.showTags}),Pt(d.settings.groups.notes.properties,[et("showFileProperties",{name:d.settings.items.showFileProperties.name,desc:d.settings.items.showFileProperties.desc}),et("colorFileProperties",{name:d.settings.items.colorFileProperties.name,desc:d.settings.items.colorFileProperties.desc,visible:()=>e.settings.showFileProperties}),et("prioritizeColoredFileProperties",{name:d.settings.items.prioritizeColoredFileProperties.name,desc:d.settings.items.prioritizeColoredFileProperties.desc,visible:()=>e.settings.showFileProperties&&e.settings.colorFileProperties}),et("showFilePropertiesInCompactMode",{name:d.settings.items.showFilePropertiesInCompactMode.name,desc:d.settings.items.showFilePropertiesInCompactMode.desc,visible:()=>e.settings.showFileProperties}),et("showPropertiesOnSeparateRows",{name:d.settings.items.showPropertiesOnSeparateRows.name,desc:d.settings.items.showPropertiesOnSeparateRows.desc,visible:()=>e.settings.showFileProperties}),et("enablePropertyInternalLinks",{name:d.settings.items.enablePropertyInternalLinks.name,desc:d.settings.items.enablePropertyInternalLinks.desc,visible:()=>e.settings.showFileProperties}),et("enablePropertyExternalLinks",{name:d.settings.items.enablePropertyExternalLinks.name,desc:d.settings.items.enablePropertyExternalLinks.desc,visible:()=>e.settings.showFileProperties})]),Pt(d.settings.groups.notes.date,[et("showFileDate",{name:d.settings.items.showFileDate.name,desc:d.settings.items.showFileDate.desc}),Gr("alphabeticalDateMode",{name:d.settings.items.alphabeticalDateMode.name,desc:d.settings.items.alphabeticalDateMode.desc,aliases:Object.values(d.settings.items.alphabeticalDateMode.options),visible:()=>e.settings.showFileDate,options:{created:d.settings.items.alphabeticalDateMode.options.created,modified:d.settings.items.alphabeticalDateMode.options.modified}})]),Pt(d.settings.groups.notes.parentFolder,[et("showParentFolder",{name:d.settings.items.showParentFolder.name,desc:d.settings.items.showParentFolder.desc}),et("showParentFolderFullPath",{name:d.settings.items.showParentFolderFullPath.name,desc:d.settings.items.showParentFolderFullPath.desc,visible:()=>e.settings.showParentFolder}),et("parentFolderClickRevealsFile",{name:d.settings.items.parentFolderClickRevealsFile.name,desc:d.settings.items.parentFolderClickRevealsFile.desc,visible:()=>e.settings.showParentFolder}),et("showParentFolderColor",{name:d.settings.items.showParentFolderColor.name,desc:d.settings.items.showParentFolderColor.desc,visible:()=>e.settings.showParentFolder}),et("showParentFolderIcon",{name:d.settings.items.showParentFolderIcon.name,desc:d.settings.items.showParentFolderIcon.desc,visible:()=>e.settings.showParentFolder})]),Pt(d.settings.groups.notes.wordCount,[Gr("textCountDisplay",{name:d.settings.items.textCountDisplay.name,desc:d.settings.items.textCountDisplay.desc,aliases:Object.values(d.settings.items.textCountDisplay.options),options:{none:d.settings.items.textCountDisplay.options.none,words:d.settings.items.textCountDisplay.options.words,characters:d.settings.items.textCountDisplay.options.characters,both:d.settings.items.textCountDisplay.options.both}}),Gr("textCountPlacement",{name:d.settings.items.textCountPlacement.name,desc:d.settings.items.textCountPlacement.desc,aliases:Object.values(d.settings.items.textCountPlacement.options),visible:()=>e.settings.textCountDisplay!=="none",options:{title:d.settings.items.textCountPlacement.options.title,property:d.settings.items.textCountPlacement.options.property}}),Gr("characterCountSpaces",{name:d.settings.items.characterCountSpaces.name,desc:d.settings.items.characterCountSpaces.desc,aliases:Object.values(d.settings.items.characterCountSpaces.options),visible:()=>Gl(e.settings.textCountDisplay),options:{include:d.settings.items.characterCountSpaces.options.include,exclude:d.settings.items.characterCountSpaces.options.exclude}}),_e({name:d.settings.items.wordCountTargetProperty.name,desc:d.settings.items.wordCountTargetProperty.desc,aliases:[Le.wordCountTargetProperty],visible:()=>il(e.settings.textCountDisplay),render:n=>{t.configureDebouncedTextSetting(n,d.settings.items.wordCountTargetProperty.name,d.settings.items.wordCountTargetProperty.desc,Le.wordCountTargetProperty,()=>e.settings.wordCountTargetProperty,r=>{e.settings.wordCountTargetProperty=r.trim()}),n.controlEl.addClass("nn-setting-wide-input")}}),et("showWordCountPercentage",{name:d.settings.items.showWordCountPercentage.name,desc:d.settings.items.showWordCountPercentage.desc,visible:()=>il(e.settings.textCountDisplay)})])]}function Kpe(t,e,n){let{app:r,plugin:o}=e;t.setName(n.name).setDesc(n.desc);let i=t.controlEl.createDiv({cls:"nn-setting-color-preview"}).createEl("button",{cls:"nn-setting-color-swatch-button",attr:{type:"button","aria-label":n.name}}),s=i.createDiv({cls:"nn-setting-color-swatch"}),l=()=>{let c=n.access.getValue();s.style.backgroundColor=c,i.setAttribute("title",c)};i.addEventListener("click",()=>{Q(async()=>{if(!o.metadataService){de(d.common.unknownError,{variant:"warning"});return}let{ColorPickerModal:c}=await Promise.resolve().then(()=>(_T(),vI));new c(r,{title:n.name,initialColor:n.access.getValue(),settingsProvider:o.metadataService.getSettingsProvider(),onChooseColor:async p=>{let m=typeof p=="string"&&p.trim().length>0?p.trim():n.access.defaultValue;n.access.setValue(m),await o.saveSettingsAndUpdate(),l()}}).open()})}),t.addExtraButton(c=>{c.setIcon("lucide-rotate-ccw").setTooltip(`${d.common.restoreDefault} (${n.access.defaultValue})`).onClick(()=>{Q(async()=>{n.access.getValue()!==n.access.defaultValue&&(n.access.setValue(n.access.defaultValue),await o.saveSettingsAndUpdate(),l())})})}),l()}function Wq(t){let e={none:{label:d.settings.items.fileTypeIconPreset.options.none,isInstalled:!0}};return yv.forEach(n=>{let r=Bs[n],o=t.plugin.isExternalIconProviderInstalled(n);e[n]={label:r.name,isInstalled:o}}),e}function Wpe(t){let{plugin:e}=t,n=e.settings.fileTypeIconPreset;return mh(n)&&!e.isExternalIconProviderInstalled(n)}function jpe(t,e){let{plugin:n}=e,r=Wq(e);t.setName(d.settings.items.fileTypeIconPreset.name).setDesc(d.settings.items.fileTypeIconPreset.desc);let o=t.descEl.createDiv({cls:"setting-item-description nn-setting-hidden nn-setting-warning"}),a=()=>{let i=Wpe(e);o.setText(i?d.settings.items.fileTypeIconPreset.notInstalledWarning:""),o.toggleClass("nn-setting-hidden",!i)};t.addDropdown(i=>{Object.entries(r).forEach(([s,l])=>{i.addOption(s,l.label)}),Object.entries(r).forEach(([s,l])=>{if(l.isInstalled)return;let c=Array.from(i.selectEl.options).find(u=>u.value===s);c&&(c.disabled=!0)}),i.setValue(n.settings.fileTypeIconPreset).onChange(async s=>{bv(s)&&(n.settings.fileTypeIconPreset=s,a(),await n.saveSettingsAndUpdate())})}),a()}function Uq(t,e,n){let{app:r,plugin:o}=e;e.configureDebouncedTextAreaSetting(t,n.name,n.desc,n.placeholder,()=>Oh(n.getMap()),a=>{let i=n.parse(a);n.setMap(i.map)},{rows:3,validator:a=>n.parse(a).invalidLines.length===0}),t.addExtraButton(a=>a.setIcon("lucide-pencil").setTooltip(n.tooltip).onClick(()=>{Q(async()=>{let i=o.metadataService;if(!i){de(d.common.unknownError,{variant:"warning"});return}let{FileIconRuleEditorModal:s}=await Promise.resolve().then(()=>(CL(),PL));new s(r,{title:n.name,mode:n.mode,initialMap:n.getMap(),fallbackIconId:"file",metadataService:i,normalizeKey:n.normalizeKey,onSave:async c=>{n.setMap(c);let u=t.controlEl.querySelector("textarea");u instanceof HTMLTextAreaElement&&(u.value=Oh(c)),await o.saveSettingsAndUpdate()}}).open()})})),t.controlEl.addClass("nn-setting-wide-input")}function Gpe(t,e){let{plugin:n}=e;t.setName(d.settings.items.fileNameRows.name).setDesc(d.settings.items.fileNameRows.desc).addDropdown(r=>r.addOption("1",d.settings.items.fileNameRows.options[1]).addOption("2",d.settings.items.fileNameRows.options[2]).addOption("3",d.settings.items.fileNameRows.options[3]).setValue(n.settings.fileNameRows.toString()).onChange(async o=>{n.settings.fileNameRows=parseInt(o,10),await n.saveSettingsAndUpdate()}))}function qpe(t,e){let{plugin:n}=e;t.setName(d.settings.items.previewRows.name).setDesc(d.settings.items.previewRows.desc).addDropdown(r=>r.addOption("1",d.settings.items.previewRows.options[1]).addOption("2",d.settings.items.previewRows.options[2]).addOption("3",d.settings.items.previewRows.options[3]).addOption("4",d.settings.items.previewRows.options[4]).addOption("5",d.settings.items.previewRows.options[5]).setValue(n.settings.previewRows.toString()).onChange(async o=>{n.settings.previewRows=parseInt(o,10),await n.saveSettingsAndUpdate()}))}function NL(t,e,n){e.configureDebouncedTextSetting(t,n.name,n.desc,n.placeholder,n.getValue,n.setValue,void 0,n.onAfterUpdate),t.controlEl.addClass("nn-setting-wide-input")}function Ype(t,e){let{plugin:n}=e;t.setName(d.settings.items.featureImageSize.name).setDesc(d.settings.items.featureImageSize.desc).addDropdown(r=>r.addOption("64",d.settings.items.featureImageSize.options.standard).addOption("96",d.settings.items.featureImageSize.options.large).addOption("128",d.settings.items.featureImageSize.options.extraLarge).setValue(n.settings.featureImageSize).onChange(o=>{dh(o)&&n.setFeatureImageSize(o)})),At({setting:t,plugin:n,settingId:"featureImageSize"})}function $pe(t,e){let{plugin:n}=e;t.setName(d.settings.items.featureImagePixelSize.name).setDesc(d.settings.items.featureImagePixelSize.desc).addDropdown(r=>r.addOption("256",d.settings.items.featureImagePixelSize.options.standard).addOption("384",d.settings.items.featureImagePixelSize.options.large).addOption("512",d.settings.items.featureImagePixelSize.options.extraLarge).setValue(n.settings.featureImagePixelSize).onChange(o=>{ch(o)&&n.setFeatureImagePixelSize(o)})),At({setting:t,plugin:n,settingId:"featureImagePixelSize"})}var jq=U(()=>{Ee();Fn();ot();da();ko();Ca();xn();Si();As();Mh();Sv()});function Gq(t){let{plugin:e}=t;return[Pt(void 0,[et("showSectionIcons",{name:d.settings.items.showSectionIcons.name,desc:d.settings.items.showSectionIcons.desc})]),Pt(d.navigationPane.shortcutsHeader,[et("showShortcuts",{name:d.settings.items.showShortcuts.name,desc:d.settings.items.showShortcuts.desc}),Gr("shortcutBadgeDisplay",{name:d.settings.items.shortcutBadgeDisplay.name,desc:d.settings.items.shortcutBadgeDisplay.desc,aliases:Object.values(d.settings.items.shortcutBadgeDisplay.options),visible:()=>e.settings.showShortcuts,options:{index:d.settings.items.shortcutBadgeDisplay.options.index,count:d.settings.items.shortcutBadgeDisplay.options.count,none:d.settings.items.shortcutBadgeDisplay.options.none}}),et("skipAutoScroll",{name:d.settings.items.skipAutoScroll.name,desc:d.settings.items.skipAutoScroll.desc,visible:()=>e.settings.showShortcuts})]),Pt(d.navigationPane.recentFilesHeader,[et("showRecentNotes",{name:d.settings.items.showRecentNotes.name,desc:d.settings.items.showRecentNotes.desc}),Gr("hideRecentNotes",{name:d.settings.items.hideRecentNotes.name,desc:d.settings.items.hideRecentNotes.desc,aliases:Object.values(d.settings.items.hideRecentNotes.options),visible:()=>e.settings.showRecentNotes,options:{none:d.settings.items.hideRecentNotes.options.none,"folder-notes":d.settings.items.hideRecentNotes.options.folderNotes}}),et("pinRecentNotesWithShortcuts",{name:d.settings.items.pinRecentNotesWithShortcuts.name,desc:d.settings.items.pinRecentNotesWithShortcuts.desc,visible:()=>e.settings.showRecentNotes}),_e({name:d.settings.items.recentNotesCount.name,desc:d.settings.items.recentNotesCount.desc,visible:()=>e.settings.showRecentNotes,render:n=>Xpe(n,t)})])]}function Xpe(t,e){let{plugin:n}=e;_r(t,{name:d.settings.items.recentNotesCount.name,desc:d.settings.items.recentNotesCount.desc,value:n.settings.recentNotesCount,defaultValue:Le.recentNotesCount,min:1,max:10,step:1,onChange:async r=>{n.settings.recentNotesCount=r,n.applyRecentNotesLimit(),await n.saveSettingsAndUpdate()}})}var qq=U(()=>{Ee();ko();Ca();dp()});function IL(t){return Qpe.has(t.toLowerCase())}function $q(t){return t instanceof Yq.TFile&&IL(t.extension)}var Yq,Qpe,xL=U(()=>{Yq=require("obsidian"),Qpe=new Set(["md","canvas","base"])});var Fy,EL=U(()=>{Nh();Ee();Rn();xL();Fy=class extends Ls{constructor(e,n){super(e,n,d.modals.homepage.placeholder,{navigate:d.modals.homepage.instructions.navigate,action:d.modals.homepage.instructions.select,dismiss:d.modals.homepage.instructions.dismiss})}getItems(){let e=this.app.vault.getFiles().filter(n=>IL(n.extension));return e.sort((n,r)=>Mt(n.path,r.path)),e}getItemText(e){return e.path}getDisplayPath(e){return e.path}}});function Jpe(t){return Zpe.has(t)}function eme(t){if(Jpe(t))return t;switch(t){case"folder-open":return"nav-folder-open";case"folder-closed":return"nav-folder-closed";case"tag":return"nav-tag";case"recent-files":return"nav-recent-files";case"list-sort":return"list-sort-ascending";default:return null}}function Qe(t,e){let n=t?.[e];if(n){let r=Zd(n);if(r)return qn(r)}return ML[e]}function tme(t){let e=t.trim();if(!e)return null;let n=e.indexOf(":");if(n!==-1){if(e.substring(0,n)!=="lucide")return null;let a=e.substring(n+1).trim();if(!a)return null;let i=a.startsWith("lucide-")?a.substring(7):a;return i?`lucide-${i}`:null}let r=e.startsWith("lucide-")?e.substring(7):e;return r?`lucide-${r}`:null}function Kh(t){return typeof t!="string"?null:tme(t)}function Hr(t,e,n){let r=Qe(t,e);return Kh(r)??n??Kh(ML[e])??"lucide-circle"}function Xq(t){let e=De(void 0);return t&&Object.entries(t).forEach(([n,r])=>{let o=eme(n);if(!o||typeof r!="string")return;let a=r.trim();if(!a)return;let i=Zd(a);if(!i)return;let s=qn(i),l=ML[o];if(s===l)return;let c=oi(s);c&&(e[o]=c)}),e}var DI,Zpe,ML,pr=U(()=>{Si();Ot();DI=[{id:"nav-show-single-pane",category:"navigationPane",defaultIconId:"panel-left-close"},{id:"nav-show-dual-pane",category:"navigationPane",defaultIconId:"panel-left"},{id:"nav-profile-chevron",category:"navigationPane",defaultIconId:"chevron-down"},{id:"nav-shortcuts",category:"navigationPane",defaultIconId:"star"},{id:"nav-expand-all",category:"navigationPane",defaultIconId:"chevrons-up-down"},{id:"nav-collapse-all",category:"navigationPane",defaultIconId:"chevrons-down-up"},{id:"nav-calendar",category:"navigationPane",defaultIconId:"calendar-days"},{id:"nav-hidden-items",category:"navigationPane",defaultIconId:"eye"},{id:"nav-root-reorder",category:"navigationPane",defaultIconId:"list-tree"},{id:"nav-new-folder",category:"navigationPane",defaultIconId:"folder-plus"},{id:"nav-recent-files",category:"navigationPane",defaultIconId:"history"},{id:"nav-tree-expand",category:"navigationPane",defaultIconId:"chevron-right"},{id:"nav-tree-collapse",category:"navigationPane",defaultIconId:"chevron-down"},{id:"nav-folder-root",category:"folders",defaultIconId:"vault"},{id:"nav-folder-open",category:"folders",defaultIconId:"folder-open"},{id:"nav-folder-closed",category:"folders",defaultIconId:"folder-closed"},{id:"nav-tags",category:"tags",defaultIconId:"tags"},{id:"nav-tag",category:"tags",defaultIconId:"tag"},{id:"nav-properties",category:"properties",defaultIconId:"file-code"},{id:"nav-property",category:"properties",defaultIconId:"align-left"},{id:"nav-property-value",category:"properties",defaultIconId:"equal"},{id:"list-search",category:"listPane",defaultIconId:"search"},{id:"list-reveal-file",category:"listPane",defaultIconId:"locate-fixed"},{id:"list-descendants",category:"listPane",defaultIconId:"layers"},{id:"list-sort-ascending",category:"listPane",defaultIconId:"sort-asc"},{id:"list-sort-descending",category:"listPane",defaultIconId:"sort-desc"},{id:"list-sort-modified",category:"listPane",defaultIconId:"calendar-clock"},{id:"list-sort-created",category:"listPane",defaultIconId:"calendar-plus"},{id:"list-sort-title",category:"listPane",defaultIconId:"type"},{id:"list-sort-filename",category:"listPane",defaultIconId:"file-text"},{id:"list-sort-property",category:"listPane",defaultIconId:"align-left"},{id:"list-appearance",category:"listPane",defaultIconId:"palette"},{id:"list-new-note",category:"listPane",defaultIconId:"pen-box"},{id:"list-pinned",category:"listPane",defaultIconId:""},{id:"file-unfinished-task",category:"fileItems",defaultIconId:"circle-alert"},{id:"file-word-count",category:"fileItems",defaultIconId:"sigma"},{id:"file-character-count",category:"fileItems",defaultIconId:"type"}],Zpe=new Set(DI.map(t=>t.id)),ML=(()=>{let t=Object.create(null);return DI.forEach(e=>{t[e.id]=qn(e.defaultIconId)}),t})()});function AI(t,e){let n=e.settings.calendarEnabled?Qq:Qq.filter(a=>a.id!=="calendar"),r=t(a=>{a.setName(d.settings.items.toolbarButtons.name).setDesc(d.settings.items.toolbarButtons.desc)});r.controlEl.addClass("nn-toolbar-visibility-control");let o=r.controlEl.createDiv({cls:"nn-toolbar-visibility-sections"});Zq({containerEl:o,label:d.settings.items.toolbarButtons.navigationLabel,buttons:n,interfaceIcons:e.settings.interfaceIcons,state:e.settings.toolbarVisibility.navigation,onToggle:()=>{Q(()=>e.persistToolbarVisibility())}}),Zq({containerEl:o,label:d.settings.items.toolbarButtons.listLabel,buttons:nme,interfaceIcons:e.settings.interfaceIcons,state:e.settings.toolbarVisibility.list,onToggle:()=>{Q(()=>e.persistToolbarVisibility())}}),At({setting:r,plugin:e,settingId:"toolbarVisibility"})}function Zq({containerEl:t,label:e,buttons:n,interfaceIcons:r,state:o,onToggle:a}){let i=t.createDiv({cls:"nn-toolbar-visibility-group"});i.createDiv({cls:"nn-toolbar-visibility-group-label",text:e});let s=i.createDiv({cls:["nn-toolbar-visibility-grid","nn-toolbar-visibility-grid-scroll"]});n.forEach(l=>{let c=s.createEl("button",{cls:["nn-toolbar-visibility-toggle","nn-mobile-toolbar-button"],attr:{type:"button"}});c.setAttr("aria-pressed",o[l.id]?"true":"false"),c.setAttr("aria-label",l.label),c.setAttr("title",l.label);let u=c.createSpan({cls:"nn-toolbar-visibility-icon"}),p=l.iconType==="ux"?Qe(r,l.iconId):l.iconId;yn().renderIcon(u,p);let m=()=>{let g=!!o[l.id];c.classList.toggle("is-active",g),c.classList.toggle("nn-mobile-toolbar-button-active",g),c.setAttr("aria-pressed",g?"true":"false")};c.addEventListener("click",()=>{o[l.id]=!o[l.id],m(),a()}),m()})}var Jq,Qq,nme,RL=U(()=>{Jq=require("obsidian");Ee();Ha();ot();pr();da();Qq=[{id:"toggleDualPane",iconType:"ux",iconId:"nav-show-dual-pane",label:d.paneHeader.showDualPane},{id:"expandCollapse",iconType:"ux",iconId:"nav-expand-all",label:d.paneHeader.expandAllFolders},{id:"hiddenItems",iconType:"ux",iconId:"nav-hidden-items",label:d.paneHeader.showExcludedItems},{id:"calendar",iconType:"ux",iconId:"nav-calendar",label:d.paneHeader.showCalendar},{id:"rootReorder",iconType:"ux",iconId:"nav-root-reorder",label:d.paneHeader.reorderRootFolders},{id:"newFolder",iconType:"ux",iconId:"nav-new-folder",label:d.paneHeader.newFolder}],nme=[{id:"back",iconType:"raw",iconId:Jq.Platform.isAndroidApp?"arrow-left":"chevron-left",label:d.paneHeader.showFolders},{id:"search",iconType:"ux",iconId:"list-search",label:d.paneHeader.search},{id:"reveal",iconType:"ux",iconId:"list-reveal-file",label:d.commands.revealFile},{id:"descendants",iconType:"ux",iconId:"list-descendants",label:d.settings.items.includeDescendantNotes.name},{id:"sort",iconType:"ux",iconId:"list-sort-ascending",label:d.paneHeader.changeSortAndGroup},{id:"appearance",iconType:"ux",iconId:"list-appearance",label:d.paneHeader.changeAppearance},{id:"newNote",iconType:"ux",iconId:"list-new-note",label:d.paneHeader.newNote}]});function _s(t){let{app:e,metadataService:n,settings:r,folderPath:o,fallbackName:a}=t,i=n.getFolderDisplayData(o,{includeDisplayName:!0,includeColor:!1,includeBackgroundColor:!1,includeIcon:!1}).displayName;return i&&i.length>0?i:o==="/"?r.customVaultName||e.vault.getName():a}function DL({metadataService:t,folderPath:e}){let n=e.split("/").filter(Boolean),r="";return n.map(o=>{r=r?`${r}/${o}`:o;let a=t.getFolderDisplayData(r,{includeDisplayName:!0,includeColor:!1,includeBackgroundColor:!1,includeIcon:!1}).displayName;return{path:r,label:a&&a.length>0?a:o}})}function eY(t){return DL(t).map(e=>e.label).join("/")}var Vm=U(()=>{});var OL={};In(OL,{UXIconMapModal:()=>AL});var Py,AL,LL=U(()=>{Py=require("obsidian");Ee();Ha();ot();Si();pr();Ql();Ue();Ot();Vm();AL=class t extends Py.Modal{constructor(n,r){super(n);this.options=r;this.iconService=yn();this.listEl=null;this.rowDisposers=[];this.footerDisposers=[];this.rowControls=new Map;this.applyButton=null;this.iconSize=Py.Platform.isMobile?18:16;this.initialMap=this.normalizeInterfaceIconMap(r.initialMap),this.initialRootFolderIconId=this.normalizeMetadataIconId(r.metadataService.getFolderIcon(t.ROOT_FOLDER_PATH)),this.rows=this.deserializeRows(this.initialMap)}static{this.ROOT_FOLDER_PATH="/"}isRootFolderRow(n){return n==="nav-folder-root"}normalizeInterfaceIconMap(n){let r=De(n,Ln);return delete r["nav-folder-root"],r}normalizeMetadataIconId(n){return n?qn(n):null}onOpen(){this.modalEl.addClass("nn-ux-icon-map-modal"),this.titleEl.setText(d.modals.interfaceIcons.title),this.contentEl.empty();let n=this.contentEl.createDiv({cls:"nn-ux-icon-map-scroll"});this.listEl=n.createDiv({cls:"nn-ux-icon-map-list"}),this.renderRows(),this.renderFooter(),this.updateApplyButtonState()}onClose(){this.disposeRowDisposers(),this.disposeFooterDisposers(),this.rowControls.clear(),this.listEl=null,this.applyButton=null,this.modalEl.removeClass("nn-ux-icon-map-modal"),this.contentEl.empty()}resolveRowLabel(n){if(n==="nav-folder-root"){let o=this.options.metadataService.getSettingsProvider().settings;return _s({app:this.app,metadataService:this.options.metadataService,settings:o,folderPath:t.ROOT_FOLDER_PATH,fallbackName:this.app.vault.getRoot().name})}let r=d.modals.interfaceIcons.items[n];return typeof r=="string"?r:""}resolveCategoryLabel(n){switch(n){case"navigationPane":return d.settings.items.startView.options.navigation;case"folders":return d.settings.sections.folders;case"tags":return d.settings.sections.tags;case"properties":return d.navigationPane.properties;case"listPane":return d.settings.items.startView.options.files;case"fileItems":return d.modals.interfaceIcons.fileItemsSection;default:return""}}deserializeRows(n){return DI.map(r=>{let o=qn(r.defaultIconId),a=this.isRootFolderRow(r.id)?this.initialRootFolderIconId:(()=>{let i=n[r.id],s=i?Zd(i):null;return s?qn(s):null})();return{id:r.id,category:r.category,label:this.resolveRowLabel(r.id),defaultIconId:o,overrideIconId:a}})}getEffectiveIconId(n){return n.overrideIconId??n.defaultIconId}serializeIconValue(n){let r=qn(n);return r?oi(r):null}renderRows(){if(!this.listEl)return;this.disposeRowDisposers(),this.rowControls.clear(),this.listEl.empty();let n=["navigationPane","folders","tags","properties","listPane","fileItems"],r=new Map;this.rows.forEach(i=>{let s=r.get(i.category);s?s.push(i):r.set(i.category,[i])});let o=i=>{let s=this.listEl?.createDiv({cls:"nn-ux-icon-map-row"});if(!s)return;s.createDiv({cls:"nn-ux-icon-map-label",text:i.label});let l=s.createEl("button",{cls:"nn-action-btn",attr:{type:"button","aria-label":d.contextMenu.file.changeIcon}}),c=l.createSpan();this.iconService.renderIcon(c,this.getEffectiveIconId(i),this.iconSize),this.rowDisposers.push(St(l,"click",()=>{this.openIconPicker(i.id)}));let u=s.createEl("button",{cls:"nn-action-btn",attr:{type:"button","aria-label":d.common.clear}});(0,Py.setIcon)(u,"lucide-rotate-ccw"),u.disabled=i.overrideIconId===null,this.rowDisposers.push(St(u,"click",()=>{this.resetRowIcon(i.id)})),this.rowControls.set(i.id,{iconSpan:c,resetButton:u})},a=!1;n.forEach(i=>{let s=r.get(i);if(!s||s.length===0)return;let l=this.resolveCategoryLabel(i);if(!l)return;let c=a?"nn-ux-icon-map-group-heading nn-ux-icon-map-group-heading--spaced":"nn-ux-icon-map-group-heading";this.listEl?.createEl("h3",{cls:c,text:l}),s.forEach(u=>{o(u)}),a=!0})}openIconPicker(n){let r=this.rows.find(o=>o.id===n);r&&Q(async()=>{let{IconPickerModal:o}=await Promise.resolve().then(()=>(RI(),MI)),a=new o(this.app,this.options.metadataService,this.isRootFolderRow(n)?t.ROOT_FOLDER_PATH:"",this.isRootFolderRow(n)?W.FOLDER:W.FILE,{titleOverride:r.label,currentIconId:this.getEffectiveIconId(r),showRemoveButton:!0,disableMetadataUpdates:!0});a.onChooseIcon=async i=>(this.setRowIcon(n,i),{handled:!0}),a.open()})}setRowIcon(n,r){let o=this.rows.find(s=>s.id===n);if(!o)return;let a=r?qn(r):null;if(this.isRootFolderRow(n))o.overrideIconId=a;else{let s=qn(o.defaultIconId);o.overrideIconId=a&&a!==s?a:null}let i=this.rowControls.get(n);i&&(this.iconService.renderIcon(i.iconSpan,this.getEffectiveIconId(o),this.iconSize),i.resetButton.disabled=o.overrideIconId===null),this.updateApplyButtonState()}resetRowIcon(n){this.setRowIcon(n,null)}disposeRowDisposers(){let n=this.rowDisposers;this.rowDisposers=[],n.forEach(r=>{try{r()}catch(o){console.error("[UXIconMapModal] Failed to dispose row handler",o)}})}disposeFooterDisposers(){let n=this.footerDisposers;this.footerDisposers=[],n.forEach(r=>{try{r()}catch(o){console.error("[UXIconMapModal] Failed to dispose footer handler",o)}})}renderFooter(){this.disposeFooterDisposers();let n=this.contentEl.createDiv({cls:"nn-ux-icon-map-footer nn-button-container"}),r=n.createEl("button",{text:d.common.cancel,attr:{type:"button"}});this.footerDisposers.push(St(r,"click",()=>{this.close()})),this.applyButton=n.createEl("button",{cls:"mod-cta",text:d.modals.colorPicker.apply,attr:{type:"button"}}),this.footerDisposers.push(St(this.applyButton,"click",()=>{this.applyChanges()}))}buildOverrideMap(){let n=De(void 0);return this.rows.forEach(r=>{if(this.isRootFolderRow(r.id)||!r.overrideIconId)return;let o=this.serializeIconValue(r.overrideIconId);o&&(n[r.id]=o)}),n}areMapsEqual(n,r){let o=Object.keys(n).sort(),a=Object.keys(r).sort();if(o.length!==a.length)return!1;for(let i=0;i<o.length;i++){let s=o[i];if(s!==a[i]||n[s]!==r[s])return!1}return!0}hasRootFolderIconChanged(){let n=this.rows.find(r=>this.isRootFolderRow(r.id));return n?n.overrideIconId!==this.initialRootFolderIconId:!1}updateApplyButtonState(){if(!this.applyButton)return;let n=this.buildOverrideMap();this.applyButton.disabled=this.areMapsEqual(n,this.initialMap)&&!this.hasRootFolderIconChanged()}applyChanges(){let n=this.buildOverrideMap(),r=this.rows.find(o=>this.isRootFolderRow(o.id));Q(async()=>{r&&(r.overrideIconId?await this.options.metadataService.setFolderIcon(t.ROOT_FOLDER_PATH,r.overrideIconId):await this.options.metadataService.removeFolderIcon(t.ROOT_FOLDER_PATH)),await this.options.onSave(n),this.close()})}}});function tY(t){let e=[rme(t)];return zL.Platform.isMobile?e.push(sme(t)):e.push(ome(t),ame(),ime(t)),e.push(lme(t),dme(t),cme(t)),e}function rme(t){let{plugin:e}=t;return Pt(void 0,[ec("createNewNotesInNewTab",{name:d.settings.items.createNewNotesInNewTab.name,desc:d.settings.items.createNewNotesInNewTab.desc}),ec("autoRevealActiveFile",{name:d.settings.items.autoRevealActiveNote.name,desc:d.settings.items.autoRevealActiveNote.desc}),ec("autoRevealShortestPath",{name:d.settings.items.autoRevealShortestPath.name,desc:d.settings.items.autoRevealShortestPath.desc,visible:()=>e.settings.autoRevealActiveFile}),ec("autoRevealIgnoreRightSidebar",{name:d.settings.items.autoRevealIgnoreRightSidebar.name,desc:d.settings.items.autoRevealIgnoreRightSidebar.desc,visible:()=>e.settings.autoRevealActiveFile}),ec("autoRevealIgnoreOtherWindows",{name:d.settings.items.autoRevealIgnoreOtherWindows.name,desc:d.settings.items.autoRevealIgnoreOtherWindows.desc,visible:()=>e.settings.autoRevealActiveFile})])}function ome(t){let{plugin:e}=t,n={tab:d.contextMenu.file.openInNewTab,split:d.contextMenu.file.openToRight,window:d.contextMenu.file.openInNewWindow,rename:d.contextMenu.file.renameFile},r=zL.Platform.isMacOS?d.settings.items.cmdEnterOpenContext:d.settings.items.ctrlEnterOpenContext;return Pt(d.settings.groups.general.keyboardNavigation,[Cy("multiSelectModifier",{name:d.settings.items.multiSelectModifier.name,desc:d.settings.items.multiSelectModifier.desc,aliases:tu(d.settings.items.multiSelectModifier.options),options:{cmdCtrl:d.settings.items.multiSelectModifier.options.cmdCtrl,optionAlt:d.settings.items.multiSelectModifier.options.optionAlt}}),ec("enterToOpenFiles",{name:d.settings.items.enterToOpenFiles.name,desc:d.settings.items.enterToOpenFiles.desc}),Cy("shiftEnterOpenContext",{name:d.settings.items.shiftEnterOpenContext.name,desc:d.settings.items.shiftEnterOpenContext.desc,aliases:tu(n),options:n,visible:()=>e.settings.enterToOpenFiles}),Cy("cmdCtrlEnterOpenContext",{name:r.name,desc:r.desc,aliases:tu(n),options:n,visible:()=>e.settings.enterToOpenFiles})])}function ame(){let t=d.settings.items.mouseBackForwardAction.options;return Pt(d.settings.groups.general.mouseButtons,[Cy("mouseBackForwardAction",{name:d.settings.items.mouseBackForwardAction.name,desc:d.settings.items.mouseBackForwardAction.desc,aliases:tu(t),options:{none:t.none,singlePaneSwitch:t.singlePaneSwitch,history:t.history}})])}function ime(t){let{plugin:e}=t;return Pt(d.settings.groups.general.desktopAppearance,[_e({name:d.settings.items.dualPane.name,desc:d.settings.items.dualPane.desc,render:n=>{n.setName(d.settings.items.dualPane.name).setDesc(d.settings.items.dualPane.desc).addToggle(r=>r.setValue(e.useDualPane()).onChange(o=>{e.setDualPanePreference(o)})),At({setting:n,plugin:e,settingId:"dualPane"})}}),_e({name:d.settings.items.dualPaneOrientation.name,desc:d.settings.items.dualPaneOrientation.desc,aliases:tu(d.settings.items.dualPaneOrientation.options),render:n=>{n.setName(d.settings.items.dualPaneOrientation.name).setDesc(d.settings.items.dualPaneOrientation.desc).addDropdown(r=>{r.addOptions({horizontal:d.settings.items.dualPaneOrientation.options.horizontal,vertical:d.settings.items.dualPaneOrientation.options.vertical}).setValue(e.getDualPaneOrientation()).onChange(async o=>{await e.setDualPaneOrientation(o==="vertical"?"vertical":"horizontal"),t.refreshSettingsDomState()})}),At({setting:n,plugin:e,settingId:"dualPaneOrientation"})}}),_e({name:d.settings.items.narrowSidebarLayout.name,desc:d.settings.items.narrowSidebarLayout.desc,aliases:tu(d.settings.items.narrowSidebarLayout.options),visible:()=>e.getDualPaneOrientation()==="horizontal",render:n=>{n.setName(d.settings.items.narrowSidebarLayout.name).setDesc(d.settings.items.narrowSidebarLayout.desc).addDropdown(r=>{r.addOptions({none:d.settings.items.narrowSidebarLayout.options.none,singlePane:d.settings.items.narrowSidebarLayout.options.singlePane,vertical:d.settings.items.narrowSidebarLayout.options.vertical}).setValue(e.settings.narrowSidebarLayout).onChange(o=>{let a=o==="vertical"||o==="singlePane"?o:"none";e.setNarrowSidebarLayout(a),t.refreshSettingsDomState()})}),At({setting:n,plugin:e,settingId:"narrowSidebarLayout"})}}),_e({name:d.settings.items.narrowSidebarTrigger.name,desc:d.settings.items.narrowSidebarTrigger.desc,aliases:tu(d.settings.items.narrowSidebarTrigger.options),visible:()=>e.getDualPaneOrientation()==="horizontal"&&e.settings.narrowSidebarLayout!=="none",render:n=>mme(n,t)}),_e({name:d.settings.items.narrowSidebarCustomWidth.name,desc:d.settings.items.narrowSidebarCustomWidth.desc,aliases:[uh.toString(),d.settings.items.narrowSidebarCustomWidth.resetTooltip],visible:()=>e.getDualPaneOrientation()==="horizontal"&&e.settings.narrowSidebarLayout!=="none"&&e.settings.narrowSidebarTriggerMode==="customWidth",render:n=>gme(n,t)}),Cy("desktopBackground",{name:d.settings.items.appearanceBackground.name,desc:d.settings.items.appearanceBackground.desc,aliases:tu(d.settings.items.appearanceBackground.options),options:{separate:d.settings.items.appearanceBackground.options.separate,primary:d.settings.items.appearanceBackground.options.primary,secondary:d.settings.items.appearanceBackground.options.secondary}}),ec("showTooltips",{name:d.settings.items.showTooltips.name,desc:d.settings.items.showTooltips.desc}),ec("showTooltipPath",{name:d.settings.items.showTooltipPath.name,desc:d.settings.items.showTooltipPath.desc,visible:()=>e.settings.showTooltips}),ec("showTooltipWordCount",{name:d.settings.items.showTooltipWordCount.name,desc:d.settings.items.showTooltipWordCount.desc,visible:()=>e.settings.showTooltips})])}function sme(t){let{plugin:e}=t;return Pt(d.settings.groups.general.mobileAppearance,[_e({name:d.settings.items.useFloatingToolbars.name,desc:d.settings.items.useFloatingToolbars.desc,render:n=>{n.setName(d.settings.items.useFloatingToolbars.name).setDesc(d.settings.items.useFloatingToolbars.desc).addToggle(r=>r.setValue(e.settings.useFloatingToolbars).onChange(o=>{e.setUseFloatingToolbars(o)})),At({setting:n,plugin:e,settingId:"useFloatingToolbars"})}})])}function lme(t){let{plugin:e}=t;return Pt(d.settings.groups.general.view,[_e({name:d.settings.items.appearanceScale.name,desc:d.settings.items.appearanceScale.desc,render:n=>ume(n,t)}),_e({name:d.settings.items.paneTransitionDuration.name,desc:d.settings.items.paneTransitionDuration.desc,aliases:[d.settings.items.paneTransitionDuration.resetTooltip],render:n=>pme(n,t)}),Cy("startView",{name:d.settings.items.startView.name,desc:d.settings.items.startView.desc,aliases:tu(d.settings.items.startView.options),options:{navigation:d.settings.items.startView.options.navigation,files:d.settings.items.startView.options.files}}),_e({name:d.settings.items.homepage.name,desc:d.settings.items.homepage.desc,aliases:tu(d.settings.items.homepage.options),render:n=>hme(n,t)}),_e({name:d.settings.items.homepage.file.name,desc:d.settings.items.homepage.file.empty,aliases:[d.settings.items.homepage.chooseButton,d.common.clear],visible:()=>e.settings.homepage.source==="file",render:n=>fme(n,t)}),bme(t,{name:d.settings.items.homepage.createMissing.name,desc:d.settings.items.homepage.createMissing.desc,getValue:()=>e.settings.homepage.createMissingPeriodicNote,setValue:n=>{e.settings.homepage={...e.settings.homepage,createMissingPeriodicNote:n}},visible:()=>eC(e.settings.homepage.source)}),ec("showInfoButtons",{name:d.settings.items.showInfoButtons.name,desc:d.settings.items.showInfoButtons.desc}),_e({name:d.settings.items.toolbarButtons.name,desc:d.settings.items.toolbarButtons.desc,aliases:[d.settings.items.toolbarButtons.navigationLabel,d.settings.items.toolbarButtons.listLabel,d.paneHeader.showDualPane,d.paneHeader.expandAllFolders,d.paneHeader.showExcludedItems,d.paneHeader.showCalendar,d.paneHeader.reorderRootFolders,d.paneHeader.newFolder,d.paneHeader.showFolders,d.paneHeader.search,d.commands.revealFile,d.settings.items.includeDescendantNotes.name,d.paneHeader.changeSortAndGroup,d.paneHeader.changeAppearance,d.paneHeader.newNote],render:n=>{AI(r=>(r(n),n),e)}})])}function dme(t){let{plugin:e}=t;return Pt(d.settings.groups.general.icons,[_e({name:d.settings.items.interfaceIcons.name,desc:d.settings.items.interfaceIcons.desc,aliases:[d.settings.items.interfaceIcons.buttonText],render:n=>{n.setName(d.settings.items.interfaceIcons.name).setDesc(d.settings.items.interfaceIcons.desc),n.addButton(r=>{r.setButtonText(d.settings.items.interfaceIcons.buttonText).onClick(()=>{Q(async()=>{let o=e.metadataService;if(!o){de(d.common.unknownError,{variant:"warning"});return}let{UXIconMapModal:a}=await Promise.resolve().then(()=>(LL(),OL));new a(t.app,{metadataService:o,initialMap:e.settings.interfaceIcons,onSave:async s=>{e.settings.interfaceIcons=s,await e.saveSettingsAndUpdate()}}).open()})})})}}),ec("colorIconOnly",{name:d.settings.items.showIconsColorOnly.name,desc:d.settings.items.showIconsColorOnly.desc})])}function cme(t){return Pt(d.settings.groups.general.formatting,[_e({name:d.settings.items.dateFormat.name,desc:d.settings.items.dateFormat.desc,aliases:[d.settings.items.dateFormat.momentLinkText,d.settings.items.dateFormat.helpTooltip],render:e=>vme(e,t)}),_e({name:d.settings.items.timeFormat.name,desc:d.settings.items.timeFormat.desc,aliases:[d.settings.items.timeFormat.momentLinkText,d.settings.items.timeFormat.helpTooltip],render:e=>yme(e,t)})])}function ume(t,e){let{plugin:n}=e,r=nv(n.getUIScale());_r(t,{name:d.settings.items.appearanceScale.name,desc:d.settings.items.appearanceScale.desc,value:r,defaultValue:nv(1),min:hw,max:fw,step:XP,formatValue:o=>QP(rv(o)),onChange:o=>{n.setUIScale(rv(o))}}),At({setting:t,plugin:n,settingId:"uiScale"})}function pme(t,e){let{plugin:n}=e;_r(t,{name:d.settings.items.paneTransitionDuration.name,desc:d.settings.items.paneTransitionDuration.desc,value:n.settings.paneTransitionDuration,defaultValue:Le.paneTransitionDuration,min:Dc,max:Ac,step:$P,resetTooltip:d.settings.items.paneTransitionDuration.resetTooltip,formatValue:r=>`${r}ms`,onChange:r=>{n.setPaneTransitionDuration(r)}}),At({setting:t,plugin:n,settingId:"paneTransitionDuration"})}function mme(t,e){let{plugin:n}=e;t.setName(d.settings.items.narrowSidebarTrigger.name).setDesc(d.settings.items.narrowSidebarTrigger.desc).addDropdown(r=>{r.addOptions({fitPanes:d.settings.items.narrowSidebarTrigger.options.fitPanes,customWidth:d.settings.items.narrowSidebarTrigger.options.customWidth}).setValue(n.settings.narrowSidebarTriggerMode).onChange(o=>{n.setNarrowSidebarTriggerMode(o==="customWidth"?"customWidth":"fitPanes"),e.refreshSettingsDomState()})}),At({setting:t,plugin:n,settingId:"narrowSidebarTriggerMode"})}function gme(t,e){let{plugin:n}=e;_r(t,{name:d.settings.items.narrowSidebarCustomWidth.name,desc:d.settings.items.narrowSidebarCustomWidth.desc,value:n.settings.narrowSidebarCustomWidth,defaultValue:uh,min:pm,max:mm,step:iC,resetTooltip:d.settings.items.narrowSidebarCustomWidth.resetTooltip,formatValue:Ui,onChange:r=>{n.setNarrowSidebarCustomWidth(r)}}),At({setting:t,plugin:n,settingId:"narrowSidebarCustomWidth"})}function hme(t,e){let{plugin:n}=e;t.setName(d.settings.items.homepage.name).setDesc(d.settings.items.homepage.desc).addDropdown(r=>r.addOption("none",d.settings.items.homepage.options.none).addOption("file",d.settings.items.homepage.options.file).addOption("daily-note",d.settings.items.homepage.options.dailyNote).addOption("weekly-note",d.settings.items.homepage.options.weeklyNote).addOption("monthly-note",d.settings.items.homepage.options.monthlyNote).addOption("quarterly-note",d.settings.items.homepage.options.quarterlyNote).addOption("yearly-note",d.settings.items.homepage.options.yearlyNote).setValue(n.settings.homepage.source).onChange(async o=>{av(o)&&(n.settings.homepage={...n.settings.homepage,source:o},e.refreshSettingsDomState(),await n.saveSettingsAndUpdate())})),At({setting:t,plugin:n,settingId:"homepage"})}function fme(t,e){let{plugin:n}=e;t.setName(d.settings.items.homepage.file.name),t.setDesc("");let r=t.descEl;r.empty();let o=r.createDiv(),a=null;t.addButton(i=>{i.setButtonText(d.settings.items.homepage.chooseButton),i.onClick(()=>{n.settings.homepage.source==="file"&&new Fy(e.app,s=>{n.settings.homepage={...n.settings.homepage,file:s.path},o.setText(d.settings.items.homepage.current.replace("{path}",s.path)),a?.setDisabled(!1),Q(()=>n.saveSettingsAndUpdate())}).open()})}),t.addButton(i=>{i.setButtonText(d.common.clear),a=i,i.setDisabled(!n.settings.homepage.file),i.onClick(()=>{Q(async()=>{n.settings.homepage.source!=="file"||!n.settings.homepage.file||(n.settings.homepage={...n.settings.homepage,file:null},o.setText(d.settings.items.homepage.file.empty),i.setDisabled(!0),await n.saveSettingsAndUpdate())})})}),o.setText(n.settings.homepage.file?d.settings.items.homepage.current.replace("{path}",n.settings.homepage.file):d.settings.items.homepage.file.empty)}function vme(t,e){let{plugin:n,configureDebouncedTextSetting:r}=e;r(t,d.settings.items.dateFormat.name,Qc({text:d.settings.items.dateFormat.desc,link:{text:d.settings.items.dateFormat.momentLinkText,href:Wl}}),d.settings.items.dateFormat.placeholder,()=>n.settings.dateFormat,o=>{n.settings.dateFormat=o||"MMM D, YYYY"}),t.addExtraButton(o=>o.setIcon("lucide-help-circle").setTooltip(d.settings.items.dateFormat.helpTooltip).onClick(()=>{de(d.settings.items.dateFormat.help,{timeout:Lt.NOTICE_HELP})})),t.controlEl.addClass("nn-setting-wide-input")}function yme(t,e){let{plugin:n,configureDebouncedTextSetting:r}=e;r(t,d.settings.items.timeFormat.name,Qc({text:d.settings.items.timeFormat.desc,link:{text:d.settings.items.timeFormat.momentLinkText,href:Wl}}),d.settings.items.timeFormat.placeholder,()=>n.settings.timeFormat,o=>{n.settings.timeFormat=o||"h:mm a"}),t.addExtraButton(o=>o.setIcon("lucide-help-circle").setTooltip(d.settings.items.timeFormat.helpTooltip).onClick(()=>{de(d.settings.items.timeFormat.help,{timeout:Lt.NOTICE_HELP})})),t.controlEl.addClass("nn-setting-wide-input")}function ec(t,e){return xA(t,{...e,defaultValue:Le[t]})}function Cy(t,e){return EA(t,{...e,defaultValue:Le[t]})}function bme(t,e){return _e({name:e.name,desc:e.desc,aliases:e.aliases,visible:e.visible,render:n=>{n.setName(e.name).setDesc(e.desc),n.addToggle(r=>r.setValue(e.getValue()).onChange(async o=>{e.setValue(o),await t.plugin.saveSettingsAndUpdate()}))}})}function tu(t){return Object.values(t)}var zL,nY=U(()=>{zL=require("obsidian");jl();Ee();EL();Ue();jr();ot();Fn();dm();ko();Ca();da();xn();Em();dp();RL()});function oY(t){let{containerEl:e,plugin:n,addInfoSetting:r}=t,o=tr(e),a=o(void 0),i=o(d.settings.groups.advanced.maintenance),s=o(d.settings.groups.advanced.resetSettings);a.addSetting(b=>{b.setName(d.settings.items.updateCheckOnStart.name).setDesc(d.settings.items.updateCheckOnStart.desc).addToggle(v=>v.setValue(n.settings.checkForUpdatesOnStart).onChange(async y=>{n.settings.checkForUpdatesOnStart=y,y||n.dismissPendingUpdateNotice(),await n.saveSettingsAndUpdate(),y&&await n.runReleaseUpdateCheck(!0)}))}),a.addSetting(b=>{b.setName(Xv(d.settings.items.debugLogging.name)).setDesc(d.settings.items.debugLogging.desc).addToggle(v=>v.setValue(n.isDebugLoggingEnabled()).onChange(y=>{n.setDebugLoggingEnabled(y)}))}),rY.Platform.isMobile||i.addSetting(b=>{b.setName(d.settings.items.resetPaneSeparator.name).setDesc(d.settings.items.resetPaneSeparator.desc).addButton(v=>v.setButtonText(d.settings.items.resetPaneSeparator.buttonText).onClick(()=>{let y=n.getDualPaneOrientation(),{storageKey:S}=Yd(y);ye.remove(S),de(d.settings.items.resetPaneSeparator.notice)}))}),a.addSetting(b=>{b.setName(d.settings.items.settingsTransfer.name).setDesc(d.settings.items.settingsTransfer.desc).addButton(v=>v.setButtonText(d.settings.items.settingsTransfer.importButtonText).onClick(()=>{new Qv(t.app,n).open()})).addButton(v=>v.setButtonText(d.settings.items.settingsTransfer.exportButtonText).onClick(()=>{new Zv(t.app,n).open()}))});let l=null,c=null,u=()=>{c?.setText(d.settings.items.metadataCleanup.loading),l?.setDisabled(!0)},p=({folders:b,tags:v,properties:y,files:S,pinnedNotes:w,separators:k,total:F})=>{if(!c)return;if(F===0){c.setText(d.settings.items.metadataCleanup.statusClean),l?.setDisabled(!0);return}let P=d.settings.items.metadataCleanup.statusCounts.replace("{folders}",b.toString()).replace("{tags}",v.toString()).replace("{properties}",y.toString()).replace("{files}",S.toString()).replace("{pinned}",w.toString()).replace("{separators}",k.toString());c.setText(P),l?.setDisabled(!1)},m=async()=>{u();try{let b=await n.getMetadataCleanupSummary();p(b)}catch(b){console.error("Failed to fetch metadata cleanup summary",b),c?.setText(d.settings.items.metadataCleanup.error),l?.setDisabled(!1)}},g=i.addSetting(b=>{b.setName(d.settings.items.metadataCleanup.name).setDesc(d.settings.items.metadataCleanup.desc)});g.addButton(b=>{l=b,b.setButtonText(d.settings.items.metadataCleanup.buttonText),b.setDisabled(!0),b.onClick(()=>{Q(async()=>{u();try{await n.runMetadataCleanup()}catch(v){console.error("Metadata cleanup failed",v),de(d.settings.items.metadataCleanup.error,{variant:"warning"})}finally{await m()}})})}),c=g.descEl.createDiv({cls:"setting-item-description",text:d.settings.items.metadataCleanup.loading}),Q(()=>m()),i.addSetting(b=>{b.setName(d.settings.items.rebuildCache.name).setDesc(d.settings.items.rebuildCache.desc).addButton(v=>v.setButtonText(d.settings.items.rebuildCache.buttonText).onClick(()=>{Q(async()=>{v.setDisabled(!0);try{await n.rebuildCache()}catch(y){console.error("Failed to rebuild cache from settings:",y),de(d.settings.items.rebuildCache.error,{variant:"warning"})}finally{v.setDisabled(!1)}})}))});let h=r(i.addSetting,["nn-database-stats","nn-stats-section"],()=>{}).descEl.createDiv({cls:"nn-stats-text"});t.registerStatsTextElement(h),t.requestStatisticsRefresh(),t.ensureStatisticsInterval(),s.addSetting(b=>{b.setName(d.settings.items.resetAllSettings.name).setDesc(d.settings.items.resetAllSettings.desc).addButton(v=>{v.setButtonText(d.settings.items.resetAllSettings.buttonText),v.buttonEl.addClass("mod-warning"),v.onClick(()=>{new En(t.app,d.settings.items.resetAllSettings.confirmTitle,d.settings.items.resetAllSettings.confirmMessage,async()=>{v.setDisabled(!0);try{await n.resetAllSettings(),de(d.settings.items.resetAllSettings.notice)}catch(y){console.error("Failed to reset all settings",y),de(d.settings.items.resetAllSettings.error,{variant:"warning"})}finally{v.setDisabled(!1)}},d.settings.items.resetAllSettings.confirmButtonText).open()})})})}var rY,aY=U(()=>{rY=require("obsidian");Ee();Ai();zO();ot();Jr();Fn();Jv();Xa();da()});function iY(t){let e=tr(t.containerEl);Sme(t,e),vl.Platform.isMobile?kme(t,e):(wme(t,e),Tme(t,e)),Fme(t,e),Pme(t,e),Cme(t,e)}function Sme(t,e){let{plugin:n,addToggleSetting:r}=t,o=e(void 0);r(o.addSetting,d.settings.items.createNewNotesInNewTab.name,d.settings.items.createNewNotesInNewTab.desc,()=>n.settings.createNewNotesInNewTab,s=>{n.settings.createNewNotesInNewTab=s});let a=o.addSetting(s=>{s.setName(d.settings.items.autoRevealActiveNote.name).setDesc(d.settings.items.autoRevealActiveNote.desc)}),i=xr(a,()=>n.settings.autoRevealActiveFile,async s=>{n.settings.autoRevealActiveFile=s,await n.saveSettingsAndUpdate()});new vl.Setting(i).setName(d.settings.items.autoRevealShortestPath.name).setDesc(d.settings.items.autoRevealShortestPath.desc).addToggle(s=>s.setValue(n.settings.autoRevealShortestPath).onChange(async l=>{n.settings.autoRevealShortestPath=l,await n.saveSettingsAndUpdate()})),new vl.Setting(i).setName(d.settings.items.autoRevealIgnoreRightSidebar.name).setDesc(d.settings.items.autoRevealIgnoreRightSidebar.desc).addToggle(s=>s.setValue(n.settings.autoRevealIgnoreRightSidebar).onChange(async l=>{n.settings.autoRevealIgnoreRightSidebar=l,await n.saveSettingsAndUpdate()})),new vl.Setting(i).setName(d.settings.items.autoRevealIgnoreOtherWindows.name).setDesc(d.settings.items.autoRevealIgnoreOtherWindows.desc).addToggle(s=>s.setValue(n.settings.autoRevealIgnoreOtherWindows).onChange(async l=>{n.settings.autoRevealIgnoreOtherWindows=l,await n.saveSettingsAndUpdate()}))}function wme(t,e){let{plugin:n}=t,r=e(d.settings.groups.general.keyboardNavigation);r.addSetting(u=>{u.setName(d.settings.items.multiSelectModifier.name).setDesc(d.settings.items.multiSelectModifier.desc).addDropdown(p=>p.addOption("cmdCtrl",d.settings.items.multiSelectModifier.options.cmdCtrl).addOption("optionAlt",d.settings.items.multiSelectModifier.options.optionAlt).setValue(n.settings.multiSelectModifier).onChange(async m=>{DU(m)&&(n.settings.multiSelectModifier=m,await n.saveSettingsAndUpdate())}))});let o=r.addSetting(u=>{u.setName(d.settings.items.enterToOpenFiles.name).setDesc(d.settings.items.enterToOpenFiles.desc)}),a=xr(o,()=>n.settings.enterToOpenFiles,async u=>{n.settings.enterToOpenFiles=u,await n.saveSettingsAndUpdate()}),i=u=>u==="split"||u==="window"||u==="rename"?u:"tab";new vl.Setting(a).setName(d.settings.items.shiftEnterOpenContext.name).setDesc(d.settings.items.shiftEnterOpenContext.desc).addDropdown(u=>u.addOption("tab",d.contextMenu.file.openInNewTab).addOption("split",d.contextMenu.file.openToRight).addOption("window",d.contextMenu.file.openInNewWindow).addOption("rename",d.contextMenu.file.renameFile).setValue(n.settings.shiftEnterOpenContext).onChange(async p=>{n.settings.shiftEnterOpenContext=i(p),await n.saveSettingsAndUpdate()}));let s=vl.Platform.isMacOS?d.settings.items.cmdEnterOpenContext:d.settings.items.ctrlEnterOpenContext;new vl.Setting(a).setName(s.name).setDesc(s.desc).addDropdown(u=>u.addOption("tab",d.contextMenu.file.openInNewTab).addOption("split",d.contextMenu.file.openToRight).addOption("window",d.contextMenu.file.openInNewWindow).addOption("rename",d.contextMenu.file.renameFile).setValue(n.settings.cmdCtrlEnterOpenContext).onChange(async p=>{n.settings.cmdCtrlEnterOpenContext=i(p),await n.saveSettingsAndUpdate()}));let l=e(d.settings.groups.general.mouseButtons),c=u=>u==="singlePaneSwitch"||u==="history"?u:"none";l.addSetting(u=>{u.setName(d.settings.items.mouseBackForwardAction.name).setDesc(d.settings.items.mouseBackForwardAction.desc).addDropdown(p=>p.addOption("none",d.settings.items.mouseBackForwardAction.options.none).addOption("singlePaneSwitch",d.settings.items.mouseBackForwardAction.options.singlePaneSwitch).addOption("history",d.settings.items.mouseBackForwardAction.options.history).setValue(n.settings.mouseBackForwardAction).onChange(async m=>{n.settings.mouseBackForwardAction=c(m),await n.saveSettingsAndUpdate()}))})}function Tme(t,e){let{plugin:n}=t,r=e(d.settings.groups.general.desktopAppearance),o=r.addSetting(c=>{c.setName(d.settings.items.dualPane.name).setDesc(d.settings.items.dualPane.desc).addToggle(u=>u.setValue(n.useDualPane()).onChange(p=>{n.setDualPanePreference(p)}))});At({setting:o,plugin:n,settingId:"dualPane"});let a=r.addSetting(c=>{c.setName(d.settings.items.dualPaneOrientation.name).setDesc(d.settings.items.dualPaneOrientation.desc).addDropdown(u=>{u.addOptions({horizontal:d.settings.items.dualPaneOrientation.options.horizontal,vertical:d.settings.items.dualPaneOrientation.options.vertical}).setValue(n.getDualPaneOrientation()).onChange(async p=>{let m=p==="vertical"?"vertical":"horizontal";await n.setDualPaneOrientation(m),t.refreshSettingsDomState()})})});if(At({setting:a,plugin:n,settingId:"dualPaneOrientation"}),n.getDualPaneOrientation()==="horizontal"){let c=r.addSetting(u=>{u.setName(d.settings.items.narrowSidebarLayout.name).setDesc(d.settings.items.narrowSidebarLayout.desc).addDropdown(p=>{p.addOptions({none:d.settings.items.narrowSidebarLayout.options.none,singlePane:d.settings.items.narrowSidebarLayout.options.singlePane,vertical:d.settings.items.narrowSidebarLayout.options.vertical}).setValue(n.settings.narrowSidebarLayout).onChange(m=>{let g=m==="vertical"||m==="singlePane"?m:"none";n.setNarrowSidebarLayout(g),t.refreshSettingsDomState()})})});if(At({setting:c,plugin:n,settingId:"narrowSidebarLayout"}),n.settings.narrowSidebarLayout!=="none"){let u=r.addSetting(p=>{p.setName(d.settings.items.narrowSidebarTrigger.name).setDesc(d.settings.items.narrowSidebarTrigger.desc).addDropdown(m=>{m.addOptions({fitPanes:d.settings.items.narrowSidebarTrigger.options.fitPanes,customWidth:d.settings.items.narrowSidebarTrigger.options.customWidth}).setValue(n.settings.narrowSidebarTriggerMode).onChange(g=>{n.setNarrowSidebarTriggerMode(g==="customWidth"?"customWidth":"fitPanes"),t.refreshSettingsDomState()})})});At({setting:u,plugin:n,settingId:"narrowSidebarTriggerMode"})}if(n.settings.narrowSidebarLayout!=="none"&&n.settings.narrowSidebarTriggerMode==="customWidth"){let u=r.addSetting(p=>{_r(p,{name:d.settings.items.narrowSidebarCustomWidth.name,desc:d.settings.items.narrowSidebarCustomWidth.desc,value:n.settings.narrowSidebarCustomWidth,defaultValue:uh,min:pm,max:mm,step:iC,resetTooltip:d.settings.items.narrowSidebarCustomWidth.resetTooltip,formatValue:Ui,onChange:m=>{n.setNarrowSidebarCustomWidth(m)}})});At({setting:u,plugin:n,settingId:"narrowSidebarCustomWidth"})}}r.addSetting(c=>{c.setName(d.settings.items.appearanceBackground.name).setDesc(d.settings.items.appearanceBackground.desc).addDropdown(u=>u.addOptions({separate:d.settings.items.appearanceBackground.options.separate,primary:d.settings.items.appearanceBackground.options.primary,secondary:d.settings.items.appearanceBackground.options.secondary}).setValue(n.settings.desktopBackground??"separate").onChange(async p=>{let m=p==="primary"||p==="secondary"?p:"separate";n.settings.desktopBackground=m,await n.saveSettingsAndUpdate()}))});let s=r.addSetting(c=>{c.setName(d.settings.items.showTooltips.name).setDesc(d.settings.items.showTooltips.desc)}),l=xr(s,()=>n.settings.showTooltips,async c=>{n.settings.showTooltips=c,await n.saveSettingsAndUpdate()});new vl.Setting(l).setName(d.settings.items.showTooltipPath.name).setDesc(d.settings.items.showTooltipPath.desc).addToggle(c=>c.setValue(n.settings.showTooltipPath).onChange(async u=>{n.settings.showTooltipPath=u,await n.saveSettingsAndUpdate()})),new vl.Setting(l).setName(d.settings.items.showTooltipWordCount.name).setDesc(d.settings.items.showTooltipWordCount.desc).addToggle(c=>c.setValue(n.settings.showTooltipWordCount).onChange(async u=>{n.settings.showTooltipWordCount=u,await n.saveSettingsAndUpdate()}))}function kme(t,e){let{plugin:n}=t,o=e(d.settings.groups.general.mobileAppearance).addSetting(a=>{a.setName(d.settings.items.useFloatingToolbars.name).setDesc(d.settings.items.useFloatingToolbars.desc).addToggle(i=>i.setValue(n.settings.useFloatingToolbars).onChange(s=>{n.setUseFloatingToolbars(s)}))});At({setting:o,plugin:n,settingId:"useFloatingToolbars"})}function Fme(t,e){let{plugin:n}=t,r=e(d.settings.groups.general.view),o=nv(n.getUIScale()),a=r.addSetting(h=>{_r(h,{name:d.settings.items.appearanceScale.name,desc:d.settings.items.appearanceScale.desc,value:o,defaultValue:nv(1),min:hw,max:fw,step:XP,formatValue:b=>QP(rv(b)),onChange:b=>{n.setUIScale(rv(b))}})});At({setting:a,plugin:n,settingId:"uiScale"});let i=r.addSetting(h=>{_r(h,{name:d.settings.items.paneTransitionDuration.name,desc:d.settings.items.paneTransitionDuration.desc,value:n.settings.paneTransitionDuration,defaultValue:Le.paneTransitionDuration,min:Dc,max:Ac,step:$P,resetTooltip:d.settings.items.paneTransitionDuration.resetTooltip,formatValue:b=>`${b}ms`,onChange:b=>{n.setPaneTransitionDuration(b)}})});At({setting:i,plugin:n,settingId:"paneTransitionDuration"}),r.addSetting(h=>{h.setName(d.settings.items.startView.name).setDesc(d.settings.items.startView.desc).addDropdown(b=>{b.addOptions({navigation:d.settings.items.startView.options.navigation,files:d.settings.items.startView.options.files}).setValue(n.settings.startView).onChange(async v=>{let y=v==="navigation"?"navigation":"files";n.settings.startView=y,await n.saveSettingsAndUpdate()})})});let s=r.addSetting(h=>{h.setName(d.settings.items.homepage.name)});s.setDesc(d.settings.items.homepage.desc).addDropdown(h=>h.addOption("none",d.settings.items.homepage.options.none).addOption("file",d.settings.items.homepage.options.file).addOption("daily-note",d.settings.items.homepage.options.dailyNote).addOption("weekly-note",d.settings.items.homepage.options.weeklyNote).addOption("monthly-note",d.settings.items.homepage.options.monthlyNote).addOption("quarterly-note",d.settings.items.homepage.options.quarterlyNote).addOption("yearly-note",d.settings.items.homepage.options.yearlyNote).setValue(n.settings.homepage.source).onChange(async b=>{av(b)&&(n.settings.homepage={...n.settings.homepage,source:b},f(),await n.saveSettingsAndUpdate())})),At({setting:s,plugin:n,settingId:"homepage"});let l=Qa(s),c=new vl.Setting(l),u=null,p=null;c.setName(d.settings.items.homepage.file.name),c.setDesc("");let m=c.descEl;m.empty(),u=m.createDiv(),c.addButton(h=>{h.setButtonText(d.settings.items.homepage.chooseButton),h.onClick(()=>{n.settings.homepage.source==="file"&&new Fy(t.app,b=>{n.settings.homepage={...n.settings.homepage,file:b.path},f(),Q(()=>n.saveSettingsAndUpdate())}).open()})}),c.addButton(h=>{h.setButtonText(d.common.clear),p=h,h.onClick(()=>{Q(async()=>{n.settings.homepage.source!=="file"||!n.settings.homepage.file||(n.settings.homepage={...n.settings.homepage,file:null},f(),await n.saveSettingsAndUpdate())})})});let g=Qa(s);new vl.Setting(g).setName(d.settings.items.homepage.createMissing.name).setDesc(d.settings.items.homepage.createMissing.desc).addToggle(h=>h.setValue(n.settings.homepage.createMissingPeriodicNote).onChange(async b=>{n.settings.homepage={...n.settings.homepage,createMissingPeriodicNote:b},await n.saveSettingsAndUpdate()}));let f=()=>{let h=n.settings.homepage.source==="file";Tn(l,h),Tn(g,eC(n.settings.homepage.source)),u&&u.setText(n.settings.homepage.file?d.settings.items.homepage.current.replace("{path}",n.settings.homepage.file):d.settings.items.homepage.file.empty),p&&p.setDisabled(!n.settings.homepage.file)};f(),r.addSetting(h=>{h.setName(d.settings.items.showInfoButtons.name).setDesc(d.settings.items.showInfoButtons.desc)}).addToggle(h=>h.setValue(n.settings.showInfoButtons).onChange(async b=>{n.settings.showInfoButtons=b,await n.saveSettingsAndUpdate()})),AI(h=>r.addSetting(h),n)}function Pme(t,e){let{plugin:n,addToggleSetting:r}=t,o=e(d.settings.groups.general.icons);o.addSetting(a=>{a.setName(d.settings.items.interfaceIcons.name).setDesc(d.settings.items.interfaceIcons.desc),a.addButton(i=>{i.setButtonText(d.settings.items.interfaceIcons.buttonText).onClick(()=>{Q(async()=>{let s=n.metadataService;if(!s){de(d.common.unknownError,{variant:"warning"});return}let{UXIconMapModal:l}=await Promise.resolve().then(()=>(LL(),OL));new l(t.app,{metadataService:s,initialMap:n.settings.interfaceIcons,onSave:async u=>{n.settings.interfaceIcons=u,await n.saveSettingsAndUpdate()}}).open()})})})}),r(o.addSetting,d.settings.items.showIconsColorOnly.name,d.settings.items.showIconsColorOnly.desc,()=>n.settings.colorIconOnly,a=>{n.settings.colorIconOnly=a})}function Cme(t,e){let{plugin:n,configureDebouncedTextSetting:r}=t,o=e(d.settings.groups.general.formatting),a=o.addSetting(s=>{r(s,d.settings.items.dateFormat.name,Qc({text:d.settings.items.dateFormat.desc,link:{text:d.settings.items.dateFormat.momentLinkText,href:Wl}}),d.settings.items.dateFormat.placeholder,()=>n.settings.dateFormat,l=>{n.settings.dateFormat=l||"MMM D, YYYY"})});a.addExtraButton(s=>s.setIcon("lucide-help-circle").setTooltip(d.settings.items.dateFormat.helpTooltip).onClick(()=>{de(d.settings.items.dateFormat.help,{timeout:Lt.NOTICE_HELP})})),a.controlEl.addClass("nn-setting-wide-input");let i=o.addSetting(s=>{r(s,d.settings.items.timeFormat.name,Qc({text:d.settings.items.timeFormat.desc,link:{text:d.settings.items.timeFormat.momentLinkText,href:Wl}}),d.settings.items.timeFormat.placeholder,()=>n.settings.timeFormat,l=>{n.settings.timeFormat=l||"h:mm a"})});i.addExtraButton(s=>s.setIcon("lucide-help-circle").setTooltip(d.settings.items.timeFormat.helpTooltip).onClick(()=>{de(d.settings.items.timeFormat.help,{timeout:Lt.NOTICE_HELP})})),i.controlEl.addClass("nn-setting-wide-input")}var vl,sY=U(()=>{vl=require("obsidian");jl();Ee();EL();Ue();jr();ot();Fn();dm();ko();ns();Xa();da();xn();Em();dp();RL()});function Ime(t){let e=Number.parseInt(t,10);return!Number.isFinite(e)||e<1||e>6?null:e}function xme(t){return d.settings.items.calendarWeeksToShow.options.weeksCount.replace("{count}",t.toString())}function lY(t,e,n){let{plugin:r}=t,o=e(void 0);o.addSetting(v=>{v.setName(d.settings.items.calendarEnabled.name).setDesc(d.settings.items.calendarEnabled.desc)}).addToggle(v=>v.setValue(r.settings.calendarEnabled).onChange(async y=>{r.settings.calendarEnabled=y,await r.saveSettingsAndUpdate()}));let a=o.addSetting(v=>{v.setName(d.settings.items.calendarPlacement.name).setDesc(d.settings.items.calendarPlacement.desc)});a.addDropdown(v=>{v.addOption("left-sidebar",d.settings.items.calendarPlacement.options.leftSidebar).addOption("right-sidebar",d.settings.items.calendarPlacement.options.rightSidebar).setValue(r.settings.calendarPlacement).onChange(y=>{gm(y)&&r.setCalendarPlacement(y)})}),At({setting:a,plugin:r,settingId:"calendarPlacement"}),o.addSetting(v=>{v.setName(d.settings.items.calendarConfirmBeforeCreate.name).setDesc(d.settings.items.calendarConfirmBeforeCreate.desc)}).addToggle(v=>v.setValue(r.settings.calendarConfirmBeforeCreate).onChange(async y=>{r.settings.calendarConfirmBeforeCreate=y,await r.saveSettingsAndUpdate()}));let i=e(d.settings.groups.navigation.appearance),s=qr(),l=s?[...s.locales()].sort((v,y)=>v.localeCompare(y)):[],c=typeof navigator<"u"?(navigator.language??"").toLowerCase():"",u=s?.locale()||c,p=i.addSetting(v=>{v.setName(d.settings.items.calendarLocale.name).setDesc(d.settings.items.calendarLocale.desc)});p.addDropdown(v=>{v.addOption(Nme,`${d.settings.items.calendarLocale.options.systemDefault} (${u||"en"})`);for(let y of l)v.addOption(y,y);v.setValue(r.settings.calendarLocale).onChange(async y=>{r.settings.calendarLocale=y,n.onCalendarLocaleChange(),await r.saveSettingsAndUpdate()})});let m=p.descEl.createDiv({cls:"setting-item-description nn-setting-hidden nn-setting-warning"});i.addSetting(v=>{v.setName(d.settings.items.calendarWeekendDays.name).setDesc(d.settings.items.calendarWeekendDays.desc)}).addDropdown(v=>{v.addOption("none",d.settings.items.calendarWeekendDays.options.none).addOption("sat-sun",d.settings.items.calendarWeekendDays.options.satSun).addOption("fri-sat",d.settings.items.calendarWeekendDays.options.friSat).addOption("thu-fri",d.settings.items.calendarWeekendDays.options.thuFri).setValue(r.settings.calendarWeekendDays).onChange(async y=>{uC(y)&&(r.settings.calendarWeekendDays=y,await r.saveSettingsAndUpdate())})}),i.addSetting(v=>{v.setName(d.settings.items.calendarMonthHeadingFormat.name).setDesc(d.settings.items.calendarMonthHeadingFormat.desc)}).addDropdown(v=>{v.addOption("full",d.settings.items.calendarMonthHeadingFormat.options.full).addOption("short",d.settings.items.calendarMonthHeadingFormat.options.short).setValue(r.settings.calendarMonthHeadingFormat).onChange(async y=>{pC(y)&&(r.settings.calendarMonthHeadingFormat=y,await r.saveSettingsAndUpdate())})}),i.addSetting(v=>{v.setName(d.settings.items.calendarHighlightToday.name).setDesc(d.settings.items.calendarHighlightToday.desc)}).addToggle(v=>v.setValue(r.settings.calendarHighlightToday).onChange(async y=>{r.settings.calendarHighlightToday=y,await r.saveSettingsAndUpdate()})),i.addSetting(v=>{v.setName(d.settings.items.calendarShowFeatureImage.name).setDesc(d.settings.items.calendarShowFeatureImage.desc)}).addToggle(v=>v.setValue(r.settings.calendarShowFeatureImage).onChange(async y=>{r.settings.calendarShowFeatureImage=y,await r.saveSettingsAndUpdate()})),i.addSetting(v=>{v.setName(d.settings.items.calendarShowWeekNumber.name).setDesc(d.settings.items.calendarShowWeekNumber.desc)}).addToggle(v=>v.setValue(r.settings.calendarShowWeekNumber).onChange(async y=>{r.settings.calendarShowWeekNumber=y,await r.saveSettingsAndUpdate()})),i.addSetting(v=>{v.setName(d.settings.items.calendarShowQuarter.name).setDesc(d.settings.items.calendarShowQuarter.desc)}).addToggle(v=>v.setValue(r.settings.calendarShowQuarter).onChange(async y=>{r.settings.calendarShowQuarter=y,await r.saveSettingsAndUpdate()}));let g=e(d.settings.groups.navigation.leftSidebar),f=g.addSetting(v=>{v.setName(d.settings.items.calendarLeftPlacement.name).setDesc(d.settings.items.calendarLeftPlacement.desc)});f.addDropdown(v=>{v.addOption("below",d.settings.items.calendarLeftPlacement.options.below).addOption("navigation",d.settings.items.calendarLeftPlacement.options.navigationPane).setValue(r.settings.calendarLeftPlacement).onChange(y=>{hm(y)&&r.setCalendarLeftPlacement(y)})}),At({setting:f,plugin:r,settingId:"calendarLeftPlacement"});let h=g.addSetting(v=>{v.setName(d.settings.items.calendarWeeksToShow.name).setDesc(d.settings.items.calendarWeeksToShow.desc)});return h.addDropdown(v=>{v.addOption("1",d.settings.items.calendarWeeksToShow.options.oneWeek);for(let y=2;y<=5;y++)v.addOption(String(y),xme(y));v.addOption("6",d.settings.items.calendarWeeksToShow.options.fullMonth),v.setValue(String(r.settings.calendarWeeksToShow)).onChange(y=>{let S=Ime(y);S!==null&&r.setCalendarWeeksToShow(S)})}),At({setting:h,plugin:r,settingId:"calendarWeeksToShow"}),e(d.settings.items.calendarPlacement.options.rightSidebar).addSetting(v=>{v.setName(d.settings.items.calendarShowYearCalendar.name).setDesc(d.settings.items.calendarShowYearCalendar.desc)}).addToggle(v=>v.setValue(r.settings.calendarShowYearCalendar).onChange(async y=>{r.settings.calendarShowYearCalendar=y,await r.saveSettingsAndUpdate()})),{calendarLocaleWarningEl:m}}var Nme,dY=U(()=>{Ee();Bd();da();xn();Nme="system-default"});function cY(t){let e=tr(t.containerEl),n=()=>{},{calendarLocaleWarningEl:r}=lY(t,e,{onCalendarLocaleChange:()=>n()});n=R2(t,e,{calendarLocaleWarningEl:r}),n()}var uY=U(()=>{Xa();dY();VO()});function pY(t,e){let{containerEl:n,plugin:r,addToggleSetting:o}=t,a=tr(n),i=a(e);o(i.addSetting,d.settings.items.showFolderIcons.name,d.settings.items.showFolderIcons.desc,()=>r.settings.showFolderIcons,y=>{r.settings.showFolderIcons=y}),o(i.addSetting,d.settings.items.showRootFolder.name,d.settings.items.showRootFolder.desc,()=>r.settings.showRootFolder,y=>{r.settings.showRootFolder=y}),o(i.addSetting,d.settings.items.inheritFolderColors.name,d.settings.items.inheritFolderColors.desc,()=>r.settings.inheritFolderColors,y=>{r.settings.inheritFolderColors=y});let s=i.addSetting(y=>{y.setName(d.settings.items.folderSortOrder.name).setDesc(d.settings.items.folderSortOrder.desc),y.addDropdown(S=>{S.addOption("alpha-asc",d.settings.items.folderSortOrder.options.alphaAsc).addOption("alpha-desc",d.settings.items.folderSortOrder.options.alphaDesc).setValue(r.getFolderSortOrder()).onChange(w=>{al(w)&&r.setFolderSortOrder(w)})})});At({setting:s,plugin:r,settingId:"folderSortOrder"});let l=a(d.settings.sections.folderNotes),c=null,u=l.addSetting(y=>{y.setName(d.settings.items.enableFolderNotes.name).setDesc(d.settings.items.enableFolderNotes.desc)}),p=xr(u,()=>r.settings.enableFolderNotes,async y=>{r.settings.enableFolderNotes=y,await r.saveSettingsAndUpdate(),c&&Tn(c,y)}),m=null;new Ny.Setting(p).setName(d.settings.items.folderNoteOpenLocation.name).setDesc(d.settings.items.folderNoteOpenLocation.desc).addDropdown(y=>{y.addOption("current-tab",d.settings.items.folderNoteOpenLocation.options.currentTab).addOption("new-tab",d.settings.items.folderNoteOpenLocation.options.newTab).addOption("right-sidebar",d.settings.items.folderNoteOpenLocation.options.rightSidebar).setValue(r.settings.folderNoteOpenLocation).onChange(async S=>{cC(S)&&(r.settings.folderNoteOpenLocation=S,await r.saveSettingsAndUpdate(),m&&Tn(m.settingEl,S==="right-sidebar"))})}),m=new Ny.Setting(p).setName(d.settings.items.showNearestFolderNoteInSidebar.name).setDesc(d.settings.items.showNearestFolderNoteInSidebar.desc).addToggle(y=>y.setValue(r.settings.showNearestFolderNoteInSidebar).onChange(async S=>{r.settings.showNearestFolderNoteInSidebar=S,await r.saveSettingsAndUpdate()})),Tn(m.settingEl,r.settings.folderNoteOpenLocation==="right-sidebar"),new Ny.Setting(p).setName(d.settings.items.enableFolderNoteLinks.name).setDesc(d.settings.items.enableFolderNoteLinks.desc).addToggle(y=>y.setValue(r.settings.enableFolderNoteLinks).onChange(async S=>{r.settings.enableFolderNoteLinks=S,await r.saveSettingsAndUpdate()})),new Ny.Setting(p).setName(d.settings.items.hideFolderNoteInList.name).setDesc(d.settings.items.hideFolderNoteInList.desc).addToggle(y=>y.setValue(r.settings.hideFolderNoteInList).onChange(async S=>{r.settings.hideFolderNoteInList=S,await r.saveSettingsAndUpdate()})),new Ny.Setting(p).setName(d.settings.items.pinCreatedFolderNote.name).setDesc(d.settings.items.pinCreatedFolderNote.desc).addToggle(y=>y.setValue(r.settings.pinCreatedFolderNote).onChange(async S=>{r.settings.pinCreatedFolderNote=S,await r.saveSettingsAndUpdate()}));let g=a(d.settings.sections.folderNoteFiles);c=g.rootEl,Tn(c,r.settings.enableFolderNotes),g.addSetting(y=>{y.setName(d.settings.items.folderNoteType.name).setDesc(d.settings.items.folderNoteType.desc),y.addDropdown(S=>S.addOption("ask",d.settings.items.folderNoteType.options.ask).addOption("markdown",d.settings.items.folderNoteType.options.markdown).addOption("canvas",d.settings.items.folderNoteType.options.canvas).addOption("base",d.settings.items.folderNoteType.options.base).setValue(r.settings.folderNoteType).onChange(async w=>{H2(w)&&(r.settings.folderNoteType=w,await r.saveSettingsAndUpdate())}))}),g.addSetting(y=>{t.configureDebouncedTextSetting(y,d.settings.items.folderNoteName.name,d.settings.items.folderNoteName.desc,d.settings.items.folderNoteName.placeholder,()=>r.settings.folderNoteName,S=>{r.settings.folderNoteName=S})}),g.addSetting(y=>{t.configureDebouncedTextSetting(y,d.settings.items.folderNoteNamePattern.name,d.settings.items.folderNoteNamePattern.desc,CT,()=>r.settings.folderNoteNamePattern,S=>{r.settings.folderNoteNamePattern=S})});let f=()=>{},h=g.addSetting(y=>{t.configureDebouncedTextSetting(y,d.settings.items.folderNoteTemplate.name,d.settings.items.folderNoteTemplate.desc,"",()=>r.settings.folderNoteTemplate??"",S=>{r.settings.folderNoteTemplate=Na(S)},void 0,()=>f())});h.controlEl.addClass("nn-setting-wide-input");let b=h.descEl.createDiv({cls:"setting-item-description nn-setting-hidden nn-setting-warning"}),v=h.controlEl.querySelector("input");if(f=()=>{let y=v?.value??r.settings.folderNoteTemplate??"",S=NT(y,r.settings.folderNoteType);b.setText(S?"":d.settings.items.folderNoteTemplate.formatWarning),Tn(b,!S)},v){let y=new dy(t.app,v,{getBaseFolder:()=>r.settings.calendarTemplateFolder,includeFile:S=>fl(S.extension)});v.addEventListener("input",f),v.addEventListener("click",()=>y.open())}t.registerSettingsUpdateListener("folders-folder-note-template-warning",f),f(),g.addSetting(y=>Eme(y,t))}function Eme(t,e){t.setName("").setDesc(""),t.settingEl.addClass("nn-setting-info-container"),t.descEl.empty();let n=rd(e.app)?d.settings.items.calendarCustomFilePattern.templaterSupportInstalled:d.settings.items.calendarCustomFilePattern.templaterSupportMissing;t.descEl.createEl("strong",{text:n})}var Ny,mY=U(()=>{Ny=require("obsidian");Ee();KO();cy();ap();Jc();$o();Xc();ns();Xa();da();xn()});function gY(t,e){let{containerEl:n,plugin:r}=t,i=tr(n)(e).addSetting(u=>{u.setName(d.settings.items.showProperties.name).setDesc(d.settings.items.showProperties.desc)}),s=xr(i,()=>r.settings.showProperties,async u=>{r.settings.showProperties=u,await r.saveSettingsAndUpdate()});new Wh.Setting(s).setName(d.settings.items.showPropertyIcons.name).setDesc(d.settings.items.showPropertyIcons.desc).addToggle(u=>u.setValue(r.settings.showPropertyIcons).onChange(async p=>{r.settings.showPropertyIcons=p,await r.saveSettingsAndUpdate()})),new Wh.Setting(s).setName(d.settings.items.inheritPropertyColors.name).setDesc(d.settings.items.inheritPropertyColors.desc).addToggle(u=>u.setValue(r.settings.inheritPropertyColors).onChange(async p=>{r.settings.inheritPropertyColors=p,await r.saveSettingsAndUpdate()}));let l=new Wh.Setting(s).setName(d.settings.items.propertySortOrder.name).setDesc(d.settings.items.propertySortOrder.desc).addDropdown(u=>{let p=`${d.settings.items.propertySortOrder.options.frequency} (${d.settings.items.propertySortOrder.options.lowToHigh})`,m=`${d.settings.items.propertySortOrder.options.frequency} (${d.settings.items.propertySortOrder.options.highToLow})`;u.addOption("alpha-asc",d.settings.items.propertySortOrder.options.alphaAsc).addOption("alpha-desc",d.settings.items.propertySortOrder.options.alphaDesc).addOption("frequency-asc",p).addOption("frequency-desc",m).setValue(r.getPropertySortOrder()).onChange(g=>{Ta(g)&&r.setPropertySortOrder(g)})});At({setting:l,plugin:r,settingId:"propertySortOrder"}),new Wh.Setting(s).setName(d.settings.items.showAllPropertiesFolder.name).setDesc(d.settings.items.showAllPropertiesFolder.desc).addToggle(u=>u.setValue(r.settings.showAllPropertiesFolder).onChange(async p=>{r.settings.showAllPropertiesFolder=p,await r.saveSettingsAndUpdate()})),new Wh.Setting(s).setName(d.settings.items.scopePropertiesToCurrentContext.name).setDesc(d.settings.items.scopePropertiesToCurrentContext.desc).addToggle(u=>u.setValue(r.settings.scopePropertiesToCurrentContext).onChange(async p=>{r.settings.scopePropertiesToCurrentContext=p,await r.saveSettingsAndUpdate()}));let c=new Wh.Setting(s).setName("").setDesc("");c.settingEl.addClass("nn-setting-info-container"),c.settingEl.addClass("nn-setting-property-keys-info"),c.setDesc(`${d.settings.items.showProperties.propertyKeysInfoPrefix}${d.settings.items.showProperties.propertyKeysInfoLinkText}${d.settings.items.showProperties.propertyKeysInfoSuffix}`)}var Wh,hY=U(()=>{Wh=require("obsidian");Ee();ns();Xa();da();xn()});function fY(t,e){let{containerEl:n,plugin:r}=t,i=tr(n)(e).addSetting(c=>{c.setName(d.settings.items.showTags.name).setDesc(d.settings.items.showTags.desc)}),s=xr(i,()=>r.settings.showTags,async c=>{r.settings.showTags=c,await r.saveSettingsAndUpdate(),t.notifyShowTagsVisibility(c)});new Um.Setting(s).setName(d.settings.items.showTagIcons.name).setDesc(d.settings.items.showTagIcons.desc).addToggle(c=>c.setValue(r.settings.showTagIcons).onChange(async u=>{r.settings.showTagIcons=u,await r.saveSettingsAndUpdate()})),new Um.Setting(s).setName(d.settings.items.inheritTagColors.name).setDesc(d.settings.items.inheritTagColors.desc).addToggle(c=>c.setValue(r.settings.inheritTagColors).onChange(async u=>{r.settings.inheritTagColors=u,await r.saveSettingsAndUpdate()}));let l=new Um.Setting(s).setName(d.settings.items.tagSortOrder.name).setDesc(d.settings.items.tagSortOrder.desc).addDropdown(c=>{let u=`${d.settings.items.tagSortOrder.options.frequency} (${d.settings.items.tagSortOrder.options.lowToHigh})`,p=`${d.settings.items.tagSortOrder.options.frequency} (${d.settings.items.tagSortOrder.options.highToLow})`;c.addOption("alpha-asc",d.settings.items.tagSortOrder.options.alphaAsc).addOption("alpha-desc",d.settings.items.tagSortOrder.options.alphaDesc).addOption("frequency-asc",u).addOption("frequency-desc",p).setValue(r.getTagSortOrder()).onChange(m=>{Ta(m)&&r.setTagSortOrder(m)})});At({setting:l,plugin:r,settingId:"tagSortOrder"}),new Um.Setting(s).setName(d.settings.items.showAllTagsFolder.name).setDesc(d.settings.items.showAllTagsFolder.desc).addToggle(c=>c.setValue(r.settings.showAllTagsFolder).onChange(async u=>{r.settings.showAllTagsFolder=u,await r.saveSettingsAndUpdate()})),new Um.Setting(s).setName(d.settings.items.showUntagged.name).setDesc(d.settings.items.showUntagged.desc).addToggle(c=>c.setValue(r.settings.showUntagged).onChange(async u=>{r.settings.showUntagged=u,await r.saveSettingsAndUpdate()})),new Um.Setting(s).setName(d.settings.items.scopeTagsToCurrentContext.name).setDesc(d.settings.items.scopeTagsToCurrentContext.desc).addToggle(c=>c.setValue(r.settings.scopeTagsToCurrentContext).onChange(async u=>{r.settings.scopeTagsToCurrentContext=u,await r.saveSettingsAndUpdate()})),new Um.Setting(s).setName(d.settings.items.keepEmptyTagsProperty.name).setDesc(d.settings.items.keepEmptyTagsProperty.desc).addToggle(c=>c.setValue(r.settings.keepEmptyTagsProperty).onChange(async u=>{r.settings.keepEmptyTagsProperty=u,await r.saveSettingsAndUpdate()}))}var Um,vY=U(()=>{Um=require("obsidian");Ee();ns();Xa();da();xn()});function yY(t){pY(t,d.settings.sections.folders)}function bY(t){fY(t,d.settings.sections.tags),gY(t,d.navigationPane.properties)}var SY=U(()=>{Ee();mY();hY();vY()});function wY(t){let{containerEl:e,plugin:n,configureDebouncedTextSetting:r}=t;Oo(n.settings);let a=tr(e)(void 0),i=null,s=null,l=null,c=null,u=null,p=()=>n.settings.vaultProfiles.find(y=>y.id===n.settings.vaultProfile)??n.settings.vaultProfiles[0]??null,m=()=>{let y=p();i&&(i.value=y?nr(y.hiddenFolders):""),s&&(s.value=y?nr(y.hiddenTags):""),l&&(l.value=y?nr(y.hiddenFileTags):""),c&&(c.value=y?nr(y.hiddenFileProperties):""),u&&(u.value=y?nr(y.hiddenFileNames):"")},g=a.addSetting(y=>{r(y,d.settings.items.excludedFileNamePatterns.name,d.settings.items.excludedFileNamePatterns.desc,d.settings.items.excludedFileNamePatterns.placeholder,()=>nr(p()?.hiddenFileNames??[]),S=>{let w=p();if(!w)return;let k=Fo(S);w.hiddenFileNames=Array.from(new Set(k))})});g.controlEl.addClass("nn-setting-wide-input"),u=g.controlEl.querySelector("input");let f=a.addSetting(y=>{r(y,d.settings.items.excludedFolders.name,d.settings.items.excludedFolders.desc,d.settings.items.excludedFolders.placeholder,()=>nr(p()?.hiddenFolders??[]),S=>{let w=p();if(!w)return;let k=Fo(S);w.hiddenFolders=Array.from(new Set(k))})});f.controlEl.addClass("nn-setting-wide-input"),i=f.controlEl.querySelector("input");let h=a.addSetting(y=>{r(y,d.settings.items.hiddenTags.name,d.settings.items.hiddenTags.desc,d.settings.items.hiddenTags.placeholder,()=>nr(p()?.hiddenTags??[]),S=>{let w=p();if(!w)return;let k=Fo(S).map(F=>Ze(F)).filter(F=>F!==null);w.hiddenTags=Array.from(new Set(k))})});h.controlEl.addClass("nn-setting-wide-input"),s=h.controlEl.querySelector("input");let b=a.addSetting(y=>{r(y,d.settings.items.hiddenFileTags.name,d.settings.items.hiddenFileTags.desc,d.settings.items.hiddenFileTags.placeholder,()=>nr(p()?.hiddenFileTags??[]),S=>{let w=p();if(!w)return;let k=Fo(S).map(F=>Ze(F)).filter(F=>F!==null);w.hiddenFileTags=Array.from(new Set(k))})});b.controlEl.addClass("nn-setting-wide-input"),l=b.controlEl.querySelector("input");let v=a.addSetting(y=>{r(y,d.settings.items.excludedNotes.name,d.settings.items.excludedNotes.desc,d.settings.items.excludedNotes.placeholder,()=>nr(p()?.hiddenFileProperties??[]),S=>{let w=p();if(!w)return;let k=Fo(S);w.hiddenFileProperties=Array.from(new Set(k))})});v.controlEl.addClass("nn-setting-wide-input"),c=v.controlEl.querySelector("input"),m()}var TY=U(()=>{Ee();As();Sn();dn();Xa()});var LI,Mme,OI,kY=U(()=>{LI=require("obsidian");UO();Mme=200,OI=class extends LI.AbstractInputSuggest{constructor(e,n){super(e,n),this.inputEl=n,this.limit=Mme}getSuggestions(e){let n=this.app.vault.getAllLoadedFiles().filter(r=>r instanceof LI.TFolder);return eI({items:n,query:e,limit:this.limit,getPath:r=>r.path,getDisplayPath:(r,o)=>o==="/"?"":o})}renderSuggestion(e,n){tI(e,n)}selectSuggestion(e){this.inputEl.value=e.displayPath,this.inputEl.dispatchEvent(new Event("input",{bubbles:!0})),this.close()}}});function FY(t,e){let{containerEl:n,plugin:r}=t,o=tr(n),a=o(e);a.addSetting(c=>{c.setName(d.settings.items.confirmBeforeDelete.name).setDesc(d.settings.items.confirmBeforeDelete.desc).addToggle(u=>u.setValue(r.settings.confirmBeforeDelete).onChange(async p=>{r.settings.confirmBeforeDelete=p,await r.saveSettingsAndUpdate()}))}),a.addSetting(c=>{c.setName(d.settings.items.deleteAttachments.name).setDesc(d.settings.items.deleteAttachments.desc).addDropdown(u=>{u.addOption("ask",d.settings.items.deleteAttachments.options.ask).addOption("always",d.settings.items.deleteAttachments.options.always).addOption("never",d.settings.items.deleteAttachments.options.never).setValue(r.settings.deleteAttachments).onChange(async p=>{fA(p)&&(r.settings.deleteAttachments=p,await r.saveSettingsAndUpdate())})})}),a.addSetting(c=>{c.setName(d.settings.items.moveFileConflicts.name).setDesc(d.settings.items.moveFileConflicts.desc).addDropdown(u=>{u.addOption("ask",d.settings.items.moveFileConflicts.options.ask).addOption("rename",d.settings.items.moveFileConflicts.options.rename).setValue(r.settings.moveFileConflicts).onChange(async p=>{vA(p)&&(r.settings.moveFileConflicts=p,await r.saveSettingsAndUpdate())})})});let i=o(d.settings.groups.general.templates),s=i.addSetting(c=>{t.configureDebouncedTextSetting(c,d.settings.items.calendarTemplateFolder.name,d.settings.items.calendarTemplateFolder.desc,d.settings.items.calendarTemplateFolder.placeholder,()=>Ri(r.settings.calendarTemplateFolder),u=>{r.settings.calendarTemplateFolder=Ri(u)})});s.controlEl.addClass("nn-setting-wide-input");let l=s.controlEl.querySelector("input");if(l){let c=new OI(t.app,l);l.addEventListener("click",()=>c.open())}i.addSetting(c=>Rme(c,t))}function Rme(t,e){t.setName("").setDesc(""),t.settingEl.addClass("nn-setting-info-container"),t.descEl.empty(),t.descEl.createDiv({text:d.settings.items.calendarTemplateFolder.usage});let n=rd(e.app)?d.settings.items.calendarCustomFilePattern.templaterSupportInstalled:d.settings.items.calendarCustomFilePattern.templaterSupportMissing;t.descEl.append(createEl("br"),createEl("strong",{text:n}))}var PY=U(()=>{Ee();kY();Xl();Xc();Xa();xn()});function Dme(t){return t instanceof jT.TFile&&t.extension==="md"}function BL(t,e){if(!t)return 0;let n=0;for(let r of Object.keys(t)){let o=e.vault.getAbstractFileByPath(r);Dme(o)&&(n+=1)}return n}function CY(t){let{app:e,containerEl:n,plugin:r}=t,o=null,a=null,l=tr(n)(void 0).addSetting(b=>{b.setName(d.settings.items.useFrontmatterDates.name).setDesc(d.settings.items.useFrontmatterDates.desc)}),c=xr(l,()=>r.settings.useFrontmatterMetadata,async b=>{r.settings.useFrontmatterMetadata=b,await r.saveSettingsAndUpdate(),a?.(),t.requestStatisticsRefresh()});t.createDebouncedTextSetting(c,d.settings.items.frontmatterIconField.name,d.settings.items.frontmatterIconField.desc,d.settings.items.frontmatterIconField.placeholder,()=>r.settings.frontmatterIconField,b=>{r.settings.frontmatterIconField=b||"",a?.()},void 0,()=>t.requestStatisticsRefresh()).controlEl.addClass("nn-setting-wide-input"),t.createDebouncedTextSetting(c,d.settings.items.frontmatterColorField.name,d.settings.items.frontmatterColorField.desc,d.settings.items.frontmatterColorField.placeholder,()=>r.settings.frontmatterColorField,b=>{r.settings.frontmatterColorField=b||"",a?.()},void 0,()=>t.requestStatisticsRefresh()).controlEl.addClass("nn-setting-wide-input"),t.createDebouncedTextSetting(c,d.settings.items.frontmatterBackgroundField.name,d.settings.items.frontmatterBackgroundField.desc,d.settings.items.frontmatterBackgroundField.placeholder,()=>r.settings.frontmatterBackgroundField,b=>{r.settings.frontmatterBackgroundField=b||"",a?.()},void 0,()=>t.requestStatisticsRefresh()).controlEl.addClass("nn-setting-wide-input");let g=new jT.Setting(c).setName(d.settings.items.frontmatterMigration.name);g.addButton(b=>{o=b,b.setButtonText(d.settings.items.frontmatterMigration.button),b.setCta(),b.onClick(()=>{Q(async()=>{if(r.metadataService){b.setDisabled(!0),b.setButtonText(d.settings.items.frontmatterMigration.buttonWorking);try{let v=await r.metadataService.migrateFileMetadataToFrontmatter();a?.();let{iconsBefore:y,colorsBefore:S,migratedIcons:w,migratedColors:k,failures:F}=v;if(y===0&&S===0)de(d.settings.items.frontmatterMigration.noticeNone);else if(w===0&&k===0)de(d.settings.items.frontmatterMigration.noticeNone);else{let P=d.settings.items.frontmatterMigration.noticeDone.replace("{migratedIcons}",w.toString()).replace("{icons}",y.toString()).replace("{migratedColors}",k.toString()).replace("{colors}",S.toString());F>0&&(P+=` ${d.settings.items.frontmatterMigration.noticeFailures.replace("{failures}",F.toString())}`),de(P,{variant:"success"})}}catch(v){console.error("Failed to migrate icon/color metadata to frontmatter",v),de(d.settings.items.frontmatterMigration.noticeError,{timeout:Lt.NOTICE_ERROR,variant:"warning"})}finally{b.setButtonText(d.settings.items.frontmatterMigration.button),b.setDisabled(!1),a?.(),t.requestStatisticsRefresh()}}})})}),a=()=>{let b=g.descEl;b.empty();let v=BL(r.settings.fileIcons,e),y=BL(r.settings.fileColors,e)+BL(r.settings.fileBackgroundColors,e),S=v===0&&y===0,w=r.settings.frontmatterIconField.trim().length>0,k=r.settings.frontmatterColorField.trim().length>0,F=r.settings.frontmatterBackgroundField.trim().length>0,P=w||k||F,T=r.settings.useFrontmatterMetadata,I=d.settings.items.frontmatterMigration.desc.replace("{icons}",v.toString()).replace("{colors}",y.toString());b.createDiv({text:I});let N=!S&&P&&T;o?.setDisabled(!T||!P||S),Tn(g.settingEl,N)},a(),t.createDebouncedTextSetting(c,d.settings.items.frontmatterNameField.name,d.settings.items.frontmatterNameField.desc,d.settings.items.frontmatterNameField.placeholder,()=>Bc(r.settings.frontmatterNameField),b=>{r.settings.frontmatterNameField=Bc(b)},void 0,()=>t.requestStatisticsRefresh()),t.createDebouncedTextSetting(c,d.settings.items.frontmatterCreatedField.name,d.settings.items.frontmatterCreatedField.desc,d.settings.items.frontmatterCreatedField.placeholder,()=>r.settings.frontmatterCreatedField,b=>{r.settings.frontmatterCreatedField=b},void 0,()=>t.requestStatisticsRefresh()),t.createDebouncedTextSetting(c,d.settings.items.frontmatterModifiedField.name,d.settings.items.frontmatterModifiedField.desc,d.settings.items.frontmatterModifiedField.placeholder,()=>r.settings.frontmatterModifiedField,b=>{r.settings.frontmatterModifiedField=b},void 0,()=>t.requestStatisticsRefresh()),t.createDebouncedTextSetting(c,d.settings.items.frontmatterDateFormat.name,Qc({text:d.settings.items.frontmatterDateFormat.desc,link:{text:d.settings.items.frontmatterDateFormat.momentLinkText,href:Wl}}),DC,()=>r.settings.frontmatterDateFormat,b=>{r.settings.frontmatterDateFormat=b},void 0,()=>t.requestStatisticsRefresh()).addExtraButton(b=>b.setIcon("lucide-help-circle").setTooltip(d.settings.items.frontmatterDateFormat.helpTooltip).onClick(()=>{de(d.settings.items.frontmatterDateFormat.help,{timeout:Lt.NOTICE_HELP})})).controlEl.addClass("nn-setting-wide-input");let h=new jT.Setting(c).setName("").setDesc("");h.settingEl.addClass("nn-setting-info-container"),h.descEl.empty(),h.addButton(b=>{t.registerMetadataInfoElement(h.descEl,b)})}var jT,NY=U(()=>{jT=require("obsidian");Ee();jl();Fn();Zl();jr();ot();Xa();ns();As();Em()});function IY(t){bK(t),Qj(t)}var xY=U(()=>{OA();RO()});function EY(t){let e=t.containerEl.createDiv();_L(t,e)}function _L(t,e){let{plugin:n,addInfoSetting:r}=t;e.empty();let a=tr(e)(void 0);Object.values(Bs).forEach(i=>{let s=n.isExternalIconProviderInstalled(i.id),l=n.isExternalIconProviderDownloading(i.id),c=n.getExternalIconProviderVersion(i.id),u=s?d.settings.items.externalIcons.statusInstalled.replace("{version}",c||d.settings.items.externalIcons.versionUnknown):d.settings.items.externalIcons.statusNotInstalled,p=a.addSetting(b=>{b.setName(i.name).setDesc("")}),m=p.descEl;m.empty();let g=m.createDiv(),f=i.catalogUrl,h=g.createEl("a",{text:f,href:f});h.setAttr("rel","noopener noreferrer"),h.setAttr("target","_blank"),m.createDiv({text:u}),s?p.addButton(b=>{b.setButtonText(d.settings.items.externalIcons.removeButton),b.setDisabled(l),b.onClick(()=>{Q(async()=>{b.setDisabled(!0);try{await n.removeExternalIconProvider(i.id),_L(t,e)}catch(v){console.error("Failed to remove icon provider",v),de(d.settings.items.externalIcons.removeFailed.replace("{name}",i.name),{variant:"warning"}),b.setDisabled(!1)}})})}):p.addButton(b=>{b.setButtonText(l?d.settings.items.externalIcons.downloadingLabel:d.settings.items.externalIcons.downloadButton),b.setDisabled(l),b.onClick(()=>{Q(async()=>{b.setDisabled(!0);try{await n.downloadExternalIconProvider(i.id),_L(t,e)}catch(v){console.error("Failed to download icon provider",v),de(d.settings.items.externalIcons.downloadFailed.replace("{name}",i.name),{variant:"warning"}),b.setDisabled(!1)}})})})}),r(a.addSetting,"nn-setting-info-container",i=>{i.createDiv().append(ZN({text:d.settings.items.externalIcons.infoNote,link:{text:Jf,href:Jf}}))})}var MY=U(()=>{jl();Ee();Mh();ot();Fn();Xa();Em()});function HL(t,e){let n=0;for(let r of e.matchAll(Ame)){let o=r[0],a=r[1];if(!o||a===void 0)continue;let i=r.index??-1;if(i===-1)break;i>n&&t.appendText(e.slice(n,i)),t.createEl("strong",{text:a}),n=i+o.length}n<e.length&&t.appendText(e.slice(n))}function RY(t){let{containerEl:e,plugin:n,addToggleSetting:r,addInfoSetting:o}=t,a=tr(e),i=()=>{let y=a(d.settings.groups.list.display);Km.Platform.isMobile||y.addSetting(F=>{F.setName(d.settings.items.listPaneTitle.name).setDesc(d.settings.items.listPaneTitle.desc).addDropdown(P=>P.addOption("header",d.settings.items.listPaneTitle.options.header).addOption("list",d.settings.items.listPaneTitle.options.list).addOption("hidden",d.settings.items.listPaneTitle.options.hidden).setValue(n.settings.listPaneTitle).onChange(async T=>{LU(T)&&(n.settings.listPaneTitle=T,await n.saveSettingsAndUpdate())}))}),y.addSetting(F=>{F.setName(d.settings.items.defaultListMode.name).setDesc(d.settings.items.defaultListMode.desc).addDropdown(P=>P.addOption("standard",d.settings.items.defaultListMode.options.standard).addOption("compact",d.settings.items.defaultListMode.options.compact).setValue(n.settings.defaultListMode).onChange(async T=>{BU(T)&&(n.settings.defaultListMode=T==="compact"?"compact":"standard",await n.saveSettingsAndUpdate())}))});let S=y.addSetting(F=>{_r(F,{name:d.settings.items.compactItemHeight.name,desc:d.settings.items.compactItemHeight.desc,value:n.settings.compactItemHeight,defaultValue:Le.compactItemHeight,min:20,max:28,step:1,resetTooltip:d.settings.items.compactItemHeight.resetTooltip,formatValue:Ui,onChange:P=>{n.setCompactItemHeight(P)}})});At({setting:S,plugin:n,settingId:"compactItemHeight"});let w=Qa(S),k=new Km.Setting(w).setName(d.settings.items.compactItemHeightScaleText.name).setDesc(d.settings.items.compactItemHeightScaleText.desc).addToggle(F=>F.setValue(n.settings.compactItemHeightScaleText).onChange(P=>{n.setCompactItemHeightScaleText(P)}));At({setting:k,plugin:n,settingId:"compactItemHeightScaleText"}),r(y.addSetting,d.settings.items.showSelectedNavigationPills.name,d.settings.items.showSelectedNavigationPills.desc,()=>n.settings.showSelectedNavigationPills,F=>{n.settings.showSelectedNavigationPills=F})},s=a(void 0),l=s.addSetting(y=>{y.setName(d.settings.items.includeDescendantNotes.name).setDesc(d.settings.items.includeDescendantNotes.desc).addToggle(S=>{let w=n.getUXPreferences();S.setValue(w.includeDescendantNotes).onChange(k=>{n.setIncludeDescendantNotes(k)})})});At({setting:l,plugin:n,settingId:"includeDescendantNotes"}),s.addSetting(y=>{y.setName(d.settings.items.sortNotesBy.name).setDesc(d.settings.items.sortNotesBy.desc).addDropdown(S=>{vw.forEach(k=>{k==="property-asc"||k==="property-desc"||S.addOption(k,d.settings.items.sortNotesBy.options[k])});let w=n.settings.defaultFolderSort==="property-asc"||n.settings.defaultFolderSort==="property-desc"?Le.defaultFolderSort:n.settings.defaultFolderSort;return S.setValue(w).onChange(async k=>{lh(k)&&(n.settings.defaultFolderSort=k,await n.saveSettingsAndUpdate())})})}),s.addSetting(y=>{y.setName(d.settings.items.groupNotes.name).setDesc(d.settings.items.groupNotes.desc).addDropdown(S=>S.addOption("custom",d.settings.items.groupNotes.options.custom).addOption("date",d.settings.items.groupNotes.options.date).addOption("folder",d.settings.items.groupNotes.options.folder).setValue(n.settings.noteGrouping).onChange(async w=>{yA(w)&&(n.settings.noteGrouping=w,await n.saveSettingsAndUpdate())}))}),r(s.addSetting,d.settings.items.showCurrentFolderFilesAtBottom.name,d.settings.items.showCurrentFolderFilesAtBottom.desc,()=>n.settings.showCurrentFolderFilesAtBottom,y=>{n.settings.showCurrentFolderFilesAtBottom=y});let c=a(d.settings.groups.list.groupHeaders);r(c.addSetting,d.settings.items.stickyGroupHeaders.name,d.settings.items.stickyGroupHeaders.desc,()=>n.settings.stickyGroupHeaders,y=>{n.settings.stickyGroupHeaders=y}),r(c.addSetting,d.settings.items.showFolderGroupPaths.name,d.settings.items.showFolderGroupPaths.desc,()=>n.settings.showFolderGroupPaths,y=>{n.settings.showFolderGroupPaths=y}),c.addSetting(y=>{y.setName(d.settings.items.manualSortGroupHeaderProperty.name).setDesc(d.settings.items.manualSortGroupHeaderProperty.desc).addText(S=>{let w=async()=>{let k=S.getValue().trim();if(k.length>0&&sd({manualSortGroupHeaderProperty:k,manualSortPropertyKey:n.settings.manualSortPropertyKey})===null){S.setValue(n.settings.manualSortGroupHeaderProperty);return}S.setValue(k),n.settings.manualSortGroupHeaderProperty!==k&&(n.settings.manualSortGroupHeaderProperty=k,await n.saveSettingsAndUpdate())};return S.inputEl.addEventListener("blur",()=>{Q(w)}),S.inputEl.addEventListener("keydown",k=>{k.key==="Enter"&&(k.preventDefault(),Q(w),S.inputEl.blur())}),S.setPlaceholder(Le.manualSortGroupHeaderProperty).setValue(n.settings.manualSortGroupHeaderProperty)})}),o(c.addSetting,["nn-setting-info-container","nn-setting-info-list"],y=>{let S=d.settings.items.groupHeadersInstructions;y.createDiv({text:S.intro});let w=y.createEl("ol");S.items.forEach(k=>{let F=w.createEl("li");HL(F,k)})});let u=a(d.settings.groups.list.propertySort),p=()=>{},m=u.addSetting(y=>{y.setName(d.settings.items.propertySortKey.name).setDesc(d.settings.items.propertySortKey.desc).addText(S=>{let w=async()=>{let k=S.getValue();n.settings.propertySortKey!==k&&(n.settings.propertySortKey=k,wm(n.settings),p(),await n.saveSettingsAndUpdate())};return S.inputEl.addEventListener("blur",()=>{Q(w)}),S.inputEl.addEventListener("keydown",k=>{k.key==="Enter"&&(k.preventDefault(),Q(w),S.inputEl.blur())}),S.setPlaceholder(d.settings.items.propertySortKey.placeholder).setValue(n.settings.propertySortKey)})}),g=Qa(m);p=()=>{Tn(g,n.settings.propertySortKey.trim().length>0)},new Km.Setting(g).setName(d.settings.items.propertySortSecondary.name).setDesc(d.settings.items.propertySortSecondary.desc).addDropdown(y=>(tC.forEach(S=>{y.addOption(S,d.settings.items.propertySortSecondary.options[S])}),y.setValue(n.settings.propertySortSecondary).onChange(async S=>{nC(S)&&(n.settings.propertySortSecondary=S,await n.saveSettingsAndUpdate())}))),p(),o(u.addSetting,"nn-setting-info-container",y=>{y.createDiv({text:d.settings.items.propertySortInstructions.intro})});let f=a(d.settings.groups.list.manualSort);f.addSetting(y=>{y.setName(d.settings.items.manualSortPropertyKey.name).setDesc(d.settings.items.manualSortPropertyKey.desc).addText(S=>{let w=async()=>{let k=sp(S.getValue());if(!Om(k)){S.setValue(n.settings.manualSortPropertyKey);return}S.setValue(k),n.settings.manualSortPropertyKey!==k&&(n.settings.manualSortPropertyKey=k,wm(n.settings),await n.saveSettingsAndUpdate())};return S.inputEl.addEventListener("blur",()=>{Q(w)}),S.inputEl.addEventListener("keydown",k=>{k.key==="Enter"&&(k.preventDefault(),Q(w),S.inputEl.blur())}),S.setPlaceholder(Le.manualSortPropertyKey).setValue(n.settings.manualSortPropertyKey)})}),f.addSetting(y=>{y.setName(d.settings.items.manualSortNewNotePlacement.name).setDesc(d.settings.items.manualSortNewNotePlacement.desc).addDropdown(S=>(rC.forEach(w=>{S.addOption(w,d.settings.items.manualSortNewNotePlacement.options[w])}),S.setValue(n.settings.manualSortNewNotePlacement).onChange(async w=>{oC(w)&&(n.settings.manualSortNewNotePlacement=w,await n.saveSettingsAndUpdate())})))}),r(f.addSetting,d.settings.items.confirmBeforeManualSort.name,d.settings.items.confirmBeforeManualSort.desc,()=>n.settings.confirmBeforeManualSort,y=>{n.settings.confirmBeforeManualSort=y}),o(f.addSetting,["nn-setting-info-container","nn-setting-info-list"],y=>{let S=d.settings.items.manualSortInstructions;y.createDiv({text:S.intro});let w=y.createEl("ol");S.items.forEach(k=>{let F=w.createEl("li");HL(F,k)})});let h=a(d.settings.groups.list.pinnedNotes);r(h.addSetting,d.settings.items.limitPinnedToCurrentFolder.name,d.settings.items.limitPinnedToCurrentFolder.desc,()=>n.settings.filterPinnedByFolder,y=>{n.settings.filterPinnedByFolder=y}),i();let b=a(d.settings.groups.general.behavior);if(r(b.addSetting,d.settings.items.revealFileOnListChanges.name,d.settings.items.revealFileOnListChanges.desc,()=>n.settings.revealFileOnListChanges,y=>{n.settings.revealFileOnListChanges=y}),!Km.Platform.isMobile){let y=b.addSetting(F=>{F.setName(d.settings.items.showQuickActions.name).setDesc(d.settings.items.showQuickActions.desc)});y.controlEl.addClass("nn-quick-actions-control");let S=y.controlEl.createDiv({cls:["nn-toolbar-visibility-grid","nn-quick-actions-buttons"]}),w=F=>{S.classList.toggle("is-disabled",!F),S.querySelectorAll("button").forEach(P=>{P.toggleAttribute("disabled",!F)})};[{key:"quickActionRevealInFolder",icon:"lucide-folder-search",label:d.contextMenu.file.revealInFolder},{key:"quickActionAddTag",icon:"lucide-tag",label:d.contextMenu.file.addTag},{key:"quickActionAddToShortcuts",icon:"lucide-star",label:d.shortcuts.add},{key:"quickActionPinNote",icon:"lucide-pin",label:d.contextMenu.file.pinNote},{key:"quickActionOpenInNewTab",icon:"lucide-file-plus",label:d.contextMenu.file.openInNewTab}].forEach(F=>{let P=S.createEl("button",{cls:["nn-toolbar-visibility-toggle","nn-mobile-toolbar-button"],attr:{type:"button"}});P.setAttr("aria-label",F.label),P.setAttr("title",F.label);let T=P.createSpan({cls:"nn-toolbar-visibility-icon"});(0,Km.setIcon)(T,F.icon);let I=()=>{let N=!!n.settings[F.key];P.classList.toggle("is-active",N),P.classList.toggle("nn-mobile-toolbar-button-active",N),P.setAttr("aria-pressed",N?"true":"false")};P.addEventListener("click",()=>{n.settings[F.key]=!n.settings[F.key],I(),Q(async()=>{await n.saveSettingsAndUpdate()})}),I()}),y.addToggle(F=>{F.setValue(n.settings.showQuickActions).onChange(async P=>{n.settings.showQuickActions=P,w(P),await n.saveSettingsAndUpdate()}),F.toggleEl.addClass("nn-quick-actions-master-toggle")}),w(n.settings.showQuickActions)}let v=a(d.settings.groups.list.drawingPreviews);r(v.addSetting,d.settings.items.hideDrawingPreviewImages.name,d.settings.items.hideDrawingPreviewImages.desc,()=>n.settings.hideDrawingPreviewImages,y=>{n.settings.hideDrawingPreviewImages=y}),o(v.addSetting,["nn-setting-info-container","nn-setting-info-list"],y=>{let S=d.settings.items.drawingIntegrationInfo;y.createDiv({text:S.intro});let w=y.createEl("ol");S.items.forEach(k=>{let F=w.createEl("li");HL(F,k)})})}var Km,Ame,DY=U(()=>{Km=require("obsidian");Ee();ko();xn();xn();ot();Xa();da();ns();Rn();wi();dp();Ame=/\*\*([^*]+)\*\*/g});function Ome(t){let e=zI.get(t);if(e&&e.isConnected)return e;let r=t.ownerDocument.createElement("div");return r.classList.add("nn-color-resolver"),r.setAttribute("aria-hidden","true"),t.appendChild(r),zI.set(t,r),r}function Lme(t,e){if(!e)return t;let n=Ome(e);n.style.removeProperty(AY),n.style.setProperty(AY,t);let r=window.getComputedStyle(n),o=r.color;if(o)return o;let a=r.backgroundColor;return a||t}function HY(t){let e=zI.get(t);e&&(zI.delete(t),e.parentElement&&e.parentElement.removeChild(e))}function mo(t){return Number.isNaN(t)||!Number.isFinite(t)||t<=0?0:t>=255?255:t}function Wm(t){return Number.isNaN(t)||!Number.isFinite(t)?1:t<=0?0:t>=1?1:t}function cd(t){return mo(parseInt(t,16))}function zme(t){let e=parseFloat(t);return Number.isNaN(e)||!Number.isFinite(e)?0:mo(e/100*255)}function Bme(t){let e=parseFloat(t);return Number.isNaN(e)||!Number.isFinite(e)?0:mo(e)}function _me(t){if(!t)return 1;let e=t.trim();if(e.endsWith("%")){let r=parseFloat(e.slice(0,-1));return Number.isNaN(r)||!Number.isFinite(r)?1:Wm(r/100)}let n=parseFloat(e);return Wm(n)}function jm(t,e){if(!t)return null;let n=t.trim();if(!n)return null;let r=e?.container?Lme(n,e.container):n,o=/^#([0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i.exec(r);if(o){let i=o[1];if(i.length===3){let s=i[0],l=i[1],c=i[2];return{r:cd(s+s),g:cd(l+l),b:cd(c+c),a:1}}if(i.length===4){let s=i[0],l=i[1],c=i[2],u=i[3];return{r:cd(s+s),g:cd(l+l),b:cd(c+c),a:Wm(parseInt(u+u,16)/255)}}if(i.length===6)return{r:cd(i.slice(0,2)),g:cd(i.slice(2,4)),b:cd(i.slice(4,6)),a:1};if(i.length===8)return{r:cd(i.slice(0,2)),g:cd(i.slice(2,4)),b:cd(i.slice(4,6)),a:Wm(parseInt(i.slice(6,8),16)/255)}}let a=/^rgba?\(\s*([^\s,]+)\s*,\s*([^\s,]+)\s*,\s*([^\s,]+)(?:\s*,\s*([^\s,]+))?\s*\)$/i.exec(r)||/^rgba?\(\s*([^\s,]+)\s+([^\s,]+)\s+([^\s,]+)(?:\s*\/\s*([^\s,]+))?\s*\)$/i.exec(r);if(a){let[,i,s,l,c]=a,u=p=>{let m=p.trim();return m.endsWith("%")?zme(m.slice(0,-1)):Bme(m)};return{r:u(i),g:u(s),b:u(l),a:_me(c)}}return null}function nu(t){return Number.isNaN(t)||!Number.isFinite(t)||t<=0?0:t>=1?1:t}function tc(t,e,n){return t+(e-t)*n}function BI(t){let e=Math.round(mo(t.r)),n=Math.round(mo(t.g)),r=Math.round(mo(t.b)),o=Math.round(nu(t.a)*1e3)/1e3;return`rgba(${e}, ${n}, ${r}, ${o})`}function Iy(t){let e=nu(t);return e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function VL(t){return!Number.isFinite(t)||t<=0?0:t>=1?1:t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055}function Hme(t){let e=Iy(t.r/255),n=Iy(t.g/255),r=Iy(t.b/255),o=.4122214708*e+.5363325363*n+.0514459929*r,a=.2119034982*e+.6806995451*n+.1073969566*r,i=.0883024619*e+.2817188376*n+.6299787005*r,s=Math.cbrt(o),l=Math.cbrt(a),c=Math.cbrt(i);return{l:.2104542553*s+.793617785*l-.0040720468*c,a:1.9779984951*s-2.428592205*l+.4505937099*c,b:.0259040371*s+.7827717662*l-.808675766*c}}function Vme(t){let e=t.l+.3963377774*t.a+.2158037573*t.b,n=t.l-.1055613458*t.a-.0638541728*t.b,r=t.l-.0894841775*t.a-1.291485548*t.b,o=e*e*e,a=n*n*n,i=r*r*r;return{r:4.0767416621*o-3.3077115913*a+.2309699292*i,g:-1.2684380046*o+2.6097574011*a-.3413193965*i,b:-.0041960863*o-.7034186147*a+1.707614701*i}}function Ume(t){let e=t.h*Math.PI/180;return{l:t.l,a:Math.cos(e)*t.c,b:Math.sin(e)*t.c}}function UL(t){return Vme(Ume(t))}function OY(t){return t.r>=0&&t.r<=1&&t.g>=0&&t.g<=1&&t.b>=0&&t.b<=1}function jh(t,e){let n=VL(t.r),r=VL(t.g),o=VL(t.b);return{r:n*255,g:r*255,b:o*255,a:nu(e)}}function VY(t){return{r:Iy(t.r/255),g:Iy(t.g/255),b:Iy(t.b/255)}}function UY(t){return .2126*t.r+.7152*t.g+.0722*t.b}function LY(t){return UY(VY(t))}function Kme(t,e){let n=nu(e),r=VY(t),o=UY(r);if(!Number.isFinite(o)||Math.abs(o-n)<=5e-4)return t;if(n<=0)return jh({r:0,g:0,b:0},t.a);if(n>=1)return jh({r:1,g:1,b:1},t.a);if(o<=0)return jh({r:n,g:n,b:n},t.a);if(o>n){let i=n/o;return jh({r:r.r*i,g:r.g*i,b:r.b*i},t.a)}let a=(n-o)/(1-o);return jh({r:r.r+(1-r.r)*a,g:r.g+(1-r.g)*a,b:r.b+(1-r.b)*a},t.a)}function zY(t){let e=Hme(t),n=Math.sqrt(e.a*e.a+e.b*e.b),o=((n>0?Math.atan2(e.b,e.a):0)*180/Math.PI+360)%360;return{l:e.l,c:n,h:o}}function Wme(t,e){let n=nu(t.l),r=(t.h%360+360)%360,o=Math.max(0,t.c),a={l:n,c:o,h:r},i=UL(a);if(OY(i))return jh(i,e);let s=0,l=o;for(let u=0;u<20;u++){let p=(s+l)/2,m=UL({...a,c:p});OY(m)?s=p:l=p}let c=UL({...a,c:s});return jh(c,e)}function jme(t,e,n){let r=nu(n);return{r:tc(t.r,e.r,r),g:tc(t.g,e.g,r),b:tc(t.b,e.b,r),a:tc(t.a,e.a,r)}}function BY(t){let e=mo(t.r)/255,n=mo(t.g)/255,r=mo(t.b)/255,o=Math.max(e,n,r),a=Math.min(e,n,r),i=o-a,s=(o+a)/2;if(i===0)return{h:0,s:0,l:s,a:Wm(t.a)};let l=i/(1-Math.abs(2*s-1)),c;return o===e?c=(n-r)/i%6:o===n?c=(r-e)/i+2:c=(e-n)/i+4,{h:(c*60+360)%360,s:l,l:s,a:Wm(t.a)}}function KL(t,e,n){let r=n;return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+(e-t)*6*r:r<1/2?e:r<2/3?t+(e-t)*(2/3-r)*6:t}function Gme(t){let e=(t.h%360+360)%360/360,n=nu(t.s),r=nu(t.l),o=Wm(t.a);if(n===0){let s=mo(r*255);return{r:s,g:s,b:s,a:o}}let a=r<.5?r*(1+n):r+n-r*n,i=2*r-a;return{r:mo(KL(i,a,e+1/3)*255),g:mo(KL(i,a,e)*255),b:mo(KL(i,a,e-1/3)*255),a:o}}function WL(t,e){let n=zY(t),r=zY(e),o=LY(t),a=LY(e),i=r.h-n.h;return i<0&&(i+=360),s=>{let l=nu(s);if(l<=0)return t;if(l>=1)return e;let c=(n.h+i*l)%360,u=tc(n.l,r.l,l),p=tc(n.c,r.c,l),m=Wme({l:u,c:p,h:c},tc(t.a,e.a,l)),g=tc(o,a,l);return Kme(m,g)}}function qme(t,e){let n=BY(t),r=BY(e),o=r.h-n.h;return o<0&&(o+=360),a=>{let i=nu(a);return i<=0?t:i>=1?e:Gme({h:(n.h+o*i)%360,s:tc(n.s,r.s,i),l:tc(n.l,r.l,i),a:tc(n.a,r.a,i)})}}function KY(t){let e=Math.max(2,Math.floor(t.steps)),n=e-1,r=new Array(e);if(t.style==="hue"){let o=t.balanceHueLuminance===!1?qme(t.start,t.end):WL(t.start,t.end);for(let a=0;a<e;a++)r[a]=BI(o(a/n));return r}for(let o=0;o<e;o++)r[o]=BI(jme(t.start,t.end,o/n));return r}function Gh(t){let{keys:e,palette:n,target:r}=t;if(e.length===0||n.length===0)return;let o=Math.max(1,e.length-1),a=n.length-1;for(let i=0;i<e.length;i++){let s=i/o,l=Math.min(a,Math.max(0,Math.round(s*a))),c=n[l];c&&r.set(e[i],c)}}function WY(t){let e=new Map;return Gh({...t,target:e}),e}function _Y(t){let e=Math.round(mo(t.r)),n=Math.round(mo(t.g)),r=Math.round(mo(t.b));return`rgb(${e}, ${n}, ${r})`}function jY(t,e,n=.5){return!t&&!e?!0:!t||!e?!1:Math.abs(t.r-e.r)<=n&&Math.abs(t.g-e.g)<=n&&Math.abs(t.b-e.b)<=n&&Math.abs(t.a-e.a)<=.01}function Yme(t,e){let n=Wm(e.a);if(n>=1)return{r:mo(e.r),g:mo(e.g),b:mo(e.b),a:1};if(n<=0)return{r:mo(t.r),g:mo(t.g),b:mo(t.b),a:1};let r=1-n;return{r:mo(e.r*n+t.r*r),g:mo(e.g*n+t.g*r),b:mo(e.b*n+t.b*r),a:1}}function xy(t,e,n){if(!e)return;let o=e.trim();if(!o)return;let a=jm(o,n);if(!a)return o;let i=t&&t.a>=.99?t:null;if(!i)return a.a>=1?_Y(a):o;let s=Yme(i,a);return _Y(s)}function jL({customBackgroundColor:t,taskUnfinished:e,showUnfinishedTaskBackground:n,unfinishedTaskBackgroundColor:r,getSolidBackground:o}){let a=n&&typeof e=="number"&&e>0?r:void 0;return o(a??t)}function _I(t){return!!jL(t)}var zI,AY,pp=U(()=>{zI=new WeakMap,AY="--nn-color-resolver-value"});function HI(t){let{items:e,includeItem:n,getKey:r,options:o}=t,a=[],i=new Set;for(let s of e){if(!n(s))continue;let l=r(s);!l||i.has(l)||o?.excludeKey?.(l)||(i.add(l),a.push(l))}return a}function QY(t){let{items:e,includeItem:n,getKey:r,getParentKey:o}=t,a=new Map,i=new Map;for(let s of e){if(!n(s))continue;let l=r(s);if(!l)continue;let c=o(s,l),u=i.get(c);if(u||(u=new Set,i.set(c,u)),u.has(l))continue;u.add(l);let p=a.get(c);p?p.push(l):a.set(c,[l])}return a}function ZY(t){let{groupedKeys:e,palette:n,target:r}=t;for(let o of e.values())Gh({keys:o,palette:n,target:r})}function $L(t){return WY({keys:[t.virtualRootKey,...t.keys],palette:t.palette})}function JY(t){let{scope:e,inheritColors:n,colorsByPath:r,getParentPath:o,isTerminalPath:a}=t,i=new Map;return s=>{if(e!=="root"||!n)return;if(i.has(s))return i.get(s)??void 0;let l=o(s);for(;!a(l);){let c=r.get(l);if(c)return i.set(s,c),c;l=o(l)}i.set(s,null)}}function Qme(t,e){return{start:jm(t)??qL,end:jm(e)??YL}}function GT(t){let{mode:e,section:n,isDarkTheme:r,balanceHueLuminance:o,separateThemeColors:a}=t;if(e==="none"||!n.enabled)return null;let i=a&&r,s=i?n.darkFirstColor:n.firstColor,l=i?n.darkLastColor:n.lastColor,{start:c,end:u}=Qme(s,l);return KY({steps:Xme,start:c,end:u,style:n.transitionStyle,balanceHueLuminance:o})}function e$(t,e){let n=t.mode,r=t.balanceHueLuminance,o=t.separateThemeColors;return{folder:GT({mode:n,section:t.folders,isDarkTheme:e,balanceHueLuminance:r,separateThemeColors:o}),tag:GT({mode:n,section:t.tags,isDarkTheme:e,balanceHueLuminance:r,separateThemeColors:o}),property:GT({mode:n,section:t.properties,isDarkTheme:e,balanceHueLuminance:r,separateThemeColors:o}),shortcut:GT({mode:n,section:t.shortcuts,isDarkTheme:e,balanceHueLuminance:r,separateThemeColors:o}),recent:GT({mode:n,section:t.recent,isDarkTheme:e,balanceHueLuminance:r,separateThemeColors:o})}}function GL(t){return typeof t=="string"&&t.trim().length>0}function Ey(t){let e=t.color??void 0,n=t.backgroundColor??void 0,r=t.rainbowColor;return t.mode==="none"||!GL(r)?{color:e,backgroundColor:n}:t.mode==="foreground"?GL(e)?{color:e,backgroundColor:n}:{color:r,backgroundColor:n}:GL(n)?{color:e,backgroundColor:n}:{color:e,backgroundColor:r}}function Zme(t){let{folderPath:e,scope:n,showRootFolder:r,colors:o}=t;return e==="/"?r&&n!=="child"?o.rootColor:void 0:o.colorsByPath.get(e)??o.getInheritedColor(e)}function t$(t){return Ey({mode:t.mode,rainbowColor:Zme({folderPath:t.folderPath,scope:t.scope,showRootFolder:t.showRootFolder,colors:t.colors}),color:t.color,backgroundColor:t.backgroundColor})}function n$(t){let{siblingPathsByParent:e,palette:n,scope:r,showRootFolder:o,inheritColors:a}=t,i=new Map;if(!n||n.length===0)return{colorsByPath:i,rootColor:void 0,getInheritedColor:c=>{}};let s;if(r==="root"){let c=e.get("/")??[];if(s=n[0],o){let u=$L({keys:c,palette:n,virtualRootKey:$me});c.forEach(p=>{let m=u.get(p);m&&i.set(p,m)})}else Gh({keys:c,palette:n,target:i})}else o&&r==="all"&&(s=n[0]),e.forEach((c,u)=>{u===""||r==="child"&&u==="/"||Gh({keys:c,palette:n,target:i})});let l=JY({scope:r,inheritColors:a,colorsByPath:i,getParentPath:Ds,isTerminalPath:c=>c==="/"||c===""});return{colorsByPath:i,rootColor:s,getInheritedColor:l}}function YY(t){let e=t.lastIndexOf("/");return e===-1?"":t.slice(0,e)}function VI(t){let{items:e,palette:n,scope:r,rootLevel:o,showAllTagsFolder:a,inheritColors:i}=t,s=new Map,l;if(r==="root"){let u=HI({items:e,includeItem:p=>(p.type===he.TAG||p.type===he.UNTAGGED)&&p.level===o,getKey:p=>p.type===he.TAG||p.type===he.UNTAGGED?p.data.path:void 0});l=n[0],Gh({keys:u,palette:n,target:s})}else{let u=QY({items:e,includeItem:p=>(p.type===he.TAG||p.type===he.UNTAGGED)&&(r!=="child"||p.level>o),getKey:p=>p.type===he.TAG||p.type===he.UNTAGGED?p.data.path:void 0,getParentKey:(p,m)=>YY(m)});ZY({groupedKeys:u,palette:n,target:s}),a&&r==="all"&&(l=n[0])}let c=JY({scope:r,inheritColors:i,colorsByPath:s,getParentPath:YY,isTerminalPath:u=>u===""});return{colorsByPath:s,rootColor:l,getInheritedColor:c}}function UI(t){let{items:e,palette:n,scope:r,showAllPropertiesFolder:o}=t,a=new Map,i=new Map,s;if(r==="root"){let l=HI({items:e,includeItem:c=>c.type===he.PROPERTY_KEY,getKey:c=>c.type===he.PROPERTY_KEY?c.data.id:void 0});s=n[0],Gh({keys:l,palette:n,target:a});for(let c of e){if(c.type!==he.PROPERTY_KEY)continue;let u=a.get(c.data.id);u&&i.set(c.data.key,u)}}else{let l=QY({items:e,includeItem:c=>(c.type===he.PROPERTY_KEY||c.type===he.PROPERTY_VALUE)&&(r!=="child"||c.type!==he.PROPERTY_KEY),getKey:c=>c.type===he.PROPERTY_KEY||c.type===he.PROPERTY_VALUE?c.data.id:void 0,getParentKey:(c,u)=>c.type===he.PROPERTY_KEY?"__root__":c.type===he.PROPERTY_VALUE?`key:${c.data.key}`:"__root__"});ZY({groupedKeys:l,palette:n,target:a}),o&&r==="all"&&(s=n[0])}return{colorsByNodeId:a,rootColor:s,rootColorsByKey:i}}function r$(t){let{items:e,palette:n}=t,r=HI({items:e,includeItem:s=>s.type===he.SHORTCUT_FOLDER||s.type===he.SHORTCUT_NOTE||s.type===he.SHORTCUT_SEARCH||s.type===he.SHORTCUT_TAG||s.type===he.SHORTCUT_PROPERTY,getKey:s=>s.key}),o=$L({keys:r,palette:n,virtualRootKey:GY}),a=o.get(GY)??n[0],i=new Map;for(let s of r){let l=o.get(s);l&&i.set(s,l)}return{colorsByKey:i,rootColor:a}}function o$(t){let{items:e,palette:n}=t,r=HI({items:e,includeItem:s=>s.type===he.RECENT_NOTE,getKey:s=>s.key}),o=$L({keys:r,palette:n,virtualRootKey:qY}),a=o.get(qY)??n[0],i=new Map;for(let s of r){let l=o.get(s);l&&i.set(s,l)}return{colorsByKey:i,rootColor:a}}var $Y,XY,qL,YL,$me,GY,qY,Xme,Gm=U(()=>{Ue();ko();pp();$o();$Y=jm(Pa.folders.firstColor),XY=jm(Pa.folders.lastColor);if(!$Y||!XY)throw new Error("[Notebook Navigator] Invalid nav rainbow default colors.");qL=$Y,YL=XY,$me="__nn-folder-virtual-root__",GY="__nn-shortcuts-virtual-root__",qY="__nn-recent-virtual-root__",Xme=1024});function a$(t){let{containerEl:e,plugin:n,addToggleSetting:r}=t,o=()=>nn(n.settings),a=E=>{let R=e.ownerDocument,M=R.createDocumentFragment(),C=Array.from(E),x=C.filter(ee=>ee.trim().length>0),z=Math.max(1,x.length-1),H=WL(qL,YL),Y=0;for(let ee of C){if(ee.trim().length===0){M.appendChild(R.createTextNode(ee));continue}let $=R.createElement("span"),j=H(Y/z);$.style.color=BI(j),$.setText(ee),M.appendChild($),Y+=1}return M},i=tr(e),s=i(void 0),l=i(d.settings.groups.navigation.collapseItems),c=ud.Platform.isMobile?null:i(d.settings.groups.navigation.dragAndDrop),u=i(a(d.settings.groups.navigation.rainbowColors)),p=i(d.settings.groups.navigation.noteCounts),m=i(d.settings.groups.navigation.banner),g=i(d.settings.groups.navigation.appearance),f=m.addSetting(E=>{E.setName(d.settings.items.navigationBanner.name)});f.setDesc("");let h=f.descEl;h.empty(),h.createDiv({text:d.settings.items.navigationBanner.desc});let b=h.createDiv(),v=null,y=()=>{let E=o().navigationBanner;b.setText(""),E&&b.setText(d.settings.items.navigationBanner.current.replace("{path}",E)),v&&v.setDisabled(!E)};f.addButton(E=>{E.setButtonText(d.settings.items.navigationBanner.chooseButton),E.onClick(()=>{new yy(t.app,R=>{o().navigationBanner=R.path,y(),Q(()=>n.saveSettingsAndUpdate())}).open()})}),f.addButton(E=>{E.setButtonText(d.common.clear),v=E,E.setDisabled(!o().navigationBanner),E.onClick(()=>{Q(async()=>{let R=o();R.navigationBanner&&(R.navigationBanner=null,y(),await n.saveSettingsAndUpdate())})})}),y(),t.registerSettingsUpdateListener("navigation-pane-navigation-banner",()=>{y()});let S=Qa(f),w=new ud.Setting(S).setName(d.settings.items.pinNavigationBanner.name).setDesc(d.settings.items.pinNavigationBanner.desc).addToggle(E=>E.setValue(n.settings.pinNavigationBanner).onChange(R=>{n.setPinNavigationBanner(R)}));At({setting:w,plugin:n,settingId:"pinNavigationBanner"});let k=p.addSetting(E=>{E.setName(d.settings.items.showNoteCount.name).setDesc(d.settings.items.showNoteCount.desc)}),F=xr(k,()=>n.settings.showNoteCount,async E=>{n.settings.showNoteCount=E,await n.saveSettingsAndUpdate()});new ud.Setting(F).setName(d.settings.items.separateNoteCounts.name).setDesc(d.settings.items.separateNoteCounts.desc).addToggle(E=>E.setValue(n.settings.separateNoteCounts).onChange(async R=>{n.settings.separateNoteCounts=R,await n.saveSettingsAndUpdate()})),g.addSetting(E=>{E.setName(d.settings.items.showIndentGuides.name).setDesc(d.settings.items.showIndentGuides.desc).addToggle(R=>R.setValue(n.settings.showIndentGuides).onChange(async M=>{n.settings.showIndentGuides=M,await n.saveSettingsAndUpdate()}))}),g.addSetting(E=>{E.setName(d.settings.items.navCountLeaderStyle.name).setDesc(d.settings.items.navCountLeaderStyle.desc).addDropdown(R=>R.addOptions({none:d.settings.items.navCountLeaderStyle.options.none,dots:d.settings.items.navCountLeaderStyle.options.dots,dashes:d.settings.items.navCountLeaderStyle.options.dashes,line:d.settings.items.navCountLeaderStyle.options.line}).setValue(n.settings.navCountLeaderStyle).onChange(async M=>{n.settings.navCountLeaderStyle=dC(M)?M:Le.navCountLeaderStyle,await n.saveSettingsAndUpdate()}))}),g.addSetting(E=>{_r(E,{name:d.settings.items.navRootSpacing.name,desc:d.settings.items.navRootSpacing.desc,value:n.settings.rootLevelSpacing,defaultValue:Le.rootLevelSpacing,min:0,max:12,step:1,formatValue:Ui,onChange:async R=>{n.settings.rootLevelSpacing=R,await n.saveSettingsAndUpdate()}})});let P=g.addSetting(E=>{_r(E,{name:d.settings.items.navIndent.name,desc:d.settings.items.navIndent.desc,value:n.settings.navIndent,defaultValue:Le.navIndent,min:10,max:24,step:1,formatValue:Ui,onChange:R=>{n.setNavIndent(R)}})});At({setting:P,plugin:n,settingId:"navIndent"});let T=g.addSetting(E=>{_r(E,{name:d.settings.items.navItemHeight.name,desc:d.settings.items.navItemHeight.desc,value:n.settings.navItemHeight,defaultValue:Le.navItemHeight,min:20,max:28,step:1,formatValue:Ui,onChange:R=>{n.setNavItemHeight(R)}})});At({setting:T,plugin:n,settingId:"navItemHeight"});let I=Qa(T),N=new ud.Setting(I).setName(d.settings.items.navItemHeightScaleText.name).setDesc(d.settings.items.navItemHeightScaleText.desc).addToggle(E=>E.setValue(n.settings.navItemHeightScaleText).onChange(R=>{n.setNavItemHeightScaleText(R)}));At({setting:N,plugin:n,settingId:"navItemHeightScaleText"});let O=u.addSetting(E=>{E.setName(d.settings.items.navRainbowMode.name).setDesc(d.settings.items.navRainbowMode.desc)}),K=Qa(O),G=null,X=[],L=async E=>{let R=o();R.navRainbow=E(R.navRainbow),await n.saveSettingsAndUpdate()},V=()=>{let E=o().navRainbow;Tn(K,E.mode!=="none"),G?.setValue(E.mode),X.forEach(R=>{R()})};O.addDropdown(E=>G=E.addOption("none",d.settings.items.navRainbowMode.options.none).addOption("foreground",d.settings.items.navRainbowMode.options.foreground).addOption("background",d.settings.items.navRainbowMode.options.background).setValue(o().navRainbow.mode).onChange(async R=>{iv(R)&&(await L(M=>({...M,mode:R})),Tn(K,R!=="none"))}));let D=E=>{let R=new ud.Setting(K).setName(E.name).setDesc(E.desc),M=null,C=()=>{M?.setValue(E.getEnabled())};X.push(C),R.addToggle(x=>M=x.setValue(E.getEnabled()).onChange(async z=>{await E.setEnabled(z)})),R.addButton(x=>{x.setButtonText(d.common.configure),x.onClick(E.onConfigure)})};D({name:d.settings.items.navRainbowApplyToShortcuts.name,desc:d.settings.items.navRainbowApplyToShortcuts.desc,getEnabled:()=>o().navRainbow.shortcuts.enabled,setEnabled:async E=>{await L(R=>({...R,shortcuts:{...R.shortcuts,enabled:E}}))},onConfigure:()=>{new eu(t.app,n,"shortcuts").open()}}),D({name:d.settings.items.navRainbowApplyToRecent.name,desc:d.settings.items.navRainbowApplyToRecent.desc,getEnabled:()=>o().navRainbow.recent.enabled,setEnabled:async E=>{await L(R=>({...R,recent:{...R.recent,enabled:E}}))},onConfigure:()=>{new eu(t.app,n,"recent").open()}}),D({name:d.settings.items.navRainbowApplyToFolders.name,desc:d.settings.items.navRainbowApplyToFolders.desc,getEnabled:()=>o().navRainbow.folders.enabled,setEnabled:async E=>{await L(R=>({...R,folders:{...R.folders,enabled:E}}))},onConfigure:()=>{new eu(t.app,n,"folders").open()}}),D({name:d.settings.items.navRainbowApplyToTags.name,desc:d.settings.items.navRainbowApplyToTags.desc,getEnabled:()=>o().navRainbow.tags.enabled,setEnabled:async E=>{await L(R=>({...R,tags:{...R.tags,enabled:E}}))},onConfigure:()=>{new eu(t.app,n,"tags").open()}}),D({name:d.settings.items.navRainbowApplyToProperties.name,desc:d.settings.items.navRainbowApplyToProperties.desc,getEnabled:()=>o().navRainbow.properties.enabled,setEnabled:async E=>{await L(R=>({...R,properties:{...R.properties,enabled:E}}))},onConfigure:()=>{new eu(t.app,n,"properties").open()}});let A=null;X.push(()=>{A?.setValue(o().navRainbow.balanceHueLuminance)}),new ud.Setting(K).setName(d.settings.items.navRainbowBalanceHueLuminance.name).setDesc(d.settings.items.navRainbowBalanceHueLuminance.desc).addToggle(E=>{A=E.setValue(o().navRainbow.balanceHueLuminance).onChange(async R=>{await L(M=>({...M,balanceHueLuminance:R}))})});let _=null;if(X.push(()=>{_?.setValue(o().navRainbow.separateThemeColors)}),new ud.Setting(K).setName(d.settings.items.navRainbowSeparateThemeColors.name).setDesc(d.settings.items.navRainbowSeparateThemeColors.desc).addToggle(E=>{_=E.setValue(o().navRainbow.separateThemeColors).onChange(async R=>{await L(M=>({...M,separateThemeColors:R}))})}),V(),t.registerSettingsUpdateListener("navigation-pane-nav-rainbow",()=>{V()}),ud.Platform.isMobile||r(s.addSetting,d.settings.items.autoSelectFirstFileOnFocusChange.name,d.settings.items.autoSelectFirstFileOnFocusChange.desc,()=>n.settings.autoSelectFirstFileOnFocusChange,E=>{n.settings.autoSelectFirstFileOnFocusChange=E}),r(s.addSetting,d.settings.items.autoExpandNavItems.name,d.settings.items.autoExpandNavItems.desc,()=>n.settings.autoExpandNavItems,E=>{n.settings.autoExpandNavItems=E}),r(s.addSetting,d.settings.items.collapseOtherBranchesOnExpand.name,d.settings.items.collapseOtherBranchesOnExpand.desc,()=>n.settings.collapseOtherBranchesOnExpand,E=>{n.settings.collapseOtherBranchesOnExpand=E}),l.addSetting(E=>{E.setName(d.settings.items.collapseBehavior.name).setDesc(d.settings.items.collapseBehavior.desc).addDropdown(R=>R.addOption("all",d.settings.items.collapseBehavior.options.all).addOption("folders-only",d.settings.items.collapseBehavior.options.foldersOnly).addOption("tags-only",d.settings.items.collapseBehavior.options.tagsOnly).addOption("properties-only",d.settings.items.collapseBehavior.options.propertiesOnly).setValue(n.settings.collapseBehavior).onChange(async M=>{RU(M)&&(n.settings.collapseBehavior=M,await n.saveSettingsAndUpdate())}))}),r(l.addSetting,d.settings.items.smartCollapse.name,d.settings.items.smartCollapse.desc,()=>n.settings.smartCollapse,E=>{n.settings.smartCollapse=E}),r(l.addSetting,d.settings.items.excludeVaultRootFromCollapse.name,d.settings.items.excludeVaultRootFromCollapse.desc,()=>n.settings.excludeVaultRootFromCollapse,E=>{n.settings.excludeVaultRootFromCollapse=E}),c){let E=c.addSetting(M=>{M.setName(d.settings.items.springLoadedFolders.name).setDesc(d.settings.items.springLoadedFolders.desc)}),R=xr(E,()=>n.settings.springLoadedFolders,async M=>{n.settings.springLoadedFolders=M,await n.saveSettingsAndUpdate()});Jme(new ud.Setting(R),t),ege(new ud.Setting(R),t)}}function Jme(t,e){let{plugin:n}=e;_r(t,{name:d.settings.items.springLoadedFoldersInitialDelay.name,desc:d.settings.items.springLoadedFoldersInitialDelay.desc,value:n.settings.springLoadedFoldersInitialDelay,defaultValue:Le.springLoadedFoldersInitialDelay,min:.1,max:2,step:.1,formatValue:vy,normalizeValue:r=>Math.round(r*10)/10,onChange:async r=>{n.settings.springLoadedFoldersInitialDelay=r,await n.saveSettingsAndUpdate()}})}function ege(t,e){let{plugin:n}=e;_r(t,{name:d.settings.items.springLoadedFoldersSubsequentDelay.name,desc:d.settings.items.springLoadedFoldersSubsequentDelay.desc,value:n.settings.springLoadedFoldersSubsequentDelay,defaultValue:Le.springLoadedFoldersSubsequentDelay,min:.1,max:2,step:.1,formatValue:vy,normalizeValue:r=>Math.round(r*10)/10,onChange:async r=>{n.settings.springLoadedFoldersSubsequentDelay=r,await n.saveSettingsAndUpdate()}})}var ud,i$=U(()=>{ud=require("obsidian");Ee();dL();pL();ko();xn();ot();dn();Xa();da();ns();pp();Gm();dp()});function s$(t){return gy(t,Rm)}function l$(t){return gy(t,Dm)}function tge(t){let e={none:{label:d.settings.items.fileTypeIconPreset.options.none,isInstalled:!0}};return yv.forEach(n=>{let r=Bs[n],o=t.plugin.isExternalIconProviderInstalled(n);e[n]={label:r.name,isInstalled:o}}),e}function nge(t){let{plugin:e}=t,n=e.settings.fileTypeIconPreset;return mh(n)&&!e.isExternalIconProviderInstalled(n)}function d$(t){let{app:e,containerEl:n,plugin:r}=t,o=tr(n),a=o(d.settings.groups.notes.tasks),i=o(d.settings.groups.notes.icon),s=o(d.settings.groups.notes.title),l=o(d.settings.groups.notes.previewText),c=o(d.settings.groups.notes.featureImage),u=o(d.settings.groups.notes.tags),p=o(d.settings.groups.notes.properties),m=o(d.settings.groups.notes.date),g=o(d.settings.groups.notes.parentFolder),f=o(d.settings.groups.notes.wordCount),h=(te,pe)=>{Tn(te,pe);let ve=te.previousElementSibling;ve instanceof HTMLElement&&ve.classList.contains("setting-item-heading")&&Tn(ve,pe)},b=te=>{let pe=new or.Setting(te.containerEl).setName(te.name).setDesc(te.desc),Ie=pe.controlEl.createDiv({cls:"nn-setting-color-preview"}).createEl("button",{cls:"nn-setting-color-swatch-button",attr:{type:"button","aria-label":te.name}}),qe=Ie.createDiv({cls:"nn-setting-color-swatch"}),xe=()=>{let vt=te.access.getValue();qe.style.backgroundColor=vt,Ie.setAttribute("title",vt)},Ce=()=>{Q(async()=>{if(!r.metadataService){de(d.common.unknownError,{variant:"warning"});return}let{ColorPickerModal:vt}=await Promise.resolve().then(()=>(_T(),vI));new vt(e,{title:te.name,initialColor:te.access.getValue(),settingsProvider:r.metadataService.getSettingsProvider(),onChooseColor:async Ve=>{let Ae=typeof Ve=="string"&&Ve.trim().length>0?Ve.trim():te.access.defaultValue;te.access.setValue(Ae),await r.saveSettingsAndUpdate(),xe()}}).open()})};Ie.addEventListener("click",Ce),xe(),pe.addExtraButton(vt=>{vt.setIcon("lucide-rotate-ccw").setTooltip(`${d.common.restoreDefault} (${te.access.defaultValue})`).onClick(()=>{Q(async()=>{te.access.getValue()!==te.access.defaultValue&&(te.access.setValue(te.access.defaultValue),await r.saveSettingsAndUpdate(),xe())})})})};a.addSetting(te=>{te.setName(d.settings.items.showFileIconUnfinishedTask.name).setDesc(d.settings.items.showFileIconUnfinishedTask.desc).addToggle(pe=>pe.setValue(r.settings.showFileIconUnfinishedTask).onChange(async ve=>{r.settings.showFileIconUnfinishedTask=ve,await r.saveSettingsAndUpdate()}))});let v=a.addSetting(te=>{te.setName(d.settings.items.showFileBackgroundUnfinishedTask.name).setDesc(d.settings.items.showFileBackgroundUnfinishedTask.desc)}),y=xr(v,()=>r.settings.showFileBackgroundUnfinishedTask,async te=>{r.settings.showFileBackgroundUnfinishedTask=te,await r.saveSettingsAndUpdate()});b({containerEl:y,name:d.settings.items.unfinishedTaskBackgroundColor.name,desc:d.settings.items.unfinishedTaskBackgroundColor.desc,access:{getValue:()=>r.settings.unfinishedTaskBackgroundColor,setValue:te=>{r.settings.unfinishedTaskBackgroundColor=te},defaultValue:Le.unfinishedTaskBackgroundColor}});let S=i.addSetting(te=>{te.setName(d.settings.items.showFileIcons.name).setDesc(d.settings.items.showFileIcons.desc)}),w=xr(S,()=>r.settings.showFileIcons,async te=>{r.settings.showFileIcons=te,await r.saveSettingsAndUpdate()}),k=null,F=null,P=te=>{te.setting.addExtraButton(pe=>pe.setIcon("lucide-pencil").setTooltip(te.tooltip).onClick(()=>{Q(async()=>{let ve=r.metadataService;if(!ve){de(d.common.unknownError,{variant:"warning"});return}let{FileIconRuleEditorModal:Ie}=await Promise.resolve().then(()=>(CL(),PL));new Ie(e,{title:te.title,mode:te.mode,initialMap:te.getMap(),fallbackIconId:"file",metadataService:ve,normalizeKey:te.normalizeKey,onSave:async xe=>{te.setMap(xe);let Ce=te.setting.controlEl.querySelector("textarea");Ce instanceof HTMLTextAreaElement&&(Ce.value=Oh(xe)),await r.saveSettingsAndUpdate()}}).open()})}))};new or.Setting(w).setName(d.settings.items.useFolderIcon.name).setDesc(d.settings.items.useFolderIcon.desc).addToggle(te=>te.setValue(r.settings.useFolderIconForFiles).onChange(async pe=>{r.settings.useFolderIconForFiles=pe,await r.saveSettingsAndUpdate()}));let T=new or.Setting(w).setName(d.settings.items.showFilenameMatchIcons.name).setDesc(d.settings.items.showFilenameMatchIcons.desc).addToggle(te=>te.setValue(r.settings.showFilenameMatchIcons).onChange(async pe=>{r.settings.showFilenameMatchIcons=pe,await r.saveSettingsAndUpdate(),k?.()})),I=Qa(T),N=t.createDebouncedTextAreaSetting(I,d.settings.items.fileNameIconMap.name,d.settings.items.fileNameIconMap.desc,d.settings.items.fileNameIconMap.placeholder,()=>Oh(r.settings.fileNameIconMap),te=>{let pe=l$(te);r.settings.fileNameIconMap=pe.map},{rows:3,validator:te=>l$(te).invalidLines.length===0});P({setting:N,tooltip:d.settings.items.fileNameIconMap.editTooltip,title:d.settings.items.fileNameIconMap.name,mode:"fileName",getMap:()=>r.settings.fileNameIconMap,setMap:te=>{r.settings.fileNameIconMap=te},normalizeKey:Dm}),N.controlEl.addClass("nn-setting-wide-input"),k=()=>{Tn(I,r.settings.showFilenameMatchIcons)},k();let O=new or.Setting(w).setName(d.settings.items.showCategoryIcons.name).setDesc(d.settings.items.showCategoryIcons.desc).addToggle(te=>te.setValue(r.settings.showCategoryIcons).onChange(async pe=>{r.settings.showCategoryIcons=pe,await r.saveSettingsAndUpdate(),F?.()})),K=Qa(O),G=new or.Setting(K).setName(d.settings.items.fileTypeIconPreset.name).setDesc(d.settings.items.fileTypeIconPreset.desc),X=G.descEl.createDiv({cls:"setting-item-description nn-setting-hidden nn-setting-warning"}),L=()=>{let te=nge(t);X.setText(te?d.settings.items.fileTypeIconPreset.notInstalledWarning:""),Tn(X,te)};G.addDropdown(te=>{let pe=tge(t);Object.entries(pe).forEach(([ve,Ie])=>{te.addOption(ve,Ie.label)}),Object.entries(pe).forEach(([ve,Ie])=>{if(Ie.isInstalled)return;let qe=Array.from(te.selectEl.options).find(xe=>xe.value===ve);qe&&(qe.disabled=!0)}),te.setValue(r.settings.fileTypeIconPreset).onChange(async ve=>{bv(ve)&&(r.settings.fileTypeIconPreset=ve,L(),await r.saveSettingsAndUpdate())})}),L();let V=t.createDebouncedTextAreaSetting(K,d.settings.items.fileTypeIconMap.name,d.settings.items.fileTypeIconMap.desc,d.settings.items.fileTypeIconMap.placeholder,()=>Oh(r.settings.fileTypeIconMap),te=>{let pe=s$(te);r.settings.fileTypeIconMap=pe.map},{rows:3,validator:te=>s$(te).invalidLines.length===0});P({setting:V,tooltip:d.settings.items.fileTypeIconMap.editTooltip,title:d.settings.items.fileTypeIconMap.name,mode:"fileType",getMap:()=>r.settings.fileTypeIconMap,setMap:te=>{r.settings.fileTypeIconMap=te},normalizeKey:Rm}),V.controlEl.addClass("nn-setting-wide-input"),F=()=>{Tn(K,r.settings.showCategoryIcons)},F(),s.addSetting(te=>{te.setName(d.settings.items.fileNameRows.name).setDesc(d.settings.items.fileNameRows.desc).addDropdown(pe=>pe.addOption("1",d.settings.items.fileNameRows.options[1]).addOption("2",d.settings.items.fileNameRows.options[2]).addOption("3",d.settings.items.fileNameRows.options[3]).setValue(r.settings.fileNameRows.toString()).onChange(async ve=>{r.settings.fileNameRows=parseInt(ve,10),await r.saveSettingsAndUpdate()}))}),s.addSetting(te=>{te.setName(d.settings.items.useFolderColor.name).setDesc(d.settings.items.useFolderColor.desc).addToggle(pe=>pe.setValue(r.settings.useFolderColorForTitles).onChange(async ve=>{r.settings.useFolderColorForTitles=ve,await r.saveSettingsAndUpdate()}))});let D=l.addSetting(te=>{te.setName(d.settings.items.showFilePreview.name).setDesc(d.settings.items.showFilePreview.desc)}),A=xr(D,()=>r.settings.showFilePreview,async te=>{r.settings.showFilePreview=te,await r.saveSettingsAndUpdate()});new or.Setting(A).setName(d.settings.items.previewRows.name).setDesc(d.settings.items.previewRows.desc).addDropdown(te=>te.addOption("1",d.settings.items.previewRows.options[1]).addOption("2",d.settings.items.previewRows.options[2]).addOption("3",d.settings.items.previewRows.options[3]).addOption("4",d.settings.items.previewRows.options[4]).addOption("5",d.settings.items.previewRows.options[5]).setValue(r.settings.previewRows.toString()).onChange(async pe=>{r.settings.previewRows=parseInt(pe,10),await r.saveSettingsAndUpdate()})),new or.Setting(A).setName(d.settings.items.skipHeadingsInPreview.name).setDesc(d.settings.items.skipHeadingsInPreview.desc).addToggle(te=>te.setValue(r.settings.skipHeadingsInPreview).onChange(async pe=>{r.settings.skipHeadingsInPreview=pe,await r.saveSettingsAndUpdate()})),new or.Setting(A).setName(d.settings.items.skipCodeBlocksInPreview.name).setDesc(d.settings.items.skipCodeBlocksInPreview.desc).addToggle(te=>te.setValue(r.settings.skipCodeBlocksInPreview).onChange(async pe=>{r.settings.skipCodeBlocksInPreview=pe,await r.saveSettingsAndUpdate()})),new or.Setting(A).setName(d.settings.items.stripHtmlInPreview.name).setDesc(d.settings.items.stripHtmlInPreview.desc).addToggle(te=>te.setValue(r.settings.stripHtmlInPreview).onChange(async pe=>{r.settings.stripHtmlInPreview=pe,await r.saveSettingsAndUpdate()})),new or.Setting(A).setName(d.settings.items.stripLatexInPreview.name).setDesc(d.settings.items.stripLatexInPreview.desc).addToggle(te=>te.setValue(r.settings.stripLatexInPreview).onChange(async pe=>{r.settings.stripLatexInPreview=pe,await r.saveSettingsAndUpdate()})),t.createDebouncedTextSetting(A,d.settings.items.previewProperties.name,d.settings.items.previewProperties.desc,d.settings.items.previewProperties.placeholder,()=>nr(r.settings.previewProperties),te=>{r.settings.previewProperties=Fo(te)},void 0,()=>{R()}).controlEl.addClass("nn-setting-wide-input");let E=new or.Setting(A).setName(d.settings.items.previewPropertiesFallback.name).setDesc(d.settings.items.previewPropertiesFallback.desc).addToggle(te=>te.setValue(r.settings.previewPropertiesFallback).onChange(async pe=>{r.settings.previewPropertiesFallback=pe,await r.saveSettingsAndUpdate()})),R=()=>{Tn(E.settingEl,r.settings.previewProperties.length>0)};R();let M=c.addSetting(te=>{te.setName(d.settings.items.showFeatureImage.name).setDesc(d.settings.items.showFeatureImage.desc)}),C=xr(M,()=>r.settings.showFeatureImage,async te=>{r.settings.showFeatureImage=te,await r.saveSettingsAndUpdate()});t.createDebouncedTextSetting(C,d.settings.items.featureImageProperties.name,d.settings.items.featureImageProperties.desc,d.settings.items.featureImageProperties.placeholder,()=>nr(r.settings.featureImageProperties),te=>{r.settings.featureImageProperties=Fo(te)}).controlEl.addClass("nn-setting-wide-input"),t.createDebouncedTextSetting(C,d.settings.items.featureImageExcludeProperties.name,d.settings.items.featureImageExcludeProperties.desc,d.settings.items.featureImageExcludeProperties.placeholder,()=>nr(r.settings.featureImageExcludeProperties),te=>{r.settings.featureImageExcludeProperties=Fo(te)}).controlEl.addClass("nn-setting-wide-input");let H=new or.Setting(C).setName(d.settings.items.featureImageSize.name).setDesc(d.settings.items.featureImageSize.desc).addDropdown(te=>te.addOption("64",d.settings.items.featureImageSize.options.standard).addOption("96",d.settings.items.featureImageSize.options.large).addOption("128",d.settings.items.featureImageSize.options.extraLarge).setValue(r.settings.featureImageSize).onChange(pe=>{dh(pe)&&r.setFeatureImageSize(pe)}));At({setting:H,plugin:r,settingId:"featureImageSize"});let Y=new or.Setting(C).setName(d.settings.items.featureImagePixelSize.name).setDesc(d.settings.items.featureImagePixelSize.desc).addDropdown(te=>te.addOption("256",d.settings.items.featureImagePixelSize.options.standard).addOption("384",d.settings.items.featureImagePixelSize.options.large).addOption("512",d.settings.items.featureImagePixelSize.options.extraLarge).setValue(r.settings.featureImagePixelSize).onChange(pe=>{ch(pe)&&r.setFeatureImagePixelSize(pe)}));At({setting:Y,plugin:r,settingId:"featureImagePixelSize"}),new or.Setting(C).setName(d.settings.items.forceSquareFeatureImage.name).setDesc(d.settings.items.forceSquareFeatureImage.desc).addToggle(te=>te.setValue(r.settings.forceSquareFeatureImage).onChange(async pe=>{r.settings.forceSquareFeatureImage=pe,await r.saveSettingsAndUpdate()})),new or.Setting(C).setName(d.settings.items.downloadExternalFeatureImages.name).setDesc(d.settings.items.downloadExternalFeatureImages.desc).addToggle(te=>te.setValue(r.settings.downloadExternalFeatureImages).onChange(async pe=>{r.settings.downloadExternalFeatureImages=pe,await r.saveSettingsAndUpdate()}));let ee=u.addSetting(te=>{te.setName(d.settings.items.showFileTags.name).setDesc(d.settings.items.showFileTags.desc)}),$=xr(ee,()=>r.settings.showFileTags,async te=>{r.settings.showFileTags=te,await r.saveSettingsAndUpdate()}),j=new or.Setting($).setName(d.settings.items.colorFileTags.name).setDesc(d.settings.items.colorFileTags.desc),J=xr(j,()=>r.settings.colorFileTags,async te=>{r.settings.colorFileTags=te,await r.saveSettingsAndUpdate()});new or.Setting(J).setName(d.settings.items.prioritizeColoredFileTags.name).setDesc(d.settings.items.prioritizeColoredFileTags.desc).addToggle(te=>te.setValue(r.settings.prioritizeColoredFileTags).onChange(async pe=>{r.settings.prioritizeColoredFileTags=pe,await r.saveSettingsAndUpdate()})),new or.Setting($).setName(d.settings.items.showFileTagAncestors.name).setDesc(d.settings.items.showFileTagAncestors.desc).addToggle(te=>te.setValue(r.settings.showFileTagAncestors).onChange(async pe=>{r.settings.showFileTagAncestors=pe,await r.saveSettingsAndUpdate()})),new or.Setting($).setName(d.settings.items.showFileTagsInCompactMode.name).setDesc(d.settings.items.showFileTagsInCompactMode.desc).addToggle(te=>te.setValue(r.settings.showFileTagsInCompactMode).onChange(async pe=>{r.settings.showFileTagsInCompactMode=pe,await r.saveSettingsAndUpdate()}));let re=p.addSetting(te=>{te.setName(d.settings.items.showFileProperties.name).setDesc(d.settings.items.showFileProperties.desc)}),oe=xr(re,()=>r.settings.showFileProperties,async te=>{r.settings.showFileProperties=te,await r.saveSettingsAndUpdate()}),Z=new or.Setting(oe).setName(d.settings.items.colorFileProperties.name).setDesc(d.settings.items.colorFileProperties.desc),ce=xr(Z,()=>r.settings.colorFileProperties,async te=>{r.settings.colorFileProperties=te,await r.saveSettingsAndUpdate()});new or.Setting(ce).setName(d.settings.items.prioritizeColoredFileProperties.name).setDesc(d.settings.items.prioritizeColoredFileProperties.desc).addToggle(te=>te.setValue(r.settings.prioritizeColoredFileProperties).onChange(async pe=>{r.settings.prioritizeColoredFileProperties=pe,await r.saveSettingsAndUpdate()})),new or.Setting(oe).setName(d.settings.items.showFilePropertiesInCompactMode.name).setDesc(d.settings.items.showFilePropertiesInCompactMode.desc).addToggle(te=>te.setValue(r.settings.showFilePropertiesInCompactMode).onChange(async pe=>{r.settings.showFilePropertiesInCompactMode=pe,await r.saveSettingsAndUpdate()})),new or.Setting(oe).setName(d.settings.items.showPropertiesOnSeparateRows.name).setDesc(d.settings.items.showPropertiesOnSeparateRows.desc).addToggle(te=>te.setValue(r.settings.showPropertiesOnSeparateRows).onChange(async pe=>{r.settings.showPropertiesOnSeparateRows=pe,await r.saveSettingsAndUpdate()})),new or.Setting(oe).setName(d.settings.items.enablePropertyInternalLinks.name).setDesc(d.settings.items.enablePropertyInternalLinks.desc).addToggle(te=>te.setValue(r.settings.enablePropertyInternalLinks).onChange(async pe=>{r.settings.enablePropertyInternalLinks=pe,await r.saveSettingsAndUpdate()})),new or.Setting(oe).setName(d.settings.items.enablePropertyExternalLinks.name).setDesc(d.settings.items.enablePropertyExternalLinks.desc).addToggle(te=>te.setValue(r.settings.enablePropertyExternalLinks).onChange(async pe=>{r.settings.enablePropertyExternalLinks=pe,await r.saveSettingsAndUpdate()}));let ae=m.addSetting(te=>{te.setName(d.settings.items.showFileDate.name).setDesc(d.settings.items.showFileDate.desc)}),se=xr(ae,()=>r.settings.showFileDate,async te=>{r.settings.showFileDate=te,await r.saveSettingsAndUpdate()});new or.Setting(se).setName(d.settings.items.alphabeticalDateMode.name).setDesc(d.settings.items.alphabeticalDateMode.desc).addDropdown(te=>te.addOption("created",d.settings.items.alphabeticalDateMode.options.created).addOption("modified",d.settings.items.alphabeticalDateMode.options.modified).setValue(r.settings.alphabeticalDateMode).onChange(async pe=>{r.settings.alphabeticalDateMode=pe==="modified"?"modified":"created",await r.saveSettingsAndUpdate()}));let ne=g.addSetting(te=>{te.setName(d.settings.items.showParentFolder.name).setDesc(d.settings.items.showParentFolder.desc)}),B=xr(ne,()=>r.settings.showParentFolder,async te=>{r.settings.showParentFolder=te,await r.saveSettingsAndUpdate()});new or.Setting(B).setName(d.settings.items.showParentFolderFullPath.name).setDesc(d.settings.items.showParentFolderFullPath.desc).addToggle(te=>te.setValue(r.settings.showParentFolderFullPath).onChange(async pe=>{r.settings.showParentFolderFullPath=pe,await r.saveSettingsAndUpdate()})),new or.Setting(B).setName(d.settings.items.parentFolderClickRevealsFile.name).setDesc(d.settings.items.parentFolderClickRevealsFile.desc).addToggle(te=>te.setValue(r.settings.parentFolderClickRevealsFile).onChange(async pe=>{r.settings.parentFolderClickRevealsFile=pe,await r.saveSettingsAndUpdate()})),new or.Setting(B).setName(d.settings.items.showParentFolderColor.name).setDesc(d.settings.items.showParentFolderColor.desc).addToggle(te=>te.setValue(r.settings.showParentFolderColor).onChange(async pe=>{r.settings.showParentFolderColor=pe,await r.saveSettingsAndUpdate()})),new or.Setting(B).setName(d.settings.items.showParentFolderIcon.name).setDesc(d.settings.items.showParentFolderIcon.desc).addToggle(te=>te.setValue(r.settings.showParentFolderIcon).onChange(async pe=>{r.settings.showParentFolderIcon=pe,await r.saveSettingsAndUpdate()}));let q=f.addSetting(te=>{te.setName(d.settings.items.textCountDisplay.name).setDesc(d.settings.items.textCountDisplay.desc)}),ie=Qa(q),le=ie.createDiv(),Te=ie.createDiv(),ke=()=>{Tn(ie,r.settings.textCountDisplay!=="none"),Tn(le,il(r.settings.textCountDisplay)),Tn(Te,Gl(r.settings.textCountDisplay))};ke(),q.addDropdown(te=>te.addOption("none",d.settings.items.textCountDisplay.options.none).addOption("words",d.settings.items.textCountDisplay.options.words).addOption("characters",d.settings.items.textCountDisplay.options.characters).addOption("both",d.settings.items.textCountDisplay.options.both).setValue(r.settings.textCountDisplay).onChange(async pe=>{dv(pe)&&(r.settings.textCountDisplay=pe,await r.saveSettingsAndUpdate(),ke())})),new or.Setting(ie).setName(d.settings.items.textCountPlacement.name).setDesc(d.settings.items.textCountPlacement.desc).addDropdown(te=>te.addOption("title",d.settings.items.textCountPlacement.options.title).addOption("property",d.settings.items.textCountPlacement.options.property).setValue(r.settings.textCountPlacement).onChange(async pe=>{lv(pe)&&(r.settings.textCountPlacement=pe,await r.saveSettingsAndUpdate())})),new or.Setting(Te).setName(d.settings.items.characterCountSpaces.name).setDesc(d.settings.items.characterCountSpaces.desc).addDropdown(te=>te.addOption("include",d.settings.items.characterCountSpaces.options.include).addOption("exclude",d.settings.items.characterCountSpaces.options.exclude).setValue(r.settings.characterCountSpaces).onChange(async pe=>{cv(pe)&&(r.settings.characterCountSpaces=pe,await r.saveSettingsAndUpdate())})),t.createDebouncedTextSetting(le,d.settings.items.wordCountTargetProperty.name,d.settings.items.wordCountTargetProperty.desc,Le.wordCountTargetProperty,()=>r.settings.wordCountTargetProperty,te=>{r.settings.wordCountTargetProperty=te.trim()}).controlEl.addClass("nn-setting-wide-input"),new or.Setting(le).setName(d.settings.items.showWordCountPercentage.name).setDesc(d.settings.items.showWordCountPercentage.desc).addToggle(te=>te.setValue(r.settings.showWordCountPercentage).onChange(async pe=>{r.settings.showWordCountPercentage=pe,await r.saveSettingsAndUpdate()})),t.registerShowTagsListener(te=>{h(u.rootEl,te)})}var or,c$=U(()=>{or=require("obsidian");Ee();Fn();ot();Xa();da();ns();ko();xn();Si();As();Mh();Sv()});function u$(t){let{containerEl:e,plugin:n,addToggleSetting:r}=t,o=tr(e),a=o(void 0),i=o(d.navigationPane.shortcutsHeader),s=o(d.navigationPane.recentFilesHeader);r(a.addSetting,d.settings.items.showSectionIcons.name,d.settings.items.showSectionIcons.desc,()=>n.settings.showSectionIcons,m=>{n.settings.showSectionIcons=m});let l=i.addSetting(m=>{m.setName(d.settings.items.showShortcuts.name).setDesc(d.settings.items.showShortcuts.desc)}),c=xr(l,()=>n.settings.showShortcuts,async m=>{n.settings.showShortcuts=m,await n.saveSettingsAndUpdate()});new My.Setting(c).setName(d.settings.items.shortcutBadgeDisplay.name).setDesc(d.settings.items.shortcutBadgeDisplay.desc).addDropdown(m=>m.addOption("index",d.settings.items.shortcutBadgeDisplay.options.index).addOption("count",d.settings.items.shortcutBadgeDisplay.options.count).addOption("none",d.settings.items.shortcutBadgeDisplay.options.none).setValue(n.settings.shortcutBadgeDisplay).onChange(async g=>{zU(g)&&(n.settings.shortcutBadgeDisplay=g,await n.saveSettingsAndUpdate())})),new My.Setting(c).setName(d.settings.items.skipAutoScroll.name).setDesc(d.settings.items.skipAutoScroll.desc).addToggle(m=>m.setValue(n.settings.skipAutoScroll).onChange(async g=>{n.settings.skipAutoScroll=g,await n.saveSettingsAndUpdate()}));let u=s.addSetting(m=>{m.setName(d.settings.items.showRecentNotes.name).setDesc(d.settings.items.showRecentNotes.desc)}),p=xr(u,()=>n.settings.showRecentNotes,async m=>{n.settings.showRecentNotes=m,await n.saveSettingsAndUpdate()});new My.Setting(p).setName(d.settings.items.hideRecentNotes.name).setDesc(d.settings.items.hideRecentNotes.desc).addDropdown(m=>m.addOption("none",d.settings.items.hideRecentNotes.options.none).addOption("folder-notes",d.settings.items.hideRecentNotes.options.folderNotes).setValue(n.settings.hideRecentNotes).onChange(async g=>{sv(g)&&(n.settings.hideRecentNotes=g,await n.saveSettingsAndUpdate())})),new My.Setting(p).setName(d.settings.items.pinRecentNotesWithShortcuts.name).setDesc(d.settings.items.pinRecentNotesWithShortcuts.desc).addToggle(m=>m.setValue(n.settings.pinRecentNotesWithShortcuts).onChange(async g=>{n.settings.pinRecentNotesWithShortcuts=g,await n.saveSettingsAndUpdate()})),rge(new My.Setting(p),t)}function rge(t,e){let{plugin:n}=e;_r(t,{name:d.settings.items.recentNotesCount.name,desc:d.settings.items.recentNotesCount.desc,value:n.settings.recentNotesCount,defaultValue:Le.recentNotesCount,min:1,max:10,step:1,onChange:async r=>{n.settings.recentNotesCount=r,n.applyRecentNotesLimit(),await n.saveSettingsAndUpdate()}})}var My,p$=U(()=>{My=require("obsidian");Ee();ko();ns();Xa();xn();dp()});var XL,QL,oge,Ry,m$=U(()=>{Ee();f2();A2();nG();oG();iG();dG();uG();rq();lq();jq();qq();nY();aY();sY();uY();SY();TY();PY();NY();xY();MY();DY();i$();c$();p$();XL=[{getHeading:()=>d.settings.pageGroups.configuration,items:["vault-filters","appearance-behavior","file-operations"]},{getHeading:()=>d.settings.pageGroups.navigationAndContent,items:["navigation-pane","shortcuts","folders","tags-properties"]},{getHeading:()=>d.settings.pageGroups.notesAndLists,items:["list-pane","frontmatter","notes"]},{getHeading:()=>d.settings.pageGroups.calendarAndTools,items:["calendar","icon-packs","advanced"]}],QL={general:()=>d.settings.pageDescriptions.general,"vault-filters":()=>d.settings.pageDescriptions.vaultFilters,"appearance-behavior":()=>d.settings.pageDescriptions.appearanceBehavior,"navigation-pane":()=>d.settings.pageDescriptions.navigationPane,shortcuts:()=>d.settings.pageDescriptions.shortcuts,calendar:()=>d.settings.pageDescriptions.calendar,folders:()=>d.settings.pageDescriptions.foldersAndFolderNotes,"tags-properties":()=>d.settings.pageDescriptions.tagsProperties,"file-operations":()=>d.settings.pageDescriptions.fileOperations,"list-pane":()=>d.settings.pageDescriptions.listPane,frontmatter:()=>d.settings.pageDescriptions.frontmatter,notes:()=>d.settings.pageDescriptions.notes,"icon-packs":()=>d.settings.pageDescriptions.iconPacks,advanced:()=>d.settings.pageDescriptions.advanced},oge=[{id:"general",getLabel:()=>d.settings.sections.general,render:IY},{id:"vault-filters",getLabel:()=>d.settings.sections.vaultFilters,render:wY,createDefinitions:rG},{id:"appearance-behavior",getLabel:()=>d.settings.sections.appearanceBehavior,render:iY,createDefinitions:tY},{id:"navigation-pane",getLabel:()=>d.settings.sections.navigationPane,render:a$,createDefinitions:sq},{id:"shortcuts",getLabel:()=>d.settings.sections.shortcutsAndRecentFiles,render:u$,createDefinitions:Gq},{id:"folders",getLabel:()=>d.settings.sections.foldersAndFolderNotes,render:yY,createDefinitions:eG},{id:"tags-properties",getLabel:()=>d.settings.sections.tagsAndProperties,render:bY,createDefinitions:tG},{id:"list-pane",getLabel:()=>d.settings.sections.listPane,render:RY,createDefinitions:nq},{id:"file-operations",getLabel:()=>d.settings.sections.fileOperations,render:FY,createDefinitions:aG},{id:"frontmatter",getLabel:()=>d.settings.groups.notes.frontmatter,render:CY,createDefinitions:lG},{id:"notes",getLabel:()=>d.settings.sections.notes,render:d$,createDefinitions:Kq},{id:"calendar",getLabel:()=>d.settings.sections.calendar,render:cY,createDefinitions:D2},{id:"icon-packs",getLabel:()=>d.settings.sections.icons,render:EY,createDefinitions:cG},{id:"advanced",getLabel:()=>d.settings.sections.advanced,render:oY,createDefinitions:h2}],Ry=new Map(oge.map(t=>[t.id,t]))});function ZL(t){return age.has(t)}function g$(t,e){return t[e]}function h$(t,e,n){switch(e){case"createNewNotesInNewTab":case"autoRevealActiveFile":case"autoRevealShortestPath":case"autoRevealIgnoreRightSidebar":case"autoRevealIgnoreOtherWindows":case"enterToOpenFiles":case"showTooltips":case"showTooltipPath":case"showTooltipWordCount":case"showInfoButtons":case"colorIconOnly":return sge(t,e,n);case"multiSelectModifier":return lge(t,n);case"shiftEnterOpenContext":case"cmdCtrlEnterOpenContext":return dge(t,e,n);case"mouseBackForwardAction":return cge(t,n);case"desktopBackground":return uge(t,n);case"startView":return pge(t,n)}}function f$(t){return ige.has(t)}function sge(t,e,n){return typeof n!="boolean"?!1:(t[e]=n,!0)}function lge(t,e){return mge(e)?(t.multiSelectModifier=e,!0):!1}function dge(t,e,n){let r=gge(n);return r?(t[e]=r,!0):!1}function cge(t,e){let n=hge(e);return n?(t.mouseBackForwardAction=n,!0):!1}function uge(t,e){let n=fge(e);return n?(t.desktopBackground=n,!0):!1}function pge(t,e){return e!=="navigation"&&e!=="files"?!1:(t.startView=e,!0)}function mge(t){return t==="cmdCtrl"||t==="optionAlt"}function gge(t){return t==="tab"||t==="split"||t==="window"||t==="rename"?t:null}function hge(t){return t==="none"||t==="singlePaneSwitch"||t==="history"?t:null}function fge(t){return t==="separate"||t==="primary"||t==="secondary"?t:null}var age,ige,v$=U(()=>{age=new Set(["createNewNotesInNewTab","autoRevealActiveFile","autoRevealShortestPath","autoRevealIgnoreRightSidebar","autoRevealIgnoreOtherWindows","multiSelectModifier","enterToOpenFiles","shiftEnterOpenContext","cmdCtrlEnterOpenContext","mouseBackForwardAction","desktopBackground","showTooltips","showTooltipPath","showTooltipWordCount","startView","showInfoButtons","colorIconOnly"]),ige=new Set(["autoRevealActiveFile","enterToOpenFiles","showTooltips"])});var b$={};In(b$,{DEFAULT_SETTINGS:()=>Le,NotebookNavigatorSettingTab:()=>JL});function yge(t){return t instanceof HTMLElement?!!t.closest('button, a, input, select, textarea, .clickable-icon, [contenteditable="true"]'):!1}function bge(t){return typeof t=="function"}function Sge(t){if(typeof t!="object"||t===null)return!1;let e=Reflect.get(t,"instanceOf");return typeof e!="function"?!1:Reflect.apply(e,t,[HTMLElement])===!0}function wge(){if(!(0,yl.requireApiVersion)("1.13.0"))throw new Error("Obsidian SettingPage API is unavailable.");let t=Reflect.get(vge,"SettingPage");if(!bge(t))throw new Error("Obsidian SettingPage API is unavailable.");return t}function y$(t){let e=Reflect.get(t,"containerEl");if(!Sge(e))throw new Error("Obsidian SettingPage container is unavailable.");return e}function Tge(t,e){let n=Reflect.get(e.prototype,"hide");typeof n=="function"&&Reflect.apply(n,t,[])}function kge(t){let e=wge();return new class extends e{constructor(){super(),Reflect.set(this,"title",t.title)}display(){t.display(y$(this))}hide(){Tge(this,e),t.hide(y$(this))}}}var vge,yl,JL,S$=U(()=>{vge=ue(require("obsidian")),yl=require("obsidian");jr();Ee();OA();RO();Xa();ot();Ru();o2();m$();v$();Ca();ko();JL=class extends yl.PluginSettingTab{constructor(n,r){super(n,r);this.debouncedSettingUpdates=new Map;this.showTagsListeners=[];this.currentShowTagsVisible=!1;this.settingsUpdateListenerId="settings-tab";this.tabSettingsUpdateListeners=new Map;this.settingsRenderContainerEl=null;this.activeSettingsPage=null;this.isFallbackSettingsDisplay=!1;this.legacySettingsLandingScrollTop=0;this.settingsRenderCleanupCallbacks=[];this.plugin=r,this.diagnosticsController=new qN({app:this.app,plugin:this.plugin,registerInterval:o=>this.plugin.registerInterval(o),scheduleDebouncedUpdate:(o,a)=>this.scheduleDebouncedSettingUpdate(o,a)}),this.icon=vi}ensureSettingsUpdateListener(){this.plugin.registerSettingsUpdateListener(this.settingsUpdateListenerId,()=>{if(this.plugin.isExternalSettingsUpdate()){this.refreshFromExternalSettingsUpdate();return}this.refreshNativeSettingsDomState(),Array.from(this.tabSettingsUpdateListeners.values()).forEach(r=>{try{r()}catch{}})})}refreshNativeSettingsDomState(){let n=Reflect.get(this,"refreshDomState");typeof n=="function"&&n.call(this)}refreshSettingsDomState(){if(!this.isFallbackSettingsDisplay){this.refreshNativeSettingsDomState();return}let n=this.containerEl.scrollTop,r=this.activeSettingsPage?.containerEl===this.containerEl?this.activeSettingsPage.tabId:null;r?this.renderLegacySettingsPage(r):this.renderLegacySettingsLanding(),this.containerEl.scrollTop=n}refreshFromExternalSettingsUpdate(){let n=this.settingsRenderContainerEl??this.containerEl,r=n.scrollTop;if(this.isFallbackSettingsDisplay){let o=this.activeSettingsPage?.containerEl===this.containerEl?this.activeSettingsPage.tabId:null;o?this.renderLegacySettingsPage(o):this.renderLegacySettingsLanding(),this.containerEl.scrollTop=r;return}if(this.activeSettingsPage?.containerEl.isConnected){let{tabId:o,containerEl:a}=this.activeSettingsPage;this.renderNativeSettingsPage(o,a),a.scrollTop=r;return}this.updateNativeSettingsDefinitions(),n.scrollTop=r}updateNativeSettingsDefinitions(){let n=Reflect.get(this,"update");typeof n=="function"&&n.call(this)}scheduleDebouncedSettingUpdate(n,r){let o=`setting-${n}`,a=this.debouncedSettingUpdates.get(o);a&&window.clearTimeout(a.timer);let i=window.setTimeout(()=>{let s=this.debouncedSettingUpdates.get(o);!s||s.timer!==i||(this.debouncedSettingUpdates.delete(o),Q(s.updater))},Lt.DEBOUNCE_SETTINGS);this.debouncedSettingUpdates.set(o,{timer:i,updater:r})}flushDebouncedSettingUpdates(){let n=Array.from(this.debouncedSettingUpdates.values());this.debouncedSettingUpdates.clear(),n.forEach(r=>window.clearTimeout(r.timer)),!(n.length===0||this.plugin.isShuttingDown())&&Q(async()=>{for(let{updater:r}of n)await r()})}addToggleSetting(n,r,o,a,i,s){return n(l=>{l.setName(r).setDesc(o),l.addToggle(c=>c.setValue(a()).onChange(async u=>{i(u),await this.plugin.saveSettingsAndUpdate(),s?.()}))})}addInfoSetting(n,r,o){return n(a=>{a.setName("").setDesc("");let i=typeof r=="string"?r.split(/\s+/):r;for(let l of i)l&&a.settingEl.addClass(l);let s=a.descEl;s.empty(),o(s)})}createDebouncedTextSetting(n,r,o,a,i,s,l,c){return this.configureDebouncedTextSetting(new yl.Setting(n),r,o,a,i,s,l,c)}configureDebouncedTextSetting(n,r,o,a,i,s,l,c){return n.setName(r).setDesc(o).addText(u=>u.setPlaceholder(a).setValue(i()).onChange(p=>{this.scheduleDebouncedSettingUpdate(r,async()=>{(!l||l(p))&&(s(p),await this.plugin.saveSettingsAndUpdate(),c?.())})}))}createDebouncedTextAreaSetting(n,r,o,a,i,s,l){return this.configureDebouncedTextAreaSetting(new yl.Setting(n),r,o,a,i,s,l)}configureDebouncedTextAreaSetting(n,r,o,a,i,s,l){let c=l?.rows??4;return n.setName(r).setDesc(o).addTextArea(u=>{u.setPlaceholder(a),u.setValue(i()),u.inputEl.rows=c,u.onChange(p=>{this.scheduleDebouncedSettingUpdate(r,async()=>{let m=l?.validator;(!m||m(p))&&(s(p),await this.plugin.saveSettingsAndUpdate(),l?.onAfterUpdate?.())})})})}display(){this.renderLegacySettingsLanding()}renderLegacySettingsLanding(){this.ensureSettingsUpdateListener(),this.isFallbackSettingsDisplay=!0,this.activeSettingsPage=null,this.prepareSettingsRender(this.containerEl),Ry.get("general")?.render(this.createTabContext(this.containerEl));let r=tr(this.containerEl);XL.forEach(o=>{let a=r(o.getHeading());o.items.forEach(i=>{this.addLegacySettingsPageLink(a.addSetting,i)})})}addLegacySettingsPageLink(n,r){let o=Ry.get(r);if(!o)return;let a=o.getLabel(),i=n(s=>{s.setName(a).setDesc(QL[r]()),s.addExtraButton(l=>{l.setIcon("lucide-chevron-right").onClick(()=>this.openLegacySettingsPage(r)),l.extraSettingsEl.setAttr("aria-label",a)})});i.settingEl.addClass("nn-settings-legacy-page-link"),i.settingEl.tabIndex=0,i.settingEl.setAttr("role","button"),i.settingEl.setAttr("aria-label",a),i.settingEl.addEventListener("click",s=>{yge(s.target)||this.openLegacySettingsPage(r)}),i.settingEl.addEventListener("keydown",s=>{s.key!=="Enter"&&s.key!==" "||(s.preventDefault(),this.openLegacySettingsPage(r))})}openLegacySettingsPage(n){this.legacySettingsLandingScrollTop=this.containerEl.scrollTop,this.renderLegacySettingsPage(n)}returnToLegacySettingsLanding(){let n=this.legacySettingsLandingScrollTop;this.renderLegacySettingsLanding(),this.containerEl.scrollTop=n}renderLegacySettingsPage(n){let r=Ry.get(n);r&&(this.ensureSettingsUpdateListener(),this.isFallbackSettingsDisplay=!0,this.prepareSettingsRender(this.containerEl),this.activeSettingsPage={tabId:n,containerEl:this.containerEl},this.renderLegacySettingsPageTitle(r.getLabel()),this.diagnosticsController.handleTabActivation(n),r.render(this.createTabContext(this.containerEl)),this.containerEl.scrollTop=0)}renderLegacySettingsPageTitle(n){let r=new yl.Setting(this.containerEl).setName(n).setHeading();r.settingEl.addClass("nn-settings-legacy-titlebar"),r.nameEl.empty();let o=new yl.ButtonComponent(r.nameEl);o.setIcon("lucide-chevron-left").setTooltip(d.commands.navigateBack).onClick(()=>this.returnToLegacySettingsLanding()),o.buttonEl.addClass("clickable-icon"),o.buttonEl.addClass("nn-settings-legacy-back-button"),o.buttonEl.setAttr("aria-label",d.commands.navigateBack),r.nameEl.createSpan({text:n})}getSettingDefinitions(){if(!(0,yl.requireApiVersion)("1.13.0"))return[];this.isFallbackSettingsDisplay=!1;let n=this.createTabContext(this.containerEl),r=[...SK(n),...Zj(n),...XL.map(o=>({type:"group",heading:o.getHeading(),items:o.items.map(a=>this.createNativeSettingsPageDefinition(a))}))];return this.createNativeDefinitionItems(r,()=>this.prepareNativeSettingsIndexRender(),()=>this.finishNativeSettingsIndexRender())}getControlValue(n){return ZL(n)?g$(this.plugin.settings,n):RA(n)?gK(this.plugin.settings,n):this.getObsidianControlValue(n)}async setControlValue(n,r){if(ZL(n)){if(!h$(this.plugin.settings,n,r))return;f$(n)&&this.refreshNativeSettingsDomState(),await this.plugin.saveSettingsAndUpdate();return}if(!RA(n)){await this.setObsidianControlValue(n,r);return}hK(this.plugin.settings,n,r)&&(this.handleNativeSettingControlPreSaveSideEffects(n),pK.has(n)&&this.refreshNativeSettingsDomState(),await this.plugin.saveSettingsAndUpdate(),await this.handleNativeSettingControlPostSaveSideEffects(n))}getObsidianControlValue(n){if((0,yl.requireApiVersion)("1.13.0"))return super.getControlValue(n)}async setObsidianControlValue(n,r){(0,yl.requireApiVersion)("1.13.0")&&await super.setControlValue(n,r)}handleNativeSettingControlPreSaveSideEffects(n){if(n==="showTags"){this.currentShowTagsVisible=this.plugin.settings.showTags,this.showTagsListeners.forEach(r=>r(this.currentShowTagsVisible));return}n==="checkForUpdatesOnStart"&&!this.plugin.settings.checkForUpdatesOnStart&&this.plugin.dismissPendingUpdateNotice()}async handleNativeSettingControlPostSaveSideEffects(n){n==="checkForUpdatesOnStart"&&this.plugin.settings.checkForUpdatesOnStart&&await this.plugin.runReleaseUpdateCheck(!0)}createNativeSettingsPageDefinition(n){let r=Ry.get(n),o=r?.getLabel()??n,a=QL[n](),i=r?.createDefinitions?.(this.createTabContext(this.containerEl));if(i){let s=null;return{type:"page",name:o,desc:a,items:this.createNativeDefinitionItems(i,l=>{s=l.listEl,this.prepareNativeSettingsPageDefinitionRender(n,l.listEl)},()=>{s&&(this.hideNativeSettingsPage(s),s=null)})}}return{type:"page",name:o,desc:a,page:()=>kge({title:o,display:s=>this.renderNativeSettingsPage(n,s),hide:s=>this.hideNativeSettingsPage(s)})}}createNativeDefinitionItems(n,r,o){return[{name:"",searchable:!1,visible:!1,render:(i,s)=>(s.addClass("nn-settings-lifecycle-group"),i.settingEl.detach(),r(s),o)},...n]}renderNativeSettingsPage(n,r){let o=Ry.get(n);o&&(this.ensureSettingsUpdateListener(),this.settingsRenderContainerEl=r,this.activeSettingsPage={tabId:n,containerEl:r},r.empty(),r.addClass("nn-settings-tab-root"),this.resetRenderedSettingsState(),this.diagnosticsController.handleTabActivation(n),o.render(this.createTabContext(r)))}hideNativeSettingsPage(n){n.removeClass("nn-settings-tab-root"),this.settingsRenderContainerEl===n&&(this.settingsRenderContainerEl=null),this.activeSettingsPage?.containerEl===n&&(this.activeSettingsPage=null),this.resetRenderedSettingsState()}prepareSettingsRender(n){this.settingsRenderContainerEl=n,n.empty(),n.addClass("nn-settings-tab-root"),this.resetRenderedSettingsState()}prepareNativeSettingsIndexRender(){this.ensureSettingsUpdateListener(),this.activeSettingsPage=null,this.settingsRenderContainerEl=this.containerEl,this.containerEl.addClass("nn-settings-tab-root"),this.resetRenderedSettingsState()}prepareNativeSettingsPageDefinitionRender(n,r){this.ensureSettingsUpdateListener(),this.activeSettingsPage=null,this.settingsRenderContainerEl=r,r.addClass("nn-settings-tab-root"),this.resetRenderedSettingsState(),this.diagnosticsController.handleTabActivation(n)}finishNativeSettingsIndexRender(){this.resetRenderedSettingsState()}resetRenderedSettingsState(){this.runSettingsRenderCleanup(),this.diagnosticsController.prepareForRender(),this.tabSettingsUpdateListeners.clear(),this.showTagsListeners=[],this.currentShowTagsVisible=this.plugin.settings.showTags}runSettingsRenderCleanup(){let n=this.settingsRenderCleanupCallbacks;this.settingsRenderCleanupCallbacks=[],n.forEach(r=>{try{r()}catch{}})}createTabContext(n){return{app:this.app,plugin:this.plugin,containerEl:n,addToggleSetting:(r,o,a,i,s,l)=>this.addToggleSetting(r,o,a,i,s,l),addInfoSetting:(r,o,a)=>this.addInfoSetting(r,o,a),createDebouncedTextSetting:(r,o,a,i,s,l,c,u)=>this.createDebouncedTextSetting(r,o,a,i,s,l,c,u),configureDebouncedTextSetting:(r,o,a,i,s,l,c,u)=>this.configureDebouncedTextSetting(r,o,a,i,s,l,c,u),createDebouncedTextAreaSetting:(r,o,a,i,s,l,c)=>this.createDebouncedTextAreaSetting(r,o,a,i,s,l,c),configureDebouncedTextAreaSetting:(r,o,a,i,s,l,c)=>this.configureDebouncedTextAreaSetting(r,o,a,i,s,l,c),registerSettingsUpdateListener:(r,o)=>{this.tabSettingsUpdateListeners.set(r,o)},unregisterSettingsUpdateListener:r=>{this.tabSettingsUpdateListeners.delete(r)},registerSettingsRenderCleanup:r=>{this.settingsRenderCleanupCallbacks.push(r)},registerMetadataInfoElement:(r,o)=>{this.diagnosticsController.registerMetadataInfoElement(r,o)},registerStatsTextElement:r=>{this.diagnosticsController.registerStatsTextElement(r)},requestStatisticsRefresh:()=>{this.diagnosticsController.requestRefresh()},refreshSettingsDomState:()=>{this.refreshSettingsDomState()},ensureStatisticsInterval:()=>{this.diagnosticsController.ensureStatisticsInterval()},registerShowTagsListener:r=>{this.showTagsListeners.push(r),r(this.currentShowTagsVisible)},notifyShowTagsVisibility:r=>{this.currentShowTagsVisible=r,this.showTagsListeners.forEach(o=>o(r))}}}hide(){this.flushDebouncedSettingUpdates(),super.hide(),this.plugin.unregisterSettingsUpdateListener(this.settingsUpdateListenerId),this.debouncedSettingUpdates.forEach(n=>window.clearTimeout(n.timer)),this.debouncedSettingUpdates.clear(),this.runSettingsRenderCleanup(),this.diagnosticsController.dispose(),this.tabSettingsUpdateListeners.clear(),this.showTagsListeners=[],this.activeSettingsPage=null,this.settingsRenderContainerEl?.removeClass("nn-settings-tab-root"),this.settingsRenderContainerEl=null,this.containerEl.removeClass("nn-settings-tab-root")}}});function bl(t){return Rs(t)}function w$(t,e,n){if(!t.has(e)){t.set(e,n);return}t.set(e,null)}function ez(t,e){let n=new Map,r=new Map;if(e?.size===0)return{foldersByFoldedPath:n,notesByFoldedPath:r};for(let o of t.vault.getAllLoadedFiles()){let a=bl(o.path);if(!(e&&!e.has(a))){if(o instanceof ru.TFolder){w$(n,a,o);continue}o instanceof ru.TFile&&w$(r,a,o)}}return{foldersByFoldedPath:n,notesByFoldedPath:r}}function T$(t,e,n){if(e==="/")return t.vault.getRoot();let r=t.vault.getAbstractFileByPath(e);return r instanceof ru.TFolder?r:r!==null?null:(n??ez(t)).foldersByFoldedPath.get(bl(e))??null}function k$(t,e,n){let r=t.vault.getAbstractFileByPath(e);return r instanceof ru.TFile?r:r!==null?null:(n??ez(t)).notesByFoldedPath.get(bl(e))??null}function F$(t,e){let n=new Map,r=new Map,o=new Set,a=[],i=[];if(e.forEach(s=>{if(Zo(s)){if(s.path==="/"){n.set(s.path,t.vault.getRoot());return}let l=t.vault.getAbstractFileByPath(s.path);if(l instanceof ru.TFolder){n.set(s.path,l);return}if(l===null){let c=bl(s.path);o.add(c),a.push({path:s.path,foldedPath:c});return}n.set(s.path,null);return}if(Po(s)){let l=t.vault.getAbstractFileByPath(s.path);if(l instanceof ru.TFile){r.set(s.path,l);return}if(l===null){let c=bl(s.path);o.add(c),i.push({path:s.path,foldedPath:c});return}r.set(s.path,null)}}),o.size>0){let s=ez(t,o);a.forEach(({path:l,foldedPath:c})=>{n.set(l,s.foldersByFoldedPath.get(c)??null)}),i.forEach(({path:l,foldedPath:c})=>{r.set(l,s.notesByFoldedPath.get(c)??null)})}return{folderTargetsByPath:n,noteTargetsByPath:r}}function P$(t,e){let n=new Map,r=new Map;return t.forEach(o=>{if(Zo(o)){let a=nd(o);n.set(o.path,a);let i=e.folderTargetsByPath.get(o.path);i&&n.set(i.path,a);return}if(Po(o)){let a=nd(o);r.set(o.path,a);let i=e.noteTargetsByPath.get(o.path);i&&r.set(i.path,a)}}),{folderShortcutKeysByPath:n,noteShortcutKeysByPath:r}}function Dy(t,e,n,r){let o=bl(n),a=null,i=()=>{if(a!==null)return a;let s=1;for(let l of t.vault.getAllLoadedFiles())if(!(r&&l.path===r)&&!(e==="folder"&&!(l instanceof ru.TFolder))&&!(e==="note"&&!(l instanceof ru.TFile))&&bl(l.path)===o&&(s+=1,s>1))return a=!1,a;return a=!0,a};return s=>s===n?!0:bl(s)!==o||t.vault.getAbstractFileByPath(s)!==null?!1:i()}var ru,Ay=U(()=>{ru=require("obsidian");Ia();Ot()});function QT(t){let e=Ige[t]??t;return`${nz}${e}`}function Oy(t){return`${rz}${t}`}function ZT(t){return`${oz}${t}`}function Ly(t){return`${az}${t}`}function Ege(t){let e=t.trim().toLowerCase();return xge[e]??null}function qh(t){if(t.startsWith(nz)){let e=Ege(t.slice(nz.length));return e?{type:"section",id:e}:null}if(t.startsWith(rz)){let e=t.slice(rz.length);return{type:"folder",path:e.length>0?e:"/"}}if(t.startsWith(oz)){let e=t.slice(oz.length);return e?{type:"tag",path:e}:null}if(t.startsWith(az)){let e=t.slice(az.length);return e?{type:"property",nodeId:e}:null}return null}function qI(t){let e=qh(t);if(!e)return null;if(e.type==="section")return QT(e.id);if(e.type==="folder")return Oy(e.path);if(e.type==="tag"){let r=Ze(e.path);return r?ZT(r):null}let n=Gt(e.nodeId);return n?Ly(n):null}var Ige,xge,nz,rz,oz,az,JT=U(()=>{Ue();Sn();cn();Ige={[Dt.SHORTCUTS]:"shortcuts",[Dt.RECENT]:"recent",[Dt.FOLDERS]:"folders",[Dt.TAGS]:"tags",[Dt.PROPERTIES]:"properties"},xge={shortcuts:Dt.SHORTCUTS,recent:Dt.RECENT,recents:Dt.RECENT,folders:Dt.FOLDERS,tags:Dt.TAGS,properties:Dt.PROPERTIES},nz="section:",rz="folder:",oz="tag:",az="property:"});async function qm(){await new Promise(t=>{if(typeof window.requestAnimationFrame=="function"){window.requestAnimationFrame(()=>t());return}window.setTimeout(t,0)})}function zy(t,e){let n=[],r=0;for(let o of e){if(r+=1,n.length>=Rge)continue;let a=t.vault.getAbstractFileByPath(o);a instanceof A$.TFile?n.push(a.basename):n.push(o)}return{total:r,sample:n}}function mp(t,e){if(e.sample.length===0)return;let n=t.createDiv("nn-tag-rename-file-preview");n.createEl("h4",{text:d.modals.tagOperation.affectedFiles});let r=n.createEl("ul");e.sample.forEach(a=>{r.createEl("li",{text:a})});let o=e.total-e.sample.length;o>0&&n.createEl("p",{text:d.modals.tagOperation.andMore.replace("{count}",o.toString())})}var A$,Rge,By=U(()=>{A$=require("obsidian");Ee();Rge=8});function ex(t,e){let n=!1,r=(o,a,i)=>{e({key:o,lowerKey:a,isAlias:a==="aliases"||a==="alias",value:i,set:l=>{let c=t[o];if(Array.isArray(c)&&Array.isArray(l)){if(c.length===l.length&&c.every((u,p)=>u===l[p]))return}else if(c===l)return;t[o]=l,n=!0},remove:()=>{Object.prototype.hasOwnProperty.call(t,o)&&(delete t[o],n=!0)}})};for(let o of Object.keys(t)){let a=t[o];if(typeof a!="string"&&!Array.isArray(a))continue;let i=Me(o);(i==="tags"||i==="tag"||i==="aliases"||i==="alias")&&r(o,i,a)}return n}var iz=U(()=>{Ot()});function lz(t,e){return e.canonical.startsWith(t.canonicalPrefix)}function _y(t,e){let n=[],r=t.metadataCache,o=t.vault.getMarkdownFiles();for(let a of o){let i=a.path,s=r.getCache(i);if(!s)continue;let l=Array.isArray(s.tags)?s.tags.filter(h=>typeof h.tag=="string"&&e.matches(h.tag)).reverse():[],c=s.frontmatter,u=((0,Yh.parseFrontMatterTags)(c)??[]).map(h=>Wi.ensureHashPrefix(h)),p=((0,Yh.parseFrontMatterAliases)(c)??[]).filter(h=>Wi.isTag(h)),m=u.filter(h=>e.matches(h)),g=p.filter(h=>e.matches(h)),f=m.length>0||g.length>0;l.length===0&&!f||n.push(new sz(t,i,l,f))}return n}var Yh,Wi,tx,sz,nx=U(()=>{Yh=require("obsidian");Ot();Dr();iz();Wi=class t{constructor(e){let n=t.ensureHashPrefix(e.trim()),r=It(n);this.tag=n,this.name=n.slice(1),this.canonicalName=r,this.canonical=r.length>0?`#${r}`:"#",this.canonicalPrefix=r.length>0?`${this.canonical}/`:this.canonical}matches(e){if(!e)return!1;let n=It(e);return n.length===0?!1:n===this.canonicalName||n.startsWith(`${this.canonicalName}/`)}toString(){return this.tag}static isTag(e){return e.startsWith("#")}static ensureHashPrefix(e){let n=e;for(;n.startsWith("##");)n=n.slice(1);return n.startsWith("#")?n:`#${n}`}};tx=class{constructor(e,n){this.fromTag=e;this.toTag=n;this.cache=new Map,this.cache.set(this.fromTag.tag,this.toTag.tag),this.cache.set(this.fromTag.name,this.toTag.name),this.cache.set(ql(this.fromTag.tag),this.toTag.tag),this.fromTag.name.length>0&&this.cache.set(ql(this.fromTag.name),this.toTag.name)}getSourceTag(){return this.fromTag}getTargetTag(){return this.toTag}replaceMatchedValue(e){let n=this.lookup(e);if(n!==e)return n;let r=ql(e),o=this.lookup(r);if(o!==r)return this.cacheValue(e,r,o);if(r.startsWith(this.fromTag.canonicalPrefix)){let a=this.replaceMatchedTagPrefix(e,!0);return this.cacheValue(e,r,a)}if(`#${r}`.startsWith(this.fromTag.canonicalPrefix)){let a=this.replaceMatchedTagPrefix(e,!1);return this.cacheValue(e,r,a)}return e}inString(e,n=0,r){let o=r??(n===0?e:this.fromTag.tag),a=this.replaceMatchedValue(o);return`${e.slice(0,n)}${a}${e.slice(n+o.length)}`}replaceMatchedTagPrefix(e,n){let r=n?e.slice(1):e,o=this.fromTag.canonicalName.split("/").filter(Boolean).length;if(o===0)return e;let a=r.split("/").slice(o),i=n?this.toTag.tag:this.toTag.name;return a.length===0?i:`${i}/${a.join("/")}`}inArray(e,n,r){return e.map((o,a)=>{if(n&&a&1||typeof o!="string"||o.length===0)return o;if(r){if(!Wi.isTag(o))return o}else if(/[ ,\n]/.test(o)){let i=o.split(/([, \n]+)/u);return this.inArray(i,!0,!1).join("")}return this.replaceMatchedValue(o)})}willMergeTags(e){if(this.fromTag.canonical===this.toTag.canonical)return null;let n=new Set(e.map(r=>ql(r)));for(let r of e.filter(o=>this.fromTag.matches(o))){let o=this.inString(r);if(n.has(ql(o)))return[new Wi(r),new Wi(o)]}return null}lookup(e){return this.cache.get(e)??e}cacheValue(e,n,r){return this.cache.set(e,r),this.cache.set(n,r),r}},sz=class{constructor(e,n,r,o){this.app=e;this.path=n;this.tagPositions=r;this.hasFrontMatterMatches=o}get filePath(){return this.path}async renamed(e){let n=this.app.vault.getAbstractFileByPath(this.path);if(!n||!(n instanceof Yh.TFile))return{outcome:"skipped",reason:"file-missing"};let r=await this.app.vault.read(n),o=r,a=e.getSourceTag();for(let l of this.tagPositions){let{start:c,end:u}=l.position,p=r.slice(c.offset,u.offset),m=l.tag,g=a.matches(p),f=typeof m=="string"?a.matches(m):!1;if(!g||!f)return{outcome:"skipped",reason:"file-changed"};o=e.inString(o,c.offset,p)}let i=o!==r;i&&await this.app.vault.modify(n,o);let s=this.hasFrontMatterMatches?await this.renameFrontmatter(e):!1;return i||s?{outcome:"changed"}:{outcome:"skipped",reason:"no-op"}}async renameFrontmatter(e){let n=this.app.vault.getAbstractFileByPath(this.path);if(!n||!(n instanceof Yh.TFile))return!1;let r=!1;return await this.app.fileManager.processFrontMatter(n,o=>{let a=(l,c)=>{let u=l.split(c?/(^\s+|\s*,\s*|\s+$)/u:/([\s,]+)/u),m=e.inArray(u,!0,c).map(g=>typeof g=="string"?g:String(g)).join("");return[m,m!==l]},i=(l,c)=>{let u=!1;return[l.map(m=>{if(typeof m!="string")return m;let g=e.inArray([m],!1,c)[0];return g!==m&&(u=!0),g}),u]};ex(o,l=>{if(Array.isArray(l.value)){let[p,m]=i(l.value,l.isAlias);if(!m)return;l.set(p);return}let[c,u]=a(l.value,l.isAlias);u&&l.set(c)})&&(r=!0)}),r}}});function dz(t,e,n){return e.canonicalName.length===0?[]:_y(t,e).map(r=>r.filePath)}function cz(t,e){return zy(t,e)}function uz(t,e){return cz(t,e.map(n=>n.filePath))}function rx(t,e){let n=It(t);return n.length===0||!e?t:e.findTagNode(n)?.displayPath??t}function Age(t){let e=t.trim();return e.startsWith("#")?e:`#${e}`}async function K$(t,e){if(hN(e))return!0;let n=d.modals.tagOperation.inlineParsingWarning;return await new Promise(r=>{new En(t,n.title,n.message.replace("{tag}",Age(e)),()=>r(!0),n.confirm,{confirmButtonClass:"mod-cta",onCancel:()=>r(!1)}).open()})}var tk=U(()=>{Ee();Ai();nx();Dr();Sn();By()});function go(t,e){if(t.length!==e.length)return!1;for(let n=0;n<t.length;n+=1)if(t[n]!==e[n])return!1;return!0}function Ym(t){let e=new Map;return t.forEach((n,r)=>{e.set(n,r)}),e}function ou(t){if(t.length===0)return[];let e=[...t].sort((r,o)=>r.start-o.start||r.end-o.end),n=[];for(let r of e){let o=n[n.length-1];!o||r.start>o.end?n.push({...r}):r.end>o.end&&(o.end=r.end)}return n}var Sl=U(()=>{});function pz(t){return t===zge||t===Bge||t===_ge||t===Hge}function $m(t,e){let n=e;for(;n<t.length&&pz(t.charCodeAt(n));)n+=1;return n}function mz(t){let e=$m(t,0),n=0;for(;e<t.length&&t[e]===">";)n+=1,e+=1,e=$m(t,e);return{depth:n,nextIndex:e}}function j$(t,e){if(e>=t.length)return null;let n=t[e];if(n!=="`"&&n!=="~")return null;let r=e+1;for(;r<t.length&&t[r]===n;)r+=1;let o=r-e;return o<3?null:{markerChar:n,markerLength:o,nextIndex:r}}function gz(t,e){let n=$m(t,e.nextIndex),r=j$(t,n);return r?{depth:e.depth,markerChar:r.markerChar,markerLength:r.markerLength}:null}function hz(t,e,n,r,o){if(o.depth!==e)return!1;let a=$m(t,o.nextIndex),i=j$(t,a);return!i||i.markerChar!==n||i.markerLength<r?!1:$m(t,i.nextIndex)===t.length}function G$(t,e,n){let r=n?.emitText??!1,o=0,a=!1,i=0,s=null,l=0,c=0;for(;o<t.length;){let u=t.indexOf(`
`,o),p=u===-1?t.slice(o):t.slice(o,u);p.endsWith("\r")&&(p=p.slice(0,-1));let m=u===-1?t.length:u+1,g=mz(p);if(a){if(s!==null&&hz(p,c,s,l,g)){if(e({kind:"fenced",start:i,end:m})===!1)return;a=!1,s=null,l=0,c=0}}else{let f=gz(p,g);if(f)a=!0,i=o,s=f.markerChar,l=f.markerLength,c=f.depth;else if(r&&e({kind:"text",start:o,end:m})===!1)return}if(u===-1)break;o=u+1}a&&i<t.length&&e({kind:"fenced",start:i,end:t.length})}function nc(t){let e=[];return G$(t,n=>{n.kind==="fenced"&&e.push({start:n.start,end:n.end})},{emitText:!1}),e}function q$(t,e,n){if(e<=0||t.length===0)return"";let r=n&&t.length>n?t.slice(0,n):t;if(!r.includes("```")&&!r.includes("~~~"))return r.length>e?r.slice(0,e):r;let o="";return G$(r,a=>{if(o.length>=e)return!1;if(a.kind==="text"){let c=e-o.length;if(a.end-a.start<=c){o+=r.slice(a.start,a.end);return}return o+=r.slice(a.start,a.start+c),!1}let i=o.length>0&&!/\s$/.test(o),s=r[a.end]??"",l=s!==""&&!/\s/.test(s);i&&l&&o.length<e&&(o+=" ")},{emitText:!0}),o}function Xm(t,e){let n=0,r=e.length-1;for(;n<=r;){let o=Math.floor((n+r)/2),a=e[o];if(t<a.start)r=o-1;else if(t>=a.end)n=o+1;else return a}return null}function Vge(t,e,n,r){let o=e;for(;o<t.length;){let a=t.indexOf("`",o);if(a===-1)return-1;let i=Xm(a,r);if(i){o=i.end;continue}let s=1;for(;a+s<t.length&&t[a+s]==="`";)s+=1;if(s===n)return a;o=a+s}return-1}function wl(t,e=[]){let n=[],r=ou([...e]),o=0;for(;o<t.length;){let a=t.indexOf("`",o);if(a===-1)break;let i=Xm(a,r);if(i){o=i.end;continue}let s=1;for(;a+s<t.length&&t[a+s]==="`";)s+=1;let l=Vge(t,a+s,s,r);if(l===-1){o=a+s;continue}let c=l+s;n.push({start:a,end:c}),o=c}return ou(n)}function Y$(t,e){return Xm(t,e)!==null}var zge,Bge,_ge,Hge,Hy=U(()=>{Sl();zge=9,Bge=13,_ge=12,Hge=32});function Uge(t){return t!==void 0&&/[A-Za-z]/.test(t)}function Kge(t){return t!==void 0&&/[A-Za-z0-9:-]/.test(t)}function $$(t,e){let n=null;for(let r=e+1;r<t.length;r+=1){let o=t[r];if(n){o===n&&(n=null);continue}if(o==='"'||o==="'"){n=o;continue}if(o===">")return r+1}return t.length}function fz(t,e){if(t[e]!=="<"||e+1>=t.length)return null;if(t.startsWith("<!--",e)){let a=t.indexOf("-->",e+4);return{start:e,end:a===-1?t.length:a+3,tagName:null,closing:!1,tag:!1}}if(t[e+1]==="!")return{start:e,end:$$(t,e),tagName:null,closing:!1,tag:!1};let n=e+1,r=!1;if(t[n]==="/"&&(r=!0,n+=1),!Uge(t[n]))return null;let o=n;for(n+=1;Kge(t[n]);)n+=1;return{start:e,end:$$(t,e),tagName:t.slice(o,n).toLowerCase(),closing:r,tag:!0}}function Wge(t,e,n){let r=fz(t,e);return!r?.tag||!r.closing||r.tagName!==n?null:r}function Q$(t,e,n){let r=e;for(;r<t.length;){let o=t.indexOf("<",r);if(o===-1)return null;let a=Wge(t,o,n);if(a)return a;r=o+1}return null}function jge(t,e){let n=ou(e);if(n.length===0)return t;let r=0,o="";for(let a of n)a.start>r&&(o+=t.slice(r,a.start)),o+=" ",r=a.end;return r<t.length&&(o+=t.slice(r)),o}function Z$(t){if(!t.includes("<"))return[];let e=[];for(let n=0;n<t.length;){let r=t.indexOf("<",n);if(r===-1)break;let o=fz(t,r);if(!o){n=r+1;continue}if(o.tag&&(e.push({start:o.start,end:o.end}),!o.closing&&o.tagName&&X$.has(o.tagName))){let a=Q$(t,o.end,o.tagName);if(a){e.push({start:a.start,end:a.end}),n=a.end;continue}}n=o.end}return ou(e)}function J$(t){if(!t.includes("<"))return t;let e=[];for(let n=0;n<t.length;){let r=t.indexOf("<",n);if(r===-1)break;let o=fz(t,r);if(!o){n=r+1;continue}if(o.tag&&!o.closing&&o.tagName&&X$.has(o.tagName)){let i=Q$(t,o.end,o.tagName)?.end??t.length;e.push({start:o.start,end:i}),n=i;continue}e.push({start:o.start,end:o.end}),n=o.end}return jge(t,e)}var X$,vz=U(()=>{Sl();X$=new Set(["script","style"])});var Yge,px,yz=U(()=>{Yge=250,px=class{constructor(){this.activeOperations=new Map;this.operationCounter=0;this.listeners=new Set;this.activeCounts=new Map;this.openActiveFileQueue=Promise.resolve();this.latestOpenActiveFileOperationId=null;this.backgroundOpenMarkers=new Map}cleanupBackgroundOpenMarkers(e){for(let[n,r]of this.backgroundOpenMarkers)r.completedAt!==void 0&&e-r.completedAt>Yge&&this.backgroundOpenMarkers.delete(n)}getWorkspaceLeafId(e){let n=e?.id;return typeof n=="string"?n:void 0}createBackgroundOpenMarker(e,n,r){let o=this.getWorkspaceLeafId(r);this.cleanupBackgroundOpenMarkers(Date.now()),this.backgroundOpenMarkers.set(e,{operationId:e,filePath:n,leaf:r,leafId:o,fileOpenSeen:!1,activeLeafChangeSeen:!1})}completeBackgroundOpenMarker(e){let n=this.backgroundOpenMarkers.get(e);n&&(n.completedAt=Date.now(),this.deleteBackgroundOpenMarkerIfConsumed(n),this.cleanupBackgroundOpenMarkers(Date.now()))}hasExpectedBackgroundOpenEvents(e){return e.fileOpenSeen&&(e.leafId===void 0||e.activeLeafChangeSeen)}deleteBackgroundOpenMarkerIfConsumed(e){this.hasExpectedBackgroundOpenEvents(e)&&this.backgroundOpenMarkers.delete(e.operationId)}leafMatchesBackgroundOpenMarker(e,n){if(!n)return!1;if(e.leaf===n)return!0;if(e.leafId===void 0)return!1;let r=this.getWorkspaceLeafId(n);return e.leafId===r}generateOperationId(){return`op-${Date.now()}-${++this.operationCounter}`}onOperationChange(e){return this.listeners.add(e),this.activeCounts.forEach((n,r)=>{n>0&&this.notifyListener(e,r,!0)}),()=>{this.listeners.delete(e)}}notifyListener(e,n,r){try{e(n,r)}catch(o){console.error("CommandQueueService listener error:",o)}}notify(e,n){this.listeners.forEach(r=>{this.notifyListener(r,e,n)})}markActive(e){let n=this.activeCounts.get(e)??0,r=n+1;this.activeCounts.set(e,r),n===0&&r===1&&this.notify(e,!0)}markInactive(e){let n=this.activeCounts.get(e)??0,r=Math.max(0,n-1);this.activeCounts.set(e,r),n>0&&r===0&&this.notify(e,!1)}hasActiveOperation(e){for(let n of this.activeOperations.values())if(n.type===e)return!0;return!1}isMovingFile(){return this.hasActiveOperation("move-file")}isDeletingFiles(){return this.hasActiveOperation("delete-files")}isOpeningFolderNote(){return this.hasActiveOperation("open-folder-note")}isOpeningHomepage(){return this.hasActiveOperation("open-homepage")}isOpeningVersionHistory(){return this.hasActiveOperation("open-version-history")}isOpeningInNewContext(){for(let e of this.activeOperations.values())if(e.type==="open-in-new-context"){let n=e;if(n.context==="tab"||n.context==="split")return!0}return!1}isBackgroundFileOpenInProgress(){for(let e of this.activeOperations.values())if(e.type==="open-background-file"||e.type==="open-active-file"&&e.active===!1)return!0;return!1}consumeBackgroundFileOpen(e,n){this.cleanupBackgroundOpenMarkers(Date.now());let r=Array.from(this.backgroundOpenMarkers.values()).filter(a=>a.filePath===e&&!a.fileOpenSeen),o=r.find(a=>this.leafMatchesBackgroundOpenMarker(a,n))??r[0];return o?(o.fileOpenSeen=!0,this.deleteBackgroundOpenMarkerIfConsumed(o),!0):!1}consumeBackgroundActiveLeafChange(e){this.cleanupBackgroundOpenMarkers(Date.now());let n=Array.from(this.backgroundOpenMarkers.values()).find(r=>!r.activeLeafChangeSeen&&this.leafMatchesBackgroundOpenMarker(r,e));return n?(n.activeLeafChangeSeen=!0,this.deleteBackgroundOpenMarkerIfConsumed(n),!0):!1}async executeBackgroundFileOpen(e,n,r){let o=this.generateOperationId(),a={id:o,type:"open-background-file",timestamp:Date.now(),file:e};this.activeOperations.set(o,a);try{let i=r?.getLeaf?.()??null;return this.createBackgroundOpenMarker(o,e.path,i),await n(i),{success:!0}}catch(i){return{success:!1,error:i}}finally{this.activeOperations.delete(o),this.completeBackgroundOpenMarker(o)}}async executeMoveFiles(e,n,r){let o=this.generateOperationId(),a={id:o,type:"move-file",timestamp:Date.now(),files:e,targetFolder:n};this.activeOperations.set(o,a),this.markActive("move-file");try{return{success:!0,data:await r()}}catch(i){return{success:!1,error:i}}finally{this.activeOperations.delete(o),this.markInactive("move-file")}}async executeDeleteFiles(e,n){let r=this.generateOperationId(),o={id:r,type:"delete-files",timestamp:Date.now(),files:e};this.activeOperations.set(r,o),this.markActive("delete-files");try{return await n(),{success:!0}}catch(a){return{success:!1,error:a}}finally{this.activeOperations.delete(r),this.markInactive("delete-files")}}async executeOpenFolderNote(e,n){let r=this.generateOperationId(),o={id:r,type:"open-folder-note",timestamp:Date.now(),folderPath:e};this.activeOperations.set(r,o);try{return await n(),this.activeOperations.delete(r),{success:!0}}catch(a){return this.activeOperations.delete(r),{success:!1,error:a}}}async executeOpenVersionHistory(e,n){let r=this.generateOperationId(),o={id:r,type:"open-version-history",timestamp:Date.now(),file:e};this.activeOperations.set(r,o);try{return await n(),this.activeOperations.delete(r),{success:!0}}catch(a){return this.activeOperations.delete(r),{success:!1,error:a}}}async executeOpenInNewContext(e,n,r){let o=this.generateOperationId(),a={id:o,type:"open-in-new-context",timestamp:Date.now(),file:e,context:n};this.activeOperations.set(o,a);try{return await r(),this.activeOperations.delete(o),{success:!0}}catch(i){return this.activeOperations.delete(o),{success:!1,error:i}}}async executeOpenActiveFile(e,n,r){let o=r?.active??!0,a=this.generateOperationId(),i={id:a,type:"open-active-file",timestamp:Date.now(),file:e,active:o};this.latestOpenActiveFileOperationId=a;let s=async()=>{if(this.latestOpenActiveFileOperationId!==a)return{success:!0,data:{skipped:!0}};this.activeOperations.set(a,i),this.markActive("open-active-file");try{let c=r?.getLeaf?.()??null;return o===!1&&this.createBackgroundOpenMarker(a,e.path,c),await n(c),this.latestOpenActiveFileOperationId===a&&(this.latestOpenActiveFileOperationId=null),{success:!0,data:{skipped:!1}}}catch(c){return this.latestOpenActiveFileOperationId===a&&(this.latestOpenActiveFileOperationId=null),{success:!1,error:c}}finally{this.activeOperations.delete(a),this.markInactive("open-active-file"),o===!1&&this.completeBackgroundOpenMarker(a)}},l=this.openActiveFileQueue.then(s,s);return this.openActiveFileQueue=l.then(()=>{},()=>{}),l}async executeHomepageOpen(e,n){let r=this.generateOperationId(),o={id:r,type:"open-homepage",timestamp:Date.now(),file:e};this.activeOperations.set(r,o),this.markActive("open-homepage");try{return await n(),{success:!0}}catch(a){return{success:!1,error:a}}finally{this.activeOperations.delete(r),this.markInactive("open-homepage")}}getActiveOperations(){return Array.from(this.activeOperations.values())}clearAllOperations(){this.activeOperations.clear(),this.activeCounts.clear(),this.backgroundOpenMarkers.clear()}}});function rhe(t){return typeof t=="object"&&t!==null&&"settings"in t}function i3(t,e){let n=Du(t,e);if(!n||!rhe(n))return null;let r=Reflect.get(n,"settings");return ka(r)?ln(r):null}function bz(t){let e=t.trim();if(e==="")return"";let n=qr();return n?n().format(e):c3()}function s3(t,e=!0){let n=i3(t,Ih);if(!n)return null;let r=n.drawingFilenamePrefix,o=n.drawingFilenameDateTime,a=n.useExcalidrawExtension,i=n.compatibilityMode,s=Ln(r)?r:"Drawing ",l=Ln(o)?o:"",c=fm(a)?a:!0,u=e&&fm(i)?i:!1,p=bz(l);return`${s}${p}${u?".excalidraw":c?".excalidraw.md":".md"}`}function l3(t){let e=i3(t,xh);if(!e)return null;let n=e.newFilePrefix,r=e.newFileTimeFormat,o=Ln(n)?n:"",a=Ln(r)?r:"",i=bz(a),s=`${o}${i}`;return s.trim()!==""?s:`Tldraw ${bz("YYYY-MM-DD h.mmA")}`}function d3(t){let e=t.toLowerCase();return e.endsWith(".md")||e.endsWith(".tldr")?t:`${t}.md`}function Sz(t,e){let o=qU(t).split(/[\\/]+/u).filter(a=>a!=="."&&a!=="..").map(a=>a.replace(/\.\./gu,"")).join(" ").replace(/\s+/g," ").trim();return o===""?nk(e):o}function c3(){return new Date().toISOString().replace(/[:.]/g,"-").slice(0,-5)}function nk(t){let e=c3();return t==="excalidraw"?`Drawing ${e}${Fa}.md`:`Drawing ${e}.md`}function ohe(t,e,n=!0){if(e==="excalidraw"){let i=s3(t,n)??nk("excalidraw");return Sz(i,"excalidraw")}let o=l3(t)??nk("tldraw"),a=d3(o);return Sz(a,"tldraw")}function u3(t,e){if(e!=="excalidraw")return t;let n=t.toLowerCase();return n.endsWith(".excalidraw")||n.endsWith(".excalidraw.md")||n.endsWith(".md")?t:`${t}.md`}function p3(t,e){let n=e==="tldraw"?d3(t):t,r=Sz(n,e);return u3(r,e)}function m3(t){let e=t.lastIndexOf("/");return e===-1?t:t.slice(e+1)}function ahe(t){return t.path==="/"||t.path===""?"":t.path}function wz(t,e,n){let r=n.lastIndexOf("."),o=r>0&&r<n.length-1,a=o?n.slice(0,r):n,i=o?n.slice(r+1):"",s=hl(e.path,a,i,t);return od(e.path,s,i)}function ihe(t){return t?typeof Reflect.get(t,"createDrawing")=="function":!1}function she(t){return t?typeof Reflect.get(t,"createTldrFile")=="function":!1}async function lhe(t,e){let n=Du(t,Ih);if(!ihe(n))return null;let r=s3(t)??nk("excalidraw"),o=p3(r,"excalidraw"),a=wz(t,e,o),i=m3(a),s=ahe(e),l=await n.createDrawing(i,s);return typeof n.openDrawing=="function"&&n.openDrawing(l,"active-pane",!0,void 0,!0),l}async function dhe(t,e){let n=Du(t,xh);if(!she(n))return null;let r=(()=>{let c=l3(t);if(typeof n.createDefaultFilename=="function"){let p=t.workspace.getActiveFile()??void 0;try{return n.createDefaultFilename({currentFile:p})}catch(m){console.error("Failed to generate default Tldraw filename via plugin API",m)}}return c??nk("tldraw")})(),o=p3(r,"tldraw"),a=wz(t,e,o),i=m3(a),s=e.path,l=await n.createTldrFile(i,{foldername:s,inMarkdown:!0});return typeof n.openTldrFile=="function"&&await n.openTldrFile(l,"current-tab","tldraw-view"),l}async function g3(t,e,n){return n==="excalidraw"?await lhe(t,e):await dhe(t,e)}function h3(t,e,n,r){let o=r?.allowCompatibilitySuffix??!0,a=ohe(t,n,o),i=u3(a,n);return wz(t,e,i)}function f3(t){return t==="tldraw"?`---
tldraw-file: true
---
`:`---

excalidraw-plugin: parsed
tags: [excalidraw]

---
==⚠  Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠==


# Text Elements
# Embedded files
# Drawing
\`\`\`json
{
  "type": "excalidraw",
  "version": 2,
  "source": "https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/2.0.0",
  "elements": [],
  "appState": {
    "gridSize": null,
    "viewBackgroundColor": "#ffffff"
  },
  "files": {}
}
\`\`\`
%%`}var v3=U(()=>{PT();rs();Nm();Bd();Ot();Zr()});var gx,y3=U(()=>{Yr();Ot();dn();gx=class{constructor(e){this.settingsProvider=e}async syncHiddenFolderPathChange(e,n){if(UN(this.settingsProvider.settings,e,n))try{await this.settingsProvider.saveSettingsAndUpdate()}catch(o){console.error("Failed to persist hidden folder path updates",o)}}async removeHiddenFolderPathMatch(e){if(KN(this.settingsProvider.settings,e))try{await this.settingsProvider.saveSettingsAndUpdate()}catch(r){console.error("Failed to persist hidden folder removal updates",r)}}async hideFolderInOtherVaultProfiles(e){let n=_i(e);if(!n)return;let r=this.settingsProvider.settings;Oo(r);let o=r.vaultProfile,a=!1;if(r.vaultProfiles.forEach(i=>{i.id!==o&&(Array.isArray(i.hiddenFolders)||(i.hiddenFolders=[]),!this.isFolderHiddenInProfile(n,i.hiddenFolders)&&(i.hiddenFolders=PN(i.hiddenFolders,n),a=!0))}),!!a)try{await this.settingsProvider.saveSettingsAndUpdate()}catch(i){console.error("Failed to persist hidden folder preference for other vault profiles",i)}}async copyFolderDisplayMetadata(e,n){if(!e||!n||e===n||e==="/")return;let r=`${e}/`,o=!1,a=(s,l)=>{if(!s)return;let c=Object.keys(s),u=s,p=!1;for(let m of c){if(m!==e&&!m.startsWith(r))continue;let g=s[m];if(typeof g!="string")continue;p||(u=ln(s,Ln),l(u),p=!0);let f=m===e?"":m.substring(r.length),h=f?`${n}/${f}`:n;Object.prototype.hasOwnProperty.call(u,h)||(u[h]=g,o=!0)}},i=this.settingsProvider.settings;if(a(i.folderIcons,s=>{i.folderIcons=s}),a(i.folderColors,s=>{i.folderColors=s}),a(i.folderBackgroundColors,s=>{i.folderBackgroundColors=s}),!!o)try{await this.settingsProvider.saveSettingsAndUpdate()}catch(s){console.error("Failed to persist folder display metadata after duplication",s)}}isFolderHiddenInProfile(e,n){if(!e||!Array.isArray(n)||n.length===0)return!1;let r=e.startsWith("/")?e.slice(1):e;if(!r)return!1;let o=`${r}/__nn_new_folder__`;return ls(o,n)}}});var b3,$h,Tz=U(()=>{b3=require("obsidian");Ee();Nh();Rn();$h=class extends Ls{constructor(e,n,r,o,a){super(e,n,r,{navigate:d.modals.folderSuggest.instructions.navigate,action:o,dismiss:d.modals.folderSuggest.instructions.dismiss}),this.excludeFolders=a||new Set}getItems(){let e=[],n=r=>{this.excludeFolders.has(r.path)||e.push(r);for(let o of r.children)o instanceof b3.TFolder&&n(o)};return n(this.app.vault.getRoot()),e.sort((r,o)=>Mt(r.path,o.path)),e}getItemText(e){return e.path||e.name}getDisplayPath(e){return e.path||"/"}getItemClass(){return"nn-folder-suggest-item"}}});var S3,che,hx,w3=U(()=>{S3=require("obsidian");Ee();che=8,hx=class extends S3.Modal{constructor(n,r){super(n);this.hasResolved=!1;this.targetFolderName=r.targetFolderName,this.conflicts=r.conflicts,this.onResolve=r.onResolve}onOpen(){let n=this.conflicts.some(p=>p.canOverwrite),r=this.conflicts.length===1?d.modals.fileSystem.moveFileConflictDescriptionSingle:d.modals.fileSystem.moveFileConflictDescriptionMultiple;this.titleEl.setText(d.modals.fileSystem.moveFileConflictTitle),this.contentEl.createEl("p",{text:r.replace("{count}",this.conflicts.length.toString()).replace("{folder}",this.targetFolderName)});let o=this.contentEl.createDiv("nn-tag-rename-file-preview");o.createEl("h4",{text:d.modals.fileSystem.moveFileConflictAffectedFiles});let a=o.createEl("ul"),i=this.conflicts.slice(0,che);i.forEach(p=>{let m=p.canOverwrite?"":` ${d.modals.fileSystem.moveFileConflictRenameOnly}`;a.createEl("li",{text:d.modals.fileSystem.moveFileConflictItem.replace("{name}",p.sourceFileName).replace("{suggested}",p.suggestedFileName).replace("{renameOnly}",m)})});let s=this.conflicts.length-i.length;s>0&&o.createEl("p",{text:d.modals.tagOperation.andMore.replace("{count}",s.toString())});let l=this.contentEl.createDiv("nn-button-container");l.createEl("button",{text:d.common.cancel}).addEventListener("click",()=>this.resolveAndClose(null)),n&&l.createEl("button",{text:d.modals.fileSystem.moveFileConflictOverwrite,cls:"mod-warning"}).addEventListener("click",()=>this.resolveAndClose("overwrite"));let u=l.createEl("button",{text:d.modals.fileSystem.moveFileConflictRename,cls:"mod-cta"});u.addEventListener("click",()=>this.resolveAndClose("rename")),this.scope.register([],"Enter",p=>{p.preventDefault(),this.resolveAndClose("rename")}),this.scope.register([],"Escape",p=>{p.preventDefault(),this.resolveAndClose(null)}),u.focus()}onClose(){this.contentEl.empty(),this.hasResolved||(this.hasResolved=!0,this.onResolve(null))}resolveAndClose(n){this.hasResolved||(this.hasResolved=!0,this.onResolve(n),this.close())}}});function Vy(t,e,n){let r=t.metadataCache.getFileCache(e);return Fz(r,n)}function kz(t,e,n){let r=t.metadataCache.getFileCache(e);return k3(r,n)}function k3(t,e){let n=t?.frontmatter;if(!n)return"";let r=n;if(!mt(r))return"";let o=r,a=ul(e);if(a.length===0)return"";for(let i of a){let s=sl(o,i);if(typeof s=="string"){let l=s.trim();if(l)return l}else if(Array.isArray(s)){for(let l of s)if(typeof l=="string"){let c=l.trim();if(c)return c}}}return""}function T3(t){if(typeof t=="string"){let e=t.trim();return e.length>0?e:void 0}if(Array.isArray(t)){let e=t[0];if(typeof e=="string"){let n=e.trim();return n.length>0?n:void 0}}}function Fz(t,e){let n=t?.frontmatter;if(!n||!e.useFrontmatterMetadata)return{};let r={},o=n;if(!mt(o))return{};let a=o,i=k3(t,e.frontmatterNameField);if(i&&(r.fn=i),e.frontmatterIconField&&e.frontmatterIconField.trim()){let s=sl(a,e.frontmatterIconField),l=c=>{if(typeof c!="string")return;let u=c.trim();return u?Lh(u)??void 0:void 0};if(typeof s=="string"){let c=l(s);c&&(r.icon=c)}else if(Array.isArray(s)){let c=s;for(let u of c){let p=l(u);if(p){r.icon=p;break}}}}if(e.frontmatterColorField&&e.frontmatterColorField.trim()){let s=sl(a,e.frontmatterColorField),l=T3(s);l&&(r.color=l)}if(e.frontmatterBackgroundField&&e.frontmatterBackgroundField.trim()){let s=sl(a,e.frontmatterBackgroundField),l=T3(s);l&&(r.background=l)}if(e.frontmatterCreatedField&&e.frontmatterCreatedField.trim()){let s=sl(a,e.frontmatterCreatedField);if(s!==void 0){let l=zr.parseFrontmatterDate(s,e.frontmatterDateFormat);l!==void 0?r.fc=l:r.fc=br.PARSE_FAILED}}else r.fc=br.FIELD_NOT_CONFIGURED;if(e.frontmatterModifiedField&&e.frontmatterModifiedField.trim()){let s=sl(a,e.frontmatterModifiedField);if(s!==void 0){let l=zr.parseFrontmatterDate(s,e.frontmatterDateFormat);l!==void 0?r.fm=l:r.fm=br.PARSE_FAILED}}else r.fm=br.FIELD_NOT_CONFIGURED;return r}var rk=U(()=>{Nv();Zl();As();Si();Ot();Zr()});function uhe(t,e,n){return t===e?!0:n?t.startsWith(`${e}/`):!1}function F3(t,e,n,r){let a=Bv(e)===Er.DOCUMENTS?pj(t,e,{showHiddenItems:n}):mj(t,e,{showHiddenItems:n});return(n?a:a.filter(s=>r.length===0||!ls(s.path,r))).filter(s=>s.extension==="md")}function P3(t,e){let{showHiddenItems:n,excludedFolderPatterns:r,excludedFilePropertyMatcher:o,fileNameMatcher:a,shouldFilterHiddenFileTags:i,hiddenFileTagVisibility:s,hideDrawingPreviewImages:l,app:c,db:u}=e;if(!n&&r.length>0&&ls(t.path,r)||!n&&Qu(c,t,{hideDrawingPreviewImages:l})||!n&&o.hasCriteria&&Xo(t,o,c)||a&&a.matches(t))return!1;if(i){let p=u?.getFile(t.path)??null;if(Pr({app:c,file:t,db:u,fileData:p}).some(g=>!s.isTagVisible(g)))return!1}return!0}function C3(t,e,n){let r=[];for(let o of t){let a=e.vault.getFileByPath(o);!a||a.extension!=="md"||n(a)&&r.push(a)}return r}function phe(t,e){let n=e.trim(),r=new Map;return o=>{if(n.length===0||o.extension!=="md")return null;if(r.has(o.path))return r.get(o.path)??null;let a=t.metadataCache.getFileCache(o),i=qK(a?.frontmatter,n);return r.set(o.path,i),i}}function Pz(t,e,n,r){let o=r.option,a=Jl(o),i=r.propertyKey.trim(),s=a&&i.length>0?phe(n,i):void 0;if(e.useFrontmatterMetadata){let p=new Map,m=b=>{let v=p.get(b.path);return v||(v=Vy(n,b,e),p.set(b.path,v)),v};$w(t,o,b=>{let v=m(b);return v.fc===void 0||v.fc===br.FIELD_NOT_CONFIGURED||v.fc===br.PARSE_FAILED?b.stat.ctime:v.fc},b=>{let v=m(b);return v.fm===void 0||v.fm===br.FIELD_NOT_CONFIGURED||v.fm===br.PARSE_FAILED?b.stat.mtime:v.fm},b=>{let v=m(b);return bm(b,{fn:v.fn},e)},s,r.propertySortSecondary);return}$w(t,o,p=>p.stat.ctime,p=>p.stat.mtime,p=>p.basename,s,r.propertySortSecondary)}function mhe(t,e){let n=new Set;if(!t||typeof t!="object")return n;for(let[r,o]of Object.entries(t)){let a=Yl(o);e?a[e]&&n.add(r):n.add(r)}return n}function ghe(t,e,n){return e!=="folder"||!n||n.restrictToFolderPath===void 0?!0:Ds(t.path)===n.restrictToFolderPath}function Cz(t,e,n,r){let o=mhe(e,n);if(o.size===0)return{pinnedFiles:[],unpinnedFiles:t};let a=[],i=[];for(let s of t){if(!o.has(s.path)||!ghe(s,n,r)){i.push(s);continue}a.push(s)}return{pinnedFiles:a,unpinnedFiles:i}}function Nz(t,e,n,r){let{pinnedFiles:o,unpinnedFiles:a}=Cz(t,e.pinnedNotes,n,r);return o.length===0?t:[...o,...a]}function Uy(t,e,n,r,o){let a=[],i=ti(e),s=Qo(e),l=po(s),c=Kc(e),u=Wc(e),p=Bv(e),m=Gd(c,n.showHiddenItems),g=Br(u,n.showHiddenItems),f=g.hasHiddenRules&&!n.showHiddenItems,h=n.showHiddenItems,b=i.length>0&&ei(t,i);if(!h&&b)return[];let v=(k,F)=>{for(let P of k.children)if(P instanceof ok.TFile)rl(P,p,r)&&(n.showHiddenItems||!Qu(r,P,{hideDrawingPreviewImages:e.hideDrawingPreviewImages}))&&a.push(P);else if(n.includeDescendantNotes&&P instanceof ok.TFolder){let T=F;i.length>0&&qd(P.name,i,P.path)&&(T=!0),(h||!T)&&v(P,T)}};v(t,b);let y=a;if(!n.showHiddenItems&&l.hasCriteria&&(y=a.filter(k=>k.extension!=="md"||!Xo(k,l,r))),m&&(y=y.filter(k=>!m.matches(k))),f){let k=Sr();y=y.filter(F=>{if(F.extension!=="md")return!0;let P=Pr({app:r,file:F,db:k});return P.length===0?!0:P.every(T=>g.isTagVisible(T))})}if(e.enableFolderNotes&&e.hideFolderNoteInList){let k=No(e),F=new Map;y=y.filter(P=>{let T=P.parent;if(!(T instanceof ok.TFolder))return!0;if(!F.has(T.path)){let I=Pn(T,k);F.set(T.path,I?I.path:null)}return F.get(T.path)!==P.path})}if(o?.orderResults===!1)return y;let S=Tm(e,"folder",t);Pz(y,e,r,S);let w=e.filterPinnedByFolder?{restrictToFolderPath:t.path}:void 0;return Nz(y,e,"folder",w)}function fx(t,e,n,r,o,a){let i=VN(e),s=Wc(e),l=ti(e),c=Qo(e),u=po(c),p=Kc(e),m=Gd(p,n.showHiddenItems),g=Br(i,n.showHiddenItems),f=g.shouldFilterHiddenTags,h=Br(s,n.showHiddenItems),b=h.hasHiddenRules&&!n.showHiddenItems,v=Sr(),y=null,S=()=>y||(y=F3(r,e,n.showHiddenItems,l),y),w=P=>P3(P,{showHiddenItems:n.showHiddenItems,excludedFolderPatterns:l,excludedFilePropertyMatcher:u,fileNameMatcher:m,shouldFilterHiddenFileTags:b,hiddenFileTagVisibility:h,hideDrawingPreviewImages:e.hideDrawingPreviewImages,app:r,db:v}),k;if(t===bt)k=S().filter(P=>Pr({app:r,file:P,db:v}).length===0);else if(t===zt){if(!n.includeDescendantNotes)return[];k=S().filter(T=>{let I=Pr({app:r,file:T,db:v});return I.length===0||b&&I.some(N=>!h.isTagVisible(N))?!1:f?I.some(N=>g.isTagVisible(It(N))):!0})}else{let P=o?.findTagNode(t)??null,T=It(t);if(!T)k=[];else{let I=P?.path??T,N=G=>{let X=Pr({app:r,file:G,db:v});return X.length===0||b&&X.some(L=>!h.isTagVisible(L))?!1:X.some(L=>{let V=It(L);return uhe(V,I,n.includeDescendantNotes)?f?g.isTagVisible(V):!0:!1})};k=((()=>{if(!o||!o.hasNodes())return null;let G=o.collectTagFilePaths(I);return G.length===0&&!P?null:C3(G,r,w)})()??S()).filter(N)}}if(a?.orderResults===!1)return k;let F=Tm(e,"tag",null,t);return Pz(k,e,r,F),Nz(k,e,"tag")}function vx(t,e,n,r,o=null,a){let i=t===Oe,s=Cm(e,"any");if(i&&s.size===0)return[];let l=i?null:kn(t);if(!i&&!l)return[];let c=i?null:l?.key??null;if(!i&&(!c||!s.has(c)))return[];let u=i||!l?.valuePath?null:rr(l.valuePath);if(u!==null&&u.length===0)return[];let p=c??"",m=ti(e),g=Qo(e),f=po(g),h=Kc(e),b=Gd(h,n.showHiddenItems),v=Wc(e),y=Br(v,n.showHiddenItems),S=y.hasHiddenRules&&!n.showHiddenItems,w=Sr(),k=(()=>{if(i&&!n.includeDescendantNotes)return new Set;if(!o||!o.hasNodes())return null;if(i)return o.collectFilesForKeys(s);if(u===null)return o.collectFilePaths(Gn(p),n.includeDescendantNotes);let I=sa(p,u),N=o.findNode(I);return!N||N.kind!=="value"?new Set:o.collectFilePaths(I,n.includeDescendantNotes)})(),P=k?C3(k,r,I=>P3(I,{showHiddenItems:n.showHiddenItems,excludedFolderPatterns:m,excludedFilePropertyMatcher:f,fileNameMatcher:b,shouldFilterHiddenFileTags:S,hiddenFileTagVisibility:y,hideDrawingPreviewImages:e.hideDrawingPreviewImages,app:r,db:w})):F3(r,e,n.showHiddenItems,m).filter(N=>{let O=w?.getFile(N.path)??null,K=O?.properties;if(!K||K.length===0||S&&Pr({app:r,file:N,db:w,fileData:O}).some(V=>!y.isTagVisible(V)))return!1;if(i)return K.some(L=>s.has(Me(L.fieldKey)));let G=!1,X=!1;for(let L of K){if(Me(L.fieldKey)!==p)continue;if(G=!0,u===null){let D=rr(L.value);if(NN(D,L.valueKind)&&(X=!0,!n.includeDescendantNotes))return!0;continue}let V=rr(L.value);if(V&&fj(V,u))return!0}return u===null?n.includeDescendantNotes?G:X:!1});if(a?.orderResults===!1)return P;let T=Tm(e,W.PROPERTY,null,null,t);return Pz(P,e,r,T),Nz(P,e,"property")}var ok,ak=U(()=>{ok=require("obsidian");Ue();Yr();Mr();Rn();zn();rk();Nv();rs();_a();Dr();dn();Sn();Ot();$o();cn();gl()});function yx(t){return t.selectionType===W.FOLDER&&t.selectedFolder?t.selectedFolder.path:t.selectionType===W.TAG&&t.selectedTag?t.selectedTag:t.selectionType===W.PROPERTY&&t.selectedProperty?t.selectedProperty:null}function N3(t,e,n,r,o,a){return ca({selectionType:t.selectionType,selectedFolder:t.selectedFolder,selectedTag:t.selectedTag,selectedProperty:t.selectedProperty},e,n,r,o,a)}function ik(t){return t===W.TAG?W.TAG:t===W.PROPERTY?W.PROPERTY:W.FOLDER}function bx(t){return t.selectionType===W.TAG&&t.selectedTag?`tag:${t.selectedTag}`:t.selectionType===W.PROPERTY&&t.selectedProperty?`property:${t.selectedProperty}`:`folder:${t.selectedFolder?.path??"/"}`}function ca(t,e,n,r,o,a,i){return t.selectionType===W.FOLDER&&t.selectedFolder?Uy(t.selectedFolder,e,n,r,i):t.selectionType===W.TAG&&t.selectedTag?fx(t.selectedTag,e,n,r,o,i):t.selectionType===W.PROPERTY&&t.selectedProperty?vx(t.selectedProperty,e,n,r,a,i):[]}function Sx(t,e){if(t.length===0)return null;let n=-1;for(let r=0;r<t.length;r++)if(e.has(t[r].path)){n=r;break}if(n===-1)return null;for(let r=n;r<t.length;r++)if(!e.has(t[r].path))return t[r];if(n>0){for(let r=n-1;r>=0;r--)if(!e.has(t[r].path))return t[r]}return null}function Ky(t,e,n){let r=Math.max(0,Math.min(e,n)),o=Math.min(t.length-1,Math.max(e,n)),a=[];for(let i=r;i<=o;i++)t[i]&&a.push(t[i]);return a}function Wy(t,e){let n=new Set(t),r=!1;return e.forEach(o=>{n.has(o.path)||(r=!0),n.add(o.path)}),{selectedFiles:n,changed:r}}function Iz(t,e){return e?t.findIndex(n=>n.path===e.path):-1}function wx(t,e){if(!e||t.length<2)return[...t];let n=new Map(t.map(a=>[a.path,a])),r=[],o=new Set;return e.forEach(a=>{let i=n.get(a.path);!i||o.has(a.path)||(o.add(a.path),r.push(i))}),t.forEach(a=>{o.has(a.path)||(o.add(a.path),r.push(a))}),r}function Tx(t,e,n){if(t.length===0)return null;let r=Iz(t,e),o=r===-1?n==="next"?0:t.length-1:n==="next"?r+1:r-1;return o<0||o>=t.length?null:t[o]??null}async function Xh(t,e,n,r={}){let{openInEditor:o=!0,activeFile:a=!1}=r;if(!t){e({type:"CLEAR_FILE_SELECTION"});return}if(e({type:"SET_SELECTED_FILE",file:t}),!o)return;let i=n.workspace.getLeaf(!1);if(i)try{await i.openFile(t,{active:a})}catch(s){console.error("Failed to open next file:",s)}}var ai=U(()=>{Ue();ak()});var Qm,I3,au,xz,kx,Ez=U(()=>{Qm=require("obsidian");Ee();Tz();w3();Fn();jr();Nm();rs();ai();tp();xn();I3=12,au=class extends Error{constructor(n,r){super(r??n);this.code=n;this.name="FolderMoveError"}},xz=class extends $h{constructor(n,r,o,a,i,s){super(n,r,o,a,i);this.onCancel=s}onClose(){super.onClose(),this.onCancel()}},kx=class{constructor(e){this.app=e.app,this.settingsProvider=e.settingsProvider,this.getCommandQueue=e.getCommandQueue,this.resolveFolderDisplayLabel=e.resolveFolderDisplayLabel,this.folderPathSettingsSync=e.folderPathSettingsSync}async moveFilesToFolder(e){let{files:n,targetFolder:r,selectionContext:o,showNotifications:a=!0}=e,i={movedCount:0,skippedCount:0,cancelledCount:0,errors:[]};if(n.length===0)return i;let s=o?.selectedFile?.path??null,l=this.getCommandQueue();if(l){let c=this.resolveMoveFileConflictsSetting(),u=this.resolveFolderDisplayLabel(r),p=async()=>{let g=0,f=[],h=[],b=[],v=[],y=new Map,S=new Set,w=new Set;r.children.forEach(I=>{let N=(0,Qm.normalizePath)(I.path);y.set(N,I),w.add(N)});let k=(I,N,O)=>{let K=Mi(I),G=K?$l(I.basename):I.basename,X=hl(r.path,G,I.extension,this.app,{occupiedPaths:N,useVaultLookup:O,baseNameSuffix:K?Fa:""});return od(r.path,X,I.extension)};for(let I of n){let N=I.path,O=xa(r.path,I.name);if(O===N)continue;let K=S.has(O),G=K?null:y.get(O)??null;if(!K&&!G){b.push({file:I,originalPath:N,targetPath:O,overwrite:!1}),S.add(O),w.add(O);continue}let X=k(I,w,!1);w.add(X);let L=G instanceof Qm.TFile;if(c==="rename"){b.push({file:I,originalPath:N,targetPath:X,overwrite:!1}),S.add(X);continue}v.push({file:I,originalPath:N,desiredPath:O,suggestedPath:X,canOverwrite:L})}if(c==="ask"&&v.length>0){let I=v.map(O=>{let K=O.suggestedPath.split("/").pop()??O.file.name;return{sourceFileName:O.file.name,suggestedFileName:K,canOverwrite:O.canOverwrite}}),N=await new Promise(O=>{new hx(this.app,{targetFolderName:u,conflicts:I,onResolve:O}).open()});if(!N)return g=v.length,{movedCount:0,skippedCount:0,cancelledCount:g,movedSourcePaths:[],errors:[]};for(let O of v){let K=N==="overwrite"&&O.canOverwrite&&!S.has(O.desiredPath),G=K?O.desiredPath:O.suggestedPath;!K&&S.has(G)&&(G=k(O.file,w,!1),w.add(G)),b.push({file:O.file,originalPath:O.originalPath,targetPath:G,overwrite:K}),S.add(G)}}let F=0,P=0,T=async I=>{let N=I.targetPath;!I.overwrite&&this.app.vault.getAbstractFileByPath(N)&&(N=k(I.file,S,!0),S.add(N));try{if(I.overwrite){let O=this.app.vault.getAbstractFileByPath(N);if(O instanceof Qm.TFile)await this.app.fileManager.trashFile(O);else if(O)return{status:"skipped"}}return await this.app.fileManager.renameFile(I.file,N),{status:"moved",originalPath:I.originalPath}}catch(O){return console.error("Error moving file:",I.originalPath,O),{status:"error",originalPath:I.originalPath,error:O}}};for(let I=0;I<b.length;I+=I3){let N=b.slice(I,I+I3),O=await Promise.all(N.map(K=>T(K)));for(let K of O){if(K.status==="moved"){F+=1,f.push(K.originalPath);continue}if(K.status==="skipped"){P+=1;continue}h.push({filePath:K.originalPath,error:K.error})}}return{movedCount:F,skippedCount:P,cancelledCount:g,movedSourcePaths:f,errors:h}},m=await l.executeMoveFiles(n,r,p);if(!m.success||!m.data)throw m.error?(console.error("Error during move operation:",m.error),m.error):new Error("Move operation failed");if(i.movedCount=m.data.movedCount,i.skippedCount=m.data.skippedCount,i.cancelledCount=m.data.cancelledCount,o&&s){let g=new Set(m.data.movedSourcePaths);if(g.has(s)){let f=Sx(o.allFiles,g);await Xh(f,o.dispatch,this.app)}}if(Array.isArray(m.data.errors)&&m.data.errors.length>0)for(let g of m.data.errors){let f=this.app.vault.getFileByPath(g.filePath);if(f){i.errors.push({file:f,error:g.error});continue}let h=n.find(b=>b.path===g.filePath)??n[0];i.errors.push({file:h,error:g.error})}}if(a){if(i.skippedCount>0){let c=n.length===1?d.dragDrop.errors.itemAlreadyExists.replace("{name}",n[0].name):d.dragDrop.notifications.filesAlreadyExist.replace("{count}",i.skippedCount.toString());de(c,{timeout:Lt.NOTICE_ERROR,variant:"warning"})}if(i.errors.length>0&&n.length===1){let c=i.errors[0]?.error;de(d.dragDrop.errors.failedToMove.replace("{error}",to(c)),{variant:"warning"})}}return i}async moveFilesWithModal(e,n){if(e.length===0)return;let r=new Set;e.length===1&&e[0].parent&&r.add(e[0].parent.path);let o=e.length>1,a=this.getMovePlaceholder(this.getMoveTargetLabelForFiles(e),!o);new $h(this.app,async s=>{let l=await this.moveFilesToFolder({files:e,targetFolder:s,selectionContext:n,showNotifications:!0});e.length>1&&l.movedCount>0&&de(d.fileSystem.notifications.movedMultipleFiles.replace("{count}",l.movedCount.toString()).replace("{folder}",s.name),{variant:"success"})},a,d.modals.folderSuggest.instructions.move,r).open()}async moveFolderWithModal(e){let n=this.resolveFolderDisplayLabel(e),r=new Set,o=a=>{r.add(a.path),a.children.forEach(i=>{i instanceof Qm.TFolder&&o(i)})};return o(e),new Promise(a=>{let i=!1,s=c=>{i||(i=!0,a(c))},l=new xz(this.app,async c=>{if(c.path===e.path||c.path.startsWith(`${e.path}/`)){de(d.dragDrop.errors.cannotMoveIntoSelf,{variant:"warning"});return}if(xa(c.path,e.name)===e.path){l.close(),s({status:"cancelled"});return}try{let p=await this.moveFolderToTarget(e,c);de(d.fileSystem.notifications.folderMoved.replace("{name}",n),{variant:"success"}),l.close(),s({status:"success",data:p})}catch(p){if(p instanceof au){if(p.code==="destination-exists"){de(d.fileSystem.errors.folderAlreadyExists.replace("{name}",n),{variant:"warning"});return}if(p.code==="invalid-target"){de(d.dragDrop.errors.cannotMoveIntoSelf,{variant:"warning"});return}}console.error("Failed to move folder via modal:",p),de(d.dragDrop.errors.failedToMoveFolder.replace("{name}",n),{variant:"warning"}),l.close(),s({status:"error",error:p})}},this.getMovePlaceholder(n,!0),d.modals.folderSuggest.instructions.move,r,()=>s({status:"cancelled"}));l.open()})}async moveFolderToTarget(e,n){if(n.path===e.path||n.path.startsWith(`${e.path}/`))throw new au("invalid-target");let r=xa(n.path,e.name);if(r===e.path)throw new au("invalid-target");if(this.app.vault.getAbstractFileByPath(r))throw new au("destination-exists");let a=e.path;if(await this.app.fileManager.renameFile(e,r),!(this.app.vault.getAbstractFileByPath(r)instanceof Qm.TFolder))throw new au("verification-failed");return await this.folderPathSettingsSync.syncHiddenFolderPathChange(a,r),{oldPath:a,newPath:r,targetFolder:n}}resolveMoveFileConflictsSetting(){return JP(this.settingsProvider.settings.moveFileConflicts,"ask")}getMovePlaceholder(e,n){let r=n?`'${e}'`:e;return d.modals.folderSuggest.placeholder(r)}getMoveTargetLabelForFiles(e){return e.length===1?e[0].name:d.modals.folderSuggest.multipleFilesLabel(e.length)}}});var x3={};In(x3,{promptDeleteFileAttachments:()=>fhe});function hhe(t){let e={path:"",name:"",folders:new Map,files:[]};for(let n of t){let r=n.path.split("/").filter(Boolean);if(!r.pop()){e.files.push(n);continue}let a=e,i="";for(let s of r){i=i?`${i}/${s}`:s;let l=a.folders.get(s);if(l){a=l;continue}let c={path:i,name:s,folders:new Map,files:[]};a.folders.set(s,c),a=c}a.files.push(n)}return e}function fhe(t,e){return new Promise(n=>{new Mz(t,e,n).open()})}var iu,Mz,E3=U(()=>{iu=require("obsidian");Ee();Mr();Mz=class extends iu.Modal{constructor(n,r,o){super(n);this.onResolve=o;this.buttonBindings=[];this.hasResolved=!1;this.selectedPaths=new Set;this.viewMode="tree";this.fileCheckboxesByPath=new Map;this.selectableElementsByPath=new Map;this.folderSelectableElementByPath=new Map;this.folderCheckboxByPath=new Map;this.folderDescendantFilesByPath=new Map;this.folderCollapsedByPath=new Map;this.galleryRendered=!1;this.selectionUiFrame=null;this.attachments=r.slice().sort((a,i)=>a.path.localeCompare(i.path)),this.attachments.forEach(a=>{this.selectedPaths.add(a.path)})}onOpen(){this.modalEl.addClass("mod-scrollable-content"),this.modalEl.addClass("mod-file-browser"),this.titleEl.setText(d.modals.fileSystem.deleteFileAttachmentsTitle);let n=this.attachments.length===1?d.modals.fileSystem.deleteFileAttachmentsDescriptionSingle:d.modals.fileSystem.deleteFileAttachmentsDescriptionMultiple;this.contentEl.createEl("p",{text:n,cls:"file-browser-description"});let r=this.contentEl.createDiv({cls:"modal-view-options-toolbar"}),o=r.createDiv({cls:["clickable-icon","modal-view-option","is-active"],attr:{"aria-label":d.modals.fileSystem.deleteFileAttachmentsViewFileTreeAriaLabel}});(0,iu.setIcon)(o,"lucide-list");let a=r.createDiv({cls:["clickable-icon","modal-view-option"],attr:{"aria-label":d.modals.fileSystem.deleteFileAttachmentsViewGalleryAriaLabel}});(0,iu.setIcon)(a,"lucide-image");let i=this.contentEl.createDiv({cls:"file-browser-views"}),s=i.createDiv({cls:"file-tree"}),l=i.createDiv({cls:"attachments-gallery"});this.renderTreeView(s),this.applyViewMode(s,l,o,a),this.bindClick(o,()=>{this.viewMode="tree",this.applyViewMode(s,l,o,a)}),this.bindClick(a,()=>{this.viewMode="gallery",this.applyViewMode(s,l,o,a)});let c=this.contentEl.createDiv({cls:"modal-button-container"}),u=c.createEl("button",{text:d.common.delete,cls:"mod-warning"}),p=c.createEl("button",{text:d.common.cancel,cls:"mod-cancel"});this.bindClick(u,()=>{let m=this.attachments.filter(g=>this.selectedPaths.has(g.path));this.resolveAndClose(m)}),this.bindClick(p,()=>{this.resolveAndClose(null)}),this.scope.register([],"Enter",m=>{m.preventDefault();let g=this.attachments.filter(f=>this.selectedPaths.has(f.path));this.resolveAndClose(g)}),this.scope.register([],"Escape",m=>{m.preventDefault(),this.resolveAndClose(null)})}onClose(){this.selectionUiFrame!==null&&(window.cancelAnimationFrame(this.selectionUiFrame),this.selectionUiFrame=null);for(let n of this.buttonBindings)n.element.removeEventListener("click",n.handler),n.element.instanceOf(HTMLInputElement)&&n.element.removeEventListener("change",n.handler);this.hasResolved||(this.onResolve(null),this.hasResolved=!0)}applyViewMode(n,r,o,a){let i=this.viewMode==="tree";!i&&!this.galleryRendered&&(this.renderGalleryView(r),this.galleryRendered=!0),n.style.display=i?"":"none",r.style.display=i?"none":"",o.toggleClass("is-active",i),a.toggleClass("is-active",!i)}renderTreeView(n){let r=hhe(this.attachments);if(!(r.folders.size>0||r.files.length>0))return;let a=Array.from(r.folders.values()).sort((s,l)=>s.path.localeCompare(l.path)),i=r.files.slice().sort((s,l)=>s.path.localeCompare(l.path));for(let s of i)this.renderFileNode(n,s,s.name);for(let s of a)this.renderFolderNode(n,s);this.updateSelectionUI()}renderFolderNode(n,r){let o=n.createDiv({cls:"tree-item"}),a=o.createDiv({cls:["tree-item-self","is-clickable","mod-collapsible","mod-folder"]});this.folderSelectableElementByPath.set(r.path,a);let i=a.createDiv({cls:["tree-item-icon","collapse-icon"]});(0,iu.setIcon)(i,"chevron-down");let s=a.createDiv({cls:["tree-item-inner","file-tree-item"]}),l=s.createEl("input",{cls:"file-tree-item-checkbox",type:"checkbox"});this.folderCheckboxByPath.set(r.path,l);let c=s.createDiv({cls:"file-tree-item-icon"});(0,iu.setIcon)(c,"lucide-folder"),s.createDiv({cls:"file-tree-item-title",text:r.name});let u=o.createDiv({cls:"tree-item-children"}),p=r.files.slice().sort((h,b)=>h.path.localeCompare(b.path));for(let h of p)this.renderFileNode(u,h,h.name);let m=Array.from(r.folders.values()).sort((h,b)=>h.path.localeCompare(b.path));for(let h of m)this.renderFolderNode(u,h);let g=[];p.forEach(h=>{g.push(h.path)});for(let h of m){let b=this.folderDescendantFilesByPath.get(h.path);b&&g.push(...b)}this.folderDescendantFilesByPath.set(r.path,g);let f=h=>{this.folderCollapsedByPath.set(r.path,h),u.style.display=h?"none":"",i.toggleClass("is-collapsed",h),(0,iu.setIcon)(i,h?"chevron-right":"chevron-down")};f(this.folderCollapsedByPath.get(r.path)??!1),this.bindChange(l,()=>{let h=this.folderDescendantFilesByPath.get(r.path)??[],b=l.checked,v=!1;h.forEach(y=>{let S=this.selectedPaths.has(y);if(b){S||(this.selectedPaths.add(y),v=!0);return}S&&(this.selectedPaths.delete(y),v=!0)}),v&&this.scheduleSelectionUIUpdate()}),this.bindClick(a,h=>{if(h.target instanceof HTMLInputElement)return;let b=this.folderCollapsedByPath.get(r.path)??!1;f(!b)})}renderFileNode(n,r,o){let i=n.createDiv({cls:"tree-item"}).createDiv({cls:["tree-item-self","is-clickable","mod-file"]});this.registerSelectableElement(r.path,i);let s=i.createDiv({cls:["tree-item-inner","file-tree-item"]}),l=s.createEl("input",{cls:"file-tree-item-checkbox",type:"checkbox"});this.registerFileCheckbox(r.path,l);let c=s.createDiv({cls:"file-tree-item-icon"});(0,iu.setIcon)(c,"lucide-file"),s.createDiv({cls:"file-tree-item-title",text:o}),this.bindChange(l,()=>{this.setPathSelection(r.path,l.checked)}),this.bindClick(i,u=>{u.target instanceof HTMLInputElement||this.togglePathSelection(r.path)})}renderGalleryView(n){let r=new Map;this.attachments.forEach(o=>{let a=n.createDiv({cls:["download-attachment-item","is-selected"],attr:{"aria-label":o.name}});this.registerSelectableElement(o.path,a);let i=a.createEl("input",{type:"checkbox"});this.registerFileCheckbox(o.path,i);let s=a.createDiv({cls:["download-attachment-embed","media-embed","image-embed","is-loaded"]});if(Ms(o)){let l=r.get(o.path)??this.app.vault.getResourcePath(o);r.set(o.path,l),s.createEl("img",{attr:{src:l,alt:o.name}})}else{let l=s.createDiv({cls:"file-tree-item-icon"});(0,iu.setIcon)(l,"lucide-file")}this.bindChange(i,()=>{this.setPathSelection(o.path,i.checked)}),this.bindClick(a,l=>{l.target instanceof HTMLInputElement||this.togglePathSelection(o.path)})}),this.updateSelectionUI()}setPathSelection(n,r){this.selectedPaths.has(n)!==r&&(r?this.selectedPaths.add(n):this.selectedPaths.delete(n),this.scheduleSelectionUIUpdate())}togglePathSelection(n){this.setPathSelection(n,!this.selectedPaths.has(n))}registerFileCheckbox(n,r){let o=this.fileCheckboxesByPath.get(n);o?o.push(r):this.fileCheckboxesByPath.set(n,[r])}registerSelectableElement(n,r){let o=this.selectableElementsByPath.get(n);o?o.push(r):this.selectableElementsByPath.set(n,[r])}updateSelectionUI(){for(let[n,r]of this.fileCheckboxesByPath){let o=this.selectedPaths.has(n);for(let a of r)a.checked=o}for(let[n,r]of this.selectableElementsByPath){let o=this.selectedPaths.has(n);for(let a of r)a.toggleClass("is-selected",o)}for(let[n,r]of this.folderCheckboxByPath){let o=this.folderDescendantFilesByPath.get(n)??[],a=o.length,i=0;o.forEach(l=>{this.selectedPaths.has(l)&&(i+=1)}),r.indeterminate=i>0&&i<a,r.checked=a>0&&i===a;let s=this.folderSelectableElementByPath.get(n);s&&s.toggleClass("is-selected",i>0)}}scheduleSelectionUIUpdate(){this.selectionUiFrame===null&&(this.selectionUiFrame=window.requestAnimationFrame(()=>{this.selectionUiFrame=null,this.updateSelectionUI()}))}bindClick(n,r){let o=a=>{a instanceof MouseEvent&&r(a)};n.addEventListener("click",o),this.buttonBindings.push({element:n,handler:o})}bindChange(n,r){let o=a=>{r()};n.addEventListener("change",o),this.buttonBindings.push({element:n,handler:o})}resolveAndClose(n){this.hasResolved||(this.hasResolved=!0,this.onResolve(n),this.close())}}});var Zm,Fx,M3=U(()=>{Zm=require("obsidian");Ee();Ai();Ue();jr();tp();gl();_a();Mr();Fn();ai();xn();Fx=class{constructor(e){this.app=e.app,this.settingsProvider=e.settingsProvider,this.getTagTreeService=e.getTagTreeService,this.getPropertyTreeService=e.getPropertyTreeService,this.getCommandQueue=e.getCommandQueue,this.getVisibilityPreferences=e.getVisibilityPreferences,this.resolveFolderDisplayLabel=e.resolveFolderDisplayLabel,this.notifyError=e.notifyError,this.folderPathSettingsSync=e.folderPathSettingsSync}async deleteFolder(e,n,r){let o=this.resolveFolderDisplayLabel(e),a=async()=>{let i=e.path;await this.app.fileManager.trashFile(e),await this.folderPathSettingsSync.removeHiddenFolderPathMatch(i),r?.()};if(n){new En(this.app,d.modals.fileSystem.deleteFolderTitle.replace("{name}",o),d.modals.fileSystem.deleteFolderConfirm,async()=>{try{await a()}catch(s){this.notifyError(d.fileSystem.errors.deleteFolder,s)}}).open();return}try{await a()}catch(i){this.notifyError(d.fileSystem.errors.deleteFolder,i)}}async deleteFile(e,n,r,o){let a=this.getDeleteFileTitle(e),i=async()=>{let l=this.prepareAttachmentDeletionState([e]);try{o&&await o(),await this.clearOpenLeavesForFileDelete(e),await this.app.fileManager.trashFile(e),r?.()}catch(c){this.notifyError(d.fileSystem.errors.deleteFile,c);return}await this.maybeDeleteAttachmentsAfterFileDelete(l.candidatesBySourcePath,new Set([e.path]),l.setting)};if(n){new En(this.app,d.modals.fileSystem.deleteFileTitle.replace("{name}",a),d.modals.fileSystem.deleteFileConfirm,async()=>{let c=this.getCommandQueue();c?await c.executeDeleteFiles([e],i):await i()}).open();return}let s=this.getCommandQueue();s?await s.executeDeleteFiles([e],i):await i()}async deleteSelectedFile(e,n,r,o,a,i){let s=i?.some(u=>u.path===e.path)===!0?i:ca({selectionType:r.selectionType,selectedFolder:r.selectedFolder??null,selectedTag:r.selectedTag??null,selectedProperty:r.selectedProperty??null},n,this.getVisibilityPreferences(),this.app,this.getTagTreeService(),this.getPropertyTreeService()),l=null,c=s.findIndex(u=>u.path===e.path);c!==-1&&s.length>1&&(c<s.length-1?l=s[c+1]:c>0&&(l=s[c-1])),await this.deleteFile(e,a,void 0,async()=>{if(l){let u=this.app.vault.getFileByPath(l.path);u?(await Xh(u,o,this.app,{openInEditor:!1}),await this.replaceOpenLeavesForFileDelete(e,u)):await Xh(null,o,this.app)}else o({type:"SET_SELECTED_FILE",file:null});window.setTimeout(()=>{let u=activeDocument.querySelector(".nn-list-pane-scroller");u instanceof HTMLElement&&u.focus()},Lt.FILE_OPERATION_DELAY)})}async deleteMultipleFiles(e,n=!0,r){if(e.length===0)return;let o=async()=>{let i=this.prepareAttachmentDeletionState(e);if(r)try{await r()}catch(p){console.error("Pre-delete action failed:",p)}let s=await this.trashFilesWithOpenLeafCleanupCore(e),l=new Set(s.trashedSourcePaths),c=s.trashedCount,{errors:u}=s;if(await this.maybeDeleteAttachmentsAfterFileDelete(i.candidatesBySourcePath,l,i.setting),c>0&&de(d.fileSystem.notifications.deletedMultipleFiles.replace("{count}",c.toString()),{variant:"success"}),u.length>0){let p=u.length===1?d.fileSystem.errors.failedToDeleteFile.replace("{name}",u[0].file.name).replace("{error}",to(u[0].error)):d.fileSystem.errors.failedToDeleteMultipleFiles.replace("{count}",u.length.toString());de(p,{variant:"warning"})}};if(n){new En(this.app,d.fileSystem.confirmations.deleteMultipleFiles.replace("{count}",e.length.toString()),d.fileSystem.confirmations.deleteConfirmation,async()=>{let s=this.getCommandQueue();s?await s.executeDeleteFiles(e,o):await o()}).open();return}let a=this.getCommandQueue();a?await a.executeDeleteFiles(e,o):await o()}async trashFilesWithOpenLeafCleanup(e){let n=[...e];if(n.length===0)return{trashedCount:0,failedCount:0,trashedSourcePaths:[],errors:[]};let r=this.getCommandQueue();if(!r)return this.trashFilesWithOpenLeafCleanupCore(n);let o={trashedCount:0,failedCount:0,trashedSourcePaths:[],errors:[]},a=!1,i=await r.executeDeleteFiles(n,async()=>{o=await this.trashFilesWithOpenLeafCleanupCore(n),a=!0});if(i.success&&a)return o;let s=i.error??new Error("Failed to move files to trash.");console.error("Error moving files to trash:",s);let l=new Set(o.trashedSourcePaths);return{trashedCount:o.trashedCount,failedCount:n.length-o.trashedCount,trashedSourcePaths:o.trashedSourcePaths,errors:n.filter(c=>!l.has(c.path)).map(c=>({file:c,error:s}))}}async deleteFilesWithSmartSelection(e,n,r,o){let a=Array.from(e).map(s=>this.app.vault.getFileByPath(s)).filter(s=>s!==null);if(a.length===0)return;let i=Sx(n,e);await this.deleteMultipleFiles(a,o,async()=>{if(i){let s=this.app.vault.getFileByPath(i.path);s?(await Xh(s,r,this.app,{openInEditor:!1}),await this.replaceOpenLeavesForFilesDelete(a,s)):await Xh(null,r,this.app)}else r({type:"CLEAR_FILE_SELECTION"});window.setTimeout(()=>{let s=activeDocument.querySelector(".nn-list-pane-scroller");s instanceof HTMLElement&&s.focus()},Lt.FILE_OPERATION_DELAY)})}hasOpenLeafForFiles(e){let n=new Set(e.map(r=>r.path));try{return sh(this.app).some(r=>{let{view:o}=r;if(!(o instanceof Zm.FileView))return!1;let a=o.file;return a?n.has(a.path):!1})}catch{return!1}}async trashFilesWithOpenLeafCleanupCore(e){let n=e.map(a=>a.path),r=[],o=[];if(this.hasOpenLeafForFiles(e))for(let a=0;a<e.length;a+=1){let i=e[a],s=n[a]??i.path;try{await this.clearOpenLeavesForFileDelete(i),await this.app.fileManager.trashFile(i),o.push(s),a<e.length-1&&await new Promise(l=>window.setTimeout(l,0))}catch(l){r.push({file:i,error:l}),console.error("Error deleting file:",s,l)}}else(await Promise.allSettled(e.map(i=>this.app.fileManager.trashFile(i)))).forEach((i,s)=>{let l=e[s],c=n[s]??l.path;if(i.status==="fulfilled"){o.push(c);return}r.push({file:l,error:i.reason}),console.error("Error deleting file:",c,i.reason)});return{trashedCount:o.length,failedCount:r.length,trashedSourcePaths:o,errors:r}}isAttachmentFile(e){return!oh(e)}normalizeAttachmentLinkTarget(e){let n=e.trim();if(!n)return null;let r=n.split("|")[0]?.trim()??"";if(!r)return null;let o=r.split(/[#^]/,1)[0]?.trim()??"";if(!o)return null;let a=o.toLowerCase();return a.includes("://")||a.startsWith("mailto:")?null:o}getLinkedAttachmentCandidates(e){let n=this.app.metadataCache.getFileCache(e);if(!n)return[];let r=new Map,o=[...n.links??[],...n.embeds??[],...n.frontmatterLinks??[]];for(let a of o){let i=this.normalizeAttachmentLinkTarget(a.link);if(!i)continue;let s=this.app.metadataCache.getFirstLinkpathDest(i,e.path);!(s instanceof Zm.TFile)||!this.isAttachmentFile(s)||r.set(s.path,s)}return Array.from(r.values()).sort((a,i)=>a.path.localeCompare(i.path))}getDrawingCompanionAttachmentCandidates(e){let n=jd(this.app,e);if(!n?.supportsCompanionImages)return[];let r=new Map;for(let o of nj(e,n.providerId)){let a=this.app.vault.getFileByPath(o);!a||!this.isAttachmentFile(a)||r.set(a.path,a)}return Array.from(r.values()).sort((o,a)=>o.path.localeCompare(a.path))}getAttachmentCandidates(e){let n=new Map;for(let r of[...this.getLinkedAttachmentCandidates(e),...this.getDrawingCompanionAttachmentCandidates(e)])n.set(r.path,r);return Array.from(n.values()).sort((r,o)=>r.path.localeCompare(o.path))}getOrphanAttachments(e,n){if(e.length===0)return[];let r=new Map;e.forEach(l=>{r.set(l.path,l)});let o=new Set(r.keys()),a=new Set,{resolvedLinks:i}=this.app.metadataCache;for(let l of Object.keys(i)){if(n.has(l))continue;let c=i[l];for(let u of Object.keys(c))if(o.has(u)&&(a.add(u),a.size===o.size))break;if(a.size===o.size)break}return Array.from(r.values()).filter(l=>!a.has(l.path)).sort((l,c)=>l.path.localeCompare(c.path))}resolveAttachmentDeletionSetting(){return ZP(this.settingsProvider.settings.deleteAttachments,"ask")}collectAttachmentCandidatesBySourcePath(e,n){let r=new Map;return n==="never"||e.forEach(o=>{r.set(o.path,this.getAttachmentCandidates(o))}),r}prepareAttachmentDeletionState(e){let n=this.resolveAttachmentDeletionSetting();return{setting:n,candidatesBySourcePath:this.collectAttachmentCandidatesBySourcePath(e,n)}}getAttachmentCandidatesForDeletedSources(e,n){if(e.size===0||n.size===0)return[];let r=new Map;return n.forEach(o=>{let a=e.get(o);!a||a.length===0||a.forEach(i=>{n.has(i.path)||r.set(i.path,i)})}),Array.from(r.values())}async maybeDeleteAttachmentsAfterFileDelete(e,n,r){if(r==="never"||n.size===0)return;let o=this.getAttachmentCandidatesForDeletedSources(e,n);if(o.length!==0)try{await this.maybeDeleteOrphanedAttachments(o,n,r)}catch(a){this.notifyError(d.fileSystem.errors.deleteAttachments,a)}}async maybeDeleteOrphanedAttachments(e,n,r){if(r==="never")return;let o=this.getOrphanAttachments(e,n);if(o.length===0)return;let a=o;if(r==="ask"){let{promptDeleteFileAttachments:c}=await Promise.resolve().then(()=>(E3(),x3));a=await c(this.app,o)}if(!a||a.length===0)return;let i=await Promise.allSettled(a.map(c=>this.app.fileManager.trashFile(c))),s=[];if(i.forEach((c,u)=>{c.status==="rejected"&&(s.push({file:a[u],error:c.reason}),console.error("Error deleting attachment:",a[u].path,c.reason))}),s.length===0)return;let l=s.length===1?d.fileSystem.errors.failedToDeleteFile.replace("{name}",s[0].file.name).replace("{error}",to(s[0].error)):d.fileSystem.errors.failedToDeleteMultipleFiles.replace("{count}",s.length.toString());de(l,{variant:"warning"})}getDeleteFileTitle(e){let n=this.settingsProvider.settings,r=e.parent;if(!(r instanceof Zm.TFolder))return e.basename;let o=No(n);return zs(e,r,o)?e.path:e.basename}getLeavesDisplayingFile(e){try{let n=[],r=sh(this.app);for(let o of r){let a=o.view;!(a instanceof Zm.FileView)||a.file?.path!==e.path||n.push(o)}return n}catch{return[]}}getActiveFileViewLeaf(){try{return this.app.workspace.getActiveViewOfType(Zm.FileView)?.leaf??null}catch{return null}}async clearOpenLeavesForFileDelete(e){let n=this.getLeavesDisplayingFile(e);if(n.length===0)return;let r=this.getActiveFileViewLeaf(),o={type:"empty",state:{}};for(let a of n){try{await a.setViewState(o)}catch{}if(!(r&&a===r))try{a.detach()}catch{}}}async replaceOpenLeavesForFileDelete(e,n){let r=this.getLeavesDisplayingFile(e);if(r.length===0){let i=this.app.workspace.getLeaf(!1);if(!i)return;try{await i.openFile(n,{active:!0})}catch{}return}let o=this.getActiveFileViewLeaf(),a=o&&r.includes(o)?o:r[0]??null;if(a){try{await a.openFile(n,{active:!0})}catch{}let i={type:"empty",state:{}};for(let s of r)if(s!==a){try{await s.setViewState(i)}catch{}try{s.detach()}catch{}}return}}async replaceOpenLeavesForFilesDelete(e,n){let r=new Set;for(let i of e)this.getLeavesDisplayingFile(i).forEach(s=>{r.add(s)});if(r.size===0){let i=this.app.workspace.getLeaf(!1);if(!i)return;try{await i.openFile(n,{active:!0})}catch{}return}let o=this.getActiveFileViewLeaf(),a=o&&r.has(o)?o:Array.from(r)[0]??null;if(a){try{await a.openFile(n,{active:!0})}catch{}let i={type:"empty",state:{}};for(let s of r)if(s!==a){try{await s.setViewState(i)}catch{}try{s.detach()}catch{}}return}}}});var Ti,Px,Rz=U(()=>{Ti=require("obsidian");Ee();fh();Ai();Ue();jr();Nm();rs();As();ap();_a();Zr();tp();Fn();ed();cn();Ot();dn();PT();v3();Vm();Sn();y3();Ez();M3();wi();Ez();Px=class{constructor(e,n,r,o,a,i,s){this.app=e;this.getTagTreeService=n;this.getPropertyTreeService=r;this.getCommandQueue=o;this.getMetadataService=a;this.getVisibilityPreferences=i;this.settingsProvider=s;this.manualSortNewFileContextProvider=null;this.folderPathSettingsSync=new gx(this.settingsProvider),this.moveService=new kx({app:this.app,settingsProvider:this.settingsProvider,getCommandQueue:this.getCommandQueue,resolveFolderDisplayLabel:l=>this.resolveFolderDisplayLabel(l),folderPathSettingsSync:this.folderPathSettingsSync}),this.deletionService=new Fx({app:this.app,settingsProvider:this.settingsProvider,getTagTreeService:this.getTagTreeService,getPropertyTreeService:this.getPropertyTreeService,getCommandQueue:this.getCommandQueue,getVisibilityPreferences:this.getVisibilityPreferences,resolveFolderDisplayLabel:l=>this.resolveFolderDisplayLabel(l),notifyError:(l,c,u)=>this.notifyError(l,c,u),folderPathSettingsSync:this.folderPathSettingsSync})}resolveFolderDisplayLabel(e){let n=this.getMetadataService();return n?_s({app:this.app,metadataService:n,settings:{customVaultName:this.settingsProvider.settings.customVaultName},folderPath:e.path,fallbackName:e.name}):e.path==="/"?this.settingsProvider.settings.customVaultName||this.app.vault.getName():e.name}notifyError(e,n,r){let o=e.replace("{error}",to(n,r??d.common.unknownError));de(o,{variant:"warning"})}setManualSortNewFileContextProvider(e){return this.manualSortNewFileContextProvider=e,()=>{this.manualSortNewFileContextProvider===e&&(this.manualSortNewFileContextProvider=null)}}resolveManualSortNewFileContext(e,n,r){let o=e!==void 0?e:this.manualSortNewFileContextProvider?.()??null;return!o||o.targetType!==n||o.targetKey!==r?null:o}async waitForManualSortNewFileContextProviderRefresh(){await new Promise(e=>{window.requestAnimationFrame(()=>{window.setTimeout(e,0)})})}async getManualSortNewFileContextForTarget(e,n,r={}){let o=this.resolveManualSortNewFileContext(void 0,e,n);if(o||!r.waitForSelectionUpdate)return o;for(let a=0;a<3;a+=1){await this.waitForManualSortNewFileContextProviderRefresh();let i=this.resolveManualSortNewFileContext(void 0,e,n);if(i)return i}return null}async writeManualSortNewFilePlacement(e,n){try{let r=await AT(this.app,n.files,e,n.assignments);r.failed>0&&de(d.dragDrop.errors.failedToSetProperty.replace("{error}",zh(r)),{variant:"warning"})}catch(r){de(d.dragDrop.errors.failedToSetProperty.replace("{error}",to(r,d.common.unknownError)),{variant:"warning"})}}openManualSortNewFileCompactionConfirm(e,n){new En(this.app,d.modals.manualSortConfirm.compactTitle,d.modals.manualSortConfirm.compactMessage(n.assignments.length),()=>this.writeManualSortNewFilePlacement(e,n),d.modals.manualSortConfirm.compactConfirmButton,{confirmButtonClass:"mod-cta"}).open()}async applyManualSortNewFilePlacement(e,n,r={}){if(!n||e.extension!=="md")return null;let o=sp(n.propertyKey);if(!o)return null;let a=QG({files:n.files,planningFiles:n.planningFiles,planningInsertionIndex:n.planningInsertionIndex,insertedFile:e,placement:n.placement,selectedPath:n.selectedFilePath,rankByPath:n.rankByPath});return!a||a.assignments.length===0?null:a.requiresCompaction?r.deferCompactionPrompt?()=>{window.setTimeout(()=>{this.openManualSortNewFileCompactionConfirm(o,a)},Lt.FILE_OPERATION_DELAY*2)}:(this.openManualSortNewFileCompactionConfirm(o,a),null):(await this.writeManualSortNewFilePlacement(o,a),null)}resolveConfiguredPropertyDisplayKey(e){let n=nn(this.settingsProvider.settings),r=Array.isArray(n.propertyKeys)?n.propertyKeys:[];for(let o=0;o<r.length;o+=1){let a=r[o]?.key;if(typeof a!="string")continue;let i=a.trim();if(i&&Me(i)===e)return i}return null}resolvePropertyNodeAssignmentText(e,n,r){if(!r)return null;let o=e?.kind==="value"?e.assignmentValue?.trim():void 0;if(o&&rr(o)===r)return o;let a=e?.kind==="value"?e.name.trim():"";return a&&rr(a)===r?a:n&&rr(n)===r?n:r}shouldKeepCurrentPropertyString(e,n,r){return rr(e)!==r?!1:!Fv(n)||Fv(e)}resolvePropertyNodeAssignment(e){let n=kn(e);if(!n)return null;let r=Gt(e);if(!r)return null;let o=kn(r);if(!o)return null;let a=this.getPropertyTreeService(),i=a?.findNode(r)??null,s=a?.getKeyNode(o.key)??null,l=(s?.name?.trim()||this.resolveConfiguredPropertyDisplayKey(o.key)||o.key).trim();if(!l)return null;let c=i?.kind==="value"||o.valuePath?"value":"key",u=n.valuePath?.trim()??null,p=c==="key"?null:this.resolvePropertyNodeAssignmentText(i,u,o.valuePath),m=p?rr(p):null;return c==="value"&&!m?null:c==="key"?{propertyKey:l,nodeKind:c,desiredValue:p,normalizedDesiredValue:m,writeValue:!0,writeValueKind:"boolean"}:!p||!m?null:(m==="true"||m==="false")&&s!==null&&i===null&&jc(s)>0?{propertyKey:l,nodeKind:c,desiredValue:p,normalizedDesiredValue:m,writeValue:m==="true",writeValueKind:"boolean"}:{propertyKey:l,nodeKind:c,desiredValue:p,normalizedDesiredValue:m,writeValue:p,writeValueKind:"string"}}filterNameInputLive(e){let n=hC(e);return n=vC(n),Ti.Platform.isWin&&(n=bC(n)),n}filterNameInputFinal(e){return this.filterNameInputLive(e).trim()}getFileDisplayNameRenameInput(e){let n=this.resolveFrontmatterDisplayNameTarget(e,this.getFileRenameDefaultValue(e));return n?{initialValue:n.initialValue}:{initialValue:this.getFileRenameDefaultValue(e),...this.getNameInputModalOptions()}}getFolderDisplayNameRenameInput(e){let n=this.resolveFolderFrontmatterDisplayNameTarget(e);return n?{initialValue:n.target.initialValue}:e.path==="/"?{initialValue:this.settingsProvider.settings.customVaultName||this.app.vault.getName()}:{initialValue:e.name,...this.getNameInputModalOptions()}}getFileRenameDefaultValue(e){return Mi(e)?$l(e.basename):e.basename}resolveConfiguredFrontmatterNameField(){let e=this.settingsProvider.settings;return e.useFrontmatterMetadata?ul(e.frontmatterNameField)[0]??null:null}extractFrontmatterDisplayNameValue(e){if(typeof e=="string"){let n=e.trim();return n.length>0?n:null}if(Array.isArray(e))for(let n of e){if(typeof n!="string")continue;let r=n.trim();if(r.length>0)return r}return null}resolveFrontmatterDisplayNameTarget(e,n){if(!e||e.extension!=="md")return null;let r=this.resolveConfiguredFrontmatterNameField();if(!r)return null;let o=this.app.metadataCache.getFileCache(e)?.frontmatter,a=mt(o)?o:null,i=ul(this.settingsProvider.settings.frontmatterNameField),s=null;for(let l of i){let c=Yo(a,l);if(!c)continue;s=s??c;let u=this.extractFrontmatterDisplayNameValue(a?.[c]);if(u)return{field:c,fallbackValue:n??"",initialValue:u,storedValue:u}}return{field:s??r,fallbackValue:n??"",initialValue:n??"",storedValue:null}}resolveFolderFrontmatterDisplayNameTarget(e){let n=this.settingsProvider.settings;if(!n.useFrontmatterMetadata||!n.enableFolderNotes)return null;let r=Pn(e,No(n));if(!r||r.extension!=="md")return null;let o=e.path==="/"?this.settingsProvider.settings.customVaultName||this.app.vault.getName():e.name,a=this.resolveFrontmatterDisplayNameTarget(r,o);return a?{file:r,target:a}:null}async writeFrontmatterDisplayName(e,n,r){let o=r.trim();await this.app.fileManager.processFrontMatter(e,a=>{let i=Yo(a,n.field)??n.field;if(o.length>0&&o!==n.fallbackValue.trim()){a[i]=o;return}Reflect.has(a,i)&&delete a[i]})}hasFrontmatterDisplayNameChange(e,n){let r=n.trim();return e.storedValue!==null?r!==e.storedValue:r.length>0&&r!==e.fallbackValue.trim()}buildFolderNoteFileName(e,n,r){return`${r?`${e}${Fa}`:e}.${n}`}getFolderNoteFileName(e,n){return this.buildFolderNoteFileName(e,n.extension,Mi(n))}getNameInputModalOptions(){let e=!1;return{inputFilter:n=>this.filterNameInputLive(n),onInputChange:({rawValue:n,filteredValue:r})=>{n!==r&&((n.startsWith(".")||yC(n))&&de(d.fileSystem.warnings.forbiddenNameCharactersAllPlatforms,{variant:"warning"}),Ti.Platform.isWin&&SC(n)&&de(d.fileSystem.warnings.forbiddenNameCharactersWindows,{variant:"warning"}));let a=YU(r);a&&!e&&de(d.fileSystem.warnings.linkBreakingNameCharacters,{variant:"warning"}),e=a}}}async createNewFolder(e,n){let r=this.settingsProvider.settings;Oo(r);let o=r.vaultProfiles.length>=2,a=this.getNameInputModalOptions(),i=o?{checkbox:{label:d.modals.fileSystem.hideInOtherVaultProfiles},...a}:a;new dl(this.app,d.modals.fileSystem.newFolderTitle,d.modals.fileSystem.folderNamePrompt,async(l,c)=>{let u=this.filterNameInputFinal(l);if(u)try{let p=xa(e.path,u);await this.app.vault.createFolder(p),o&&c?.checkboxValue&&await this.folderPathSettingsSync.hideFolderInOtherVaultProfiles(p),n&&n(p)}catch(p){this.notifyError(d.fileSystem.errors.createFolder,p)}},"",i).open()}async createNewFile(e,n=!1,r){let o=this.resolveManualSortNewFileContext(r,"folder",e.path),a={run:null},i=await $N(e,this.app,{extension:"md",content:"",openInNewTab:n,afterCreate:async s=>{a.run=await this.applyManualSortNewFilePlacement(s,o,{deferCompactionPrompt:!0})},errorKey:"createFile"});return a.run?.(),i}async createNewFileForTag(e,n,r=!1,o){let a=Ze(e);if(!a||a===zt||a===bt)return null;let l=this.getTagTreeService()?.findTagNode(a)?.displayPath??a,c=this.resolveManualSortNewFileContext(o,"tag",a);try{let u=this.app.workspace.getActiveFile()?.path??"",p=n?.trim().length?n:u,m=this.app.fileManager.getNewFileParent(p??""),g=m instanceof Ti.TFolder?m:this.app.vault.getRoot(),f=hl(g.path,d.fileSystem.defaultNames.untitled,"md",this.app),h=await this.app.fileManager.createNewMarkdownFile(g,f);try{await this.app.fileManager.processFrontMatter(h,y=>{y.tags=[l]})}catch(y){console.error("[Notebook Navigator] Failed to update created note tags",y),de(d.dragDrop.errors.failedToAddTag.replace("{tag}",`#${l}`),{variant:"warning"})}let b=await this.applyManualSortNewFilePlacement(h,c,{deferCompactionPrompt:!0});return await this.app.workspace.getLeaf(r).openFile(h,{state:{mode:"source"},active:!0}),window.setTimeout(()=>{Rc(this.app,Zf.EDIT_FILE_TITLE)},Lt.FILE_OPERATION_DELAY),b?.(),h}catch(u){return this.notifyError(d.fileSystem.errors.createFile,u),null}}async createNewFileForProperty(e,n,r=!1,o){if(e===Oe)return null;let a=this.resolvePropertyNodeAssignment(e);if(!a)return null;let i=Gt(e),s=this.resolveManualSortNewFileContext(o,"property",i??""),l=a.writeValue;try{let c=this.app.workspace.getActiveFile()?.path??"",u=n?.trim().length?n:c,p=this.app.fileManager.getNewFileParent(u??""),m=p instanceof Ti.TFolder?p:this.app.vault.getRoot(),g=hl(m.path,d.fileSystem.defaultNames.untitled,"md",this.app),f=await this.app.fileManager.createNewMarkdownFile(m,g);try{await this.app.fileManager.processFrontMatter(f,v=>{v[a.propertyKey]=l})}catch(v){console.error("[Notebook Navigator] Failed to update created note properties",v),de(d.dragDrop.errors.failedToSetProperty.replace("{error}",to(v,d.common.unknownError)),{variant:"warning"})}let h=await this.applyManualSortNewFilePlacement(f,s,{deferCompactionPrompt:!0});return await this.app.workspace.getLeaf(r).openFile(f,{state:{mode:"source"},active:!0}),window.setTimeout(()=>{Rc(this.app,Zf.EDIT_FILE_TITLE)},Lt.FILE_OPERATION_DELAY),h?.(),f}catch(c){return this.notifyError(d.fileSystem.errors.createFile,c),null}}async applyPropertyNodeToFiles(e,n){let r=n.filter(c=>c.extension==="md");if(r.length===0)return{updated:0,skipped:0};if(r.length!==n.length)return de(d.fileSystem.notifications.propertiesRequireMarkdown,{variant:"warning"}),{updated:0,skipped:0};let o=this.resolvePropertyNodeAssignment(e);if(!o)return{updated:0,skipped:0};let a=Me(o.propertyKey),i=c=>Array.isArray(c),s=0,l=0;try{for(let c of r){let u=!1;await this.app.fileManager.processFrontMatter(c,p=>{let g=(()=>{for(let v of Object.keys(p))if(Me(v)===a)return v;return null})()??o.propertyKey,f=p[g];if(o.nodeKind==="key"){if(f===!0||f===null)return;p[g]=!0,u=!0;return}if(o.writeValueKind==="boolean"){let v=o.writeValue;if(typeof v!="boolean"||f===v||v&&f===null)return;p[g]=v,u=!0;return}let h=o.desiredValue,b=o.normalizedDesiredValue;if(!(!h||!b)){if(typeof f=="string"){if(this.shouldKeepCurrentPropertyString(f,h,b))return;p[g]=h,u=!0;return}if(i(f)){if(f.length===1&&typeof f[0]=="string"&&this.shouldKeepCurrentPropertyString(f[0],h,b))return;p[g]=[h],u=!0;return}p[g]=h,u=!0}}),u?s+=1:l+=1}}catch(c){let u=to(c,d.common.unknownError);return de(d.dragDrop.errors.failedToSetProperty.replace("{error}",u),{variant:"warning"}),{updated:s,skipped:l}}if(s>0){let c=s===1?d.fileSystem.notifications.propertySetOnNote:d.fileSystem.notifications.propertySetOnNotes.replace("{count}",s.toString());de(c,{variant:"success"})}return l>0&&de(d.dragDrop.notifications.filesAlreadyHaveProperty.replace("{count}",l.toString()),{timeout:Lt.NOTICE_ERROR,variant:"warning"}),{updated:s,skipped:l}}async renameFolder(e,n){let r=this.getNameInputModalOptions();new dl(this.app,d.modals.fileSystem.renameFolderTitle,d.modals.fileSystem.renamePrompt,async a=>{await this.renameFolderToName(e,a,n)},e.name,r).open()}async renameFolderToName(e,n,r){let o=this.filterNameInputFinal(n);if(!o||o===e.name)return!0;try{let a=e.path,i=r?.enableFolderNotes&&_2(r)?r:null,s=null,l=null;if(i&&(s=Pn(e,i)),s&&i){let p=Xd(o,i);l=this.getFolderNoteFileName(p,s);let m=xa(e.path,l);if(this.app.vault.getFileByPath(m))return de(d.fileSystem.errors.renameFolderNoteConflict.replace("{name}",l),{variant:"warning"}),!1}let c=e.parent?.path??"/",u=xa(c,o);if(await this.app.fileManager.renameFile(e,u),await this.folderPathSettingsSync.syncHiddenFolderPathChange(a,u),s&&l!==null){let p=xa(u,l);await this.app.fileManager.renameFile(s,p)}return!0}catch(a){return this.notifyError(d.fileSystem.errors.renameFolder,a),!1}}async renameFolderDisplayName(e,n,r){let o=this.resolveFolderFrontmatterDisplayNameTarget(e);if(o){if(!this.hasFrontmatterDisplayNameChange(o.target,n))return!0;try{return await this.writeFrontmatterDisplayName(o.file,o.target,n),!0}catch(a){return this.notifyError(d.fileSystem.errors.renameFolder,a),!1}}if(e.path==="/"){let a=n.trim(),i=this.app.vault.getName();if(!(this.settingsProvider.settings.customVaultName===a||!this.settingsProvider.settings.customVaultName&&a===i)){let l=this.settingsProvider.settings.customVaultName;try{this.settingsProvider.settings.customVaultName=a,await this.settingsProvider.saveSettingsAndUpdate()}catch(c){return this.settingsProvider.settings.customVaultName=l,this.notifyError(d.fileSystem.errors.renameFolder,c),!1}}return!0}return this.renameFolderToName(e,n,r)}async renameFile(e){let n=this.getFileRenameDefaultValue(e),r=this.getNameInputModalOptions();new dl(this.app,d.modals.fileSystem.renameFileTitle,d.modals.fileSystem.renamePrompt,async a=>{await this.renameFileToName(e,a)},n,r).open()}async renameFileDisplayName(e,n){let r=this.resolveFrontmatterDisplayNameTarget(e,this.getFileRenameDefaultValue(e));if(!r)return this.renameFileToName(e,n);if(!this.hasFrontmatterDisplayNameChange(r,n))return!0;try{return await this.writeFrontmatterDisplayName(e,r,n),!0}catch(o){return this.notifyError(d.fileSystem.errors.renameFile,o),!1}}async renameFileToName(e,n){let r=Mi(e),o=e.extension,a=o?`.${o}`:"",i=this.filterNameInputFinal(n);if(!i)return!0;let s;if(r){let l=i,c=l.toLowerCase();if(a&&c.endsWith(a.toLowerCase())&&(l=l.slice(0,-a.length)),l=$l(l),!l)return!0;s=`${l}${Fa}${a}`}else{let l=i;if(a&&l.toLowerCase().endsWith(a.toLowerCase())&&(l=l.slice(0,-a.length)),l=l.replace(/\.+$/u,""),!l)return!0;s=a?`${l}${a}`:l}if(!s||s===e.name)return!0;try{let l=e.parent?.path??"/",c=xa(l,s);return await this.app.fileManager.renameFile(e,c),!0}catch(l){return this.notifyError(d.fileSystem.errors.renameFile,l),!1}}async deleteFolder(e,n,r){await this.deletionService.deleteFolder(e,n,r)}async deleteFile(e,n,r,o){await this.deletionService.deleteFile(e,n,r,o)}async deleteSelectedFile(e,n,r,o,a,i){await this.deletionService.deleteSelectedFile(e,n,r,o,a,i)}isDescendant(e,n){let r=n.parent;for(;r;){if(r===e)return!0;r=r.parent}return!1}async moveFilesToFolder(e){return this.moveService.moveFilesToFolder(e)}async moveFilesWithModal(e,n){await this.moveService.moveFilesWithModal(e,n)}async moveFolderWithModal(e){return this.moveService.moveFolderWithModal(e)}async moveFolderToTarget(e,n){return this.moveService.moveFolderToTarget(e,n)}async setFileAsFolderNote(e,n){if(!n.enableFolderNotes)return;let r=e.parent;if(!r||!(r instanceof Ti.TFolder))return;let o=No(n);if(zs(e,r,o)){de(d.fileSystem.errors.folderNoteAlreadyLinked,{variant:"warning"});return}if(!fl(e.extension)){de(d.fileSystem.errors.folderNoteUnsupportedExtension.replace("{extension}",e.extension),{variant:"warning"});return}let a=Pn(r,o);if(a&&a.path!==e.path){de(d.fileSystem.errors.folderNoteAlreadyExists,{variant:"warning"});return}let i=Mi(e),s=ip(r,n);if(i&&(s=$l(s),!s))return;let l=this.buildFolderNoteFileName(s,e.extension,i),c=xa(r.path,l);if(e.path!==c){if(this.app.vault.getAbstractFileByPath(c)){de(d.fileSystem.errors.folderNoteRenameConflict.replace("{name}",l),{variant:"warning"});return}try{await this.app.fileManager.renameFile(e,c)}catch(u){this.notifyError(d.fileSystem.errors.renameFile,u)}}}async convertFileToFolderNote(e,n){if(!n.enableFolderNotes){de(d.fileSystem.errors.folderNotesDisabled,{variant:"warning"});return}let r=e.parent;if(!r||!(r instanceof Ti.TFolder)){de(d.fileSystem.errors.folderNoteConversionFailed,{variant:"warning"});return}let o=No(n);if(zs(e,r,o)){de(d.fileSystem.errors.folderNoteAlreadyLinked,{variant:"warning"});return}if(!fl(e.extension)){de(d.fileSystem.errors.folderNoteUnsupportedExtension.replace("{extension}",e.extension),{variant:"warning"});return}let a=Mi(e),i=e.basename;if(a&&(i=$l(i),!i)){de(d.fileSystem.errors.folderNoteConversionFailed,{variant:"warning"});return}let s=xa(r.path,i);if(this.app.vault.getAbstractFileByPath(s)){de(d.fileSystem.errors.folderAlreadyExists.replace("{name}",i),{variant:"warning"});return}let l=Xd(i,n);if(a&&(l=$l(l),!l)){de(d.fileSystem.errors.folderNoteConversionFailed,{variant:"warning"});return}try{await this.app.vault.createFolder(s)}catch(u){this.notifyError(d.fileSystem.errors.createFolder,u);return}let c=this.app.vault.getAbstractFileByPath(s);if(!c||!(c instanceof Ti.TFolder)){de(d.fileSystem.errors.folderNoteConversionFailed,{variant:"warning"});return}try{let u=await this.moveFilesToFolder({files:[e],targetFolder:c,showNotifications:!1});if(u.movedCount===0){await this.removeFolderIfEmpty(c);let y=u.errors[0]?.error;this.notifyError(d.fileSystem.errors.folderNoteMoveFailed,y,d.common.unknownError);return}let p=xa(c.path,e.name),m=this.app.vault.getAbstractFileByPath(p);if(!m||!(m instanceof Ti.TFile)){de(d.fileSystem.errors.folderNoteConversionFailed,{variant:"warning"});return}let g=m,f=this.buildFolderNoteFileName(l,e.extension,a),h=xa(c.path,f);if(g.path!==h)if(this.app.vault.getAbstractFileByPath(h))de(d.fileSystem.errors.folderNoteRenameConflict.replace("{name}",f),{variant:"warning"});else{await this.app.fileManager.renameFile(g,h);let y=this.app.vault.getAbstractFileByPath(h);y instanceof Ti.TFile&&(g=y)}let b=this.getCommandQueue(),v=!1;if(b){let y=await b.executeOpenFolderNote(c.path,async()=>{await this.app.workspace.getLeaf().openFile(g)});y.success?v=!0:console.error("Failed to open folder note via command queue",y.error)}if(!v)try{await this.app.workspace.getLeaf().openFile(g),v=!0}catch(y){console.error("Failed to open folder note after conversion",y),this.notifyError(d.fileSystem.errors.folderNoteOpenFailed,y)}v&&de(d.fileSystem.notifications.folderNoteConversionSuccess.replace("{name}",c.name),{variant:"success"})}catch(u){await this.removeFolderIfEmpty(c),this.notifyError(d.fileSystem.errors.folderNoteConversionFailedWithReason,u)}}async removeFolderIfEmpty(e){if(!(e.children.length>0))try{await this.app.fileManager.trashFile(e)}catch(n){console.error("Failed to remove folder after conversion failure",n)}}async duplicateNote(e){try{let n=e.basename,r=e.extension,o=e.parent?.path??"/",a=hl(o,n,r,this.app),i=od(o,a,r),s=await this.app.vault.copy(e,i);s instanceof Ti.TFile&&await this.app.workspace.getLeaf(!1).openFile(s)}catch(n){this.notifyError(d.fileSystem.errors.duplicateNote,n)}}async createCanvas(e){return $N(e,this.app,{extension:"canvas",content:"{}",errorKey:"createCanvas"})}async createBase(e){return $N(e,this.app,{extension:"base",content:QN(),errorKey:"createDatabase"})}async duplicateFolder(e){try{let n=e.name,r=1,o=`${n} ${r}`,a=e.parent?.path??"/",i=xa(a,o);for(;this.app.vault.getFolderByPath(i);)r++,o=`${n} ${r}`,i=xa(a,o);await this.app.vault.copy(e,i),await this.folderPathSettingsSync.copyFolderDisplayMetadata(e.path,i)}catch(n){this.notifyError(d.fileSystem.errors.duplicateFolder,n)}}async deleteMultipleFiles(e,n=!0,r){await this.deletionService.deleteMultipleFiles(e,n,r)}async trashFilesWithOpenLeafCleanup(e){return this.deletionService.trashFilesWithOpenLeafCleanup(e)}async deleteFilesWithSmartSelection(e,n,r,o){await this.deletionService.deleteFilesWithSmartSelection(e,n,r,o)}async openVersionHistory(e){let n=this.getCommandQueue();if(!n){de(d.fileSystem.errors.versionHistoryNotAvailable,{variant:"warning"});return}let r=await n.executeOpenVersionHistory(e,async()=>{await this.app.workspace.openLinkText(e.path,"",!1),await new Promise(o=>window.setTimeout(o,Lt.FILE_OPERATION_DELAY)),Rc(this.app,Zf.VERSION_HISTORY)||de(d.fileSystem.errors.versionHistoryNotFound,{variant:"warning"})});!r.success&&r.error&&this.notifyError(d.fileSystem.errors.openVersionHistory,r.error)}getRevealInSystemExplorerText(){return Ti.Platform.isMacOS?d.contextMenu.file.revealInFinder:d.contextMenu.file.showInExplorer}async revealInSystemExplorer(e){try{if(!this.hasShowInFolder(this.app)){de(d.fileSystem.errors.revealInExplorer,{variant:"warning"});return}await this.app.showInFolder(e.path)}catch(n){this.notifyError(d.fileSystem.errors.revealInExplorer,n)}}async openInDefaultApp(e){if(Ti.Platform.isMobile){de(d.fileSystem.errors.openInDefaultAppNotAvailable,{variant:"warning"});return}let n=this.app.vault.adapter;if(!(n instanceof Ti.FileSystemAdapter)){de(d.fileSystem.errors.openInDefaultAppNotAvailable,{variant:"warning"});return}let r=this.getElectronShell();if(!r){de(d.fileSystem.errors.openInDefaultAppNotAvailable,{variant:"warning"});return}let o=n.getFullPath(e.path);try{let a=await r.openPath(o);a.trim().length>0&&this.notifyError(d.fileSystem.errors.openInDefaultApp,a)}catch(a){this.notifyError(d.fileSystem.errors.openInDefaultApp,a)}}hasShowInFolder(e){return typeof Reflect.get(e,"showInFolder")=="function"}getElectronShell(){if(typeof window>"u")return null;let e=window;if(!this.hasWindowRequire(e))return null;try{let n=e.require("electron");return this.hasElectronModule(n)?n.shell:null}catch{return null}}hasWindowRequire(e){return typeof e!="object"||e===null?!1:typeof Reflect.get(e,"require")=="function"}hasElectronModule(e){if(typeof e!="object"||e===null)return!1;let n=Reflect.get(e,"shell");return this.hasElectronShell(n)}hasElectronShell(e){return typeof e!="object"||e===null?!1:typeof Reflect.get(e,"openPath")=="function"}async createNewDrawing(e,n="excalidraw"){try{let r=await g3(this.app,e,n);if(r)return r;let o=n!=="excalidraw",a=h3(this.app,e,n,{allowCompatibilitySuffix:o}),i=f3(n),s=await this.app.vault.create(a,i),l=this.app.workspace.getLeaf(!1);return await l.openFile(s),await this.trySwitchToDrawingView(l,s,n),s}catch(r){return to(r).includes("already exists")?de(d.fileSystem.errors.drawingAlreadyExists,{variant:"warning"}):de(d.fileSystem.errors.failedToCreateDrawing,{variant:"warning"}),null}}getDrawingViewType(e){return e==="excalidraw"&&ev(this.app,Ih)?"excalidraw":e==="tldraw"&&ev(this.app,xh)?"tldraw-view":null}async trySwitchToDrawingView(e,n,r){let o=this.getDrawingViewType(r);if(!o)return;let a={type:o,state:{file:n.path}};try{await e.setViewState(a)}catch(i){console.error("Failed to switch drawing view",{viewType:o,error:i})}}}});function lk(t,e){return typeof t=="object"&&t!==null&&typeof t[e]=="function"}function Hs(t){return lk(t,"whenReady")&&lk(t,"navigateToFile")&&lk(t,"navigateToFolder")&&lk(t,"stopContentProcessing")}function A3(t){return lk(t,"stopContentProcessing")}var Nx=U(()=>{});var Ix,O3=U(()=>{Ue();Ix=class{constructor(e){this.api=e}async reveal(e){let n=this.resolveFile(e);if(!n)return!1;let r=await this.ensureViewOpen();return r?r.navigateToFile(n):!1}async navigateToFolder(e){let n=this.resolveFolder(e);if(!n)return!1;let r=await this.ensureViewOpen();return r?r.navigateToFolder(n,{preserveNavigationFocus:!0}):!1}async navigateToTag(e){let n=await this.ensureViewOpen();return n?n.navigateToTag(e,{preserveNavigationFocus:!0})!==null:!1}async navigateToProperty(e){let n=await this.ensureViewOpen();return n?n.navigateToProperty(e,{preserveNavigationFocus:!0})!==null:!1}resolveFile(e){return typeof e=="string"?this.api.app.vault.getFileByPath(e):this.api.app.vault.getFileByPath(e.path)}resolveFolder(e){return typeof e=="string"?this.api.app.vault.getFolderByPath(e):this.api.app.vault.getFolderByPath(e.path)}async ensureViewOpen(){let e=this.api.getPlugin(),n=this.api.app.workspace.getLeavesOfType(wa),r=this.extractNavigatorView(n);if(r)return await this.waitForNavigatorView(r)?r:null;await e.activateView();let o=this.api.app.workspace.getLeavesOfType(wa),a=this.extractNavigatorView(o);return a&&await this.waitForNavigatorView(a)?a:null}async waitForNavigatorView(e){return e.whenReady?e.whenReady():!0}extractNavigatorView(e){for(let n of e){let r=n.view;if(r&&this.isNavigatorView(r))return r}return null}isNavigatorView(e){return!(!("navigateToFile"in e)||typeof e.navigateToFile!="function"||!("navigateToFolder"in e)||typeof e.navigateToFolder!="function"||!("navigateToTag"in e)||typeof e.navigateToTag!="function"||!("navigateToProperty"in e)||typeof e.navigateToProperty!="function")}}});function yhe(t){return Object.freeze({...Yl(t)})}function L3(t){return nL(t)}function xx(t){if(t)return oi(t)??t}var Ex,z3=U(()=>{Si();cn();Ot();Dr();Ex=class{constructor(e){this.api=e;this.metadataState={folderColors:{},folderBackgroundColors:{},folderIcons:{},tagColors:{},tagBackgroundColors:{},tagIcons:{},propertyColors:{},propertyBackgroundColors:{},propertyIcons:{},fileIcons:{},fileColors:{},fileBackgroundColors:{},pinnedNotes:{}};this.previousState={folderColors:{},folderBackgroundColors:{},folderIcons:{},tagColors:{},tagBackgroundColors:{},tagIcons:{},propertyColors:{},propertyBackgroundColors:{},propertyIcons:{},fileIcons:{},fileColors:{},fileBackgroundColors:{},pinnedNotes:{},initialized:!1};this.initializeFromSettings()}normalizeTagKey(e){return It(e)}normalizeTagMetadataRecord(e){if(!e)return{};let n={};return Object.entries(e).forEach(([r,o])=>{let a=this.normalizeTagKey(r);a&&(n[a]=o)}),n}normalizePropertyMetadataRecord(e){if(!e)return{};let n={};return Object.entries(e).forEach(([r,o])=>{let a=Gt(r)??r;a&&(n[a]=o)}),n}initializeFromSettings(){let e=this.api.getPlugin();e&&e.settings&&this.updateFromSettings(e.settings)}findChangedKeys(e,n){let r=new Set;for(let[o,a]of Object.entries(n))e[o]!==a&&r.add(o);for(let o of Object.keys(e))o in n||r.add(o);return r}pinnedNotesChanged(e,n){let r=Object.keys(e),o=Object.keys(n);if(r.length!==o.length)return!0;for(let a of o){let i=e[a];if(!i)return!0;let s=n[a];if(i.folder!==s.folder||i.tag!==s.tag||i.property!==s.property)return!0}return!1}getPinnedSnapshot(){let e=Object.entries(this.metadataState.pinnedNotes).map(([n,r])=>[n,yhe(r)]);return new Map(e)}getFolderByPath(e){let n=this.api.getApp().vault;return e==="/"?n.getRoot():n.getFolderByPath(e)}updateFromSettings(e){let n={folderColors:e.folderColors||{},folderBackgroundColors:e.folderBackgroundColors||{},folderIcons:e.folderIcons||{},tagColors:this.normalizeTagMetadataRecord(e.tagColors),tagBackgroundColors:this.normalizeTagMetadataRecord(e.tagBackgroundColors),tagIcons:this.normalizeTagMetadataRecord(e.tagIcons),propertyColors:this.normalizePropertyMetadataRecord(e.propertyColors),propertyBackgroundColors:this.normalizePropertyMetadataRecord(e.propertyBackgroundColors),propertyIcons:this.normalizePropertyMetadataRecord(e.propertyIcons),fileIcons:e.fileIcons||{},fileColors:e.fileColors||{},fileBackgroundColors:e.fileBackgroundColors||{},pinnedNotes:Ou(e.pinnedNotes)};if(this.metadataState={folderColors:{...n.folderColors},folderBackgroundColors:{...n.folderBackgroundColors},folderIcons:{...n.folderIcons},tagColors:{...n.tagColors},tagBackgroundColors:{...n.tagBackgroundColors},tagIcons:{...n.tagIcons},propertyColors:{...n.propertyColors},propertyBackgroundColors:{...n.propertyBackgroundColors},propertyIcons:{...n.propertyIcons},fileIcons:{...n.fileIcons},fileColors:{...n.fileColors},fileBackgroundColors:{...n.fileBackgroundColors},pinnedNotes:Ou(n.pinnedNotes)},!this.previousState.initialized){this.previousState={folderColors:{...n.folderColors},folderBackgroundColors:{...n.folderBackgroundColors},folderIcons:{...n.folderIcons},tagColors:{...n.tagColors},tagBackgroundColors:{...n.tagBackgroundColors},tagIcons:{...n.tagIcons},propertyColors:{...n.propertyColors},propertyBackgroundColors:{...n.propertyBackgroundColors},propertyIcons:{...n.propertyIcons},fileIcons:{...n.fileIcons},fileColors:{...n.fileColors},fileBackgroundColors:{...n.fileBackgroundColors},pinnedNotes:Ou(n.pinnedNotes),initialized:!0};return}let r=this.findChangedKeys(this.previousState.folderColors,n.folderColors),o=this.findChangedKeys(this.previousState.folderBackgroundColors,n.folderBackgroundColors),a=this.findChangedKeys(this.previousState.folderIcons,n.folderIcons),i=new Set([...r,...o,...a]);for(let h of i){let b=this.getFolderByPath(h);if(b){let v=this.getFolderMeta(b);this.api.trigger("folder-changed",{folder:b,metadata:v})}}let s=this.findChangedKeys(this.previousState.tagColors,n.tagColors),l=this.findChangedKeys(this.previousState.tagBackgroundColors,n.tagBackgroundColors),c=this.findChangedKeys(this.previousState.tagIcons,n.tagIcons),u=new Set([...s,...l,...c]);for(let h of u){let b=this.getTagMeta(h);this.api.trigger("tag-changed",{tag:h,metadata:b})}let p=this.findChangedKeys(this.previousState.propertyColors,n.propertyColors),m=this.findChangedKeys(this.previousState.propertyBackgroundColors,n.propertyBackgroundColors),g=this.findChangedKeys(this.previousState.propertyIcons,n.propertyIcons),f=new Set([...p,...m,...g]);for(let h of f){let b=this.getPropertyMeta(h);this.api.trigger("property-changed",{nodeId:h,metadata:b})}if(this.pinnedNotesChanged(this.previousState.pinnedNotes,n.pinnedNotes)){let h=this.getPinnedSnapshot();this.api.trigger("pinned-files-changed",{files:h})}this.previousState={folderColors:{...n.folderColors},folderBackgroundColors:{...n.folderBackgroundColors},folderIcons:{...n.folderIcons},tagColors:{...n.tagColors},tagBackgroundColors:{...n.tagBackgroundColors},tagIcons:{...n.tagIcons},propertyColors:{...n.propertyColors},propertyBackgroundColors:{...n.propertyBackgroundColors},propertyIcons:{...n.propertyIcons},fileIcons:{...n.fileIcons},fileColors:{...n.fileColors},fileBackgroundColors:{...n.fileBackgroundColors},pinnedNotes:Ou(n.pinnedNotes),initialized:!0}}async updateMetadata(e,n,r,o,a){let i=this.api.getPlugin();if(!i)return;let s=!1;if(n.color!==void 0&&(n.color===null?delete r[e]:r[e]=n.color,s=!0),n.backgroundColor!==void 0&&(n.backgroundColor===null?delete a[e]:a[e]=n.backgroundColor,s=!0),n.icon!==void 0){if(n.icon===null)delete o[e],s=!0;else if(typeof n.icon=="string"){let l=L3(n.icon);l&&(o[e]=l,s=!0)}}s&&await i.saveSettingsAndUpdate()}getFolderMetadataFromService(e){let n=this.api.getPlugin();if(!n.metadataService)return null;let r=n.metadataService.getFolderDisplayData(e.path,{includeDisplayName:!1,includeColor:!0,includeBackgroundColor:!0,includeIcon:!0,includeInheritedColors:!1});return!r.color&&!r.backgroundColor&&!r.icon?null:{color:r.color,backgroundColor:r.backgroundColor,icon:xx(r.icon)}}getFolderSettingsSnapshot(e){let n=this.api.getPlugin(),r=n.settings.folderColors[e],o=n.settings.folderBackgroundColors[e],a=n.settings.folderIcons[e];return`${r===void 0?"\0":r}${o===void 0?"\0":o}${a===void 0?"\0":a}`}isSameFolderMetadata(e,n){return e?.color===n?.color&&e?.backgroundColor===n?.backgroundColor&&e?.icon===n?.icon}triggerFolderChanged(e){if(this.api.getPlugin().metadataService){let r=this.getFolderMetadataFromService(e);this.api.trigger("folder-changed",{folder:e,metadata:r});return}let n=this.getFolderMeta(e);this.api.trigger("folder-changed",{folder:e,metadata:n})}emitFolderChangedForPath(e){let n=this.getFolderByPath(e);n&&this.triggerFolderChanged(n)}getFolderMeta(e){let n=this.api.getPlugin();if(n.settings.useFrontmatterMetadata&&n.metadataService)return this.getFolderMetadataFromService(e);let r=e.path,o=this.metadataState.folderColors[r],a=this.metadataState.folderBackgroundColors[r],i=this.metadataState.folderIcons[r];return!o&&!a&&!i?null:{color:o,backgroundColor:a,icon:xx(i)}}async setFolderMeta(e,n){let r=this.api.getPlugin();if(r){if(r.metadataService){let o={};if(n.icon!==void 0){if(n.icon===null)o.icon=null;else if(typeof n.icon=="string"){let a=L3(n.icon);a&&(o.icon=a)}}if(n.color!==void 0&&(o.color=n.color),n.backgroundColor!==void 0&&(o.backgroundColor=n.backgroundColor),o.icon!==void 0||o.color!==void 0||o.backgroundColor!==void 0){let a=r.metadataService.isFolderStyleEventBridgeEnabled?.()===!0,i=this.getFolderSettingsSnapshot(e.path),s=this.getFolderMetadataFromService(e);await r.metadataService.setFolderStyle(e.path,o);let l=this.getFolderSettingsSnapshot(e.path);if(i===l&&!a){let c=this.getFolderMetadataFromService(e);this.isSameFolderMetadata(s,c)||this.triggerFolderChanged(e)}}return}await this.updateMetadata(e.path,n,r.settings.folderColors,r.settings.folderIcons,r.settings.folderBackgroundColors)}}getTagMeta(e){let n=this.normalizeTagKey(e),r=this.metadataState.tagColors[n],o=this.metadataState.tagBackgroundColors[n],a=this.metadataState.tagIcons[n];return!r&&!o&&!a?null:{color:r,backgroundColor:o,icon:xx(a)}}async setTagMeta(e,n){let r=this.api.getPlugin();if(!r)return;let o=this.normalizeTagKey(e);await this.updateMetadata(o,n,r.settings.tagColors,r.settings.tagIcons,r.settings.tagBackgroundColors)}getPropertyMeta(e){let n=Gt(e);if(!n)return null;let r=this.metadataState.propertyColors[n],o=this.metadataState.propertyBackgroundColors[n],a=this.metadataState.propertyIcons[n];return!r&&!o&&!a?null:{color:r,backgroundColor:o,icon:xx(a)}}async setPropertyMeta(e,n){let r=this.api.getPlugin();if(!r)return;let o=Gt(e);o&&await this.updateMetadata(o,n,r.settings.propertyColors,r.settings.propertyIcons,r.settings.propertyBackgroundColors)}isPinned(e,n){let r=this.metadataState.pinnedNotes[e.path];if(!r)return!1;if(n){if(n==="all")return r.folder&&r.tag&&r.property;if(n==="folder")return r.folder;if(n==="property")return r.property}else return r.folder||r.tag||r.property;return r.tag}async pin(e,n="all"){let r=this.api.getPlugin();if(!r?.metadataService)return;r.settings.pinnedNotes||(r.settings.pinnedNotes={}),r.settings.pinnedNotes[e.path]||(r.settings.pinnedNotes[e.path]={folder:!1,tag:!1,property:!1});let o=!1,a=Yl(r.settings.pinnedNotes[e.path]);r.settings.pinnedNotes[e.path]=a,n==="all"?(!a.folder||!a.tag||!a.property)&&(a.folder=!0,a.tag=!0,a.property=!0,o=!0):n==="folder"?a.folder||(a.folder=!0,o=!0):n==="property"?a.property||(a.property=!0,o=!0):n==="tag"&&(a.tag||(a.tag=!0,o=!0)),o&&await r.saveSettingsAndUpdate()}async unpin(e,n="all"){let r=this.api.getPlugin();if(!r?.metadataService)return;let o=r.settings.pinnedNotes?.[e.path];if(!o)return;let a=Yl(o);r.settings.pinnedNotes[e.path]=a;let i=!1;n==="all"?(delete r.settings.pinnedNotes[e.path],i=!0):n==="folder"?a.folder&&(a.folder=!1,i=!0):n==="property"?a.property&&(a.property=!1,i=!0):n==="tag"&&a.tag&&(a.tag=!1,i=!0),i&&a&&!a.folder&&!a.tag&&!a.property&&delete r.settings.pinnedNotes[e.path],i&&await r.saveSettingsAndUpdate()}getPinned(){return this.getPinnedSnapshot()}}});var Mx,B3=U(()=>{Ue();Jr();cn();Sn();Mx=class{constructor(e){this.api=e;this.selectionState={files:new Set,primaryFile:null,navigationFolder:null,navigationTag:null,navigationProperty:null};this.lastSelectionSignature="";this.navigationStateInitialized=!1}ensureNavigationStateInitialized(){this.navigationStateInitialized||!ye.isInitialized()||(this.navigationStateInitialized=!0,this.initializeNavigationState())}initializeNavigationState(){try{let e=this.api.getPlugin().settings;if(e.showProperties){let a=jv(ye.get(ut.selectedPropertyKey));if(a&&Uv(e,a)){this.selectionState.navigationProperty=a,this.selectionState.navigationTag=null,this.selectionState.navigationFolder=null;return}if(a)try{ye.remove(ut.selectedPropertyKey)}catch(i){console.error("Failed to clear invalid property selection from localStorage:",i)}}let n=ye.get(ut.selectedFolderKey),r=ye.get(ut.selectedTagKey),o=Ze(r);if(o)this.selectionState.navigationTag=o,this.selectionState.navigationFolder=null,this.selectionState.navigationProperty=null;else if(n){let a=this.api.app.vault.getFolderByPath(n);a&&(this.selectionState.navigationFolder=a,this.selectionState.navigationTag=null,this.selectionState.navigationProperty=null)}}catch(e){console.error("Failed to initialize navigation state from localStorage:",e)}}getNavItem(){return this.ensureNavigationStateInitialized(),this.selectionState.navigationProperty?{type:"property",folder:null,tag:null,property:this.selectionState.navigationProperty}:this.selectionState.navigationTag?{type:"tag",folder:null,tag:this.selectionState.navigationTag,property:null}:this.selectionState.navigationFolder?{type:"folder",folder:this.selectionState.navigationFolder,tag:null,property:null}:{type:"none",folder:null,tag:null,property:null}}updateNavigationState(e,n,r){this.navigationStateInitialized=!0;let o=r===null?null:Gt(r)??r,a=n===null?null:Ze(n);o?(this.selectionState.navigationFolder=null,this.selectionState.navigationTag=null,this.selectionState.navigationProperty=o):a?(this.selectionState.navigationFolder=null,this.selectionState.navigationTag=a,this.selectionState.navigationProperty=null):e?(this.selectionState.navigationFolder=e,this.selectionState.navigationTag=null,this.selectionState.navigationProperty=null):(this.selectionState.navigationFolder=null,this.selectionState.navigationTag=null,this.selectionState.navigationProperty=null),this.api.trigger("nav-item-changed",{item:this.getNavItem()})}updateFileState(e,n){let r=Array.from(e).sort(),o=n?n.path:"",a=`${r.join("|")}::${o}`;if(this.selectionState.files=new Set(e),this.selectionState.primaryFile=n,a!==this.lastSelectionSignature){this.lastSelectionSignature=a;let i=[];for(let s of e){let l=this.api.app.vault.getFileByPath(s);l&&i.push(l)}this.api.trigger("selection-changed",{state:{files:i,focused:n}})}}getCurrent(){let e=[];for(let n of this.selectionState.files){let r=this.api.app.vault.getFileByPath(n);r&&e.push(r)}return{files:e,focused:this.selectionState.primaryFile}}}});function bhe(t){return t instanceof Promise}var Rx,_3=U(()=>{Rx=class{constructor(){this.fileMenuExtensions=new Set;this.folderMenuExtensions=new Set;this.tagMenuExtensions=new Set;this.propertyMenuExtensions=new Set}registerFileMenu(e){return this.registerExtension(this.fileMenuExtensions,e)}registerFolderMenu(e){return this.registerExtension(this.folderMenuExtensions,e)}registerTagMenu(e){return this.registerExtension(this.tagMenuExtensions,e)}registerPropertyMenu(e){return this.registerExtension(this.propertyMenuExtensions,e)}registerExtension(e,n){return e.add(n),()=>{e.delete(n)}}applyExtensions(e,n,r,o){if(e.size===0)return 0;let a=0,i=!0,l=o(c=>{if(!i){console.error(`Notebook Navigator ${r} menu extension attempted to add menu items asynchronously. Add menu items synchronously and do async work in onClick handlers.`);return}try{n.addItem(u=>{try{c(u)}catch(p){console.error(`Notebook Navigator ${r} menu extension item failed`,p)}}),a+=1}catch(u){console.error(`Notebook Navigator ${r} menu extension addItem failed`,u)}});for(let c of Array.from(e))try{let u=c(l);bhe(u)&&(console.error(`Notebook Navigator ${r} menu extension returned a Promise. Add menu items synchronously and do async work in onClick handlers.`),u.catch(p=>{console.error(`Notebook Navigator ${r} menu extension failed`,p)}))}catch(u){console.error(`Notebook Navigator ${r} menu extension failed`,u)}return i=!1,a}applyFileMenuExtensions(e){let{menu:n,file:r,selection:o}=e,a=Object.freeze({mode:o.mode,files:Object.freeze([...o.files])});return this.applyExtensions(this.fileMenuExtensions,n,"file",i=>({addItem:i,file:r,selection:a}))}applyFolderMenuExtensions(e){let{menu:n,folder:r}=e;return this.applyExtensions(this.folderMenuExtensions,n,"folder",o=>({addItem:o,folder:r}))}applyTagMenuExtensions(e){let{menu:n,tag:r}=e;return this.applyExtensions(this.tagMenuExtensions,n,"tag",o=>({addItem:o,tag:r}))}applyPropertyMenuExtensions(e){let{menu:n,nodeId:r}=e;return this.applyExtensions(this.propertyMenuExtensions,n,"property",o=>({addItem:o,nodeId:r}))}}});var Dx,H3=U(()=>{Ue();Ot();cn();Dx=class{constructor(){this.rootId=Oe}buildKey(e){let n=Me(e);return n?Gn(n):null}buildValue(e,n){let r=Me(e);if(!r)return null;let o=rr(n);return o?sa(r,o):null}parse(e){if(e===Oe)return{kind:"root",key:null,valuePath:null};let n=kn(e);if(!n)return null;let r=Me(n.key);if(!r)return null;let o=n.valuePath?rr(n.valuePath):null;return n.valuePath&&!o?null:o===null?{kind:"key",key:r,valuePath:null}:{kind:"value",key:r,valuePath:o}}normalize(e){return e===Oe?Oe:Gt(e)}}});function Vs(t){return t?t===Tl.TAGGED||t===Tl.UNTAGGED:!1}function rc(t){return She[t]}var Tl,She,Jm=U(()=>{Ee();Ue();Tl={TAGGED:zt,UNTAGGED:bt},She={[Tl.TAGGED]:{id:Tl.TAGGED,getLabel:()=>d.tagList.tags},[Tl.UNTAGGED]:{id:Tl.UNTAGGED,getLabel:()=>d.tagList.untaggedLabel}}});function whe(t){return`${t.major}.${t.minor}.${t.patch}`}var Dz,V3=U(()=>{Dz={major:2,minor:0,patch:0,toString(){return whe(Dz)}}});var U3,Ea,Ax,eg=U(()=>{U3=require("obsidian");O3();z3();B3();_3();H3();Jm();V3();Ea=Symbol("NotebookNavigatorInternalAPI"),Ax=class{constructor(e,n){this.storageReady=!1;this.plugin=e,this.app=n,this.events=new U3.Events;let r=(a,...i)=>{this.trigger(a,...i)};this.navigationController=new Ix({app:this.app,getPlugin:()=>this.plugin}),this.metadataController=new Ex({getApp:()=>this.app,getPlugin:()=>this.plugin,trigger:r}),this.selectionController=new Mx({app:this.app,getPlugin:()=>this.plugin,trigger:r}),this.menusController=new Rx,this.propertyNodesController=new Dx,this.navigation=Object.freeze({reveal:a=>this.navigationController.reveal(a),navigateToFolder:a=>this.navigationController.navigateToFolder(a),navigateToTag:a=>this.navigationController.navigateToTag(a),navigateToProperty:a=>this.navigationController.navigateToProperty(a)}),this.metadata=Object.freeze({getFolderMeta:a=>this.metadataController.getFolderMeta(a),setFolderMeta:(a,i)=>this.metadataController.setFolderMeta(a,i),getTagMeta:a=>this.metadataController.getTagMeta(a),setTagMeta:(a,i)=>this.metadataController.setTagMeta(a,i),getPropertyMeta:a=>this.metadataController.getPropertyMeta(a),setPropertyMeta:(a,i)=>this.metadataController.setPropertyMeta(a,i),getPinned:()=>this.metadataController.getPinned(),isPinned:(a,i)=>this.metadataController.isPinned(a,i),pin:(a,i)=>this.metadataController.pin(a,i),unpin:(a,i)=>this.metadataController.unpin(a,i)}),this.selection=Object.freeze({getNavItem:()=>this.selectionController.getNavItem(),getCurrent:()=>this.selectionController.getCurrent()}),this.menus=Object.freeze({registerFileMenu:a=>this.menusController.registerFileMenu(a),registerFolderMenu:a=>this.menusController.registerFolderMenu(a),registerTagMenu:a=>this.menusController.registerTagMenu(a),registerPropertyMenu:a=>this.menusController.registerPropertyMenu(a)});let o=a=>typeof a=="string"&&Vs(a)?rc(a).getLabel():typeof a=="string"?a:"";this.tagCollections=Object.freeze({taggedId:Tl.TAGGED,untaggedId:Tl.UNTAGGED,isCollection:a=>Vs(a),getLabel:a=>o(a)}),this.propertyNodes=Object.freeze({rootId:this.propertyNodesController.rootId,buildKey:a=>this.propertyNodesController.buildKey(a),buildValue:(a,i)=>this.propertyNodesController.buildValue(a,i),parse:a=>this.propertyNodesController.parse(a),normalize:a=>this.propertyNodesController.normalize(a)}),this[Ea]=Object.freeze({metadata:this.metadataController,selection:this.selectionController,menus:this.menusController,setStorageReady:a=>{this.setStorageReady(a)}})}getVersion(){return Dz.toString()}isStorageReady(){return this.storageReady}whenReady(){return this.storageReady?Promise.resolve():new Promise(e=>{this.once("storage-ready",()=>e())})}setStorageReady(e){e&&(this.storageReady||(this.storageReady=!0,e&&this.trigger("storage-ready")))}on(e,n){return this.events.on(e,r=>{n(r)})}once(e,n){let r=this.events.on(e,o=>{this.events.offref(r),n(o)});return r}off(e){this.events.offref(e)}trigger(e,...n){this.events.trigger(e,...n)}}});function The(t){return typeof t=="object"&&t!==null}function khe(t){return The(t)&&"parent"in t}function md(t,e){if(!e)return"unknown";let n=e.parent;for(;n;){if(n===t.workspace.rootSplit)return"main";if(n===t.workspace.leftSplit)return"left-sidebar";if(n===t.workspace.rightSplit)return"right-sidebar";if(!khe(n))break;n=n.parent}return"unknown"}var dk=U(()=>{});function Che(t){switch(t){case"y":case"Y":return"y";case"q":case"Q":return"Q";case"m":return"m";case"M":return"M";case"w":case"W":return"w";case"d":return"d";case"h":case"H":return"h";case"s":case"S":return"s";default:return null}}function Nhe(t){if(typeof t!="object"||t===null)return!1;let e=t;return typeof e.load=="function"&&typeof e.save=="function"}function K3(t){let e=t.foldManager;return Nhe(e)?e:null}function Ihe(t){let e=ka(t)?t:null,n=e?e.folder:void 0,r=e?e.format:void 0,o=e?e.template:void 0,a=Ln(n)?n.trim():"",i=Ln(o)?o.trim():"",s=Ln(r)&&r.trim()?r.trim():Phe;return{folder:a,format:s,template:i}}function tg(t){let e=nh(t,Fhe);if(!e||e.enabled!==!0)return null;let n=e.instance?.options;return Ihe(n)}function Ox(t,e){return`${uk(t,e.format)}.md`}function W3(t,e){let n=t.format(e.format),r=e.folder?`${e.folder}/${n}`:n,o=(0,gp.normalizePath)(r);return o.endsWith(".md")?o:`${o}.md`}function uk(t,e){let n=t.format(e);return(n.split("/").pop()??n).replace(/\.md$/i,"")}function jy(t,e,n){let r=W3(e,n),o=t.vault.getAbstractFileByPath(r);return o instanceof gp.TFile?o:null}async function xhe(t,e){let r=(0,gp.normalizePath)(e).split("/").filter(Boolean);if(r.pop(),r.length===0)return;let o="";for(let a of r){o=o?`${o}/${a}`:a;let i=t.vault.getAbstractFileByPath(o);if(!i){await t.vault.createFolder(o);continue}if(!(i instanceof gp.TFolder))throw new Error(`Cannot create daily note folder "${o}": path exists and is not a folder.`)}}async function Ehe(t,e){let n=(0,gp.normalizePath)(e);if(!n||n==="/")return{contents:"",foldInfo:null};try{let r=t.metadataCache.getFirstLinkpathDest(n,"");if(!r)return{contents:"",foldInfo:null};let o=await t.vault.cachedRead(r),i=K3(t)?.load(r)??null;return{contents:o,foldInfo:i}}catch(r){return console.error(`Failed to read the daily note template "${n}"`,r),de(d.dailyNotes.templateReadFailed),{contents:"",foldInfo:null}}}function Mhe(t,e,n,r){if(!t)return"";let o=qr();if(!o)return t;let a=o(),i=a.format("HH:mm");return t.replace(/{{\s*date\s*}}/gi,n).replace(/{{\s*time\s*}}/gi,i).replace(/{{\s*title\s*}}/gi,n).replace(/{{\s*(date|time)\s*(([+-]\d+)([yQmwdhs]))?\s*(:.+?)?}}/gi,(s,l,c,u,p,m)=>{let g=l.toLowerCase()==="time",f=e.clone().set({hour:a.get("hour"),minute:a.get("minute"),second:a.get("second")}),h=p?Che(p):null;return u&&h&&f.add(Number.parseInt(u,10),h),m?f.format(m.substring(1).trim()):g?f.format("HH:mm"):uk(f,r)}).replace(/{{\s*yesterday\s*}}/gi,uk(e.clone().subtract(1,"day"),r)).replace(/{{\s*tomorrow\s*}}/gi,uk(e.clone().add(1,"day"),r))}async function Gy(t,e,n){let r=W3(e,n),o=t.vault.getAbstractFileByPath(r);if(o instanceof gp.TFile)return o;try{await xhe(t,r);let{contents:a,foldInfo:i}=await Ehe(t,n.template),s=uk(e,n.format),l=await t.vault.create(r,Mhe(a,e,s,n.format));if(i)try{K3(t)?.save(l,i)}catch{}return l}catch(a){return console.error(`Failed to create daily note "${r}"`,a),de(d.dailyNotes.createFailed),null}}var gp,Fhe,Phe,pk=U(()=>{gp=require("obsidian");Ee();Zr();Ot();Bd();Fn();Fhe="daily-notes",Phe="YYYY-MM-DD"});function ng(t,e){return e?G3:Qo(t)}function Oz(t,e,n){if(n)return()=>!1;let{hiddenFileProperties:r,hiddenFolders:o,hiddenFileNames:a,hiddenFileTags:i,hideDrawingPreviewImages:s=!0}=t,l=i.length>0?Br(i,!1):null;return c=>Qu(e,c,{hideDrawingPreviewImages:s})||c.extension==="md"&&r.length>0&&dj(c,r,e)||l&&l.hasHiddenRules&&c.extension==="md"&&Pr({app:e,file:c}).some(m=>!l.isTagVisible(m))||a.length>0&&pT(c,a)?!0:o.length===0||!c.parent?!1:ei(c.parent,o)}function Ohe(t,e,n){let r=Qo(t),o=ti(t),a=Kc(t),i=Wc(t);return Oz({hiddenFileProperties:r,hiddenFolders:o,hiddenFileNames:a,hiddenFileTags:i,hideDrawingPreviewImages:t.hideDrawingPreviewImages},e,n)}function q3(t,e,n,r){return t?Ohe(e,n,r)(t):!1}var G3,qy=U(()=>{Yr();gl();Dr();Sn();dn();G3=[];Object.freeze(G3)});var Y3,zx,$3=U(()=>{Y3=require("obsidian");Ee();dn();ot();zx=class extends Y3.Modal{constructor(n,r){super(n);this.options=r;this.buttons=[];this.selectedIndex=-1}onOpen(){this.modalEl.addClass("nn-select-profile-modal"),this.titleEl.setText(d.modals.selectVaultProfile.title),this.contentEl.empty();let n=this.options.profiles??[];if(n.length===0){this.contentEl.createEl("p",{text:d.modals.selectVaultProfile.emptyState,cls:"nn-select-profile-empty"});return}let r=this.contentEl.createDiv({cls:"nn-select-profile-list",attr:{role:"listbox","aria-label":d.modals.selectVaultProfile.title}});this.buttons=n.map((a,i)=>{let s=r.createEl("button",{cls:"nn-select-profile-item",attr:{type:"button",role:"option","data-profile-id":a.id}});s.tabIndex=-1;let l=this.resolveProfileName(a);return s.setAttr("aria-selected","false"),s.setAttr("aria-label",l),s.createSpan({cls:"nn-select-profile-item-name",text:l}).setAttr("aria-hidden","true"),a.id===this.options.activeProfileId&&(s.classList.add("is-current"),s.setAttr("aria-label",`${l} (${d.modals.selectVaultProfile.currentBadge})`),s.createSpan({cls:"nn-select-profile-item-badge",text:d.modals.selectVaultProfile.currentBadge})),s.addEventListener("click",()=>{this.selectProfile(i)}),s});let o=this.resolveInitialIndex();this.focusProfile(o),this.scope.register([],"ArrowDown",a=>{a.preventDefault(),this.moveSelection(1)}),this.scope.register([],"ArrowUp",a=>{a.preventDefault(),this.moveSelection(-1)}),this.scope.register([],"Enter",a=>{a.preventDefault(),this.selectProfile(this.selectedIndex)}),this.scope.register([],"Escape",a=>{a.preventDefault(),this.close()})}onClose(){this.buttons=[],this.selectedIndex=-1,this.contentEl.empty()}resolveProfileName(n){let r=n.name?.trim();return r&&r.length>0?r:qc()}resolveInitialIndex(){let{profiles:n,activeProfileId:r}=this.options;if(!Array.isArray(n)||n.length===0)return 0;let o=n.findIndex(a=>a.id===r);return o>=0?o:0}moveSelection(n){if(this.buttons.length===0)return;let r=this.buttons.length,a=((this.selectedIndex>=0?this.selectedIndex:0)+n+r)%r;this.focusProfile(a)}focusProfile(n){if(this.buttons.length===0)return;let r=Math.max(0,Math.min(n,this.buttons.length-1)),o=this.buttons[this.selectedIndex];o&&(o.classList.remove("is-selected"),o.setAttr("aria-selected","false"));let a=this.buttons[r];a.classList.add("is-selected"),a.setAttr("aria-selected","true"),a.focus(),a.scrollIntoView({block:"nearest"}),this.selectedIndex=r}selectProfile(n){let r=this.options.profiles[n];r&&(this.close(),Q(()=>this.options.onSelect(r.id)))}}});var a4={};In(a4,{default:()=>o4});async function X3(t,e){let n=e??t.getNavigatorLeaves();if(n.length>0){let r=n[0],o=zhe(t,r);await t.app.workspace.revealLeaf(r);let a=r.view;Hs(a)&&(a.focusVisiblePane(),o&&t.app.workspace.setActiveLeaf(o,{focus:!1}))}}function Lhe(t){try{return t.view.getViewType()}catch{return null}}function t4(t){let e=t.view;return Hs(e)||Lhe(t)===wa}function Q3(t,e,n){return!e||e===n||t4(e)?!1:md(t.app,e)==="main"}function zhe(t,e){let n=t.app.workspace.getActiveViewOfType(kl.FileView)?.leaf??null;if(n&&n!==e&&!t4(n))return n;let r=t.app.workspace.getMostRecentLeaf(t.app.workspace.rootSplit);if(Q3(t,r,e))return r;let o=null;return t.app.workspace.iterateAllLeaves(a=>{!o&&Q3(t,a,e)&&(o=a)}),o}async function Jo(t,e){let n=e??t.getNavigatorLeaves();if(n.length>0){let a=n[0];await t.app.workspace.revealLeaf(a);let i=a.view;return Hs(i)?i:null}let r=await t.activateView();if(!r)return null;let o=r.view;return Hs(o)?o:null}function Z3(t,e){let n=e??t.getNavigatorLeaves();if(n.length===0)return null;let o=n[0].view;return Hs(o)?o:null}function Bhe(t){let e=t.getUXPreferences();return{includeDescendantNotes:e.includeDescendantNotes,showHiddenItems:e.showHiddenItems}}function n4(t,e){return ca(e,t.settings,Bhe(t),t.app,t.tagTreeService,t.propertyTreeService)}function _he(t,e){let n=t.app.vault,r=null,o=null,a=null;if(t.settings.showProperties)try{let s=ye.get(ut.selectedPropertyKey);if(r=jv(s),r&&!Uv(t.settings,r)){r=null;try{ye.remove(ut.selectedPropertyKey)}catch(l){console.error("Failed to clear invalid selected property from localStorage:",l)}}}catch(s){console.error("Failed to load selected property from localStorage:",s)}if(!r)try{let s=ye.get(ut.selectedTagKey);o=Ze(s)}catch(s){console.error("Failed to load selected tag from localStorage:",s)}if(!r&&!o)try{let s=ye.get(ut.selectedFolderKey);if(s){let l=n.getFolderByPath(s);l&&(a=l)}}catch(s){console.error("Failed to load selected folder from localStorage:",s)}if(r)return{selectionType:W.PROPERTY,selectedFolder:null,selectedTag:null,selectedProperty:r};if(o)return{selectionType:W.TAG,selectedFolder:null,selectedTag:o,selectedProperty:null};let i=a??(e&&e.parent instanceof kl.TFolder?e.parent:n.getRoot());return{selectionType:W.FOLDER,selectedFolder:i,selectedTag:null,selectedProperty:null}}async function J3(t,e){let n=t.app,r=n.vault,o=n.workspace.getActiveFile();if(!o)try{let c=ye.get(ut.selectedFileKey);if(c){let u=r.getFileByPath(c);u&&(o=u)}}catch(c){console.error("Failed to load selected file from localStorage:",c)}let a=_he(t,o),i=n4(t,a);if(i.length===0)return!1;let s=Tx(i,o,e);if(!s)return!1;let l=n.workspace.getLeaf(!1);if(!l)return!1;try{await l.openFile(s,{active:!0})}catch(c){return console.error(`Failed to open ${e} file:`,c),!1}try{ye.set(ut.selectedFileKey,s.path),ye.set(ut.selectedFilesKey,[s.path])}catch(c){console.error("Failed to persist selected file to localStorage:",c)}return!0}function r4(t){let e=t.api;if(!e)return null;let n=e.selection.getNavItem();return n.folder instanceof kl.TFolder?n.folder:null}function Vhe(t){let e=t.api;if(!e)return null;let n=e.selection.getNavItem();return Ze(n.tag)}function Uhe(t){if(!t.settings.showProperties)return null;let e=t.api;if(!e)return null;let r=e.selection.getNavItem().property??null;return r?r===Oe?r:!fT(r)||!Pj(t.settings,r)?null:hT(t.settings,r)?r:null:null}function Lz(t){let e=Uhe(t);if(e)return{selectionType:W.PROPERTY,selectedFolder:null,selectedTag:null,selectedProperty:e};let n=Vhe(t);if(n)return{selectionType:W.TAG,selectedFolder:null,selectedTag:n,selectedProperty:null};let r=r4(t);if(r)return{selectionType:W.FOLDER,selectedFolder:r,selectedTag:null,selectedProperty:null};let a=t.app.workspace.getActiveFile()?.parent;return a instanceof kl.TFolder?{selectionType:W.FOLDER,selectedFolder:a,selectedTag:null,selectedProperty:null}:{selectionType:null,selectedFolder:null,selectedTag:null,selectedProperty:null}}function Khe(t){return bx(Lz(t))}function Whe(t){let e=t===1?d.tooltips.file:d.tooltips.files;return`${d.commands.open} ${t.toString()} ${e}?`}async function jhe(t){let e=Lz(t);if(!e.selectionType){de(d.common.noSelection,{variant:"warning"});return}let n=n4(t,e);if(n.length===0){de(d.listPane.emptyStateNoNotes,{variant:"warning"});return}let r=async()=>{for(let o=0;o<n.length;o++){let a=n[o];await no({app:t.app,commandQueue:t.commandQueue,file:a,context:"tab",active:o===n.length-1})}};if(n.length>=Hhe){new En(t.app,Whe(n.length),"",r,d.commands.open,{confirmButtonClass:"mod-cta"}).open();return}await r()}function Ghe(t,e){let n=Array.isArray(t.settings.vaultProfiles)?t.settings.vaultProfiles:[];return e<0||e>=n.length?null:n[e]?.id??null}function e4(t){new zx(t.app,{profiles:t.settings.vaultProfiles??[],activeProfileId:t.settings.vaultProfile,onSelect:n=>t.setVaultProfile(n)}).open()}async function fk(t,e){let n=()=>t.app.workspace.getLeaf(!1),r=async o=>{o&&await o.openFile(e,{active:!0})};if(t.commandQueue){await t.commandQueue.executeOpenActiveFile(e,r,{active:!0,getLeaf:n});return}await r(n())}async function qhe(t,e,n){let r=np(e,t.settings),o={calendarCustomRootFolder:nn(t.settings).periodicNotesFolder},a=oy(e,t.settings),{folderPath:i,fileName:s,filePath:l}=xm(n,o,r.calendarCustomFilePattern,r.fallbackPattern),c=t.app.vault.getAbstractFileByPath(l);if(c instanceof kl.TFile){await fk(t,c);return}let u;try{u=await ay(t.app,i,s,a)}catch(p){console.error("Failed to create calendar note",p),de(d.common.unknownError,{variant:"warning"});return}await fk(t,u)}async function hk(t,e){let n=qr();if(!n){de(d.common.unknownError,{variant:"warning"});return}let r=Ei(),{calendarRulesLocale:o}=Hu(t.settings.calendarLocale,n,r),a=Vu(t.settings.calendarPeriodicNotesLocaleSource,o,n),i=n().startOf("day");if(e==="day"&&t.settings.calendarIntegrationMode==="daily-notes"){let f=tg(t.app);if(!f){de(d.navigationCalendar.dailyNotesNotEnabled,{variant:"warning"});return}let h=i.clone().locale(Lc(n)),b=jy(t.app,h,f);if(!b){let v=Ox(h,f),y=async()=>{let S=await Gy(t.app,h,f);S&&await fk(t,S)};if(t.settings.calendarConfirmBeforeCreate){new En(t.app,d.navigationCalendar.createDailyNote.title,d.navigationCalendar.createDailyNote.message.replace("{filename}",v),()=>{Q(y)},d.navigationCalendar.createDailyNote.confirmButton,{confirmButtonClass:"mod-cta"}).open();return}await y();return}await fk(t,b);return}let s=np(e,t.settings),l=Im(s.calendarCustomFilePattern,s.fallbackPattern);if(!s.isPatternValid(l,n)){de(s.parsingErrorText,{variant:"warning"});return}let c=rp(e,i,l,a,a),u={calendarCustomRootFolder:nn(t.settings).periodicNotesFolder},p=xm(c,u,s.calendarCustomFilePattern,s.fallbackPattern),m=t.app.vault.getAbstractFileByPath(p.filePath),g=m instanceof kl.TFile?m:null;if(!g){let f=()=>Q(()=>qhe(t,e,c));if(t.settings.calendarConfirmBeforeCreate){new En(t.app,d.paneHeader.newNote,d.navigationCalendar.createDailyNote.message.replace("{filename}",p.filePath),f,d.navigationCalendar.createDailyNote.confirmButton,{confirmButtonClass:"mod-cta"}).open();return}f();return}await fk(t,g)}function o4(t){t.addCommand({id:"open",name:d.commands.open,callback:()=>{Q(async()=>{let r=t.getNavigatorLeaves();if(r.length>0){await X3(t,r);return}await t.activateView()})}}),t.addCommand({id:"toggle-left-sidebar",name:d.commands.toggleLeftSidebar,callback:()=>{Q(async()=>{let{workspace:r}=t.app,o=r.leftSplit;if(o&&!o.collapsed){o.collapse();return}let i=t.getNavigatorLeaves().find(c=>md(t.app,c)==="left-sidebar");if(i){await X3(t,[i]);return}let s=r.getLeftLeaf(!1);if(!s)return;await s.setViewState({type:wa,active:!0}),await r.revealLeaf(s);let l=s.view;Hs(l)&&l.focusVisiblePane()})}}),t.addCommand({id:"open-homepage",name:d.commands.openHomepage,checkCallback:r=>t.canOpenHomepage()?(r||Q(()=>t.openHomepage("command")),!0):!1}),t.addCommand({id:"reveal-file",name:d.commands.revealFile,checkCallback:r=>{let o=t.app.workspace.getActiveFile();return o&&o.parent?(r||Q(async()=>{await t.activateView(),await t.revealFileInActualFolder(o,{showHiddenFileNotice:!0})}),!0):!1}}),t.addCommand({id:"open-all-files",name:d.commands.openAllFiles,checkCallback:r=>Lz(t).selectionType?(r||Q(()=>jhe(t)),!0):!1}),t.addCommand({id:"toggle-descendants",name:d.commands.toggleDescendants,callback:()=>{Q(async()=>{await t.activateView(),t.toggleIncludeDescendantNotes()})}}),t.addCommand({id:"toggle-hidden",name:d.commands.toggleHidden,callback:()=>{Q(async()=>{await t.activateView(),t.toggleShowHiddenItems()})}}),t.addCommand({id:"toggle-tag-sort",name:d.commands.toggleTagSort,callback:()=>{Q(async()=>{await t.activateView();let r=t.getTagSortOrder()==="frequency-desc"?"alpha-asc":"frequency-desc";t.setTagSortOrder(r)})}}),t.addCommand({id:"toggle-tags-by-selection",name:d.commands.toggleTagsBySelection,callback:()=>{Q(async()=>{await t.activateView(),t.settings.scopeTagsToCurrentContext=!t.settings.scopeTagsToCurrentContext,await t.saveSettingsAndUpdate()})}}),t.addCommand({id:"toggle-properties-by-selection",name:d.commands.togglePropertiesBySelection,callback:()=>{Q(async()=>{await t.activateView(),t.settings.scopePropertiesToCurrentContext=!t.settings.scopePropertiesToCurrentContext,await t.saveSettingsAndUpdate()})}}),t.addCommand({id:"toggle-compact-mode",name:d.commands.toggleCompactMode,callback:()=>{Q(async()=>{t.settings.defaultListMode=t.settings.defaultListMode==="compact"?"standard":"compact",await t.saveSettingsAndUpdate()})}}),t.addCommand({id:"toggle-pinned-section",name:d.commands.togglePinnedSection,callback:()=>{Q(async()=>{await(await Jo(t))?.whenReady(),await t.togglePinnedGroupCollapsed(Khe(t))})}}),t.addCommand({id:"toggle-dual-pane",name:d.commands.toggleDualPane,callback:()=>{Q(async()=>{if((await Jo(t))?.isDualPaneAutoFallbackActive()){de(d.paneHeader.dualPaneAutoFallbackNotice,{variant:"warning"});return}t.toggleDualPanePreference()})}}),t.addCommand({id:"toggle-dual-pane-orientation",name:d.commands.toggleDualPaneOrientation,callback:()=>{Q(async()=>{await t.activateView();let r=t.getDualPaneOrientation()==="vertical"?"horizontal":"vertical";await t.setDualPaneOrientation(r)})}}),t.addCommand({id:"toggle-calendar",name:d.commands.toggleCalendar,callback:()=>{Q(async()=>{t.settings.calendarEnabled&&(await t.activateView(),t.toggleShowCalendar())})}}),t.addCommand({id:"open-daily-note",name:d.commands.openDailyNote,callback:()=>{Q(()=>hk(t,"day"))}}),t.addCommand({id:"open-weekly-note",name:d.commands.openWeeklyNote,callback:()=>{Q(()=>hk(t,"week"))}}),t.addCommand({id:"open-monthly-note",name:d.commands.openMonthlyNote,callback:()=>{Q(()=>hk(t,"month"))}}),t.addCommand({id:"open-quarterly-note",name:d.commands.openQuarterlyNote,callback:()=>{Q(()=>hk(t,"quarter"))}}),t.addCommand({id:"open-yearly-note",name:d.commands.openYearlyNote,callback:()=>{Q(()=>hk(t,"year"))}}),t.addCommand({id:"select-profile",name:d.commands.selectVaultProfile,callback:()=>{e4(t)}});let e=(r,o,a)=>{t.addCommand({id:r,name:o,callback:()=>{let i=Ghe(t,a);if(!i){e4(t);return}Q(()=>t.setVaultProfile(i))}})};e("select-profile-1",d.commands.selectVaultProfile1,0),e("select-profile-2",d.commands.selectVaultProfile2,1),e("select-profile-3",d.commands.selectVaultProfile3,2),t.addCommand({id:"collapse-expand",name:d.commands.collapseExpand,callback:()=>{Q(async()=>{let r=await Jo(t);r&&r.triggerCollapse()})}}),t.addCommand({id:"collapse-expand-selected-item",name:d.commands.collapseExpandSelectedItem,callback:()=>{Q(async()=>{let r=await Jo(t);r&&(await r.whenReady(),r.triggerSelectedItemCollapse())})}}),t.addCommand({id:"new-note",name:d.commands.createNewNote,callback:()=>{Q(async()=>{let r=await Jo(t);r&&await r.createNoteInSelectedFolder(t.settings.createNewNotesInNewTab)})}}),t.addCommand({id:"new-note-from-template",name:d.commands.createNewNoteFromTemplate,checkCallback:r=>ty(t.app)?(r||Q(async()=>{let a=await Jo(t);a&&await a.createNoteFromTemplateInSelectedFolder()}),!0):!1}),t.addCommand({id:"move-files",name:d.commands.moveFiles,callback:()=>{Q(async()=>{let r=await Jo(t);r&&await r.moveSelectedFiles()})}}),t.addCommand({id:"merge-notes",name:d.commands.mergeNotes,callback:()=>{Q(async()=>{let r=await Jo(t);r&&await r.mergeSelectedFiles()})}}),t.addCommand({id:"select-next-file",name:d.commands.selectNextFile,callback:()=>{Q(async()=>{let r=t.getNavigatorLeaves(),o=Z3(t,r);if(o){await o.selectNextFileInCurrentView();return}await J3(t,"next")})}}),t.addCommand({id:"select-previous-file",name:d.commands.selectPreviousFile,callback:()=>{Q(async()=>{let r=t.getNavigatorLeaves(),o=Z3(t,r);if(o){await o.selectPreviousFileInCurrentView();return}await J3(t,"previous")})}}),t.addCommand({id:"navigate-back",name:d.commands.navigateBack,callback:()=>{Q(async()=>{let r=await Jo(t);r&&await r.navigateBack()})}}),t.addCommand({id:"navigate-forward",name:d.commands.navigateForward,callback:()=>{Q(async()=>{let r=await Jo(t);r&&await r.navigateForward()})}}),t.addCommand({id:"convert-to-folder-note",name:d.commands.convertToFolderNote,checkCallback:r=>{let o=t.app.workspace.getActiveFile();if(!o||!t.settings.enableFolderNotes||!fl(o.extension))return!1;let a=o.parent;if(!a||!(a instanceof kl.TFolder))return!1;let i=t.fileSystemOps;return i?(r||Q(()=>i.convertFileToFolderNote(o,t.settings)),!0):!1}}),t.addCommand({id:"set-as-folder-note",name:d.commands.setAsFolderNote,checkCallback:r=>{let o=t.app.workspace.getActiveFile();if(!o||!t.settings.enableFolderNotes||!fl(o.extension))return!1;let a=o.parent;if(!a||!(a instanceof kl.TFolder))return!1;let i=t.fileSystemOps;return i?(r||Q(()=>i.setFileAsFolderNote(o,t.settings)),!0):!1}}),t.addCommand({id:"detach-folder-note",name:d.commands.detachFolderNote,checkCallback:r=>{if(!t.settings.enableFolderNotes)return!1;let o=t.fileSystemOps;if(!o)return!1;if(r)return!0;let a=r4(t);if(!a)return de(d.fileSystem.errors.noFolderSelected,{variant:"warning"}),!0;let i=Pn(a,No(t.settings));return i?(Q(()=>o.renameFile(i)),!0):(de(d.fileSystem.errors.folderNoteNotFound,{variant:"warning"}),!0)}}),t.addCommand({id:"pin-all-folder-notes",name:d.commands.pinAllFolderNotes,checkCallback:r=>{if(!t.settings.enableFolderNotes)return!1;let o=t.metadataService;return o?(r||Q(async()=>{let a=No(t.settings),{showHiddenItems:i}=t.getUXPreferences(),s=ng(t.settings,i),l=po(s),c=ti(t.settings),u=[];if(t.app.vault.getAllLoadedFiles().forEach(m=>{if(!(m instanceof kl.TFile))return;let g=m.parent;!g||!(g instanceof kl.TFolder)||zs(m,g,a)&&(!i&&ei(g,c)||l.hasCriteria&&Xo(m,l,t.app)||o.isFilePinned(m.path,"folder")||u.push(m))}),u.length===0)return;let p=await o.pinNotes(u.map(m=>m.path),"folder");p!==0&&de(d.shortcuts.folderNotesPinned.replace("{count}",p.toString()),{variant:"success"})}),!0):!1}}),t.addCommand({id:"delete-files",name:d.commands.deleteFile,callback:()=>{Q(async()=>{let r=await Jo(t);r&&r.deleteSelectedFiles()})}}),t.addCommand({id:"rebuild-cache",name:d.commands.rebuildCache,callback:()=>{Q(async()=>{try{await t.rebuildCache()}catch(r){console.error("Failed to rebuild cache:",r)}})}}),t.addCommand({id:"add-tag",name:d.commands.addTag,callback:()=>{Q(async()=>{let r=await Jo(t);r&&await r.addTagToSelectedFiles()})}}),t.addCommand({id:"set-property",name:d.commands.setProperty,callback:()=>{Q(async()=>{let r=await Jo(t);r&&await r.setPropertyOnSelectedFiles()})}}),t.addCommand({id:"remove-tag",name:d.commands.removeTag,callback:()=>{Q(async()=>{let r=await Jo(t);r&&await r.removeTagFromSelectedFiles()})}}),t.addCommand({id:"remove-all-tags",name:d.commands.removeAllTags,callback:()=>{Q(async()=>{let r=await Jo(t);r&&await r.removeAllTagsFromSelectedFiles()})}}),t.addCommand({id:"navigate-to-folder",name:d.commands.navigateToFolder,callback:()=>{Q(async()=>{let r=await Jo(t);r&&await r.navigateToFolderWithModal()})}}),t.addCommand({id:"navigate-to-tag",name:d.commands.navigateToTag,callback:()=>{Q(async()=>{let r=await Jo(t);r&&await r.navigateToTagWithModal()})}}),t.addCommand({id:"navigate-to-property",name:d.commands.navigateToProperty,callback:()=>{Q(async()=>{let r=await Jo(t);r&&await r.navigateToPropertyWithModal()})}}),t.addCommand({id:"add-shortcut",name:d.commands.addShortcut,callback:()=>{Q(async()=>{let r=await Jo(t);r&&await r.addShortcutForCurrentSelection()})}}),Array.from({length:9},(r,o)=>o+1).forEach(r=>{let o=d.commands.openShortcut.replace("{number}",r.toString());t.addCommand({id:`open-shortcut-${r}`,name:o,checkCallback:a=>{try{let l=(nn(t.settings).shortcuts??[])[r-1];return l?(a||Q(async()=>{if(await n(t,l))return;let u=await Jo(t);u&&await u.openShortcutByNumber(r)}),!0):!1}catch(i){return console.error("Failed to open shortcut command:",i),!1}}})});async function n(r,o){if(!Po(o))return!1;let{app:a}=r,i=k$(a,o.path);if(!i)return!1;let s=a.workspace.getLeaf(!1);return s?(await s.openFile(i,{active:!0}),!0):!1}t.addCommand({id:"search",name:d.commands.search,callback:()=>{Q(async()=>{let r=await Jo(t);r&&r.toggleSearch()})}}),t.addCommand({id:"search-vault",name:d.commands.searchVaultRoot,checkCallback:r=>t.settings.showRootFolder?(r||Q(async()=>{let o=await Jo(t);if(!o)return;let a=t.app.vault.getRoot();o.navigateToFolder(a,{source:"manual",preserveNavigationFocus:!1}),o.toggleSearch()}),!0):!1})}var kl,Hhe,i4=U(()=>{kl=require("obsidian");Ee();pk();iy();_a();Yr();qy();ot();Bd();Nx();dn();Fn();Ai();$3();Jr();Ue();Sn();Ia();Xc();dk();Zc();Ay();cn();ai();Hhe=15});function r5(){return n5.Platform.isMobile&&HC()}function Kz(t){if(typeof t!="string")return null;let e=t.trim();return e.length>0?e:null}function o5(t){if(typeof t!="object"||t===null)return!1;let e=t;return typeof e.path=="string"&&typeof e.token=="string"}function gfe(){return t5+=1,`pdf-processing-${t5}`}function a5(t){if(!r5())return null;let e=Kz(t);if(e===null)return null;let n={path:e,token:gfe()};return ye.set(ut.pdfProcessingDiagnosticKey,n),n}function i5(t){if(t===null)return;let e=ye.get(ut.pdfProcessingDiagnosticKey);if(!o5(e)){ye.remove(ut.pdfProcessingDiagnosticKey);return}e.path!==t.path||e.token!==t.token||ye.remove(ut.pdfProcessingDiagnosticKey)}function Wz(){ye.remove(ut.pdfProcessingDiagnosticKey)}function s5(){if(!r5())return null;let t=ye.get(ut.pdfProcessingDiagnosticKey);return ye.remove(ut.pdfProcessingDiagnosticKey),o5(t)?Kz(t.path):Kz(t)}var n5,t5,jz=U(()=>{n5=require("obsidian");Ue();Wu();Jr();t5=0});var v5=Mc(ro=>{"use strict";function $z(t,e){var n=t.length;t.push(e);e:for(;0<n;){var r=n-1>>>1,o=t[r];if(0<Ux(o,e))t[r]=e,t[n]=o,n=r;else break e}}function ic(t){return t.length===0?null:t[0]}function Wx(t){if(t.length===0)return null;var e=t[0],n=t.pop();if(n!==e){t[0]=n;e:for(var r=0,o=t.length,a=o>>>1;r<a;){var i=2*(r+1)-1,s=t[i],l=i+1,c=t[l];if(0>Ux(s,n))l<o&&0>Ux(c,s)?(t[r]=c,t[l]=n,r=l):(t[r]=s,t[i]=n,r=i);else if(l<o&&0>Ux(c,n))t[r]=c,t[l]=n,r=l;else break e}}return e}function Ux(t,e){var n=t.sortIndex-e.sortIndex;return n!==0?n:t.id-e.id}typeof performance=="object"&&typeof performance.now=="function"?(l5=performance,ro.unstable_now=function(){return l5.now()}):(Gz=Date,d5=Gz.now(),ro.unstable_now=function(){return Gz.now()-d5});var l5,Gz,d5,su=[],rg=[],hfe=1,gd=null,ji=3,jx=!1,Zh=!1,Tk=!1,p5=typeof setTimeout=="function"?setTimeout:null,m5=typeof clearTimeout=="function"?clearTimeout:null,c5=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function Xz(t){for(var e=ic(rg);e!==null;){if(e.callback===null)Wx(rg);else if(e.startTime<=t)Wx(rg),e.sortIndex=e.expirationTime,$z(su,e);else break;e=ic(rg)}}function Qz(t){if(Tk=!1,Xz(t),!Zh)if(ic(su)!==null)Zh=!0,Jz(Zz);else{var e=ic(rg);e!==null&&e0(Qz,e.startTime-t)}}function Zz(t,e){Zh=!1,Tk&&(Tk=!1,m5(kk),kk=-1),jx=!0;var n=ji;try{for(Xz(e),gd=ic(su);gd!==null&&(!(gd.expirationTime>e)||t&&!f5());){var r=gd.callback;if(typeof r=="function"){gd.callback=null,ji=gd.priorityLevel;var o=r(gd.expirationTime<=e);e=ro.unstable_now(),typeof o=="function"?gd.callback=o:gd===ic(su)&&Wx(su),Xz(e)}else Wx(su);gd=ic(su)}if(gd!==null)var a=!0;else{var i=ic(rg);i!==null&&e0(Qz,i.startTime-e),a=!1}return a}finally{gd=null,ji=n,jx=!1}}var Gx=!1,Kx=null,kk=-1,g5=5,h5=-1;function f5(){return!(ro.unstable_now()-h5<g5)}function qz(){if(Kx!==null){var t=ro.unstable_now();h5=t;var e=!0;try{e=Kx(!0,t)}finally{e?wk():(Gx=!1,Kx=null)}}else Gx=!1}var wk;typeof c5=="function"?wk=function(){c5(qz)}:typeof MessageChannel<"u"?(Yz=new MessageChannel,u5=Yz.port2,Yz.port1.onmessage=qz,wk=function(){u5.postMessage(null)}):wk=function(){p5(qz,0)};var Yz,u5;function Jz(t){Kx=t,Gx||(Gx=!0,wk())}function e0(t,e){kk=p5(function(){t(ro.unstable_now())},e)}ro.unstable_IdlePriority=5;ro.unstable_ImmediatePriority=1;ro.unstable_LowPriority=4;ro.unstable_NormalPriority=3;ro.unstable_Profiling=null;ro.unstable_UserBlockingPriority=2;ro.unstable_cancelCallback=function(t){t.callback=null};ro.unstable_continueExecution=function(){Zh||jx||(Zh=!0,Jz(Zz))};ro.unstable_forceFrameRate=function(t){0>t||125<t?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):g5=0<t?Math.floor(1e3/t):5};ro.unstable_getCurrentPriorityLevel=function(){return ji};ro.unstable_getFirstCallbackNode=function(){return ic(su)};ro.unstable_next=function(t){switch(ji){case 1:case 2:case 3:var e=3;break;default:e=ji}var n=ji;ji=e;try{return t()}finally{ji=n}};ro.unstable_pauseExecution=function(){};ro.unstable_requestPaint=function(){};ro.unstable_runWithPriority=function(t,e){switch(t){case 1:case 2:case 3:case 4:case 5:break;default:t=3}var n=ji;ji=t;try{return e()}finally{ji=n}};ro.unstable_scheduleCallback=function(t,e,n){var r=ro.unstable_now();switch(typeof n=="object"&&n!==null?(n=n.delay,n=typeof n=="number"&&0<n?r+n:r):n=r,t){case 1:var o=-1;break;case 2:o=250;break;case 5:o=1073741823;break;case 4:o=1e4;break;default:o=5e3}return o=n+o,t={id:hfe++,callback:e,priorityLevel:t,startTime:n,expirationTime:o,sortIndex:-1},n>r?(t.sortIndex=n,$z(rg,t),ic(su)===null&&t===ic(rg)&&(Tk?(m5(kk),kk=-1):Tk=!0,e0(Qz,n-r))):(t.sortIndex=o,$z(su,t),Zh||jx||(Zh=!0,Jz(Zz))),t};ro.unstable_shouldYield=f5;ro.unstable_wrapCallback=function(t){var e=ji;return function(){var n=ji;ji=e;try{return t.apply(this,arguments)}finally{ji=n}}}});var b5=Mc((BYe,y5)=>{"use strict";y5.exports=v5()});var kX=Mc(xl=>{"use strict";var ffe=ze(),Nl=b5();function st(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,n=1;n<arguments.length;n++)e+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+t+"; visit "+e+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var C6=new Set,jk={};function pf(t,e){gb(t,e),gb(t+"Capture",e)}function gb(t,e){for(jk[t]=e,t=0;t<e.length;t++)C6.add(e[t])}var Sp=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),k0=Object.prototype.hasOwnProperty,vfe=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,S5={},w5={};function yfe(t){return k0.call(w5,t)?!0:k0.call(S5,t)?!1:vfe.test(t)?w5[t]=!0:(S5[t]=!0,!1)}function bfe(t,e,n,r){if(n!==null&&n.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function Sfe(t,e,n,r){if(e===null||typeof e>"u"||bfe(t,e,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function ms(t,e,n,r,o,a,i){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=t,this.type=e,this.sanitizeURL=a,this.removeEmptyString=i}var Pi={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){Pi[t]=new ms(t,0,!1,t,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];Pi[e]=new ms(e,1,!1,t[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(t){Pi[t]=new ms(t,2,!1,t.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){Pi[t]=new ms(t,2,!1,t,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){Pi[t]=new ms(t,3,!1,t.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(t){Pi[t]=new ms(t,3,!0,t,null,!1,!1)});["capture","download"].forEach(function(t){Pi[t]=new ms(t,4,!1,t,null,!1,!1)});["cols","rows","size","span"].forEach(function(t){Pi[t]=new ms(t,6,!1,t,null,!1,!1)});["rowSpan","start"].forEach(function(t){Pi[t]=new ms(t,5,!1,t.toLowerCase(),null,!1,!1)});var hB=/[\-:]([a-z])/g;function fB(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var e=t.replace(hB,fB);Pi[e]=new ms(e,1,!1,t,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(hB,fB);Pi[e]=new ms(e,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(hB,fB);Pi[e]=new ms(e,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(t){Pi[t]=new ms(t,1,!1,t.toLowerCase(),null,!1,!1)});Pi.xlinkHref=new ms("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(t){Pi[t]=new ms(t,1,!1,t.toLowerCase(),null,!0,!0)});function vB(t,e,n,r){var o=Pi.hasOwnProperty(e)?Pi[e]:null;(o!==null?o.type!==0:r||!(2<e.length)||e[0]!=="o"&&e[0]!=="O"||e[1]!=="n"&&e[1]!=="N")&&(Sfe(e,n,o,r)&&(n=null),r||o===null?yfe(e)&&(n===null?t.removeAttribute(e):t.setAttribute(e,""+n)):o.mustUseProperty?t[o.propertyName]=n===null?o.type===3?!1:"":n:(e=o.attributeName,r=o.attributeNamespace,n===null?t.removeAttribute(e):(o=o.type,n=o===3||o===4&&n===!0?"":""+n,r?t.setAttributeNS(r,e,n):t.setAttribute(e,n))))}var Fp=ffe.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,qx=Symbol.for("react.element"),Xy=Symbol.for("react.portal"),Qy=Symbol.for("react.fragment"),yB=Symbol.for("react.strict_mode"),F0=Symbol.for("react.profiler"),N6=Symbol.for("react.provider"),I6=Symbol.for("react.context"),bB=Symbol.for("react.forward_ref"),P0=Symbol.for("react.suspense"),C0=Symbol.for("react.suspense_list"),SB=Symbol.for("react.memo"),ag=Symbol.for("react.lazy"),x6=Symbol.for("react.offscreen"),T5=Symbol.iterator;function Fk(t){return t===null||typeof t!="object"?null:(t=T5&&t[T5]||t["@@iterator"],typeof t=="function"?t:null)}var Bo=Object.assign,t0;function Rk(t){if(t0===void 0)try{throw Error()}catch(n){var e=n.stack.trim().match(/\n( *(at )?)/);t0=e&&e[1]||""}return`
`+t0+t}var n0=!1;function r0(t,e){if(!t||n0)return"";n0=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(e)if(e=function(){throw Error()},Object.defineProperty(e.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(e,[])}catch(c){var r=c}Reflect.construct(t,[],e)}else{try{e.call()}catch(c){r=c}t.call(e.prototype)}else{try{throw Error()}catch(c){r=c}t()}}catch(c){if(c&&r&&typeof c.stack=="string"){for(var o=c.stack.split(`
`),a=r.stack.split(`
`),i=o.length-1,s=a.length-1;1<=i&&0<=s&&o[i]!==a[s];)s--;for(;1<=i&&0<=s;i--,s--)if(o[i]!==a[s]){if(i!==1||s!==1)do if(i--,s--,0>s||o[i]!==a[s]){var l=`
`+o[i].replace(" at new "," at ");return t.displayName&&l.includes("<anonymous>")&&(l=l.replace("<anonymous>",t.displayName)),l}while(1<=i&&0<=s);break}}}finally{n0=!1,Error.prepareStackTrace=n}return(t=t?t.displayName||t.name:"")?Rk(t):""}function wfe(t){switch(t.tag){case 5:return Rk(t.type);case 16:return Rk("Lazy");case 13:return Rk("Suspense");case 19:return Rk("SuspenseList");case 0:case 2:case 15:return t=r0(t.type,!1),t;case 11:return t=r0(t.type.render,!1),t;case 1:return t=r0(t.type,!0),t;default:return""}}function N0(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case Qy:return"Fragment";case Xy:return"Portal";case F0:return"Profiler";case yB:return"StrictMode";case P0:return"Suspense";case C0:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case I6:return(t.displayName||"Context")+".Consumer";case N6:return(t._context.displayName||"Context")+".Provider";case bB:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case SB:return e=t.displayName||null,e!==null?e:N0(t.type)||"Memo";case ag:e=t._payload,t=t._init;try{return N0(t(e))}catch{}}return null}function Tfe(t){var e=t.type;switch(t.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=e.render,t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return N0(e);case 8:return e===yB?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function bg(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function E6(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function kfe(t){var e=E6(t)?"checked":"value",n=Object.getOwnPropertyDescriptor(t.constructor.prototype,e),r=""+t[e];if(!t.hasOwnProperty(e)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var o=n.get,a=n.set;return Object.defineProperty(t,e,{configurable:!0,get:function(){return o.call(this)},set:function(i){r=""+i,a.call(this,i)}}),Object.defineProperty(t,e,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(i){r=""+i},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function Yx(t){t._valueTracker||(t._valueTracker=kfe(t))}function M6(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var n=e.getValue(),r="";return t&&(r=E6(t)?t.checked?"true":"false":t.value),t=r,t!==n?(e.setValue(t),!0):!1}function TE(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function I0(t,e){var n=e.checked;return Bo({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??t._wrapperState.initialChecked})}function k5(t,e){var n=e.defaultValue==null?"":e.defaultValue,r=e.checked!=null?e.checked:e.defaultChecked;n=bg(e.value!=null?e.value:n),t._wrapperState={initialChecked:r,initialValue:n,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function R6(t,e){e=e.checked,e!=null&&vB(t,"checked",e,!1)}function x0(t,e){R6(t,e);var n=bg(e.value),r=e.type;if(n!=null)r==="number"?(n===0&&t.value===""||t.value!=n)&&(t.value=""+n):t.value!==""+n&&(t.value=""+n);else if(r==="submit"||r==="reset"){t.removeAttribute("value");return}e.hasOwnProperty("value")?E0(t,e.type,n):e.hasOwnProperty("defaultValue")&&E0(t,e.type,bg(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(t.defaultChecked=!!e.defaultChecked)}function F5(t,e,n){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var r=e.type;if(!(r!=="submit"&&r!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+t._wrapperState.initialValue,n||e===t.value||(t.value=e),t.defaultValue=e}n=t.name,n!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,n!==""&&(t.name=n)}function E0(t,e,n){(e!=="number"||TE(t.ownerDocument)!==t)&&(n==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+n&&(t.defaultValue=""+n))}var Dk=Array.isArray;function lb(t,e,n,r){if(t=t.options,e){e={};for(var o=0;o<n.length;o++)e["$"+n[o]]=!0;for(n=0;n<t.length;n++)o=e.hasOwnProperty("$"+t[n].value),t[n].selected!==o&&(t[n].selected=o),o&&r&&(t[n].defaultSelected=!0)}else{for(n=""+bg(n),e=null,o=0;o<t.length;o++){if(t[o].value===n){t[o].selected=!0,r&&(t[o].defaultSelected=!0);return}e!==null||t[o].disabled||(e=t[o])}e!==null&&(e.selected=!0)}}function M0(t,e){if(e.dangerouslySetInnerHTML!=null)throw Error(st(91));return Bo({},e,{value:void 0,defaultValue:void 0,children:""+t._wrapperState.initialValue})}function P5(t,e){var n=e.value;if(n==null){if(n=e.children,e=e.defaultValue,n!=null){if(e!=null)throw Error(st(92));if(Dk(n)){if(1<n.length)throw Error(st(93));n=n[0]}e=n}e==null&&(e=""),n=e}t._wrapperState={initialValue:bg(n)}}function D6(t,e){var n=bg(e.value),r=bg(e.defaultValue);n!=null&&(n=""+n,n!==t.value&&(t.value=n),e.defaultValue==null&&t.defaultValue!==n&&(t.defaultValue=n)),r!=null&&(t.defaultValue=""+r)}function C5(t){var e=t.textContent;e===t._wrapperState.initialValue&&e!==""&&e!==null&&(t.value=e)}function A6(t){switch(t){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function R0(t,e){return t==null||t==="http://www.w3.org/1999/xhtml"?A6(e):t==="http://www.w3.org/2000/svg"&&e==="foreignObject"?"http://www.w3.org/1999/xhtml":t}var $x,O6=(function(t){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(e,n,r,o){MSApp.execUnsafeLocalFunction(function(){return t(e,n,r,o)})}:t})(function(t,e){if(t.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in t)t.innerHTML=e;else{for($x=$x||document.createElement("div"),$x.innerHTML="<svg>"+e.valueOf().toString()+"</svg>",e=$x.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;e.firstChild;)t.appendChild(e.firstChild)}});function Gk(t,e){if(e){var n=t.firstChild;if(n&&n===t.lastChild&&n.nodeType===3){n.nodeValue=e;return}}t.textContent=e}var Lk={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Ffe=["Webkit","ms","Moz","O"];Object.keys(Lk).forEach(function(t){Ffe.forEach(function(e){e=e+t.charAt(0).toUpperCase()+t.substring(1),Lk[e]=Lk[t]})});function L6(t,e,n){return e==null||typeof e=="boolean"||e===""?"":n||typeof e!="number"||e===0||Lk.hasOwnProperty(t)&&Lk[t]?(""+e).trim():e+"px"}function z6(t,e){t=t.style;for(var n in e)if(e.hasOwnProperty(n)){var r=n.indexOf("--")===0,o=L6(n,e[n],r);n==="float"&&(n="cssFloat"),r?t.setProperty(n,o):t[n]=o}}var Pfe=Bo({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function D0(t,e){if(e){if(Pfe[t]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(st(137,t));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(st(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(st(61))}if(e.style!=null&&typeof e.style!="object")throw Error(st(62))}}function A0(t,e){if(t.indexOf("-")===-1)return typeof e.is=="string";switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var O0=null;function wB(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var L0=null,db=null,cb=null;function N5(t){if(t=cF(t)){if(typeof L0!="function")throw Error(st(280));var e=t.stateNode;e&&(e=XE(e),L0(t.stateNode,t.type,e))}}function B6(t){db?cb?cb.push(t):cb=[t]:db=t}function _6(){if(db){var t=db,e=cb;if(cb=db=null,N5(t),e)for(t=0;t<e.length;t++)N5(e[t])}}function H6(t,e){return t(e)}function V6(){}var o0=!1;function U6(t,e,n){if(o0)return t(e,n);o0=!0;try{return H6(t,e,n)}finally{o0=!1,(db!==null||cb!==null)&&(V6(),_6())}}function qk(t,e){var n=t.stateNode;if(n===null)return null;var r=XE(n);if(r===null)return null;n=r[e];e:switch(e){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(t=t.type,r=!(t==="button"||t==="input"||t==="select"||t==="textarea")),t=!r;break e;default:t=!1}if(t)return null;if(n&&typeof n!="function")throw Error(st(231,e,typeof n));return n}var z0=!1;if(Sp)try{Yy={},Object.defineProperty(Yy,"passive",{get:function(){z0=!0}}),window.addEventListener("test",Yy,Yy),window.removeEventListener("test",Yy,Yy)}catch{z0=!1}var Yy;function Cfe(t,e,n,r,o,a,i,s,l){var c=Array.prototype.slice.call(arguments,3);try{e.apply(n,c)}catch(u){this.onError(u)}}var zk=!1,kE=null,FE=!1,B0=null,Nfe={onError:function(t){zk=!0,kE=t}};function Ife(t,e,n,r,o,a,i,s,l){zk=!1,kE=null,Cfe.apply(Nfe,arguments)}function xfe(t,e,n,r,o,a,i,s,l){if(Ife.apply(this,arguments),zk){if(zk){var c=kE;zk=!1,kE=null}else throw Error(st(198));FE||(FE=!0,B0=c)}}function mf(t){var e=t,n=t;if(t.alternate)for(;e.return;)e=e.return;else{t=e;do e=t,(e.flags&4098)!==0&&(n=e.return),t=e.return;while(t)}return e.tag===3?n:null}function K6(t){if(t.tag===13){var e=t.memoizedState;if(e===null&&(t=t.alternate,t!==null&&(e=t.memoizedState)),e!==null)return e.dehydrated}return null}function I5(t){if(mf(t)!==t)throw Error(st(188))}function Efe(t){var e=t.alternate;if(!e){if(e=mf(t),e===null)throw Error(st(188));return e!==t?null:t}for(var n=t,r=e;;){var o=n.return;if(o===null)break;var a=o.alternate;if(a===null){if(r=o.return,r!==null){n=r;continue}break}if(o.child===a.child){for(a=o.child;a;){if(a===n)return I5(o),t;if(a===r)return I5(o),e;a=a.sibling}throw Error(st(188))}if(n.return!==r.return)n=o,r=a;else{for(var i=!1,s=o.child;s;){if(s===n){i=!0,n=o,r=a;break}if(s===r){i=!0,r=o,n=a;break}s=s.sibling}if(!i){for(s=a.child;s;){if(s===n){i=!0,n=a,r=o;break}if(s===r){i=!0,r=a,n=o;break}s=s.sibling}if(!i)throw Error(st(189))}}if(n.alternate!==r)throw Error(st(190))}if(n.tag!==3)throw Error(st(188));return n.stateNode.current===n?t:e}function W6(t){return t=Efe(t),t!==null?j6(t):null}function j6(t){if(t.tag===5||t.tag===6)return t;for(t=t.child;t!==null;){var e=j6(t);if(e!==null)return e;t=t.sibling}return null}var G6=Nl.unstable_scheduleCallback,x5=Nl.unstable_cancelCallback,Mfe=Nl.unstable_shouldYield,Rfe=Nl.unstable_requestPaint,ua=Nl.unstable_now,Dfe=Nl.unstable_getCurrentPriorityLevel,TB=Nl.unstable_ImmediatePriority,q6=Nl.unstable_UserBlockingPriority,PE=Nl.unstable_NormalPriority,Afe=Nl.unstable_LowPriority,Y6=Nl.unstable_IdlePriority,GE=null,uu=null;function Ofe(t){if(uu&&typeof uu.onCommitFiberRoot=="function")try{uu.onCommitFiberRoot(GE,t,void 0,(t.current.flags&128)===128)}catch{}}var uc=Math.clz32?Math.clz32:Bfe,Lfe=Math.log,zfe=Math.LN2;function Bfe(t){return t>>>=0,t===0?32:31-(Lfe(t)/zfe|0)|0}var Xx=64,Qx=4194304;function Ak(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function CE(t,e){var n=t.pendingLanes;if(n===0)return 0;var r=0,o=t.suspendedLanes,a=t.pingedLanes,i=n&268435455;if(i!==0){var s=i&~o;s!==0?r=Ak(s):(a&=i,a!==0&&(r=Ak(a)))}else i=n&~o,i!==0?r=Ak(i):a!==0&&(r=Ak(a));if(r===0)return 0;if(e!==0&&e!==r&&(e&o)===0&&(o=r&-r,a=e&-e,o>=a||o===16&&(a&4194240)!==0))return e;if((r&4)!==0&&(r|=n&16),e=t.entangledLanes,e!==0)for(t=t.entanglements,e&=r;0<e;)n=31-uc(e),o=1<<n,r|=t[n],e&=~o;return r}function _fe(t,e){switch(t){case 1:case 2:case 4:return e+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Hfe(t,e){for(var n=t.suspendedLanes,r=t.pingedLanes,o=t.expirationTimes,a=t.pendingLanes;0<a;){var i=31-uc(a),s=1<<i,l=o[i];l===-1?((s&n)===0||(s&r)!==0)&&(o[i]=_fe(s,e)):l<=e&&(t.expiredLanes|=s),a&=~s}}function _0(t){return t=t.pendingLanes&-1073741825,t!==0?t:t&1073741824?1073741824:0}function $6(){var t=Xx;return Xx<<=1,(Xx&4194240)===0&&(Xx=64),t}function a0(t){for(var e=[],n=0;31>n;n++)e.push(t);return e}function lF(t,e,n){t.pendingLanes|=e,e!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,e=31-uc(e),t[e]=n}function Vfe(t,e){var n=t.pendingLanes&~e;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=e,t.mutableReadLanes&=e,t.entangledLanes&=e,e=t.entanglements;var r=t.eventTimes;for(t=t.expirationTimes;0<n;){var o=31-uc(n),a=1<<o;e[o]=0,r[o]=-1,t[o]=-1,n&=~a}}function kB(t,e){var n=t.entangledLanes|=e;for(t=t.entanglements;n;){var r=31-uc(n),o=1<<r;o&e|t[r]&e&&(t[r]|=e),n&=~o}}var Ar=0;function X6(t){return t&=-t,1<t?4<t?(t&268435455)!==0?16:536870912:4:1}var Q6,FB,Z6,J6,e8,H0=!1,Zx=[],ug=null,pg=null,mg=null,Yk=new Map,$k=new Map,sg=[],Ufe="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function E5(t,e){switch(t){case"focusin":case"focusout":ug=null;break;case"dragenter":case"dragleave":pg=null;break;case"mouseover":case"mouseout":mg=null;break;case"pointerover":case"pointerout":Yk.delete(e.pointerId);break;case"gotpointercapture":case"lostpointercapture":$k.delete(e.pointerId)}}function Pk(t,e,n,r,o,a){return t===null||t.nativeEvent!==a?(t={blockedOn:e,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[o]},e!==null&&(e=cF(e),e!==null&&FB(e)),t):(t.eventSystemFlags|=r,e=t.targetContainers,o!==null&&e.indexOf(o)===-1&&e.push(o),t)}function Kfe(t,e,n,r,o){switch(e){case"focusin":return ug=Pk(ug,t,e,n,r,o),!0;case"dragenter":return pg=Pk(pg,t,e,n,r,o),!0;case"mouseover":return mg=Pk(mg,t,e,n,r,o),!0;case"pointerover":var a=o.pointerId;return Yk.set(a,Pk(Yk.get(a)||null,t,e,n,r,o)),!0;case"gotpointercapture":return a=o.pointerId,$k.set(a,Pk($k.get(a)||null,t,e,n,r,o)),!0}return!1}function t8(t){var e=tf(t.target);if(e!==null){var n=mf(e);if(n!==null){if(e=n.tag,e===13){if(e=K6(n),e!==null){t.blockedOn=e,e8(t.priority,function(){Z6(n)});return}}else if(e===3&&n.stateNode.current.memoizedState.isDehydrated){t.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}t.blockedOn=null}function pE(t){if(t.blockedOn!==null)return!1;for(var e=t.targetContainers;0<e.length;){var n=V0(t.domEventName,t.eventSystemFlags,e[0],t.nativeEvent);if(n===null){n=t.nativeEvent;var r=new n.constructor(n.type,n);O0=r,n.target.dispatchEvent(r),O0=null}else return e=cF(n),e!==null&&FB(e),t.blockedOn=n,!1;e.shift()}return!0}function M5(t,e,n){pE(t)&&n.delete(e)}function Wfe(){H0=!1,ug!==null&&pE(ug)&&(ug=null),pg!==null&&pE(pg)&&(pg=null),mg!==null&&pE(mg)&&(mg=null),Yk.forEach(M5),$k.forEach(M5)}function Ck(t,e){t.blockedOn===e&&(t.blockedOn=null,H0||(H0=!0,Nl.unstable_scheduleCallback(Nl.unstable_NormalPriority,Wfe)))}function Xk(t){function e(o){return Ck(o,t)}if(0<Zx.length){Ck(Zx[0],t);for(var n=1;n<Zx.length;n++){var r=Zx[n];r.blockedOn===t&&(r.blockedOn=null)}}for(ug!==null&&Ck(ug,t),pg!==null&&Ck(pg,t),mg!==null&&Ck(mg,t),Yk.forEach(e),$k.forEach(e),n=0;n<sg.length;n++)r=sg[n],r.blockedOn===t&&(r.blockedOn=null);for(;0<sg.length&&(n=sg[0],n.blockedOn===null);)t8(n),n.blockedOn===null&&sg.shift()}var ub=Fp.ReactCurrentBatchConfig,NE=!0;function jfe(t,e,n,r){var o=Ar,a=ub.transition;ub.transition=null;try{Ar=1,PB(t,e,n,r)}finally{Ar=o,ub.transition=a}}function Gfe(t,e,n,r){var o=Ar,a=ub.transition;ub.transition=null;try{Ar=4,PB(t,e,n,r)}finally{Ar=o,ub.transition=a}}function PB(t,e,n,r){if(NE){var o=V0(t,e,n,r);if(o===null)p0(t,e,r,IE,n),E5(t,r);else if(Kfe(o,t,e,n,r))r.stopPropagation();else if(E5(t,r),e&4&&-1<Ufe.indexOf(t)){for(;o!==null;){var a=cF(o);if(a!==null&&Q6(a),a=V0(t,e,n,r),a===null&&p0(t,e,r,IE,n),a===o)break;o=a}o!==null&&r.stopPropagation()}else p0(t,e,r,null,n)}}var IE=null;function V0(t,e,n,r){if(IE=null,t=wB(r),t=tf(t),t!==null)if(e=mf(t),e===null)t=null;else if(n=e.tag,n===13){if(t=K6(e),t!==null)return t;t=null}else if(n===3){if(e.stateNode.current.memoizedState.isDehydrated)return e.tag===3?e.stateNode.containerInfo:null;t=null}else e!==t&&(t=null);return IE=t,null}function n8(t){switch(t){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Dfe()){case TB:return 1;case q6:return 4;case PE:case Afe:return 16;case Y6:return 536870912;default:return 16}default:return 16}}var dg=null,CB=null,mE=null;function r8(){if(mE)return mE;var t,e=CB,n=e.length,r,o="value"in dg?dg.value:dg.textContent,a=o.length;for(t=0;t<n&&e[t]===o[t];t++);var i=n-t;for(r=1;r<=i&&e[n-r]===o[a-r];r++);return mE=o.slice(t,1<r?1-r:void 0)}function gE(t){var e=t.keyCode;return"charCode"in t?(t=t.charCode,t===0&&e===13&&(t=13)):t=e,t===10&&(t=13),32<=t||t===13?t:0}function Jx(){return!0}function R5(){return!1}function Il(t){function e(n,r,o,a,i){this._reactName=n,this._targetInst=o,this.type=r,this.nativeEvent=a,this.target=i,this.currentTarget=null;for(var s in t)t.hasOwnProperty(s)&&(n=t[s],this[s]=n?n(a):a[s]);return this.isDefaultPrevented=(a.defaultPrevented!=null?a.defaultPrevented:a.returnValue===!1)?Jx:R5,this.isPropagationStopped=R5,this}return Bo(e.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=Jx)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=Jx)},persist:function(){},isPersistent:Jx}),e}var wb={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(t){return t.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},NB=Il(wb),dF=Bo({},wb,{view:0,detail:0}),qfe=Il(dF),i0,s0,Nk,qE=Bo({},dF,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:IB,button:0,buttons:0,relatedTarget:function(t){return t.relatedTarget===void 0?t.fromElement===t.srcElement?t.toElement:t.fromElement:t.relatedTarget},movementX:function(t){return"movementX"in t?t.movementX:(t!==Nk&&(Nk&&t.type==="mousemove"?(i0=t.screenX-Nk.screenX,s0=t.screenY-Nk.screenY):s0=i0=0,Nk=t),i0)},movementY:function(t){return"movementY"in t?t.movementY:s0}}),D5=Il(qE),Yfe=Bo({},qE,{dataTransfer:0}),$fe=Il(Yfe),Xfe=Bo({},dF,{relatedTarget:0}),l0=Il(Xfe),Qfe=Bo({},wb,{animationName:0,elapsedTime:0,pseudoElement:0}),Zfe=Il(Qfe),Jfe=Bo({},wb,{clipboardData:function(t){return"clipboardData"in t?t.clipboardData:window.clipboardData}}),eve=Il(Jfe),tve=Bo({},wb,{data:0}),A5=Il(tve),nve={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},rve={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},ove={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function ave(t){var e=this.nativeEvent;return e.getModifierState?e.getModifierState(t):(t=ove[t])?!!e[t]:!1}function IB(){return ave}var ive=Bo({},dF,{key:function(t){if(t.key){var e=nve[t.key]||t.key;if(e!=="Unidentified")return e}return t.type==="keypress"?(t=gE(t),t===13?"Enter":String.fromCharCode(t)):t.type==="keydown"||t.type==="keyup"?rve[t.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:IB,charCode:function(t){return t.type==="keypress"?gE(t):0},keyCode:function(t){return t.type==="keydown"||t.type==="keyup"?t.keyCode:0},which:function(t){return t.type==="keypress"?gE(t):t.type==="keydown"||t.type==="keyup"?t.keyCode:0}}),sve=Il(ive),lve=Bo({},qE,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),O5=Il(lve),dve=Bo({},dF,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:IB}),cve=Il(dve),uve=Bo({},wb,{propertyName:0,elapsedTime:0,pseudoElement:0}),pve=Il(uve),mve=Bo({},qE,{deltaX:function(t){return"deltaX"in t?t.deltaX:"wheelDeltaX"in t?-t.wheelDeltaX:0},deltaY:function(t){return"deltaY"in t?t.deltaY:"wheelDeltaY"in t?-t.wheelDeltaY:"wheelDelta"in t?-t.wheelDelta:0},deltaZ:0,deltaMode:0}),gve=Il(mve),hve=[9,13,27,32],xB=Sp&&"CompositionEvent"in window,Bk=null;Sp&&"documentMode"in document&&(Bk=document.documentMode);var fve=Sp&&"TextEvent"in window&&!Bk,o8=Sp&&(!xB||Bk&&8<Bk&&11>=Bk),L5=" ",z5=!1;function a8(t,e){switch(t){case"keyup":return hve.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function i8(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Zy=!1;function vve(t,e){switch(t){case"compositionend":return i8(e);case"keypress":return e.which!==32?null:(z5=!0,L5);case"textInput":return t=e.data,t===L5&&z5?null:t;default:return null}}function yve(t,e){if(Zy)return t==="compositionend"||!xB&&a8(t,e)?(t=r8(),mE=CB=dg=null,Zy=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1<e.char.length)return e.char;if(e.which)return String.fromCharCode(e.which)}return null;case"compositionend":return o8&&e.locale!=="ko"?null:e.data;default:return null}}var bve={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function B5(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e==="input"?!!bve[t.type]:e==="textarea"}function s8(t,e,n,r){B6(r),e=xE(e,"onChange"),0<e.length&&(n=new NB("onChange","change",null,n,r),t.push({event:n,listeners:e}))}var _k=null,Qk=null;function Sve(t){y8(t,0)}function YE(t){var e=tb(t);if(M6(e))return t}function wve(t,e){if(t==="change")return e}var l8=!1;Sp&&(Sp?(tE="oninput"in document,tE||(d0=document.createElement("div"),d0.setAttribute("oninput","return;"),tE=typeof d0.oninput=="function"),eE=tE):eE=!1,l8=eE&&(!document.documentMode||9<document.documentMode));var eE,tE,d0;function _5(){_k&&(_k.detachEvent("onpropertychange",d8),Qk=_k=null)}function d8(t){if(t.propertyName==="value"&&YE(Qk)){var e=[];s8(e,Qk,t,wB(t)),U6(Sve,e)}}function Tve(t,e,n){t==="focusin"?(_5(),_k=e,Qk=n,_k.attachEvent("onpropertychange",d8)):t==="focusout"&&_5()}function kve(t){if(t==="selectionchange"||t==="keyup"||t==="keydown")return YE(Qk)}function Fve(t,e){if(t==="click")return YE(e)}function Pve(t,e){if(t==="input"||t==="change")return YE(e)}function Cve(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var mc=typeof Object.is=="function"?Object.is:Cve;function Zk(t,e){if(mc(t,e))return!0;if(typeof t!="object"||t===null||typeof e!="object"||e===null)return!1;var n=Object.keys(t),r=Object.keys(e);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var o=n[r];if(!k0.call(e,o)||!mc(t[o],e[o]))return!1}return!0}function H5(t){for(;t&&t.firstChild;)t=t.firstChild;return t}function V5(t,e){var n=H5(t);t=0;for(var r;n;){if(n.nodeType===3){if(r=t+n.textContent.length,t<=e&&r>=e)return{node:n,offset:e-t};t=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=H5(n)}}function c8(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?c8(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function u8(){for(var t=window,e=TE();e instanceof t.HTMLIFrameElement;){try{var n=typeof e.contentWindow.location.href=="string"}catch{n=!1}if(n)t=e.contentWindow;else break;e=TE(t.document)}return e}function EB(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}function Nve(t){var e=u8(),n=t.focusedElem,r=t.selectionRange;if(e!==n&&n&&n.ownerDocument&&c8(n.ownerDocument.documentElement,n)){if(r!==null&&EB(n)){if(e=r.start,t=r.end,t===void 0&&(t=e),"selectionStart"in n)n.selectionStart=e,n.selectionEnd=Math.min(t,n.value.length);else if(t=(e=n.ownerDocument||document)&&e.defaultView||window,t.getSelection){t=t.getSelection();var o=n.textContent.length,a=Math.min(r.start,o);r=r.end===void 0?a:Math.min(r.end,o),!t.extend&&a>r&&(o=r,r=a,a=o),o=V5(n,a);var i=V5(n,r);o&&i&&(t.rangeCount!==1||t.anchorNode!==o.node||t.anchorOffset!==o.offset||t.focusNode!==i.node||t.focusOffset!==i.offset)&&(e=e.createRange(),e.setStart(o.node,o.offset),t.removeAllRanges(),a>r?(t.addRange(e),t.extend(i.node,i.offset)):(e.setEnd(i.node,i.offset),t.addRange(e)))}}for(e=[],t=n;t=t.parentNode;)t.nodeType===1&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n<e.length;n++)t=e[n],t.element.scrollLeft=t.left,t.element.scrollTop=t.top}}var Ive=Sp&&"documentMode"in document&&11>=document.documentMode,Jy=null,U0=null,Hk=null,K0=!1;function U5(t,e,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;K0||Jy==null||Jy!==TE(r)||(r=Jy,"selectionStart"in r&&EB(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Hk&&Zk(Hk,r)||(Hk=r,r=xE(U0,"onSelect"),0<r.length&&(e=new NB("onSelect","select",null,e,n),t.push({event:e,listeners:r}),e.target=Jy)))}function nE(t,e){var n={};return n[t.toLowerCase()]=e.toLowerCase(),n["Webkit"+t]="webkit"+e,n["Moz"+t]="moz"+e,n}var eb={animationend:nE("Animation","AnimationEnd"),animationiteration:nE("Animation","AnimationIteration"),animationstart:nE("Animation","AnimationStart"),transitionend:nE("Transition","TransitionEnd")},c0={},p8={};Sp&&(p8=document.createElement("div").style,"AnimationEvent"in window||(delete eb.animationend.animation,delete eb.animationiteration.animation,delete eb.animationstart.animation),"TransitionEvent"in window||delete eb.transitionend.transition);function $E(t){if(c0[t])return c0[t];if(!eb[t])return t;var e=eb[t],n;for(n in e)if(e.hasOwnProperty(n)&&n in p8)return c0[t]=e[n];return t}var m8=$E("animationend"),g8=$E("animationiteration"),h8=$E("animationstart"),f8=$E("transitionend"),v8=new Map,K5="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function wg(t,e){v8.set(t,e),pf(e,[t])}for(rE=0;rE<K5.length;rE++)oE=K5[rE],W5=oE.toLowerCase(),j5=oE[0].toUpperCase()+oE.slice(1),wg(W5,"on"+j5);var oE,W5,j5,rE;wg(m8,"onAnimationEnd");wg(g8,"onAnimationIteration");wg(h8,"onAnimationStart");wg("dblclick","onDoubleClick");wg("focusin","onFocus");wg("focusout","onBlur");wg(f8,"onTransitionEnd");gb("onMouseEnter",["mouseout","mouseover"]);gb("onMouseLeave",["mouseout","mouseover"]);gb("onPointerEnter",["pointerout","pointerover"]);gb("onPointerLeave",["pointerout","pointerover"]);pf("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));pf("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));pf("onBeforeInput",["compositionend","keypress","textInput","paste"]);pf("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));pf("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));pf("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Ok="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),xve=new Set("cancel close invalid load scroll toggle".split(" ").concat(Ok));function G5(t,e,n){var r=t.type||"unknown-event";t.currentTarget=n,xfe(r,e,void 0,t),t.currentTarget=null}function y8(t,e){e=(e&4)!==0;for(var n=0;n<t.length;n++){var r=t[n],o=r.event;r=r.listeners;e:{var a=void 0;if(e)for(var i=r.length-1;0<=i;i--){var s=r[i],l=s.instance,c=s.currentTarget;if(s=s.listener,l!==a&&o.isPropagationStopped())break e;G5(o,s,c),a=l}else for(i=0;i<r.length;i++){if(s=r[i],l=s.instance,c=s.currentTarget,s=s.listener,l!==a&&o.isPropagationStopped())break e;G5(o,s,c),a=l}}}if(FE)throw t=B0,FE=!1,B0=null,t}function ho(t,e){var n=e[Y0];n===void 0&&(n=e[Y0]=new Set);var r=t+"__bubble";n.has(r)||(b8(e,t,2,!1),n.add(r))}function u0(t,e,n){var r=0;e&&(r|=4),b8(n,t,r,e)}var aE="_reactListening"+Math.random().toString(36).slice(2);function Jk(t){if(!t[aE]){t[aE]=!0,C6.forEach(function(n){n!=="selectionchange"&&(xve.has(n)||u0(n,!1,t),u0(n,!0,t))});var e=t.nodeType===9?t:t.ownerDocument;e===null||e[aE]||(e[aE]=!0,u0("selectionchange",!1,e))}}function b8(t,e,n,r){switch(n8(e)){case 1:var o=jfe;break;case 4:o=Gfe;break;default:o=PB}n=o.bind(null,e,n,t),o=void 0,!z0||e!=="touchstart"&&e!=="touchmove"&&e!=="wheel"||(o=!0),r?o!==void 0?t.addEventListener(e,n,{capture:!0,passive:o}):t.addEventListener(e,n,!0):o!==void 0?t.addEventListener(e,n,{passive:o}):t.addEventListener(e,n,!1)}function p0(t,e,n,r,o){var a=r;if((e&1)===0&&(e&2)===0&&r!==null)e:for(;;){if(r===null)return;var i=r.tag;if(i===3||i===4){var s=r.stateNode.containerInfo;if(s===o||s.nodeType===8&&s.parentNode===o)break;if(i===4)for(i=r.return;i!==null;){var l=i.tag;if((l===3||l===4)&&(l=i.stateNode.containerInfo,l===o||l.nodeType===8&&l.parentNode===o))return;i=i.return}for(;s!==null;){if(i=tf(s),i===null)return;if(l=i.tag,l===5||l===6){r=a=i;continue e}s=s.parentNode}}r=r.return}U6(function(){var c=a,u=wB(n),p=[];e:{var m=v8.get(t);if(m!==void 0){var g=NB,f=t;switch(t){case"keypress":if(gE(n)===0)break e;case"keydown":case"keyup":g=sve;break;case"focusin":f="focus",g=l0;break;case"focusout":f="blur",g=l0;break;case"beforeblur":case"afterblur":g=l0;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":g=D5;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":g=$fe;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":g=cve;break;case m8:case g8:case h8:g=Zfe;break;case f8:g=pve;break;case"scroll":g=qfe;break;case"wheel":g=gve;break;case"copy":case"cut":case"paste":g=eve;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":g=O5}var h=(e&4)!==0,b=!h&&t==="scroll",v=h?m!==null?m+"Capture":null:m;h=[];for(var y=c,S;y!==null;){S=y;var w=S.stateNode;if(S.tag===5&&w!==null&&(S=w,v!==null&&(w=qk(y,v),w!=null&&h.push(eF(y,w,S)))),b)break;y=y.return}0<h.length&&(m=new g(m,f,null,n,u),p.push({event:m,listeners:h}))}}if((e&7)===0){e:{if(m=t==="mouseover"||t==="pointerover",g=t==="mouseout"||t==="pointerout",m&&n!==O0&&(f=n.relatedTarget||n.fromElement)&&(tf(f)||f[wp]))break e;if((g||m)&&(m=u.window===u?u:(m=u.ownerDocument)?m.defaultView||m.parentWindow:window,g?(f=n.relatedTarget||n.toElement,g=c,f=f?tf(f):null,f!==null&&(b=mf(f),f!==b||f.tag!==5&&f.tag!==6)&&(f=null)):(g=null,f=c),g!==f)){if(h=D5,w="onMouseLeave",v="onMouseEnter",y="mouse",(t==="pointerout"||t==="pointerover")&&(h=O5,w="onPointerLeave",v="onPointerEnter",y="pointer"),b=g==null?m:tb(g),S=f==null?m:tb(f),m=new h(w,y+"leave",g,n,u),m.target=b,m.relatedTarget=S,w=null,tf(u)===c&&(h=new h(v,y+"enter",f,n,u),h.target=S,h.relatedTarget=b,w=h),b=w,g&&f)t:{for(h=g,v=f,y=0,S=h;S;S=$y(S))y++;for(S=0,w=v;w;w=$y(w))S++;for(;0<y-S;)h=$y(h),y--;for(;0<S-y;)v=$y(v),S--;for(;y--;){if(h===v||v!==null&&h===v.alternate)break t;h=$y(h),v=$y(v)}h=null}else h=null;g!==null&&q5(p,m,g,h,!1),f!==null&&b!==null&&q5(p,b,f,h,!0)}}e:{if(m=c?tb(c):window,g=m.nodeName&&m.nodeName.toLowerCase(),g==="select"||g==="input"&&m.type==="file")var k=wve;else if(B5(m))if(l8)k=Pve;else{k=kve;var F=Tve}else(g=m.nodeName)&&g.toLowerCase()==="input"&&(m.type==="checkbox"||m.type==="radio")&&(k=Fve);if(k&&(k=k(t,c))){s8(p,k,n,u);break e}F&&F(t,m,c),t==="focusout"&&(F=m._wrapperState)&&F.controlled&&m.type==="number"&&E0(m,"number",m.value)}switch(F=c?tb(c):window,t){case"focusin":(B5(F)||F.contentEditable==="true")&&(Jy=F,U0=c,Hk=null);break;case"focusout":Hk=U0=Jy=null;break;case"mousedown":K0=!0;break;case"contextmenu":case"mouseup":case"dragend":K0=!1,U5(p,n,u);break;case"selectionchange":if(Ive)break;case"keydown":case"keyup":U5(p,n,u)}var P;if(xB)e:{switch(t){case"compositionstart":var T="onCompositionStart";break e;case"compositionend":T="onCompositionEnd";break e;case"compositionupdate":T="onCompositionUpdate";break e}T=void 0}else Zy?a8(t,n)&&(T="onCompositionEnd"):t==="keydown"&&n.keyCode===229&&(T="onCompositionStart");T&&(o8&&n.locale!=="ko"&&(Zy||T!=="onCompositionStart"?T==="onCompositionEnd"&&Zy&&(P=r8()):(dg=u,CB="value"in dg?dg.value:dg.textContent,Zy=!0)),F=xE(c,T),0<F.length&&(T=new A5(T,t,null,n,u),p.push({event:T,listeners:F}),P?T.data=P:(P=i8(n),P!==null&&(T.data=P)))),(P=fve?vve(t,n):yve(t,n))&&(c=xE(c,"onBeforeInput"),0<c.length&&(u=new A5("onBeforeInput","beforeinput",null,n,u),p.push({event:u,listeners:c}),u.data=P))}y8(p,e)})}function eF(t,e,n){return{instance:t,listener:e,currentTarget:n}}function xE(t,e){for(var n=e+"Capture",r=[];t!==null;){var o=t,a=o.stateNode;o.tag===5&&a!==null&&(o=a,a=qk(t,n),a!=null&&r.unshift(eF(t,a,o)),a=qk(t,e),a!=null&&r.push(eF(t,a,o))),t=t.return}return r}function $y(t){if(t===null)return null;do t=t.return;while(t&&t.tag!==5);return t||null}function q5(t,e,n,r,o){for(var a=e._reactName,i=[];n!==null&&n!==r;){var s=n,l=s.alternate,c=s.stateNode;if(l!==null&&l===r)break;s.tag===5&&c!==null&&(s=c,o?(l=qk(n,a),l!=null&&i.unshift(eF(n,l,s))):o||(l=qk(n,a),l!=null&&i.push(eF(n,l,s)))),n=n.return}i.length!==0&&t.push({event:e,listeners:i})}var Eve=/\r\n?/g,Mve=/\u0000|\uFFFD/g;function Y5(t){return(typeof t=="string"?t:""+t).replace(Eve,`
`).replace(Mve,"")}function iE(t,e,n){if(e=Y5(e),Y5(t)!==e&&n)throw Error(st(425))}function EE(){}var W0=null,j0=null;function G0(t,e){return t==="textarea"||t==="noscript"||typeof e.children=="string"||typeof e.children=="number"||typeof e.dangerouslySetInnerHTML=="object"&&e.dangerouslySetInnerHTML!==null&&e.dangerouslySetInnerHTML.__html!=null}var q0=typeof setTimeout=="function"?setTimeout:void 0,Rve=typeof clearTimeout=="function"?clearTimeout:void 0,$5=typeof Promise=="function"?Promise:void 0,Dve=typeof queueMicrotask=="function"?queueMicrotask:typeof $5<"u"?function(t){return $5.resolve(null).then(t).catch(Ave)}:q0;function Ave(t){setTimeout(function(){throw t})}function m0(t,e){var n=e,r=0;do{var o=n.nextSibling;if(t.removeChild(n),o&&o.nodeType===8)if(n=o.data,n==="/$"){if(r===0){t.removeChild(o),Xk(e);return}r--}else n!=="$"&&n!=="$?"&&n!=="$!"||r++;n=o}while(n);Xk(e)}function gg(t){for(;t!=null;t=t.nextSibling){var e=t.nodeType;if(e===1||e===3)break;if(e===8){if(e=t.data,e==="$"||e==="$!"||e==="$?")break;if(e==="/$")return null}}return t}function X5(t){t=t.previousSibling;for(var e=0;t;){if(t.nodeType===8){var n=t.data;if(n==="$"||n==="$!"||n==="$?"){if(e===0)return t;e--}else n==="/$"&&e++}t=t.previousSibling}return null}var Tb=Math.random().toString(36).slice(2),cu="__reactFiber$"+Tb,tF="__reactProps$"+Tb,wp="__reactContainer$"+Tb,Y0="__reactEvents$"+Tb,Ove="__reactListeners$"+Tb,Lve="__reactHandles$"+Tb;function tf(t){var e=t[cu];if(e)return e;for(var n=t.parentNode;n;){if(e=n[wp]||n[cu]){if(n=e.alternate,e.child!==null||n!==null&&n.child!==null)for(t=X5(t);t!==null;){if(n=t[cu])return n;t=X5(t)}return e}t=n,n=t.parentNode}return null}function cF(t){return t=t[cu]||t[wp],!t||t.tag!==5&&t.tag!==6&&t.tag!==13&&t.tag!==3?null:t}function tb(t){if(t.tag===5||t.tag===6)return t.stateNode;throw Error(st(33))}function XE(t){return t[tF]||null}var $0=[],nb=-1;function Tg(t){return{current:t}}function fo(t){0>nb||(t.current=$0[nb],$0[nb]=null,nb--)}function oo(t,e){nb++,$0[nb]=t.current,t.current=e}var Sg={},$i=Tg(Sg),Ws=Tg(!1),sf=Sg;function hb(t,e){var n=t.type.contextTypes;if(!n)return Sg;var r=t.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===e)return r.__reactInternalMemoizedMaskedChildContext;var o={},a;for(a in n)o[a]=e[a];return r&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=e,t.__reactInternalMemoizedMaskedChildContext=o),o}function js(t){return t=t.childContextTypes,t!=null}function ME(){fo(Ws),fo($i)}function Q5(t,e,n){if($i.current!==Sg)throw Error(st(168));oo($i,e),oo(Ws,n)}function S8(t,e,n){var r=t.stateNode;if(e=e.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var o in r)if(!(o in e))throw Error(st(108,Tfe(t)||"Unknown",o));return Bo({},n,r)}function RE(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||Sg,sf=$i.current,oo($i,t),oo(Ws,Ws.current),!0}function Z5(t,e,n){var r=t.stateNode;if(!r)throw Error(st(169));n?(t=S8(t,e,sf),r.__reactInternalMemoizedMergedChildContext=t,fo(Ws),fo($i),oo($i,t)):fo(Ws),oo(Ws,n)}var fp=null,QE=!1,g0=!1;function w8(t){fp===null?fp=[t]:fp.push(t)}function zve(t){QE=!0,w8(t)}function kg(){if(!g0&&fp!==null){g0=!0;var t=0,e=Ar;try{var n=fp;for(Ar=1;t<n.length;t++){var r=n[t];do r=r(!0);while(r!==null)}fp=null,QE=!1}catch(o){throw fp!==null&&(fp=fp.slice(t+1)),G6(TB,kg),o}finally{Ar=e,g0=!1}}return null}var rb=[],ob=0,DE=null,AE=0,hd=[],fd=0,lf=null,vp=1,yp="";function Jh(t,e){rb[ob++]=AE,rb[ob++]=DE,DE=t,AE=e}function T8(t,e,n){hd[fd++]=vp,hd[fd++]=yp,hd[fd++]=lf,lf=t;var r=vp;t=yp;var o=32-uc(r)-1;r&=~(1<<o),n+=1;var a=32-uc(e)+o;if(30<a){var i=o-o%5;a=(r&(1<<i)-1).toString(32),r>>=i,o-=i,vp=1<<32-uc(e)+o|n<<o|r,yp=a+t}else vp=1<<a|n<<o|r,yp=t}function MB(t){t.return!==null&&(Jh(t,1),T8(t,1,0))}function RB(t){for(;t===DE;)DE=rb[--ob],rb[ob]=null,AE=rb[--ob],rb[ob]=null;for(;t===lf;)lf=hd[--fd],hd[fd]=null,yp=hd[--fd],hd[fd]=null,vp=hd[--fd],hd[fd]=null}var Cl=null,Pl=null,Io=!1,cc=null;function k8(t,e){var n=vd(5,null,null,0);n.elementType="DELETED",n.stateNode=e,n.return=t,e=t.deletions,e===null?(t.deletions=[n],t.flags|=16):e.push(n)}function J5(t,e){switch(t.tag){case 5:var n=t.type;return e=e.nodeType!==1||n.toLowerCase()!==e.nodeName.toLowerCase()?null:e,e!==null?(t.stateNode=e,Cl=t,Pl=gg(e.firstChild),!0):!1;case 6:return e=t.pendingProps===""||e.nodeType!==3?null:e,e!==null?(t.stateNode=e,Cl=t,Pl=null,!0):!1;case 13:return e=e.nodeType!==8?null:e,e!==null?(n=lf!==null?{id:vp,overflow:yp}:null,t.memoizedState={dehydrated:e,treeContext:n,retryLane:1073741824},n=vd(18,null,null,0),n.stateNode=e,n.return=t,t.child=n,Cl=t,Pl=null,!0):!1;default:return!1}}function X0(t){return(t.mode&1)!==0&&(t.flags&128)===0}function Q0(t){if(Io){var e=Pl;if(e){var n=e;if(!J5(t,e)){if(X0(t))throw Error(st(418));e=gg(n.nextSibling);var r=Cl;e&&J5(t,e)?k8(r,n):(t.flags=t.flags&-4097|2,Io=!1,Cl=t)}}else{if(X0(t))throw Error(st(418));t.flags=t.flags&-4097|2,Io=!1,Cl=t}}}function e6(t){for(t=t.return;t!==null&&t.tag!==5&&t.tag!==3&&t.tag!==13;)t=t.return;Cl=t}function sE(t){if(t!==Cl)return!1;if(!Io)return e6(t),Io=!0,!1;var e;if((e=t.tag!==3)&&!(e=t.tag!==5)&&(e=t.type,e=e!=="head"&&e!=="body"&&!G0(t.type,t.memoizedProps)),e&&(e=Pl)){if(X0(t))throw F8(),Error(st(418));for(;e;)k8(t,e),e=gg(e.nextSibling)}if(e6(t),t.tag===13){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(st(317));e:{for(t=t.nextSibling,e=0;t;){if(t.nodeType===8){var n=t.data;if(n==="/$"){if(e===0){Pl=gg(t.nextSibling);break e}e--}else n!=="$"&&n!=="$!"&&n!=="$?"||e++}t=t.nextSibling}Pl=null}}else Pl=Cl?gg(t.stateNode.nextSibling):null;return!0}function F8(){for(var t=Pl;t;)t=gg(t.nextSibling)}function fb(){Pl=Cl=null,Io=!1}function DB(t){cc===null?cc=[t]:cc.push(t)}var Bve=Fp.ReactCurrentBatchConfig;function Ik(t,e,n){if(t=n.ref,t!==null&&typeof t!="function"&&typeof t!="object"){if(n._owner){if(n=n._owner,n){if(n.tag!==1)throw Error(st(309));var r=n.stateNode}if(!r)throw Error(st(147,t));var o=r,a=""+t;return e!==null&&e.ref!==null&&typeof e.ref=="function"&&e.ref._stringRef===a?e.ref:(e=function(i){var s=o.refs;i===null?delete s[a]:s[a]=i},e._stringRef=a,e)}if(typeof t!="string")throw Error(st(284));if(!n._owner)throw Error(st(290,t))}return t}function lE(t,e){throw t=Object.prototype.toString.call(e),Error(st(31,t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t))}function t6(t){var e=t._init;return e(t._payload)}function P8(t){function e(v,y){if(t){var S=v.deletions;S===null?(v.deletions=[y],v.flags|=16):S.push(y)}}function n(v,y){if(!t)return null;for(;y!==null;)e(v,y),y=y.sibling;return null}function r(v,y){for(v=new Map;y!==null;)y.key!==null?v.set(y.key,y):v.set(y.index,y),y=y.sibling;return v}function o(v,y){return v=yg(v,y),v.index=0,v.sibling=null,v}function a(v,y,S){return v.index=S,t?(S=v.alternate,S!==null?(S=S.index,S<y?(v.flags|=2,y):S):(v.flags|=2,y)):(v.flags|=1048576,y)}function i(v){return t&&v.alternate===null&&(v.flags|=2),v}function s(v,y,S,w){return y===null||y.tag!==6?(y=w0(S,v.mode,w),y.return=v,y):(y=o(y,S),y.return=v,y)}function l(v,y,S,w){var k=S.type;return k===Qy?u(v,y,S.props.children,w,S.key):y!==null&&(y.elementType===k||typeof k=="object"&&k!==null&&k.$$typeof===ag&&t6(k)===y.type)?(w=o(y,S.props),w.ref=Ik(v,y,S),w.return=v,w):(w=wE(S.type,S.key,S.props,null,v.mode,w),w.ref=Ik(v,y,S),w.return=v,w)}function c(v,y,S,w){return y===null||y.tag!==4||y.stateNode.containerInfo!==S.containerInfo||y.stateNode.implementation!==S.implementation?(y=T0(S,v.mode,w),y.return=v,y):(y=o(y,S.children||[]),y.return=v,y)}function u(v,y,S,w,k){return y===null||y.tag!==7?(y=af(S,v.mode,w,k),y.return=v,y):(y=o(y,S),y.return=v,y)}function p(v,y,S){if(typeof y=="string"&&y!==""||typeof y=="number")return y=w0(""+y,v.mode,S),y.return=v,y;if(typeof y=="object"&&y!==null){switch(y.$$typeof){case qx:return S=wE(y.type,y.key,y.props,null,v.mode,S),S.ref=Ik(v,null,y),S.return=v,S;case Xy:return y=T0(y,v.mode,S),y.return=v,y;case ag:var w=y._init;return p(v,w(y._payload),S)}if(Dk(y)||Fk(y))return y=af(y,v.mode,S,null),y.return=v,y;lE(v,y)}return null}function m(v,y,S,w){var k=y!==null?y.key:null;if(typeof S=="string"&&S!==""||typeof S=="number")return k!==null?null:s(v,y,""+S,w);if(typeof S=="object"&&S!==null){switch(S.$$typeof){case qx:return S.key===k?l(v,y,S,w):null;case Xy:return S.key===k?c(v,y,S,w):null;case ag:return k=S._init,m(v,y,k(S._payload),w)}if(Dk(S)||Fk(S))return k!==null?null:u(v,y,S,w,null);lE(v,S)}return null}function g(v,y,S,w,k){if(typeof w=="string"&&w!==""||typeof w=="number")return v=v.get(S)||null,s(y,v,""+w,k);if(typeof w=="object"&&w!==null){switch(w.$$typeof){case qx:return v=v.get(w.key===null?S:w.key)||null,l(y,v,w,k);case Xy:return v=v.get(w.key===null?S:w.key)||null,c(y,v,w,k);case ag:var F=w._init;return g(v,y,S,F(w._payload),k)}if(Dk(w)||Fk(w))return v=v.get(S)||null,u(y,v,w,k,null);lE(y,w)}return null}function f(v,y,S,w){for(var k=null,F=null,P=y,T=y=0,I=null;P!==null&&T<S.length;T++){P.index>T?(I=P,P=null):I=P.sibling;var N=m(v,P,S[T],w);if(N===null){P===null&&(P=I);break}t&&P&&N.alternate===null&&e(v,P),y=a(N,y,T),F===null?k=N:F.sibling=N,F=N,P=I}if(T===S.length)return n(v,P),Io&&Jh(v,T),k;if(P===null){for(;T<S.length;T++)P=p(v,S[T],w),P!==null&&(y=a(P,y,T),F===null?k=P:F.sibling=P,F=P);return Io&&Jh(v,T),k}for(P=r(v,P);T<S.length;T++)I=g(P,v,T,S[T],w),I!==null&&(t&&I.alternate!==null&&P.delete(I.key===null?T:I.key),y=a(I,y,T),F===null?k=I:F.sibling=I,F=I);return t&&P.forEach(function(O){return e(v,O)}),Io&&Jh(v,T),k}function h(v,y,S,w){var k=Fk(S);if(typeof k!="function")throw Error(st(150));if(S=k.call(S),S==null)throw Error(st(151));for(var F=k=null,P=y,T=y=0,I=null,N=S.next();P!==null&&!N.done;T++,N=S.next()){P.index>T?(I=P,P=null):I=P.sibling;var O=m(v,P,N.value,w);if(O===null){P===null&&(P=I);break}t&&P&&O.alternate===null&&e(v,P),y=a(O,y,T),F===null?k=O:F.sibling=O,F=O,P=I}if(N.done)return n(v,P),Io&&Jh(v,T),k;if(P===null){for(;!N.done;T++,N=S.next())N=p(v,N.value,w),N!==null&&(y=a(N,y,T),F===null?k=N:F.sibling=N,F=N);return Io&&Jh(v,T),k}for(P=r(v,P);!N.done;T++,N=S.next())N=g(P,v,T,N.value,w),N!==null&&(t&&N.alternate!==null&&P.delete(N.key===null?T:N.key),y=a(N,y,T),F===null?k=N:F.sibling=N,F=N);return t&&P.forEach(function(K){return e(v,K)}),Io&&Jh(v,T),k}function b(v,y,S,w){if(typeof S=="object"&&S!==null&&S.type===Qy&&S.key===null&&(S=S.props.children),typeof S=="object"&&S!==null){switch(S.$$typeof){case qx:e:{for(var k=S.key,F=y;F!==null;){if(F.key===k){if(k=S.type,k===Qy){if(F.tag===7){n(v,F.sibling),y=o(F,S.props.children),y.return=v,v=y;break e}}else if(F.elementType===k||typeof k=="object"&&k!==null&&k.$$typeof===ag&&t6(k)===F.type){n(v,F.sibling),y=o(F,S.props),y.ref=Ik(v,F,S),y.return=v,v=y;break e}n(v,F);break}else e(v,F);F=F.sibling}S.type===Qy?(y=af(S.props.children,v.mode,w,S.key),y.return=v,v=y):(w=wE(S.type,S.key,S.props,null,v.mode,w),w.ref=Ik(v,y,S),w.return=v,v=w)}return i(v);case Xy:e:{for(F=S.key;y!==null;){if(y.key===F)if(y.tag===4&&y.stateNode.containerInfo===S.containerInfo&&y.stateNode.implementation===S.implementation){n(v,y.sibling),y=o(y,S.children||[]),y.return=v,v=y;break e}else{n(v,y);break}else e(v,y);y=y.sibling}y=T0(S,v.mode,w),y.return=v,v=y}return i(v);case ag:return F=S._init,b(v,y,F(S._payload),w)}if(Dk(S))return f(v,y,S,w);if(Fk(S))return h(v,y,S,w);lE(v,S)}return typeof S=="string"&&S!==""||typeof S=="number"?(S=""+S,y!==null&&y.tag===6?(n(v,y.sibling),y=o(y,S),y.return=v,v=y):(n(v,y),y=w0(S,v.mode,w),y.return=v,v=y),i(v)):n(v,y)}return b}var vb=P8(!0),C8=P8(!1),OE=Tg(null),LE=null,ab=null,AB=null;function OB(){AB=ab=LE=null}function LB(t){var e=OE.current;fo(OE),t._currentValue=e}function Z0(t,e,n){for(;t!==null;){var r=t.alternate;if((t.childLanes&e)!==e?(t.childLanes|=e,r!==null&&(r.childLanes|=e)):r!==null&&(r.childLanes&e)!==e&&(r.childLanes|=e),t===n)break;t=t.return}}function pb(t,e){LE=t,AB=ab=null,t=t.dependencies,t!==null&&t.firstContext!==null&&((t.lanes&e)!==0&&(Ks=!0),t.firstContext=null)}function bd(t){var e=t._currentValue;if(AB!==t)if(t={context:t,memoizedValue:e,next:null},ab===null){if(LE===null)throw Error(st(308));ab=t,LE.dependencies={lanes:0,firstContext:t}}else ab=ab.next=t;return e}var nf=null;function zB(t){nf===null?nf=[t]:nf.push(t)}function N8(t,e,n,r){var o=e.interleaved;return o===null?(n.next=n,zB(e)):(n.next=o.next,o.next=n),e.interleaved=n,Tp(t,r)}function Tp(t,e){t.lanes|=e;var n=t.alternate;for(n!==null&&(n.lanes|=e),n=t,t=t.return;t!==null;)t.childLanes|=e,n=t.alternate,n!==null&&(n.childLanes|=e),n=t,t=t.return;return n.tag===3?n.stateNode:null}var ig=!1;function BB(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function I8(t,e){t=t.updateQueue,e.updateQueue===t&&(e.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,effects:t.effects})}function bp(t,e){return{eventTime:t,lane:e,tag:0,payload:null,callback:null,next:null}}function hg(t,e,n){var r=t.updateQueue;if(r===null)return null;if(r=r.shared,(dr&2)!==0){var o=r.pending;return o===null?e.next=e:(e.next=o.next,o.next=e),r.pending=e,Tp(t,n)}return o=r.interleaved,o===null?(e.next=e,zB(r)):(e.next=o.next,o.next=e),r.interleaved=e,Tp(t,n)}function hE(t,e,n){if(e=e.updateQueue,e!==null&&(e=e.shared,(n&4194240)!==0)){var r=e.lanes;r&=t.pendingLanes,n|=r,e.lanes=n,kB(t,n)}}function n6(t,e){var n=t.updateQueue,r=t.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var o=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var i={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};a===null?o=a=i:a=a.next=i,n=n.next}while(n!==null);a===null?o=a=e:a=a.next=e}else o=a=e;n={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:a,shared:r.shared,effects:r.effects},t.updateQueue=n;return}t=n.lastBaseUpdate,t===null?n.firstBaseUpdate=e:t.next=e,n.lastBaseUpdate=e}function zE(t,e,n,r){var o=t.updateQueue;ig=!1;var a=o.firstBaseUpdate,i=o.lastBaseUpdate,s=o.shared.pending;if(s!==null){o.shared.pending=null;var l=s,c=l.next;l.next=null,i===null?a=c:i.next=c,i=l;var u=t.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==i&&(s===null?u.firstBaseUpdate=c:s.next=c,u.lastBaseUpdate=l))}if(a!==null){var p=o.baseState;i=0,u=c=l=null,s=a;do{var m=s.lane,g=s.eventTime;if((r&m)===m){u!==null&&(u=u.next={eventTime:g,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var f=t,h=s;switch(m=e,g=n,h.tag){case 1:if(f=h.payload,typeof f=="function"){p=f.call(g,p,m);break e}p=f;break e;case 3:f.flags=f.flags&-65537|128;case 0:if(f=h.payload,m=typeof f=="function"?f.call(g,p,m):f,m==null)break e;p=Bo({},p,m);break e;case 2:ig=!0}}s.callback!==null&&s.lane!==0&&(t.flags|=64,m=o.effects,m===null?o.effects=[s]:m.push(s))}else g={eventTime:g,lane:m,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(c=u=g,l=p):u=u.next=g,i|=m;if(s=s.next,s===null){if(s=o.shared.pending,s===null)break;m=s,s=m.next,m.next=null,o.lastBaseUpdate=m,o.shared.pending=null}}while(!0);if(u===null&&(l=p),o.baseState=l,o.firstBaseUpdate=c,o.lastBaseUpdate=u,e=o.shared.interleaved,e!==null){o=e;do i|=o.lane,o=o.next;while(o!==e)}else a===null&&(o.shared.lanes=0);cf|=i,t.lanes=i,t.memoizedState=p}}function r6(t,e,n){if(t=e.effects,e.effects=null,t!==null)for(e=0;e<t.length;e++){var r=t[e],o=r.callback;if(o!==null){if(r.callback=null,r=n,typeof o!="function")throw Error(st(191,o));o.call(r)}}}var uF={},pu=Tg(uF),nF=Tg(uF),rF=Tg(uF);function rf(t){if(t===uF)throw Error(st(174));return t}function _B(t,e){switch(oo(rF,e),oo(nF,t),oo(pu,uF),t=e.nodeType,t){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:R0(null,"");break;default:t=t===8?e.parentNode:e,e=t.namespaceURI||null,t=t.tagName,e=R0(e,t)}fo(pu),oo(pu,e)}function yb(){fo(pu),fo(nF),fo(rF)}function x8(t){rf(rF.current);var e=rf(pu.current),n=R0(e,t.type);e!==n&&(oo(nF,t),oo(pu,n))}function HB(t){nF.current===t&&(fo(pu),fo(nF))}var Lo=Tg(0);function BE(t){for(var e=t;e!==null;){if(e.tag===13){var n=e.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if((e.flags&128)!==0)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var h0=[];function VB(){for(var t=0;t<h0.length;t++)h0[t]._workInProgressVersionPrimary=null;h0.length=0}var fE=Fp.ReactCurrentDispatcher,f0=Fp.ReactCurrentBatchConfig,df=0,zo=null,Va=null,ii=null,_E=!1,Vk=!1,oF=0,_ve=0;function Gi(){throw Error(st(321))}function UB(t,e){if(e===null)return!1;for(var n=0;n<e.length&&n<t.length;n++)if(!mc(t[n],e[n]))return!1;return!0}function KB(t,e,n,r,o,a){if(df=a,zo=e,e.memoizedState=null,e.updateQueue=null,e.lanes=0,fE.current=t===null||t.memoizedState===null?Kve:Wve,t=n(r,o),Vk){a=0;do{if(Vk=!1,oF=0,25<=a)throw Error(st(301));a+=1,ii=Va=null,e.updateQueue=null,fE.current=jve,t=n(r,o)}while(Vk)}if(fE.current=HE,e=Va!==null&&Va.next!==null,df=0,ii=Va=zo=null,_E=!1,e)throw Error(st(300));return t}function WB(){var t=oF!==0;return oF=0,t}function du(){var t={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return ii===null?zo.memoizedState=ii=t:ii=ii.next=t,ii}function Sd(){if(Va===null){var t=zo.alternate;t=t!==null?t.memoizedState:null}else t=Va.next;var e=ii===null?zo.memoizedState:ii.next;if(e!==null)ii=e,Va=t;else{if(t===null)throw Error(st(310));Va=t,t={memoizedState:Va.memoizedState,baseState:Va.baseState,baseQueue:Va.baseQueue,queue:Va.queue,next:null},ii===null?zo.memoizedState=ii=t:ii=ii.next=t}return ii}function aF(t,e){return typeof e=="function"?e(t):e}function v0(t){var e=Sd(),n=e.queue;if(n===null)throw Error(st(311));n.lastRenderedReducer=t;var r=Va,o=r.baseQueue,a=n.pending;if(a!==null){if(o!==null){var i=o.next;o.next=a.next,a.next=i}r.baseQueue=o=a,n.pending=null}if(o!==null){a=o.next,r=r.baseState;var s=i=null,l=null,c=a;do{var u=c.lane;if((df&u)===u)l!==null&&(l=l.next={lane:0,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),r=c.hasEagerState?c.eagerState:t(r,c.action);else{var p={lane:u,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null};l===null?(s=l=p,i=r):l=l.next=p,zo.lanes|=u,cf|=u}c=c.next}while(c!==null&&c!==a);l===null?i=r:l.next=s,mc(r,e.memoizedState)||(Ks=!0),e.memoizedState=r,e.baseState=i,e.baseQueue=l,n.lastRenderedState=r}if(t=n.interleaved,t!==null){o=t;do a=o.lane,zo.lanes|=a,cf|=a,o=o.next;while(o!==t)}else o===null&&(n.lanes=0);return[e.memoizedState,n.dispatch]}function y0(t){var e=Sd(),n=e.queue;if(n===null)throw Error(st(311));n.lastRenderedReducer=t;var r=n.dispatch,o=n.pending,a=e.memoizedState;if(o!==null){n.pending=null;var i=o=o.next;do a=t(a,i.action),i=i.next;while(i!==o);mc(a,e.memoizedState)||(Ks=!0),e.memoizedState=a,e.baseQueue===null&&(e.baseState=a),n.lastRenderedState=a}return[a,r]}function E8(){}function M8(t,e){var n=zo,r=Sd(),o=e(),a=!mc(r.memoizedState,o);if(a&&(r.memoizedState=o,Ks=!0),r=r.queue,jB(A8.bind(null,n,r,t),[t]),r.getSnapshot!==e||a||ii!==null&&ii.memoizedState.tag&1){if(n.flags|=2048,iF(9,D8.bind(null,n,r,o,e),void 0,null),si===null)throw Error(st(349));(df&30)!==0||R8(n,e,o)}return o}function R8(t,e,n){t.flags|=16384,t={getSnapshot:e,value:n},e=zo.updateQueue,e===null?(e={lastEffect:null,stores:null},zo.updateQueue=e,e.stores=[t]):(n=e.stores,n===null?e.stores=[t]:n.push(t))}function D8(t,e,n,r){e.value=n,e.getSnapshot=r,O8(e)&&L8(t)}function A8(t,e,n){return n(function(){O8(e)&&L8(t)})}function O8(t){var e=t.getSnapshot;t=t.value;try{var n=e();return!mc(t,n)}catch{return!0}}function L8(t){var e=Tp(t,1);e!==null&&pc(e,t,1,-1)}function o6(t){var e=du();return typeof t=="function"&&(t=t()),e.memoizedState=e.baseState=t,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:aF,lastRenderedState:t},e.queue=t,t=t.dispatch=Uve.bind(null,zo,t),[e.memoizedState,t]}function iF(t,e,n,r){return t={tag:t,create:e,destroy:n,deps:r,next:null},e=zo.updateQueue,e===null?(e={lastEffect:null,stores:null},zo.updateQueue=e,e.lastEffect=t.next=t):(n=e.lastEffect,n===null?e.lastEffect=t.next=t:(r=n.next,n.next=t,t.next=r,e.lastEffect=t)),t}function z8(){return Sd().memoizedState}function vE(t,e,n,r){var o=du();zo.flags|=t,o.memoizedState=iF(1|e,n,void 0,r===void 0?null:r)}function ZE(t,e,n,r){var o=Sd();r=r===void 0?null:r;var a=void 0;if(Va!==null){var i=Va.memoizedState;if(a=i.destroy,r!==null&&UB(r,i.deps)){o.memoizedState=iF(e,n,a,r);return}}zo.flags|=t,o.memoizedState=iF(1|e,n,a,r)}function a6(t,e){return vE(8390656,8,t,e)}function jB(t,e){return ZE(2048,8,t,e)}function B8(t,e){return ZE(4,2,t,e)}function _8(t,e){return ZE(4,4,t,e)}function H8(t,e){if(typeof e=="function")return t=t(),e(t),function(){e(null)};if(e!=null)return t=t(),e.current=t,function(){e.current=null}}function V8(t,e,n){return n=n!=null?n.concat([t]):null,ZE(4,4,H8.bind(null,e,t),n)}function GB(){}function U8(t,e){var n=Sd();e=e===void 0?null:e;var r=n.memoizedState;return r!==null&&e!==null&&UB(e,r[1])?r[0]:(n.memoizedState=[t,e],t)}function K8(t,e){var n=Sd();e=e===void 0?null:e;var r=n.memoizedState;return r!==null&&e!==null&&UB(e,r[1])?r[0]:(t=t(),n.memoizedState=[t,e],t)}function W8(t,e,n){return(df&21)===0?(t.baseState&&(t.baseState=!1,Ks=!0),t.memoizedState=n):(mc(n,e)||(n=$6(),zo.lanes|=n,cf|=n,t.baseState=!0),e)}function Hve(t,e){var n=Ar;Ar=n!==0&&4>n?n:4,t(!0);var r=f0.transition;f0.transition={};try{t(!1),e()}finally{Ar=n,f0.transition=r}}function j8(){return Sd().memoizedState}function Vve(t,e,n){var r=vg(t);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},G8(t))q8(e,n);else if(n=N8(t,e,n,r),n!==null){var o=ps();pc(n,t,r,o),Y8(n,e,r)}}function Uve(t,e,n){var r=vg(t),o={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(G8(t))q8(e,o);else{var a=t.alternate;if(t.lanes===0&&(a===null||a.lanes===0)&&(a=e.lastRenderedReducer,a!==null))try{var i=e.lastRenderedState,s=a(i,n);if(o.hasEagerState=!0,o.eagerState=s,mc(s,i)){var l=e.interleaved;l===null?(o.next=o,zB(e)):(o.next=l.next,l.next=o),e.interleaved=o;return}}catch{}n=N8(t,e,o,r),n!==null&&(o=ps(),pc(n,t,r,o),Y8(n,e,r))}}function G8(t){var e=t.alternate;return t===zo||e!==null&&e===zo}function q8(t,e){Vk=_E=!0;var n=t.pending;n===null?e.next=e:(e.next=n.next,n.next=e),t.pending=e}function Y8(t,e,n){if((n&4194240)!==0){var r=e.lanes;r&=t.pendingLanes,n|=r,e.lanes=n,kB(t,n)}}var HE={readContext:bd,useCallback:Gi,useContext:Gi,useEffect:Gi,useImperativeHandle:Gi,useInsertionEffect:Gi,useLayoutEffect:Gi,useMemo:Gi,useReducer:Gi,useRef:Gi,useState:Gi,useDebugValue:Gi,useDeferredValue:Gi,useTransition:Gi,useMutableSource:Gi,useSyncExternalStore:Gi,useId:Gi,unstable_isNewReconciler:!1},Kve={readContext:bd,useCallback:function(t,e){return du().memoizedState=[t,e===void 0?null:e],t},useContext:bd,useEffect:a6,useImperativeHandle:function(t,e,n){return n=n!=null?n.concat([t]):null,vE(4194308,4,H8.bind(null,e,t),n)},useLayoutEffect:function(t,e){return vE(4194308,4,t,e)},useInsertionEffect:function(t,e){return vE(4,2,t,e)},useMemo:function(t,e){var n=du();return e=e===void 0?null:e,t=t(),n.memoizedState=[t,e],t},useReducer:function(t,e,n){var r=du();return e=n!==void 0?n(e):e,r.memoizedState=r.baseState=e,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:e},r.queue=t,t=t.dispatch=Vve.bind(null,zo,t),[r.memoizedState,t]},useRef:function(t){var e=du();return t={current:t},e.memoizedState=t},useState:o6,useDebugValue:GB,useDeferredValue:function(t){return du().memoizedState=t},useTransition:function(){var t=o6(!1),e=t[0];return t=Hve.bind(null,t[1]),du().memoizedState=t,[e,t]},useMutableSource:function(){},useSyncExternalStore:function(t,e,n){var r=zo,o=du();if(Io){if(n===void 0)throw Error(st(407));n=n()}else{if(n=e(),si===null)throw Error(st(349));(df&30)!==0||R8(r,e,n)}o.memoizedState=n;var a={value:n,getSnapshot:e};return o.queue=a,a6(A8.bind(null,r,a,t),[t]),r.flags|=2048,iF(9,D8.bind(null,r,a,n,e),void 0,null),n},useId:function(){var t=du(),e=si.identifierPrefix;if(Io){var n=yp,r=vp;n=(r&~(1<<32-uc(r)-1)).toString(32)+n,e=":"+e+"R"+n,n=oF++,0<n&&(e+="H"+n.toString(32)),e+=":"}else n=_ve++,e=":"+e+"r"+n.toString(32)+":";return t.memoizedState=e},unstable_isNewReconciler:!1},Wve={readContext:bd,useCallback:U8,useContext:bd,useEffect:jB,useImperativeHandle:V8,useInsertionEffect:B8,useLayoutEffect:_8,useMemo:K8,useReducer:v0,useRef:z8,useState:function(){return v0(aF)},useDebugValue:GB,useDeferredValue:function(t){var e=Sd();return W8(e,Va.memoizedState,t)},useTransition:function(){var t=v0(aF)[0],e=Sd().memoizedState;return[t,e]},useMutableSource:E8,useSyncExternalStore:M8,useId:j8,unstable_isNewReconciler:!1},jve={readContext:bd,useCallback:U8,useContext:bd,useEffect:jB,useImperativeHandle:V8,useInsertionEffect:B8,useLayoutEffect:_8,useMemo:K8,useReducer:y0,useRef:z8,useState:function(){return y0(aF)},useDebugValue:GB,useDeferredValue:function(t){var e=Sd();return Va===null?e.memoizedState=t:W8(e,Va.memoizedState,t)},useTransition:function(){var t=y0(aF)[0],e=Sd().memoizedState;return[t,e]},useMutableSource:E8,useSyncExternalStore:M8,useId:j8,unstable_isNewReconciler:!1};function lc(t,e){if(t&&t.defaultProps){e=Bo({},e),t=t.defaultProps;for(var n in t)e[n]===void 0&&(e[n]=t[n]);return e}return e}function J0(t,e,n,r){e=t.memoizedState,n=n(r,e),n=n==null?e:Bo({},e,n),t.memoizedState=n,t.lanes===0&&(t.updateQueue.baseState=n)}var JE={isMounted:function(t){return(t=t._reactInternals)?mf(t)===t:!1},enqueueSetState:function(t,e,n){t=t._reactInternals;var r=ps(),o=vg(t),a=bp(r,o);a.payload=e,n!=null&&(a.callback=n),e=hg(t,a,o),e!==null&&(pc(e,t,o,r),hE(e,t,o))},enqueueReplaceState:function(t,e,n){t=t._reactInternals;var r=ps(),o=vg(t),a=bp(r,o);a.tag=1,a.payload=e,n!=null&&(a.callback=n),e=hg(t,a,o),e!==null&&(pc(e,t,o,r),hE(e,t,o))},enqueueForceUpdate:function(t,e){t=t._reactInternals;var n=ps(),r=vg(t),o=bp(n,r);o.tag=2,e!=null&&(o.callback=e),e=hg(t,o,r),e!==null&&(pc(e,t,r,n),hE(e,t,r))}};function i6(t,e,n,r,o,a,i){return t=t.stateNode,typeof t.shouldComponentUpdate=="function"?t.shouldComponentUpdate(r,a,i):e.prototype&&e.prototype.isPureReactComponent?!Zk(n,r)||!Zk(o,a):!0}function $8(t,e,n){var r=!1,o=Sg,a=e.contextType;return typeof a=="object"&&a!==null?a=bd(a):(o=js(e)?sf:$i.current,r=e.contextTypes,a=(r=r!=null)?hb(t,o):Sg),e=new e(n,a),t.memoizedState=e.state!==null&&e.state!==void 0?e.state:null,e.updater=JE,t.stateNode=e,e._reactInternals=t,r&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=o,t.__reactInternalMemoizedMaskedChildContext=a),e}function s6(t,e,n,r){t=e.state,typeof e.componentWillReceiveProps=="function"&&e.componentWillReceiveProps(n,r),typeof e.UNSAFE_componentWillReceiveProps=="function"&&e.UNSAFE_componentWillReceiveProps(n,r),e.state!==t&&JE.enqueueReplaceState(e,e.state,null)}function eB(t,e,n,r){var o=t.stateNode;o.props=n,o.state=t.memoizedState,o.refs={},BB(t);var a=e.contextType;typeof a=="object"&&a!==null?o.context=bd(a):(a=js(e)?sf:$i.current,o.context=hb(t,a)),o.state=t.memoizedState,a=e.getDerivedStateFromProps,typeof a=="function"&&(J0(t,e,a,n),o.state=t.memoizedState),typeof e.getDerivedStateFromProps=="function"||typeof o.getSnapshotBeforeUpdate=="function"||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(e=o.state,typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount(),e!==o.state&&JE.enqueueReplaceState(o,o.state,null),zE(t,n,o,r),o.state=t.memoizedState),typeof o.componentDidMount=="function"&&(t.flags|=4194308)}function bb(t,e){try{var n="",r=e;do n+=wfe(r),r=r.return;while(r);var o=n}catch(a){o=`
Error generating stack: `+a.message+`
`+a.stack}return{value:t,source:e,stack:o,digest:null}}function b0(t,e,n){return{value:t,source:null,stack:n??null,digest:e??null}}function tB(t,e){try{console.error(e.value)}catch(n){setTimeout(function(){throw n})}}var Gve=typeof WeakMap=="function"?WeakMap:Map;function X8(t,e,n){n=bp(-1,n),n.tag=3,n.payload={element:null};var r=e.value;return n.callback=function(){UE||(UE=!0,uB=r),tB(t,e)},n}function Q8(t,e,n){n=bp(-1,n),n.tag=3;var r=t.type.getDerivedStateFromError;if(typeof r=="function"){var o=e.value;n.payload=function(){return r(o)},n.callback=function(){tB(t,e)}}var a=t.stateNode;return a!==null&&typeof a.componentDidCatch=="function"&&(n.callback=function(){tB(t,e),typeof r!="function"&&(fg===null?fg=new Set([this]):fg.add(this));var i=e.stack;this.componentDidCatch(e.value,{componentStack:i!==null?i:""})}),n}function l6(t,e,n){var r=t.pingCache;if(r===null){r=t.pingCache=new Gve;var o=new Set;r.set(e,o)}else o=r.get(e),o===void 0&&(o=new Set,r.set(e,o));o.has(n)||(o.add(n),t=iye.bind(null,t,e,n),e.then(t,t))}function d6(t){do{var e;if((e=t.tag===13)&&(e=t.memoizedState,e=e!==null?e.dehydrated!==null:!0),e)return t;t=t.return}while(t!==null);return null}function c6(t,e,n,r,o){return(t.mode&1)===0?(t===e?t.flags|=65536:(t.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(e=bp(-1,1),e.tag=2,hg(n,e,1))),n.lanes|=1),t):(t.flags|=65536,t.lanes=o,t)}var qve=Fp.ReactCurrentOwner,Ks=!1;function us(t,e,n,r){e.child=t===null?C8(e,null,n,r):vb(e,t.child,n,r)}function u6(t,e,n,r,o){n=n.render;var a=e.ref;return pb(e,o),r=KB(t,e,n,r,a,o),n=WB(),t!==null&&!Ks?(e.updateQueue=t.updateQueue,e.flags&=-2053,t.lanes&=~o,kp(t,e,o)):(Io&&n&&MB(e),e.flags|=1,us(t,e,r,o),e.child)}function p6(t,e,n,r,o){if(t===null){var a=n.type;return typeof a=="function"&&!e_(a)&&a.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(e.tag=15,e.type=a,Z8(t,e,a,r,o)):(t=wE(n.type,null,r,e,e.mode,o),t.ref=e.ref,t.return=e,e.child=t)}if(a=t.child,(t.lanes&o)===0){var i=a.memoizedProps;if(n=n.compare,n=n!==null?n:Zk,n(i,r)&&t.ref===e.ref)return kp(t,e,o)}return e.flags|=1,t=yg(a,r),t.ref=e.ref,t.return=e,e.child=t}function Z8(t,e,n,r,o){if(t!==null){var a=t.memoizedProps;if(Zk(a,r)&&t.ref===e.ref)if(Ks=!1,e.pendingProps=r=a,(t.lanes&o)!==0)(t.flags&131072)!==0&&(Ks=!0);else return e.lanes=t.lanes,kp(t,e,o)}return nB(t,e,n,r,o)}function J8(t,e,n){var r=e.pendingProps,o=r.children,a=t!==null?t.memoizedState:null;if(r.mode==="hidden")if((e.mode&1)===0)e.memoizedState={baseLanes:0,cachePool:null,transitions:null},oo(sb,Fl),Fl|=n;else{if((n&1073741824)===0)return t=a!==null?a.baseLanes|n:n,e.lanes=e.childLanes=1073741824,e.memoizedState={baseLanes:t,cachePool:null,transitions:null},e.updateQueue=null,oo(sb,Fl),Fl|=t,null;e.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=a!==null?a.baseLanes:n,oo(sb,Fl),Fl|=r}else a!==null?(r=a.baseLanes|n,e.memoizedState=null):r=n,oo(sb,Fl),Fl|=r;return us(t,e,o,n),e.child}function eX(t,e){var n=e.ref;(t===null&&n!==null||t!==null&&t.ref!==n)&&(e.flags|=512,e.flags|=2097152)}function nB(t,e,n,r,o){var a=js(n)?sf:$i.current;return a=hb(e,a),pb(e,o),n=KB(t,e,n,r,a,o),r=WB(),t!==null&&!Ks?(e.updateQueue=t.updateQueue,e.flags&=-2053,t.lanes&=~o,kp(t,e,o)):(Io&&r&&MB(e),e.flags|=1,us(t,e,n,o),e.child)}function m6(t,e,n,r,o){if(js(n)){var a=!0;RE(e)}else a=!1;if(pb(e,o),e.stateNode===null)yE(t,e),$8(e,n,r),eB(e,n,r,o),r=!0;else if(t===null){var i=e.stateNode,s=e.memoizedProps;i.props=s;var l=i.context,c=n.contextType;typeof c=="object"&&c!==null?c=bd(c):(c=js(n)?sf:$i.current,c=hb(e,c));var u=n.getDerivedStateFromProps,p=typeof u=="function"||typeof i.getSnapshotBeforeUpdate=="function";p||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(s!==r||l!==c)&&s6(e,i,r,c),ig=!1;var m=e.memoizedState;i.state=m,zE(e,r,i,o),l=e.memoizedState,s!==r||m!==l||Ws.current||ig?(typeof u=="function"&&(J0(e,n,u,r),l=e.memoizedState),(s=ig||i6(e,n,s,r,m,l,c))?(p||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount()),typeof i.componentDidMount=="function"&&(e.flags|=4194308)):(typeof i.componentDidMount=="function"&&(e.flags|=4194308),e.memoizedProps=r,e.memoizedState=l),i.props=r,i.state=l,i.context=c,r=s):(typeof i.componentDidMount=="function"&&(e.flags|=4194308),r=!1)}else{i=e.stateNode,I8(t,e),s=e.memoizedProps,c=e.type===e.elementType?s:lc(e.type,s),i.props=c,p=e.pendingProps,m=i.context,l=n.contextType,typeof l=="object"&&l!==null?l=bd(l):(l=js(n)?sf:$i.current,l=hb(e,l));var g=n.getDerivedStateFromProps;(u=typeof g=="function"||typeof i.getSnapshotBeforeUpdate=="function")||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(s!==p||m!==l)&&s6(e,i,r,l),ig=!1,m=e.memoizedState,i.state=m,zE(e,r,i,o);var f=e.memoizedState;s!==p||m!==f||Ws.current||ig?(typeof g=="function"&&(J0(e,n,g,r),f=e.memoizedState),(c=ig||i6(e,n,c,r,m,f,l)||!1)?(u||typeof i.UNSAFE_componentWillUpdate!="function"&&typeof i.componentWillUpdate!="function"||(typeof i.componentWillUpdate=="function"&&i.componentWillUpdate(r,f,l),typeof i.UNSAFE_componentWillUpdate=="function"&&i.UNSAFE_componentWillUpdate(r,f,l)),typeof i.componentDidUpdate=="function"&&(e.flags|=4),typeof i.getSnapshotBeforeUpdate=="function"&&(e.flags|=1024)):(typeof i.componentDidUpdate!="function"||s===t.memoizedProps&&m===t.memoizedState||(e.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||s===t.memoizedProps&&m===t.memoizedState||(e.flags|=1024),e.memoizedProps=r,e.memoizedState=f),i.props=r,i.state=f,i.context=l,r=c):(typeof i.componentDidUpdate!="function"||s===t.memoizedProps&&m===t.memoizedState||(e.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||s===t.memoizedProps&&m===t.memoizedState||(e.flags|=1024),r=!1)}return rB(t,e,n,r,a,o)}function rB(t,e,n,r,o,a){eX(t,e);var i=(e.flags&128)!==0;if(!r&&!i)return o&&Z5(e,n,!1),kp(t,e,a);r=e.stateNode,qve.current=e;var s=i&&typeof n.getDerivedStateFromError!="function"?null:r.render();return e.flags|=1,t!==null&&i?(e.child=vb(e,t.child,null,a),e.child=vb(e,null,s,a)):us(t,e,s,a),e.memoizedState=r.state,o&&Z5(e,n,!0),e.child}function tX(t){var e=t.stateNode;e.pendingContext?Q5(t,e.pendingContext,e.pendingContext!==e.context):e.context&&Q5(t,e.context,!1),_B(t,e.containerInfo)}function g6(t,e,n,r,o){return fb(),DB(o),e.flags|=256,us(t,e,n,r),e.child}var oB={dehydrated:null,treeContext:null,retryLane:0};function aB(t){return{baseLanes:t,cachePool:null,transitions:null}}function nX(t,e,n){var r=e.pendingProps,o=Lo.current,a=!1,i=(e.flags&128)!==0,s;if((s=i)||(s=t!==null&&t.memoizedState===null?!1:(o&2)!==0),s?(a=!0,e.flags&=-129):(t===null||t.memoizedState!==null)&&(o|=1),oo(Lo,o&1),t===null)return Q0(e),t=e.memoizedState,t!==null&&(t=t.dehydrated,t!==null)?((e.mode&1)===0?e.lanes=1:t.data==="$!"?e.lanes=8:e.lanes=1073741824,null):(i=r.children,t=r.fallback,a?(r=e.mode,a=e.child,i={mode:"hidden",children:i},(r&1)===0&&a!==null?(a.childLanes=0,a.pendingProps=i):a=nM(i,r,0,null),t=af(t,r,n,null),a.return=e,t.return=e,a.sibling=t,e.child=a,e.child.memoizedState=aB(n),e.memoizedState=oB,t):qB(e,i));if(o=t.memoizedState,o!==null&&(s=o.dehydrated,s!==null))return Yve(t,e,i,r,s,o,n);if(a){a=r.fallback,i=e.mode,o=t.child,s=o.sibling;var l={mode:"hidden",children:r.children};return(i&1)===0&&e.child!==o?(r=e.child,r.childLanes=0,r.pendingProps=l,e.deletions=null):(r=yg(o,l),r.subtreeFlags=o.subtreeFlags&14680064),s!==null?a=yg(s,a):(a=af(a,i,n,null),a.flags|=2),a.return=e,r.return=e,r.sibling=a,e.child=r,r=a,a=e.child,i=t.child.memoizedState,i=i===null?aB(n):{baseLanes:i.baseLanes|n,cachePool:null,transitions:i.transitions},a.memoizedState=i,a.childLanes=t.childLanes&~n,e.memoizedState=oB,r}return a=t.child,t=a.sibling,r=yg(a,{mode:"visible",children:r.children}),(e.mode&1)===0&&(r.lanes=n),r.return=e,r.sibling=null,t!==null&&(n=e.deletions,n===null?(e.deletions=[t],e.flags|=16):n.push(t)),e.child=r,e.memoizedState=null,r}function qB(t,e){return e=nM({mode:"visible",children:e},t.mode,0,null),e.return=t,t.child=e}function dE(t,e,n,r){return r!==null&&DB(r),vb(e,t.child,null,n),t=qB(e,e.pendingProps.children),t.flags|=2,e.memoizedState=null,t}function Yve(t,e,n,r,o,a,i){if(n)return e.flags&256?(e.flags&=-257,r=b0(Error(st(422))),dE(t,e,i,r)):e.memoizedState!==null?(e.child=t.child,e.flags|=128,null):(a=r.fallback,o=e.mode,r=nM({mode:"visible",children:r.children},o,0,null),a=af(a,o,i,null),a.flags|=2,r.return=e,a.return=e,r.sibling=a,e.child=r,(e.mode&1)!==0&&vb(e,t.child,null,i),e.child.memoizedState=aB(i),e.memoizedState=oB,a);if((e.mode&1)===0)return dE(t,e,i,null);if(o.data==="$!"){if(r=o.nextSibling&&o.nextSibling.dataset,r)var s=r.dgst;return r=s,a=Error(st(419)),r=b0(a,r,void 0),dE(t,e,i,r)}if(s=(i&t.childLanes)!==0,Ks||s){if(r=si,r!==null){switch(i&-i){case 4:o=2;break;case 16:o=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:o=32;break;case 536870912:o=268435456;break;default:o=0}o=(o&(r.suspendedLanes|i))!==0?0:o,o!==0&&o!==a.retryLane&&(a.retryLane=o,Tp(t,o),pc(r,t,o,-1))}return JB(),r=b0(Error(st(421))),dE(t,e,i,r)}return o.data==="$?"?(e.flags|=128,e.child=t.child,e=sye.bind(null,t),o._reactRetry=e,null):(t=a.treeContext,Pl=gg(o.nextSibling),Cl=e,Io=!0,cc=null,t!==null&&(hd[fd++]=vp,hd[fd++]=yp,hd[fd++]=lf,vp=t.id,yp=t.overflow,lf=e),e=qB(e,r.children),e.flags|=4096,e)}function h6(t,e,n){t.lanes|=e;var r=t.alternate;r!==null&&(r.lanes|=e),Z0(t.return,e,n)}function S0(t,e,n,r,o){var a=t.memoizedState;a===null?t.memoizedState={isBackwards:e,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:o}:(a.isBackwards=e,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=n,a.tailMode=o)}function rX(t,e,n){var r=e.pendingProps,o=r.revealOrder,a=r.tail;if(us(t,e,r.children,n),r=Lo.current,(r&2)!==0)r=r&1|2,e.flags|=128;else{if(t!==null&&(t.flags&128)!==0)e:for(t=e.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&h6(t,n,e);else if(t.tag===19)h6(t,n,e);else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;t=t.return}t.sibling.return=t.return,t=t.sibling}r&=1}if(oo(Lo,r),(e.mode&1)===0)e.memoizedState=null;else switch(o){case"forwards":for(n=e.child,o=null;n!==null;)t=n.alternate,t!==null&&BE(t)===null&&(o=n),n=n.sibling;n=o,n===null?(o=e.child,e.child=null):(o=n.sibling,n.sibling=null),S0(e,!1,o,n,a);break;case"backwards":for(n=null,o=e.child,e.child=null;o!==null;){if(t=o.alternate,t!==null&&BE(t)===null){e.child=o;break}t=o.sibling,o.sibling=n,n=o,o=t}S0(e,!0,n,null,a);break;case"together":S0(e,!1,null,null,void 0);break;default:e.memoizedState=null}return e.child}function yE(t,e){(e.mode&1)===0&&t!==null&&(t.alternate=null,e.alternate=null,e.flags|=2)}function kp(t,e,n){if(t!==null&&(e.dependencies=t.dependencies),cf|=e.lanes,(n&e.childLanes)===0)return null;if(t!==null&&e.child!==t.child)throw Error(st(153));if(e.child!==null){for(t=e.child,n=yg(t,t.pendingProps),e.child=n,n.return=e;t.sibling!==null;)t=t.sibling,n=n.sibling=yg(t,t.pendingProps),n.return=e;n.sibling=null}return e.child}function $ve(t,e,n){switch(e.tag){case 3:tX(e),fb();break;case 5:x8(e);break;case 1:js(e.type)&&RE(e);break;case 4:_B(e,e.stateNode.containerInfo);break;case 10:var r=e.type._context,o=e.memoizedProps.value;oo(OE,r._currentValue),r._currentValue=o;break;case 13:if(r=e.memoizedState,r!==null)return r.dehydrated!==null?(oo(Lo,Lo.current&1),e.flags|=128,null):(n&e.child.childLanes)!==0?nX(t,e,n):(oo(Lo,Lo.current&1),t=kp(t,e,n),t!==null?t.sibling:null);oo(Lo,Lo.current&1);break;case 19:if(r=(n&e.childLanes)!==0,(t.flags&128)!==0){if(r)return rX(t,e,n);e.flags|=128}if(o=e.memoizedState,o!==null&&(o.rendering=null,o.tail=null,o.lastEffect=null),oo(Lo,Lo.current),r)break;return null;case 22:case 23:return e.lanes=0,J8(t,e,n)}return kp(t,e,n)}var oX,iB,aX,iX;oX=function(t,e){for(var n=e.child;n!==null;){if(n.tag===5||n.tag===6)t.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};iB=function(){};aX=function(t,e,n,r){var o=t.memoizedProps;if(o!==r){t=e.stateNode,rf(pu.current);var a=null;switch(n){case"input":o=I0(t,o),r=I0(t,r),a=[];break;case"select":o=Bo({},o,{value:void 0}),r=Bo({},r,{value:void 0}),a=[];break;case"textarea":o=M0(t,o),r=M0(t,r),a=[];break;default:typeof o.onClick!="function"&&typeof r.onClick=="function"&&(t.onclick=EE)}D0(n,r);var i;n=null;for(c in o)if(!r.hasOwnProperty(c)&&o.hasOwnProperty(c)&&o[c]!=null)if(c==="style"){var s=o[c];for(i in s)s.hasOwnProperty(i)&&(n||(n={}),n[i]="")}else c!=="dangerouslySetInnerHTML"&&c!=="children"&&c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&c!=="autoFocus"&&(jk.hasOwnProperty(c)?a||(a=[]):(a=a||[]).push(c,null));for(c in r){var l=r[c];if(s=o?.[c],r.hasOwnProperty(c)&&l!==s&&(l!=null||s!=null))if(c==="style")if(s){for(i in s)!s.hasOwnProperty(i)||l&&l.hasOwnProperty(i)||(n||(n={}),n[i]="");for(i in l)l.hasOwnProperty(i)&&s[i]!==l[i]&&(n||(n={}),n[i]=l[i])}else n||(a||(a=[]),a.push(c,n)),n=l;else c==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,s=s?s.__html:void 0,l!=null&&s!==l&&(a=a||[]).push(c,l)):c==="children"?typeof l!="string"&&typeof l!="number"||(a=a||[]).push(c,""+l):c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&(jk.hasOwnProperty(c)?(l!=null&&c==="onScroll"&&ho("scroll",t),a||s===l||(a=[])):(a=a||[]).push(c,l))}n&&(a=a||[]).push("style",n);var c=a;(e.updateQueue=c)&&(e.flags|=4)}};iX=function(t,e,n,r){n!==r&&(e.flags|=4)};function xk(t,e){if(!Io)switch(t.tailMode){case"hidden":e=t.tail;for(var n=null;e!==null;)e.alternate!==null&&(n=e),e=e.sibling;n===null?t.tail=null:n.sibling=null;break;case"collapsed":n=t.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?e||t.tail===null?t.tail=null:t.tail.sibling=null:r.sibling=null}}function qi(t){var e=t.alternate!==null&&t.alternate.child===t.child,n=0,r=0;if(e)for(var o=t.child;o!==null;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags&14680064,r|=o.flags&14680064,o.return=t,o=o.sibling;else for(o=t.child;o!==null;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags,r|=o.flags,o.return=t,o=o.sibling;return t.subtreeFlags|=r,t.childLanes=n,e}function Xve(t,e,n){var r=e.pendingProps;switch(RB(e),e.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return qi(e),null;case 1:return js(e.type)&&ME(),qi(e),null;case 3:return r=e.stateNode,yb(),fo(Ws),fo($i),VB(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(t===null||t.child===null)&&(sE(e)?e.flags|=4:t===null||t.memoizedState.isDehydrated&&(e.flags&256)===0||(e.flags|=1024,cc!==null&&(gB(cc),cc=null))),iB(t,e),qi(e),null;case 5:HB(e);var o=rf(rF.current);if(n=e.type,t!==null&&e.stateNode!=null)aX(t,e,n,r,o),t.ref!==e.ref&&(e.flags|=512,e.flags|=2097152);else{if(!r){if(e.stateNode===null)throw Error(st(166));return qi(e),null}if(t=rf(pu.current),sE(e)){r=e.stateNode,n=e.type;var a=e.memoizedProps;switch(r[cu]=e,r[tF]=a,t=(e.mode&1)!==0,n){case"dialog":ho("cancel",r),ho("close",r);break;case"iframe":case"object":case"embed":ho("load",r);break;case"video":case"audio":for(o=0;o<Ok.length;o++)ho(Ok[o],r);break;case"source":ho("error",r);break;case"img":case"image":case"link":ho("error",r),ho("load",r);break;case"details":ho("toggle",r);break;case"input":k5(r,a),ho("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!a.multiple},ho("invalid",r);break;case"textarea":P5(r,a),ho("invalid",r)}D0(n,a),o=null;for(var i in a)if(a.hasOwnProperty(i)){var s=a[i];i==="children"?typeof s=="string"?r.textContent!==s&&(a.suppressHydrationWarning!==!0&&iE(r.textContent,s,t),o=["children",s]):typeof s=="number"&&r.textContent!==""+s&&(a.suppressHydrationWarning!==!0&&iE(r.textContent,s,t),o=["children",""+s]):jk.hasOwnProperty(i)&&s!=null&&i==="onScroll"&&ho("scroll",r)}switch(n){case"input":Yx(r),F5(r,a,!0);break;case"textarea":Yx(r),C5(r);break;case"select":case"option":break;default:typeof a.onClick=="function"&&(r.onclick=EE)}r=o,e.updateQueue=r,r!==null&&(e.flags|=4)}else{i=o.nodeType===9?o:o.ownerDocument,t==="http://www.w3.org/1999/xhtml"&&(t=A6(n)),t==="http://www.w3.org/1999/xhtml"?n==="script"?(t=i.createElement("div"),t.innerHTML="<script><\/script>",t=t.removeChild(t.firstChild)):typeof r.is=="string"?t=i.createElement(n,{is:r.is}):(t=i.createElement(n),n==="select"&&(i=t,r.multiple?i.multiple=!0:r.size&&(i.size=r.size))):t=i.createElementNS(t,n),t[cu]=e,t[tF]=r,oX(t,e,!1,!1),e.stateNode=t;e:{switch(i=A0(n,r),n){case"dialog":ho("cancel",t),ho("close",t),o=r;break;case"iframe":case"object":case"embed":ho("load",t),o=r;break;case"video":case"audio":for(o=0;o<Ok.length;o++)ho(Ok[o],t);o=r;break;case"source":ho("error",t),o=r;break;case"img":case"image":case"link":ho("error",t),ho("load",t),o=r;break;case"details":ho("toggle",t),o=r;break;case"input":k5(t,r),o=I0(t,r),ho("invalid",t);break;case"option":o=r;break;case"select":t._wrapperState={wasMultiple:!!r.multiple},o=Bo({},r,{value:void 0}),ho("invalid",t);break;case"textarea":P5(t,r),o=M0(t,r),ho("invalid",t);break;default:o=r}D0(n,o),s=o;for(a in s)if(s.hasOwnProperty(a)){var l=s[a];a==="style"?z6(t,l):a==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,l!=null&&O6(t,l)):a==="children"?typeof l=="string"?(n!=="textarea"||l!=="")&&Gk(t,l):typeof l=="number"&&Gk(t,""+l):a!=="suppressContentEditableWarning"&&a!=="suppressHydrationWarning"&&a!=="autoFocus"&&(jk.hasOwnProperty(a)?l!=null&&a==="onScroll"&&ho("scroll",t):l!=null&&vB(t,a,l,i))}switch(n){case"input":Yx(t),F5(t,r,!1);break;case"textarea":Yx(t),C5(t);break;case"option":r.value!=null&&t.setAttribute("value",""+bg(r.value));break;case"select":t.multiple=!!r.multiple,a=r.value,a!=null?lb(t,!!r.multiple,a,!1):r.defaultValue!=null&&lb(t,!!r.multiple,r.defaultValue,!0);break;default:typeof o.onClick=="function"&&(t.onclick=EE)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(e.flags|=4)}e.ref!==null&&(e.flags|=512,e.flags|=2097152)}return qi(e),null;case 6:if(t&&e.stateNode!=null)iX(t,e,t.memoizedProps,r);else{if(typeof r!="string"&&e.stateNode===null)throw Error(st(166));if(n=rf(rF.current),rf(pu.current),sE(e)){if(r=e.stateNode,n=e.memoizedProps,r[cu]=e,(a=r.nodeValue!==n)&&(t=Cl,t!==null))switch(t.tag){case 3:iE(r.nodeValue,n,(t.mode&1)!==0);break;case 5:t.memoizedProps.suppressHydrationWarning!==!0&&iE(r.nodeValue,n,(t.mode&1)!==0)}a&&(e.flags|=4)}else r=(n.nodeType===9?n:n.ownerDocument).createTextNode(r),r[cu]=e,e.stateNode=r}return qi(e),null;case 13:if(fo(Lo),r=e.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(Io&&Pl!==null&&(e.mode&1)!==0&&(e.flags&128)===0)F8(),fb(),e.flags|=98560,a=!1;else if(a=sE(e),r!==null&&r.dehydrated!==null){if(t===null){if(!a)throw Error(st(318));if(a=e.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(st(317));a[cu]=e}else fb(),(e.flags&128)===0&&(e.memoizedState=null),e.flags|=4;qi(e),a=!1}else cc!==null&&(gB(cc),cc=null),a=!0;if(!a)return e.flags&65536?e:null}return(e.flags&128)!==0?(e.lanes=n,e):(r=r!==null,r!==(t!==null&&t.memoizedState!==null)&&r&&(e.child.flags|=8192,(e.mode&1)!==0&&(t===null||(Lo.current&1)!==0?Ua===0&&(Ua=3):JB())),e.updateQueue!==null&&(e.flags|=4),qi(e),null);case 4:return yb(),iB(t,e),t===null&&Jk(e.stateNode.containerInfo),qi(e),null;case 10:return LB(e.type._context),qi(e),null;case 17:return js(e.type)&&ME(),qi(e),null;case 19:if(fo(Lo),a=e.memoizedState,a===null)return qi(e),null;if(r=(e.flags&128)!==0,i=a.rendering,i===null)if(r)xk(a,!1);else{if(Ua!==0||t!==null&&(t.flags&128)!==0)for(t=e.child;t!==null;){if(i=BE(t),i!==null){for(e.flags|=128,xk(a,!1),r=i.updateQueue,r!==null&&(e.updateQueue=r,e.flags|=4),e.subtreeFlags=0,r=n,n=e.child;n!==null;)a=n,t=r,a.flags&=14680066,i=a.alternate,i===null?(a.childLanes=0,a.lanes=t,a.child=null,a.subtreeFlags=0,a.memoizedProps=null,a.memoizedState=null,a.updateQueue=null,a.dependencies=null,a.stateNode=null):(a.childLanes=i.childLanes,a.lanes=i.lanes,a.child=i.child,a.subtreeFlags=0,a.deletions=null,a.memoizedProps=i.memoizedProps,a.memoizedState=i.memoizedState,a.updateQueue=i.updateQueue,a.type=i.type,t=i.dependencies,a.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),n=n.sibling;return oo(Lo,Lo.current&1|2),e.child}t=t.sibling}a.tail!==null&&ua()>Sb&&(e.flags|=128,r=!0,xk(a,!1),e.lanes=4194304)}else{if(!r)if(t=BE(i),t!==null){if(e.flags|=128,r=!0,n=t.updateQueue,n!==null&&(e.updateQueue=n,e.flags|=4),xk(a,!0),a.tail===null&&a.tailMode==="hidden"&&!i.alternate&&!Io)return qi(e),null}else 2*ua()-a.renderingStartTime>Sb&&n!==1073741824&&(e.flags|=128,r=!0,xk(a,!1),e.lanes=4194304);a.isBackwards?(i.sibling=e.child,e.child=i):(n=a.last,n!==null?n.sibling=i:e.child=i,a.last=i)}return a.tail!==null?(e=a.tail,a.rendering=e,a.tail=e.sibling,a.renderingStartTime=ua(),e.sibling=null,n=Lo.current,oo(Lo,r?n&1|2:n&1),e):(qi(e),null);case 22:case 23:return ZB(),r=e.memoizedState!==null,t!==null&&t.memoizedState!==null!==r&&(e.flags|=8192),r&&(e.mode&1)!==0?(Fl&1073741824)!==0&&(qi(e),e.subtreeFlags&6&&(e.flags|=8192)):qi(e),null;case 24:return null;case 25:return null}throw Error(st(156,e.tag))}function Qve(t,e){switch(RB(e),e.tag){case 1:return js(e.type)&&ME(),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return yb(),fo(Ws),fo($i),VB(),t=e.flags,(t&65536)!==0&&(t&128)===0?(e.flags=t&-65537|128,e):null;case 5:return HB(e),null;case 13:if(fo(Lo),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(st(340));fb()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return fo(Lo),null;case 4:return yb(),null;case 10:return LB(e.type._context),null;case 22:case 23:return ZB(),null;case 24:return null;default:return null}}var cE=!1,Yi=!1,Zve=typeof WeakSet=="function"?WeakSet:Set,Bt=null;function ib(t,e){var n=t.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){ea(t,e,r)}else n.current=null}function sB(t,e,n){try{n()}catch(r){ea(t,e,r)}}var f6=!1;function Jve(t,e){if(W0=NE,t=u8(),EB(t)){if("selectionStart"in t)var n={start:t.selectionStart,end:t.selectionEnd};else e:{n=(n=t.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var o=r.anchorOffset,a=r.focusNode;r=r.focusOffset;try{n.nodeType,a.nodeType}catch{n=null;break e}var i=0,s=-1,l=-1,c=0,u=0,p=t,m=null;t:for(;;){for(var g;p!==n||o!==0&&p.nodeType!==3||(s=i+o),p!==a||r!==0&&p.nodeType!==3||(l=i+r),p.nodeType===3&&(i+=p.nodeValue.length),(g=p.firstChild)!==null;)m=p,p=g;for(;;){if(p===t)break t;if(m===n&&++c===o&&(s=i),m===a&&++u===r&&(l=i),(g=p.nextSibling)!==null)break;p=m,m=p.parentNode}p=g}n=s===-1||l===-1?null:{start:s,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(j0={focusedElem:t,selectionRange:n},NE=!1,Bt=e;Bt!==null;)if(e=Bt,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,Bt=t;else for(;Bt!==null;){e=Bt;try{var f=e.alternate;if((e.flags&1024)!==0)switch(e.tag){case 0:case 11:case 15:break;case 1:if(f!==null){var h=f.memoizedProps,b=f.memoizedState,v=e.stateNode,y=v.getSnapshotBeforeUpdate(e.elementType===e.type?h:lc(e.type,h),b);v.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var S=e.stateNode.containerInfo;S.nodeType===1?S.textContent="":S.nodeType===9&&S.documentElement&&S.removeChild(S.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(st(163))}}catch(w){ea(e,e.return,w)}if(t=e.sibling,t!==null){t.return=e.return,Bt=t;break}Bt=e.return}return f=f6,f6=!1,f}function Uk(t,e,n){var r=e.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var o=r=r.next;do{if((o.tag&t)===t){var a=o.destroy;o.destroy=void 0,a!==void 0&&sB(e,n,a)}o=o.next}while(o!==r)}}function eM(t,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var n=e=e.next;do{if((n.tag&t)===t){var r=n.create;n.destroy=r()}n=n.next}while(n!==e)}}function lB(t){var e=t.ref;if(e!==null){var n=t.stateNode;t.tag,t=n,typeof e=="function"?e(t):e.current=t}}function sX(t){var e=t.alternate;e!==null&&(t.alternate=null,sX(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&(delete e[cu],delete e[tF],delete e[Y0],delete e[Ove],delete e[Lve])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function lX(t){return t.tag===5||t.tag===3||t.tag===4}function v6(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||lX(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function dB(t,e,n){var r=t.tag;if(r===5||r===6)t=t.stateNode,e?n.nodeType===8?n.parentNode.insertBefore(t,e):n.insertBefore(t,e):(n.nodeType===8?(e=n.parentNode,e.insertBefore(t,n)):(e=n,e.appendChild(t)),n=n._reactRootContainer,n!=null||e.onclick!==null||(e.onclick=EE));else if(r!==4&&(t=t.child,t!==null))for(dB(t,e,n),t=t.sibling;t!==null;)dB(t,e,n),t=t.sibling}function cB(t,e,n){var r=t.tag;if(r===5||r===6)t=t.stateNode,e?n.insertBefore(t,e):n.appendChild(t);else if(r!==4&&(t=t.child,t!==null))for(cB(t,e,n),t=t.sibling;t!==null;)cB(t,e,n),t=t.sibling}var ki=null,dc=!1;function og(t,e,n){for(n=n.child;n!==null;)dX(t,e,n),n=n.sibling}function dX(t,e,n){if(uu&&typeof uu.onCommitFiberUnmount=="function")try{uu.onCommitFiberUnmount(GE,n)}catch{}switch(n.tag){case 5:Yi||ib(n,e);case 6:var r=ki,o=dc;ki=null,og(t,e,n),ki=r,dc=o,ki!==null&&(dc?(t=ki,n=n.stateNode,t.nodeType===8?t.parentNode.removeChild(n):t.removeChild(n)):ki.removeChild(n.stateNode));break;case 18:ki!==null&&(dc?(t=ki,n=n.stateNode,t.nodeType===8?m0(t.parentNode,n):t.nodeType===1&&m0(t,n),Xk(t)):m0(ki,n.stateNode));break;case 4:r=ki,o=dc,ki=n.stateNode.containerInfo,dc=!0,og(t,e,n),ki=r,dc=o;break;case 0:case 11:case 14:case 15:if(!Yi&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){o=r=r.next;do{var a=o,i=a.destroy;a=a.tag,i!==void 0&&((a&2)!==0||(a&4)!==0)&&sB(n,e,i),o=o.next}while(o!==r)}og(t,e,n);break;case 1:if(!Yi&&(ib(n,e),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){ea(n,e,s)}og(t,e,n);break;case 21:og(t,e,n);break;case 22:n.mode&1?(Yi=(r=Yi)||n.memoizedState!==null,og(t,e,n),Yi=r):og(t,e,n);break;default:og(t,e,n)}}function y6(t){var e=t.updateQueue;if(e!==null){t.updateQueue=null;var n=t.stateNode;n===null&&(n=t.stateNode=new Zve),e.forEach(function(r){var o=lye.bind(null,t,r);n.has(r)||(n.add(r),r.then(o,o))})}}function sc(t,e){var n=e.deletions;if(n!==null)for(var r=0;r<n.length;r++){var o=n[r];try{var a=t,i=e,s=i;e:for(;s!==null;){switch(s.tag){case 5:ki=s.stateNode,dc=!1;break e;case 3:ki=s.stateNode.containerInfo,dc=!0;break e;case 4:ki=s.stateNode.containerInfo,dc=!0;break e}s=s.return}if(ki===null)throw Error(st(160));dX(a,i,o),ki=null,dc=!1;var l=o.alternate;l!==null&&(l.return=null),o.return=null}catch(c){ea(o,e,c)}}if(e.subtreeFlags&12854)for(e=e.child;e!==null;)cX(e,t),e=e.sibling}function cX(t,e){var n=t.alternate,r=t.flags;switch(t.tag){case 0:case 11:case 14:case 15:if(sc(e,t),lu(t),r&4){try{Uk(3,t,t.return),eM(3,t)}catch(h){ea(t,t.return,h)}try{Uk(5,t,t.return)}catch(h){ea(t,t.return,h)}}break;case 1:sc(e,t),lu(t),r&512&&n!==null&&ib(n,n.return);break;case 5:if(sc(e,t),lu(t),r&512&&n!==null&&ib(n,n.return),t.flags&32){var o=t.stateNode;try{Gk(o,"")}catch(h){ea(t,t.return,h)}}if(r&4&&(o=t.stateNode,o!=null)){var a=t.memoizedProps,i=n!==null?n.memoizedProps:a,s=t.type,l=t.updateQueue;if(t.updateQueue=null,l!==null)try{s==="input"&&a.type==="radio"&&a.name!=null&&R6(o,a),A0(s,i);var c=A0(s,a);for(i=0;i<l.length;i+=2){var u=l[i],p=l[i+1];u==="style"?z6(o,p):u==="dangerouslySetInnerHTML"?O6(o,p):u==="children"?Gk(o,p):vB(o,u,p,c)}switch(s){case"input":x0(o,a);break;case"textarea":D6(o,a);break;case"select":var m=o._wrapperState.wasMultiple;o._wrapperState.wasMultiple=!!a.multiple;var g=a.value;g!=null?lb(o,!!a.multiple,g,!1):m!==!!a.multiple&&(a.defaultValue!=null?lb(o,!!a.multiple,a.defaultValue,!0):lb(o,!!a.multiple,a.multiple?[]:"",!1))}o[tF]=a}catch(h){ea(t,t.return,h)}}break;case 6:if(sc(e,t),lu(t),r&4){if(t.stateNode===null)throw Error(st(162));o=t.stateNode,a=t.memoizedProps;try{o.nodeValue=a}catch(h){ea(t,t.return,h)}}break;case 3:if(sc(e,t),lu(t),r&4&&n!==null&&n.memoizedState.isDehydrated)try{Xk(e.containerInfo)}catch(h){ea(t,t.return,h)}break;case 4:sc(e,t),lu(t);break;case 13:sc(e,t),lu(t),o=t.child,o.flags&8192&&(a=o.memoizedState!==null,o.stateNode.isHidden=a,!a||o.alternate!==null&&o.alternate.memoizedState!==null||(XB=ua())),r&4&&y6(t);break;case 22:if(u=n!==null&&n.memoizedState!==null,t.mode&1?(Yi=(c=Yi)||u,sc(e,t),Yi=c):sc(e,t),lu(t),r&8192){if(c=t.memoizedState!==null,(t.stateNode.isHidden=c)&&!u&&(t.mode&1)!==0)for(Bt=t,u=t.child;u!==null;){for(p=Bt=u;Bt!==null;){switch(m=Bt,g=m.child,m.tag){case 0:case 11:case 14:case 15:Uk(4,m,m.return);break;case 1:ib(m,m.return);var f=m.stateNode;if(typeof f.componentWillUnmount=="function"){r=m,n=m.return;try{e=r,f.props=e.memoizedProps,f.state=e.memoizedState,f.componentWillUnmount()}catch(h){ea(r,n,h)}}break;case 5:ib(m,m.return);break;case 22:if(m.memoizedState!==null){S6(p);continue}}g!==null?(g.return=m,Bt=g):S6(p)}u=u.sibling}e:for(u=null,p=t;;){if(p.tag===5){if(u===null){u=p;try{o=p.stateNode,c?(a=o.style,typeof a.setProperty=="function"?a.setProperty("display","none","important"):a.display="none"):(s=p.stateNode,l=p.memoizedProps.style,i=l!=null&&l.hasOwnProperty("display")?l.display:null,s.style.display=L6("display",i))}catch(h){ea(t,t.return,h)}}}else if(p.tag===6){if(u===null)try{p.stateNode.nodeValue=c?"":p.memoizedProps}catch(h){ea(t,t.return,h)}}else if((p.tag!==22&&p.tag!==23||p.memoizedState===null||p===t)&&p.child!==null){p.child.return=p,p=p.child;continue}if(p===t)break e;for(;p.sibling===null;){if(p.return===null||p.return===t)break e;u===p&&(u=null),p=p.return}u===p&&(u=null),p.sibling.return=p.return,p=p.sibling}}break;case 19:sc(e,t),lu(t),r&4&&y6(t);break;case 21:break;default:sc(e,t),lu(t)}}function lu(t){var e=t.flags;if(e&2){try{e:{for(var n=t.return;n!==null;){if(lX(n)){var r=n;break e}n=n.return}throw Error(st(160))}switch(r.tag){case 5:var o=r.stateNode;r.flags&32&&(Gk(o,""),r.flags&=-33);var a=v6(t);cB(t,a,o);break;case 3:case 4:var i=r.stateNode.containerInfo,s=v6(t);dB(t,s,i);break;default:throw Error(st(161))}}catch(l){ea(t,t.return,l)}t.flags&=-3}e&4096&&(t.flags&=-4097)}function eye(t,e,n){Bt=t,uX(t,e,n)}function uX(t,e,n){for(var r=(t.mode&1)!==0;Bt!==null;){var o=Bt,a=o.child;if(o.tag===22&&r){var i=o.memoizedState!==null||cE;if(!i){var s=o.alternate,l=s!==null&&s.memoizedState!==null||Yi;s=cE;var c=Yi;if(cE=i,(Yi=l)&&!c)for(Bt=o;Bt!==null;)i=Bt,l=i.child,i.tag===22&&i.memoizedState!==null?w6(o):l!==null?(l.return=i,Bt=l):w6(o);for(;a!==null;)Bt=a,uX(a,e,n),a=a.sibling;Bt=o,cE=s,Yi=c}b6(t,e,n)}else(o.subtreeFlags&8772)!==0&&a!==null?(a.return=o,Bt=a):b6(t,e,n)}}function b6(t){for(;Bt!==null;){var e=Bt;if((e.flags&8772)!==0){var n=e.alternate;try{if((e.flags&8772)!==0)switch(e.tag){case 0:case 11:case 15:Yi||eM(5,e);break;case 1:var r=e.stateNode;if(e.flags&4&&!Yi)if(n===null)r.componentDidMount();else{var o=e.elementType===e.type?n.memoizedProps:lc(e.type,n.memoizedProps);r.componentDidUpdate(o,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var a=e.updateQueue;a!==null&&r6(e,a,r);break;case 3:var i=e.updateQueue;if(i!==null){if(n=null,e.child!==null)switch(e.child.tag){case 5:n=e.child.stateNode;break;case 1:n=e.child.stateNode}r6(e,i,n)}break;case 5:var s=e.stateNode;if(n===null&&e.flags&4){n=s;var l=e.memoizedProps;switch(e.type){case"button":case"input":case"select":case"textarea":l.autoFocus&&n.focus();break;case"img":l.src&&(n.src=l.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(e.memoizedState===null){var c=e.alternate;if(c!==null){var u=c.memoizedState;if(u!==null){var p=u.dehydrated;p!==null&&Xk(p)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(st(163))}Yi||e.flags&512&&lB(e)}catch(m){ea(e,e.return,m)}}if(e===t){Bt=null;break}if(n=e.sibling,n!==null){n.return=e.return,Bt=n;break}Bt=e.return}}function S6(t){for(;Bt!==null;){var e=Bt;if(e===t){Bt=null;break}var n=e.sibling;if(n!==null){n.return=e.return,Bt=n;break}Bt=e.return}}function w6(t){for(;Bt!==null;){var e=Bt;try{switch(e.tag){case 0:case 11:case 15:var n=e.return;try{eM(4,e)}catch(l){ea(e,n,l)}break;case 1:var r=e.stateNode;if(typeof r.componentDidMount=="function"){var o=e.return;try{r.componentDidMount()}catch(l){ea(e,o,l)}}var a=e.return;try{lB(e)}catch(l){ea(e,a,l)}break;case 5:var i=e.return;try{lB(e)}catch(l){ea(e,i,l)}}}catch(l){ea(e,e.return,l)}if(e===t){Bt=null;break}var s=e.sibling;if(s!==null){s.return=e.return,Bt=s;break}Bt=e.return}}var tye=Math.ceil,VE=Fp.ReactCurrentDispatcher,YB=Fp.ReactCurrentOwner,yd=Fp.ReactCurrentBatchConfig,dr=0,si=null,Ma=null,Fi=0,Fl=0,sb=Tg(0),Ua=0,sF=null,cf=0,tM=0,$B=0,Kk=null,Us=null,XB=0,Sb=1/0,hp=null,UE=!1,uB=null,fg=null,uE=!1,cg=null,KE=0,Wk=0,pB=null,bE=-1,SE=0;function ps(){return(dr&6)!==0?ua():bE!==-1?bE:bE=ua()}function vg(t){return(t.mode&1)===0?1:(dr&2)!==0&&Fi!==0?Fi&-Fi:Bve.transition!==null?(SE===0&&(SE=$6()),SE):(t=Ar,t!==0||(t=window.event,t=t===void 0?16:n8(t.type)),t)}function pc(t,e,n,r){if(50<Wk)throw Wk=0,pB=null,Error(st(185));lF(t,n,r),((dr&2)===0||t!==si)&&(t===si&&((dr&2)===0&&(tM|=n),Ua===4&&lg(t,Fi)),Gs(t,r),n===1&&dr===0&&(e.mode&1)===0&&(Sb=ua()+500,QE&&kg()))}function Gs(t,e){var n=t.callbackNode;Hfe(t,e);var r=CE(t,t===si?Fi:0);if(r===0)n!==null&&x5(n),t.callbackNode=null,t.callbackPriority=0;else if(e=r&-r,t.callbackPriority!==e){if(n!=null&&x5(n),e===1)t.tag===0?zve(T6.bind(null,t)):w8(T6.bind(null,t)),Dve(function(){(dr&6)===0&&kg()}),n=null;else{switch(X6(r)){case 1:n=TB;break;case 4:n=q6;break;case 16:n=PE;break;case 536870912:n=Y6;break;default:n=PE}n=bX(n,pX.bind(null,t))}t.callbackPriority=e,t.callbackNode=n}}function pX(t,e){if(bE=-1,SE=0,(dr&6)!==0)throw Error(st(327));var n=t.callbackNode;if(mb()&&t.callbackNode!==n)return null;var r=CE(t,t===si?Fi:0);if(r===0)return null;if((r&30)!==0||(r&t.expiredLanes)!==0||e)e=WE(t,r);else{e=r;var o=dr;dr|=2;var a=gX();(si!==t||Fi!==e)&&(hp=null,Sb=ua()+500,of(t,e));do try{oye();break}catch(s){mX(t,s)}while(!0);OB(),VE.current=a,dr=o,Ma!==null?e=0:(si=null,Fi=0,e=Ua)}if(e!==0){if(e===2&&(o=_0(t),o!==0&&(r=o,e=mB(t,o))),e===1)throw n=sF,of(t,0),lg(t,r),Gs(t,ua()),n;if(e===6)lg(t,r);else{if(o=t.current.alternate,(r&30)===0&&!nye(o)&&(e=WE(t,r),e===2&&(a=_0(t),a!==0&&(r=a,e=mB(t,a))),e===1))throw n=sF,of(t,0),lg(t,r),Gs(t,ua()),n;switch(t.finishedWork=o,t.finishedLanes=r,e){case 0:case 1:throw Error(st(345));case 2:ef(t,Us,hp);break;case 3:if(lg(t,r),(r&130023424)===r&&(e=XB+500-ua(),10<e)){if(CE(t,0)!==0)break;if(o=t.suspendedLanes,(o&r)!==r){ps(),t.pingedLanes|=t.suspendedLanes&o;break}t.timeoutHandle=q0(ef.bind(null,t,Us,hp),e);break}ef(t,Us,hp);break;case 4:if(lg(t,r),(r&4194240)===r)break;for(e=t.eventTimes,o=-1;0<r;){var i=31-uc(r);a=1<<i,i=e[i],i>o&&(o=i),r&=~a}if(r=o,r=ua()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*tye(r/1960))-r,10<r){t.timeoutHandle=q0(ef.bind(null,t,Us,hp),r);break}ef(t,Us,hp);break;case 5:ef(t,Us,hp);break;default:throw Error(st(329))}}}return Gs(t,ua()),t.callbackNode===n?pX.bind(null,t):null}function mB(t,e){var n=Kk;return t.current.memoizedState.isDehydrated&&(of(t,e).flags|=256),t=WE(t,e),t!==2&&(e=Us,Us=n,e!==null&&gB(e)),t}function gB(t){Us===null?Us=t:Us.push.apply(Us,t)}function nye(t){for(var e=t;;){if(e.flags&16384){var n=e.updateQueue;if(n!==null&&(n=n.stores,n!==null))for(var r=0;r<n.length;r++){var o=n[r],a=o.getSnapshot;o=o.value;try{if(!mc(a(),o))return!1}catch{return!1}}}if(n=e.child,e.subtreeFlags&16384&&n!==null)n.return=e,e=n;else{if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return!0;e=e.return}e.sibling.return=e.return,e=e.sibling}}return!0}function lg(t,e){for(e&=~$B,e&=~tM,t.suspendedLanes|=e,t.pingedLanes&=~e,t=t.expirationTimes;0<e;){var n=31-uc(e),r=1<<n;t[n]=-1,e&=~r}}function T6(t){if((dr&6)!==0)throw Error(st(327));mb();var e=CE(t,0);if((e&1)===0)return Gs(t,ua()),null;var n=WE(t,e);if(t.tag!==0&&n===2){var r=_0(t);r!==0&&(e=r,n=mB(t,r))}if(n===1)throw n=sF,of(t,0),lg(t,e),Gs(t,ua()),n;if(n===6)throw Error(st(345));return t.finishedWork=t.current.alternate,t.finishedLanes=e,ef(t,Us,hp),Gs(t,ua()),null}function QB(t,e){var n=dr;dr|=1;try{return t(e)}finally{dr=n,dr===0&&(Sb=ua()+500,QE&&kg())}}function uf(t){cg!==null&&cg.tag===0&&(dr&6)===0&&mb();var e=dr;dr|=1;var n=yd.transition,r=Ar;try{if(yd.transition=null,Ar=1,t)return t()}finally{Ar=r,yd.transition=n,dr=e,(dr&6)===0&&kg()}}function ZB(){Fl=sb.current,fo(sb)}function of(t,e){t.finishedWork=null,t.finishedLanes=0;var n=t.timeoutHandle;if(n!==-1&&(t.timeoutHandle=-1,Rve(n)),Ma!==null)for(n=Ma.return;n!==null;){var r=n;switch(RB(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&ME();break;case 3:yb(),fo(Ws),fo($i),VB();break;case 5:HB(r);break;case 4:yb();break;case 13:fo(Lo);break;case 19:fo(Lo);break;case 10:LB(r.type._context);break;case 22:case 23:ZB()}n=n.return}if(si=t,Ma=t=yg(t.current,null),Fi=Fl=e,Ua=0,sF=null,$B=tM=cf=0,Us=Kk=null,nf!==null){for(e=0;e<nf.length;e++)if(n=nf[e],r=n.interleaved,r!==null){n.interleaved=null;var o=r.next,a=n.pending;if(a!==null){var i=a.next;a.next=o,r.next=i}n.pending=r}nf=null}return t}function mX(t,e){do{var n=Ma;try{if(OB(),fE.current=HE,_E){for(var r=zo.memoizedState;r!==null;){var o=r.queue;o!==null&&(o.pending=null),r=r.next}_E=!1}if(df=0,ii=Va=zo=null,Vk=!1,oF=0,YB.current=null,n===null||n.return===null){Ua=1,sF=e,Ma=null;break}e:{var a=t,i=n.return,s=n,l=e;if(e=Fi,s.flags|=32768,l!==null&&typeof l=="object"&&typeof l.then=="function"){var c=l,u=s,p=u.tag;if((u.mode&1)===0&&(p===0||p===11||p===15)){var m=u.alternate;m?(u.updateQueue=m.updateQueue,u.memoizedState=m.memoizedState,u.lanes=m.lanes):(u.updateQueue=null,u.memoizedState=null)}var g=d6(i);if(g!==null){g.flags&=-257,c6(g,i,s,a,e),g.mode&1&&l6(a,c,e),e=g,l=c;var f=e.updateQueue;if(f===null){var h=new Set;h.add(l),e.updateQueue=h}else f.add(l);break e}else{if((e&1)===0){l6(a,c,e),JB();break e}l=Error(st(426))}}else if(Io&&s.mode&1){var b=d6(i);if(b!==null){(b.flags&65536)===0&&(b.flags|=256),c6(b,i,s,a,e),DB(bb(l,s));break e}}a=l=bb(l,s),Ua!==4&&(Ua=2),Kk===null?Kk=[a]:Kk.push(a),a=i;do{switch(a.tag){case 3:a.flags|=65536,e&=-e,a.lanes|=e;var v=X8(a,l,e);n6(a,v);break e;case 1:s=l;var y=a.type,S=a.stateNode;if((a.flags&128)===0&&(typeof y.getDerivedStateFromError=="function"||S!==null&&typeof S.componentDidCatch=="function"&&(fg===null||!fg.has(S)))){a.flags|=65536,e&=-e,a.lanes|=e;var w=Q8(a,s,e);n6(a,w);break e}}a=a.return}while(a!==null)}fX(n)}catch(k){e=k,Ma===n&&n!==null&&(Ma=n=n.return);continue}break}while(!0)}function gX(){var t=VE.current;return VE.current=HE,t===null?HE:t}function JB(){(Ua===0||Ua===3||Ua===2)&&(Ua=4),si===null||(cf&268435455)===0&&(tM&268435455)===0||lg(si,Fi)}function WE(t,e){var n=dr;dr|=2;var r=gX();(si!==t||Fi!==e)&&(hp=null,of(t,e));do try{rye();break}catch(o){mX(t,o)}while(!0);if(OB(),dr=n,VE.current=r,Ma!==null)throw Error(st(261));return si=null,Fi=0,Ua}function rye(){for(;Ma!==null;)hX(Ma)}function oye(){for(;Ma!==null&&!Mfe();)hX(Ma)}function hX(t){var e=yX(t.alternate,t,Fl);t.memoizedProps=t.pendingProps,e===null?fX(t):Ma=e,YB.current=null}function fX(t){var e=t;do{var n=e.alternate;if(t=e.return,(e.flags&32768)===0){if(n=Xve(n,e,Fl),n!==null){Ma=n;return}}else{if(n=Qve(n,e),n!==null){n.flags&=32767,Ma=n;return}if(t!==null)t.flags|=32768,t.subtreeFlags=0,t.deletions=null;else{Ua=6,Ma=null;return}}if(e=e.sibling,e!==null){Ma=e;return}Ma=e=t}while(e!==null);Ua===0&&(Ua=5)}function ef(t,e,n){var r=Ar,o=yd.transition;try{yd.transition=null,Ar=1,aye(t,e,n,r)}finally{yd.transition=o,Ar=r}return null}function aye(t,e,n,r){do mb();while(cg!==null);if((dr&6)!==0)throw Error(st(327));n=t.finishedWork;var o=t.finishedLanes;if(n===null)return null;if(t.finishedWork=null,t.finishedLanes=0,n===t.current)throw Error(st(177));t.callbackNode=null,t.callbackPriority=0;var a=n.lanes|n.childLanes;if(Vfe(t,a),t===si&&(Ma=si=null,Fi=0),(n.subtreeFlags&2064)===0&&(n.flags&2064)===0||uE||(uE=!0,bX(PE,function(){return mb(),null})),a=(n.flags&15990)!==0,(n.subtreeFlags&15990)!==0||a){a=yd.transition,yd.transition=null;var i=Ar;Ar=1;var s=dr;dr|=4,YB.current=null,Jve(t,n),cX(n,t),Nve(j0),NE=!!W0,j0=W0=null,t.current=n,eye(n,t,o),Rfe(),dr=s,Ar=i,yd.transition=a}else t.current=n;if(uE&&(uE=!1,cg=t,KE=o),a=t.pendingLanes,a===0&&(fg=null),Ofe(n.stateNode,r),Gs(t,ua()),e!==null)for(r=t.onRecoverableError,n=0;n<e.length;n++)o=e[n],r(o.value,{componentStack:o.stack,digest:o.digest});if(UE)throw UE=!1,t=uB,uB=null,t;return(KE&1)!==0&&t.tag!==0&&mb(),a=t.pendingLanes,(a&1)!==0?t===pB?Wk++:(Wk=0,pB=t):Wk=0,kg(),null}function mb(){if(cg!==null){var t=X6(KE),e=yd.transition,n=Ar;try{if(yd.transition=null,Ar=16>t?16:t,cg===null)var r=!1;else{if(t=cg,cg=null,KE=0,(dr&6)!==0)throw Error(st(331));var o=dr;for(dr|=4,Bt=t.current;Bt!==null;){var a=Bt,i=a.child;if((Bt.flags&16)!==0){var s=a.deletions;if(s!==null){for(var l=0;l<s.length;l++){var c=s[l];for(Bt=c;Bt!==null;){var u=Bt;switch(u.tag){case 0:case 11:case 15:Uk(8,u,a)}var p=u.child;if(p!==null)p.return=u,Bt=p;else for(;Bt!==null;){u=Bt;var m=u.sibling,g=u.return;if(sX(u),u===c){Bt=null;break}if(m!==null){m.return=g,Bt=m;break}Bt=g}}}var f=a.alternate;if(f!==null){var h=f.child;if(h!==null){f.child=null;do{var b=h.sibling;h.sibling=null,h=b}while(h!==null)}}Bt=a}}if((a.subtreeFlags&2064)!==0&&i!==null)i.return=a,Bt=i;else e:for(;Bt!==null;){if(a=Bt,(a.flags&2048)!==0)switch(a.tag){case 0:case 11:case 15:Uk(9,a,a.return)}var v=a.sibling;if(v!==null){v.return=a.return,Bt=v;break e}Bt=a.return}}var y=t.current;for(Bt=y;Bt!==null;){i=Bt;var S=i.child;if((i.subtreeFlags&2064)!==0&&S!==null)S.return=i,Bt=S;else e:for(i=y;Bt!==null;){if(s=Bt,(s.flags&2048)!==0)try{switch(s.tag){case 0:case 11:case 15:eM(9,s)}}catch(k){ea(s,s.return,k)}if(s===i){Bt=null;break e}var w=s.sibling;if(w!==null){w.return=s.return,Bt=w;break e}Bt=s.return}}if(dr=o,kg(),uu&&typeof uu.onPostCommitFiberRoot=="function")try{uu.onPostCommitFiberRoot(GE,t)}catch{}r=!0}return r}finally{Ar=n,yd.transition=e}}return!1}function k6(t,e,n){e=bb(n,e),e=X8(t,e,1),t=hg(t,e,1),e=ps(),t!==null&&(lF(t,1,e),Gs(t,e))}function ea(t,e,n){if(t.tag===3)k6(t,t,n);else for(;e!==null;){if(e.tag===3){k6(e,t,n);break}else if(e.tag===1){var r=e.stateNode;if(typeof e.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(fg===null||!fg.has(r))){t=bb(n,t),t=Q8(e,t,1),e=hg(e,t,1),t=ps(),e!==null&&(lF(e,1,t),Gs(e,t));break}}e=e.return}}function iye(t,e,n){var r=t.pingCache;r!==null&&r.delete(e),e=ps(),t.pingedLanes|=t.suspendedLanes&n,si===t&&(Fi&n)===n&&(Ua===4||Ua===3&&(Fi&130023424)===Fi&&500>ua()-XB?of(t,0):$B|=n),Gs(t,e)}function vX(t,e){e===0&&((t.mode&1)===0?e=1:(e=Qx,Qx<<=1,(Qx&130023424)===0&&(Qx=4194304)));var n=ps();t=Tp(t,e),t!==null&&(lF(t,e,n),Gs(t,n))}function sye(t){var e=t.memoizedState,n=0;e!==null&&(n=e.retryLane),vX(t,n)}function lye(t,e){var n=0;switch(t.tag){case 13:var r=t.stateNode,o=t.memoizedState;o!==null&&(n=o.retryLane);break;case 19:r=t.stateNode;break;default:throw Error(st(314))}r!==null&&r.delete(e),vX(t,n)}var yX;yX=function(t,e,n){if(t!==null)if(t.memoizedProps!==e.pendingProps||Ws.current)Ks=!0;else{if((t.lanes&n)===0&&(e.flags&128)===0)return Ks=!1,$ve(t,e,n);Ks=(t.flags&131072)!==0}else Ks=!1,Io&&(e.flags&1048576)!==0&&T8(e,AE,e.index);switch(e.lanes=0,e.tag){case 2:var r=e.type;yE(t,e),t=e.pendingProps;var o=hb(e,$i.current);pb(e,n),o=KB(null,e,r,t,o,n);var a=WB();return e.flags|=1,typeof o=="object"&&o!==null&&typeof o.render=="function"&&o.$$typeof===void 0?(e.tag=1,e.memoizedState=null,e.updateQueue=null,js(r)?(a=!0,RE(e)):a=!1,e.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,BB(e),o.updater=JE,e.stateNode=o,o._reactInternals=e,eB(e,r,t,n),e=rB(null,e,r,!0,a,n)):(e.tag=0,Io&&a&&MB(e),us(null,e,o,n),e=e.child),e;case 16:r=e.elementType;e:{switch(yE(t,e),t=e.pendingProps,o=r._init,r=o(r._payload),e.type=r,o=e.tag=cye(r),t=lc(r,t),o){case 0:e=nB(null,e,r,t,n);break e;case 1:e=m6(null,e,r,t,n);break e;case 11:e=u6(null,e,r,t,n);break e;case 14:e=p6(null,e,r,lc(r.type,t),n);break e}throw Error(st(306,r,""))}return e;case 0:return r=e.type,o=e.pendingProps,o=e.elementType===r?o:lc(r,o),nB(t,e,r,o,n);case 1:return r=e.type,o=e.pendingProps,o=e.elementType===r?o:lc(r,o),m6(t,e,r,o,n);case 3:e:{if(tX(e),t===null)throw Error(st(387));r=e.pendingProps,a=e.memoizedState,o=a.element,I8(t,e),zE(e,r,null,n);var i=e.memoizedState;if(r=i.element,a.isDehydrated)if(a={element:r,isDehydrated:!1,cache:i.cache,pendingSuspenseBoundaries:i.pendingSuspenseBoundaries,transitions:i.transitions},e.updateQueue.baseState=a,e.memoizedState=a,e.flags&256){o=bb(Error(st(423)),e),e=g6(t,e,r,n,o);break e}else if(r!==o){o=bb(Error(st(424)),e),e=g6(t,e,r,n,o);break e}else for(Pl=gg(e.stateNode.containerInfo.firstChild),Cl=e,Io=!0,cc=null,n=C8(e,null,r,n),e.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(fb(),r===o){e=kp(t,e,n);break e}us(t,e,r,n)}e=e.child}return e;case 5:return x8(e),t===null&&Q0(e),r=e.type,o=e.pendingProps,a=t!==null?t.memoizedProps:null,i=o.children,G0(r,o)?i=null:a!==null&&G0(r,a)&&(e.flags|=32),eX(t,e),us(t,e,i,n),e.child;case 6:return t===null&&Q0(e),null;case 13:return nX(t,e,n);case 4:return _B(e,e.stateNode.containerInfo),r=e.pendingProps,t===null?e.child=vb(e,null,r,n):us(t,e,r,n),e.child;case 11:return r=e.type,o=e.pendingProps,o=e.elementType===r?o:lc(r,o),u6(t,e,r,o,n);case 7:return us(t,e,e.pendingProps,n),e.child;case 8:return us(t,e,e.pendingProps.children,n),e.child;case 12:return us(t,e,e.pendingProps.children,n),e.child;case 10:e:{if(r=e.type._context,o=e.pendingProps,a=e.memoizedProps,i=o.value,oo(OE,r._currentValue),r._currentValue=i,a!==null)if(mc(a.value,i)){if(a.children===o.children&&!Ws.current){e=kp(t,e,n);break e}}else for(a=e.child,a!==null&&(a.return=e);a!==null;){var s=a.dependencies;if(s!==null){i=a.child;for(var l=s.firstContext;l!==null;){if(l.context===r){if(a.tag===1){l=bp(-1,n&-n),l.tag=2;var c=a.updateQueue;if(c!==null){c=c.shared;var u=c.pending;u===null?l.next=l:(l.next=u.next,u.next=l),c.pending=l}}a.lanes|=n,l=a.alternate,l!==null&&(l.lanes|=n),Z0(a.return,n,e),s.lanes|=n;break}l=l.next}}else if(a.tag===10)i=a.type===e.type?null:a.child;else if(a.tag===18){if(i=a.return,i===null)throw Error(st(341));i.lanes|=n,s=i.alternate,s!==null&&(s.lanes|=n),Z0(i,n,e),i=a.sibling}else i=a.child;if(i!==null)i.return=a;else for(i=a;i!==null;){if(i===e){i=null;break}if(a=i.sibling,a!==null){a.return=i.return,i=a;break}i=i.return}a=i}us(t,e,o.children,n),e=e.child}return e;case 9:return o=e.type,r=e.pendingProps.children,pb(e,n),o=bd(o),r=r(o),e.flags|=1,us(t,e,r,n),e.child;case 14:return r=e.type,o=lc(r,e.pendingProps),o=lc(r.type,o),p6(t,e,r,o,n);case 15:return Z8(t,e,e.type,e.pendingProps,n);case 17:return r=e.type,o=e.pendingProps,o=e.elementType===r?o:lc(r,o),yE(t,e),e.tag=1,js(r)?(t=!0,RE(e)):t=!1,pb(e,n),$8(e,r,o),eB(e,r,o,n),rB(null,e,r,!0,t,n);case 19:return rX(t,e,n);case 22:return J8(t,e,n)}throw Error(st(156,e.tag))};function bX(t,e){return G6(t,e)}function dye(t,e,n,r){this.tag=t,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function vd(t,e,n,r){return new dye(t,e,n,r)}function e_(t){return t=t.prototype,!(!t||!t.isReactComponent)}function cye(t){if(typeof t=="function")return e_(t)?1:0;if(t!=null){if(t=t.$$typeof,t===bB)return 11;if(t===SB)return 14}return 2}function yg(t,e){var n=t.alternate;return n===null?(n=vd(t.tag,e,t.key,t.mode),n.elementType=t.elementType,n.type=t.type,n.stateNode=t.stateNode,n.alternate=t,t.alternate=n):(n.pendingProps=e,n.type=t.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=t.flags&14680064,n.childLanes=t.childLanes,n.lanes=t.lanes,n.child=t.child,n.memoizedProps=t.memoizedProps,n.memoizedState=t.memoizedState,n.updateQueue=t.updateQueue,e=t.dependencies,n.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},n.sibling=t.sibling,n.index=t.index,n.ref=t.ref,n}function wE(t,e,n,r,o,a){var i=2;if(r=t,typeof t=="function")e_(t)&&(i=1);else if(typeof t=="string")i=5;else e:switch(t){case Qy:return af(n.children,o,a,e);case yB:i=8,o|=8;break;case F0:return t=vd(12,n,e,o|2),t.elementType=F0,t.lanes=a,t;case P0:return t=vd(13,n,e,o),t.elementType=P0,t.lanes=a,t;case C0:return t=vd(19,n,e,o),t.elementType=C0,t.lanes=a,t;case x6:return nM(n,o,a,e);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case N6:i=10;break e;case I6:i=9;break e;case bB:i=11;break e;case SB:i=14;break e;case ag:i=16,r=null;break e}throw Error(st(130,t==null?t:typeof t,""))}return e=vd(i,n,e,o),e.elementType=t,e.type=r,e.lanes=a,e}function af(t,e,n,r){return t=vd(7,t,r,e),t.lanes=n,t}function nM(t,e,n,r){return t=vd(22,t,r,e),t.elementType=x6,t.lanes=n,t.stateNode={isHidden:!1},t}function w0(t,e,n){return t=vd(6,t,null,e),t.lanes=n,t}function T0(t,e,n){return e=vd(4,t.children!==null?t.children:[],t.key,e),e.lanes=n,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}function uye(t,e,n,r,o){this.tag=e,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=a0(0),this.expirationTimes=a0(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=a0(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function t_(t,e,n,r,o,a,i,s,l){return t=new uye(t,e,n,s,l),e===1?(e=1,a===!0&&(e|=8)):e=0,a=vd(3,null,null,e),t.current=a,a.stateNode=t,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},BB(a),t}function pye(t,e,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Xy,key:r==null?null:""+r,children:t,containerInfo:e,implementation:n}}function SX(t){if(!t)return Sg;t=t._reactInternals;e:{if(mf(t)!==t||t.tag!==1)throw Error(st(170));var e=t;do{switch(e.tag){case 3:e=e.stateNode.context;break e;case 1:if(js(e.type)){e=e.stateNode.__reactInternalMemoizedMergedChildContext;break e}}e=e.return}while(e!==null);throw Error(st(171))}if(t.tag===1){var n=t.type;if(js(n))return S8(t,n,e)}return e}function wX(t,e,n,r,o,a,i,s,l){return t=t_(n,r,!0,t,o,a,i,s,l),t.context=SX(null),n=t.current,r=ps(),o=vg(n),a=bp(r,o),a.callback=e??null,hg(n,a,o),t.current.lanes=o,lF(t,o,r),Gs(t,r),t}function rM(t,e,n,r){var o=e.current,a=ps(),i=vg(o);return n=SX(n),e.context===null?e.context=n:e.pendingContext=n,e=bp(a,i),e.payload={element:t},r=r===void 0?null:r,r!==null&&(e.callback=r),t=hg(o,e,i),t!==null&&(pc(t,o,i,a),hE(t,o,i)),i}function jE(t){return t=t.current,t.child?(t.child.tag===5,t.child.stateNode):null}function F6(t,e){if(t=t.memoizedState,t!==null&&t.dehydrated!==null){var n=t.retryLane;t.retryLane=n!==0&&n<e?n:e}}function n_(t,e){F6(t,e),(t=t.alternate)&&F6(t,e)}function mye(){return null}var TX=typeof reportError=="function"?reportError:function(t){console.error(t)};function r_(t){this._internalRoot=t}oM.prototype.render=r_.prototype.render=function(t){var e=this._internalRoot;if(e===null)throw Error(st(409));rM(t,e,null,null)};oM.prototype.unmount=r_.prototype.unmount=function(){var t=this._internalRoot;if(t!==null){this._internalRoot=null;var e=t.containerInfo;uf(function(){rM(null,t,null,null)}),e[wp]=null}};function oM(t){this._internalRoot=t}oM.prototype.unstable_scheduleHydration=function(t){if(t){var e=J6();t={blockedOn:null,target:t,priority:e};for(var n=0;n<sg.length&&e!==0&&e<sg[n].priority;n++);sg.splice(n,0,t),n===0&&t8(t)}};function o_(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)}function aM(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11&&(t.nodeType!==8||t.nodeValue!==" react-mount-point-unstable "))}function P6(){}function gye(t,e,n,r,o){if(o){if(typeof r=="function"){var a=r;r=function(){var c=jE(i);a.call(c)}}var i=wX(e,r,t,0,null,!1,!1,"",P6);return t._reactRootContainer=i,t[wp]=i.current,Jk(t.nodeType===8?t.parentNode:t),uf(),i}for(;o=t.lastChild;)t.removeChild(o);if(typeof r=="function"){var s=r;r=function(){var c=jE(l);s.call(c)}}var l=t_(t,0,!1,null,null,!1,!1,"",P6);return t._reactRootContainer=l,t[wp]=l.current,Jk(t.nodeType===8?t.parentNode:t),uf(function(){rM(e,l,n,r)}),l}function iM(t,e,n,r,o){var a=n._reactRootContainer;if(a){var i=a;if(typeof o=="function"){var s=o;o=function(){var l=jE(i);s.call(l)}}rM(e,i,t,o)}else i=gye(n,e,t,o,r);return jE(i)}Q6=function(t){switch(t.tag){case 3:var e=t.stateNode;if(e.current.memoizedState.isDehydrated){var n=Ak(e.pendingLanes);n!==0&&(kB(e,n|1),Gs(e,ua()),(dr&6)===0&&(Sb=ua()+500,kg()))}break;case 13:uf(function(){var r=Tp(t,1);if(r!==null){var o=ps();pc(r,t,1,o)}}),n_(t,1)}};FB=function(t){if(t.tag===13){var e=Tp(t,134217728);if(e!==null){var n=ps();pc(e,t,134217728,n)}n_(t,134217728)}};Z6=function(t){if(t.tag===13){var e=vg(t),n=Tp(t,e);if(n!==null){var r=ps();pc(n,t,e,r)}n_(t,e)}};J6=function(){return Ar};e8=function(t,e){var n=Ar;try{return Ar=t,e()}finally{Ar=n}};L0=function(t,e,n){switch(e){case"input":if(x0(t,n),e=n.name,n.type==="radio"&&e!=null){for(n=t;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+e)+'][type="radio"]'),e=0;e<n.length;e++){var r=n[e];if(r!==t&&r.form===t.form){var o=XE(r);if(!o)throw Error(st(90));M6(r),x0(r,o)}}}break;case"textarea":D6(t,n);break;case"select":e=n.value,e!=null&&lb(t,!!n.multiple,e,!1)}};H6=QB;V6=uf;var hye={usingClientEntryPoint:!1,Events:[cF,tb,XE,B6,_6,QB]},Ek={findFiberByHostInstance:tf,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},fye={bundleType:Ek.bundleType,version:Ek.version,rendererPackageName:Ek.rendererPackageName,rendererConfig:Ek.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Fp.ReactCurrentDispatcher,findHostInstanceByFiber:function(t){return t=W6(t),t===null?null:t.stateNode},findFiberByHostInstance:Ek.findFiberByHostInstance||mye,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(Mk=__REACT_DEVTOOLS_GLOBAL_HOOK__,!Mk.isDisabled&&Mk.supportsFiber))try{GE=Mk.inject(fye),uu=Mk}catch{}var Mk;xl.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=hye;xl.createPortal=function(t,e){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!o_(e))throw Error(st(200));return pye(t,e,null,n)};xl.createRoot=function(t,e){if(!o_(t))throw Error(st(299));var n=!1,r="",o=TX;return e!=null&&(e.unstable_strictMode===!0&&(n=!0),e.identifierPrefix!==void 0&&(r=e.identifierPrefix),e.onRecoverableError!==void 0&&(o=e.onRecoverableError)),e=t_(t,1,!1,null,null,n,!1,r,o),t[wp]=e.current,Jk(t.nodeType===8?t.parentNode:t),new r_(e)};xl.findDOMNode=function(t){if(t==null)return null;if(t.nodeType===1)return t;var e=t._reactInternals;if(e===void 0)throw typeof t.render=="function"?Error(st(188)):(t=Object.keys(t).join(","),Error(st(268,t)));return t=W6(e),t=t===null?null:t.stateNode,t};xl.flushSync=function(t){return uf(t)};xl.hydrate=function(t,e,n){if(!aM(e))throw Error(st(200));return iM(null,t,e,!0,n)};xl.hydrateRoot=function(t,e,n){if(!o_(t))throw Error(st(405));var r=n!=null&&n.hydratedSources||null,o=!1,a="",i=TX;if(n!=null&&(n.unstable_strictMode===!0&&(o=!0),n.identifierPrefix!==void 0&&(a=n.identifierPrefix),n.onRecoverableError!==void 0&&(i=n.onRecoverableError)),e=wX(e,null,t,1,n??null,o,!1,a,i),t[wp]=e.current,Jk(t),r)for(t=0;t<r.length;t++)n=r[t],o=n._getVersion,o=o(n._source),e.mutableSourceEagerHydrationData==null?e.mutableSourceEagerHydrationData=[n,o]:e.mutableSourceEagerHydrationData.push(n,o);return new oM(e)};xl.render=function(t,e,n){if(!aM(e))throw Error(st(200));return iM(null,t,e,!1,n)};xl.unmountComponentAtNode=function(t){if(!aM(t))throw Error(st(40));return t._reactRootContainer?(uf(function(){iM(null,null,t,!1,function(){t._reactRootContainer=null,t[wp]=null})}),!0):!1};xl.unstable_batchedUpdates=QB;xl.unstable_renderSubtreeIntoContainer=function(t,e,n,r){if(!aM(n))throw Error(st(200));if(t==null||t._reactInternals===void 0)throw Error(st(38));return iM(t,e,n,!1,r)};xl.version="18.3.1-next-f1338f8080-20240426"});var pF=Mc((HYe,PX)=>{"use strict";function FX(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(FX)}catch(t){console.error(t)}}FX(),PX.exports=kX()});var i_=Mc(a_=>{"use strict";var CX=pF();a_.createRoot=CX.createRoot,a_.hydrateRoot=CX.hydrateRoot;var VYe});var sM,Fg,lM=U(()=>{sM=require("obsidian");zn();eN();ot();Wu();Ud();Fg=class t{constructor(e,n=null){this.app=e;this.readCache=n;this.QUEUE_BATCH_SIZE=$t.contentProvider.queueBatchSize;this.PARALLEL_LIMIT=$t.contentProvider.parallelLimit;this.queue=[];this.isProcessing=!1;this.abortController=null;this.currentBatchSettings=null;this.processingFiles=new Set;this.queuedFiles=new Set;this.dirtyFilesDuringProcessing=new Set;this.stopped=!1;this.processingSession=0;this.activeBatchPromise=null;this.retryTimer=null;this.retryTimerWindow=null;this.retryState=new Map}static{this.RETRY_UNSCHEDULED_AT=Number.MAX_SAFE_INTEGER}static{this.RETRY_INITIAL_DELAY_MS=$t.contentProvider.retry.initialDelayMs}static{this.RETRY_MAX_DELAY_MS=$t.contentProvider.retry.maxDelayMs}static{this.RETRY_MAX_ATTEMPTS=$t.contentProvider.retry.maxAttempts}static{this.WAIT_FOR_IDLE_RETRY_POLL_MS=25}async yieldToEventLoop(){await new Promise(e=>window.setTimeout(e,0))}readFileContent(e){return this.readCache?this.readCache.readFile(e):this.app.vault.cachedRead(e)}runProcessNextBatch(){Q(()=>{let e=this.processNextBatch();return this.activeBatchPromise=e,e.finally(()=>{this.activeBatchPromise===e&&(this.activeBatchPromise=null)})})}clearRetryTimer(){this.retryTimer!==null&&((this.retryTimerWindow??activeWindow).clearTimeout(this.retryTimer),this.retryTimer=null,this.retryTimerWindow=null)}clearRetryState(){this.clearRetryTimer(),this.retryState.clear()}hasScheduledRetryWork(){for(let e of this.retryState.values())if(e.nextRetryAt!==t.RETRY_UNSCHEDULED_AT)return!0;return!1}clearRetryForPath(e){this.retryState.delete(e)&&this.scheduleRetryTimer(this.processingSession)}scheduleRetry(e,n){if(this.stopped||this.processingSession!==n)return;let r=this.retryState.get(e),o=r?r.attempts+1:1;if(o>t.RETRY_MAX_ATTEMPTS){r&&(console.error("Content provider dropped file after retry exhaustion",{provider:this.getContentType(),path:e,attempts:o}),this.retryState.delete(e),this.scheduleRetryTimer(n));return}let a=Math.min(t.RETRY_INITIAL_DELAY_MS*2**(o-1),t.RETRY_MAX_DELAY_MS);this.retryState.set(e,{attempts:o,nextRetryAt:Date.now()+a}),this.scheduleRetryTimer(n)}scheduleRetryTimer(e){if(this.stopped||this.processingSession!==e||this.retryState.size===0){this.clearRetryTimer();return}let n=t.RETRY_UNSCHEDULED_AT;for(let a of this.retryState.values())a.nextRetryAt!==t.RETRY_UNSCHEDULED_AT&&a.nextRetryAt<n&&(n=a.nextRetryAt);if(n===t.RETRY_UNSCHEDULED_AT){this.clearRetryTimer();return}this.clearRetryTimer();let r=Math.max(0,n-Date.now()),o=activeWindow;this.retryTimerWindow=o,this.retryTimer=o.setTimeout(()=>{this.retryTimer=null,this.retryTimerWindow=null,this.flushRetries(e)},r)}flushRetries(e){if(this.stopped||this.processingSession!==e||this.retryState.size===0){this.clearRetryState();return}let n=Date.now(),r=[];for(let[o,a]of this.retryState){if(a.nextRetryAt>n)continue;let i=this.app.vault.getAbstractFileByPath(o);i instanceof sM.TFile?(r.push(i),this.retryState.set(o,{...a,nextRetryAt:t.RETRY_UNSCHEDULED_AT})):this.retryState.delete(o)}r.length>0&&this.queueFiles(r),this.scheduleRetryTimer(e)}onProcessingIdle(){}queueFiles(e){if(this.stopped)return;let n=!1;for(let r of e){let o=r.path;if(this.processingFiles.has(o)){this.dirtyFilesDuringProcessing.add(o);continue}this.queuedFiles.has(o)||(this.queue.push(o),this.queuedFiles.add(o),n=!0)}n&&!this.isProcessing&&this.currentBatchSettings&&this.runProcessNextBatch()}startProcessing(e){this.stopped=!1,this.currentBatchSettings=e,!this.stopped&&!this.isProcessing&&this.queue.length>0&&this.runProcessNextBatch()}onSettingsChanged(e){this.currentBatchSettings=e}hasPendingWork(){return this.isProcessing||this.activeBatchPromise!==null||this.queue.length>0||this.retryTimer!==null||this.hasScheduledRetryWork()}async waitForIdle(){for(;this.hasPendingWork();){let e=this.activeBatchPromise;if(e)try{await e}catch{}else this.retryTimer!==null||this.hasScheduledRetryWork()?await new Promise(n=>window.setTimeout(n,t.WAIT_FOR_IDLE_RETRY_POLL_MS)):await this.yieldToEventLoop()}}async processNextBatch(){if(this.stopped||this.isProcessing||this.queue.length===0||!this.currentBatchSettings)return;this.isProcessing=!0;let e=this.processingSession;this.abortController=new AbortController;let n=this.abortController.signal,r=this.currentBatchSettings,o=this.getContentType(),a=[];try{let i=kt(),s=this.queue.splice(0,this.QUEUE_BATCH_SIZE);s.forEach(p=>this.queuedFiles.delete(p));let l=[];for(let p of s){let m=this.app.vault.getAbstractFileByPath(p);if(!(m instanceof sM.TFile)){this.clearRetryForPath(p);continue}let g=m,f=g.path,h=i.getFile(f),b=this.needsProcessing(h,g,r);b||this.clearRetryForPath(f);let v=h?h[kh(o)]:0;l.push({job:{file:g,path:f},fileData:h,needsProcessing:b,expectedProviderMtime:v})}if(a=l.filter(p=>p.needsProcessing),a.length===0)return;a.forEach(({job:p})=>{this.processingFiles.add(p.path)});let c=[],u=[];for(let p=0;p<a.length&&!(this.stopped||n.aborted||this.processingSession!==e);p+=this.PARALLEL_LIMIT){let m=a.slice(p,p+this.PARALLEL_LIMIT);(await Promise.all(m.map(async({job:f,fileData:h,expectedProviderMtime:b})=>{try{let v=f.file.stat.mtime,y=await this.processFile(f,h,r);return{job:f,result:y,fileMtimeAtStart:v,expectedProviderMtime:b}}catch(v){return console.error(`Error processing ${f.file.path}:`,v),{job:f,result:{update:null,processed:!1},fileMtimeAtStart:f.file.stat.mtime,expectedProviderMtime:b}}}))).forEach(({job:f,result:h,fileMtimeAtStart:b,expectedProviderMtime:v})=>{let y=f.file.path;this.processingSession===e&&!this.stopped&&!n.aborted&&(h.processed?this.clearRetryForPath(y):this.scheduleRetry(y,e)),h.processed&&b!==v&&u.push({path:y,mtime:b,expectedPreviousMtime:v}),h.update&&c.push({...h.update,path:y})})}!(this.stopped||n.aborted||this.processingSession!==e)&&(c.length>0||u.length>0)&&(is()||await i.batchUpdateFileContentAndProviderProcessedMtimes({provider:o,contentUpdates:c,processedMtimeUpdates:u})),OK({provider:o,queued:s.length,active:a.length,contentUpdates:c.length,processedMtimeUpdates:u.length})}catch(i){i instanceof DOMException&&i.name==="AbortError"||console.error("Error processing batch:",i)}finally{let i=this.processingSession===e&&!this.stopped&&!n.aborted;if(this.processingSession===e&&a.forEach(({job:s})=>{this.processingFiles.delete(s.path)}),i){let s=[];for(let l of this.dirtyFilesDuringProcessing){let c=this.app.vault.getAbstractFileByPath(l);c instanceof sM.TFile&&s.push(c)}this.dirtyFilesDuringProcessing.clear(),s.length>0&&this.queueFiles(s)}else this.processingSession===e&&this.dirtyFilesDuringProcessing.clear();this.isProcessing=!1,i&&this.queue.length===0&&this.onProcessingIdle(),this.queue.length>0&&i&&this.runProcessNextBatch()}}stopProcessing(){this.processingSession+=1,this.stopped=!0,this.abortController&&(this.abortController.abort(),this.abortController=null),this.clearRetryState(),this.isProcessing=!1,this.queue=[],this.processingFiles.clear(),this.queuedFiles.clear(),this.dirtyFilesDuringProcessing.clear()}}});function IX(t){try{let e=new URL(t);return e.hash="",e.toString()}catch{return t}}function xX(t){return t.trim().toLowerCase().startsWith("http://")}function EX(t){let e=t.split(/[?#]/,1)[0],n=e.lastIndexOf(".");if(n===-1||n===e.length-1)return null;let r=e.slice(n+1);return r.length>0?r:null}function Sye(t){try{return xU(EX(new URL(t).pathname)??"")}catch{return!1}}function kb(t){let e=t.trim();if(e.length<8||e.slice(0,8).toLowerCase()!=="https://")return!1;try{return new URL(e).protocol==="https:"}catch{return!1}}function MX(t,e){if(!e.downloadExternalFeatureImages)return null;let n=IX(t.trim());if(Sye(n))return null;let r=AC(n);return r?{kind:"youtube",videoId:r}:{kind:"external",url:n}}function wye(t){let e=t.match(/!?\[\[(.*?)\]\]/);return e?e[1]:void 0}function RX(t){return t.split("|")[0].split(/[?#]/,1)[0].trim()}function DX(t){let e=t.trim();if(!e)return e;let r=/\s+(?:"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|\((?:[^)\\]|\\.)*\))\s*$/.exec(e);return r&&e.slice(0,r.index).trimEnd()||e}function s_(t){try{return decodeURIComponent(t)}catch{return t}}function AX(t){let e=EX(t);return e?e.length>0&&!mw(e)&&e.toLowerCase()!=="pdf":!1}function l_(t,e,n){let r=e.trim(),o=t.metadataCache.getFirstLinkpathDest(r,n.path);if(o instanceof mF.TFile&&(Ms(o)||Od(o)))return o;let a=(0,mF.normalizePath)(r),i=t.vault.getAbstractFileByPath(a);return i instanceof mF.TFile&&(Ms(i)||Od(i))?i:null}function Tye(t){return typeof t=="string"?[t]:Array.isArray(t)?t.filter(e=>typeof e=="string"):[]}function kye(t){let e=t.trim();if(!e)return null;let n=wye(e);if(n)return{kind:"wiki",target:n};let r=yye.exec(e);return r?.groups?.mdImage?{kind:"md",target:r.groups.mdImage}:{kind:"plain",target:e}}function Fye(t){let e=t.target.split("|")[0].trim();return t.kind==="md"&&(e=DX(e).trim()),kb(e)?IX(e):(e=s_(e),e.split(/[?#]/,1)[0].trim())}function Pye(t,e,n,r){let a=DX(e).trim();if(!a||xX(a))return null;if(kb(a))return MX(a,r);let i=s_(a),s=RX(i);if(!s||AX(s))return null;let l=l_(t,s,n);return l?{kind:"local",file:l}:null}function Cye(t,e,n,r){let o=e.groups;if(o?.wikiImage){let a=s_(o.wikiImage),i=RX(a);if(!i||AX(i))return null;let s=l_(t,i,n);return s?{kind:"local",file:s}:null}return o?.mdImage?Pye(t,o.mdImage,n,r):null}function d_(t){let e=t.frontmatter;if(e)for(let o of t.settings.featureImageProperties){let a=Tye(sl(e,o));for(let i of a){let s=kye(i);if(!s)continue;let l=Fye(s);if(!l||xX(l))continue;if(kb(l)){let u=MX(l,t.settings);if(u)return u;continue}let c=l_(t.app,l,t.file);if(c)return{kind:"local",file:c}}}if(t.content.length===0)return null;let n=bye();n.lastIndex=Math.min(Math.max(0,t.bodyStartIndex),t.content.length);let r;for(;(r=n.exec(t.content))!==null;){let o=Cye(t.app,r,t.file,t.settings);if(o)return o}return null}var mF,vye,NX,yye,bye,c_=U(()=>{mF=require("obsidian");Mr();Ot();OC();vye="!\\[\\[(?<wikiImage>(?:[^\\]]|\\](?!\\]))+)\\]\\]",NX="!\\[[^\\]]*\\]\\((?<mdImage>(?:https?:\\/\\/(?:[^)\\r\\n(]|\\([^()\\r\\n]*\\))+|[^)\\r\\n]+))\\)",yye=new RegExp(NX,"i"),bye=()=>new RegExp([vye,NX].join("|"),"ig")});function OX(t=500){let e=Number.isFinite(t)&&t>0?Math.floor(t):1,n=new Map;return(r,o,a)=>{if(!n.has(r)){for(n.set(r,!0);n.size>e;){let i=n.keys().next();if(i.done)break;n.delete(i.value)}if(a!==void 0){console.log(o,a);return}console.log(o)}}}function gF(t){let e=Number.isFinite(t)&&t>0?Math.floor(t):1,n=0,r=0,o=[];function a(){n=Math.max(0,n-1);let s=o[r];if(!s){r>0&&(o.splice(0,r),r=0);return}r+=1,n+=1,s(),r>50&&r>o.length/2&&(o.splice(0,r),r=0)}async function i(){return n<e?(n+=1,()=>a()):(await new Promise(s=>{o.push(s)}),()=>a())}return{acquire:i,getActiveCount:()=>n}}function LX(t){let e=Number.isFinite(t)&&t>0?Math.floor(t):1,n=0,r=0,o=[];function a(){for(;r<o.length;){let s=o[r];if(!s||n+s.weight>e)break;r+=1,n+=s.weight;let l=()=>{n=Math.max(0,n-s.weight),a()};s.resolve(l),r>50&&r>o.length/2&&(o.splice(0,r),r=0)}}async function i(s){let l=Number.isFinite(s)&&s>0?Math.floor(s):1,c=Math.min(l,e);return r===o.length&&n+c<=e?(n+=c,()=>{n=Math.max(0,n-c),a()}):await new Promise(u=>{o.push({weight:c,resolve:u}),a()})}return{acquire:i,getActiveWeight:()=>n}}var u_=U(()=>{});function Fb(t,e,n){if(e<0||e+n.length>t.length)return!1;for(let r=0;r<n.length;r++)if(t[e+r]!==n.charCodeAt(r))return!1;return!0}function GX(t){return t===32||t===9||t===10||t===13||t===12}function g_(t){return GX(t)||t===47||t===60||t===62||t===91||t===93||t===40||t===41||t===123||t===125}function hF(t,e,n){let r=e;for(;r<n&&GX(t[r]??0);)r++;return r}function m_(t){return t>=48&&t<=57}function qX(t){return Array.isArray(t)}function KX(t,e,n){let r=hF(t,e,n),o=0,a=!1;for(;r<n;){let l=t[r]??0;if(!m_(l))break;a=!0;let c=l-48;if(o=o*10+c,!Number.isSafeInteger(o))return null;r++}if(!a)return null;let i=hF(t,r,n),s=t[i];if(s!==void 0&&m_(s)){let l=i;for(;l<n&&m_(t[l]??0);)l++;return l=hF(t,l,n),t[l]===82,null}return s!==void 0&&!g_(s)||o<=0?null:o}function xye(t,e,n,r,o){let a=Math.min(e,t.length-2);for(let i=a;i>=n;i--)if(t[i]===r&&t[i+1]===o)return i;return null}function Eye(t,e,n,r,o){let a=Math.min(n,t.length-2);for(let i=Math.max(0,e);i<=a;i++)if(t[i]===r&&t[i+1]===o)return i;return null}function WX(t,e,n,r){let o=Math.min(n,t.length)-r.length;for(let a=Math.max(0,e);a<=o;a++)if(t[a]===r.charCodeAt(0)&&Fb(t,a,r))return a;return null}function h_(t){return!Number.isFinite(t)||t<=0?1:Math.floor(t)}function YX(t){if(typeof t!="number"||!Number.isFinite(t)||t<=0)return null;let e=Math.floor(t);return!Number.isSafeInteger(e)||e<=0?null:e}function Mye(t,e){let n=typeof e?.budgetBytes=="number"?h_(e.budgetBytes):null,r=0,o=0,a=0,i=0,s=!1,l=!1,c=!1,u=zX.length,p=VX.length,m=t.length;for(let g=0;g<m;g++){if(!s&&g+p<=m&&Fb(t,g,VX)&&(s=!0),!l&&Fb(t,g,p_)){let N=t[g+p_.length];if(N===void 0||g_(N)){let O=hF(t,g+p_.length,m);Fb(t,O,Nye)&&(l=!0)}}if(g+u>m||!Fb(t,g,zX))continue;let f=hF(t,g+u,m);if(!Fb(t,f,BX))continue;let h=t[f+BX.length];if(h!==void 0&&!g_(h))continue;let b=Math.max(0,g-Iye),v=xye(t,g,b,60,60);if(v===null)continue;a++;let y=Math.min(m-2,g+UX),S=Eye(t,g,y,62,62),w=S!==null?S+2:Math.min(m,g+UX),k=WX(t,v,w,_X),F=WX(t,v,w,HX),P=k!==null?KX(t,k+_X.length,w):null,T=F!==null?KX(t,F+HX.length,w):null;if(P===null||T===null)continue;i++;let I=P*T;if(!Number.isSafeInteger(I)||I<=0){c=!0;break}if(r+=I,!Number.isSafeInteger(r)){c=!0;break}if(I>o&&(o=I),n!==null&&o*4>n)break}return{sumImagePixels:r,maxImagePixels:o,imageDictHits:a,parsedDimsHits:i,hasSoftMask:s,hasTransparencyGroup:l,uncertain:c}}function Rye(t){return t.startsWith("paint")?t.includes("InlineImage")?"inline":t.includes("Mask")?"mask":t.includes("Image")||t.includes("Jpeg")?"xObject":null:null}function Dye(t){return t.toLowerCase().includes("group")}function Aye(t){let e=new Map;for(let[n,r]of Object.entries(t)){if(typeof r!="number"||!Number.isFinite(r))continue;let o=Rye(n);o&&(e.has(r)||e.set(r,{name:n,kind:o}))}return e}function Oye(t){let e=new Set;for(let[n,r]of Object.entries(t))typeof r!="number"||!Number.isFinite(r)||Dye(n)&&e.add(r);return e}function Lye(t){if(!mt(t))return!1;let e=t.fnArray,n=t.argsArray;return Array.isArray(e)&&(n===void 0||Array.isArray(n))}function jX(t){if(typeof t!="number"||!Number.isFinite(t)||t<=0)return null;let e=Math.ceil(t);return!Number.isSafeInteger(e)||e<=0?null:e}function zye(t){let e=qX(t)?t[0]:t;if(!mt(e))return null;let n=jX(e.width??e.w),r=jX(e.height??e.h);if(n===null||r===null)return null;let o=n*r;return!Number.isSafeInteger(o)||o<=0?null:o}function Bye(t){return qX(t)&&typeof t[0]=="string"&&t[0].length>0?t[0]:typeof t=="string"&&t.length>0?t:null}function _ye(t){if(!(!mt(t)||typeof t.cleanup!="function"))try{Reflect.apply(t.cleanup,t,[])}catch{}}async function Hye(t,e){let n=Number.isFinite(e)&&e>0?Math.floor(e):1,r=activeWindow;return await new Promise(o=>{let a=!1,i=r.setTimeout(()=>{a||(a=!0,o({value:null,timedOut:!0,rejected:!1}))},n);t.then(s=>{a||(a=!0,r.clearTimeout(i),o({value:s,timedOut:!1,rejected:!1}))},()=>{a||(a=!0,r.clearTimeout(i),o({value:null,timedOut:!1,rejected:!0}))})})}async function Vye(t,e,n){let r=De(void 0),o=k=>({paintOps:0,xObjectPaintOps:0,inlinePaintOps:0,maskPaintOps:0,transparencyGroupOps:0,uniqueXObjectIds:null,maxInlineImagePixels:0,operatorListLength:0,timedOut:!1,opBreakdown:r,uncertain:!0,...k??{}});if(!mt(t)||!mt(t.OPS))return o();let a=Aye(t.OPS);if(a.size===0)return o();let i=Oye(t.OPS);if(!mt(e)||typeof e.getOperatorList!="function")return o();let s;try{s=Reflect.apply(e.getOperatorList,e,[])}catch{return o()}if(!eh(s))return o();let l=Promise.resolve(s);l.catch(()=>{});let c=await Hye(l,n.timeoutMs);if(c.timedOut)return _ye(e),o({timedOut:!0});if(c.rejected||c.value===null||!Lye(c.value))return o();let u=c.value,p=u.fnArray,m=Array.isArray(u.argsArray)?u.argsArray:null,g=m?Math.min(p.length,m.length):p.length,f=0,h=0,b=0,v=0,y=0,S=0,w=new Set;for(let k=0;k<g;k++){let F=p[k];if(typeof F!="number"||!Number.isFinite(F))return o({paintOps:f,xObjectPaintOps:h,inlinePaintOps:b,maskPaintOps:v,transparencyGroupOps:y,uniqueXObjectIds:w.size>0?w.size:null,maxInlineImagePixels:S,operatorListLength:k});i.has(F)&&y++;let P=a.get(F);if(!P)continue;f++,r[P.name]=(r[P.name]??0)+1;let T=m?m[k]:void 0;if(P.kind==="inline"){b++;let N=zye(T);N!==null&&N>S&&(S=N);continue}P.kind==="mask"?v++:h++;let I=Bye(T);I&&w.add(I)}return{paintOps:f,xObjectPaintOps:h,inlinePaintOps:b,maskPaintOps:v,transparencyGroupOps:y,uniqueXObjectIds:w.size>0?w.size:null,maxInlineImagePixels:S,operatorListLength:g,timedOut:!1,opBreakdown:r,uncertain:!1}}function Uye(t,e){if(!mt(t)||typeof t.getViewport!="function")return{pagePixels:0,uncertain:!0};let n=e.scale;if(typeof n!="number"||!Number.isFinite(n)||n<=0)return{pagePixels:0,uncertain:!0};let r;try{r=Reflect.apply(t.getViewport,t,[{scale:n}])}catch{return{pagePixels:0,uncertain:!0}}if(!mt(r))return{pagePixels:0,uncertain:!0};let o=r.width,a=r.height;if(typeof o!="number"||typeof a!="number"||!Number.isFinite(o)||!Number.isFinite(a)||o<=0||a<=0)return{pagePixels:0,uncertain:!0};let i=Math.ceil(o)*Math.ceil(a);return!Number.isSafeInteger(i)||i<=0?{pagePixels:0,uncertain:!0}:{pagePixels:i,uncertain:!1}}function Kye(t){let e=Number.isFinite(t.pagePixels)&&t.pagePixels>0?Math.floor(t.pagePixels):0,n=Number.isFinite(t.maxImagePixels)&&t.maxImagePixels>0?Math.floor(t.maxImagePixels):0,r=Number.isFinite(t.maxInlineImagePixels)&&t.maxInlineImagePixels>0?Math.floor(t.maxInlineImagePixels):0,o=Number.isFinite(t.paintOps)&&t.paintOps>0?Math.floor(t.paintOps):0,a=Math.max(e,n,r);typeof t.maxDecodedImagePixels=="number"&&t.maxDecodedImagePixels>0&&(a=Math.min(a,t.maxDecodedImagePixels));let i=o*a*4;return t.hasTransparencyGroup&&(i*=t.multipliers.transparencyGroup),t.hasSoftMask&&(i*=t.multipliers.softMask),i}function $X(t){let e=h_(t.budgetBytes),n=YX(t.maxDecodedImagePixels),r=Mye(t.bytes,{budgetBytes:e});if(r.uncertain)return{decision:"skip",reason:"stageA.uncertain",metrics:{budgetBytes:e,scan:r}};let i=(typeof n=="number"?Math.min(r.maxImagePixels,n):r.maxImagePixels)*4;return!Number.isFinite(i)||i>e?{decision:"skip",reason:"stageA.maxImageOverBudget",metrics:{budgetBytes:e,maxDecodedImagePixels:n??void 0,scan:r,stageAEstimatedBytes:i}}:{decision:"render",reason:"stageA.allow",metrics:{budgetBytes:e,maxDecodedImagePixels:n??void 0,scan:r,stageAEstimatedBytes:i}}}async function XX(t){let e=h_(t.budgetBytes),n=YX(t.maxDecodedImagePixels),r=t.scan;if(r.uncertain)return{decision:"skip",reason:"stageB.scanUncertain",metrics:{budgetBytes:e,scan:r}};let o=await Vye(t.pdfjs,t.page,{timeoutMs:t.timeoutMs});if(o.uncertain)return{decision:"skip",reason:o.timedOut?"stageB.operatorListTimeout":"stageB.operatorListUncertain",metrics:{budgetBytes:e,scan:r,operators:o}};let{pagePixels:a,uncertain:i}=Uye(t.page,{scale:t.viewportScale});if(i)return{decision:"skip",reason:"stageB.viewportUncertain",metrics:{budgetBytes:e,scan:r,operators:o}};let l=(o.uniqueXObjectIds!==null?o.uniqueXObjectIds:o.xObjectPaintOps+o.maskPaintOps)+o.inlinePaintOps,c=r.hasSoftMask||o.maskPaintOps>0,u=r.hasTransparencyGroup||o.transparencyGroupOps>0,p=Kye({pagePixels:a,paintOps:l,maxImagePixels:r.maxImagePixels,maxInlineImagePixels:o.maxInlineImagePixels,hasSoftMask:c,hasTransparencyGroup:u,maxDecodedImagePixels:n,multipliers:t.multipliers});return Number.isFinite(p)?p>e?{decision:"skip",reason:"stageB.compositeOverBudget",metrics:{budgetBytes:e,maxDecodedImagePixels:n??void 0,scan:r,operators:o,pagePixels:a,estimatedBytes:p}}:{decision:"render",reason:"stageB.allow",metrics:{budgetBytes:e,maxDecodedImagePixels:n??void 0,scan:r,operators:o,pagePixels:a,estimatedBytes:p}}:{decision:"skip",reason:"stageB.estimateInvalid",metrics:{budgetBytes:e,maxDecodedImagePixels:n??void 0,scan:r,operators:o,pagePixels:a,estimatedBytes:p}}}var zX,BX,_X,HX,VX,p_,Nye,Iye,UX,QX=U(()=>{ot();Ot();Zr();zX="/Subtype",BX="/Image",_X="/Width",HX="/Height",VX="/SMask",p_="/S",Nye="/Transparency",Iye=4096,UX=16384});function $ye(t){if(!HC())return null;let e=performance.now();return{path:t,startedMs:e,lastStageMs:e,stageTimings:{},emitted:!1}}function gc(t,e){if(!t)return;let n=performance.now();t.stageTimings[e]=Math.round(n-t.lastStageMs),t.lastStageMs=n}function El(t,e){!t||t.emitted||(t.emitted=!0,AK("PDF thumbnail trace",{path:t.path,elapsedMs:Math.round(performance.now()-t.startedMs),stageTimings:t.stageTimings,...e}))}function b_(){dM!==null&&(window.clearTimeout(dM),dM=null)}function Xye(t){if(!mt(t))return!1;let e=t.getViewport,n=t.render;return typeof e=="function"&&typeof n=="function"}function cM(){b_(),Pb!==null&&(y_.getActiveCount()>0||(dM=window.setTimeout(()=>{if(y_.getActiveCount()>0){cM();return}S_()},Wye)))}async function S_(){b_();let t=Pb;if(Pb=null,v_=null,t!==null&&eQ(t,"destroy"))try{let e=t.destroy();eh(e)&&await e}catch{}}function Qye(t){return mt(t)?eh(t.promise):!1}function Zye(t){return mt(t)?typeof t.getDocument=="function":!1}function Jye(t){return mt(t)?typeof t.getPage=="function":!1}function ebe(t){if(!mt(t))return null;let e=t.VerbosityLevel;if(mt(e)){let n=e.ERRORS;if(typeof n=="number")return n}return 0}function tbe(t){return typeof t=="object"&&t!==null||typeof t=="function"}function eQ(t,e){return tbe(t)?typeof t[e]=="function":!1}function nbe(t){return typeof t=="function"}function rbe(t,e){if(!mt(t))return null;let n=t.PDFWorker,r=typeof e=="number"?{verbosity:e}:{};if(eQ(n,"create"))try{let o=n.create(r);return mt(o)?o:null}catch{return null}if(nbe(n))try{let o=new n(r);return mt(o)?o:null}catch{return null}return null}async function obe(t,e){if(Pb){if(v_===e)return cM(),Pb;await S_()}let n=rbe(t,e);return n?(Pb=n,v_=e,cM(),n):null}function abe(t){let{baseWidth:e,baseHeight:n,maxWidth:r,maxHeight:o}=t;if(e<=0||n<=0||r<=0||o<=0)return 1;let a=r/e,i=o/n,s=Math.min(a,i);return Math.min(1,s)}function JX(t,e,n){return new Promise(r=>{t.toBlob(o=>r(o??null),e,typeof n=="number"?n:void 0)})}async function tQ(t,e,n){if(e.extension.toLowerCase()!=="pdf")return null;let r=$ye(e.path);b_();let o=await y_.acquire();gc(r,"renderSlotWait");let a=a5(e.path),i=null,s=null,l=null,c=null;try{if(Pg.Platform.isMobile){let T;try{T=await t.vault.adapter.readBinary(e.path),gc(r,"readBinary")}catch(N){return c={scan:{sumImagePixels:0,maxImagePixels:0,imageDictHits:0,parsedDimsHits:0,hasSoftMask:!1,hasTransparencyGroup:!1,uncertain:!0},budgetBytes:f_},El(r,{result:"skipped",skipReason:"stageA.readBinaryFailed",preflight:c,error:N}),null}let I=$X({bytes:new Uint8Array(T),budgetBytes:f_,maxDecodedImagePixels:ZX});if(gc(r,"preflightStageA"),l=I.metrics.scan,c={stage:"A",scan:I.metrics.scan,budgetBytes:I.metrics.budgetBytes,estimatedBytes:I.metrics.stageAEstimatedBytes??null},I.decision==="skip")return El(r,{result:"skipped",skipReason:I.reason,preflight:c}),null}let u=await(0,Pg.loadPdfJs)();gc(r,"loadPdfJs");let p=ebe(u),m=await obe(u,p);if(gc(r,"worker"),!Zye(u))return El(r,{result:"failed",stage:"pdfjs.invalidLibrary"}),null;let g=t.vault.getResourcePath(e),f={disableAutoFetch:!0,disableStream:!0,maxImageSize:Pg.Platform.isMobile?$t.thumbnails.featureImage.maxFallbackPixels.mobile:$t.thumbnails.featureImage.maxFallbackPixels.desktop,...typeof p=="number"?{verbosity:p}:{},...m?{worker:m}:{}};try{let T=u.getDocument({url:g,...f});if(!Qye(T))return El(r,{result:"failed",stage:"pdfjs.invalidLoadingTask"}),null;let I=await T.promise;if(gc(r,"loadDocument"),!Jye(I))return El(r,{result:"failed",stage:"pdfjs.invalidDocument"}),null;i=I}catch(T){return El(r,{result:"failed",stage:"pdfjs.loadDocument",error:T}),null}let h=await i.getPage(1);if(gc(r,"getPage"),!Xye(h))return El(r,{result:"failed",stage:"pdfjs.invalidPage"}),null;s=h;let b=h.getViewport({scale:1}),v=abe({baseWidth:b.width,baseHeight:b.height,maxWidth:n.maxWidth,maxHeight:n.maxHeight});if(Pg.Platform.isMobile&&l){let T=await XX({pdfjs:u,page:h,scan:l,budgetBytes:f_,timeoutMs:qye,viewportScale:v,maxDecodedImagePixels:ZX,multipliers:Yye});if(gc(r,"preflightStageB"),c={stage:"B",scan:T.metrics.scan,budgetBytes:T.metrics.budgetBytes,paintOps:T.metrics.operators?.paintOps??null,xObjectPaintOps:T.metrics.operators?.xObjectPaintOps??null,inlinePaintOps:T.metrics.operators?.inlinePaintOps??null,maskPaintOps:T.metrics.operators?.maskPaintOps??null,transparencyGroupOps:T.metrics.operators?.transparencyGroupOps??null,uniqueXObjectIds:T.metrics.operators?.uniqueXObjectIds??null,maxInlineImagePixels:T.metrics.operators?.maxInlineImagePixels??null,operatorListLength:T.metrics.operators?.operatorListLength??null,operatorListTimedOut:T.metrics.operators?.timedOut??null,pagePixels:T.metrics.pagePixels??null,estimatedBytes:T.metrics.estimatedBytes??null},T.decision==="skip")return El(r,{result:"skipped",skipReason:T.reason,preflight:c}),null}let y=h.getViewport({scale:v}),S=createEl("canvas");S.width=Math.max(1,Math.ceil(y.width)),S.height=Math.max(1,Math.ceil(y.height));let w=S.getContext("2d");if(!w)return El(r,{result:"failed",stage:"canvas.context"}),null;await h.render({canvasContext:w,canvas:S,viewport:y}).promise,gc(r,"renderPage");let F=await JX(S,n.mimeType,n.quality);if(gc(r,"canvasToBlob"),F)return El(r,{result:"rendered",mimeType:F.type,size:F.size,width:S.width,height:S.height,...c?{preflight:c}:{}}),F;let P=await JX(S,"image/png");return gc(r,"canvasToPngBlob"),El(r,P?{result:"rendered",mimeType:P.type,size:P.size,...c?{preflight:c}:{}}:{result:"failed",stage:"canvasToBlob"}),P}catch(u){return El(r,{result:"failed",stage:"exception",error:u}),null}finally{El(r,{result:"finishedWithoutResult"}),i5(a);try{s?.cleanup?.()}catch{}try{let u=i?.destroy?.();eh(u)&&await u}catch{}Pg.Platform.isMobile?(await S_(),o()):(o(),cM())}}var Pg,Wye,jye,Gye,Pb,v_,dM,y_,f_,qye,Yye,ZX,nQ=U(()=>{Pg=require("obsidian");Ud();ot();Zr();u_();jz();QX();Wu();Wye=$t.thumbnails.pdf.workerIdleTimeoutMs,jye=$t.thumbnails.pdf.maxParallelRenders,Gye=$t.thumbnails.pdf.maxParallelRendersMobile,Pb=null,v_=null,dM=null,y_=gF(Pg.Platform.isMobile?Gye:jye),f_=$t.thumbnails.pdf.preflight.mobileBudgetBytes,qye=$t.thumbnails.pdf.preflight.operatorListTimeoutMs,Yye=$t.thumbnails.pdf.preflight.multipliers,ZX=$t.thumbnails.featureImage.maxFallbackPixels.mobile});function uM(t){let e=t.trim().toLowerCase();switch(e){case"image/jpg":case"image/pjpeg":return"image/jpeg";case"image/x-webp":return"image/webp";case"image/x-png":case"image/apng":return"image/png";case"image/x-ms-bmp":case"image/x-bmp":return"image/bmp";case"image/svg":return"image/svg+xml";default:return e}}function T_(t){let e=new Uint8Array(t);if(e.length>=16){let n=new DataView(t),r=0,o=64*1024,a=16;for(let i=0;i<a&&r+8<=e.length&&r<o;i+=1){let s=n.getUint32(r,!1),l=8,c=s;if(s===0)c=e.length-r;else if(s===1){if(r+16>e.length||typeof n.getBigUint64!="function")break;let p=n.getBigUint64(r+8,!1);if(p>BigInt(e.length-r)||p<BigInt(24))break;c=Number(p),l=16}if(c<l)break;let u=r+c;if(u<=r||u>e.length)break;if(wr(e,r+4,"ftyp")){if(c<l+8)break;let p=w_(e,r+l,r+l+4),m=new Set([p]);for(let g=r+l+8;g+4<=r+c;g+=4)m.add(w_(e,g,g+4));if(m.has("avif")||m.has("avis"))return"image/avif";if(m.has("heic")||m.has("heix")||m.has("hevc")||m.has("hevx"))return"image/heic";if(m.has("mif1")||m.has("msf1"))return"image/heif";break}r=u}}if(e.length<2)return null;switch(e[0]){case 137:{let n=[137,80,78,71,13,10,26,10];return e.length>=8&&aQ(e,0,n)?"image/png":null}case 71:return e.length>=6&&wr(e,0,"GIF")?"image/gif":null;case 255:return e.length>=3&&e[1]===216&&e[2]===255?"image/jpeg":null;case 66:return e[1]===77?"image/bmp":null;case 82:return e.length>=16&&wr(e,0,"RIFF")&&wr(e,8,"WEBP")&&wr(e,12,"VP8")?"image/webp":null;default:return null}}function oQ(t,e){let n=uM(e),r=new Uint8Array(t),o=new DataView(t),a=rQ(r,o,n);if(a)return a;let i=T_(t);return!i||i===n?null:rQ(r,o,i)}function rQ(t,e,n){switch(n){case"image/png":{let r=ibe(t,e);return r?{display:r,coded:r}:null}case"image/gif":{let r=sbe(t,e);return r?{display:r,coded:r}:null}case"image/jpeg":{let r=lbe(t,e);return r?{display:r,coded:r}:null}case"image/webp":{let r=dbe(t,e);return r?{display:r,coded:r}:null}case"image/bmp":{let r=cbe(t,e);return r?{display:r,coded:r}:null}case"image/avif":case"image/heic":case"image/heif":return ube(t,e);default:return null}}function aQ(t,e,n){if(e<0||e+n.length>t.length)return!1;for(let r=0;r<n.length;r+=1)if(t[e+r]!==n[r])return!1;return!0}function wr(t,e,n){if(e<0||e+n.length>t.length)return!1;for(let r=0;r<n.length;r+=1)if(t[e+r]!==n.charCodeAt(r))return!1;return!0}function w_(t,e,n){if(e<0||n<e||n>t.length)return"";let r="";for(let o=e;o<n;o+=1)r+=String.fromCharCode(t[o]);return r}function ibe(t,e){let n=[137,80,78,71,13,10,26,10];if(t.length<24||!aQ(t,0,n))return null;let r=12,o=8;if(wr(t,r,"CgBI")){if(t.length<24)return null;let l=20+e.getUint32(8,!1);if(l+24>t.length)return null;o=l}if(!wr(t,o+4,"IHDR"))return null;let a=e.getUint32(o+8,!1),i=e.getUint32(o+12,!1);return a<=0||i<=0?null:{width:a,height:i}}function sbe(t,e){if(t.length<10||!wr(t,0,"GIF")||t[3]!==56||t[4]!==55&&t[4]!==57||t[5]!==97)return null;let n=e.getUint16(6,!0),r=e.getUint16(8,!0);return n<=0||r<=0?null:{width:n,height:r}}function lbe(t,e){if(t.length<4||t[0]!==255||t[1]!==216)return null;let n=l=>l>=192&&l<=195||l>=197&&l<=199||l>=201&&l<=203||l>=205&&l<=207,r=(l,c)=>{if(c-l<14||!wr(t,l,"Exif")||t[l+4]!==0||t[l+5]!==0)return null;let u=l+6;if(u+8>c)return null;let p=t[u]===73&&t[u+1]===73,m=t[u]===77&&t[u+1]===77;if(!p&&!m)return null;let g=p;if(e.getUint16(u+2,g)!==42)return null;let f=e.getUint32(u+4,g);if(f<8||f>c-u-2)return null;let h=u+f,b=e.getUint16(h,g),v=h+2,y=Math.floor((c-v)/12),S=Math.min(b,y);for(let w=0;w<S;w+=1){let k=v+w*12;if(e.getUint16(k,g)!==274)continue;let P=e.getUint16(k+2,g),T=e.getUint32(k+4,g);if(P!==3||T!==1)return null;let I=e.getUint16(k+8,g);return I>=1&&I<=8?I:null}return null},o=2,a=null,i=null,s=null;for(;o+3<t.length;){if(t[o]!==255){o+=1;continue}for(;o<t.length&&t[o]===255;)o+=1;if(o>=t.length)break;let l=t[o];if(o+=1,l===217||l===218)break;if(l===216||l>=208&&l<=215||l===1)continue;if(o+1>=t.length)break;let c=e.getUint16(o,!1);if(c<2)break;let u=o+c,p=o+2;if(u>t.length)break;if(l===225&&s===null){let m=r(p,u);typeof m=="number"&&(s=m)}if(a===null&&i===null&&n(l)){if(p+5>u)return null;let m=e.getUint16(p+1,!1),g=e.getUint16(p+3,!1);if(g<=0||m<=0)return null;a=g,i=m}if(a!==null&&i!==null&&s!==null)break;o=u}return a===null||i===null?null:s===5||s===6||s===7||s===8?{width:i,height:a}:{width:a,height:i}}function dbe(t,e){if(t.length<20||!wr(t,0,"RIFF")||!wr(t,8,"WEBP"))return null;let n=12;for(;n+8<=t.length;){let r=w_(t,n,n+4),o=e.getUint32(n+4,!0),a=n+8;if(a<n)return null;let i=a+o;if(i>t.length)return null;if(r==="VP8 "){if(a+10>i||t[a+3]!==157||t[a+4]!==1||t[a+5]!==42)return null;let c=e.getUint16(a+6,!0)&16383,u=e.getUint16(a+8,!0)&16383;return c<=0||u<=0?null:{width:c,height:u}}if(r==="VP8L"){if(a+5>i||t[a]!==47)return null;let c=e.getUint32(a+1,!0),u=(c&16383)+1,p=(c>>14&16383)+1;return u<=0||p<=0?null:{width:u,height:p}}if(r==="VP8X"){if(a+10>i)return null;let c=t[a+4]|t[a+5]<<8|t[a+6]<<16,u=t[a+7]|t[a+8]<<8|t[a+9]<<16,p=c+1,m=u+1;return p<=0||m<=0?null:{width:p,height:m}}let s=o+o%2,l=a+s;if(l<=n)return null;n=l}return null}function cbe(t,e){if(t.length<26||t[0]!==66||t[1]!==77)return null;let n=e.getUint32(14,!0);if(n===12){let r=e.getUint16(18,!0),o=e.getUint16(20,!0);return r<=0||o<=0?null:{width:r,height:o}}if(n>=40){let r=Math.abs(e.getInt32(18,!0)),o=Math.abs(e.getInt32(22,!0));return r<=0||o<=0?null:{width:r,height:o}}return null}function ube(t,e){let n=t.length,r=512*1024,o=Math.min(n,r),a=o<n,i=2e3,s=32,l=0,c=(L,V)=>{if(!V)return L;if(!L)return V;let D=V.width*V.height,A=L.width*L.height;return D>A?V:L},u=(L,V)=>{if(L+8>V||L+8>o||l>=i)return null;l+=1;let D=e.getUint32(L,!1),A=L+4,_=8,E=D;if(D===1){if(L+16>o||typeof e.getBigUint64!="function")return null;let x=e.getBigUint64(L+8,!1);if(x>BigInt(Number.MAX_SAFE_INTEGER))return null;E=Number(x),_=16}else D===0&&(E=V-L);if(E<_)return null;let R=L+E;if(R<=L||R>V&&!(a&&V===o))return null;let M=L+_,C=Math.min(R,V,o);return M>C?null:{declaredEnd:R,payloadStart:M,payloadEnd:C,typeOffset:A}},p=(L,V)=>{if(L+12>V)return null;let D=e.getUint32(L+4,!1),A=e.getUint32(L+8,!1);return D<=0||A<=0?null:{width:D,height:A}},m=(L,V)=>{if(L+32>V)return null;let A=e.getUint32(L,!1),_=e.getUint32(L+4,!1),E=e.getUint32(L+8,!1),R=e.getUint32(L+12,!1);if(_===0||R===0)return null;let M=Math.round(A/_),C=Math.round(E/R);return M<=0||C<=0?null:{width:M,height:C}},g=(L,V)=>{let D=V-L;if(D<1)return null;let A=(t[L]&3)*90;if(D>=5){let _=(t[L+4]&3)*90,E=A===90||A===270,R=_===90||_===270;if(R&&!E)return _;if(E&&!R)return A;if(E&&R&&A!==_)return null}return A},f=(L,V,D)=>{let{width:A,height:_}=L;if(V&&V.width>0&&V.height>0){let M=V.width<=A?V.width:V.width-A<=1?A:null,C=V.height<=_?V.height:V.height-_<=1?_:null;M!==null&&C!==null&&(A=M,_=C)}return D===90||D===270?{width:_,height:A}:{width:A,height:_}},h=(L,V)=>{if(L+6>V)return null;let D=t[L];if(D===0){let A=e.getUint16(L+4,!1);return A>0?A:null}if(D===1){if(L+8>V)return null;let A=e.getUint32(L+4,!1);return A>0?A:null}return null},b=(L,V,D)=>{if(L+8>V)return null;let A=t[L];if(A!==0&&A!==1)return null;let _=t[L+1]<<16|t[L+2]<<8|t[L+3],E=e.getUint32(L+4,!1),R=(_&1)!==0,M=L+8,x=(A===0?2:4)+1,z=x>0?Math.floor((V-M)/x):0,Y=Math.min(E,z,1e4);if(Y<E)return null;for(let ee=0;ee<Y;ee+=1){let $;if(A===0){if(M+2>V)return null;$=e.getUint16(M,!1),M+=2}else{if(M+4>V)return null;$=e.getUint32(M,!1),M+=4}if(M+1>V)return null;let j=t[M];M+=1;let J=R?2:1,re=J>0?Math.floor((V-M)/J):0;if(j>re||j>4096)return null;let Z=$===D?[]:null;for(let ce=0;ce<j;ce+=1){let ae;if(R){if(M+2>V)return null;let se=e.getUint16(M,!1);M+=2,ae=se&32767}else{if(M+1>V)return null;let se=t[M];M+=1,ae=se&127}Z&&ae>0&&Z.push(ae)}if($===D)return Z&&Z.length>0?Z:null}return null},v=L=>{if(L.length===0)return null;let V=L[0];for(let D=1;D<L.length;D+=1)if(L[D]!==V)return null;return V},y=L=>{if(L.length===0)return null;let V=L[0];for(let D=1;D<L.length;D+=1){let A=L[D];if(A.width!==V.width||A.height!==V.height)return null}return V},S=(L,V)=>{let D=[],A=[],_=[],E=L;for(;;){let Y=u(E,V);if(!Y)break;let{declaredEnd:ee,payloadStart:$,payloadEnd:j,typeOffset:J}=Y;if(wr(t,J,"ispe")){let re=p($,j);re&&D.push({offset:E,end:ee,dimensions:re})}else if(wr(t,J,"clap")){let re=m($,j);re&&A.push({offset:E,dimensions:re})}else if(wr(t,J,"irot")){let re=g($,j);re!==null&&_.push({rotationDegrees:re})}E=ee}if(D.length===0)return null;let R=null,M=null,C=L,x=0,H=D.length===1&&_.length===1&&(_[0].rotationDegrees===90||_[0].rotationDegrees===270)?_[0].rotationDegrees:null;for(let Y of D){if(Y.offset<C)continue;for(;x<A.length&&A[x].offset<C;)x+=1;let ee=null,$=A[x];$&&(ee=$.dimensions);let j=f(Y.dimensions,ee,H);R=c(R,j),M=c(M,Y.dimensions),C=Y.end}return!R||!M?null:{display:R,coded:M}},w=(L,V)=>{let D=[null],A=L;for(;;){let _=u(A,V);if(!_)break;let{declaredEnd:E,payloadStart:R,payloadEnd:M,typeOffset:C}=_,x=null;if(wr(t,C,"ispe")){let z=p(R,M);z&&(x={kind:"ispe",dimensions:z})}else if(wr(t,C,"clap")){let z=m(R,M);z&&(x={kind:"clap",dimensions:z})}else if(wr(t,C,"irot")){let z=g(R,M);z!==null&&(x={kind:"irot",rotationDegrees:z})}D.push(x),A=E}return D.length>1?D:null},k=(L,V)=>{let D=null,A=null,_=null,E=null,R=L;for(;;){let M=u(R,V);if(!M)break;let{declaredEnd:C,payloadStart:x,payloadEnd:z,typeOffset:H}=M;wr(t,H,"ipco")?(D=x,A=z):wr(t,H,"ipma")&&(_=x,E=z),R=C}return D===null||A===null?null:{ipcoStart:D,ipcoEnd:A,ipmaPayloadStart:_,ipmaPayloadEnd:E}},F=(L,V,D,A,_)=>{let E=b(D,A,_);if(!E)return null;let R=w(L,V);if(!R)return null;let M=[],C=[],x=[];for(let $ of E){let j=R[$];j&&(j.kind==="ispe"?M.push(j.dimensions):j.kind==="clap"?C.push(j.dimensions):j.kind==="irot"&&x.push(j.rotationDegrees))}if(M.length===0)return null;let z=y(C),H=v(x),Y=null,ee=null;for(let $ of M){let j=f($,z,H);Y=c(Y,j),ee=c(ee,$)}return!Y||!ee?null:{display:Y,coded:ee}},P=(L,V,D)=>{let A=k(L,V);if(!A)return null;let{ipcoStart:_,ipcoEnd:E,ipmaPayloadStart:R,ipmaPayloadEnd:M}=A;if(D===null||R===null||M===null)return S(_,E)?.display??null;let C=F(_,E,R,M,D);return C?C.display:S(_,E)?.display??null},T=(L,V)=>{let D=null,A=null,_=null,E=L;for(;;){let C=u(E,V);if(!C)break;let{declaredEnd:x,payloadStart:z,payloadEnd:H,typeOffset:Y}=C;wr(t,Y,"pitm")?D=h(z,H)??D:wr(t,Y,"iprp")&&(A=z,_=H),E=x}if(A===null||_===null)return null;let R=k(A,_);if(!R)return null;if(D!==null&&R.ipmaPayloadStart!==null&&R.ipmaPayloadEnd!==null){let C=F(R.ipcoStart,R.ipcoEnd,R.ipmaPayloadStart,R.ipmaPayloadEnd,D);if(C)return{dimensions:C,isPrimaryAssociated:!0}}let M=S(R.ipcoStart,R.ipcoEnd);return M?{dimensions:M,isPrimaryAssociated:!1}:null},I=(L,V,D)=>{if(D>s)return null;let A=null,_=L;for(;;){let E=u(_,V);if(!E)break;let{declaredEnd:R,payloadStart:M,payloadEnd:C,typeOffset:x}=E;if(wr(t,x,"meta")){let z=M+4;if(z<C){let H=T(z,C);if(H){if(H.isPrimaryAssociated)return H.dimensions.display;A=c(A,H.dimensions.display)}else{let Y=I(z,C,D+1);Y&&(A=c(A,Y))}}}else if(wr(t,x,"iprp")){if(M<C){let z=P(M,C,null);if(z)A=c(A,z);else{let H=I(M,C,D+1);H&&(A=c(A,H))}}}else wr(t,x,"ipco")?A=c(A,S(M,C)?.display??null):wr(t,x,"ispe")&&(A=c(A,p(M,C)));_=R}return A};if(n<16)return null;let N=!1;{let L=0,V=16,D=64*1024;for(let A=0;A<V&&L<D;A+=1){let _=u(L,n);if(!_)break;if(wr(t,_.typeOffset,"ftyp")){N=!0;break}L=_.declaredEnd}}if(!N)return null;let O=I(0,n,0);if(!O)return null;l=0;let K=G(0,n,0);if(!K)return null;return{display:O,coded:K};function G(L,V,D){if(D>s)return null;let A=null,_=L;for(;;){let E=u(_,V);if(!E)break;let{declaredEnd:R,payloadStart:M,payloadEnd:C,typeOffset:x}=E;if(wr(t,x,"meta")){let z=M+4;if(z<C){let H=G(z,C,D+1);H&&(A=c(A,H))}}else if(wr(t,x,"iprp")){if(M<C){let z=k(M,C);if(z){let H=X(z.ipcoStart,z.ipcoEnd);A=c(A,H)}else{let H=G(M,C,D+1);H&&(A=c(A,H))}}}else wr(t,x,"ipco")?A=c(A,X(M,C)):wr(t,x,"ispe")&&(A=c(A,p(M,C)));_=R}return A}function X(L,V){let D=null,A=L;for(;;){let _=u(A,V);if(!_)break;let{declaredEnd:E,payloadStart:R,payloadEnd:M,typeOffset:C}=_;wr(t,C,"ispe")&&(D=c(D,p(R,M))),A=E}return D}}var iQ=U(()=>{});function P_(){return{externalRequestLimiter:gF($t.thumbnails.featureImage.externalRequest.parallelLimit),imageDecodeLimiter:LX(mu.Platform.isMobile?gbe:hbe),thumbnailCanvasLimiter:gF($t.thumbnails.featureImage.thumbnailCanvasParallelLimit),thumbnailCanvasPool:[],logOnce:OX(),inFlightDownloads:new Map,externalRequestTimeoutDebt:0}}function C_(t){return`f:${t.path}@${t.stat.mtime}`}var mu,pbe,sQ,lQ,dQ,k_,cQ,mbe,gbe,hbe,uQ,pM,F_,fbe,Cb,mM=U(()=>{mu=require("obsidian");zn();Mr();OC();lM();c_();nQ();iQ();u_();Ud();gl();pbe=Object.freeze({256:Object.freeze({width:256,height:144}),384:Object.freeze({width:384,height:216}),512:Object.freeze({width:512,height:288})}),sQ=$t.thumbnails.featureImage.output.mimeType,lQ=$t.thumbnails.featureImage.output.iosMimeType,dQ=$t.thumbnails.featureImage.output.quality,k_=$t.thumbnails.featureImage.externalRequest.timeoutMs,cQ=$t.thumbnails.featureImage.externalRequest.maxLifetimeMs,mbe=mu.Platform.isMobile?$t.thumbnails.featureImage.externalRequest.timeoutDebtMax.mobile:$t.thumbnails.featureImage.externalRequest.timeoutDebtMax.desktop,gbe=$t.thumbnails.featureImage.imageDecodeBudgetPixels.mobile,hbe=$t.thumbnails.featureImage.imageDecodeBudgetPixels.desktop,uQ=mu.Platform.isMobile?$t.thumbnails.featureImage.maxImageBytes.local.mobile:$t.thumbnails.featureImage.maxImageBytes.local.desktop,pM=mu.Platform.isMobile?$t.thumbnails.featureImage.maxImageBytes.external.mobile:$t.thumbnails.featureImage.maxImageBytes.external.desktop,F_=new Set(["image/jpeg","image/png","image/gif","image/webp","image/avif","image/heic","image/heif","image/bmp"]),fbe={jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",gif:"image/gif",webp:"image/webp",avif:"image/avif",heic:"image/heic",heif:"image/heif",bmp:"image/bmp"};Cb=class extends Fg{constructor(n,r=null,o=P_()){super(n,r);this.PARALLEL_LIMIT=$t.contentProvider.parallelLimit;this.thumbnailRuntime=o}getHeaderValue(n,r){let o=n[r];if(o!==void 0)return o;let a=r.toLowerCase();for(let[i,s]of Object.entries(n))if(i.toLowerCase()===a)return s}getContentType(){return"fileThumbnails"}getRelevantSettings(){return["showFeatureImage","featureImagePixelSize"]}shouldRegenerate(n,r){return!!(n.featureImagePixelSize!==r.featureImagePixelSize||!r.showFeatureImage&&n.showFeatureImage)}async clearContent(n){await kt().batchClearFeatureImageContent("nonMarkdown")}needsProcessing(n,r,o){if(!o.showFeatureImage||r.extension==="md")return!1;let a=n!==null&&n.fileThumbnailsMtime!==r.stat.mtime;if(Od(r)){let s=this.getFeatureImageKey({kind:"local",file:r});return a||!n||n.featureImageStatus==="unprocessed"||n.featureImageKey===null||n.featureImageKey!==s}let i=jd(this.app,r);if(i){let s=Uc(r,i.providerId);return a||!n||n.featureImageStatus==="unprocessed"||n.featureImageKey===null||n.featureImageKey!==s}return a||!n||n.featureImageKey===null}async processFile(n,r,o){if(!o.showFeatureImage)return{update:null,processed:!0};if(n.file.extension==="md")return{update:null,processed:!0};if(Od(n.file)){let l={kind:"local",file:n.file},c=this.getFeatureImageKey(l);if(r&&r.featureImageKey===c&&r.fileThumbnailsMtime===n.file.stat.mtime&&r.featureImageStatus!=="unprocessed")return{update:null,processed:!0};let p=await this.createThumbnailBlob(l,o);if(!p){let m=this.createEmptyBlob();return{update:{path:n.path,featureImage:m,featureImageKey:c},processed:!0}}return{update:{path:n.path,featureImage:p,featureImageKey:c},processed:!0}}let a=jd(this.app,n.file);if(a){let l=Uc(n.file,a.providerId);return r?.featureImageKey===l&&r.featureImageStatus==="none"?{update:null,processed:!0}:{update:{path:n.path,featureImage:this.createEmptyBlob(),featureImageKey:l},processed:!0}}let i="",s=this.createEmptyBlob();return r&&r.featureImageKey===i?{update:null,processed:!0}:{update:{path:n.path,featureImage:s,featureImageKey:i},processed:!0}}createEmptyBlob(){return new Blob([])}getFeatureImageKey(n){return n.kind==="local"?C_(n.file):n.kind==="external"?`e:${n.url}`:`y:${n.videoId}`}async createThumbnailBlob(n,r){let o=this.getThumbnailDimensions(r.featureImagePixelSize);if(n.kind==="local"){if(Od(n.file))return await tQ(this.app,n.file,{maxWidth:o.width,maxHeight:o.height,mimeType:mu.Platform.isIosApp?lQ:sQ,quality:dQ});let i=await this.readLocalImage(n.file);return i?await this.createThumbnailBlobFromBuffer(i.buffer,i.mimeType,n.file.path,"local",o):null}if(n.kind==="external"){if(!r.downloadExternalFeatureImages)return null;let i=await this.downloadExternalImage(n.url);return i?await this.createThumbnailBlobFromBuffer(i.buffer,i.mimeType,n.url,"external",o):null}if(!r.downloadExternalFeatureImages)return null;let a=await this.downloadYoutubeThumbnail(n.videoId);return a?await this.createThumbnailBlobFromBuffer(a.buffer,a.mimeType,`youtube:${n.videoId}`,"external",o):null}async readLocalImage(n){let r=this.getMimeTypeFromExtension(n.extension);if(!r)return null;if(n.stat.size>uQ)return this.thumbnailRuntime.logOnce(`featureImage-local-too-large:${uQ}`,`[${n.path}] Skipping local image (${n.stat.size} bytes) - file too large`),null;try{return{buffer:await this.app.vault.adapter.readBinary(n.path),mimeType:r}}catch(o){return console.error(`Failed to read image ${n.path}:`,o),null}}async requestUrlWithTimeout(n,r){let o=await this.thumbnailRuntime.externalRequestLimiter.acquire(),a=!1,i=activeWindow,s=null,l=!1,c=null,u=()=>{a||(a=!0,s!==null&&(i.clearTimeout(s),s=null),o())},p=()=>{l&&(l=!1,c!==null&&(i.clearTimeout(c),c=null),this.thumbnailRuntime.externalRequestTimeoutDebt=Math.max(0,this.thumbnailRuntime.externalRequestTimeoutDebt-1))},m=()=>l?!0:this.thumbnailRuntime.externalRequestTimeoutDebt>=mbe?!1:(this.thumbnailRuntime.externalRequestTimeoutDebt+=1,l=!0,c=i.setTimeout(()=>p(),cQ),!0);s=i.setTimeout(()=>u(),cQ);let g=null,f=new Promise(h=>{g=i.setTimeout(()=>{m()&&u(),h(null)},r)});try{let b=(0,mu.requestUrl)(n).then(y=>y).catch(()=>null).finally(()=>{u(),p()});return await Promise.race([b,f])??null}catch{return u(),p(),null}finally{g!==null&&i.clearTimeout(g)}}async downloadExternalImage(n){let r=n.trim();return kb(r)?await this.getOrCreateDownload(`ext:${r}`,async()=>{try{let o=await this.preflightExternalImage(r);if(!o)return null;let a=await this.requestUrlWithTimeout({url:r,method:"GET",throw:!1},k_);if(!a||a.status!==200)return null;let i=this.getHeaderValue(a.headers,"content-type"),s=i?this.getMimeTypeFromContentType(i):o.mimeType;return s?a.arrayBuffer?a.arrayBuffer.byteLength>pM?(this.thumbnailRuntime.logOnce(`featureImage-external-too-large:${pM}:${r}`,`[${r}] Skipping external image (${a.arrayBuffer.byteLength} bytes) - file too large`),null):{buffer:a.arrayBuffer,mimeType:s}:(this.thumbnailRuntime.logOnce(`featureImage-external-missing-arrayBuffer:${s}:${r}`,`[${r}] Skipping external image - response missing arrayBuffer for ${s}`),null):(this.thumbnailRuntime.logOnce(`featureImage-external-unsupported-content-type:${i}:${r}`,`[${r}] Skipping external image - unsupported Content-Type: ${i}`),null)}catch{return null}}):null}async preflightExternalImage(n){let r=await this.requestUrlWithTimeout({url:n,method:"HEAD",throw:!1},k_);if(!r||r.status<200||r.status>=300)return this.thumbnailRuntime.logOnce(`featureImage-external-head-failed:${n}`,`[${n}] Skipping external image - HEAD request failed`),null;let o=this.getHeaderValue(r.headers,"content-type");if(!o)return this.thumbnailRuntime.logOnce(`featureImage-external-missing-content-type:${n}`,`[${n}] Skipping external image - missing Content-Type header`),null;let a=this.getMimeTypeFromContentType(o);if(!a)return this.thumbnailRuntime.logOnce(`featureImage-external-unsupported-content-type:${o}:${n}`,`[${n}] Skipping external image - unsupported Content-Type: ${o}`),null;let i=this.parseContentLength(this.getHeaderValue(r.headers,"content-length"));return i===null?(this.thumbnailRuntime.logOnce(`featureImage-external-missing-content-length:${n}`,`[${n}] Skipping external image - missing Content-Length header`),null):i>pM?(this.thumbnailRuntime.logOnce(`featureImage-external-too-large:${pM}:${n}`,`[${n}] Skipping external image (${i} bytes) - file too large`),null):{mimeType:a}}async downloadYoutubeThumbnail(n){let r=[{quality:"maxresdefault.jpg",mimeType:"image/jpeg"},{quality:"hqdefault.jpg",mimeType:"image/jpeg"}];for(let o of r){let a=Hw(n,o.quality);if(!kb(a))continue;let i=await this.getOrCreateDownload(`yt:${a}|${o.mimeType}`,async()=>{try{let s=await this.requestUrlWithTimeout({url:a,method:"GET",headers:{Accept:o.mimeType},throw:!1},k_);return s&&s.status===200&&s.arrayBuffer?{buffer:s.arrayBuffer,mimeType:o.mimeType}:null}catch{return null}});if(i)return i}return null}async getOrCreateDownload(n,r){let o=this.thumbnailRuntime.inFlightDownloads.get(n);if(o)return o;let a=r().finally(()=>{this.thumbnailRuntime.inFlightDownloads.delete(n)});return this.thumbnailRuntime.inFlightDownloads.set(n,a),a}async createThumbnailBlobFromBuffer(n,r,o,a,i){let s=uM(r),l=T_(n),c=l&&F_.has(l)?l:s;if(a==="local"&&l&&l!==s&&F_.has(l)&&this.thumbnailRuntime.logOnce(`featureImage-mime-mismatch:${s}:${l}:${o}`,`[${o}] Detected ${l} content for declared ${s}`),c==="image/svg+xml")return this.thumbnailRuntime.logOnce(`featureImage-svg-unsupported:${o}`,`[${o}] Skipping SVG feature image - SVG previews are disabled`),null;let u=oQ(n,c);if(!u)return this.thumbnailRuntime.logOnce(`featureImage-unknown-dimensions:${c}:${o}`,`[${o}] Skipping ${c} (${n.byteLength} bytes) - unable to determine image dimensions`),null;let{display:p,coded:m}=u,g=m.width*m.height,f=mu.Platform.isMobile?$t.thumbnails.featureImage.maxFallbackPixels.mobile:$t.thumbnails.featureImage.maxFallbackPixels.desktop,{width:h,height:b}=this.calculateThumbnailDimensions(p.width,p.height,i),v=new Blob([n],{type:c}),y=await this.thumbnailRuntime.imageDecodeLimiter.acquire(g);try{let S=await this.tryCreateThumbnailFromResizedBitmap(v,h,b);if(S)return S;if(g>f){let k=typeof createImageBitmap>"u"?"createImageBitmap unavailable":"resize bitmap failed";return this.thumbnailRuntime.logOnce(`featureImage-fallback-skip:${c}:${m.width}x${m.height}:${o}`,`[${o}] Skipping ${c} (${m.width}x${m.height}, ${g} px) - ${k}; fallback decode capped at ${f} px`),null}let w=await this.tryCreateThumbnailFromBitmap(v,i);return w||await this.withImageFromBlob(v,async k=>{let F=k.naturalWidth||k.width||0,P=k.naturalHeight||k.height||0;if(F<=0||P<=0)return null;let{width:T,height:I}=this.calculateThumbnailDimensions(F,P,i);return await this.resizeImageToBlob(k,T,I)})}finally{y()}}async tryCreateThumbnailFromResizedBitmap(n,r,o){if(typeof createImageBitmap>"u"||r<=0||o<=0)return null;let a;try{a=await createImageBitmap(n,{imageOrientation:"from-image",resizeWidth:r,resizeHeight:o,resizeQuality:"high"})}catch{return null}try{return await this.resizeSourceToBlob(a,r,o)}finally{this.closeBitmap(a)}}async tryCreateThumbnailFromBitmap(n,r){if(typeof createImageBitmap>"u")return null;let o;try{o=await createImageBitmap(n,{imageOrientation:"from-image"})}catch{return null}try{let a=o.width||0,i=o.height||0;if(a<=0||i<=0)return null;let{width:s,height:l}=this.calculateThumbnailDimensions(a,i,r);return await this.resizeSourceToBlob(o,s,l)}finally{this.closeBitmap(o)}}closeBitmap(n){if(n)try{n.close()}catch{}}async withImageFromBlob(n,r){let o=URL.createObjectURL(n);try{let a=await this.loadImage(o);return await r(a)}finally{URL.revokeObjectURL(o)}}async resizeImageToBlob(n,r,o){return await this.resizeSourceToBlob(n,r,o)}async resizeSourceToBlob(n,r,o){if(r<=0||o<=0)return null;let a=await this.acquireThumbnailCanvas(r,o);if(!a)return null;let{canvas:i,ctx:s,release:l}=a;try{s.clearRect(0,0,r,o),"imageSmoothingQuality"in s&&(s.imageSmoothingQuality="high"),s.drawImage(n,0,0,r,o);let c=mu.Platform.isIosApp?lQ:sQ,u=c==="image/png"?await this.canvasToBlob(i,c):await this.canvasToBlob(i,c,dQ);return u||(c!=="image/png"?this.canvasToBlob(i,"image/png"):null)}finally{l()}}createCanvas(n,r){if(typeof OffscreenCanvas<"u"){let a=new OffscreenCanvas(n,r);if(typeof a.convertToBlob=="function")return a}let o=createEl("canvas");return o.width=n,o.height=r,o}getThumbnailDimensions(n){return pbe[n??"256"]}calculateThumbnailDimensions(n,r,o){let a=n,i=r;if(n>o.width||r>o.height){let s=n/r;o.width/o.height>s?(i=o.height,a=Math.round(i*s)):(a=o.width,i=Math.round(a/s))}return{width:Math.max(1,a),height:Math.max(1,i)}}loadImage(n){return new Promise((r,o)=>{let a=new Image;a.onload=()=>r(a),a.onerror=()=>o(new Error("Failed to load image")),a.src=n})}async acquireThumbnailCanvas(n,r){let o=await this.thumbnailRuntime.thumbnailCanvasLimiter.acquire(),a=!1,i=this.thumbnailRuntime.thumbnailCanvasPool.pop()??this.createCanvas(Math.max(1,n),Math.max(1,r));i.width=n,i.height=r;let s=i.getContext("2d");return s?{canvas:i,ctx:s,release:()=>{a||(a=!0,this.thumbnailRuntime.thumbnailCanvasPool.push(i),o())}}:(this.thumbnailRuntime.thumbnailCanvasPool.push(i),o(),null)}isOffscreenCanvas(n){return typeof OffscreenCanvas<"u"&&n instanceof OffscreenCanvas}async canvasToBlob(n,r,o){if(this.isOffscreenCanvas(n))try{return await n.convertToBlob({type:r,quality:o})}catch{return null}return await new Promise(a=>{n.toBlob(a,r,o)})}getMimeTypeFromExtension(n){if(!n)return null;let r=n.toLowerCase();return fbe[r]??null}getMimeTypeFromContentType(n){if(!n)return null;let r=n.split(";")[0].trim(),o=uM(r);return F_.has(o)?o:null}parseContentLength(n){if(!n)return null;let r=n.trim();if(!/^\d+$/.test(r))return null;let o=Number(r);return Number.isSafeInteger(o)?o:null}}});function gf(t){return t.showFilePreview}function Cg(t){return t.showFeatureImage}function Pp(t){return YC(t)||t.showTooltips&&t.showTooltipWordCount}function Cp(t){return Gl(t.textCountDisplay)}function hf(t){return!0}function Np(t){return tW(t)}function gu(t){let e=[];return gf(t)&&e.push("preview"),Cg(t)&&e.push("featureImage"),Pp(t)&&e.push("wordCount"),Cp(t)&&e.push("characterCount"),hf(t)&&e.push("tasks"),Np(t)&&e.push("properties"),e}function fF(t){return gu(t).length>0}var Nb=U(()=>{xn();ed()});function N_(t){return Array.isArray(t.listItems)&&t.listItems.some(e=>typeof e.task=="string")}function Ib(t){return Array.isArray(t.listItems)?N_(t)?null:{taskTotal:0,taskUnfinished:0}:{taskTotal:0,taskUnfinished:0}}function xb(t,e){return t.taskTotal===e.taskTotal&&t.taskUnfinished===e.taskUnfinished}var I_=U(()=>{});function vbe(t,e){if(!e)return!0;let n=Ib(e);return n===null||!xb(t,n)}function Eb(t,e,n,r){if(t.length===0||e.length===0)return[];let a=kt().getFiles(t.map(k=>k.path)),s=Qo(n).length>0,l=r?.conservativeMetadata??!1,c=Np(n),u=e.includes("markdownPipeline"),p=e.includes("tags"),m=e.includes("metadata"),g=r?.app,f=bw(n.featureImageExcludeProperties),h=fF(n),b=gf(n),v=Cg(n),y=Pp(n),S=Cp(n),w=hf(n);return t.filter(k=>{let F=a.get(k.path);if(!F||p&&k.extension==="md"&&(F.tags===null||F.tagsMtime!==k.stat.mtime))return!0;if(u&&h&&k.extension==="md"){let P=b&&F.previewStatus==="unprocessed",T=g?.metadataCache.getFileCache(k)??null,I=v&&(F.featureImageKey===null||F.featureImageStatus==="unprocessed");if(v&&!I&&g){let A=T?.frontmatter;if(!f.matches(A)){let E=Lv(k,A),R=E?Uc(k,E):null;I=R!==null&&F.featureImageKey!==R}}let N=c&&F.properties===null,O=y&&F.wordCount===null,K=S&&(F.characterCountWithSpaces===null||F.characterCountWithoutSpaces===null),G=w&&(F.taskTotal===null||F.taskUnfinished===null),X=T===null?null:Ib(T),L=T!==null&&N_(T),V=w&&(X!==null?!xb(F,X):L),D=F.markdownPipelineMtime!==k.stat.mtime;if(P||I||N||O||K||G||V)return!0;if(D){if(b||v||c||y||S)return!0;if(w)return vbe(F,T)}}if(m&&k.extension==="md"){let P=F.metadata;if(s&&l||F.metadataMtime!==k.stat.mtime||P===null||s&&P.hidden===void 0)return!0}return!1})}function pQ(t){if(Od(t))return C_(t);let e=tj(t);return e?Uc(t,e):null}function Ip(t){return pQ(t)!==null}function gM(t,e){if(!e.showFeatureImage||t.length===0)return[];let n=t.map(a=>({file:a,expectedKey:pQ(a)})).filter(a=>a.expectedKey!==null);if(n.length===0)return[];let o=kt().getFiles(n.map(({file:a})=>a.path));return n.filter(({file:a,expectedKey:i})=>{let s=o.get(a.path);if(!s)return!0;let l=a.stat.mtime;return s.fileThumbnailsMtime!==l||s.featureImageStatus==="unprocessed"?!0:s.featureImageKey===null||s.featureImageKey!==i}).map(({file:a})=>a)}var Mb=U(()=>{zn();Mr();dn();mM();Ot();gl();Nb();I_()});function hQ(t){let{app:e,stoppedRef:n,onRebuildComplete:r}=t,o=(0,xp.useRef)(null),a=(0,xp.useRef)(null),i=(0,xp.useRef)(null),s=(0,xp.useRef)(0),l=(0,xp.useRef)(0),c=(0,xp.useCallback)(()=>{if(s.current+=1,i.current!==null&&(typeof window<"u"&&window.clearTimeout(i.current),i.current=null),a.current!==null&&(typeof window<"u"&&window.clearInterval(a.current),a.current=null),o.current){try{o.current.hide()}catch{}o.current=null}l.current=0},[]),u=(0,xp.useCallback)((p,m)=>{if(c(),n.current||typeof window>"u"||p<=0||m.length===0)return;let g=s.current,f=d.settings.items.rebuildCache.indexingTitle,h=d.settings.items.rebuildCache.progress,b=m.includes("preview"),v=m.includes("tags"),y=m.includes("featureImage"),S=m.includes("metadata"),w=m.includes("wordCount"),k=m.includes("characterCount"),F=m.includes("tasks"),P=m.includes("properties"),T=null,I=null,N=null,O=Math.max(0,p),K=R=>Math.min(O,Math.max(0,R)),G=R=>{let M=K(R);T&&(I===M&&N===O||(I=M,N=O,T.max=O,T.value=M))},X=()=>{I=null,N=null;let R=createFragment(),M=R.createDiv({cls:"nn-cache-rebuild-notice"});M.createDiv({cls:"nn-cache-rebuild-notice-title",text:f}),M.createDiv({cls:"nn-cache-rebuild-notice-description",text:h}),T=M.createEl("progress",{cls:"nn-cache-rebuild-notice-progress-bar"});let C=de(R,{timeout:0});C.containerEl.addClass("nn-cache-rebuild-notice-container"),C.messageEl.addClass("nn-cache-rebuild-notice-message"),o.current=C},L=kt(),V=!1,D=0,A=Date.now(),_=bbe;l.current=0;let E=()=>{if(n.current){c();return}if(s.current!==g)return;let R=$=>{let j=e.vault.getAbstractFileByPath($);return j instanceof gQ.TFile?j:null},M=0,C=0;L.forEachFile(($,j)=>{let J=qo($),re=null,oe=!1,Z=()=>(oe||(re=R($),oe=!0),re),ce=!J&&y&&(()=>{let ve=Z();return ve!==null&&Ip(ve)})(),ae=b&&J&&j.previewStatus==="unprocessed",se=v&&J&&j.tags===null,ne=y&&(j.featureImageKey===null||j.featureImageStatus==="unprocessed")&&(J||ce),B=S&&J&&j.metadata===null,q=w&&J&&j.wordCount===null,ie=k&&J&&(j.characterCountWithSpaces===null||j.characterCountWithoutSpaces===null),le=F&&J&&(j.taskTotal===null||j.taskUnfinished===null),Te=P&&J&&j.properties===null;if(!ae&&!se&&!ne&&!B&&!q&&!ie&&!le&&!Te)return;if(C+=1,ne&&!J&&ce){M+=1;return}let Fe=Z();if(!Fe)return;e.metadataCache.getFileCache(Fe)&&(ae||q||ie||le||Te||ne&&J||se||B)&&(M+=1)}),C>O&&(O=C),Date.now()-A>=mQ&&C>0&&!o.current&&X();let H=o.current,Y=H?.containerEl;if(H&&(!Y||!Y.isConnected)?l.current<wbe&&(l.current+=1,X()):H&&l.current!==0&&(l.current=0),M>0&&(V=!0,D=0),!V){if(Date.now()-A>=_){c();return}if(C===0&&(D+=1,D>=Sbe&&L.getFileCount()>0)){r?.(),c();return}G(0);return}let ee=Math.max(0,O-C);G(ee),C===0&&(r?.(),c())};i.current=window.setTimeout(()=>{n.current||s.current!==g||(i.current=null,E(),!(n.current||s.current!==g)&&(a.current=window.setInterval(E,ybe)))},mQ)},[e,c,r,n]);return{clearCacheRebuildNotice:c,startCacheRebuildNotice:u}}var xp,gQ,mQ,ybe,bbe,Sbe,wbe,fQ=U(()=>{xp=ue(ze()),gQ=require("obsidian");Ee();zn();Fn();Mr();Mb();mQ=500,ybe=2e3,bbe=6e4,Sbe=2,wbe=2});function vQ(){let[t,e]=(0,hM.useState)(!1);return(0,hM.useEffect)(()=>{let n=!1;return Q(async()=>{try{await kt().init(),n||e(!0)}catch(o){console.error("Database not available for StorageContext:",o),n||e(!1)}}),()=>{n=!0}},[]),t}var hM,yQ=U(()=>{hM=ue(ze());zn();ot()});var Rb,x_=U(()=>{Rb=class{constructor(){this.providers=new Map}registerProvider(e){this.providers.set(e.getContentType(),e)}getAllProviders(){return Array.from(this.providers.values())}getProvider(e){return this.providers.get(e)}getAllRelevantSettings(){let e=new Set;for(let n of this.providers.values())n.getRelevantSettings().forEach(o=>e.add(o));return Array.from(e)}async handleSettingsChange(e,n){let r=[],o=[],a=[];for(let i of this.providers.values()){let l=i.getRelevantSettings().some(u=>e[u]!==n[u]),c=i.shouldRegenerate(e,n);if((l||c)&&(i.stopProcessing(),r.push(i.waitForIdle())),c){let u={oldSettings:e,newSettings:n};o.push({provider:i,context:u})}(l||c)&&a.push(i.getContentType()),i.onSettingsChanged(n)}return r.length>0&&await Promise.all(r),o.length>0&&await Promise.all(o.map(({provider:i,context:s})=>i.clearContent(s))),a}queueFilesForAllProviders(e,n,r){let o=r?.include,a=r?.exclude;for(let i of this.providers.values()){let s=i.getContentType();o&&!o.includes(s)||a&&a.includes(s)||(i.startProcessing(n),i.queueFiles(e))}}stopAllProcessing(){for(let e of this.providers.values())e.stopProcessing()}}});var Db,E_=U(()=>{Db=class{constructor(e,n=3e3,r=50){this.app=e;this.ttlMs=n;this.maxEntries=r;this.cache=new Map}readFile(e){let n=e.path,r=e.stat.mtime,o=Date.now(),a=this.cache.get(n);if(a&&a.mtime===r&&a.expiresAt>o)return a.promise;let i=this.app.vault.cachedRead(e).catch(s=>{throw this.cache.delete(n),s});return this.cache.set(n,{mtime:r,expiresAt:o+this.ttlMs,promise:i}),this.prune(o),i}prune(e){for(let[n,r]of this.cache)r.expiresAt<=e&&this.cache.delete(n);for(;this.cache.size>this.maxEntries;)for(let n of this.cache.keys()){this.cache.delete(n);break}}}});function Tbe(t,e){let n=0;for(let r=e-1;r>=0&&t[r]==="\\";r-=1)n+=1;return n%2===1}function kbe(t,e){if(t.length===0)return t;let n=t[t.length-1]??"";return n===""||/\s/u.test(n)||e===""||/\s/u.test(e)?t:`${t} `}function Fbe(t,e){let n=t.lastIndexOf(`
`,e-1);return n===-1?0:n+1}function Pbe(t,e){let n=t.indexOf(`
`,e);return n===-1?t.length:n}function bQ(t){return t===32||t===9}function Cbe(t){return t>=48&&t<=57}function Nbe(t,e){if(e<0||e>=t.length||t.charCodeAt(e)!==36||Tbe(t,e))return null;let n=e+1,r=!1;t.charCodeAt(n)===36&&(r=!0,n+=1);let o=t.charCodeAt(n);if(!r&&bQ(o))return null;for(let a=n;a<t.length;a+=1){let i=t.charCodeAt(a);if(i===92){a+=1;continue}if(i!==36)continue;let s=t.charCodeAt(a+1),l=t.charCodeAt(a-1);if(!(!r&&!bQ(l)&&(Number.isNaN(s)||!Cbe(s)))&&!(r&&s===36))continue;let p=a+1;if(r){p+=1;for(let m=p;m<t.length;m+=1){let g=t[m];if(g===`
`){p=m+1;break}if(!g||!/\s/u.test(g))break}}return{start:e,end:p}}return null}function Ibe(t,e,n,r,o){let a=e;for(;a<n&&t.charCodeAt(a)===32;)a+=1;if(a-e>r)return!1;let s=0;for(;a<n&&t.charCodeAt(a)===36;)s+=1,a+=1;if(s<o)return!1;for(;a<n&&t.charCodeAt(a)===32;)a+=1;return a===n}function xbe(t,e){if(t.charCodeAt(e)!==36)return null;let n=Fbe(t,e),r=e-n;for(let s=n;s<e;s+=1)if(t.charCodeAt(s)!==32)return null;let o=e;for(;o<t.length&&t.charCodeAt(o)===36;)o+=1;let a=o-e;if(a<2)return null;for(;o<t.length&&t.charCodeAt(o)===32;)o+=1;if(o>=t.length||t.charCodeAt(o)!==10)return null;let i=o+1;for(;i<t.length;){let s=Pbe(t,i);if(Ibe(t,i,s,r,a))return{start:n,end:s};if(s>=t.length)return{start:n,end:s};i=s+1}return{start:n,end:t.length}}function Ebe(t,e){let n=t.indexOf("$",e);for(;n!==-1;){if(t.charCodeAt(n+1)===36){let o=xbe(t,n);if(o)return o}let r=Nbe(t,n);if(r)return r;n=t.indexOf("$",n+1)}return null}function SQ(t){if(!t.includes("$"))return t;let e=0,n="";for(;e<t.length;){let r=Ebe(t,e);if(!r){n+=t.slice(e);break}if(r.start<e||r.end<=r.start){n+=t.slice(e,e+1),e+=1;continue}n+=t.slice(e,r.start);let o=t[r.end]??"";n=kbe(n,o),e=r.end}return n}var wQ=U(()=>{});function fM(t){return TQ+=1,`@@NN_${t}_${Date.now().toString(36)}_${TQ}@@`}function vM(t,e){return`${t}_${e}@@`}function yM(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function FQ(t){return t.includes("&")?t.replace(/&(#x?[0-9a-fA-F]+|[a-zA-Z]+);/g,(e,n)=>{if(n.startsWith("#")){let o=n.slice(1),a=o.startsWith("x")||o.startsWith("X"),i=a?o.slice(1):o,s=Number.parseInt(i,a?16:10);if(!Number.isFinite(s)||s<0||s>1114111)return e;try{return String.fromCodePoint(s)}catch{return e}}return Mbe[n.toLowerCase()]??e}):t}function bM(t){return t.split(/\s+/).filter(Boolean).join(" ").trim()}function Rbe(t){let e=t.trimStart();if(!e.startsWith(">"))return 0;let n=0,r=0;for(;n<e.length&&e[n]===">";){for(r+=1,n+=1;n<e.length&&(e[n]===" "||e[n]==="	");)n+=1;if(n>=e.length||e[n]!==">")break}return r}function kQ(t,e){if(e<=0)return t;let n=0;for(;n<t.length&&(t[n]===" "||t[n]==="	");)n+=1;let r=e;for(;r>0&&n<t.length&&t[n]===">";){for(n+=1;n<t.length&&(t[n]===" "||t[n]==="	");)n+=1;r-=1}return t.slice(n)}function PQ(t){let e=t.indexOf(`
`),n=e===-1?t:t.slice(0,e),r=Rbe(n);if(r===0)return t;let o=kQ(n,r).trimStart();return/^[`~]{3,}/u.test(o)?t.split(/\r?\n/).map(s=>kQ(s,r)).join(`
`):t}function M_(t){let e=0;for(;e<t.length&&t[e]==="`";)e+=1;let n=t.length;for(;n>e&&t[n-1]==="`";)n-=1;return t.slice(e,n)}function R_(t,e){if(e.length===0)return t;let n=0,r="";return e.forEach(o=>{o.start>n&&(r+=t.slice(n,o.start)),r+=M_(t.slice(o.start,o.end)),n=o.end}),n<t.length&&(r+=t.slice(n)),r}function D_(t,e,n){let r=[];return e&&r.push(...t.inlineCodeRanges.map(o=>({...o,kind:"inline"}))),n&&r.push(...t.fencedCodeRanges.map(o=>({...o,kind:"fenced"}))),r.sort((o,a)=>o.start-a.start||o.end-a.end),r}function A_(t,e,n){let r=D_(e,n.includeInline,n.includeFenced);if(r.length===0)return{text:n.transform(t),context:n.contextWhenNoRanges};let o=0,a="",i=[],s=[];for(let l of r){l.start>o&&(a+=n.transform(t.slice(o,l.start)));let c=a.length,u=t.slice(l.start,l.end);a+=u;let p=a.length;l.kind==="inline"?i.push({start:c,end:p}):s.push({start:c,end:p}),o=l.end}return o<t.length&&(a+=n.transform(t.slice(o))),{text:a,context:{inlineCodeRanges:i,fencedCodeRanges:s}}}function SM(t,e,n){let r=n?.enabled??!0,o=n?.preserveInlineCode??!0,a=n?.preserveFencedCode??!0;return!r||!t.includes("<")?{text:t,context:e}:A_(t,e,{includeInline:o,includeFenced:a,transform:J$,contextWhenNoRanges:{inlineCodeRanges:[],fencedCodeRanges:[]}})}function CQ(t,e,n){let r=n?.enabled??!0,o=n?.preserveInlineCode??!0,a=n?.preserveFencedCode??!0;return!r||!t.includes("$")?{text:t,context:e}:A_(t,e,{includeInline:o,includeFenced:a,transform:SQ,contextWhenNoRanges:{inlineCodeRanges:[],fencedCodeRanges:[]}})}function NQ(t,e,n){let r=Math.min(t.length,n),o=t.slice(0,r),a=e.inlineCodeRanges.filter(s=>s.end<=r).map(s=>({...s})),i=e.fencedCodeRanges.filter(s=>s.end<=r).map(s=>({...s}));return{text:o,context:{inlineCodeRanges:a,fencedCodeRanges:i}}}function IQ(t){let{text:e,context:n}=t;if(!e.includes("![")&&!e.includes("[[")&&!e.includes("^[")&&!e.includes("[^"))return t;let r=p=>Xm(p,n.inlineCodeRanges)!==null||Xm(p,n.fencedCodeRanges)!==null,o=e.length,a=e.lastIndexOf("![[",o);a!==-1&&!r(a)&&e.indexOf("]]",a+3)===-1&&(o=a);let i=e.slice(0,o),s=i.lastIndexOf("[[");s!==-1&&(s===0||i[s-1]!=="!")&&!r(s)&&i.indexOf("]]",s+2)===-1&&(o=Math.min(o,s));let l=i.lastIndexOf("![");l!==-1&&!i.startsWith("![[",l)&&!r(l)&&i.indexOf(")",l+2)===-1&&(o=Math.min(o,l));let c=i.lastIndexOf("^[");c!==-1&&!r(c)&&i.indexOf("]",c+2)===-1&&(o=Math.min(o,c));let u=i.lastIndexOf("[^");return u!==-1&&!r(u)&&i.indexOf("]",u+2)===-1&&(o=Math.min(o,u)),o===e.length?t:NQ(e,n,o)}function wM(t,e,n,r){let o=Math.min(t.length,n),a=Math.min(t.length,r);if(t.length<=o)return{text:t,context:e};let i=o,s=Xm(i,e.inlineCodeRanges);s&&s.end>i&&(i=Math.min(a,s.end));let l=Xm(i,e.fencedCodeRanges);return l&&l.end>i&&(i=Math.min(a,l.end)),NQ(t,e,i)}function vF(t,e){return t.includes("&")?A_(t,e,{includeInline:!0,includeFenced:!0,transform:FQ,contextWhenNoRanges:e}):{text:t,context:e}}function xQ(t,e){if(!t.includes("<"))return t;let n=nc(t),o={inlineCodeRanges:wl(t,n),fencedCodeRanges:n};return SM(t,o,{...e,enabled:!0}).text}function EQ(t,e){if(!t.includes("&"))return t;let n=e?.preserveInlineCode??!0,r=e?.preserveFencedCode??!0;if(!n&&!r)return FQ(t);let o=r?nc(t):[],i={inlineCodeRanges:n?wl(t,o):[],fencedCodeRanges:o};return vF(t,i).text}var Mbe,TQ,TM=U(()=>{Hy();vz();wQ();Mbe=Object.freeze({amp:"&",lt:"<",gt:">",quot:'"',apos:"'",nbsp:" ",ndash:"–",mdash:"—",hellip:"…",copy:"©",reg:"®",trade:"™"}),TQ=0});function Bbe(t){if(!t.includes("\\"))return{protectedText:t,escapeSegments:[],escapeBase:""};let e=fM("ESC"),n=[];return{protectedText:t.replace(Lbe,(o,a)=>{let i=vM(e,n.length);return n.push(a),i}),escapeSegments:n,escapeBase:e}}function _be(t,e,n){if(e.length===0)return t;let r=new RegExp(`${yM(n)}_(\\d+)@@`,"g");return t.replace(r,(o,a)=>{let i=Number.parseInt(a,10);return Number.isNaN(i)||i<0||i>=e.length?"":e[i]})}function Hbe(t){let e=t.trim();if(!e)return"";let n=e.indexOf("|");if(n===-1)return e.startsWith("#")?e.slice(1):e;let r=e.slice(n+1).trim();if(r.length>0)return r;let o=e.slice(0,n).trim();return o.startsWith("#")?o.slice(1):o}function Vbe(t){return t.includes("[[")?t.replace(/!\[\[[^\]\n\r]*?\]\]/g," ").replace(/\[\[[^\]\n\r]*?\]\]/g,n=>{let r=Hbe(n.slice(2,-2));return r.length>0?r:" "}):t}function Ube(t){return t.replace(/^\s*(?:[-*+]\s+|\d+\.\s+)?\[(?: |x|X|\/|-)?\]\]?\s*/gm,"").replace(/^\s*([*_-])(?:\s*\1){2,}\s*$/gm,"")}function Kbe(t){return t.includes("^")?t.replace(/(^|[ \t])\^[0-9A-Za-z-]+(?=\s|$)/gm,"$1"):t}function Wbe(t,e,n){let r=fM("INLINE"),o=fM("CODE"),a=[],i=[],s=D_(e,!0,!0);if(s.length===0)return{protectedText:t,inlineSegments:a,fencedSegments:i,inlineBase:r,fencedBase:o};let l=0,c="";for(let u of s){if(u.start>l&&(c+=t.slice(l,u.start)),u.kind==="inline"){let p=M_(t.slice(u.start,u.end)),m=vM(r,a.length);a.push(p),c+=m}else{if(n){let h=c.length>0&&!/\s$/.test(c),b=t[u.end]??"",v=b!==""&&!/\s/.test(b);h&&v&&(c+=" "),l=u.end;continue}let p=kM(t.slice(u.start,u.end)),m=vM(o,i.length);i.push(p),c.length>0&&!/\s$/.test(c)&&(c+=" "),c+=m;let f=t[u.end]??"";f!==""&&!/\s/.test(f)&&(c+=" ")}l=u.end}return l<t.length&&(c+=t.slice(l)),{protectedText:c,inlineSegments:a,fencedSegments:i,inlineBase:r,fencedBase:o}}function jbe(t,e,n,r,o){let a=t;if(e.length>0){let i=new RegExp(`${yM(r)}_(\\d+)@@`,"g");a=a.replace(i,(s,l)=>{let c=Number.parseInt(l,10);return Number.isNaN(c)||c<0||c>=e.length?"":e[c]})}if(n.length>0){let i=new RegExp(`${yM(o)}_(\\d+)@@`,"g");a=a.replace(i,(s,l)=>{let c=Number.parseInt(l,10);return Number.isNaN(c)||c<0||c>=n.length?"":n[c]})}return a}function Gbe(t){if(t.length===0)return 0;let e=t[t.length-1],r=typeof e=="object"&&e!==null&&!Array.isArray(e)?3:2;return Math.max(t.length-r,0)}function kM(t){let e=PQ(t),n=e.match(/^\s*([`~]{3,})[^\n\r]*\r?\n?/);if(!n)return e;let r=n[1],o=r[0]??"`",a=r.length,i=e.slice(n[0].length),s=new RegExp(`\\r?\\n?\\s*${o}{${a},}(?:\\s*)$`);return i.replace(s,"")}function FM(t,e=!1,n=!0,r){let o=r&&r.fencedCodeRanges.length>0?r.fencedCodeRanges:nc(t),i={inlineCodeRanges:r&&r.inlineCodeRanges.length>0?r.inlineCodeRanges:wl(t,o),fencedCodeRanges:o},{protectedText:s,inlineSegments:l,fencedSegments:c,inlineBase:u,fencedBase:p}=Wbe(t,i,n),m=Bbe(s),g=m.protectedText.includes("\\")&&m.protectedText.includes(`
`)?m.protectedText.replace(zbe,`
`):m.protectedText,h=(g.includes(">")?g.replace(Obe,""):g).replace(Abe,(w,...k)=>{let F=k,P=Gbe(F),T=w.match(/^([`~]{3,})/u);if(T&&w.endsWith(T[1]))return n?"":kM(w);if(w.startsWith("%%")&&w.endsWith("%%")||w.match(/\[![\w-]+\]/))return"";if(w.startsWith("`")&&w.endsWith("`"))return w.slice(1,-1);if(w.startsWith("!")||w.match(/#[\w\-/]+(?=\s|$)/))return"";let I=w.trimStart();if(I.startsWith("^[")||I.startsWith("[^"))return"";let N=w.match(/(^|[^*\d])\*([^*\n]+)\*(?![*\d])/);if(N){let K=N[2];return typeof K!="string"||!K.trim()?w:`${N[1]??""}${K}`}let O=w.match(/(^|[^_a-zA-Z0-9])_([^_\n]+)_(?![_a-zA-Z0-9])/);if(O){let K=O[2];return typeof K!="string"||!K.trim()?w:`${O[1]??""}${K}`}if(w.match(/^#+\s+/))return e?"":w.replace(/^#+\s+/,"").trim();if(w.match(/^[-+\d]/)||w.match(/^\*\s+/)||w.match(/^\s*\|.*\|/))return"";for(let K=0;K<P;K+=1){let G=F[K];if(typeof G=="string")return G}return w}),b=Vbe(h),v=Ube(b),y=Kbe(v),S=_be(y,m.escapeSegments,m.escapeBase);return jbe(S,l,c,u,p)}var Dbe,Abe,Obe,Lbe,zbe,O_=U(()=>{Hy();TM();Dbe=[/([`~]{3,})[\s\S]*?\1/.source,/%%[\s\S]*?%%/.source,/`[^`]+`/.source,/!\[.*?\]\([^)]+\)/.source,/!\[\[.*?\]\]/.source,/#[\w\-/]+(?=\s|$)/.source,/\\([*_~`])/.source,/\*\*\*((?:(?!\*\*\*).)+)\*\*\*/.source,/___((?:(?!___).)+)___/.source,/\*\*_((?:(?!_\*\*).)+)_\*\*/.source,/__\*((?:(?!\*__).)+)\*__/.source,/\*\*==((?:(?!==\*\*).)+)==\*\*/.source,/==\*\*((?:(?!\*\*==).)+)\*\*==/.source,/__==((?:(?!==__).)+)==__/.source,/==__((?:(?!__==).)+)__==/.source,/\*\*((?:(?!\*\*).)+)\*\*/.source,/__((?:(?!__).)+)__/.source,/(^|[^*\d])\*([^*\n]+)\*(?![*\d])/.source,/(^|[^_a-zA-Z0-9])_([^_\n]+)_(?![_a-zA-Z0-9])/.source,/~~((?:(?!~~).)+)~~/.source,/==((?:(?!==).)+)==/.source,/\[([^\]]+)\]\([^)]+\)/.source,/\[![\w-]+\][+-]?(?:\s+[^\n]*)?/.source,/^(?:[-*+]\s+|\d+\.\s+)/.source,/^(#+)\s+(.*)$/m.source,/^\s*\|.*\|.*$/m.source,/\^\[[^\]]*?]/.source,/\[\^[^\]]+]/.source,/^\s*\[\^[^\]]+]:.*$/m.source],Abe=new RegExp(Dbe.join("|"),"gm"),Obe=/^\s{0,3}(?:>\s*)+/gm,Lbe=/\\([\u0021-\u002F\u003A-\u0040\u005B-\u0060\u007B-\u007E])/g,zbe=/\\\r?\n/g});function Ybe(t){return t.replace(/^---\r?\n[\s\S]*?\r?\n---\r?\n?/,"")}function $be(t){if(typeof t=="string"){let e=t.trim();return e.length>0?e:null}if(Array.isArray(t))for(let e of t){if(typeof e!="string")continue;let n=e.trim();if(n)return n}return null}function MQ(t,e){if(!t.text.trim())return"";let n=e.stripHtmlInPreview?SM(t.text,t.context,{enabled:!0,preserveFencedCode:!0}):t;if(!n.text.trim())return"";let r=e.stripLatexInPreview?CQ(n.text,n.context,{enabled:!0}):n;if(!r.text.trim())return"";let o=vF(r.text,r.context);if(!o.text.trim())return"";let a=IQ(o);if(!a.text.trim())return"";let i=FM(a.text,e.skipHeadingsInPreview,e.skipCodeBlocksInPreview,a.context),s=bM(i);return s?s.length>PM?`${s.substring(0,PM-1)}…`:s:""}function AQ(t,e){return!!(kA(t)||fC(e))}function OQ(t,e){let n=e?.stripHtml!==!1;if(!(n&&t.includes("<"))){let u=wl(t),p=vF(t,{inlineCodeRanges:u,fencedCodeRanges:[]}),m=R_(p.text,p.context.inlineCodeRanges),g=bM(m);return g.length>0?g:void 0}let o=nc(t),a={inlineCodeRanges:wl(t,o),fencedCodeRanges:o},i=n?SM(t,a,{enabled:!0}):{text:t,context:a},s=vF(i.text,i.context),l=R_(s.text,s.context.inlineCodeRanges),c=bM(l);return c.length>0?c:void 0}function LQ(t,e,n){let r=PM+RQ,o=DQ,a=e.previewProperties.length>0,i=e.previewPropertiesFallback;if(n&&a)for(let c of e.previewProperties){let u=sl(n,c),p=$be(u);if(!p)continue;let m=p.length>o?p.slice(0,o):p,g=nc(m),f=wl(m,g),h=wM(m,{inlineCodeRanges:f,fencedCodeRanges:g},r,o),b=MQ(h,e);if(b)return b}if(a&&!i||!t)return"";let s=Ybe(t);if(!s.trim())return"";let l=e.skipCodeBlocksInPreview?(()=>{let c=q$(s,o,qbe);if(!c)return{text:"",context:{inlineCodeRanges:[],fencedCodeRanges:[]}};let u=wl(c);return wM(c,{inlineCodeRanges:u,fencedCodeRanges:[]},r,o)})():(()=>{let c=s.length>o?s.slice(0,o):s,u=nc(c),p=wl(c,u);return wM(c,{inlineCodeRanges:p,fencedCodeRanges:u},r,o)})();return MQ(l,e)}var PM,RQ,DQ,qbe,zQ=U(()=>{Hy();rs();Ot();TM();O_();PM=500,RQ=400,DQ=PM+RQ*2,qbe=DQ*50});var Ab,L_=U(()=>{TM();O_();zQ();Ab=class{static isExcalidrawFile(e,n){return AQ(e,n)}static stripMarkdownSyntax(e,n=!1,r=!0,o){return FM(e,n,r,o)}static stripHtmlTagsPreservingCode(e,n){return xQ(e,n)}static decodeHtmlEntitiesPreservingCode(e,n){return EQ(e,n)}static normalizeExcerpt(e,n){return OQ(e,n)}static extractCodeBlockContent(e){return kM(e)}static extractPreviewText(e,n,r){return LQ(e,n,r)}}});function CM(t){if(!t)return{shouldClearPreview:!0,shouldClearProperties:!0,shouldClearFeatureImage:!0,shouldClearWordCounts:!0,shouldClearCharacterCounts:!0};let{oldSettings:e,newSettings:n}=t,o=e.skipHeadingsInPreview!==n.skipHeadingsInPreview||e.skipCodeBlocksInPreview!==n.skipCodeBlocksInPreview||e.stripHtmlInPreview!==n.stripHtmlInPreview||e.stripLatexInPreview!==n.stripLatexInPreview||!go(e.previewProperties,n.previewProperties)||e.previewPropertiesFallback!==n.previewPropertiesFallback||e.showFilePreview!==n.showFilePreview,a=kv(e)!==kv(n),i=!go(e.featureImageProperties,n.featureImageProperties),l=!go(e.featureImageExcludeProperties,n.featureImageExcludeProperties)||e.featureImagePixelSize!==n.featureImagePixelSize||e.showFeatureImage&&!n.showFeatureImage||n.showFeatureImage&&(i||e.downloadExternalFeatureImages!==n.downloadExternalFeatureImages);return{shouldClearPreview:o,shouldClearProperties:a,shouldClearFeatureImage:l,shouldClearWordCounts:!Pp(e)&&Pp(n),shouldClearCharacterCounts:!Cp(e)&&Cp(n)}}function Xbe(t,e){let n=t.frontmatterPosition?.end?.offset;if(typeof n!="number"||n<=0)return 0;let r=Math.min(Math.max(0,n),e.length);for(;r<e.length;){let o=e[r];if(o!==`
`&&o!=="\r")break;r+=1}return r}function Qbe(t){let e=t.indexOf(`
`),n=e===-1?t:t.slice(0,e);if((n.charCodeAt(0)===65279?n.slice(1):n).trim()!=="---"||e===-1)return null;let o=e+1,a=o;for(;a<=t.length;){let i=t.indexOf(`
`,a),s=i===-1?t.length:i,c=t.slice(a,s).trim();if(c==="---"||c==="...")return t.slice(o,a).trim();if(i===-1)break;a=s+1}return null}function Zbe(t,e){let n=Qbe(e);if(!n)return null;try{let r=(0,NM.parseYaml)(n);return Lv(t,r)}catch{return null}}function Jbe(t,e){let n=$m(t,e);if(n>=t.length)return null;let r=t[n];if(r==="-"||r==="*")n+=1;else{let a=t.charCodeAt(n);if(a<49||a>57)return null;for(n+=1;n<t.length;){let i=t.charCodeAt(n);if(i<48||i>57)break;n+=1}if(t[n]!==".")return null;n+=1}if(n>=t.length||!pz(t.charCodeAt(n))||(n=$m(t,n),n+2>=t.length)||t[n]!=="["||t[n+2]!=="]"||t.slice(n+3).trim().length===0)return null;let o=t[n+1];return o===" "?"unfinished":o==="x"||o==="X"?"complete":null}function eSe(t,e){let n=Math.min(Math.max(0,e),t.length),r=n===0?t:t.slice(n);if(r.length===0)return{taskTotal:0,taskUnfinished:0};let o=0,a=0,i=0,s=!1,l="",c=0,u=0;for(;i<r.length;){let p=r.indexOf(`
`,i),m=p===-1?r.length:p,g=r.slice(i,m);g.endsWith("\r")&&(g=g.slice(0,-1));let f=mz(g);if(s)l!==""&&hz(g,u,l,c,f)&&(s=!1,l="",c=0,u=0);else{let h=gz(g,f);if(h)s=!0,l=h.markerChar,c=h.markerLength,u=h.depth;else{let b=Jbe(g,f.nextIndex);b&&(o+=1,b==="unfinished"&&(a+=1))}}if(p===-1)break;i=m+1}return{taskTotal:o,taskUnfinished:a}}function BQ(t){if(t===null)return[{value:""}];if(typeof t=="string"){let e=t.trim();return e.length>0?[{value:e,valueKind:"string"}]:[]}if(typeof t=="number")return Number.isFinite(t)?[{value:t.toString(),valueKind:"number"}]:[];if(typeof t=="boolean")return[{value:t?"true":"false",valueKind:"boolean"}];if(Array.isArray(t)){let e=[];for(let n of t)e.push(...BQ(n));return e}return[]}function z_(t,e){if(!t)return[];let n=[];for(let r=0;r<e.length;r+=1){let o=e[r],a=Yo(t,o);if(!a)continue;let i=BQ(t[a]);if(i.length!==0)for(let s=0;s<i.length;s+=1){let l=i[s];n.push({fieldKey:a,value:l.value,valueKind:l.valueKind})}}return n}var NM,Ob,B_=U(()=>{NM=require("obsidian");Ud();zn();Sl();ed();Hy();L_();Ot();Am();gl();Nb();I_();c_();mM();Ob=class extends Cb{constructor(){super(...arguments);this.PARALLEL_LIMIT=$t.contentProvider.parallelLimit;this.readFailureAttemptsByPath=new Map;this.emptyFrontmatterRetryCounts=new Map;this.processors=[{id:"preview",needsProcessing:n=>gf(n.settings)&&(!n.fileData||n.fileModified||n.fileData.previewStatus==="unprocessed")&&(n.hasContent||n.isDrawing),run:async n=>await this.processPreview(n)},{id:"wordCount",needsProcessing:n=>Pp(n.settings)&&(!n.fileData||n.fileModified||n.fileData.wordCount===null)?n.isDrawing||n.hasContent:!1,run:async n=>await this.processWordCount(n)},{id:"characterCount",needsProcessing:n=>Cp(n.settings)&&(!n.fileData||n.fileModified||n.fileData.characterCountWithSpaces===null||n.fileData.characterCountWithoutSpaces===null)?n.isDrawing||n.hasContent:!1,run:async n=>await this.processCharacterCount(n)},{id:"tasks",needsProcessing:n=>hf(n.settings)&&(!n.fileData||n.fileModified||n.fileData.taskTotal===null||n.fileData.taskUnfinished===null)?n.isDrawing||n.taskCountsFromMetadata!==null||n.hasContent:!1,run:async n=>await this.processTasks(n)},{id:"properties",needsProcessing:n=>!n.propertiesEnabled||!Np(n.settings)?!1:!n.fileData||n.fileModified||n.fileData.properties===null,run:async n=>await this.processProperties(n)},{id:"featureImage",needsProcessing:n=>!Cg(n.settings)||!n.isDrawing&&!n.featureImageReference&&!n.hasContent&&!n.featureImageExcluded?!1:!n.fileData||n.fileModified||n.fileData.featureImageKey===null||n.fileData.featureImageStatus==="unprocessed"||!n.featureImageExcluded&&n.drawingProviderId!==null&&n.fileData.featureImageKey!==Uc(n.file,n.drawingProviderId),run:async n=>await this.processFeatureImage(n)}]}getContentType(){return"markdownPipeline"}getRelevantSettings(){return["showFilePreview","skipHeadingsInPreview","skipCodeBlocksInPreview","stripHtmlInPreview","stripLatexInPreview","previewProperties","previewPropertiesFallback","showFeatureImage","featureImageProperties","featureImageExcludeProperties","featureImagePixelSize","downloadExternalFeatureImages","textCountDisplay","showTooltips","showTooltipWordCount","showFileIconUnfinishedTask","showFileBackgroundUnfinishedTask","calendarEnabled","manualSortGroupHeaderProperty","manualSortPropertyKey","noteGrouping","folderAppearances","tagAppearances","propertyAppearances","wordCountTargetProperty"]}recordReadFailure(n){let o=(this.readFailureAttemptsByPath.get(n)??0)+1;return this.readFailureAttemptsByPath.set(n,o),{attempts:o,shouldFallback:o>=$t.contentProvider.retry.maxAttempts}}clearReadFailures(n){this.readFailureAttemptsByPath.delete(n)}shouldRegenerate(n,r){let{shouldClearPreview:o,shouldClearProperties:a,shouldClearFeatureImage:i,shouldClearWordCounts:s,shouldClearCharacterCounts:l}=CM({oldSettings:n,newSettings:r});return o||a||i||s||l}async clearContent(n){let{shouldClearPreview:r,shouldClearProperties:o,shouldClearFeatureImage:a,shouldClearWordCounts:i,shouldClearCharacterCounts:s}=CM(n);if(!r&&!o&&!a&&!i&&!s)return;let l=kt();r&&await l.batchClearAllFileContent("preview"),o&&await l.batchClearAllFileContent("properties"),a&&await l.batchClearFeatureImageContent("markdown"),i&&await l.batchClearAllFileContent("wordCount"),s&&await l.batchClearAllFileContent("characterCount"),this.emptyFrontmatterRetryCounts.clear()}needsProcessing(n,r,o){if(r.extension!=="md")return!1;let a=gu(o);if(a.length===0)return!1;let i=Np(o),s=n!==null&&n.markdownPipelineMtime!==r.stat.mtime;if(!n)return!0;if(s){if(a.length===1&&a[0]==="tasks"){let h=this.app.metadataCache.getFileCache(r),b=h?Ib(h):null;if(b!==null&&xb(n,b))return!1}return!0}let l=gf(o)&&n.previewStatus==="unprocessed",c=Cg(o)&&(n.featureImageKey===null||n.featureImageStatus==="unprocessed");if(Cg(o)&&!c){let f=this.app.metadataCache.getFileCache(r)?.frontmatter;if(!bw(o.featureImageExcludeProperties).matches(f)){let b=Lv(r,f),v=b?Uc(r,b):null;c=v!==null&&n.featureImageKey!==v}}let u=i&&n.properties===null,p=Pp(o)&&n.wordCount===null,m=Cp(o)&&(n.characterCountWithSpaces===null||n.characterCountWithoutSpaces===null),g=hf(o)&&(n.taskTotal===null||n.taskUnfinished===null);return l||c||u||p||m||g}async processFile(n,r,o){if(n.file.extension!=="md")return{update:null,processed:!0};if(gu(o).length===0)return{update:null,processed:!0};let a=XA(o),i=Np(o)&&a.length>0,s=gf(o),l=Cg(o),c=Pp(o),u=Cp(o),p=hf(o),m=s&&o.previewProperties.length>0,g=l&&o.featureImageProperties.length>0,f=l&&o.featureImageExcludeProperties.length>0,h=this.app.metadataCache.getFileCache(n.file);if(!h)return this.emptyFrontmatterRetryCounts.delete(n.path),{update:null,processed:!1};let b=h.frontmatter??null,v=Lv(n.file,b),y=v!==null,S=r!==null&&r.markdownPipelineMtime!==n.file.stat.mtime,w=s&&(!r||S||r.previewStatus==="unprocessed")&&!y,k=m&&w,F=i&&(r===null||S||r.properties===null),P=l&&(!r||S||r.featureImageKey===null||r.featureImageStatus==="unprocessed")&&!y;if(b===null&&(F||k||P&&(g||f))){let ee=this.emptyFrontmatterRetryCounts.get(n.path)??0;if(Date.now()-n.file.stat.mtime<=$t.contentProvider.metadataCache.recentFileWindowMs&&ee<$t.contentProvider.metadataCache.emptyValueRetryLimit)return this.emptyFrontmatterRetryCounts.set(n.path,ee+1),{update:null,processed:!1}}let I=bw(o.featureImageExcludeProperties),N=l&&b!==null&&I.matches(b),K=c&&(!r||S||r.wordCount===null)&&!y,X=u&&(!r||S||r.characterCountWithSpaces===null||r.characterCountWithoutSpaces===null)&&!y,L=p&&(!r||S||r.taskTotal===null||r.taskUnfinished===null),V=L?y?{taskTotal:0,taskUnfinished:0}:Ib(h):null,D=L&&!y&&V===null,A=P&&b&&!N?d_({app:this.app,file:n.file,content:"",settings:o,frontmatter:b,bodyStartIndex:0}):null,_=w||K||X||D||P&&!N&&!A,E={path:n.path},R=()=>V&&(!r||!xb({taskTotal:r.taskTotal,taskUnfinished:r.taskUnfinished},V))?(E.taskTotal=V.taskTotal,E.taskUnfinished=V.taskUnfinished,!0):!1;if(_){let ee=NM.Platform.isMobile?$t.markdown.maxReadBytes.mobile:$t.markdown.maxReadBytes.desktop;if(n.file.stat.size>ee){if(b===null&&!y&&P&&n.file.name.toLowerCase().endsWith(".md")){let J=this.emptyFrontmatterRetryCounts.get(n.path)??0;if(Date.now()-n.file.stat.mtime<=$t.contentProvider.metadataCache.recentFileWindowMs&&J<$t.contentProvider.metadataCache.emptyValueRetryLimit)return this.emptyFrontmatterRetryCounts.set(n.path,J+1),{update:null,processed:!1}}this.emptyFrontmatterRetryCounts.delete(n.path);let j=R();if(K&&(!r||r.wordCount!==0)&&(E.wordCount=0,j=!0),X&&(!r||r.characterCountWithSpaces!==0||r.characterCountWithoutSpaces!==0)&&(E.characterCountWithSpaces=0,E.characterCountWithoutSpaces=0,j=!0),D&&(!r||r.taskTotal!==0||r.taskUnfinished!==0)&&(E.taskTotal=0,E.taskUnfinished=0,j=!0),i){let J=z_(b,a);(!r||r.properties===null||!wh(r.properties,J))&&(E.properties=J,j=!0)}if(w&&(!r||r.previewStatus!=="none")&&(E.preview="",j=!0),P&&(A||N)){let J=await this.processMarkdownFeatureImage({file:n.file,fileData:r,settings:o,content:"",frontmatter:b,bodyStartIndex:0,drawingProviderId:v,featureImageReference:A,featureImageExcluded:N});J&&(E.featureImageKey=J.featureImageKey,E.featureImage=J.featureImage,j=!0)}else P&&!A&&(!r||r.featureImageKey===null||r.featureImageStatus==="unprocessed")&&(E.featureImageKey=r?.featureImageKey??"",E.featureImage=this.createEmptyBlob(),j=!0);return j?{update:E,processed:!0}:{update:null,processed:!0}}}this.emptyFrontmatterRetryCounts.delete(n.path);let M,C=!1,x=0,z=0;try{_?(M=await this.readFileContent(n.file),C=!0,x=Xbe(h,M),z=OG(M),this.clearReadFailures(n.path)):M=""}catch(ee){console.error(`Error reading markdown content for ${n.path}:`,ee);let{shouldFallback:$}=this.recordReadFailure(n.path),j=R();if(K&&(!r||r.wordCount===null||$&&r.wordCount!==0)&&(E.wordCount=0,j=!0),X&&(!r||r.characterCountWithSpaces===null||r.characterCountWithoutSpaces===null||$&&(r.characterCountWithSpaces!==0||r.characterCountWithoutSpaces!==0))&&(E.characterCountWithSpaces=0,E.characterCountWithoutSpaces=0,j=!0),D&&(!r||r.taskTotal===null||r.taskUnfinished===null||$&&(r.taskTotal!==0||r.taskUnfinished!==0))&&(E.taskTotal=0,E.taskUnfinished=0,j=!0),i){let J=z_(b,a);(!r||r.properties===null||!wh(r.properties,J))&&(E.properties=J,j=!0)}if(w&&$&&(!r||r.previewStatus!=="none")&&(E.preview="",j=!0),P&&A){let J=await this.processMarkdownFeatureImage({file:n.file,fileData:r,settings:o,content:"",frontmatter:b,bodyStartIndex:0,drawingProviderId:v,featureImageReference:A,featureImageExcluded:N});J&&(E.featureImageKey=J.featureImageKey,E.featureImage=J.featureImage,j=!0)}else if(P&&N){let J=await this.processMarkdownFeatureImage({file:n.file,fileData:r,settings:o,content:"",frontmatter:b,bodyStartIndex:0,drawingProviderId:v,featureImageReference:null,featureImageExcluded:N});J&&(E.featureImageKey=J.featureImageKey,E.featureImage=J.featureImage,j=!0)}else P&&!A&&$&&(!r||r.featureImageKey===null||r.featureImageStatus==="unprocessed")&&(E.featureImageKey=r?.featureImageKey??"",E.featureImage=this.createEmptyBlob(),j=!0);return j?{update:E,processed:$}:{update:null,processed:$}}!y&&b===null&&(v=Zbe(n.file,M),y=v!==null);let H={file:n.file,fileData:r,settings:o,content:M,frontmatter:b,bodyStartIndex:x,textCountStartIndex:z,isDrawing:y,drawingProviderId:v,fileModified:S,propertiesEnabled:i,propertyNameFields:a,hasContent:C,featureImageReference:A,featureImageExcluded:N,taskCountsFromMetadata:V};for(let ee of this.processors){if(!ee.needsProcessing(H))continue;let $=await ee.run(H);$&&($.wordCount!==void 0&&(E.wordCount=$.wordCount),$.characterCountWithSpaces!==void 0&&(E.characterCountWithSpaces=$.characterCountWithSpaces),$.characterCountWithoutSpaces!==void 0&&(E.characterCountWithoutSpaces=$.characterCountWithoutSpaces),$.taskTotal!==void 0&&(E.taskTotal=$.taskTotal),$.taskUnfinished!==void 0&&(E.taskUnfinished=$.taskUnfinished),$.preview!==void 0&&(E.preview=$.preview),$.properties!==void 0&&(E.properties=$.properties),$.featureImageKey!==void 0&&(E.featureImageKey=$.featureImageKey),$.featureImage!==void 0&&(E.featureImage=$.featureImage))}return E.wordCount!==void 0||E.characterCountWithSpaces!==void 0||E.characterCountWithoutSpaces!==void 0||E.taskTotal!==void 0||E.taskUnfinished!==void 0||E.preview!==void 0||E.properties!==void 0||E.featureImageKey!==void 0?{update:E,processed:!0}:{update:null,processed:!0}}async processPreview(n){try{let r=n.isDrawing?"":Ab.extractPreviewText(n.content,n.settings,n.frontmatter??void 0);if(!n.fileData)return{preview:r};if(r.length===0&&n.fileData.previewStatus==="none")return null;if(n.fileData.previewStatus==="has"){let a=kt().getCachedPreviewText(n.file.path);if(a.length>0&&a===r)return null}return{preview:r}}catch(r){return console.error(`Error generating preview for ${n.file.path}:`,r),!n.fileData||n.fileData.previewStatus==="unprocessed"?{preview:""}:null}}async processWordCount(n){try{let r=n.isDrawing?0:AG(n.content,n.textCountStartIndex);return!n.fileData||n.fileData.wordCount===null||n.fileData.wordCount!==r?{wordCount:r}:null}catch(r){return console.error(`Error generating word count for ${n.file.path}:`,r),!n.fileData||n.fileData.wordCount===null?{wordCount:0}:null}}async processCharacterCount(n){try{let r=n.isDrawing?{withSpaces:0,withoutSpaces:0}:LG(n.content,n.textCountStartIndex);return!n.fileData||n.fileData.characterCountWithSpaces===null||n.fileData.characterCountWithoutSpaces===null||n.fileData.characterCountWithSpaces!==r.withSpaces||n.fileData.characterCountWithoutSpaces!==r.withoutSpaces?{characterCountWithSpaces:r.withSpaces,characterCountWithoutSpaces:r.withoutSpaces}:null}catch(r){return console.error(`Error generating character count for ${n.file.path}:`,r),!n.fileData||n.fileData.characterCountWithSpaces===null||n.fileData.characterCountWithoutSpaces===null?{characterCountWithSpaces:0,characterCountWithoutSpaces:0}:null}}async processTasks(n){try{let r=n.isDrawing?{taskTotal:0,taskUnfinished:0}:n.taskCountsFromMetadata??eSe(n.content,n.bodyStartIndex);return!n.fileData||n.fileData.taskTotal===null||n.fileData.taskUnfinished===null||n.fileData.taskTotal!==r.taskTotal||n.fileData.taskUnfinished!==r.taskUnfinished?{taskTotal:r.taskTotal,taskUnfinished:r.taskUnfinished}:null}catch(r){return console.error(`Error generating tasks for ${n.file.path}:`,r),!n.fileData||n.fileData.taskTotal===null||n.fileData.taskUnfinished===null?{taskTotal:0,taskUnfinished:0}:null}}async processProperties(n){try{let r=z_(n.frontmatter,n.propertyNameFields);return!n.fileData||n.fileData.properties===null||!wh(n.fileData.properties,r)?{properties:r}:null}catch(r){return console.error(`Error generating property values for ${n.file.path}:`,r),!n.fileData||n.fileData.properties===null?{properties:[]}:null}}async processFeatureImage(n){let r=await this.processMarkdownFeatureImage({file:n.file,fileData:n.fileData,settings:n.settings,content:n.content,frontmatter:n.frontmatter,bodyStartIndex:n.bodyStartIndex,drawingProviderId:n.drawingProviderId,featureImageReference:n.featureImageReference,featureImageExcluded:n.featureImageExcluded});return r?{featureImageKey:r.featureImageKey,featureImage:r.featureImage}:null}async processMarkdownFeatureImage(n){if(n.featureImageExcluded)return n.fileData?.featureImageKey===""&&n.fileData.featureImageStatus==="none"?null:{featureImageKey:"",featureImage:this.createEmptyBlob()};if(n.drawingProviderId){let i=Uc(n.file,n.drawingProviderId);return n.fileData?.featureImageKey===i&&n.fileData.featureImageStatus==="none"?null:{featureImageKey:i,featureImage:this.createEmptyBlob()}}let r=n.featureImageReference??d_({app:this.app,file:n.file,content:n.content,settings:n.settings,frontmatter:n.frontmatter,bodyStartIndex:n.bodyStartIndex});if(!r)return n.fileData&&n.fileData.featureImageKey===""?null:{featureImageKey:"",featureImage:this.createEmptyBlob()};let o=this.getFeatureImageKey(r);if(n.fileData?.featureImageKey===o&&n.fileData.featureImageStatus==="has")return null;try{let i=await this.createThumbnailBlob(r,n.settings);return{featureImageKey:o,featureImage:i??this.createEmptyBlob()}}catch(i){return console.error(`Error generating feature image for ${n.file.path}:`,i),{featureImageKey:o,featureImage:this.createEmptyBlob()}}}}});function tSe(t,e){if(t===e)return!0;if(t.length!==e.length)return!1;let n=[...t].sort(),r=[...e].sort();return n.every((o,a)=>o===r[a])}var IM,_Q=U(()=>{zn();rk();Yr();dn();lM();IM=class extends Fg{constructor(){super(...arguments);this.pendingHiddenStates=new Map}clearPendingHiddenStates(){this.pendingHiddenStates.size>0&&this.pendingHiddenStates.clear()}getContentType(){return"metadata"}getRelevantSettings(){return["useFrontmatterMetadata","frontmatterNameField","frontmatterIconField","frontmatterColorField","frontmatterBackgroundField","frontmatterCreatedField","frontmatterModifiedField","frontmatterDateFormat","vaultProfile","vaultProfiles"]}shouldRegenerate(n,r){let o=Qo(n),a=Qo(r);return!tSe(o,a)||!r.useFrontmatterMetadata&&n.useFrontmatterMetadata?!0:r.useFrontmatterMetadata?n.useFrontmatterMetadata!==r.useFrontmatterMetadata||n.frontmatterNameField!==r.frontmatterNameField||n.frontmatterIconField!==r.frontmatterIconField||n.frontmatterColorField!==r.frontmatterColorField||n.frontmatterBackgroundField!==r.frontmatterBackgroundField||n.frontmatterCreatedField!==r.frontmatterCreatedField||n.frontmatterModifiedField!==r.frontmatterModifiedField||n.frontmatterDateFormat!==r.frontmatterDateFormat:!1}async clearContent(n){this.clearPendingHiddenStates(),await kt().batchClearAllFileContent("metadata")}onSettingsChanged(n){super.onSettingsChanged(n),Qo(n).length===0&&this.clearPendingHiddenStates()}stopProcessing(){super.stopProcessing(),this.clearPendingHiddenStates()}needsProcessing(n,r,o){let a=Qo(o);if(!(o.useFrontmatterMetadata||a.length>0)||r.extension!=="md")return!1;let s=a.length>0,l=s?po(a):null,c=!1,u=!1,p=()=>{c||!l||(u=Xo(r,l,this.app),c=!0)},m=()=>{c&&this.pendingHiddenStates.set(r.path,u)},g=n!==null&&n.metadataMtime!==r.stat.mtime;return!n||n.metadata===null||g?(p(),m(),!0):s&&(p(),n.metadata?.hidden!==u)?(m(),!0):!1}async processFile(n,r,o){if(n.file.extension!=="md")return{update:null,processed:!0};let a=Qo(o),i=o.useFrontmatterMetadata,s=a.length>0,l=s?po(a):null;if(!i&&!s)return{update:null,processed:!0};try{let c=this.app.metadataCache.getFileCache(n.file);if(!c&&(i||s&&n.file.extension==="md"))return{update:null,processed:!1};let u=i?Fz(c,o):{},p={};if(i&&(u.fn&&(p.name=u.fn),u.fc!==void 0&&(p.created=u.fc),u.fm!==void 0&&(p.modified=u.fm),u.icon&&(p.icon=u.icon),u.color&&(p.color=u.color),u.background&&(p.background=u.background)),s&&n.file.extension==="md"){let g,f=this.pendingHiddenStates.get(n.path);f!==void 0?(g=f,this.pendingHiddenStates.delete(n.path)):g=l?Xo(n.file,l,this.app):!1,p.hidden=g}let m=Object.keys(p).length>0?p:{};return r&&this.metadataEqual(r.metadata,m)?{update:null,processed:!0}:{update:{path:n.path,metadata:m},processed:!0}}catch(c){return console.error(`Error extracting metadata for ${n.path}:`,c),{update:null,processed:!1}}}metadataEqual(n,r){if(n===null&&r===null)return!0;if(n===null||r===null)return!1;let o=Object.keys(n),a=Object.keys(r);return o.length!==a.length?!1:o.every(i=>{let s=i;return n[s]===r[s]})}}});var HQ,xM,VQ=U(()=>{HQ=require("obsidian");Ud();zn();Sn();lM();xM=class extends Fg{constructor(){super(...arguments);this.emptyTagRetryCounts=new Map}getContentType(){return"tags"}getRelevantSettings(){return["showTags"]}shouldRegenerate(n,r){return!!(!r.showTags&&n.showTags||r.showTags&&!n.showTags)}async clearContent(n){await kt().batchClearAllFileContent("tags"),this.emptyTagRetryCounts.clear()}needsProcessing(n,r,o){if(!o.showTags||r.extension!=="md")return!1;let a=n!==null&&n.tagsMtime!==r.stat.mtime;return!n||n.tags===null||a}async processFile(n,r,o){if(!o.showTags)return{update:null,processed:!0};if(n.file.extension!=="md")return{update:null,processed:!0};try{let a=this.app.metadataCache.getFileCache(n.file);if(!a)return this.emptyTagRetryCounts.delete(n.path),{update:null,processed:!1};let i=(0,HQ.getAllTags)(a),s=sO(i),l=r!==null&&r.tagsMtime===0&&r.tags!==null&&r.tags.length>0&&s.length===0,c=r!==null&&r.tagsMtime===0&&r.tags===null&&s.length===0&&Date.now()-n.file.stat.mtime<=$t.contentProvider.metadataCache.recentFileWindowMs,u=l||c;if(u||this.emptyTagRetryCounts.delete(n.path),u){let p=this.emptyTagRetryCounts.get(n.path)??0;if(p<$t.contentProvider.metadataCache.emptyValueRetryLimit)return this.emptyTagRetryCounts.set(n.path,p+1),{update:null,processed:!1};this.emptyTagRetryCounts.delete(n.path)}return r&&this.tagsEqual(r.tags,s)?{update:null,processed:!0}:{update:{path:n.path,tags:s},processed:!0}}catch(a){return console.error(`Error extracting tags for ${n.path}:`,a),{update:null,processed:!1}}}tagsEqual(n,r){return n===r?!0:n===null||r===null||n.length!==r.length?!1:n.every((o,a)=>o===r[a])}}});function KQ(t){let{app:e,contentRegistryRef:n,pendingSyncTimeoutIdRef:r,clearCacheRebuildNotice:o}=t;(0,UQ.useEffect)(()=>{if(!n.current){let a=new Db(e),i=P_();n.current=new Rb,n.current.registerProvider(new Ob(e,a,i)),n.current.registerProvider(new Cb(e,a,i)),n.current.registerProvider(new IM(e)),n.current.registerProvider(new xM(e))}return()=>{o(),n.current&&(n.current.stopAllProcessing(),n.current=null),r.current!==null&&(typeof window<"u"&&window.clearTimeout(r.current),r.current=null)}},[e,o,n,r])}var UQ,WQ=U(()=>{UQ=ue(ze());x_();E_();B_();mM();_Q();VQ()});function gs(t){let e=[];fF(t)&&e.push("markdownPipeline"),t.showTags&&e.push("tags");let n=Qo(t);return(t.useFrontmatterMetadata||n.length>0)&&e.push("metadata"),e}function Ng(t){let e=new Set;gu(t).forEach(n=>e.add(n));for(let n of gs(t))(n==="tags"||n==="metadata")&&e.add(n);return Array.from(e)}function EM(t,e){if(t.length===0||e.length===0)return 0;if(e.includes("featureImage"))return t.length;if(!e.some(a=>a!=="featureImage"))return 0;let o=0;for(let a of t)qo(a.path)&&(o+=1);return o}function __(t,e){return(e??gs(t)).filter(r=>r==="markdownPipeline"?fF(t):r==="tags"?t.showTags:r==="metadata"?t.useFrontmatterMetadata||Qo(t).length>0:!1)}function yF(t,e){if(t===e)return!1;if(!t||!e)return(t?.length??0)!==(e?.length??0);if(t.length!==e.length)return!0;for(let n=0;n<t.length;n+=1)if(t[n]!==e[n])return!0;return!1}var ff=U(()=>{Mr();dn();Nb()});function nSe(t){switch(t){case"markdownPipeline":return jQ;case"tags":return GQ;case"metadata":return qQ;default:return 0}}function H_(t){let e=0;for(let n of t)e|=nSe(n);return e}function rSe(t){let e=[];return(t&jQ)!==0&&e.push("markdownPipeline"),(t&GQ)!==0&&e.push("tags"),(t&qQ)!==0&&e.push("metadata"),e}function YQ(t){let{app:e,settings:n,latestSettingsRef:r,stoppedRef:o,contentRegistryRef:a,metadataWaitDisposersRef:i,pendingMetadataWaitPathsRef:s}=t,l=(0,_o.useCallback)(()=>{let N=i.current;if(N.size!==0){for(let O of N)try{O()}catch{}N.clear()}},[i]),c=(0,_o.useRef)(null),u=(0,_o.useRef)(new Map),p=(0,_o.useRef)(null),m=(0,_o.useRef)(null),g=(0,_o.useRef)(null),f=(0,_o.useRef)(null);(0,_o.useEffect)(()=>{let N=H_(gs(n));s.current.forEach((O,K)=>{let G=O&N;if(G===0){s.current.delete(K);return}G!==O&&s.current.set(K,G)})},[s,n]),(0,_o.useEffect)(()=>{gs(n).length>0||(l(),s.current.clear())},[l,s,n]);let h=(0,_o.useCallback)(()=>{f.current!==null&&(typeof window<"u"&&window.clearTimeout(f.current),f.current=null)},[]),b=(0,_o.useCallback)(()=>{if(f.current!==null||typeof window>"u")return;let N=1e4;f.current=window.setTimeout(()=>{f.current=null;let O=s.current.size;if(O===0)return;let K=[];for(let G of s.current.keys())if(K.push(G),K.length>=20)break;console.error("Notebook Navigator could not resolve metadata for all files.",{unresolved:K,totalPending:O,hint:"Reduce file size, fix invalid frontmatter, exclude the files, or disable metadata-dependent providers."})},N)},[s]),v=(0,_o.useCallback)(()=>{let N=c.current;N&&(s.current.size>0||p.current===null&&g.current===null&&(m.current||u.current.size>0||N()))},[p,c,s,u,m,g]),y=(0,_o.useCallback)(()=>{if(o.current){u.current.clear();return}let N=a.current;if(!N){u.current.clear();return}let O=r.current,K=H_(gs(O));if(K===0){u.current.clear();return}let G=u.current;u.current=new Map;for(let[X,L]of G){if(L.length===0)continue;let V=X&K;if(V===0)continue;let D=rSe(V);D.length!==0&&N.queueFilesForAllProviders(L,O,{include:D})}v()},[a,r,v,o]),S=(0,_o.useCallback)(()=>{if(p.current===null){if(typeof window>"u"){y();return}p.current=window.setTimeout(()=>{p.current=null,y()},0)}},[y]),w=(0,_o.useCallback)((N,O)=>{let K=u.current.get(O);K?K.push(N):u.current.set(O,[N]),S()},[S]),k=(0,_o.useCallback)(N=>{let O=s.current.get(N.path)??0;O===0||!e.metadataCache.getFileCache(N)||(s.current.delete(N.path),w(N,O),s.current.size===0&&h())},[e,h,s,w]),F=(0,_o.useCallback)(()=>{if(g.current!==null&&typeof window<"u"&&window.clearTimeout(g.current),g.current=null,o.current){m.current=null;return}let N=m.current;if(!N)return;let O=500;for(let K=0;K<O;K+=1){let G=N.next();if(G.done){m.current=null;break}let X=G.value,L=s.current.get(X)??0;if(L===0)continue;let V=e.vault.getAbstractFileByPath(X);if(!(V instanceof V_.TFile)||V.extension!=="md"){s.current.delete(X);continue}e.metadataCache.getFileCache(V)&&(s.current.delete(X),w(V,L))}if(m.current){typeof window<"u"?g.current=window.setTimeout(()=>{g.current=null,F()},0):F();return}s.current.size===0&&(h(),v())},[e,h,v,s,w,o]),P=(0,_o.useCallback)(()=>{m.current||s.current.size!==0&&(m.current=s.current.keys(),typeof window<"u"?g.current=window.setTimeout(()=>{g.current=null,F()},0):F())},[s,F]),T=(0,_o.useCallback)(()=>{if(c.current)return;let N=null,O=null,K=!1,G=()=>{if(!K){if(K=!0,h(),p.current!==null&&typeof window<"u"&&window.clearTimeout(p.current),p.current=null,u.current.clear(),g.current!==null&&typeof window<"u"&&window.clearTimeout(g.current),g.current=null,m.current=null,N){try{e.metadataCache.offref(N)}catch{}N=null}if(O){try{e.metadataCache.offref(O)}catch{}O=null}i.current.delete(G),c.current=null}};N=e.metadataCache.on("resolved",()=>{h(),P(),s.current.size>0&&b()}),O=e.metadataCache.on("changed",X=>{!(X instanceof V_.TFile)||X.extension!=="md"||k(X)}),c.current=G,i.current.add(G),P(),s.current.size>0&&b()},[e,h,k,i,s,b,P]);return{queueMetadataContentWhenReady:(0,_o.useCallback)((N,O,K)=>{let G=K??r.current,X=__(G,O),L=H_(X);if(X.length===0||L===0)return;let V=[],D=new Set;for(let M of N)M.extension==="md"&&(D.has(M.path)||(D.add(M.path),V.push(M)));if(V.length===0)return;let A=Eb(V,X,G,{conservativeMetadata:!0,app:e});if(A.length===0)return;let _=[],E=0;for(let M of A){let C=s.current.get(M.path)??0;if((C&L)===L)continue;!!e.metadataCache.getFileCache(M)?_.push(M):(s.current.set(M.path,C|L),E+=1)}let R=M=>{if(M.length===0||o.current)return;let C=r.current,x=__(C,O);x.length===0||!a.current||a.current.queueFilesForAllProviders(M,C,{include:x})};if(_.length>0&&R(_),E>0){T();return}s.current.size>0&&!c.current&&T()},[e,a,T,r,c,s,o]),disposeMetadataWaitDisposers:l}}var _o,V_,jQ,GQ,qQ,$Q=U(()=>{_o=ue(ze()),V_=require("obsidian");Mb();ff();jQ=1,GQ=2,qQ=4});function oSe(t){return t==="preview"||t==="tags"||t==="featureImage"||t==="metadata"||t==="wordCount"||t==="characterCount"||t==="tasks"||t==="properties"}function aSe(t){if(!mt(t))return!1;let e=t.total;if(typeof e!="number"||!Number.isFinite(e)||e<0)return!1;let n=t.source;if(n!==void 0&&n!=="rebuild"&&n!=="settings")return!1;let r=t.types;return!(r!==void 0&&(!Array.isArray(r)||r.some(o=>!oSe(o))))}function bF(){let t=ye.get(ut.cacheRebuildNoticeKey);return aSe(t)?t:null}function Lb(t){ye.set(ut.cacheRebuildNoticeKey,t)}function Ep(){ye.remove(ut.cacheRebuildNoticeKey)}var MM=U(()=>{Ue();Jr();Zr()});function QQ(t){let{contentRegistryRef:e,pendingSyncTimeoutIdRef:n,rebuildFileCacheRef:r,cancelTagTreeRebuildDebouncer:o,cancelPropertyTreeRebuildDebouncer:a,disposeMetadataWaitDisposers:i,pendingMetadataWaitPathsRef:s,setFileData:l,tagTreeService:c,propertyTreeService:u,setIsStorageReady:p,isStorageReadyRef:m,hasBuiltInitialCacheRef:g,buildFileCacheFnRef:f,latestSettingsRef:h,stoppedRef:b,clearCacheRebuildNotice:v,startCacheRebuildNotice:y,getIndexableFiles:S}=t;return{rebuildCache:(0,XQ.useCallback)(async()=>{v(),Ep();let k=b.current;b.current=!0,e.current&&e.current.stopAllProcessing(),n.current!==null&&(typeof window<"u"&&window.clearTimeout(n.current),n.current=null);let F=r.current;if(F)try{F.cancel()}catch{}o(),a(),i(),s.current.clear();try{await kt().clearDatabase()}catch(N){throw console.error("Failed to clear database during cache rebuild:",N),b.current=k,N}let P=new Map,T=new Map;l({tagTree:P,propertyTree:T,tagged:0,untagged:0,hiddenRootTags:new Map}),c&&c.updateTagTree(P,0,0),u&&u.updatePropertyTree(T),cN(),m.current=!1,p(!1),g.current=!1;let I=f.current;if(!I){b.current=k,console.error("Rebuild cache requested before initialization completed.");return}b.current=!1;try{let N=h.current,O=Ng(N),K=EM(S(),O);K>0&&O.length>0&&Lb({total:K,source:"rebuild",types:O}),y(K,O),g.current=!0,await I(!0)}catch(N){throw v(),Ep(),g.current=!1,b.current=k,N}b.current=k},[f,a,o,v,e,i,S,g,m,h,s,n,r,l,p,y,b,u,c])}}var XQ,ZQ=U(()=>{XQ=ue(ze());zn();Ba();ff();MM()});function JQ(t){let{app:e,contentRegistryRef:n,queueMetadataContentWhenReady:r}=t,o=(0,U_.useCallback)((i,s)=>{let l=n.current;if(!l||i.length===0)return{markdownFiles:[]};let c=[],u=[];for(let p of i){if(p.extension==="md"){c.push(p);continue}Ip(p)&&u.push(p)}return s.showFeatureImage&&u.length>0&&l.queueFilesForAllProviders(u,s,{include:["fileThumbnails"]}),{markdownFiles:c}},[n]),a=(0,U_.useCallback)((i,s,l)=>{if(!n.current)return;let c=gs(l),u=Np(l);if(!(l.showFilePreview||l.showFeatureImage||u||c.length>0))return;let m=[];try{let f=i.filter(y=>y.extension==="md"),h=c.length>0?Eb(f,c,l,{conservativeMetadata:!0,app:e}):[],b=gM(i,l),v=new Map;for(let y of[...h,...b])v.set(y.path,y);if(m=Array.from(v.values()),m.length===0){let y=kt(),S=gu(l);c.includes("tags")&&S.push("tags"),c.includes("metadata")&&S.push("metadata");let w=y.getFilesNeedingAnyContent(S);w.size>0&&(m=s.filter(k=>w.has(k.path)))}}catch(f){console.error("Failed to check content needs from IndexedDB:",f)}if(m.length===0)return;let{markdownFiles:g}=o(m,l);c.length>0&&r(g,c,l)},[e,n,o,r]);return{queueIndexableFilesForContentGeneration:o,queueIndexableFilesNeedingContentGeneration:a}}var U_,e7=U(()=>{U_=ue(ze());zn();Mb();ff();Nb()});function t7(t){let{app:e,latestSettingsRef:n,showHiddenItems:r}=t,o=(0,K_.useCallback)(()=>cj(e,n.current,{showHiddenItems:r}),[e,n,r]),a=(0,K_.useCallback)(()=>uj(e,n.current,{showHiddenItems:!0}),[e,n]);return{getVisibleMarkdownFiles:o,getIndexableFiles:a}}var K_,n7=U(()=>{K_=ue(ze());Yr()});function o7(t){let{app:e,settings:n,showHiddenItems:r,hiddenFolders:o,hiddenTags:a,hiddenFileProperties:i,fileVisibility:s,profileId:l,isStorageReady:c,isStorageReadyRef:u,latestSettingsRef:p,stoppedRef:m,setFileData:g,getVisibleMarkdownFiles:f,tagTreeService:h}=t,b=(0,hs.useRef)(o),v=(0,hs.useRef)(a);(0,hs.useEffect)(()=>{b.current=o},[o]),(0,hs.useEffect)(()=>{v.current=a},[a]);let y=(0,hs.useRef)(null),S=(0,hs.useRef)(null),w=(0,hs.useRef)(!1),k=(0,hs.useCallback)(()=>{let T=kt(),I=r?[]:b.current,N=new Set(f().map(L=>L.path)),{tagTree:O,tagged:K,untagged:G,hiddenRootTags:X}=uN(T,I,N,v.current,r);return g(L=>({...L,tagTree:O,tagged:K,untagged:G,hiddenRootTags:X})),h&&h.updateTagTree(O,K,G),O},[f,g,r,h]);y.current=k;let F=(0,hs.useCallback)(T=>{let I=S.current;if(I){try{I.cancel()}catch{}T?.reset&&(S.current=null)}},[]),P=(0,hs.useCallback)(T=>{if(!(m.current||!u.current)&&p.current.showTags&&(S.current||(S.current=(0,r7.debounce)(()=>{m.current||!u.current||p.current.showTags&&y.current?.()},Lt.DEBOUNCE_TAG_TREE,!0)),S.current(),T?.flush))try{S.current.run()}catch{}},[u,p,m]);return(0,hs.useEffect)(()=>{if(!c){w.current=!1;return}if(!w.current){w.current=!0;return}n.showTags&&P()},[r,n.showTags,c,P,o,i,a,s,l]),(0,hs.useEffect)(()=>!c||!n.showTags?void 0:kt().onContentChange(N=>{if(m.current)return;let O=!1,K=!1,G=null,X=!1;for(let L of N)if(L.changes.tags!==void 0&&(O=!0,X||(G=e.workspace.getActiveFile()?.path??null,X=!0),G&&L.path===G)){K=!0;break}O&&P({flush:K})}),[e.workspace,c,n.showTags,P,m]),{rebuildTagTree:k,scheduleTagTreeRebuild:P,cancelTagTreeRebuildDebouncer:F}}var hs,r7,a7=U(()=>{hs=ue(ze()),r7=require("obsidian");jr();zn();Ba()});function W_(t){return Hv(t)}function iSe(t){let e=new Map,n=nn(t);return ep(n.propertyKeys).forEach(o=>{let a=o.key.trim(),i=Me(a);!a||!i||e.has(i)||e.set(i,a)}),e}function sSe(t,e){for(let[n,r]of e.entries()){if(t.has(n))continue;let o={id:Gn(n),kind:"key",key:n,valuePath:null,name:r,displayPath:r,children:new Map,notesWithValue:new Set};t.set(n,o),bO(o)}}function i7(t){let{app:e,settings:n,showHiddenItems:r,hiddenFolders:o,hiddenFileProperties:a,hiddenFileNames:i,hiddenFileTags:s,fileVisibility:l,profileId:c,isStorageReady:u,isStorageReadyRef:p,latestSettingsRef:m,stoppedRef:g,setFileData:f,getVisibleMarkdownFiles:h,propertyTreeService:b}=t,v=(0,Ka.useRef)(o),y=(0,Ka.useRef)(null),S=(0,Ka.useRef)(null),w=(0,Ka.useMemo)(()=>W_(n),[n]),k=(0,Ka.useRef)(!1),F=Oi(n),P=(0,Ka.useRef)(F),T=(0,Ka.useRef)(n.showProperties);(0,Ka.useEffect)(()=>{v.current=o},[o]);let I=(0,Ka.useCallback)(()=>{let G=new Map;return f(X=>({...X,propertyTree:G})),b?.updatePropertyTree(G),G},[b,f]),N=(0,Ka.useCallback)(()=>{let G=m.current,X=iSe(G),L=new Set(X.keys());if(!(G.showProperties&&X.size>0))return I();let D=kt(),A=r?[]:v.current,_=h().map(R=>R.path),E=Nj({forEachFile:R=>{_.forEach(M=>{let C=D.getFile(M);C&&R(M,C)})}},{excludedFolderPatterns:A,includedPropertyKeys:L});return sSe(E,X),f(R=>({...R,propertyTree:E})),b?.updatePropertyTree(E),E},[I,h,m,b,f,r]);y.current=N;let O=(0,Ka.useCallback)(G=>{let X=S.current;if(X){try{X.cancel()}catch{}G?.reset&&(S.current=null)}},[]),K=(0,Ka.useCallback)(G=>{let X=m.current;if(!(g.current||!p.current)){if(!W_(X)){I();return}if(S.current||(S.current=(0,zb.debounce)(()=>{if(!(g.current||!p.current)){if(!W_(m.current)){I();return}y.current?.()}},Lt.DEBOUNCE_TAG_TREE,!0)),S.current(),G?.flush)try{S.current.run()}catch{}}},[I,p,m,g]);return(0,Ka.useEffect)(()=>{let G=P.current,X=T.current,L=G!==F,V=X!==n.showProperties,D=()=>{P.current=F,T.current=n.showProperties};if(!u){k.current=!1,D();return}if(!k.current){k.current=!0,D();return}if(!w){I(),D();return}let A=h().length;if(L&&!V&&n.showProperties&&A>0){D();return}K(),D()},[r,u,w,K,I,h,o,a,i,s,l,c,F,n.showProperties]),(0,Ka.useEffect)(()=>{if(!u||!w)return;let G=!r&&s.length>0,X=!r&&a.length>0;return kt().onContentChange(D=>{if(g.current)return;let A=!1,_=!1,E=null,R=!1;for(let M of D){let C=M.changes.properties!==void 0,x=G&&M.changes.tags!==void 0,z=X&&M.metadataHiddenChanged===!0;if(!(!C&&!x&&!z)&&(A=!0,R||(E=e.workspace.getActiveFile()?.path??null,R=!0),E&&M.path===E)){_=!0;break}}if(A){let M=_&&D.every(C=>C.path===E);K({flush:M})}})},[e.workspace,a,s,u,w,K,r,g]),(0,Ka.useEffect)(()=>{if(!u||!w)return;let G=A=>A instanceof zb.TFile?A.extension==="md":A instanceof zb.TFolder,X=A=>{g.current||G(A)&&K()},L=A=>{g.current||G(A)&&K()},V=e.vault.on("delete",X),D=e.vault.on("rename",L);return()=>{e.vault.offref(V),e.vault.offref(D)}},[e.vault,u,w,K,g]),{rebuildPropertyTree:N,schedulePropertyTreeRebuild:K,cancelPropertyTreeRebuildDebouncer:O}}var Ka,zb,s7=U(()=>{Ka=ue(ze()),zb=require("obsidian");jr();zn();cn();Ot();dn()});async function SF(t,e){let n=[],r=[],o=[],a;if(e)a=e;else{let s=kt();a=new Map,s.forEachFile((l,c)=>{a.set(l,c)})}let i=new Set;for(let s of t){i.add(s.path);let l=a.get(s.path);l?s.stat.mtime!==l.mtime&&r.push(s):n.push(s)}for(let[s]of a)i.has(s)||o.push(s);return{toAdd:n,toUpdate:r,toRemove:o,cachedFiles:a}}var j_=U(()=>{zn()});function d7(t){let{app:e,api:n,settings:r,latestSettingsRef:o,stoppedRef:a,isFirstLoadRef:i,isIndexedDBReady:s,hasBuiltInitialCacheRef:l,setIsStorageReady:c,isStorageReadyRef:u,contentRegistryRef:p,pendingSyncTimeoutIdRef:m,pendingRenameDataRef:g,buildFileCacheFnRef:f,rebuildFileCacheRef:h,activeVaultEventRefsRef:b,activeMetadataEventRefRef:v,rebuildTagTree:y,scheduleTagTreeRebuild:S,cancelTagTreeRebuildDebouncer:w,rebuildPropertyTree:k,schedulePropertyTreeRebuild:F,cancelPropertyTreeRebuildDebouncer:P,startCacheRebuildNotice:T,getIndexableFiles:I,queueMetadataContentWhenReady:N,queueIndexableFilesForContentGeneration:O,queueIndexableFilesNeedingContentGeneration:K,disposeMetadataWaitDisposers:G}=t;(0,l7.useEffect)(()=>{let X=async(B,q=!1)=>{if(!a.current)if(i.current&&(i.current=!1),q){let ie=performance.now();try{Rr("storage.initialLoad.start",{indexableFileCount:B.length});let le=performance.now(),{toAdd:Te,toUpdate:ke,toRemove:Fe,cachedFiles:te}=await SF(B),pe=Math.round(performance.now()-le);Fe.length>0&&await eT(Fe),(Te.length>0||ke.length>0)&&await Iv([...Te,...ke],te,g.current);let ve=performance.now();y();let Ie=Math.round(performance.now()-ve),qe=performance.now();k();let xe=Math.round(performance.now()-qe);u.current=!0,c(!0),n?.[Ea].setStorageReady(!0);let Ce=gs(r),vt=Ce.length>0,Rt={metadataDependentTypes:Ce};if(p.current&&vt){let Ve=[],Ae=[],Ke=0;for(let Be of B){if(Be.extension==="md"){Ve.push(Be);continue}Ip(Be)&&Ae.push(Be)}if(Ce.length>0&&Ve.length>0&&N(Ve,Ce,r),r.showFeatureImage&&Ae.length>0){let Be=gM(Ae,r);Ke=Be.length,Be.length>0&&p.current.queueFilesForAllProviders(Be,r,{include:["fileThumbnails"]})}Rt.markdownFiles=Ve.length,Rt.fileThumbnailFiles=Ae.length,Rt.filesNeedingThumbnails=Ke}VA({status:"storageReady",indexableFileCount:B.length,cachedFileCount:te.size,diff:{toAdd:Te.length,toUpdate:ke.length,toRemove:Fe.length},queued:Rt,timingsMs:{diff:pe,tagTree:Ie,propertyTree:xe,initialLoad:Math.round(performance.now()-ie)}})}catch(le){Rr("storage.initialLoad.failed",{error:le}),VA({status:"initialLoadFailed",indexableFileCount:B.length,error:le}),console.error("Failed during initial load sequence:",le)}}else{m.current!==null&&(typeof window<"u"&&window.clearTimeout(m.current),m.current=null);let ie=async()=>{if(!a.current)try{let{toAdd:le,toUpdate:Te,toRemove:ke,cachedFiles:Fe}=await SF(B);if(Rr("storage.diff.processed",{indexableFileCount:B.length,cachedFileCount:Fe.size,toAdd:le.length,toUpdate:Te.length,toRemove:ke.length}),le.length>0||Te.length>0||ke.length>0){try{let te=[...le,...Te];te.length>0&&await Iv(te,Fe,g.current),ke.length>0&&(await eT(ke),r.showTags&&S(),Hv(r)&&F({flush:!0}))}catch(te){console.error("Failed to update IndexedDB cache:",te)}K([...le,...Te],B,r)}}catch(le){console.error("Error processing file cache diff:",le)}};typeof window<"u"?m.current=window.setTimeout(()=>{m.current=null,Q(()=>ie())},0):Q(()=>ie())}},L=async(B=!1)=>{if(a.current)return;let q=I();await X(q,B)};f.current=L;let V=h.current;if(V||(V=(0,Mp.debounce)(()=>{if(a.current)return;let B=f.current;B&&Q(()=>B(!1))},Lt.FILE_OPERATION_DELAY,!0),h.current=V),s&&!l.current){if(l.current=!0,kt().consumePendingRebuildNotice()){let q=o.current,ie=Ng(q),le=EM(I(),ie);T(le,ie)}Q(()=>L(!0))}let D=B=>{if(!(a.current||!p.current))try{let q=o.current,ie=gs(q),{markdownFiles:le}=O(B,q);ie.length>0&&N(le,ie,q)}catch(q){console.error("Failed to queue content refresh for files:",q)}},A=B=>{D([B])},_=new Map,E=null,R=!1,M=new Map,C=null,x=!1,z=()=>{E!==null&&(typeof window<"u"&&window.clearTimeout(E),E=null)},H=()=>{C!==null&&(typeof window<"u"&&window.clearTimeout(C),C=null)},Y=B=>{let q=new Map;for(let ie of B){let le=e.vault.getAbstractFileByPath(ie.path);le instanceof Mp.TFile&&q.set(le.path,le)}return Array.from(q.values())},ee=()=>{E=null,!R&&Q(async()=>{if(a.current){_.clear();return}let B=Array.from(_.values());if(_.clear(),B.length===0)return;let q=Y(B);if(q.length===0)return;let ie=!1;R=!0;try{let Te=kt().getFiles(q.map(ke=>ke.path));await Iv(q,Te,g.current),ie=!0}catch(le){console.error("Failed to record file changes on modify:",le)}finally{R=!1}ie&&D(q),_.size>0&&!a.current&&$()})},$=()=>{if(!(a.current||R||E!==null)){if(typeof window<"u"){E=window.setTimeout(ee,Lt.FILE_OPERATION_DELAY);return}ee()}},j=()=>{C=null,!x&&Q(async()=>{if(a.current){M.clear();return}let B=Array.from(M.values());if(M.clear(),B.length===0)return;let q=Y(B).filter(pe=>pe.extension==="md"&&!yh(pe.path));if(q.length===0)return;let ie=o.current,le=gs(ie),Te=gu(ie),Fe=le.length===1&&le[0]==="markdownPipeline"&&Te.length===1&&Te[0]==="tasks"?Eb(q,le,ie,{app:e,conservativeMetadata:!0}):q;if(Fe.length===0)return;let te=!0;x=!0;try{le.length>0&&await LW(Fe,le)}catch(pe){te=!1,console.error("Failed to mark files for regeneration:",pe)}finally{x=!1}te&&D(Fe),M.size>0&&!a.current&&J()})},J=()=>{if(!(a.current||x||C!==null)){if(typeof window<"u"){C=window.setTimeout(j,Lt.FILE_OPERATION_DELAY);return}j()}},re=B=>{oj(e,B)},oe=(B,q)=>{if(B instanceof Mp.TFile){re(q),re(B.path);try{let ie=kt(),le=ie.getFile(q);if(le){let Te=qo(q),ke=qo(B.path),Fe=ke?Te?le.previewStatus:"unprocessed":"none",te={...le,previewStatus:Fe,markdownPipelineMtime:Te&&ke?0:le.markdownPipelineMtime,metadataMtime:Te&&ke?0:le.metadataMtime};g.current.set(B.path,te),ie.seedMemoryFile(B.path,te),le.featureImageStatus==="has"&&ie.beginFeatureImageBlobMove(q,B.path),Te&&ke&&ie.beginPreviewTextMove(q,B.path),Q(async()=>{try{await ie.setFile(B.path,{...te,mtime:B.stat.mtime});let pe=[ie.moveFeatureImageBlob(q,B.path)];Te&&ke?pe.push(ie.movePreviewText(q,B.path)):Te&&pe.push(ie.deletePreviewText(q).catch(ve=>{console.error("Failed to delete preview text after rename:",{oldPath:q,newPath:B.path,error:ve})})),await Promise.all(pe),A(B)}finally{V?.()}});return}}catch(ie){console.error("Failed to capture renamed file data:",ie)}}V?.()},Z=B=>{if(a.current||!(B instanceof Mp.TFile)||yh(B.path))return;if(wN(e,B.path)){re(B.path);return}B.extension!=="md"&&!Ip(B)||(_.set(B.path,B),$())},ce=B=>{B instanceof Mp.TFile&&yh(B.path)||(V?.(),B instanceof Mp.TFile&&re(B.path))},ae=[e.vault.on("create",ce),e.vault.on("delete",ce),e.vault.on("rename",oe),e.vault.on("modify",Z)];b.current=ae;let se=B=>{a.current||!(B instanceof Mp.TFile)||B.extension!=="md"||yh(B.path)||gs(o.current).length!==0&&(M.set(B.path,B),J())},ne=e.metadataCache.on("changed",se);return v.current=ne,()=>{f.current=null,ae.forEach(B=>e.vault.offref(B)),e.metadataCache.offref(ne),b.current=null,v.current=null,m.current!==null&&(typeof window<"u"&&window.clearTimeout(m.current),m.current=null),z(),_.clear(),H(),M.clear(),w({reset:!0}),P({reset:!0}),G()}},[e,n,v,b,f,w,P,p,G,I,l,i,s,u,o,g,m,O,K,N,h,y,k,S,F,c,r,a,T])}var l7,Mp,c7=U(()=>{l7=ue(ze()),Mp=require("obsidian");jr();eg();j_();zn();ot();Mr();cn();gl();Mb();ff();Wu();Nb()});function u7(t){let{settings:e,stoppedRef:n,contentRegistryRef:r,hiddenFolders:o,hiddenFileProperties:a,hiddenFileNames:i,hiddenFileTags:s,scheduleTagTreeRebuild:l,schedulePropertyTreeRebuild:c,getIndexableFiles:u,pendingRenameDataRef:p,queueMetadataContentWhenReady:m,queueIndexableFilesForContentGeneration:g,queueIndexableFilesNeedingContentGeneration:f,startCacheRebuildNotice:h,clearCacheRebuildNotice:b}=t,v=(0,fs.useRef)(!1),y=(0,fs.useRef)(null),S=(0,fs.useRef)(null),w=(0,fs.useRef)(null),k=(0,fs.useRef)(null),F=(0,fs.useCallback)(()=>{w.current!==null&&(typeof window<"u"&&window.clearTimeout(w.current),w.current=null)},[]),P=(0,fs.useCallback)(()=>{F(),y.current=null},[F]),T=(0,fs.useCallback)(async(O,K)=>{let G=r.current;if(!G)return;let X=()=>{bF()?.source==="settings"&&(b(),Ep())},L=await G.handleSettingsChange(O,K),V=O.showFeatureImage!==K.showFeatureImage&&K.showFeatureImage;if((L.length>0||V)&&!n.current){let x=Ng(K);if(x.length>0){if(bF()?.source!=="rebuild"){let Y=kt().getFilesNeedingAnyContent(x).size;Y>0?(Lb({total:Y,source:"settings",types:x}),h(Y,x)):X()}}else X()}if(n.current||!r.current)return;let A=gs(K),_=new Set(L),E=A.filter(x=>_.has(x));if(V&&!E.includes("markdownPipeline")&&E.push("markdownPipeline"),!(E.length>0||V))return;let M=u();if(n.current||!r.current)return;let{markdownFiles:C}=g(M,K);E.length>0&&m(C,E,K)},[b,r,u,g,m,h,n]),I=(0,fs.useCallback)(async()=>{if(!v.current){v.current=!0;try{for(;!n.current;){let O=y.current;if(!O)return;y.current=null;let K=S.current;if(!K){S.current=O;continue}await T(K,O),S.current=O}}finally{v.current=!1}}},[T,n]),N=(0,fs.useCallback)((O,K)=>{if(!n.current&&(S.current||(S.current=O),y.current=K,!v.current)){if(F(),typeof window>"u"){Q(()=>I());return}w.current=window.setTimeout(()=>{w.current=null,Q(()=>I())},Lt.DEBOUNCE_CONTENT)}},[F,I,n]);return(0,fs.useEffect)(()=>{let O=k.current;if(!O){k.current=e;return}let K=r.current,G=K?.getAllRelevantSettings()??[],X=!K||G.some(x=>O[x]!==e[x]),L=kv(O)!==kv(e);(X||L)&&N(O,e);let V=ti(O),D=yF(V,o),A=Qo(O),_=yF(A,a),E=Kc(O),R=yF(E,i),M=Wc(O),C=yF(M,s);D||_?Q(async()=>{try{let x=u(),{toAdd:z,toUpdate:H,toRemove:Y,cachedFiles:ee}=await SF(x);Y.length>0&&await eT(Y),(z.length>0||H.length>0)&&await Iv([...z,...H],ee,p.current),e.showTags&&l(),c(),f([...z,...H],x,e)}catch(x){console.error("Error resyncing cache after exclusion changes:",x)}}):(R||C)&&(e.showTags&&l(),c()),k.current=e},[r,u,i,s,a,o,p,f,N,l,c,e]),(0,fs.useEffect)(()=>()=>{P()},[P]),{resetPendingSettingsChanges:P}}var fs,p7=U(()=>{fs=ue(ze());jr();j_();zn();ot();dn();ed();MM();ff()});var g7=Mc(RM=>{"use strict";var lSe=ze(),dSe=Symbol.for("react.element"),cSe=Symbol.for("react.fragment"),uSe=Object.prototype.hasOwnProperty,pSe=lSe.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,mSe={key:!0,ref:!0,__self:!0,__source:!0};function m7(t,e,n){var r,o={},a=null,i=null;n!==void 0&&(a=""+n),e.key!==void 0&&(a=""+e.key),e.ref!==void 0&&(i=e.ref);for(r in e)uSe.call(e,r)&&!mSe.hasOwnProperty(r)&&(o[r]=e[r]);if(t&&t.defaultProps)for(r in e=t.defaultProps,e)o[r]===void 0&&(o[r]=e[r]);return{$$typeof:dSe,type:t,key:a,ref:i,props:o,_owner:pSe.current}}RM.Fragment=cSe;RM.jsx=m7;RM.jsxs=m7});var Ge=Mc((c5e,h7)=>{"use strict";h7.exports=g7()});function DM({children:t,plugin:e}){let n=f7.Platform.isMobile,r=(0,Bb.useMemo)(()=>{let o=e.fileSystemOps;if(!o)throw new Error("FileSystemOperations not initialized");return{app:e.app,plugin:e,isMobile:n,fileSystemOps:o,metadataService:e.metadataService,tagOperations:e.tagOperations,propertyOperations:e.propertyOperations,tagTreeService:e.tagTreeService,propertyTreeService:e.propertyTreeService,commandQueue:e.commandQueue,omnisearchService:e.omnisearchService,releaseCheckService:e.releaseCheckService}},[e,n]);return(0,y7.jsx)(v7.Provider,{value:r,children:t})}function gt(){let t=(0,Bb.useContext)(v7);if(!t)throw new Error("useServices must be used within a ServicesProvider");return t}function li(){let{fileSystemOps:t}=gt();return t}function Ho(){let{metadataService:t}=gt();if(!t)throw new Error("MetadataService not initialized");return t}function _b(){let{tagOperations:t}=gt();if(!t)throw new Error("TagOperations not initialized");return t}function AM(){let{propertyOperations:t}=gt();if(!t)throw new Error("PropertyOperations not initialized");return t}function qs(){let{commandQueue:t}=gt();if(!t)throw new Error("CommandQueue not initialized");return t}var Bb,f7,y7,v7,mn=U(()=>{Bb=ue(ze()),f7=require("obsidian"),y7=ue(Ge()),v7=(0,Bb.createContext)(null)});function b7(t,e){if(Mi(t))return"excalidraw.md";let n=t.extension.toLowerCase();if(n==="md"){let r=e?.getFileCache(t);if(fC(r?.frontmatter))return"excalidraw.md"}return n}function G_(t){let e=[];return Object.entries(t).forEach(([n,r])=>{if(typeof n!="string"||typeof r!="string")return;let o=Rs(n),a=Zd(r.trim())??"";o.trim().length===0||!a||e.push({needle:o,iconId:a})}),e.sort((n,r)=>{let o=r.needle.length-n.needle.length;return o!==0?o:n.needle.localeCompare(r.needle)}),e}function hSe(t,e){let n=Rs(t);if(!n)return null;for(let r of e)if(!(!r.needle||!r.iconId)&&n.includes(r.needle))return r.iconId;return null}function S7(t,e,n=vv,r){if(!t)return null;let o=mh(n)&&r&&r[n]!==!0?null:lK(n),a=e[t]??o?.[t]??gSe[t];return a?Zd(a)??a:mw(t)?"image":null}function OM(t,e,n={}){let r=n.customIconId;if(r)return r;if(e.showFilenameMatchIcons){let i=n.fileNameNeedles??G_(e.fileNameIconMap),s=n.fileNameForMatch??t.basename,l=hSe(s,i);if(l)return l}let o=n.allowCategoryIcons??e.showCategoryIcons;if(o){let i=b7(t,n.metadataCache),s=S7(i,e.fileTypeIconMap,e.fileTypeIconPreset,e.externalIconProviders);if(s)return s}return n.isExternalFile?"external-link":(n.fallbackMode??(o?"file":"none"))==="file"?"file":null}function w7(t,e,n,r,o=vv,a){if(r)return r;let i=b7(t,n);return S7(i,e,o,a)??"file"}var gSe,LM=U(()=>{rs();Mr();Si();Ot();Sv();gSe=Object.freeze(Object.assign(Object.create(null),{md:"file-text","excalidraw.md":"pencil",canvas:"layout-grid",base:"database",pdf:"file-text"}))});function BM({children:t,plugin:e}){let[n,r]=(0,vo.useState)(0),o=(0,vo.useRef)(null),a=(0,vo.useRef)(null),i=(0,vo.useRef)(null),s=(0,vo.useRef)(null),l=(0,vo.useCallback)(async m=>{m(e.settings),await e.saveSettingsAndUpdate()},[e]),c=vo.default.useMemo(()=>{let m=De(e.settings.tagColors),g=De(e.settings.tagBackgroundColors),f=De(e.settings.propertyColors),h=De(e.settings.propertyBackgroundColors),b=De(e.settings.virtualFolderColors),v=De(e.settings.virtualFolderBackgroundColors),y=De(e.settings.tagIcons,Ln),S=De(e.settings.propertyIcons,Ln),w=De(e.settings.calendarMonthHighlights,Ln),k=e.settings.interfaceIcons,F=a.current,P=F&&F.raw===k?F.sanitized:De(k,Ln);(!F||F.raw!==k)&&(a.current={raw:k,sanitized:P});let T=Ou(e.settings.pinnedNotes),I=i.current,N=I&&bSe(I,T)?I:T;i.current=N;let O=uv(e.settings.collapsedPinnedContexts),K=s.current,G=K&&SSe(K,O)?K:O;s.current=G;let X={...e.settings,dualPaneOrientation:e.getDualPaneOrientation(),tagColors:m,tagBackgroundColors:g,propertyColors:f,propertyBackgroundColors:h,virtualFolderColors:b,virtualFolderBackgroundColors:v,tagIcons:y,propertyIcons:S,calendarMonthHighlights:w,interfaceIcons:P,folderAppearances:q_(e.settings.folderAppearances),tagAppearances:q_(e.settings.tagAppearances),propertyAppearances:q_(e.settings.propertyAppearances),pinnedNotes:N,collapsedPinnedContexts:G};return Array.isArray(e.settings.vaultProfiles)&&(X.vaultProfiles=e.settings.vaultProfiles.map(L=>({...L,hiddenFolders:Array.isArray(L.hiddenFolders)?[...L.hiddenFolders]:[],hiddenFileProperties:Array.isArray(L.hiddenFileProperties)?[...L.hiddenFileProperties]:[],hiddenFileNames:Array.isArray(L.hiddenFileNames)?[...L.hiddenFileNames]:[],hiddenTags:Array.isArray(L.hiddenTags)?[...L.hiddenTags]:[],hiddenFileTags:Array.isArray(L.hiddenFileTags)?[...L.hiddenFileTags]:[],propertyKeys:ep(L.propertyKeys),shortcuts:Yc(L.shortcuts),navRainbow:Bj(L.navRainbow)}))),X},[e,n]),u=vo.default.useMemo(()=>({fileNameIconNeedles:c.showFilenameMatchIcons?G_(c.fileNameIconMap):[]}),[c.showFilenameMatchIcons,c.fileNameIconMap]);(0,vo.useEffect)(()=>{let m=`settings-provider-${Date.now()}`,g=()=>{r(f=>f+1)};return e.registerSettingsUpdateListener(m,g),()=>{e.unregisterSettingsUpdateListener(m)}},[e]);let p=vo.default.useMemo(()=>{let m=nn(c),g=o.current,f=g?.profile.id===m.id,h=go(g?.profile.hiddenFolders??[],m.hiddenFolders),b=go(g?.profile.hiddenFileProperties??[],m.hiddenFileProperties),v=go(g?.profile.hiddenFileNames??[],m.hiddenFileNames),y=go(g?.profile.hiddenTags??[],m.hiddenTags),S=go(g?.profile.hiddenFileTags??[],m.hiddenFileTags),w=g?.profile.fileVisibility===m.fileVisibility,k=m.navigationBanner??null,F=g?.navigationBanner===k,P=g?.profile.periodicNotesFolder===m.periodicNotesFolder,T=g?.profile.name===m.name,I=vSe(g?.profile.propertyKeys,m.propertyKeys),N=ySe(g?.profile.shortcuts,m.shortcuts),O=zN(g?.profile.navRainbow,m.navRainbow);if(f&&h&&b&&v&&y&&S&&w&&F&&P&&T&&I&&N&&O&&g)return g;let K={profile:m,hiddenFolders:m.hiddenFolders,hiddenFileProperties:m.hiddenFileProperties,hiddenFileNames:m.hiddenFileNames,hiddenTags:m.hiddenTags,hiddenFileTags:m.hiddenFileTags,fileVisibility:m.fileVisibility,propertyKeys:I&&g?g.propertyKeys:m.propertyKeys,navigationBanner:k};return o.current=K,K},[c]);return(0,wF.jsx)(k7.Provider,{value:c,children:(0,wF.jsx)(C7.Provider,{value:u,children:(0,wF.jsx)(P7.Provider,{value:p,children:(0,wF.jsx)(F7.Provider,{value:l,children:t})})})})}function pt(){let t=(0,vo.useContext)(k7);if(t===null)throw new Error("useSettingsState must be used within a SettingsProvider");return t}function Ys(){let t=(0,vo.useContext)(F7);if(!t)throw new Error("useSettingsUpdate must be used within a SettingsProvider");return t}function _M(){let t=(0,vo.useContext)(C7);if(!t)throw new Error("useSettingsDerived must be used within a SettingsProvider");return t}function $s(){let t=(0,vo.useContext)(P7);if(!t)throw new Error("useActiveProfile must be used within a SettingsProvider");return t}var vo,wF,k7,F7,P7,C7,T7,zM,fSe,vSe,ySe,q_,bSe,SSe,on=U(()=>{vo=ue(ze());Ia();dn();Ot();Sl();LM();wF=ue(Ge()),k7=(0,vo.createContext)(null),F7=(0,vo.createContext)(null),P7=(0,vo.createContext)(null),C7=(0,vo.createContext)(null),T7=t=>t&&t.length>0?t:void 0,zM=(t,e)=>T7(t)===T7(e),fSe=(t,e)=>vT(t)===vT(e),vSe=(t,e)=>{let n=Array.isArray(t)?t:[],r=Array.isArray(e)?e:[];if(n.length!==r.length)return!1;for(let o=0;o<n.length;o+=1){let a=n[o],i=r[o];if(a.key!==i.key||a.showInNavigation!==i.showInNavigation||a.showInList!==i.showInList||a.showInFileMenu!==i.showInFileMenu)return!1}return!0},ySe=(t,e)=>{if(t===e)return!0;let n=Array.isArray(t)?t:[],r=Array.isArray(e)?e:[];if(n.length!==r.length)return!1;for(let o=0;o<n.length;o+=1){let a=n[o],i=r[o];if(a.type!==i.type)return!1;if(Zo(a)){if(!Zo(i)||a.path!==i.path||!zM(a.alias,i.alias))return!1;continue}if(Po(a)){if(!Po(i)||a.path!==i.path||!zM(a.alias,i.alias))return!1;continue}if(Co(a)){if(!Co(i)||a.tagPath!==i.tagPath||!zM(a.alias,i.alias))return!1;continue}if(la(a)){if(!la(i)||a.nodeId!==i.nodeId||!zM(a.alias,i.alias))return!1;continue}if(!Bi(a)||!Bi(i)||a.name!==i.name||a.query!==i.query||a.provider!==i.provider||!fSe(a.startTarget,i.startTarget))return!1}return!0},q_=t=>{if(!t)return Object.create(null);let e=Object.create(null);return Object.entries(t).forEach(([n,r])=>{e[n]={...r}}),e},bSe=(t,e)=>{if(!t)return!1;let n=Object.keys(t),r=Object.keys(e);if(n.length!==r.length)return!1;for(let o of r){let a=t[o],i=e[o];if(!a||a.folder!==i.folder||a.tag!==i.tag||a.property!==i.property)return!1}return!0},SSe=(t,e)=>{if(!t)return!1;let n=Object.keys(t),r=Object.keys(e);if(n.length!==r.length)return!1;let o=t,a=e;for(let i of r)if(o[i]!==a[i])return!1;return!0}});function x7({children:t,plugin:e}){let[n,r]=(0,vs.useState)(0),o=(0,vs.useRef)("");o.current||(o.current=`ux-preferences-${Date.now()}-${Math.random().toString(16).slice(2)}`),(0,vs.useEffect)(()=>{let s=()=>{r(l=>l+1)};return e.registerUXPreferencesListener(o.current,s),()=>{e.unregisterUXPreferencesListener(o.current)}},[e]);let a=(0,vs.useMemo)(()=>e.getUXPreferences(),[e,n]),i=(0,vs.useMemo)(()=>({setSearchActive:s=>{e.setSearchActive(s)},setIncludeDescendantNotes:s=>{e.setIncludeDescendantNotes(s)},toggleIncludeDescendantNotes:()=>{e.toggleIncludeDescendantNotes()},setShowHiddenItems:s=>{e.setShowHiddenItems(s)},toggleShowHiddenItems:()=>{e.toggleShowHiddenItems()},setPinShortcuts:s=>{e.setPinShortcuts(s)},setShowCalendar:s=>{e.setShowCalendar(s)},toggleShowCalendar:()=>{e.toggleShowCalendar()}}),[e]);return(0,Y_.jsx)(N7.Provider,{value:a,children:(0,Y_.jsx)(I7.Provider,{value:i,children:t})})}function Xt(){let t=(0,vs.useContext)(N7);if(!t)throw new Error("useUXPreferences must be used within a UXPreferencesProvider");return t}function wd(){let t=(0,vs.useContext)(I7);if(!t)throw new Error("useUXPreferenceActions must be used within a UXPreferencesProvider");return t}var vs,Y_,N7,I7,Tr=U(()=>{vs=ue(ze()),Y_=ue(Ge()),N7=(0,vs.createContext)(null),I7=(0,vs.createContext)(null)});function wSe(){let t=Hb>0;$_.forEach(e=>{e(t)})}function E7(t){let e=Hb>0;Hb=Math.max(0,Hb+t),e!==Hb>0&&wSe()}function Ig(){return Hb>0}function R7(t){return $_.add(t),t(Ig()),()=>{$_.delete(t)}}function D7({app:t,api:e,children:n}){let r=pt(),{hiddenFolders:o,hiddenFileProperties:a,hiddenFileNames:i,hiddenTags:s,hiddenFileTags:l,fileVisibility:c,profile:u}=$s(),m=Xt().showHiddenItems,{tagTreeService:g,propertyTreeService:f}=gt(),[h,b]=(0,Hn.useState)({tagTree:new Map,propertyTree:new Map,tagged:0,untagged:0,hiddenRootTags:new Map}),v=(0,Hn.useRef)(null),y=(0,Hn.useRef)(!0),S=(0,Hn.useRef)(null),w=(0,Hn.useRef)(!1),k=(0,Hn.useRef)(new Set),F=(0,Hn.useRef)(new Map),P=(0,Hn.useRef)(new Map),T=(0,Hn.useRef)(r);T.current=r;let I=(0,Hn.useRef)(null),N=(0,Hn.useRef)(null),O=(0,Hn.useRef)(null),K=(0,Hn.useRef)(null),[G,X]=(0,Hn.useState)(!1),L=vQ(),V=(0,Hn.useRef)(!1);V.current=G;let D=(0,Hn.useRef)(!1),{clearCacheRebuildNotice:A,startCacheRebuildNotice:_}=hQ({app:t,stoppedRef:w,onRebuildComplete:Ep}),E=(0,Hn.useRef)(!1);(0,Hn.useEffect)(()=>(E7(1),()=>{E7(-1)}),[]);let{getVisibleMarkdownFiles:R,getIndexableFiles:M}=t7({app:t,latestSettingsRef:T,showHiddenItems:m}),{rebuildTagTree:C,scheduleTagTreeRebuild:x,cancelTagTreeRebuildDebouncer:z}=o7({app:t,settings:r,showHiddenItems:m,hiddenFolders:o,hiddenTags:s,hiddenFileProperties:a,fileVisibility:c,profileId:u.id,isStorageReady:G,isStorageReadyRef:V,latestSettingsRef:T,stoppedRef:w,setFileData:b,getVisibleMarkdownFiles:R,tagTreeService:g??null}),{rebuildPropertyTree:H,schedulePropertyTreeRebuild:Y,cancelPropertyTreeRebuildDebouncer:ee}=i7({app:t,settings:r,showHiddenItems:m,hiddenFolders:o,hiddenFileProperties:a,hiddenFileNames:i,hiddenFileTags:l,fileVisibility:c,profileId:u.id,isStorageReady:G,isStorageReadyRef:V,latestSettingsRef:T,stoppedRef:w,setFileData:b,getVisibleMarkdownFiles:R,propertyTreeService:f??null}),{queueMetadataContentWhenReady:$,disposeMetadataWaitDisposers:j}=YQ({app:t,settings:r,latestSettingsRef:T,stoppedRef:w,contentRegistryRef:v,metadataWaitDisposersRef:k,pendingMetadataWaitPathsRef:F}),{queueIndexableFilesForContentGeneration:J,queueIndexableFilesNeedingContentGeneration:re}=JQ({app:t,contentRegistryRef:v,queueMetadataContentWhenReady:$}),{rebuildCache:oe}=QQ({contentRegistryRef:v,pendingSyncTimeoutIdRef:S,rebuildFileCacheRef:O,cancelTagTreeRebuildDebouncer:z,cancelPropertyTreeRebuildDebouncer:ee,disposeMetadataWaitDisposers:j,pendingMetadataWaitPathsRef:F,setFileData:b,tagTreeService:g??null,propertyTreeService:f??null,setIsStorageReady:X,isStorageReadyRef:V,hasBuiltInitialCacheRef:D,buildFileCacheFnRef:K,latestSettingsRef:T,stoppedRef:w,clearCacheRebuildNotice:A,startCacheRebuildNotice:_,getIndexableFiles:M});(0,Hn.useEffect)(()=>{if(!G||E.current)return;E.current=!0;let ke=bF();if(!ke)return;let Fe=Ng(T.current);if(Fe.length===0){Ep();return}let te=kt().getFilesNeedingAnyContent(Fe).size;if(te<=0){Ep();return}let pe=Math.max(ke.total,te);pe!==ke.total&&Lb({...ke,total:pe}),_(pe,Fe)},[G,_]);let Z=(0,Hn.useCallback)(ke=>{if(r.useFrontmatterMetadata){let Fe=Vy(t,ke,r);if(Fe.fn)return Fe.fn}return bm(ke,void 0,r)},[t,r]),ce=(0,Hn.useCallback)(ke=>{let Fe=r.useFrontmatterMetadata?Vy(t,ke,r):null;return M7(ke,Fe)},[t,r]),ae=(0,Hn.useCallback)(ke=>ce(ke).created,[ce]),se=(0,Hn.useCallback)(ke=>ce(ke).modified,[ce]),ne=(0,Hn.useCallback)(ke=>{let Fe=r.useFrontmatterMetadata?Vy(t,ke,r):null,te=M7(ke,Fe);return{name:Fe?.fn||bm(ke,void 0,r),created:te.created,modified:te.modified}},[t,r]),B=(0,Hn.useCallback)(ke=>kt().hasPreview(ke),[]),q=(0,Hn.useCallback)(async ke=>{if(w.current)return;let Fe=T.current;if(Fe.showFeatureImage&&!(ke.extension!=="md"&&!Ip(ke))){try{await kt().clearFileContent(ke.path,"featureImage")}catch(te){console.error("Failed to clear feature image content:",te);return}if(!(w.current||!v.current))try{ke.extension==="md"?$([ke],["markdownPipeline"],Fe):v.current.queueFilesForAllProviders([ke],Fe,{include:["fileThumbnails"]})}catch(te){console.error("Failed to queue feature image regeneration for file:",ke.path,te)}}},[$]),ie=(0,Hn.useMemo)(()=>({fileData:h,getFileDisplayName:Z,getFileCreatedTime:ae,getFileModifiedTime:se,getFileTimestamps:ce,getFileMetadata:ne,getDB:kt,getFile:Ie=>kt().getFile(Ie),getFiles:Ie=>kt().getFiles(Ie),hasPreview:B,isStorageReady:G,getTagTree:()=>h.tagTree,getPropertyTree:()=>h.propertyTree,findTagInTree:Ie=>Li(h.tagTree,Ie),getAllTagPaths:()=>{let Ie=[];for(let qe of h.tagTree.values()){let xe=ml(qe);Ie.push(...xe)}return Ie},getTagDisplayPath:Ie=>Li(h.tagTree,Ie)?.displayPath??Ie,rebuildCache:oe,regenerateFeatureImageForFile:q}),[h,Z,ae,se,ce,ne,B,G,oe,q]);KQ({app:t,contentRegistryRef:v,pendingSyncTimeoutIdRef:S,clearCacheRebuildNotice:A});let{resetPendingSettingsChanges:le}=u7({settings:r,stoppedRef:w,contentRegistryRef:v,hiddenFolders:o,hiddenFileProperties:a,hiddenFileNames:i,hiddenFileTags:l,scheduleTagTreeRebuild:x,schedulePropertyTreeRebuild:Y,getIndexableFiles:M,pendingRenameDataRef:P,queueMetadataContentWhenReady:$,queueIndexableFilesForContentGeneration:J,queueIndexableFilesNeedingContentGeneration:re,startCacheRebuildNotice:_,clearCacheRebuildNotice:A});d7({app:t,api:e,settings:r,latestSettingsRef:T,stoppedRef:w,isFirstLoadRef:y,isIndexedDBReady:L,hasBuiltInitialCacheRef:D,setIsStorageReady:X,isStorageReadyRef:V,contentRegistryRef:v,pendingSyncTimeoutIdRef:S,pendingRenameDataRef:P,buildFileCacheFnRef:K,rebuildFileCacheRef:O,activeVaultEventRefsRef:I,activeMetadataEventRefRef:N,rebuildTagTree:C,rebuildPropertyTree:H,scheduleTagTreeRebuild:x,schedulePropertyTreeRebuild:Y,cancelTagTreeRebuildDebouncer:z,cancelPropertyTreeRebuildDebouncer:ee,startCacheRebuildNotice:_,getIndexableFiles:M,queueMetadataContentWhenReady:$,queueIndexableFilesForContentGeneration:J,queueIndexableFilesNeedingContentGeneration:re,disposeMetadataWaitDisposers:j});let Te=(0,Hn.useMemo)(()=>({...ie,stopAllProcessing:()=>{w.current=!0,le(),v.current&&v.current.stopAllProcessing(),S.current!==null&&(typeof window<"u"&&window.clearTimeout(S.current),S.current=null);try{I.current&&(I.current.forEach(ke=>t.vault.offref(ke)),I.current=null),N.current&&(t.metadataCache.offref(N.current),N.current=null)}catch{}try{O.current?.cancel()}catch{}O.current=null,z({reset:!0}),ee({reset:!0}),j(),F.current.clear()}}),[z,ee,le,ie,j,t.vault,t.metadataCache]);return(0,O7.jsx)(X_.Provider,{value:Te,children:n})}function xo(){let t=(0,Hn.useContext)(X_);if(!t)throw new Error("useFileCache must be used within StorageProvider");return t}function A7(){return(0,Hn.useContext)(X_)}var Hn,O7,X_,Hb,$_,M7,Xi=U(()=>{Hn=ue(ze());rk();fQ();yQ();WQ();$Q();ZQ();e7();n7();a7();s7();c7();p7();Nv();zn();rs();Ba();mn();on();Tr();ff();MM();Mb();O7=ue(Ge()),X_=(0,Hn.createContext)(null),Hb=0,$_=new Set;M7=(t,e)=>({created:e?.fc!==void 0&&e.fc!==br.FIELD_NOT_CONFIGURED&&e.fc!==br.PARSE_FAILED?e.fc:t.stat.ctime,modified:e?.fm!==void 0&&e.fm!==br.FIELD_NOT_CONFIGURED&&e.fm!==br.PARSE_FAILED?e.fm:t.stat.mtime})});function TSe(t){return t.startView==="navigation"?"navigation":"files"}function kSe(t,e){switch(e.type){case"SET_FOCUSED_PANE":return{...t,focusedPane:e.pane};case"SET_SINGLE_PANE_VIEW":return{...t,currentSinglePaneView:e.view};case"SET_PANE_WIDTH":return t.paneWidth===e.width?t:{...t,paneWidth:e.width};case"SET_CONTAINER_WIDTH":return t.containerWidth===e.width?t:{...t,containerWidth:e.width};case"SET_DUAL_PANE":return t.dualPanePreference===e.value?t:{...t,dualPanePreference:e.value};case"SET_PIN_SHORTCUTS":return{...t,pinShortcuts:e.value};default:return t}}function B7({children:t,isMobile:e}){let{plugin:n}=gt(),r=pt(),o=Xt(),{setPinShortcuts:a}=wd(),i=()=>{let g=ye.get(ut.navigationPaneWidthKey)??Ld.defaultWidth,f=TSe(n.settings);return{focusedPane:f,currentSinglePaneView:f,paneWidth:Math.max(Ld.minWidth,g),containerWidth:null,dualPanePreference:n.useDualPane(),dualPane:!1,singlePane:!1,effectiveDualPaneOrientation:n.getDualPaneOrientation(),pinShortcuts:o.pinShortcuts}},[s,l]=(0,Wa.useReducer)(kSe,void 0,i),c=(0,Wa.useRef)(s.pinShortcuts);(0,Wa.useEffect)(()=>{c.current=s.pinShortcuts},[s.pinShortcuts]);let u=(0,Wa.useMemo)(()=>{let m=!e&&s.dualPanePreference,g=r.dualPaneOrientation;if(m&&r.dualPaneOrientation==="horizontal"&&r.narrowSidebarLayout!=="none"&&s.containerWidth!==null){let f=r.narrowSidebarTriggerMode==="customWidth"?r.narrowSidebarCustomWidth:s.paneWidth+EU.minWidth;s.containerWidth>=f||(r.narrowSidebarLayout==="singlePane"?m=!1:r.narrowSidebarLayout==="vertical"&&(g="vertical"))}return{...s,dualPane:m,singlePane:!m,effectiveDualPaneOrientation:g,pinShortcuts:s.pinShortcuts}},[s,e,r.dualPaneOrientation,r.narrowSidebarCustomWidth,r.narrowSidebarLayout,r.narrowSidebarTriggerMode]),p=(0,Wa.useCallback)(m=>{if(m.type==="SET_PIN_SHORTCUTS"){let g=m.value;g!==c.current&&(c.current=g,a(g))}l(m)},[l,a]);return(0,Wa.useEffect)(()=>{let m=`ui-state-${Date.now()}`,g=()=>{l({type:"SET_DUAL_PANE",value:n.useDualPane()})};return n.registerSettingsUpdateListener(m,g),()=>{n.unregisterSettingsUpdateListener(m)}},[n]),(0,Wa.useEffect)(()=>{c.current!==o.pinShortcuts&&(c.current=o.pinShortcuts,l({type:"SET_PIN_SHORTCUTS",value:o.pinShortcuts}))},[l,o.pinShortcuts]),(0,Wa.useEffect)(()=>{if(!e)return;let m=s.currentSinglePaneView,g=s.focusedPane;m==="navigation"&&g!=="navigation"?l({type:"SET_FOCUSED_PANE",pane:"navigation"}):m==="files"&&g==="navigation"&&l({type:"SET_FOCUSED_PANE",pane:"files"})},[e,s.currentSinglePaneView,s.focusedPane]),(0,Q_.jsx)(L7.Provider,{value:u,children:(0,Q_.jsx)(z7.Provider,{value:p,children:t})})}function Yn(){let t=(0,Wa.useContext)(L7);if(!t)throw new Error("useUIState must be used within UIStateProvider");return t}function Vr(){let t=(0,Wa.useContext)(z7);if(!t)throw new Error("useUIDispatch must be used within UIStateProvider");return t}var Wa,Q_,L7,z7,pa=U(()=>{Wa=ue(ze());Ue();Ue();Jr();mn();on();Tr();Q_=ue(Ge());L7=(0,Wa.createContext)(null),z7=(0,Wa.createContext)(null)});function _7(t){if(!Array.isArray(t))return[];let e=[],n=new Set;return t.forEach(r=>{if(typeof r!="string")return;let o=r.trim();if(!o||n.has(o))return;let a=o.replace(";group=none;",";group=custom;");n.has(a)||(n.add(a),e.push(a))}),e}function TF(t){return encodeURIComponent(t)}function H7({selectionType:t,selectedFolderPath:e,selectedTag:n,selectedProperty:r,groupingMode:o,groupId:a}){let i;return t===W.TAG&&n?i=`tag:${TF(n)}`:t===W.PROPERTY&&r?i=`property:${TF(r)}`:i=`folder:${TF(e??"/")}`,`scope=${i};group=${TF(o)};id=${TF(a)}`}var Z_=U(()=>{Ue()});function J_(t,e){let n=!1;if(t.forEach(o=>{e.has(o)||(n=!0)}),!n)return null;let r=new Set;return t.forEach(o=>{e.has(o)&&r.add(o)}),r}function FSe(t,e){switch(e.type){case"SET_EXPANDED_FOLDERS":return{...t,expandedFolders:e.folders};case"SET_EXPANDED_TAGS":return{...t,expandedTags:e.tags};case"SET_EXPANDED_PROPERTIES":return{...t,expandedProperties:e.properties};case"SET_EXPANDED_VIRTUAL_FOLDERS":return{...t,expandedVirtualFolders:e.folders};case"TOGGLE_FOLDER_EXPANDED":{let n=new Set(t.expandedFolders);return n.has(e.folderPath)?n.delete(e.folderPath):n.add(e.folderPath),{...t,expandedFolders:n}}case"TOGGLE_TAG_EXPANDED":{let n=new Set(t.expandedTags);return n.has(e.tagPath)?n.delete(e.tagPath):n.add(e.tagPath),{...t,expandedTags:n}}case"TOGGLE_PROPERTY_EXPANDED":{let n=new Set(t.expandedProperties);return n.has(e.propertyNodeId)?n.delete(e.propertyNodeId):n.add(e.propertyNodeId),{...t,expandedProperties:n}}case"TOGGLE_VIRTUAL_FOLDER_EXPANDED":{let n=new Set(t.expandedVirtualFolders);return n.has(e.folderId)?n.delete(e.folderId):n.add(e.folderId),{...t,expandedVirtualFolders:n}}case"TOGGLE_LIST_GROUP_COLLAPSED":{let n=new Set(t.collapsedListGroups);return n.has(e.collapseKey)?n.delete(e.collapseKey):n.add(e.collapseKey),{...t,collapsedListGroups:n}}case"EXPAND_LIST_GROUP":{if(!t.collapsedListGroups.has(e.collapseKey))return t;let n=new Set(t.collapsedListGroups);return n.delete(e.collapseKey),{...t,collapsedListGroups:n}}case"EXPAND_FOLDERS":{let n=new Set(t.expandedFolders);return e.folderPaths.forEach(r=>n.add(r)),{...t,expandedFolders:n}}case"EXPAND_TAGS":{let n=new Set(t.expandedTags);return e.tagPaths.forEach(r=>n.add(r)),{...t,expandedTags:n}}case"EXPAND_PROPERTIES":{let n=new Set(t.expandedProperties);return e.propertyNodeIds.forEach(r=>n.add(r)),{...t,expandedProperties:n}}case"TOGGLE_DESCENDANT_FOLDERS":{let n=new Set(t.expandedFolders);return e.descendantPaths.forEach(r=>{e.expand?n.add(r):n.delete(r)}),{...t,expandedFolders:n}}case"TOGGLE_DESCENDANT_TAGS":{let n=new Set(t.expandedTags);return e.descendantPaths.forEach(r=>{e.expand?n.add(r):n.delete(r)}),{...t,expandedTags:n}}case"TOGGLE_DESCENDANT_PROPERTIES":{let n=new Set(t.expandedProperties);return e.descendantNodeIds.forEach(r=>{e.expand?n.add(r):n.delete(r)}),{...t,expandedProperties:n}}case"CLEANUP_DELETED_FOLDERS":{let n=J_(t.expandedFolders,e.existingPaths);return n?{...t,expandedFolders:n}:t}case"CLEANUP_DELETED_TAGS":{let n=J_(t.expandedTags,e.existingTags);return n?{...t,expandedTags:n}:t}case"CLEANUP_DELETED_PROPERTIES":{let n=J_(t.expandedProperties,e.existingPropertyNodeIds);return n?{...t,expandedProperties:n}:t}default:return t}}function K7({children:t}){let e=()=>{let o=ye.get(ut.expandedFoldersKey),a=ye.get(ut.expandedTagsKey),i=ye.get(ut.expandedPropertiesKey),s=ye.get(ut.expandedVirtualFoldersKey),l=ye.get(ut.collapsedListGroupsKey),c=new Set(o||[]),u=new Set(a||[]),p=new Set(i||[]),m=new Set(s||[_n,Oe]),g=new Set(_7(l));return{expandedFolders:c,expandedTags:u,expandedProperties:p,expandedVirtualFolders:m,collapsedListGroups:g}},[n,r]=(0,Xs.useReducer)(FSe,void 0,e);return(0,Xs.useEffect)(()=>{ye.set(ut.expandedFoldersKey,Array.from(n.expandedFolders))},[n.expandedFolders]),(0,Xs.useEffect)(()=>{ye.set(ut.expandedTagsKey,Array.from(n.expandedTags))},[n.expandedTags]),(0,Xs.useEffect)(()=>{ye.set(ut.expandedPropertiesKey,Array.from(n.expandedProperties))},[n.expandedProperties]),(0,Xs.useEffect)(()=>{ye.set(ut.expandedVirtualFoldersKey,Array.from(n.expandedVirtualFolders))},[n.expandedVirtualFolders]),(0,Xs.useEffect)(()=>{ye.set(ut.collapsedListGroupsKey,Array.from(n.collapsedListGroups))},[n.collapsedListGroups]),(0,eH.jsx)(V7.Provider,{value:n,children:(0,eH.jsx)(U7.Provider,{value:r,children:t})})}function ta(){let t=(0,Xs.useContext)(V7);if(!t)throw new Error("useExpansionState must be used within ExpansionProvider");return t}function Ra(){let t=(0,Xs.useContext)(U7);if(!t)throw new Error("useExpansionDispatch must be used within ExpansionProvider");return t}var Xs,eH,V7,U7,Qs=U(()=>{Xs=ue(ze());Ue();Jr();Z_();eH=ue(Ge()),V7=(0,Xs.createContext)(null),U7=(0,Xs.createContext)(null)});function G7(t){let e=new Set;return t&&e.add(t.path),e}function tH(t){return!t||t===Oe?t:Gt(t)??t}function kF(t,e){return e<=0||t<0?0:t>=e?e-1:t}function nH(t,e){return!t||!e?!1:t.type===e.type&&t.value===e.value}function rH(t){if(t.selectionType==="folder"&&t.selectedFolder)return{type:"folder",value:t.selectedFolder.path};if(t.selectionType==="tag"&&t.selectedTag){let e=Ze(t.selectedTag);return e?{type:"tag",value:e}:null}if(t.selectionType==="property"&&t.selectedProperty){let e=tH(t.selectedProperty);return e?{type:"property",value:e}:null}return null}function j7(t,e){let n=t.slice(),r=kF(e,n.length);return n.length===0?{navigationHistory:n,navigationHistoryIndex:0}:(r>0&&nH(n[r],n[r-1])&&(n.splice(r,1),r-=1),r<n.length-1&&nH(n[r],n[r+1])&&n.splice(r+1,1),HM(n,r))}function HM(t,e){if(t.length===0)return{navigationHistory:t,navigationHistoryIndex:0};if(t.length<=W7)return{navigationHistory:t,navigationHistoryIndex:kF(e,t.length)};let n=t.length-W7,r=t.slice(n);return{navigationHistory:r,navigationHistoryIndex:kF(e-n,r.length)}}function PSe(t,e,n,r){if(!e)return{navigationHistory:t.navigationHistory,navigationHistoryIndex:t.navigationHistoryIndex};let o=t.navigationHistory.length>0?t.navigationHistory.slice():[e],a=kF(t.navigationHistoryIndex,o.length);if(typeof r=="number"){let c=kF(r,o.length);return o[c]=e,j7(o,c)}let i=n??"record";if(i==="skip")return HM(o,a);if(i==="replace")return o[a]=e,j7(o,a);let s=o[a];if(nH(s,e))return HM(o,a);let l=o.slice(0,a+1);return l.push(e),HM(l,l.length-1)}function hc(t,e){let n=rH({selectionType:e.selectionType,selectedFolder:e.selectedFolder,selectedTag:e.selectedTag,selectedProperty:e.selectedProperty}),{navigationHistory:r,navigationHistoryIndex:o}=PSe(t,n,e.historyBehavior,e.historyIndex);return{...t,selectionType:e.selectionType,selectedFolder:e.selectedFolder,selectedTag:e.selectedTag,selectedProperty:e.selectedProperty,selectedFiles:G7(e.selectedFile),selectedFile:e.selectedFile,anchorIndex:null,lastMovementDirection:null,isRevealOperation:e.isRevealOperation,isFolderChangeWithAutoSelect:e.isFolderChangeWithAutoSelect,isKeyboardNavigation:e.isKeyboardNavigation,isFolderNavigation:e.isFolderNavigation,revealSource:e.revealSource,navigationHistory:r,navigationHistoryIndex:o}}function VM(t,e){let n=t.values().next();if(n.done)return null;let r=n.value;return r?e.vault.getFileByPath(r)??null:null}function fc(t,e){return e.selectedFile?e.selectedFile:VM(e.selectedFiles,t)}function q7(t,e,n){switch(e.type){case"SET_SELECTED_FOLDER":return hc(t,{selectionType:"folder",selectedFolder:e.folder,selectedTag:null,selectedProperty:null,selectedFile:e.autoSelectedFile??null,isRevealOperation:!1,isFolderChangeWithAutoSelect:e.autoSelectedFile!==void 0&&e.autoSelectedFile!==null,isKeyboardNavigation:!1,isFolderNavigation:!0,revealSource:e.source??null,historyBehavior:e.historyBehavior,historyIndex:e.historyIndex});case"SET_SELECTED_TAG":return hc(t,{selectionType:"tag",selectedFolder:null,selectedTag:Ze(e.tag),selectedProperty:null,selectedFile:e.autoSelectedFile??null,isRevealOperation:!1,isFolderChangeWithAutoSelect:e.autoSelectedFile!==void 0&&e.autoSelectedFile!==null,isKeyboardNavigation:!1,isFolderNavigation:!0,revealSource:e.source??null,historyBehavior:e.historyBehavior,historyIndex:e.historyIndex});case"SET_SELECTED_PROPERTY":return hc(t,{selectionType:"property",selectedFolder:null,selectedTag:null,selectedProperty:tH(e.nodeId),selectedFile:e.autoSelectedFile??null,isRevealOperation:!1,isFolderChangeWithAutoSelect:e.autoSelectedFile!==void 0&&e.autoSelectedFile!==null,isKeyboardNavigation:!1,isFolderNavigation:!0,revealSource:e.source??null,historyBehavior:e.historyBehavior,historyIndex:e.historyIndex});case"SET_SELECTED_FILE":return{...t,selectedFiles:G7(e.file),selectedFile:e.file,anchorIndex:null,lastMovementDirection:null,isRevealOperation:!1,isFolderChangeWithAutoSelect:!1,isKeyboardNavigation:!1,isFolderNavigation:!1,revealSource:null};case"SET_SELECTION_TYPE":return{...t,selectionType:e.selectionType,isRevealOperation:!1,isFolderChangeWithAutoSelect:!1,isKeyboardNavigation:!1,revealSource:null};case"CLEAR_SELECTION":return{...t,selectedFolder:null,selectedTag:null,selectedProperty:null,selectedFiles:new Set,selectedFile:null,anchorIndex:null,lastMovementDirection:null,isRevealOperation:!1,isFolderChangeWithAutoSelect:!1,isKeyboardNavigation:!1,revealSource:null};case"REVEAL_FILE":{if(!e.file.parent)return t;let r=e.targetTag===void 0?void 0:Ze(e.targetTag),o=e.source??(e.isManualReveal?"manual":"auto"),a=e.historyBehavior??(o==="startup"?"replace":"record"),i=e.targetFolder??null;return e.isManualReveal?hc(t,{selectionType:"folder",selectedFolder:i??e.file.parent,selectedTag:null,selectedProperty:null,selectedFile:e.file,isRevealOperation:!0,isFolderChangeWithAutoSelect:!1,isKeyboardNavigation:!1,isFolderNavigation:t.isFolderNavigation,revealSource:o,historyBehavior:a,historyIndex:e.historyIndex}):r!==void 0?r?hc(t,{selectionType:"tag",selectedFolder:null,selectedTag:r,selectedProperty:null,selectedFile:e.file,isRevealOperation:!0,isFolderChangeWithAutoSelect:!1,isKeyboardNavigation:!1,isFolderNavigation:t.isFolderNavigation,revealSource:o,historyBehavior:a,historyIndex:e.historyIndex}):hc(t,{selectionType:"folder",selectedFolder:i??(e.preserveFolder&&t.selectedFolder?t.selectedFolder:e.file.parent),selectedTag:null,selectedProperty:null,selectedFile:e.file,isRevealOperation:!0,isFolderChangeWithAutoSelect:!1,isKeyboardNavigation:!1,isFolderNavigation:t.isFolderNavigation,revealSource:o,historyBehavior:a,historyIndex:e.historyIndex}):e.targetProperty!==void 0?e.targetProperty?hc(t,{selectionType:"property",selectedFolder:null,selectedTag:null,selectedProperty:tH(e.targetProperty),selectedFile:e.file,isRevealOperation:!0,isFolderChangeWithAutoSelect:!1,isKeyboardNavigation:!1,isFolderNavigation:t.isFolderNavigation,revealSource:o,historyBehavior:a,historyIndex:e.historyIndex}):hc(t,{selectionType:"folder",selectedFolder:i??(e.preserveFolder&&t.selectedFolder?t.selectedFolder:e.file.parent),selectedTag:null,selectedProperty:null,selectedFile:e.file,isRevealOperation:!0,isFolderChangeWithAutoSelect:!1,isKeyboardNavigation:!1,isFolderNavigation:t.isFolderNavigation,revealSource:o,historyBehavior:a,historyIndex:e.historyIndex}):t.selectionType==="tag"&&t.selectedTag?hc(t,{selectionType:"tag",selectedFolder:null,selectedTag:t.selectedTag,selectedProperty:null,selectedFile:e.file,isRevealOperation:!0,isFolderChangeWithAutoSelect:!1,isKeyboardNavigation:!1,isFolderNavigation:t.isFolderNavigation,revealSource:o,historyBehavior:a,historyIndex:e.historyIndex}):t.selectionType==="property"&&t.selectedProperty?hc(t,{selectionType:"property",selectedFolder:null,selectedTag:null,selectedProperty:t.selectedProperty,selectedFile:e.file,isRevealOperation:!0,isFolderChangeWithAutoSelect:!1,isKeyboardNavigation:!1,isFolderNavigation:t.isFolderNavigation,revealSource:o,historyBehavior:a,historyIndex:e.historyIndex}):hc(t,{selectionType:"folder",selectedFolder:i??(e.preserveFolder&&t.selectedFolder?t.selectedFolder:e.file.parent),selectedTag:null,selectedProperty:null,selectedFile:e.file,isRevealOperation:!0,isFolderChangeWithAutoSelect:!1,isKeyboardNavigation:!1,isFolderNavigation:t.isFolderNavigation,revealSource:o,historyBehavior:a,historyIndex:e.historyIndex})}case"CLEAR_REVEAL_OPERATION":return t.isRevealOperation?{...t,isRevealOperation:!1}:t;case"CLEANUP_DELETED_FOLDER":return!t.selectedFolder||t.selectedFolder.path!==e.deletedPath?t:{...t,selectedFolder:null,selectedFiles:new Set,selectedFile:null,anchorIndex:null,lastMovementDirection:null,isFolderChangeWithAutoSelect:!1,isKeyboardNavigation:!1,revealSource:null};case"CLEANUP_DELETED_FILE":{if(!(t.selectedFiles.has(e.deletedPath)||t.selectedFile?.path===e.deletedPath)&&!e.nextFileToSelect)return t;let o=new Set(t.selectedFiles);o.delete(e.deletedPath);let a=t.anchorIndex;return t.anchorIndex!==null&&o.size===0&&(a=null),e.nextFileToSelect&&o.add(e.nextFileToSelect.path),{...t,selectedFiles:o,selectedFile:e.nextFileToSelect??(n?VM(o,n):null),anchorIndex:a,isFolderChangeWithAutoSelect:!1,isKeyboardNavigation:!1,revealSource:null}}case"TOGGLE_FILE_SELECTION":{let r=new Set(t.selectedFiles);return r.has(e.file.path)?r.delete(e.file.path):r.add(e.file.path),{...t,selectedFiles:r,selectedFile:t.selectedFile,anchorIndex:e.anchorIndex!==void 0?e.anchorIndex:t.anchorIndex,lastMovementDirection:null}}case"EXTEND_SELECTION":{let{toIndex:r,allFiles:o}=e;if(t.anchorIndex===null)return t;let a=Math.min(t.anchorIndex,r),i=Math.max(t.anchorIndex,r),s=new Set;for(let l=a;l<=i&&l<o.length;l+=1)o[l]&&s.add(o[l].path);return{...t,selectedFiles:s,selectedFile:o[r]??null,lastMovementDirection:null}}case"CLEAR_FILE_SELECTION":return{...t,selectedFiles:new Set,selectedFile:null,anchorIndex:null,lastMovementDirection:null};case"SET_FILE_SELECTION":{let r=new Set;return e.files.forEach(o=>{r.add(o.path)}),{...t,selectedFiles:r,selectedFile:e.selectedFile,anchorIndex:null,lastMovementDirection:null}}case"APPLY_FILE_SELECTION":return{...t,selectedFiles:new Set(e.selectedFiles),selectedFile:e.selectedFile,anchorIndex:e.anchorIndex!==void 0?e.anchorIndex:t.anchorIndex,lastMovementDirection:e.lastMovementDirection!==void 0?e.lastMovementDirection:null};case"SET_ANCHOR_INDEX":return{...t,anchorIndex:e.index};case"SET_MOVEMENT_DIRECTION":return{...t,lastMovementDirection:e.direction};case"UPDATE_CURRENT_FILE":return{...t,selectedFile:e.file};case"TOGGLE_WITH_CURSOR":{let r=new Set(t.selectedFiles);return r.has(e.file.path)?r.delete(e.file.path):r.add(e.file.path),{...t,selectedFiles:r,selectedFile:e.file,anchorIndex:e.anchorIndex!==void 0?e.anchorIndex:t.anchorIndex,lastMovementDirection:null}}case"SET_KEYBOARD_NAVIGATION":return{...t,isKeyboardNavigation:e.isKeyboardNavigation};case"SET_FOLDER_CHANGE_WITH_AUTO_SELECT":return{...t,isFolderChangeWithAutoSelect:e.isFolderChangeWithAutoSelect};case"SET_FOLDER_NAVIGATION":return{...t,isFolderNavigation:e.isFolderNavigation};case"UPDATE_FILE_PATH":{let r=new Set(t.selectedFiles);r.has(e.oldPath)&&(r.delete(e.oldPath),r.add(e.newPath));let o=t.selectedFile;return t.selectedFile&&t.selectedFile.path===e.oldPath&&n&&(o=n.vault.getFileByPath(e.newPath)??o),{...t,selectedFiles:r,selectedFile:o}}default:return t}}var W7,FF=U(()=>{Ue();cn();Sn();W7=100});function UM(t,e,n){try{return ye.get(t)??e}catch(r){return console.error(n,r),e}}function CSe(t,e){try{let n=ye.get(t);return Array.isArray(n)?n.filter(r=>typeof r=="string"):[]}catch(n){return console.error(e,n),[]}}function PF(t,e,n){try{if(e===null){ye.remove(t);return}if(Array.isArray(e)&&e.length===0){ye.remove(t);return}ye.set(t,e)}catch(r){console.error(n,r)}}function Y7({app:t,settings:e}){let n=t.vault,r=UM(ut.selectedFolderKey,null,"Failed to load selected folder from localStorage:"),o=UM(ut.selectedTagKey,null,"Failed to load selected tag from localStorage:"),a=UM(ut.selectedFileKey,null,"Failed to load selected file from localStorage:"),i=CSe(ut.selectedFilesKey,"Failed to load selected files from localStorage:"),s=null;r&&(s=n.getFolderByPath(r));let l=null;if(e.showProperties&&(l=jv(UM(ut.selectedPropertyKey,null,"Failed to load selected property from localStorage:"))),l&&!Uv(e,l)){l=null;try{ye.remove(ut.selectedPropertyKey)}catch(b){console.error("Failed to clear invalid property selection from localStorage:",b)}}let c=null,u=new Set;if(i.forEach(b=>{let v=n.getFileByPath(b);v&&(u.add(v.path),c||(c=v))}),u.size===0&&a){let b=n.getFileByPath(a);b&&(c=b,u.add(b.path))}let p=Ze(o),m="folder";l?(m="property",s=null):p?(m="tag",s=null):s||(s=n.getRoot());let g=rH({selectionType:m,selectedFolder:s,selectedTag:l?null:p,selectedProperty:l});return{selectionType:m,selectedFolder:s,selectedTag:l?null:p,selectedProperty:l,selectedFiles:u,selectedFile:c,anchorIndex:null,lastMovementDirection:null,isRevealOperation:!1,isFolderChangeWithAutoSelect:!1,isKeyboardNavigation:!1,isFolderNavigation:!1,revealSource:null,navigationHistory:g?[g]:[],navigationHistoryIndex:0}}function $7(t){let e=(0,Vo.useRef)(t);return e.current=t,e}function X7({app:t,dispatch:e,includeDescendantNotes:n,isMobile:r,propertyTreeService:o,settings:a,showHiddenItems:i,tagTreeService:s}){let l=(0,Vo.useCallback)(c=>{if(!r&&a.autoSelectFirstFileOnFocusChange&&c.length>0)return c[0];let u=t.workspace.getActiveFile();return u&&c.some(p=>p.path===u.path)?u:null},[t.workspace,r,a.autoSelectFirstFileOnFocusChange]);return(0,Vo.useCallback)(c=>{let u={includeDescendantNotes:n,showHiddenItems:i};if(c.type==="SET_SELECTED_FOLDER"&&c.autoSelectedFile===void 0){if(c.folder){let p=Uy(c.folder,a,u,t);e({...c,autoSelectedFile:l(p)})}else e({...c,autoSelectedFile:null});return}if(c.type==="SET_SELECTED_TAG"&&c.autoSelectedFile===void 0){if(c.tag){let p=fx(c.tag,a,u,t,s);e({...c,autoSelectedFile:l(p)})}else e({...c,autoSelectedFile:null});return}if(c.type==="SET_SELECTED_PROPERTY"&&c.autoSelectedFile===void 0){let p=vx(c.nodeId,a,u,t,o);e({...c,autoSelectedFile:l(p)});return}if(c.type==="CLEANUP_DELETED_FILE"&&r){e({...c,nextFileToSelect:null});return}e(c)},[t,e,n,r,o,l,a,i,s])}function Q7({app:t,dispatch:e,enhancedDispatch:n,onFileRename:r,onFileRenameUnsubscribe:o,pluginSettings:a,propertyFeatureEnabled:i,propertyOperations:s,propertyTreeService:l,state:c,stateRef:u,tagOperations:p,tagTreeService:m}){let g=(0,Vo.useRef)(null),f=(0,Vo.useCallback)((b,v)=>{if(!i||b!=="property"||!v){g.current=null;return}if(g.current!==null&&g.current!==v&&(g.current=null),!hT(a,v)){g.current=null,a.showProperties?e({type:"SET_SELECTED_PROPERTY",nodeId:Oe,historyBehavior:"replace"}):e({type:"SET_SELECTED_FOLDER",folder:t.vault.getRoot(),historyBehavior:"replace"});return}if(v===Oe||!l){g.current=null;return}if(!l.hasNodes())return;let y=l.resolveSelectionNodeId(v);if(y===Oe){if(g.current===v)return;g.current=null,a.showProperties?e({type:"SET_SELECTED_PROPERTY",nodeId:Oe,historyBehavior:"replace"}):e({type:"SET_SELECTED_FOLDER",folder:t.vault.getRoot(),historyBehavior:"replace"});return}g.current===v&&(g.current=null),y!==v&&e({type:"SET_SELECTED_PROPERTY",nodeId:y,historyBehavior:"replace"})},[t.vault,e,a,i,l]);(0,Vo.useEffect)(()=>{if(l)return l.addTreeUpdateListener(()=>{let b=u.current;f(b.selectionType,b.selectedProperty)})},[l,f,u]),(0,Vo.useEffect)(()=>{if(m)return m.addTreeUpdateListener(()=>{let b=u.current,v=b.selectedTag;if(b.selectionType!=="tag"||!v||v===zt||v===bt||!m.hasNodes())return;let y=m.resolveSelectionTagPath(v);if(!y){n({type:"SET_SELECTED_FOLDER",folder:t.vault.getRoot(),historyBehavior:"replace"});return}y!==v&&n({type:"SET_SELECTED_TAG",tag:y,historyBehavior:"replace"})})},[t.vault,n,u,m]),(0,Vo.useEffect)(()=>{if(!p)return;let b=w=>{let k=u.current.selectedTag;if(!(!k||!w.oldCanonicalPath||!w.newCanonicalPath)&&(k===w.oldCanonicalPath||k.startsWith(`${w.oldCanonicalPath}/`))){let F=k.slice(w.oldCanonicalPath.length),P=F?`${w.newCanonicalPath}${F}`:w.newCanonicalPath;n({type:"SET_SELECTED_TAG",tag:P,historyBehavior:"replace"})}},v=w=>{let k=u.current.selectedTag;if(!(!k||!w.canonicalPath)&&(k===w.canonicalPath||k.startsWith(`${w.canonicalPath}/`))){let F=w.canonicalPath.includes("/")?w.canonicalPath.slice(0,w.canonicalPath.lastIndexOf("/")):"";n(F?{type:"SET_SELECTED_TAG",tag:F,historyBehavior:"replace"}:{type:"CLEAR_SELECTION"})}},y=p.addTagRenameListener(b),S=p.addTagDeleteListener(v);return()=>{y(),S()}},[n,u,p]),(0,Vo.useEffect)(()=>{if(!s)return;let b=w=>{let k=u.current,F=k.selectedProperty;if(!F||k.selectionType!=="property"||F===Oe)return;let P=Gt(F);if(!P)return;let T=kn(P);if(!T||T.key!==w.oldKey)return;let I=T.valuePath?sa(w.newKey,T.valuePath):Gn(w.newKey);g.current=I,n({type:"SET_SELECTED_PROPERTY",nodeId:I,historyBehavior:"replace"})},v=w=>{let k=u.current,F=k.selectedProperty;if(!F||k.selectionType!=="property"||F===Oe)return;let P=Gt(F);if(!P)return;let T=kn(P);!T||T.key!==w.key||(g.current=null,a.showProperties?n({type:"SET_SELECTED_PROPERTY",nodeId:Oe,historyBehavior:"replace"}):n({type:"SET_SELECTED_FOLDER",folder:t.vault.getRoot(),historyBehavior:"replace"}))},y=s.addPropertyKeyRenameListener(b),S=s.addPropertyKeyDeleteListener(v);return()=>{y(),S()}},[t.vault,n,a.showProperties,s,u]),(0,Vo.useEffect)(()=>{let b=a.showProperties&&c.selectionType==="property"&&c.selectedProperty===Oe;!i&&c.selectionType==="property"&&!b&&(a.showProperties?e({type:"SET_SELECTED_PROPERTY",nodeId:Oe,historyBehavior:"replace"}):e({type:"SET_SELECTED_FOLDER",folder:t.vault.getRoot(),historyBehavior:"replace"}))},[t.vault,e,a.showProperties,i,c.selectedProperty,c.selectionType]);let h=(0,Vo.useMemo)(()=>{let b=Array.from(Cm(a,"navigation"));return b.length===0?"":(b.sort(),b.join(""))},[a]);(0,Vo.useEffect)(()=>{f(c.selectionType,c.selectedProperty)},[h,f,a.showProperties,c.selectedProperty,c.selectionType]),(0,Vo.useEffect)(()=>{let b=`selection-context-${Math.random().toString(36).substring(2,11)}`;return r?.(b,(y,S)=>{e({type:"UPDATE_FILE_PATH",oldPath:y,newPath:S})}),()=>{o?.(b)}},[e,r,o])}function Z7({api:t,app:e,state:n}){(0,Vo.useEffect)(()=>{PF(ut.selectedFolderKey,n.selectedFolder?n.selectedFolder.path:null,"Failed to save selected folder to localStorage:")},[n.selectedFolder]),(0,Vo.useEffect)(()=>{PF(ut.selectedTagKey,n.selectedTag,"Failed to save selected tag to localStorage:")},[n.selectedTag]),(0,Vo.useEffect)(()=>{PF(ut.selectedPropertyKey,n.selectedProperty,"Failed to save selected property to localStorage:")},[n.selectedProperty]),(0,Vo.useEffect)(()=>{let r=n.selectedFile??VM(n.selectedFiles,e);PF(ut.selectedFileKey,r?r.path:null,"Failed to save selected file to localStorage:")},[e,n.selectedFile,n.selectedFiles]),(0,Vo.useEffect)(()=>{PF(ut.selectedFilesKey,n.selectedFiles.size>0?Array.from(n.selectedFiles):null,"Failed to save selected files to localStorage:"),t?.[Ea].selection.updateFileState(n.selectedFiles,n.selectedFile)},[t,n.selectedFile,n.selectedFiles]),(0,Vo.useEffect)(()=>{t?.[Ea].selection.updateNavigationState(n.selectedFolder,n.selectedTag,n.selectedProperty)},[t,n.selectedFolder,n.selectedProperty,n.selectedTag])}var Vo,J7=U(()=>{Vo=ue(ze());ak();Jr();eg();Ue();cn();Sn();dn();FF();FF()});function l9({children:t,app:e,api:n,tagTreeService:r,propertyTreeService:o,onFileRename:a,onFileRenameUnsubscribe:i,isMobile:s}){let l=pt(),c=Xt(),u=Hv(l),{tagOperations:p,propertyOperations:m}=gt(),[g,f]=(0,mr.useReducer)((T,I)=>q7(T,I,e),void 0,()=>Y7({app:e,settings:l})),h=$7(g),b=(0,mr.useRef)(new Set),v=(0,mr.useMemo)(()=>({subscribe:T=>(b.current.add(T),()=>{b.current.delete(T)})}),[]),y=X7({app:e,dispatch:f,includeDescendantNotes:c.includeDescendantNotes,isMobile:s,propertyTreeService:o,settings:l,showHiddenItems:c.showHiddenItems,tagTreeService:r});Q7({app:e,dispatch:f,enhancedDispatch:y,onFileRename:a,onFileRenameUnsubscribe:i,pluginSettings:l,propertyFeatureEnabled:u,propertyOperations:m,propertyTreeService:o,state:g,stateRef:h,tagOperations:p,tagTreeService:r}),Z7({api:n,app:e,state:g}),(0,mr.useEffect)(()=>{b.current.forEach(T=>{T(g)})},[g]);let S=(0,mr.useMemo)(()=>({selectionType:g.selectionType,selectedFolder:g.selectedFolder,selectedTag:g.selectedTag,selectedProperty:g.selectedProperty}),[g.selectedFolder,g.selectedProperty,g.selectedTag,g.selectionType]),w=(0,mr.useMemo)(()=>({selectedFiles:g.selectedFiles,selectedFile:g.selectedFile,anchorIndex:g.anchorIndex,lastMovementDirection:g.lastMovementDirection}),[g.anchorIndex,g.lastMovementDirection,g.selectedFile,g.selectedFiles]),k=(0,mr.useMemo)(()=>({isRevealOperation:g.isRevealOperation,isFolderChangeWithAutoSelect:g.isFolderChangeWithAutoSelect,isKeyboardNavigation:g.isKeyboardNavigation,isFolderNavigation:g.isFolderNavigation,revealSource:g.revealSource}),[g.isFolderChangeWithAutoSelect,g.isFolderNavigation,g.isKeyboardNavigation,g.isRevealOperation,g.revealSource]),F=(0,mr.useMemo)(()=>({isRevealOperation:g.isRevealOperation,revealSource:g.revealSource}),[g.isRevealOperation,g.revealSource]),P=(0,mr.useMemo)(()=>({navigationHistory:g.navigationHistory,navigationHistoryIndex:g.navigationHistoryIndex}),[g.navigationHistory,g.navigationHistoryIndex]);return(0,Rp.jsx)(e9.Provider,{value:S,children:(0,Rp.jsx)(t9.Provider,{value:w,children:(0,Rp.jsx)(n9.Provider,{value:k,children:(0,Rp.jsx)(r9.Provider,{value:F,children:(0,Rp.jsx)(o9.Provider,{value:P,children:(0,Rp.jsx)(a9.Provider,{value:h,children:(0,Rp.jsx)(i9.Provider,{value:v,children:(0,Rp.jsx)(s9.Provider,{value:y,children:t})})})})})})})})}function Ml(){let t=(0,mr.useContext)(e9);if(!t)throw new Error("useNavigationSelection must be used within SelectionProvider");return t}function CF(){let t=(0,mr.useContext)(t9);if(!t)throw new Error("useFileSelection must be used within SelectionProvider");return t}function NSe(){let t=(0,mr.useContext)(n9);if(!t)throw new Error("useSelectionFlags must be used within SelectionProvider");return t}function d9(){let t=(0,mr.useContext)(r9);if(!t)throw new Error("useSelectionReveal must be used within SelectionProvider");return t}function c9(){let t=(0,mr.useContext)(a9);if(!t)throw new Error("useSelectionStateRefValue must be used within SelectionProvider");return t}function u9(){let t=(0,mr.useContext)(i9);if(!t)throw new Error("useSelectionStateSubscription must be used within SelectionProvider");return t}function ISe(){let t=(0,mr.useContext)(o9);if(!t)throw new Error("useSelectionHistory must be used within SelectionProvider");return t}function ar(){let t=Ml(),e=CF(),n=NSe(),r=ISe();return(0,mr.useMemo)(()=>({...t,...e,...n,...r}),[e,t,n,r])}function gr(){let t=(0,mr.useContext)(s9);if(!t)throw new Error("useSelectionDispatch must be used within SelectionProvider");return t}var mr,Rp,e9,t9,n9,r9,o9,a9,i9,s9,Ur=U(()=>{mr=ue(ze());on();Tr();mn();cn();J7();FF();FF();Rp=ue(Ge()),e9=(0,mr.createContext)(null),t9=(0,mr.createContext)(null),n9=(0,mr.createContext)(null),r9=(0,mr.createContext)(null),o9=(0,mr.createContext)(null),a9=(0,mr.createContext)(null),i9=(0,mr.createContext)(null),s9=(0,mr.createContext)(null)});function NF(t){return t instanceof WM.TFolder}function KM(t){return t instanceof WM.TFile}function m9({children:t}){let e=pt(),n=Ys(),{app:r}=gt(),[o,a]=(0,Cn.useState)(0),i=(0,Cn.useRef)(new Map),s=(0,Cn.useMemo)(()=>TT(e.vaultProfiles,e.vaultProfile),[e.vaultProfiles,e.vaultProfile]),l=s.id,c=(0,Cn.useMemo)(()=>s.shortcuts??[],[s]),u=(0,Cn.useMemo)(()=>e.vaultProfiles.map(C=>{let x=C.shortcuts??[];return{id:C.id,shortcuts:x,fingerprint:oH(x)}}),[e.vaultProfiles]);(0,Cn.useEffect)(()=>{let C=i.current,x=new Set(u.map(ee=>ee.id));if(C.forEach((ee,$)=>{x.has($)||C.delete($)}),u.length===0)return;let z=u.filter(ee=>C.get(ee.id)!==ee.fingerprint);if(z.length===0)return;let H=z.filter(ee=>ee.shortcuts.some($=>{if(Co($)){let j=Ze($.tagPath);return j!==null&&j!==$.tagPath}if(la($)){let j=Zu($.nodeId);return j!==null&&j!==$.nodeId}return!1})),Y=new Set(H.map(ee=>ee.id));z.forEach(ee=>{Y.has(ee.id)||C.set(ee.id,ee.fingerprint)}),H.length!==0&&Q(async()=>{await n(ee=>{H.forEach($=>{let j=ee.vaultProfiles.find(Z=>Z.id===$.id);if(!j||!Array.isArray(j.shortcuts)){C.set($.id,$.fingerprint);return}let J=!1,re=j.shortcuts.map(Z=>{if(!Co(Z)){if(!la(Z))return Z;let ae=Zu(Z.nodeId);return!ae||ae===Z.nodeId?Z:(J=!0,{...Z,nodeId:ae})}let ce=Ze(Z.tagPath);return!ce||ce===Z.tagPath?Z:(J=!0,{...Z,tagPath:ce})});if(J){j.shortcuts=re,C.set($.id,oH(re));return}let oe=oH(j.shortcuts??[]);C.set($.id,oe)})})})},[u,n]);let p=(0,Cn.useCallback)(async C=>{if(!l)return!1;let x=!1;return await n(z=>{let H=z.vaultProfiles.find($=>$.id===l);if(!H)return;let Y=Array.isArray(H.shortcuts)?H.shortcuts:[],ee=C(Y);ee&&(H.shortcuts=ee,x=!0)}),x},[l,n]),m=(0,Cn.useMemo)(()=>{let C=new Map;return c.forEach(x=>{C.set(nd(x),x)}),C},[c]),g=(0,Cn.useMemo)(()=>F$(r,c),[r,c,o]),f=(0,Cn.useMemo)(()=>P$(c,g),[c,g]),h=f.folderShortcutKeysByPath,b=f.noteShortcutKeysByPath,v=(0,Cn.useMemo)(()=>{let C=new Map;return c.forEach(x=>{if(Co(x)){let z=Ze(x.tagPath);z&&C.set(z,nd(x))}}),C},[c]),y=(0,Cn.useMemo)(()=>{let C=new Map;return c.forEach(x=>{if(la(x)){let z=Zu(x.nodeId);z&&C.set(z,nd(x))}}),C},[c]),S=(0,Cn.useMemo)(()=>{let C=new Map;return c.forEach(x=>{if(Bi(x)){let z=Ju(x.name);z&&C.set(z,x)}}),C},[c]);(0,Cn.useEffect)(()=>{let C=new Map(h),x=new Map(b),z=new Set(Array.from(C.keys(),bl)),H=new Set(Array.from(x.keys(),bl));if(C.size===0&&x.size===0)return;let Y=r.vault,ee=ae=>C.has(ae)||x.has(ae),$=(ae,se)=>ee(se)?!0:NF(ae)?z.has(bl(se)):H.has(bl(se)),j=ae=>{!NF(ae)&&!KM(ae)||$(ae,ae.path)&&a(se=>se+1)},J=ae=>{!NF(ae)&&!KM(ae)||$(ae,ae.path)&&a(se=>se+1)},re=(ae,se)=>{!NF(ae)&&!KM(ae)||($(ae,se)||$(ae,ae.path))&&a(ne=>ne+1)},oe=Y.on("create",j),Z=Y.on("delete",J),ce=Y.on("rename",(ae,se)=>{re(ae,se)});return()=>{Y.offref(oe),Y.offref(Z),Y.offref(ce)}},[r.vault,h,b]);let w=(0,Cn.useMemo)(()=>c.map(C=>{let x=nd(C);if(Zo(C)){let z=g.folderTargetsByPath.get(C.path)??null;return NF(z)?{key:x,shortcut:C,folder:z,note:null,search:null,tagPath:null,propertyNodeId:null,isMissing:!1}:{key:x,shortcut:C,folder:null,note:null,search:null,tagPath:null,propertyNodeId:null,isMissing:!0}}if(Po(C)){let z=g.noteTargetsByPath.get(C.path)??null;return KM(z)?{key:x,shortcut:C,folder:null,note:z,search:null,tagPath:null,propertyNodeId:null,isMissing:!1}:{key:x,shortcut:C,folder:null,note:null,search:null,tagPath:null,propertyNodeId:null,isMissing:!0}}if(Co(C)){let z=Ze(C.tagPath);return{key:x,shortcut:C,folder:null,note:null,search:null,tagPath:z??C.tagPath,propertyNodeId:null,isMissing:!z}}if(la(C)){let z=Zu(C.nodeId);return{key:x,shortcut:C,folder:null,note:null,search:null,tagPath:null,propertyNodeId:z??C.nodeId,isMissing:!z}}return{key:x,shortcut:C,folder:null,note:null,search:C,tagPath:null,propertyNodeId:null,isMissing:!1}}),[c,g]),k=(0,Cn.useCallback)(async(C,x)=>p(z=>{let H=[...z],Y=typeof x=="number"?Math.max(0,Math.min(x,H.length)):H.length;return H.splice(Y,0,C),H}),[p]),F=(0,Cn.useCallback)(async(C,x)=>{if(C.length===0)return 0;let z=new Set(h.keys()),H=new Set(b.keys()),Y=new Set(v.keys()),ee=new Set(y.keys()),$=new Set(S.keys()),j=!1,J=!1,re=!1,oe=!1,Z=!1,ce=!1,ae=!1,se=!1,ne=!1,B=[];return C.forEach(ie=>{if(ie.type===Dn.FOLDER){if(z.has(ie.path)){j=!0;return}z.add(ie.path),B.push(ie);return}if(ie.type===Dn.NOTE){if(H.has(ie.path)){J=!0;return}H.add(ie.path),B.push(ie);return}if(ie.type===Dn.TAG){let le=Ze(ie.tagPath);if(!le){oe=!0;return}if(Y.has(le)){re=!0;return}Y.add(le),B.push({...ie,tagPath:le});return}if(ie.type===Dn.PROPERTY){let le=Zu(ie.nodeId);if(!le){ce=!0;return}if(ee.has(le)){Z=!0;return}if(ee.add(le),le===ie.nodeId){B.push(ie);return}B.push({...ie,nodeId:le});return}if(ie.type===Dn.SEARCH){let le=ie.name.trim(),Te=ie.query.trim(),ke=DN(ie.startTarget);if(!le){se=!0;return}if(!Te){ne=!0;return}let Fe=Ju(le);if($.has(Fe)){ae=!0;return}$.add(Fe),B.push({...ie,name:le,query:Te,startTarget:ke})}}),j&&de(d.shortcuts.folderExists,{variant:"warning"}),J&&de(d.shortcuts.noteExists,{variant:"warning"}),re&&de(d.shortcuts.tagExists,{variant:"warning"}),oe&&de(d.modals.tagOperation.invalidTagName,{variant:"warning"}),Z&&de(d.shortcuts.propertyExists,{variant:"warning"}),ce&&de(d.shortcuts.invalidProperty,{variant:"warning"}),ae&&de(d.shortcuts.searchExists,{variant:"warning"}),se&&de(d.shortcuts.emptySearchName,{variant:"warning"}),ne&&de(d.shortcuts.emptySearchQuery,{variant:"warning"}),B.length===0?0:await p(ie=>{let le=[...ie],Te=typeof x?.index=="number"?Math.max(0,Math.min(x.index,le.length)):le.length;return B.forEach(ke=>{le.splice(Te,0,ke),Te+=1}),le})?B.length:0},[h,b,v,y,S,p]),P=(0,Cn.useCallback)(async(C,x)=>h.has(C)?(de(d.shortcuts.folderExists,{variant:"warning"}),!1):k({type:Dn.FOLDER,path:C},x?.index),[k,h]),T=(0,Cn.useCallback)(async(C,x)=>b.has(C)?(de(d.shortcuts.noteExists,{variant:"warning"}),!1):k({type:Dn.NOTE,path:C},x?.index),[k,b]),I=(0,Cn.useCallback)(async(C,x)=>{let z=Ze(C);return z?v.has(z)?(de(d.shortcuts.tagExists,{variant:"warning"}),!1):k({type:Dn.TAG,tagPath:z},x?.index):!1},[k,v]),N=(0,Cn.useCallback)(async(C,x)=>{let z=Zu(C);return z?y.has(z)?(de(d.shortcuts.propertyExists,{variant:"warning"}),!1):k({type:Dn.PROPERTY,nodeId:z},x?.index):(de(d.shortcuts.invalidProperty,{variant:"warning"}),!1)},[k,y]),O=(0,Cn.useCallback)(async({name:C,query:x,provider:z,startTarget:H},Y)=>{let ee=x.trim();if(!ee)return de(d.shortcuts.emptySearchQuery,{variant:"warning"}),!1;let $=C.trim();if(!$)return de(d.shortcuts.emptySearchName,{variant:"warning"}),!1;let j=Ju($);if(S.has(j))return de(d.shortcuts.searchExists,{variant:"warning"}),!1;let J=DN(H);return k({type:Dn.SEARCH,name:$,query:ee,provider:z,startTarget:J},Y?.index)},[k,S]),K=(0,Cn.useCallback)(async C=>m.has(C)?p(x=>{let z=x.filter(H=>nd(H)!==C);return z.length===x.length?null:z}):!1,[m,p]),G=(0,Cn.useCallback)(async(C,x,z)=>{let H=m.get(C);if(!H)return!1;if(Bi(H)){let j=x.trim();if(!j)return de(d.shortcuts.emptySearchName,{variant:"warning"}),!1;let J=Ju(j),re=Ju(H.name),oe=S.get(J);return J!==re&&oe?(de(d.shortcuts.searchExists,{variant:"warning"}),!1):p(Z=>{let ce=!1,ae=Z.map(se=>nd(se)!==C||!Bi(se)||se.name===j?se:(ce=!0,{...se,name:j}));return ce?ae:null})}let Y=x.trim(),ee=z?.trim(),$=Y.length===0||ee&&Y===ee?void 0:Y;return p(j=>{let J=!1,re=j.map(oe=>nd(oe)!==C||oe.type===Dn.SEARCH||(oe.alias&&oe.alias.length>0?oe.alias:void 0)===$?oe:(J=!0,{...oe,alias:$}));return J?re:null})},[S,m,p]),X=(0,Cn.useCallback)(async C=>{let x=S.get(Ju(C));return x?K(nd(x)):!1},[K,S]),L=(0,Cn.useCallback)(async()=>p(()=>[]),[p]),V=(0,Cn.useCallback)(async C=>{if(C.length!==c.length)return!1;let x=[];for(let z of C){let H=m.get(z);if(!H)return!1;x.push(H)}return p(()=>x)},[c.length,m,p]),D=(0,Cn.useCallback)(C=>h.has(C),[h]),A=(0,Cn.useCallback)(C=>b.has(C),[b]),_=(0,Cn.useCallback)(C=>{let x=Ze(C);return x?v.has(x):!1},[v]),E=(0,Cn.useCallback)(C=>{let x=Zu(C);return x?y.has(x):!1},[y]),R=(0,Cn.useCallback)(C=>S.get(Ju(C)),[S]),M=(0,Cn.useMemo)(()=>({shortcuts:c,hydratedShortcuts:w,shortcutMap:m,folderShortcutKeysByPath:h,noteShortcutKeysByPath:b,tagShortcutKeysByPath:v,propertyShortcutKeysByNodeId:y,searchShortcutsByName:S,addFolderShortcut:P,addNoteShortcut:T,addTagShortcut:I,addPropertyShortcut:N,addSearchShortcut:O,addShortcutsBatch:F,removeShortcut:K,renameShortcut:G,removeSearchShortcut:X,clearShortcuts:L,reorderShortcuts:V,hasFolderShortcut:D,hasNoteShortcut:A,hasTagShortcut:_,hasPropertyShortcut:E,findSearchShortcut:R}),[c,w,m,h,b,v,y,S,P,T,I,N,O,F,K,G,X,L,V,D,A,_,E,R]);return(0,g9.jsx)(p9.Provider,{value:M,children:t})}function Td(){let t=(0,Cn.useContext)(p9);if(!t)throw new Error("useShortcuts must be used within a ShortcutsProvider");return t}var Cn,WM,g9,xSe,oH,p9,xg=U(()=>{Cn=ue(ze()),WM=require("obsidian");on();mn();Ia();Ee();Fn();Sn();ot();dn();Ay();g9=ue(Ge()),xSe=t=>{if(Zo(t)||Po(t)||Co(t)||la(t)){let n=Co(t)?t.tagPath:la(t)?t.nodeId:t.path;return`${t.type}:${n}`}let e=vT(t.startTarget);return`${t.type}:${t.name}:${t.query}:${t.provider}:${e}`},oH=t=>t.length===0?"empty":t.map(xSe).join("|"),p9=(0,Cn.createContext)(null)});function kd(t){return typeof t=="string"&&t.length>0}function RSe(t){let e=[];for(let n of t)kd(n)&&e.push(n);return e}function h9(t,e){return e?.getPathType?.(t)??null}function DSe(t,e){let n=h9(t,e),r=`${t}.md`,o=h9(r,e);return n==="file"?t:o==="file"?r:t}function ASe(t,e){let n=t.trim();if(!n||!n.startsWith(MSe))return null;try{let r=new URL(n);if(r.protocol!=="obsidian:"||r.hostname!=="open")return null;let o=r.searchParams.get("vault");if(e?.vaultName&&o!==e.vaultName)return null;let a=r.searchParams.get("file");return kd(a)?DSe(a,e):null}catch{return null}}function f9(t,e){let n=t.trim();if(!n)return null;let o=n.split(/\r?\n|(?=obsidian:\/\/open\?)/).map(a=>a.trim()).filter(a=>a.length>0&&!a.startsWith("#")).map(a=>ASe(a,e)).filter(kd);return o.length>0?o:null}function aH(t){let e=Array.from(t??[]);return e.includes(v9)||e.includes(y9)}function Vb(t){let e=Array.from(t??[]);return aH(e)||e.length===2&&e.includes(b9)&&e.includes(S9)}function IF(t){return Array.from(t??[]).includes(ESe)}function OSe(t){let e=t.trim();if(!e)return null;try{let n=JSON.parse(e);if(Array.isArray(n)){let r=RSe(n);return r.length>0?r:null}return console.error("Invalid obsidian/files payload: expected array"),null}catch(n){return console.error("Error parsing obsidian/files payload",n),null}}function xF(t,e){if(!t)return null;let n=t.getData(y9);if(kd(n)){let i=OSe(n);if(i&&i.length>0)return i}let r=t.getData(v9);if(kd(r))return[r];let o=t.getData(b9);if(kd(o)){let i=f9(o,e);if(i&&i.length>0)return i}let a=t.getData(S9);if(kd(a)){let i=f9(a,e);if(i&&i.length>0)return i}return null}function w9(t){let e=t.trim();if(!e)return null;try{let n=JSON.parse(e);if(kd(n))return n;if(n&&typeof n=="object"){let r=n,o=kd(r.canonicalPath)?r.canonicalPath:null,a=kd(r.displayPath)?r.displayPath:null;return o||a||null}}catch{return e}return null}function T9(t){let e=t.trim();if(!e)return null;try{let n=JSON.parse(e);if(kd(n))return n;if(n&&typeof n=="object"){let r=n;return kd(r.nodeId)?r.nodeId:null}}catch{return e}return null}var v9,y9,b9,S9,ESe,MSe,jM=U(()=>{v9="obsidian/file",y9="obsidian/files",b9="text/uri-list",S9="text/plain",ESe="Files",MSe="obsidian://open"});function LSe(t,e){switch(t.type){case"folder":return e.expandedFolders.has(t.id);case"tag":return e.expandedTags.has(t.id);case"property":return e.expandedProperties.has(t.id);case"virtual-folder":return e.expandedVirtualFolders.has(t.id)}}function F9(t){switch(t.type){case"folder":return{type:"TOGGLE_FOLDER_EXPANDED",folderPath:t.id};case"tag":return{type:"TOGGLE_TAG_EXPANDED",tagPath:t.id};case"property":return{type:"TOGGLE_PROPERTY_EXPANDED",propertyNodeId:t.id};case"virtual-folder":return{type:"TOGGLE_VIRTUAL_FOLDER_EXPANDED",folderId:t.id}}}function P9(t,e,n){switch(t){case"folder":return n?{type:"SET_EXPANDED_FOLDERS",folders:new Set(e)}:{type:"EXPAND_FOLDERS",folderPaths:[...e]};case"tag":return n?{type:"SET_EXPANDED_TAGS",tags:new Set(e)}:{type:"EXPAND_TAGS",tagPaths:[...e]};case"property":return n?{type:"SET_EXPANDED_PROPERTIES",properties:new Set(e)}:{type:"EXPAND_PROPERTIES",propertyNodeIds:[...e]}}}function zSe(t){return t.type==="virtual-folder"?F9(t):P9(t.type,[...t.ancestorIds??[],t.id],!0)}function BSe(t,e){let n=LSe(t,e);return{isExpanded:n,hasChildren:t.hasChildren,canExpand:t.hasChildren&&!n,canCollapse:n}}function Fd(t,e,n,r="toggle",o){let a=BSe(t,e);return(r==="expand"?a.canExpand:r==="collapse"?a.canCollapse:a.canExpand||a.canCollapse)?(o?.collapseOtherBranches&&a.canExpand?n(zSe(t)):n(F9(t)),!0):!1}function ys({type:t,ids:e,collapseOtherBranches:n,dispatch:r}){e.length!==0&&r(P9(t,e,n))}function Dp(t){let e=[],n=t.parent;for(;n&&(e.unshift(n.path),n.path!=="/");)n=n.parent;return e}function EF(t){if(!t.includes("/"))return[];let e=t.split("/"),n=[];for(let r=1;r<e.length;r+=1)n.push(e.slice(0,r).join("/"));return n}function iH(t){let e=zi(t);return e&&e!==t?[e]:[]}function Eg(t,e){switch(t.type){case he.FOLDER:return t.data instanceof k9.TFolder?{type:"folder",id:t.data.path,hasChildren:zv(t.data,t.parsedExcludedFolders??[],e.showHiddenItems),ancestorIds:Dp(t.data)}:null;case he.TAG:return{type:"tag",id:t.data.path,hasChildren:t.data.children.size>0,ancestorIds:EF(t.data.path)};case he.PROPERTY_KEY:case he.PROPERTY_VALUE:return{type:"property",id:t.data.id,hasChildren:t.data.children.size>0,ancestorIds:iH(t.data.id)};case he.VIRTUAL_FOLDER:return typeof t.tagCollectionId!="string"&&typeof t.propertyCollectionId!="string"?null:{type:"virtual-folder",id:t.data.id,hasChildren:t.hasChildren??!1};default:return null}}var k9,hu=U(()=>{k9=require("obsidian");Ue();Yr();cn()});function x9(t){let{app:e,isMobile:n,tagTreeService:r,propertyTreeService:o}=gt(),a=li(),i=_b(),s=ar(),l=gr(),c=pt(),u=Xt(),p=u.includeDescendantNotes,m=u.showHiddenItems,g=ta(),f=Ra(),h=(0,hn.useRef)(null),b=(0,hn.useRef)(null),v=(0,hn.useRef)(null),y=(0,hn.useRef)(0),S=(0,hn.useRef)(g.expandedFolders),w=(0,hn.useRef)(g.expandedTags),k=(0,hn.useRef)(null),F=(0,hn.useRef)(null),P=(0,hn.useRef)(null),T=(0,hn.useRef)(null),I=(0,hn.useRef)(0),N=(0,hn.useRef)(new Set),O=(0,hn.useMemo)(()=>{let B=c.springLoadedFoldersInitialDelay;return Number.isFinite(B)?Math.round(Math.min(2,Math.max(.1,B))*1e3):GM},[c.springLoadedFoldersInitialDelay]),K=(0,hn.useMemo)(()=>{let B=c.springLoadedFoldersSubsequentDelay;return Number.isFinite(B)?Math.round(Math.min(2,Math.max(.1,B))*1e3):GM},[c.springLoadedFoldersSubsequentDelay]),G=(0,hn.useCallback)(B=>{if(w1(e))try{if(!B){e.dragManager.draggable=null;return}let q=e.dragManager.draggable,ie=q?{...q,...B}:{...B};e.dragManager.draggable=ie}catch(q){console.error("[Notebook Navigator] Failed to set drag payload",q)}},[e]),X=B=>B instanceof HTMLElement,L=B=>B===W.FILE||B===W.FOLDER||B===W.TAG||B===W.PROPERTY,V=(0,hn.useCallback)(B=>{B.classList.add("nn-dragging"),N.current.add(B)},[]),D=(0,hn.useCallback)(()=>{N.current.forEach(B=>{B.classList.remove("nn-dragging")}),N.current.clear()},[]),A=(0,hn.useCallback)(()=>{let B=t.current;B&&B.querySelectorAll(".nn-file[data-drag-path]").forEach(q=>{let ie=xC(q,"data-drag-path");ie&&s.selectedFiles.has(ie)&&V(q)})},[t,V,s.selectedFiles]),_=(0,hn.useCallback)((B,q)=>{let le=(t.current?.ownerDocument??activeDocument).createElement("div");return le.className="nn-drag-preview-badge",le.textContent=`${q}`,zT(B,le)},[t]),E=(0,hn.useCallback)((B,q,ie,le,Te,ke)=>{let Fe=WSe(q,ie,Te,ke);if(Fe.length===0)return!1;let pe=(t.current?.ownerDocument??activeDocument).createElement("div");pe.className="nn-drag-preview-icon";let ve=le??"#ffffff";return pe.style.color=ve,pe.style.setProperty("--icon-color",ve),pe.style.fill=ve,pe.style.stroke=ve,Fe.some(qe=>jSe(pe,qe))?zT(B,pe):!1},[t]),R=(0,hn.useCallback)(()=>ca({selectionType:s.selectionType,selectedFolder:s.selectedFolder,selectedTag:s.selectedTag,selectedProperty:s.selectedProperty},c,{includeDescendantNotes:p,showHiddenItems:m},e,r,o),[s,c,p,m,e,r,o]),M=(0,hn.useCallback)(B=>{let q=[];for(let ie of B){let le=e.vault.getFileByPath(ie);le&&q.push(le)}return q},[e]),C=(0,hn.useCallback)(B=>{let q=e.vault.getAbstractFileByPath(B);return q instanceof Ap.TFile?"file":q instanceof Ap.TFolder?"folder":null},[e]),x=(0,hn.useCallback)(async(B,q)=>{let ie=R();await a.moveFilesToFolder({files:B,targetFolder:q,selectionContext:{selectedFile:s.selectedFile,dispatch:l,allFiles:ie},showNotifications:!0})},[a,R,s.selectedFile,l]),z=(0,hn.useCallback)(B=>{let q=xF(B.dataTransfer??null,{getPathType:C,vaultName:e.vault.getName()});if(!q||q.length===0)return{files:[],hasNonMarkdown:!1};let ie=M(q);if(ie.length===0)return{files:[],hasNonMarkdown:!1};let le=ie.some(Te=>Te.extension!=="md");return{files:ie,hasNonMarkdown:le}},[e,C,M]),H=(0,hn.useCallback)(B=>{if(!X(B.target))return;y.current=0,D();let q=B.target.closest('[data-draggable="true"]');if(!q||!q.instanceOf(HTMLElement))return;let ie=xC(q,"data-drag-path"),le=q.getAttribute("data-drag-type"),Te=q.getAttribute("data-drag-canonical"),ke=q.getAttribute("data-drag-icon"),Fe=q.getAttribute("data-drag-fallback-icon"),te=q.getAttribute("data-drag-base-icon"),pe=q.getAttribute("data-drag-icon-color"),ve=q.getAttribute("data-drag-allow-multi-file")!=="false",Ie=ke&&ke.trim().length>0?ke:void 0,qe=Fe&&Fe.trim().length>0?Fe:void 0,xe=te&&te.trim().length>0?te:void 0,Ce=pe&&pe.trim().length>0?pe:void 0;if(!ie||!B.dataTransfer)return;let vt=ve&&le===W.FILE&&s.selectedFiles.has(ie)&&s.selectedFiles.size>1;if(G(null),vt){let Ve=Array.from(s.selectedFiles);B.dataTransfer.effectAllowed="all",k.current=W.FILE;let Ae=M(Ve);Ae.length>0&&(N9(B.dataTransfer,e.vault.getName(),Ae),G({type:"files",files:Ae,title:`${Ae.length} files`})),A(),_(B,Ve.length);return}if(le===W.FOLDER&&B.dataTransfer.setData("obsidian/file",ie),le===W.FILE||le===W.FOLDER||le===W.TAG||le===W.PROPERTY?k.current=le:k.current=W.FILE,B.dataTransfer.effectAllowed=le===W.PROPERTY?"copy":"all",le===W.FILE){let Ve=e.vault.getFileByPath(ie);Ve&&(N9(B.dataTransfer,e.vault.getName(),[Ve]),G({type:"file",file:Ve,title:Ve.basename}))}else if(le===W.TAG){P.current=ie,T.current=Te??null;try{let Ve={displayPath:ie,canonicalPath:Te??It(ie)};B.dataTransfer.setData(Jg,JSON.stringify(Ve)),B.dataTransfer.setData("text/plain",`#${ie}`)}catch(Ve){console.error("[Notebook Navigator] Failed to attach tag drag payload",Ve)}G({type:"tag",title:ie})}else if(le===W.PROPERTY)try{let Ve={nodeId:ie};B.dataTransfer.setData(lw,JSON.stringify(Ve))}catch(Ve){console.error("[Notebook Navigator] Failed to attach property drag payload",Ve)}V(q);let Rt=L(le)?le:null;E(B,Rt,Ie,Ce,qe,xe)},[s,e,M,G,D,V,A,_,E]);(0,hn.useEffect)(()=>{S.current=g.expandedFolders},[g.expandedFolders]),(0,hn.useEffect)(()=>{w.current=g.expandedTags},[g.expandedTags]);let Y=(0,hn.useCallback)(()=>{b.current!==null&&(window.clearTimeout(b.current),b.current=null),v.current=null},[]);(0,hn.useEffect)(()=>{c.springLoadedFolders||Y()},[c.springLoadedFolders,Y]);let ee=(0,hn.useCallback)(B=>{if(v.current?.type===B.type&&v.current.path===B.path||(Y(),B.isAlreadyExpanded()))return;let q=B.resolveNode();if(!q.isValid||!q.hasChildren)return;let ie=y.current===0?O:K;v.current={type:B.type,path:B.path},b.current=window.setTimeout(()=>{let le=B.resolveNode();if(!le.isValid){Y();return}le.hasChildren&&!B.isAlreadyExpanded()&&(B.expand(),y.current+=1),Y()},ie)},[Y,O,K]),$=(0,hn.useCallback)(B=>{ee({type:"folder",path:B,isAlreadyExpanded:()=>S.current.has(B),resolveNode:()=>{let q=e.vault.getFolderByPath(B);return q?{isValid:!0,hasChildren:q.children.some(ie=>ie instanceof Ap.TFolder)}:{isValid:!1,hasChildren:!1}},expand:()=>{let q=c.collapseOtherBranchesOnExpand?e.vault.getFolderByPath(B):null,ie=q?[...Dp(q),B]:[B];ys({type:"folder",ids:ie,collapseOtherBranches:c.collapseOtherBranchesOnExpand,dispatch:f})}})},[e,f,ee,c.collapseOtherBranchesOnExpand]),j=(0,hn.useCallback)(B=>{r&&ee({type:"tag",path:B,isAlreadyExpanded:()=>w.current.has(B),resolveNode:()=>{if(!r)return{isValid:!1,hasChildren:!1};let q=r.findTagNode(B);return q?{isValid:!0,hasChildren:q.children.size>0}:{isValid:!1,hasChildren:!1}},expand:()=>{let q=c.collapseOtherBranchesOnExpand?[...EF(B),B]:[B];ys({type:"tag",ids:q,collapseOtherBranches:c.collapseOtherBranchesOnExpand,dispatch:f})}})},[r,f,ee,c.collapseOtherBranchesOnExpand]),J=(0,hn.useCallback)((B,q)=>{if(!c.springLoadedFolders){Y();return}if(B==="folder"){$(q);return}j(q)},[c.springLoadedFolders,Y,$,j]),re=(0,hn.useCallback)(B=>{if(!X(B.target))return;let q=B.target.closest('[data-drop-zone="folder"],[data-drop-zone="tag"],[data-drop-zone="tag-root"],[data-drop-zone="property"]'),ie=!!B.dataTransfer?.types?.includes(Gv);if(h.current&&h.current!==q&&(h.current.classList.remove("nn-drag-over"),h.current=null,F.current=null,Y()),!q){ie&&B.dataTransfer&&(B.dataTransfer.dropEffect="none"),F.current=null,Y();return}if(h.current===q&&F.current&&B.dataTransfer){B.preventDefault(),B.dataTransfer.dropEffect=F.current;return}if(ie){q.classList.remove("nn-drag-over"),h.current=null,F.current=null,Y(),B.dataTransfer&&(B.dataTransfer.dropEffect="none");return}if(k.current===W.PROPERTY){q.classList.remove("nn-drag-over"),h.current=null,F.current=null,Y(),B.dataTransfer&&(B.dataTransfer.dropEffect="none");return}if(B.dataTransfer){let le=q.getAttribute("data-drop-zone"),Te=q.getAttribute("data-drop-path"),ke=q.dataset.allowInternalDrop!=="false",Fe=q.dataset.allowExternalDrop!=="false",te=B.dataTransfer.types,pe=Vb(te),ve=!!te?.includes(Jg),Ie=IF(te)||!!(B.dataTransfer.files&&B.dataTransfer.files.length>0),qe=pe||ve,xe=Ie&&!qe;if(le==="property"){let vt=k.current===W.FOLDER,Rt=k.current===W.TAG;if(vt||Rt||!pe||xe){h.current===q&&(q.classList.remove("nn-drag-over"),h.current=null,F.current=null),Y(),B.dataTransfer.dropEffect="none";return}}if(qe&&!ke||xe&&!Fe){h.current===q&&(q.classList.remove("nn-drag-over"),h.current=null,F.current=null),Y(),B.dataTransfer.dropEffect="none";return}if(!C9(le,{hasObsidianData:pe,hasTagPayload:ve,isExternalOnly:xe})){h.current===q&&(q.classList.remove("nn-drag-over"),h.current=null,F.current=null),Y(),B.dataTransfer.dropEffect="none";return}B.preventDefault();let Ce=!!te?.includes("Files")&&!qe;if(le==="folder"){if(k.current===W.TAG){h.current===q&&(q.classList.remove("nn-drag-over"),h.current=null,F.current=null),Y(),B.dataTransfer.dropEffect="none";return}B.dataTransfer.dropEffect=Ce?"copy":"move",Te&&J("folder",Te)}else if(le==="tag"){if(k.current===W.FOLDER){h.current===q&&q.classList.remove("nn-drag-over"),h.current=null,F.current=null,Y(),B.dataTransfer.dropEffect="none";return}if(B.dataTransfer.dropEffect=Te===bt?"move":"copy",Te!==bt){let vt=q.getAttribute("data-tag");vt?J("tag",vt):Y()}else Y()}else le==="property"&&(Y(),B.dataTransfer.dropEffect="move");if(le==="tag-root"){if(k.current!==W.TAG){h.current===q&&(q.classList.remove("nn-drag-over"),h.current=null,F.current=null),Y(),B.dataTransfer.dropEffect="none";return}B.dataTransfer.dropEffect="move",Y()}}B.defaultPrevented&&(h.current!==q&&q.classList.add("nn-drag-over"),h.current=q,F.current=B.dataTransfer?.dropEffect??null)},[Y,J]),oe=(0,hn.useCallback)(async(B,q)=>{let{files:ie,hasNonMarkdown:le}=z(B);if(ie.length!==0){if(le){de(d.fileSystem.notifications.tagsRequireMarkdown,{variant:"warning"});return}if(q===bt)try{let Te=await i.clearAllTagsFromFiles(ie);if(Te>0){let ke=Te===1?d.fileSystem.notifications.tagsClearedFromNote:d.fileSystem.notifications.tagsClearedFromNotes.replace("{count}",Te.toString());de(ke,{variant:"success"})}else de(d.dragDrop.notifications.noTagsToClear,{variant:"warning"})}catch(Te){console.error("Error clearing tags:",Te),de(d.dragDrop.errors.failedToClearTags,{variant:"warning"})}else try{let{added:Te,skipped:ke}=await i.addTagToFiles(q,ie);if(Te>0){let Fe=Te===1?d.fileSystem.notifications.tagAddedToNote:d.fileSystem.notifications.tagAddedToNotes.replace("{count}",Te.toString());de(Fe,{variant:"success"})}ke>0&&de(d.dragDrop.notifications.filesAlreadyHaveTag.replace("{count}",ke.toString()),{timeout:Lt.NOTICE_ERROR,variant:"warning"})}catch(Te){console.error("Error adding tag:",Te),de(d.dragDrop.errors.failedToAddTag.replace("{tag}",q),{variant:"warning"})}}},[z,i]),Z=(0,hn.useCallback)(async(B,q)=>{let{files:ie,hasNonMarkdown:le}=z(B);if(ie.length!==0){if(le){de(d.fileSystem.notifications.propertiesRequireMarkdown,{variant:"warning"});return}await a.applyPropertyNodeToFiles(q,ie)}},[a,z]),ce=(0,hn.useCallback)(async(B,q)=>{let ie={success:0,failed:0},le=[];for(let Te=0;Te<B.length;Te++){let ke=B[Te];try{let Fe=ke.name.lastIndexOf("."),te,pe;Fe===-1||Fe===0?(te=ke.name,pe=""):(te=ke.name.substring(0,Fe),pe=ke.name.substring(Fe+1));let ve=hl(q.path,te,pe,e),Ie=od(q.path,ve,pe),qe=ke.name.toLowerCase(),xe=ke.type||"";if(pe.toLowerCase()==="md"||xe.startsWith("text/")||xe==="application/json"||xe==="application/xml"||/\.(canvas|json|csv|txt|xml|html|css|js|ts)$/i.test(qe)){let vt=await ke.text();await e.vault.create(Ie,vt)}else{let vt=await ke.arrayBuffer();await e.vault.createBinary(Ie,vt)}ie.success++}catch(Fe){console.error(`Failed to import file ${ke.name}:`,Fe),le.push(ke.name),ie.failed++}}if(ie.success>0){let Te=ie.success===1?d.dragDrop.notifications.fileImported:d.dragDrop.notifications.filesImported.replace("{count}",ie.success.toString());de(Te,{variant:"success"})}if(ie.failed>0){let Te=d.dragDrop.errors.failedToImportFiles.replace("{names}",le.join(", "));de(Te,{timeout:Lt.NOTICE_ERROR,variant:"warning"})}},[e]),ae=(0,hn.useCallback)(async B=>{I.current=Date.now()+_Se;try{let q=h.current;if(q&&q.classList.remove("nn-drag-over"),h.current=null,F.current=null,!q&&X(B.target)){let Ke=B.target.closest("[data-drop-zone]");q=Ke instanceof HTMLElement?Ke:null}if(!!B.dataTransfer?.types?.includes(Gv)){Y();return}if(k.current===W.PROPERTY){Y();return}if(!q){Y();return}let le=q.getAttribute("data-drop-zone"),Te=xC(q,"data-drop-path");if(!le||!Te){Y();return}Y();let ke=q.dataset.allowInternalDrop!=="false",Fe=q.dataset.allowExternalDrop!=="false",te=B.dataTransfer?.types,pe=B.dataTransfer?.files??null,ve=xF(B.dataTransfer??null,{getPathType:C,vaultName:e.vault.getName()}),Ie=aH(te)||!!(ve&&ve.length>0),qe=!!te?.includes(Jg),xe=IF(te)||!!(pe&&pe.length>0),Ce=Ie||qe,vt=xe&&!Ce;if(Ce&&!ke||vt&&!Fe||!C9(le,{hasObsidianData:Ie,hasTagPayload:qe,isExternalOnly:vt}))return;if(B.preventDefault(),le==="tag-root"){if(k.current===W.TAG){let Ke=P.current;if(!Ke)return;await i.promoteTagToRoot(Ke)}return}if(le==="tag"){if(k.current===W.TAG){let Ke=P.current,Be=T.current;if(!Ke||!Be)return;let wt=q.getAttribute("data-tag")??"";if(Te===bt||wt===zt||Te===zt||wt===Be)return;if(wt.startsWith(`${Be}/`)){de(d.modals.tagOperation.descendantRenameError,{variant:"warning"});return}await i.renameTagByDrag(Ke,Te);return}if(k.current===W.FOLDER)return;await oe(B,Te);return}if(le==="property"){if(!Ie||vt||k.current===W.TAG||k.current===W.FOLDER)return;await Z(B,Te);return}if(le==="folder"&&k.current===W.TAG)return;let Rt=e.vault.getFolderByPath(Te);if(!Rt)return;if(pe&&pe.length>0&&!Ie){await ce(pe,Rt);return}if(ve&&ve.length>0){let Ke=M(ve);if(Ke.length>0){await x(Ke,Rt);return}}let Ve=B.dataTransfer?.getData("obsidian/file");if(!Ve)return;let Ae=e.vault.getAbstractFileByPath(Ve);if(!Ae)return;if(Ae instanceof Ap.TFile)await x([Ae],Rt);else if(Ae instanceof Ap.TFolder){if(Rt.path===Ae.path||Rt.path.startsWith(`${Ae.path}/`)){de(d.dragDrop.errors.cannotMoveIntoSelf,{variant:"warning"});return}if(Ae.parent?.path===Rt.path)return;try{await a.moveFolderToTarget(Ae,Rt),de(d.fileSystem.notifications.folderMoved.replace("{name}",Ae.name),{variant:"success"})}catch(Ke){if(Ke instanceof au){if(Ke.code==="destination-exists"){de(d.fileSystem.errors.folderAlreadyExists.replace("{name}",Ae.name),{variant:"warning"});return}if(Ke.code==="invalid-target"){de(d.dragDrop.errors.cannotMoveIntoSelf,{variant:"warning"});return}}console.error("Error moving folder:",Ke),de(d.dragDrop.errors.failedToMoveFolder.replace("{name}",Ae.name),{variant:"warning"})}}}finally{D(),G(null),k.current=null,P.current=null,T.current=null,y.current=0}},[e,Z,oe,ce,x,M,C,Y,D,G,i,a]),se=(0,hn.useCallback)(B=>{let q=B.target;if(!(q instanceof HTMLElement))return;let ie=q.closest("[data-drop-zone]");if(ie instanceof HTMLElement&&ie===h.current){let le=B.relatedTarget;(!(le instanceof Node)||!ie.contains(le))&&(ie.classList.remove("nn-drag-over"),h.current=null,F.current=null,Y())}},[Y]),ne=(0,hn.useCallback)(()=>{y.current=0,D(),h.current&&(h.current.classList.remove("nn-drag-over"),h.current=null),F.current=null,G(null),Y(),k.current=null,P.current=null,T.current=null},[D,Y,G]);(0,hn.useEffect)(()=>{let B=t.current;if(!B||n)return;let q=le=>{Q(()=>ae(le))};B.addEventListener("dragstart",H),B.addEventListener("dragover",re),B.addEventListener("dragleave",se),B.addEventListener("drop",q),B.addEventListener("dragend",ne);let ie=le=>{Date.now()>I.current||(le.preventDefault(),le.stopPropagation(),le.stopImmediatePropagation())};return B.addEventListener("click",ie,!0),()=>{B.removeEventListener("dragstart",H),B.removeEventListener("dragover",re),B.removeEventListener("dragleave",se),B.removeEventListener("drop",q),B.removeEventListener("dragend",ne),B.removeEventListener("click",ie,!0),D(),G(null),Y(),k.current=null,F.current=null}},[t,H,re,se,ae,ne,n,D,Y,G])}var hn,Ap,GM,_Se,HSe,VSe,C9,I9,USe,KSe,WSe,jSe,GSe,qSe,N9,sH=U(()=>{hn=ue(ze()),Ap=require("obsidian");Ur();mn();on();Tr();Qs();Ee();Fn();Ue();Ia();jr();os();Nm();cL();Dr();ot();jM();Rz();ai();hu();Ha();GM=500,_Se=100,HSe="text/plain",VSe="text/uri-list",C9=(t,{hasObsidianData:e,hasTagPayload:n,isExternalOnly:r})=>t==="folder"?e||r:t==="tag"?n||e:t==="tag-root"?n:t==="property"?e:!1,I9=t=>t.startsWith("emoji:")?t.slice(6):/\p{Extended_Pictographic}/u.test(t)?t:null,USe=t=>{if(I9(t))return!0;let e=t.startsWith("lucide-")?t.slice(7):t;return yn().isValidIcon(e)},KSe=(t,e)=>e||(t===W.FOLDER?"folder-closed":t===W.TAG?"tags":t===W.FILE?"file":t===W.PROPERTY?"align-left":null),WSe=(t,e,n,r)=>{let o=[];e&&o.push(e),n&&o.push(n);let a=KSe(t,r);return a&&o.push(a),Array.from(new Set(o))},jSe=(t,e)=>{if(!USe(e))return!1;t.innerHTML="";try{if(yn().renderIcon(t,e),t.childNodes.length>0||t.innerHTML.trim()!=="")return!0}catch(r){}let n=I9(e);if(n)return t.textContent=n,!0;try{return(0,Ap.setIcon)(t,e),t.childNodes.length>0}catch(r){}return!1},GSe=t=>t.extension==="md"&&t.path.endsWith(".md")?t.path.slice(0,-3):t.path,qSe=(t,e)=>{let n=encodeURIComponent(t),r=encodeURIComponent(GSe(e));return`obsidian://open?vault=${n}&file=${r}`},N9=(t,e,n)=>{let r=n.map(o=>qSe(e,o)).join(`
`);r&&(t.setData(HSe,r),t.setData(VSe,r))}});function XSe(t,e){return e?t.clientX>=e.left&&t.clientX<=e.right&&t.clientY>=e.top&&t.clientY<=e.bottom:!1}function E9(t){let e=t.dataTransfer?.types;return Vb(e)||IF(e)}function M9({containerRef:t,isMobile:e,isSinglePane:n,isFilesView:r,onActivateNavigation:o,onRestoreFiles:a}){let i=(0,Ub.useRef)(null),s=(0,Ub.useRef)(!1),l=(0,Ub.useRef)(!1);(0,Ub.useEffect)(()=>{let c=t.current;if(!c||e)return;let u=c.ownerDocument,p=()=>{i.current!==null&&(window.clearTimeout(i.current),i.current=null)},m=()=>{i.current!==null||s.current||(i.current=window.setTimeout(()=>{i.current=null,l.current&&(!n||!r||(s.current=!0,o()))},GM))},g=S=>{let k=c.getBoundingClientRect().left+YSe;if(S.clientX<=k)return!0;let F=c.querySelector($Se);return F?XSe(S,F.getBoundingClientRect()):!1},f=()=>{l.current=!0,s.current=!1,p()},h=S=>{if(E9(S)){if(l.current=!0,!n||!r){p();return}g(S)?m():s.current||p()}},b=S=>{if(!E9(S))return;let w=S.relatedTarget;if(w instanceof Node&&c.contains(w))return;let k=c.getBoundingClientRect();S.clientX>=k.left&&S.clientX<=k.right&&S.clientY>=k.top&&S.clientY<=k.bottom||(l.current=!1,p(),s.current&&(s.current=!1,a()))},v=()=>{l.current=!1,p(),s.current&&(s.current=!1,a())},y=()=>{v()};return c.addEventListener("dragstart",f),c.addEventListener("dragover",h),c.addEventListener("dragleave",b),c.addEventListener("dragend",v),c.addEventListener("drop",y),u.addEventListener("dragend",v),u.addEventListener("drop",v),()=>{p(),c.removeEventListener("dragstart",f),c.removeEventListener("dragover",h),c.removeEventListener("dragleave",b),c.removeEventListener("dragend",v),c.removeEventListener("drop",y),u.removeEventListener("dragend",v),u.removeEventListener("drop",v)}},[t,e,n,r,o,a])}var Ub,YSe,$Se,R9=U(()=>{Ub=ue(ze());sH();jM();YSe=32,$Se='[data-pane-toggle="navigation"]'});function D9({hasNavigatorFocus:t,isOpeningVersionHistory:e,isOpeningInNewContext:n,isNavigatorOpeningSelectedFile:r}){return!t||e||n?!1:r}function A9(t,e){if(!t||e.length===0)return!1;let n=t.getContainer().win;return e.some(r=>r.getContainer().win===n)}var O9=U(()=>{});function L9(t,e,n){if(e==="navigation"){if(t.focusNavigationPane){t.focusNavigationPane(n);return}}else if(t.focusFilesPane){t.focusFilesPane(n);return}t.uiState.singlePane&&n?.updateSinglePaneView&&t.uiState.currentSinglePaneView!==e&&t.uiDispatch({type:"SET_SINGLE_PANE_VIEW",view:e}),t.uiState.focusedPane!==e&&t.uiDispatch({type:"SET_FOCUSED_PANE",pane:e})}function z9(t,e,n){if(t.selectionDispatch({type:"SET_SELECTED_TAG",tag:e,source:n?.source,historyIndex:n?.historyIndex}),n?.skipFocus)return;let r=n?.preserveNavigationFocus??!0;t.uiState.singlePane?L9(t,r?"navigation":"files",{updateSinglePaneView:!0}):L9(t,r?"navigation":"files")}function QSe(t){if(!t.includes("/"))return[];let e=t.split("/"),n=[];for(let r=1;r<e.length;r++)n.push(e.slice(0,r).join("/"));return n}function MF(t,e,n){if(!e)return null;let r=Vc(e);if(!r)return null;let o=Vs(r);if(!o){let i=t.findTagInTree(r),s=n?.requireTagInTree??!0;if(!i&&s)return null;if(!i)return z9(t,r,n),r}if(t.showTags&&t.showAllTagsFolder&&!t.expandedVirtualFolders.has(_n)){let i=new Set(t.expandedVirtualFolders);i.add(_n),t.expansionDispatch({type:"SET_EXPANDED_VIRTUAL_FOLDERS",folders:i})}if(!o){let i=QSe(r);i.some(l=>!t.expandedTags.has(l))&&ys({type:"tag",ids:i,collapseOtherBranches:!!t.collapseOtherBranchesOnExpand,dispatch:t.expansionDispatch})}return z9(t,r,n),!n?.skipScroll&&t.requestScroll&&t.requestScroll(r,{align:"auto",itemType:W.TAG}),r}var lH=U(()=>{Ue();Sn();Jm();hu()});function B9(t,e,n){if(e==="navigation"){if(t.focusNavigationPane){t.focusNavigationPane(n);return}}else if(t.focusFilesPane){t.focusFilesPane(n);return}t.uiState.singlePane&&n?.updateSinglePaneView&&t.uiState.currentSinglePaneView!==e&&t.uiDispatch({type:"SET_SINGLE_PANE_VIEW",view:e}),t.uiState.focusedPane!==e&&t.uiDispatch({type:"SET_FOCUSED_PANE",pane:e})}function ZSe(t,e,n){if(e===Oe)return e;let r=t.resolveSelectionNodeId?t.resolveSelectionNodeId(e):EN(t.propertyTree,e);return r===Oe?n?.requirePropertyInTree??!0?null:e:r}function JSe(t,e,n){if(t.selectionDispatch({type:"SET_SELECTED_PROPERTY",nodeId:e,source:n?.source,historyIndex:n?.historyIndex}),n?.skipFocus)return;let r=n?.preserveNavigationFocus??!0;t.uiState.singlePane?B9(t,r?"navigation":"files",{updateSinglePaneView:!0}):B9(t,r?"navigation":"files")}function RF(t,e,n){let r=e===Oe?Oe:Gt(e);if(!r)return null;let o=ZSe(t,r,n);if(!o)return null;if(t.showProperties&&t.showAllPropertiesFolder&&!t.expandedVirtualFolders.has(Oe)){let l=new Set(t.expandedVirtualFolders);l.add(Oe),t.expansionDispatch({type:"SET_EXPANDED_VIRTUAL_FOLDERS",folders:l})}let a=o!==Oe?zi(o):Oe;return a&&a!==Oe&&a!==o&&!t.expandedProperties.has(a)&&ys({type:"property",ids:[a],collapseOtherBranches:!!t.collapseOtherBranchesOnExpand,dispatch:t.expansionDispatch}),JSe(t,o,n),!n?.skipScroll&&t.requestScroll&&t.requestScroll(o,{align:"auto",itemType:W.PROPERTY}),o}var dH=U(()=>{Ue();cn();hu()});function Kb({workspace:t,commandQueue:e,onChange:n}){let r=null,o,a,i=()=>{r!==null&&typeof window<"u"&&window.clearTimeout(r),r=null,o=void 0,a=void 0},s=()=>{o===void 0&&i()},l=()=>{a!==void 0&&e?.consumeBackgroundActiveLeafChange(a)===!0&&s()},c=(f,h)=>{if(f!==void 0&&(o=f),h!==void 0&&(a=h),typeof window>"u"){n({candidateFile:f,activeLeaf:h??t.activeLeaf});return}r!==null&&window.clearTimeout(r),r=window.setTimeout(()=>{r=null;let b=o,v=a??t.activeLeaf;o=void 0,a=void 0,n({candidateFile:b,activeLeaf:v})},Lt.YIELD_TO_EVENT_LOOP)},u=f=>{if(e?.consumeBackgroundActiveLeafChange(f)===!0){s();return}c(void 0,f)},p=f=>{if(f instanceof _9.TFile&&e?.consumeBackgroundFileOpen(f.path,t.activeLeaf)===!0){l();return}c(f,t.activeLeaf)},m=t.on("active-leaf-change",u),g=t.on("file-open",p);return()=>{i(),t.offref(m),t.offref(g)}}var _9,qM=U(()=>{_9=require("obsidian");jr()});function H9({app:t,navigationPaneRef:e,focusNavigationPane:n,focusFilesPane:r}){let o=pt(),a=Xt(),i=a.includeDescendantNotes,s=ta(),l=Ra(),c=ar(),u=gr(),p=Yn(),m=Vr(),{getDB:g,getPropertyTree:f,findTagInTree:h}=xo(),b=qs(),[v,y]=(0,ao.useState)(null),[S,w]=(0,ao.useState)(!1),k=(0,ao.useRef)(null),F=(0,ao.useRef)(!1),P=(0,ao.useRef)(null);(0,ao.useEffect)(()=>{P.current=c.selectedFile?.path??null},[c.selectedFile]);let T=(0,ao.useCallback)(R=>{if(!o.autoRevealIgnoreOtherWindows||!R)return!1;let M=t.workspace.getLeavesOfType(wa);return M.length===0?!1:!A9(R,M)},[t,o.autoRevealIgnoreOtherWindows]),I=(0,ao.useCallback)((R,M)=>q3(R,o,t,a.showHiddenItems)?(u({type:"SET_SELECTED_FILE",file:R}),M?.showHiddenFileNotice&&de(d.fileSystem.notifications.hiddenFileReveal,{variant:"warning"}),!0):!1,[u,o,t,a.showHiddenItems]),N=(0,ao.useCallback)(R=>{if(!R)return{target:null,expandAncestors:!1};if(!i)return{target:R,expandAncestors:!0};let M=t.vault.getRoot(),C=M?.path??"/",x=H=>{if(!o.showRootFolder&&M&&H===M)return!1;let Y=H;for(;Y;){let ee=Y.parent;if(!ee)break;if(M&&ee.path===C&&!o.showRootFolder){Y=ee;continue}if(!s.expandedFolders.has(ee.path))return!1;Y=ee}return!0},z=R;for(;z&&!x(z);)z=z.parent;return z?!o.showRootFolder&&M&&z===M?{target:R,expandAncestors:!1}:{target:z,expandAncestors:!1}:{target:o.showRootFolder?M??R:R,expandAncestors:!1}},[i,o.showRootFolder,s.expandedFolders,t]),O=(0,ao.useCallback)(R=>{ys({type:"folder",ids:R,collapseOtherBranches:o.collapseOtherBranchesOnExpand,dispatch:l})},[l,o.collapseOtherBranchesOnExpand]),K=(0,ao.useCallback)(R=>{ys({type:"tag",ids:R,collapseOtherBranches:o.collapseOtherBranchesOnExpand,dispatch:l})},[l,o.collapseOtherBranchesOnExpand]),G=(0,ao.useCallback)(R=>{ys({type:"property",ids:R,collapseOtherBranches:o.collapseOtherBranchesOnExpand,dispatch:l})},[l,o.collapseOtherBranchesOnExpand]),X=(0,ao.useCallback)((R,M)=>{if(!R?.parent||I(R,M))return!1;let C=R.parent,{target:x,expandAncestors:z}=N(C),H=i?C:x??C,Y=[],ee=C.parent;for(;ee&&(Y.unshift(ee.path),ee.path!=="/");)ee=ee.parent;return Y.length>0&&(z||Y.some(j=>!s.expandedFolders.has(j)))&&O(Y),u({type:"REVEAL_FILE",file:R,preserveFolder:!1,isManualReveal:!0,targetFolder:H??void 0,source:M?.source}),p.singlePane&&p.currentSinglePaneView==="navigation"&&m({type:"SET_SINGLE_PANE_VIEW",view:"files"}),p.focusedPane!=="files"&&m({type:"SET_FOCUSED_PANE",pane:"files"}),e.current&&H&&e.current.requestScroll(H.path,{align:"auto",itemType:W.FOLDER}),!0},[s.expandedFolders,O,u,p,m,e,N,i,I]),L=(0,ao.useCallback)((R,M)=>{let C=!!M?.skipSinglePaneSwitch,x=MF({showTags:o.showTags,showAllTagsFolder:o.showAllTagsFolder,expandedTags:s.expandedTags,expandedVirtualFolders:s.expandedVirtualFolders,collapseOtherBranchesOnExpand:o.collapseOtherBranchesOnExpand,expansionDispatch:l,selectionDispatch:u,uiState:{singlePane:p.singlePane,currentSinglePaneView:p.currentSinglePaneView,focusedPane:p.focusedPane},uiDispatch:m,findTagInTree:h,focusNavigationPane:n,focusFilesPane:r,requestScroll:(z,H)=>{e.current?.requestScroll(z,H)}},R,{preserveNavigationFocus:C,skipScroll:M?.skipScroll,source:M?.source});x&&c.selectedFile&&u({type:"REVEAL_FILE",file:c.selectedFile,preserveFolder:!0,isManualReveal:!1,targetTag:x,source:M?.source})},[s.expandedTags,s.expandedVirtualFolders,l,u,r,n,h,p,m,c.selectedFile,e,o.showAllTagsFolder,o.collapseOtherBranchesOnExpand,o.showTags]),V=(0,ao.useCallback)((R,M)=>{let C=!!M?.skipSinglePaneSwitch,x=RF({showProperties:o.showProperties,showAllPropertiesFolder:o.showAllPropertiesFolder,propertyTree:f(),expandedProperties:s.expandedProperties,expandedVirtualFolders:s.expandedVirtualFolders,collapseOtherBranchesOnExpand:o.collapseOtherBranchesOnExpand,expansionDispatch:l,selectionDispatch:u,uiState:{singlePane:p.singlePane,currentSinglePaneView:p.currentSinglePaneView,focusedPane:p.focusedPane},uiDispatch:m,focusNavigationPane:n,focusFilesPane:r,requestScroll:(z,H)=>{e.current?.requestScroll(z,H)}},R,{preserveNavigationFocus:C,skipScroll:M?.skipScroll,source:M?.source});return x?(c.selectedFile&&u({type:"REVEAL_FILE",file:c.selectedFile,preserveFolder:!0,isManualReveal:!1,targetProperty:x,source:M?.source}),!0):!1},[s.expandedProperties,s.expandedVirtualFolders,l,u,r,n,p,m,c.selectedFile,e,o.showAllPropertiesFolder,o.collapseOtherBranchesOnExpand,o.showProperties,f]),D=(0,ao.useCallback)((R,M)=>{if(!R?.parent||I(R,M))return;let C,x,z=null,H=!1,Y=M?.isStartupReveal?"startup":M?.source,$=!(Y==="auto"||Y==="startup")||o.autoRevealShortestPath,J=!!(M?.isStartupReveal&&o.startView==="navigation")?"center":"auto";if(c.selectionType==="tag"){let Z=jW(R,c.selectedTag,o,g(),i,$);if(C=Z,Z){let ce=Ze(Z);if(ce)if(i&&$)if(o.showTags&&o.showAllTagsFolder&&!s.expandedVirtualFolders.has(_n))if(ce===bt){let se=new Set(s.expandedVirtualFolders);se.add(_n),l({type:"SET_EXPANDED_VIRTUAL_FOLDERS",folders:se}),C=bt}else C=zt;else C=GW(ce,s.expandedTags);else{if(o.showTags&&o.showAllTagsFolder&&!s.expandedVirtualFolders.has(_n)){let ae=new Set(s.expandedVirtualFolders);ae.add(_n),l({type:"SET_EXPANDED_VIRTUAL_FOLDERS",folders:ae})}if(ce.includes("/")){let ae=ce.split("/"),se=[];for(let ne=1;ne<ae.length;ne+=1)se.push(ae.slice(0,ne).join("/"));se.some(ne=>!s.expandedTags.has(ne))&&K(se)}C=ce}}}if(c.selectionType==="property"){let Z=g().getFile(R.path),ce=o.showProperties?Sj(Z?.properties??null,c.selectedProperty,o,i):null;if(x=ce,ce){let ae=o.showProperties&&o.showAllPropertiesFolder&&!s.expandedVirtualFolders.has(Oe);if(i&&ae)x=Oe;else{let se=ce,ne=se!==Oe?zi(se):null,B=ne&&fT(ne)?ne:null,q=!!(B&&B!==se&&!s.expandedProperties.has(B));if(i&&q)x=B;else{if(!i&&o.showProperties&&o.showAllPropertiesFolder&&!s.expandedVirtualFolders.has(Oe)){let ie=new Set(s.expandedVirtualFolders);ie.add(Oe),l({type:"SET_EXPANDED_VIRTUAL_FOLDERS",folders:ie})}!i&&q&&B&&G([B])}}}}let re=null;if(C==null&&x==null&&R.parent)if($){let{target:Z,expandAncestors:ce}=N(R.parent);re=Z;let ae=c.selectedFolder,se=i&&c.selectionType==="folder"&&ae!==null&&kK(ae.path,R.parent.path);if(Z?ae&&ae.path===Z.path||se?H=!0:z=Z:se&&(H=!0),ce){let ne=[],B=R.parent;if(B&&B.parent)for(B=B.parent;B&&(ne.unshift(B.path),B.path!=="/");)B=B.parent;ne.some(q=>!s.expandedFolders.has(q))&&O(ne)}}else{re=R.parent,z=R.parent;let Z=[],ce=R.parent.parent;for(;ce&&(Z.unshift(ce.path),ce.path!=="/");)ce=ce.parent;Z.some(ae=>!s.expandedFolders.has(ae))&&O(Z)}if(u({type:"REVEAL_FILE",file:R,preserveFolder:H,isManualReveal:!1,targetTag:C,targetProperty:x,targetFolder:z??void 0,source:Y}),!!!(o.skipAutoScroll&&Y==="shortcut")){if(C&&e.current)e.current.requestScroll(C,{align:J,itemType:W.TAG});else if(!C&&x&&e.current)e.current.requestScroll(x,{align:J,itemType:W.PROPERTY});else if(!C&&!x&&e.current){let Z=z??(H&&c.selectedFolder?c.selectedFolder:re??R.parent);Z&&e.current.requestScroll(Z.path,{align:J,itemType:W.FOLDER})}}},[o,i,c.selectedFolder,c.selectionType,c.selectedTag,c.selectedProperty,s.expandedFolders,s.expandedTags,s.expandedProperties,s.expandedVirtualFolders,l,O,G,K,u,g,N,e,I]),A=(0,ao.useCallback)((R,M)=>{let C=typeof R=="string"?t.vault.getFolderByPath(R):R;if(!C)return!1;let x=[],z=C.parent;for(;z&&(x.unshift(z.path),z.path!=="/");)z=z.parent;x.some($=>!s.expandedFolders.has($))&&O(x);let Y=!!M?.suppressAutoSelect;return u({type:"SET_SELECTED_FOLDER",folder:C,source:M?.source,autoSelectedFile:Y?null:void 0,historyIndex:M?.historyIndex}),M?.skipFocus||(p.singlePane?M?.preserveNavigationFocus?n({updateSinglePaneView:!0}):r({updateSinglePaneView:!0}):n()),!M?.skipScroll&&e.current&&e.current.requestScroll(C.path,{align:"auto",itemType:W.FOLDER}),!0},[t,s.expandedFolders,O,u,p,e,n,r]),_=(0,ao.useCallback)((R,M)=>MF({showTags:o.showTags,showAllTagsFolder:o.showAllTagsFolder,expandedTags:s.expandedTags,expandedVirtualFolders:s.expandedVirtualFolders,collapseOtherBranchesOnExpand:o.collapseOtherBranchesOnExpand,expansionDispatch:l,selectionDispatch:u,uiState:{singlePane:p.singlePane,currentSinglePaneView:p.currentSinglePaneView,focusedPane:p.focusedPane},uiDispatch:m,findTagInTree:h,focusNavigationPane:n,focusFilesPane:r,requestScroll:(C,x)=>{e.current?.requestScroll(C,x)}},R,M),[l,s.expandedTags,s.expandedVirtualFolders,h,r,n,e,u,o.showAllTagsFolder,o.collapseOtherBranchesOnExpand,o.showTags,m,p.currentSinglePaneView,p.focusedPane,p.singlePane]),E=(0,ao.useCallback)((R,M)=>RF({showProperties:o.showProperties,showAllPropertiesFolder:o.showAllPropertiesFolder,propertyTree:f(),expandedProperties:s.expandedProperties,expandedVirtualFolders:s.expandedVirtualFolders,collapseOtherBranchesOnExpand:o.collapseOtherBranchesOnExpand,expansionDispatch:l,selectionDispatch:u,uiState:{singlePane:p.singlePane,currentSinglePaneView:p.currentSinglePaneView,focusedPane:p.focusedPane},uiDispatch:m,focusNavigationPane:n,focusFilesPane:r,requestScroll:(C,x)=>{e.current?.requestScroll(C,x)}},R,M),[l,s.expandedProperties,s.expandedVirtualFolders,r,n,e,u,o.showAllPropertiesFolder,o.collapseOtherBranchesOnExpand,o.showProperties,m,p.currentSinglePaneView,p.focusedPane,p.singlePane,f]);return(0,ao.useEffect)(()=>{if(v){let R=window.setTimeout(()=>{y(null),w(!1)},Lt.DEBOUNCE_KEYBOARD);return()=>window.clearTimeout(R)}},[v]),(0,ao.useEffect)(()=>{if(!o.autoRevealActiveFile)return;let R=(C,x)=>{let z=t.workspace.getActiveViewOfType(Wb.FileView),H=z?.file instanceof Wb.TFile?z.file:null,Y=x?.activeLeaf??z?.leaf??null,ee=C instanceof Wb.TFile?C:H;if(!ee)return;let $=ee.stat.ctime===ee.stat.mtime&&Date.now()-ee.stat.ctime<Lt.FILE_OPERATION_DELAY;if(!$&&(o.autoRevealIgnoreRightSidebar&&md(t,Y)==="right-sidebar"||T(Y))||k.current===ee.path)return;if(k.current=ee.path,$){y(ee);return}let j=b&&b.isOpeningVersionHistory(),J=b&&b.isOpeningInNewContext(),re=activeDocument.querySelector(".nn-split-container"),oe=!!(re&&re.contains(activeDocument.activeElement)),Z=P.current,ce=Z!==null&&Z===ee.path;D9({hasNavigatorFocus:oe,isOpeningVersionHistory:j,isOpeningInNewContext:J,isNavigatorOpeningSelectedFile:ce})||b&&b.isOpeningFolderNote()||y(ee)},M=Kb({workspace:t.workspace,commandQueue:b,onChange:({candidateFile:C,activeLeaf:x})=>{R(C,{activeLeaf:x})}});if(!F.current){let C=t.workspace.getActiveFile();if(C){let x=t.workspace.getActiveViewOfType(Wb.FileView)?.leaf??null,z=md(t,x);!(o.autoRevealIgnoreRightSidebar&&z==="right-sidebar")&&!T(x)&&(k.current=C.path,w(!0),y(C))}F.current=!0}return()=>{M()}},[t,t.workspace,o.autoRevealActiveFile,o.autoRevealIgnoreOtherWindows,o.autoRevealIgnoreRightSidebar,o.startView,b,T]),(0,ao.useEffect)(()=>{if(v)if(S){if(o.autoRevealShortestPath&&c.selectionType===W.TAG&&c.selectedTag&&c.selectedFile?.path===v.path){let R=p.singlePane&&o.startView==="navigation";L(c.selectedTag,{skipSinglePaneSwitch:R});return}if(c.selectionType===W.PROPERTY&&c.selectedProperty&&c.selectedFile?.path===v.path){let R=p.singlePane&&o.startView==="navigation";if(V(c.selectedProperty,{skipSinglePaneSwitch:R}))return}D(v,{source:"auto",isStartupReveal:!0})}else D(v,{source:"auto"})},[v,S,X,D,c.selectionType,c.selectedTag,c.selectedProperty,c.selectedFile,L,V,o.autoRevealShortestPath,o.startView,p.singlePane]),{revealFileInActualFolder:X,revealFileInNearestFolder:D,navigateToFolder:A,navigateToTag:_,navigateToProperty:E,revealTag:L,revealProperty:V}}var ao,Wb,V9=U(()=>{ao=ue(ze()),Wb=require("obsidian");dk();O9();Qs();Ur();on();Tr();pa();Xi();mn();Sn();Ue();jr();$o();lH();dH();qy();Ee();Fn();qM();cn();hu()});function U9({app:t,containerRef:e,setIsNavigatorFocused:n}){let r=Yn(),o=Ra(),a=gr(),i=qs(),s=Op.Platform.isMobile;(0,YM.useEffect)(()=>{let l=u=>{if(u instanceof Op.TFolder){let p=new Set,m=g=>{p.add(g.path),g.children.forEach(f=>{f instanceof Op.TFolder&&m(f)})};m(t.vault.getRoot()),o({type:"CLEANUP_DELETED_FOLDERS",existingPaths:p}),a({type:"CLEANUP_DELETED_FOLDER",deletedPath:u.path})}else u instanceof Op.TFile&&a({type:"CLEANUP_DELETED_FILE",deletedPath:u.path,nextFileToSelect:null})},c=t.vault.on("delete",l);return()=>{t.vault.offref(c)}},[t.vault,o,a]),(0,YM.useEffect)(()=>{if(s){n(!0);return}let l=e.current;if(!l)return;let c=(0,Op.debounce)(m=>{n(m)},Lt.DEBOUNCE_KEYBOARD),u=()=>{c(!0)},p=m=>{m.relatedTarget&&l.contains(m.relatedTarget)||c(!1)};return l.addEventListener("focusin",u),l.addEventListener("focusout",p),Di(l),()=>{c.cancel(),l.removeEventListener("focusin",u),l.removeEventListener("focusout",p)}},[e,n,s]),(0,YM.useEffect)(()=>{if(r.focusedPane==="search")return;let l=i.isOpeningVersionHistory(),c=i.isOpeningInNewContext();if(r.focusedPane&&!l&&!c){let u=e.current;if(!u)return;Di(u)}},[r.focusedPane,e,i])}var YM,Op,K9=U(()=>{YM=ue(ze()),Op=require("obsidian");jr();Qs();Ur();pa();mn();os()});function $M(){let t=(0,jb.useRef)(null),e=(0,jb.useCallback)(({event:n,onMove:r,onEnd:o,onCancel:a})=>{if(t.current)return;let i=n.currentTarget,s=n.pointerId;function l(m){m.pointerId===s&&r(m)}function c(m){m.pointerId===s&&(p(),o(m))}function u(m){if(m.pointerId===s){if(p(),a){a(m);return}o(m)}}function p(){window.removeEventListener("pointermove",l),window.removeEventListener("pointerup",c),window.removeEventListener("pointercancel",u),i.hasPointerCapture(s)&&i.releasePointerCapture(s),t.current=null}i.setPointerCapture(s),window.addEventListener("pointermove",l),window.addEventListener("pointerup",c),window.addEventListener("pointercancel",u),t.current=p},[]);return(0,jb.useEffect)(()=>()=>{t.current&&(t.current(),t.current=null)},[]),{startPointerDrag:e}}var jb,cH=U(()=>{jb=ue(ze())});function uH({orientation:t="horizontal",initialSize:e,min:n,storageKey:r,scale:o}={}){let a=Yd(t),i=typeof e=="number"?e:a.defaultSize,s=typeof n=="number"?n:a.minSize,[l,c]=(0,vf.useState)(()=>{if(r){let h=ye.get(r);if(typeof h=="number")return Math.max(s,h)}return i}),[u,p]=(0,vf.useState)(!1),{startPointerDrag:m}=$M(),g=typeof o=="number"&&Number.isFinite(o)&&o>0?o:1,f=(0,vf.useCallback)(h=>{if(h.pointerType==="mouse"&&h.button!==0)return;let b=t==="horizontal"?h.clientX:h.clientY,v=l,y=v,S=t==="horizontal"&&activeDocument.body.classList.contains("mod-rtl");p(!0),h.preventDefault(),h.stopPropagation(),m({event:h,onMove:w=>{let F=(t==="horizontal"?w.clientX:w.clientY)-b;S&&(F=-F);let P=F/g;y=Math.max(s,v+P),c(y)},onEnd:()=>{r&&ye.set(r,y),p(!1)}})},[t,l,s,g,r,m]);return(0,vf.useEffect)(()=>{if(!r){c(i);return}let h=ye.get(r);if(typeof h=="number"){c(Math.max(s,h));return}c(i)},[t,i,s,r]),{paneSize:l,isResizing:u,resizeHandleProps:{onPointerDown:f}}}var vf,W9=U(()=>{vf=ue(ze());Jr();Jv();cH()});function gH(t){switch(t){case"folders-only":return{affectFolders:!0,affectTags:!1,affectProperties:!1};case"tags-only":return{affectFolders:!1,affectTags:!0,affectProperties:!1};case"properties-only":return{affectFolders:!1,affectTags:!1,affectProperties:!0};default:return{affectFolders:!0,affectTags:!0,affectProperties:!0}}}function ewe(t,e){if(!e)return t.size>0;for(let n of t)if(n!==XM)return!0;return!1}function twe(t,e){let n=new Set,r=o=>{o.children.forEach(a=>{a instanceof j9.TFolder&&(n.add(a.path),r(a))})};return e&&n.add(t.path),r(t),n}function G9(t,e){let n=new Set(t);return e.keepTagsRoot!==void 0&&(e.keepTagsRoot?n.add(_n):n.delete(_n)),e.keepPropertiesRoot!==void 0&&(e.keepPropertiesRoot?n.add(Oe):n.delete(Oe)),n}function nwe(t){let e=gH(t.behavior),n=new Set,r=new Set,o=new Set,a=t.preserveRootFolder===!0,i=t.rootFolderExpanded===!0;if(e.affectFolders&&t.selectedFolderParentPaths)for(let l of t.selectedFolderParentPaths)a&&l===XM&&!i||n.add(l);if(e.affectFolders&&a&&i&&n.add(XM),e.affectTags&&t.selectedTagParentPaths)for(let l of t.selectedTagParentPaths)r.add(l);e.affectProperties&&t.selectedPropertyKeyNodeId&&o.add(t.selectedPropertyKeyNodeId);let s=G9(t.currentExpandedVirtualFolders,{keepTagsRoot:e.affectTags?!!t.revealTagsRoot:void 0,keepPropertiesRoot:e.affectProperties?!!t.revealPropertiesRoot:void 0});return{folders:n,tags:r,properties:o,virtualFolders:s}}function pH(t,e){let n=e?.includeSelection??!1;return nwe({behavior:t.behavior,currentExpandedVirtualFolders:t.currentExpandedVirtualFolders,selectedFolderParentPaths:n?rwe(t.selectedFolder??null):void 0,selectedTagParentPaths:n?owe(t.selectedTag??null):void 0,selectedPropertyKeyNodeId:n?awe(t.selectedPropertyNodeId??null):void 0,revealTagsRoot:n?iwe(t.selectedTag??null,t.showAllTagsFolder):void 0,revealPropertiesRoot:n?swe(t.selectedPropertyNodeId??null,t.showAllPropertiesFolder):void 0,preserveRootFolder:t.preserveRootFolder,rootFolderExpanded:t.rootFolderExpanded})}function rwe(t){let e=[],n=t?.parent??null;for(;n&&(e.push(n.path),n.path!=="/");)n=n.parent;return e}function owe(t){if(!t)return[];let e=[],n=t.split("/"),r="";for(let o=0;o<n.length-1;o++)r=r?`${r}/${n[o]}`:n[o],e.push(r);return e}function awe(t){if(!t)return null;let e=zi(t);return e&&e!==t?e:null}function iwe(t,e){return e&&!!t&&t!==zt}function swe(t,e){return e&&!!t&&t!==Oe}function mH(t,e){return t.size===e.size&&Array.from(t).every(n=>e.has(n))}function Gb(){let{app:t}=gt(),e=pt(),r=Xt().showHiddenItems,{setShowHiddenItems:o}=wd(),a=ta(),i=Ra(),s=ar(),l=li(),{fileData:c}=xo(),u=(0,DF.useCallback)(()=>{let f=e.collapseBehavior,h=gH(f),b=h.affectFolders&&ewe(a.expandedFolders,e.excludeVaultRootFromCollapse),v=h.affectTags&&(a.expandedTags.size>0||e.showAllTagsFolder&&a.expandedVirtualFolders.has(_n)),y=h.affectProperties&&(a.expandedProperties.size>0||e.showAllPropertiesFolder&&a.expandedVirtualFolders.has(Oe)),S=b||v||y;if(e.smartCollapse&&S){let w=pH({behavior:f,currentExpandedVirtualFolders:a.expandedVirtualFolders,selectedFolder:s.selectedFolder,selectedTag:s.selectedTag,selectedPropertyNodeId:s.selectedProperty,showAllTagsFolder:e.showAllTagsFolder,showAllPropertiesFolder:e.showAllPropertiesFolder,preserveRootFolder:e.excludeVaultRootFromCollapse,rootFolderExpanded:a.expandedFolders.has(XM)},{includeSelection:!0}),k=!h.affectFolders||mH(a.expandedFolders,w.folders),F=!h.affectTags||mH(a.expandedTags,w.tags),P=!h.affectProperties||mH(a.expandedProperties,w.properties),T=(!h.affectTags||w.virtualFolders.has(_n)===a.expandedVirtualFolders.has(_n))&&(!h.affectProperties||w.virtualFolders.has(Oe)===a.expandedVirtualFolders.has(Oe));if(k&&F&&P&&T)return!1}return S},[e.collapseBehavior,e.excludeVaultRootFromCollapse,e.showAllPropertiesFolder,e.showAllTagsFolder,e.smartCollapse,a.expandedFolders,a.expandedProperties,a.expandedTags,a.expandedVirtualFolders,s.selectedFolder,s.selectedProperty,s.selectedTag]),p=(0,DF.useCallback)(()=>{let f=e.collapseBehavior,h=t.vault.getRoot(),b=u(),v=gH(f);if(b)if(e.smartCollapse&&(s.selectedFolder||s.selectedTag||s.selectedProperty)){let y=pH({behavior:f,currentExpandedVirtualFolders:a.expandedVirtualFolders,selectedFolder:s.selectedFolder,selectedTag:s.selectedTag,selectedPropertyNodeId:s.selectedProperty,showAllTagsFolder:e.showAllTagsFolder,showAllPropertiesFolder:e.showAllPropertiesFolder,preserveRootFolder:e.excludeVaultRootFromCollapse,rootFolderExpanded:a.expandedFolders.has(h.path)},{includeSelection:!0});v.affectFolders&&i({type:"SET_EXPANDED_FOLDERS",folders:y.folders}),v.affectTags&&i({type:"SET_EXPANDED_TAGS",tags:y.tags}),v.affectProperties&&i({type:"SET_EXPANDED_PROPERTIES",properties:y.properties}),(v.affectTags||v.affectProperties)&&i({type:"SET_EXPANDED_VIRTUAL_FOLDERS",folders:y.virtualFolders})}else{let y=pH({behavior:f,currentExpandedVirtualFolders:a.expandedVirtualFolders,showAllTagsFolder:e.showAllTagsFolder,showAllPropertiesFolder:e.showAllPropertiesFolder,preserveRootFolder:e.excludeVaultRootFromCollapse,rootFolderExpanded:a.expandedFolders.has(h.path)});v.affectFolders&&i({type:"SET_EXPANDED_FOLDERS",folders:y.folders}),v.affectTags&&i({type:"SET_EXPANDED_TAGS",tags:y.tags}),v.affectProperties&&i({type:"SET_EXPANDED_PROPERTIES",properties:y.properties}),(v.affectTags||v.affectProperties)&&i({type:"SET_EXPANDED_VIRTUAL_FOLDERS",folders:y.virtualFolders})}else if(v.affectFolders&&i({type:"SET_EXPANDED_FOLDERS",folders:twe(h,e.showRootFolder)}),v.affectTags||v.affectProperties){let y=new Set,S=new Set,w=k=>{k.children.size!==0&&(S.add(k.id),k.children.forEach(F=>{w(F)}))};if(v.affectTags){for(let k of c.tagTree.values())ml(k,y);i({type:"SET_EXPANDED_TAGS",tags:y})}if(v.affectProperties){for(let k of c.propertyTree.values())w(k);i({type:"SET_EXPANDED_PROPERTIES",properties:S})}i({type:"SET_EXPANDED_VIRTUAL_FOLDERS",folders:G9(a.expandedVirtualFolders,{keepTagsRoot:v.affectTags?e.showAllTagsFolder:void 0,keepPropertiesRoot:v.affectProperties?e.showAllPropertiesFolder:void 0})})}},[t,i,a.expandedFolders,a.expandedVirtualFolders,e.collapseBehavior,e.excludeVaultRootFromCollapse,e.showAllPropertiesFolder,e.showAllTagsFolder,e.showRootFolder,e.smartCollapse,s.selectedFolder,s.selectedProperty,s.selectedTag,c.propertyTree,c.tagTree,u]),m=(0,DF.useCallback)(async()=>{if(s.selectedFolder)try{await l.createNewFolder(s.selectedFolder,()=>{if(s.selectedFolder&&!a.expandedFolders.has(s.selectedFolder.path)){let f=e.collapseOtherBranchesOnExpand?[...Dp(s.selectedFolder),s.selectedFolder.path]:[s.selectedFolder.path];ys({type:"folder",ids:f,collapseOtherBranches:e.collapseOtherBranchesOnExpand,dispatch:i})}})}catch{}},[s.selectedFolder,a.expandedFolders,l,i,e.collapseOtherBranchesOnExpand]),g=(0,DF.useCallback)(()=>{o(!r)},[o,r]);return{shouldCollapseItems:u,handleExpandCollapseAll:p,handleNewFolder:m,handleToggleShowExcludedFolders:g}}var DF,j9,XM,QM=U(()=>{DF=ue(ze()),j9=require("obsidian");Qs();Ur();mn();on();Tr();Xi();Ue();cn();Ba();hu();XM="/"});function lwe(t,e){let{onSwipeRight:n,onSwipeLeft:r,threshold:o=50,edgeThreshold:a=25,enabled:i=!0,allowAnywhereSwipe:s=!1,isRTL:l,shouldIgnoreTouchStart:c}=e,u=l??!1,p=(0,fu.useRef)(null),m=(0,fu.useRef)(null),g=(0,fu.useRef)(!1);(0,fu.useEffect)(()=>{if(!i||!t.current)return;let f=t.current,h=y=>{let S=y.touches[0];p.current=S.clientX,m.current=S.clientY;let w=c?.(y)??!1,k=s?!0:u?S.clientX>=window.innerWidth-a:S.clientX<=a;g.current=k&&!w},b=y=>{if(!g.current||p.current===null||m.current===null)return;let S=y.touches[0],w=S.clientX-p.current,k=S.clientY-m.current;Math.abs(w)>Math.abs(k)+5&&y.preventDefault()},v=y=>{if(p.current===null||m.current===null)return;if(!g.current){p.current=null,m.current=null,g.current=!1;return}let S=y.changedTouches[0].clientX,w=y.changedTouches[0].clientY,k=S-p.current,F=w-m.current;Math.abs(k)>Math.abs(F)&&Math.abs(k)>o&&(k>0&&n?n():k<0&&r&&r()),p.current=null,m.current=null,g.current=!1};return f.addEventListener("touchstart",h),f.addEventListener("touchmove",b,{passive:!1}),f.addEventListener("touchend",v),()=>{f.removeEventListener("touchstart",h),f.removeEventListener("touchmove",b),f.removeEventListener("touchend",v)}},[s,t,n,r,o,a,i,u,c])}function q9(t,e){let n=Yn(),r=Vr(),o=activeDocument.body.classList.contains("mod-rtl"),a=!0,i=(0,fu.useCallback)(u=>{let p=u.target;return p instanceof Element?p.closest(".nn-breadcrumb-scroll")!==null:!1},[]),s=(0,fu.useCallback)(()=>{o||(r({type:"SET_SINGLE_PANE_VIEW",view:"navigation"}),r({type:"SET_FOCUSED_PANE",pane:"navigation"}))},[o,r]),l=(0,fu.useCallback)(()=>{o&&(r({type:"SET_SINGLE_PANE_VIEW",view:"navigation"}),r({type:"SET_FOCUSED_PANE",pane:"navigation"}))},[o,r]),c=e&&n.singlePane&&n.currentSinglePaneView==="files";lwe(t,{onSwipeRight:s,onSwipeLeft:l,enabled:c,allowAnywhereSwipe:a,shouldIgnoreTouchStart:i,isRTL:o})}var fu,Y9=U(()=>{fu=ue(ze());pa()});function $9(){let{plugin:t}=gt(),[e,n]=(0,qb.useState)(()=>t.getPendingUpdateNotice());(0,qb.useEffect)(()=>{let o=`update-notice-${Date.now()}-${Math.random().toString(36).slice(2)}`,a=i=>{n(i)};return t.registerUpdateNoticeListener(o,a),()=>{t.unregisterUpdateNoticeListener(o)}},[t]);let r=(0,qb.useCallback)(o=>{t.markUpdateNoticeAsDisplayed(o)},[t]);return{bannerNotice:e,markAsDisplayed:r}}var qb,X9=U(()=>{qb=ue(ze());mn()});function Q9(t){let e=[];return Array.from(t.values()).sort((r,o)=>Mt(r.displayPath,o.displayPath)).forEach(r=>{e.push({nodeId:r.id,label:r.displayPath,searchText:r.displayPath,noteCount:jc(r)}),Array.from(r.children.values()).sort((a,i)=>Mt(a.displayPath,i.displayPath)).forEach(a=>{e.push({nodeId:a.id,label:`${r.displayPath}: ${a.displayPath}`,searchText:`${r.displayPath} ${a.displayPath}`,noteCount:a.notesWithValue.size})})}),e}var AF,Z9=U(()=>{Ee();cn();Rn();Nh();AF=class extends Ls{constructor(n,r,o,a,i){super(n,s=>o(s.nodeId),a,{navigate:d.modals.propertySuggest.instructions.navigate,action:i,dismiss:d.modals.propertySuggest.instructions.dismiss});this.suggestions=r}getItems(){return[...this.suggestions]}getItemText(n){return n.searchText}getDisplayPath(n){return n.label}getItemClass(){return"nn-property-suggest-item"}renderAdditionalContent(n,r){n.noteCount<=0||r.createSpan({text:` (${n.noteCount.toLocaleString()})`,cls:"nn-tag-suggest-count"})}}});function dwe(t,e){let n=It(t);return n?e.some(r=>r.item.path===n):!1}var Yb,hH=U(()=>{Ee();Nh();Sn();Dr();Yb=class extends Ls{constructor(n,r,o,a,i,s=!0){super(n,l=>{l.path==="__create_new__"&&this.currentInput?o(this.currentInput):o(l.displayPath)},a,{navigate:d.modals.tagSuggest.instructions.navigate,action:i,dismiss:d.modals.tagSuggest.instructions.dismiss});this.currentInput="";this.createNewNode=null;this.plugin=r,this.allowTagCreation=s}getSuggestions(n){this.currentInput=n.trim();let r=super.getSuggestions(n);return!this.allowTagCreation||!gN(this.currentInput)||dwe(this.currentInput,r)?r:(this.createNewNode={name:d.modals.tagSuggest.createNewTag.replace("{tag}",this.currentInput),path:"__create_new__",displayPath:"__create_new__",children:new Map,notesWithTag:new Set},[{item:this.createNewNode,match:{score:-1,matches:[]}},...r])}getItems(){return[...this.plugin.tagTreeService?.getFlattenedTagNodes()??[]]}getItemText(n){return n.path==="__create_new__"?this.currentInput:`#${n.displayPath}`}getDisplayPath(n){return n.path==="__create_new__"?n.name:`#${n.displayPath}`}getItemClass(){return"nn-tag-suggest-item"}resolveTagNoteCount(n){return n.path==="__create_new__"?null:n.notesWithTag.size}renderAdditionalContent(n,r){let o=this.resolveTagNoteCount(n);o===null||o<=0||r.createSpan({text:` (${o.toLocaleString()})`,cls:"nn-tag-suggest-count"})}}});function vc(t){return`${t.type}:${t.key}`}function Lp(t,e){return t===W.TAG?Ze(e)??e.toLowerCase():e}function J9(t,e){let n=Lp(t,e);return`${t}:${n}`}function Rl(t,e,n){return t.get(J9(e,n))}function OF(t,e,n,r){t.set(J9(e,n),r)}function eZ(t){let e=new Map;return t.forEach((n,r)=>{n.type===he.FOLDER?OF(e,W.FOLDER,n.data.path,r):n.type===he.TAG||n.type===he.UNTAGGED?OF(e,W.TAG,n.data.path,r):n.type===he.VIRTUAL_FOLDER&&n.tagCollectionId?OF(e,W.TAG,n.tagCollectionId,r):n.type===he.VIRTUAL_FOLDER&&n.propertyCollectionId?OF(e,W.PROPERTY,n.key,r):(n.type===he.PROPERTY_KEY||n.type===he.PROPERTY_VALUE)&&OF(e,W.PROPERTY,n.data.id,r)}),e}function cwe(t){return typeof t.level!="number"?!1:t.type===he.FOLDER||t.type===he.TAG||t.type===he.UNTAGGED||t.type===he.PROPERTY_KEY||t.type===he.PROPERTY_VALUE||t.type===he.VIRTUAL_FOLDER}function tZ(t,e=n=>n.key){let n=new Map,r=t.filter(cwe),o=[],a=[],i=new Map;return r.forEach((s,l)=>{let c=e(s);for(;o.length>0&&o[o.length-1]>=s.level;)o.pop(),a.pop();if(o.length>0){let p=a[a.length-1],m=i.get(p);if(m)n.set(c,m);else{let g=[...o];i.set(p,g),n.set(c,g)}}let u=r[l+1]?.level;if(typeof u=="number"&&u>s.level){o.push(s.level);let p=a[a.length-1];a.push(p?`${p}/${s.level}`:`${s.level}`)}}),n}var Mg=U(()=>{Ue();Sn()});async function ZM({app:t,fileSystemOps:e,settings:n,visibility:r,selectionState:o,selectionDispatch:a,tagTreeService:i,propertyTreeService:s,orderedFiles:l}){let c=u=>l?.some(p=>u.has(p.path))?l:ca({selectionType:o.selectionType,selectedFolder:o.selectedFolder,selectedTag:o.selectedTag,selectedProperty:o.selectedProperty},n,r,t,i,s);if(o.selectedFiles.size>1){let u=c(o.selectedFiles);await e.deleteFilesWithSmartSelection(o.selectedFiles,u,a,n.confirmBeforeDelete)}else o.selectedFile&&await e.deleteSelectedFile(o.selectedFile,n,{selectionType:o.selectionType,selectedFolder:o.selectedFolder||void 0,selectedTag:o.selectedTag||void 0,selectedProperty:o.selectedProperty??void 0},a,n.confirmBeforeDelete,c(new Set([o.selectedFile.path])))}async function nZ({app:t,fileSystemOps:e,settings:n,selectionState:r,selectionDispatch:o}){if(!r.selectedFolder)return;let a=r.selectedFolder;if(a.path==="/")return;let i=null,s=a.parent;if(s){let l=s.children.filter(u=>u instanceof fH.TFolder).sort((u,p)=>Mt(u.name,p.name)),c=l.findIndex(u=>u.path===a.path);c!==-1&&(c<l.length-1?i=l[c+1]:c>0?i=l[c-1]:i=s)}else{let c=t.vault.getRoot().children.filter(u=>u instanceof fH.TFolder&&u.path!==a.path).sort((u,p)=>Mt(u.name,p.name));c.length>0&&(i=c[0])}await e.deleteFolder(a,n.confirmBeforeDelete,()=>{i&&o({type:"SET_SELECTED_FOLDER",folder:i})})}var fH,JM=U(()=>{fH=require("obsidian");Rn();ai()});function eR({compactItemHeight:t,scaleText:e,titleLineHeight:n}){let{defaultCompactItemHeight:r,defaultCompactFontSize:o,mobileHeightIncrement:a,mobileFontSizeIncrement:i,minCompactPaddingVerticalMobile:s}=qP,l=Math.max((t-n)/2,0),c=Math.max(t-n,0),u=o;e&&(t<=r-6?u=o-2:t<=r-4&&(u=o-1));let p=t+a,m=Math.max((p-n)/2,0),g=Math.max(s,m),f=g*2,h=u+i;return{fontSize:u,mobileFontSize:h,desktopPadding:l,desktopPaddingTotal:c,mobilePadding:g,mobilePaddingTotal:f}}var vH=U(()=>{Ue()});function uwe(t){let e=t.ownerDocument.createElement("div");return e.style.cssText=`
        position: absolute;
        visibility: hidden;
        pointer-events: none;
        width: auto;
        height: auto;
        line-height: 1;
        white-space: nowrap;
    `,e.textContent="M",t.appendChild(e),e}function yH(t){let e=Number.parseFloat(t);return!Number.isFinite(e)||e<=0?null:e}function pwe(t){let e=uwe(t);try{e.classList.add("nn-mobile"),e.style.fontSize="16px";let n=getComputedStyle(e),r=e.getBoundingClientRect().height,o=r>0?r:yH(n.fontSize),a=o?o/16:1,i={};for(let s of tR){let l=n.getPropertyValue(s),c=yH(l.trim());if(c!==null){i[s]=c;continue}e.style.fontSize=`var(${s})`;let u=yH(getComputedStyle(e).fontSize);u!==null&&(i[s]=u/a)}return{scaleFactor:a,fontSizeValues:i}}finally{e.remove()}}function bH(t){t.style.removeProperty("--nn-android-font-scale");for(let e of tR)t.style.removeProperty(e)}function rZ(t){bH(t);let{scaleFactor:e,fontSizeValues:n}=pwe(t),r=Math.round(e*1e3)/1e3;if(!(Math.abs(r-1)<=.02)){t.style.setProperty("--nn-android-font-scale",String(r));for(let o of tR){let a=n[o];if(a===void 0)continue;let i=a/r;t.style.setProperty(o,`${i}px`)}}}function oZ(t){if(!(t instanceof HTMLElement))return 1;let e=t.style.getPropertyValue("--nn-android-font-scale");if(!e)return 1;let n=parseFloat(e);return Number.isFinite(n)?n:1}function mwe(t,e){let n=t.style.getPropertyValue("--nn-android-font-scale");n&&e.style.setProperty("--nn-android-font-scale",n.trim());for(let r of tR){let o=t.style.getPropertyValue(r);o&&e.style.setProperty(r,o.trim())}}function aZ(t){let e=t.querySelector(".nn-split-container.nn-mobile");e instanceof HTMLElement&&mwe(t,e)}var tR,SH=U(()=>{tR=["--nn-file-name-size","--nn-file-name-size-mobile","--nn-file-small-size","--nn-file-small-size-mobile","--nn-list-title-font-size","--nn-desktop-header-font-size","--nn-mobile-header-font-size","--nn-compact-font-size","--nn-compact-font-size-mobile"]});function nR(t){return t==="primary"?["nn-bg-primary"]:t==="secondary"?["nn-bg-secondary"]:[]}var wH=U(()=>{});var iZ,rR,sZ=U(()=>{iZ=require("obsidian");Ee();rR=class extends iZ.FuzzySuggestModal{constructor(e,n,r){super(e),this.tags=n,this.onChooseTag=r,this.setPlaceholder(d.modals.tagSuggest.removePlaceholder),this.setInstructions([{command:"↑↓",purpose:d.modals.tagSuggest.instructions.navigate},{command:"↵",purpose:d.modals.tagSuggest.instructions.remove},{command:"esc",purpose:d.modals.tagSuggest.instructions.dismiss}])}getItems(){return this.tags}getItemText(e){return`#${e}`}onChooseItem(e,n){this.onChooseTag(e)}}});function $b({app:t,plugin:e,tagOperations:n,files:r,options:o}){if(r.length===0)return;if(r.some(u=>u.extension!=="md")){de(d.fileSystem.notifications.tagsRequireMarkdown,{variant:"warning"});return}let i=o?.allowTagCreation??!0,s=o?.placeholderText??d.modals.tagSuggest.addPlaceholder,l=o?.actionText??d.modals.tagSuggest.instructions.add;new Yb(t,e,u=>{Q(async()=>{let p=await n.addTagToFiles(u,r);if(p.added>0){let m=p.added===1?d.fileSystem.notifications.tagAddedToNote:d.fileSystem.notifications.tagAddedToNotes.replace("{count}",p.added.toString());de(m,{variant:"success"})}else{let m=p.skipped>0?p.skipped:r.length,g=d.dragDrop.notifications.filesAlreadyHaveTag.replace("{count}",m.toString());de(g,{variant:"warning"})}o?.onComplete?.(p)})},s,l,i).open()}async function oR({app:t,tagOperations:e,files:n,options:r}){if(n.length===0)return;if(!n.every(s=>s.extension==="md")){de(d.fileSystem.notifications.tagsRequireMarkdown,{variant:"warning"});return}let o=e.getTagsFromFiles(n);if(o.length===0){de(d.fileSystem.notifications.noTagsToRemove,{variant:"warning"});return}let a=s=>{if(s<=0)return;let l=s===1?d.fileSystem.notifications.tagRemovedFromNote:d.fileSystem.notifications.tagRemovedFromNotes.replace("{count}",s.toString());de(l,{variant:"success"}),r?.onComplete?.(s)};if(o.length===1){let s=await e.removeTagFromFiles(o[0],n);a(s);return}new rR(t,o,s=>{Q(async()=>{let l=await e.removeTagFromFiles(s,n);a(l)})}).open()}function aR({app:t,tagOperations:e,files:n,options:r}){if(n.length===0)return;if(!n.every(i=>i.extension==="md")){de(d.fileSystem.notifications.tagsRequireMarkdown,{variant:"warning"});return}if(e.getTagsFromFiles(n).length===0){de(d.fileSystem.notifications.noTagsToRemove,{variant:"warning"});return}new En(t,d.modals.fileSystem.removeAllTagsTitle,n.length===1?d.modals.fileSystem.removeAllTagsFromNote:d.modals.fileSystem.removeAllTagsFromNotes.replace("{count}",n.length.toString()),()=>{Q(async()=>{let i=await e.clearAllTagsFromFiles(n);if(i<=0)return;let s=i===1?d.fileSystem.notifications.tagsClearedFromNote:d.fileSystem.notifications.tagsClearedFromNotes.replace("{count}",i.toString());de(s,{variant:"success"}),r?.onComplete?.(i)})},r?.confirmActionLabel??d.common.remove).open()}var iR=U(()=>{hH();sZ();Ai();Ee();ot();Fn()});function gwe(t){let e=LF.get(t);if(e!==void 0)return e;let n=bj(t);if(n.size===0)return LF.set(t,!1),!1;let r=Sr();if(!r)return LF.set(t,!1),!1;let o=t.key;for(let a of n){let s=r.getFile(a)?.properties;if(s){for(let l of s)if(Me(l.fieldKey)===o&&!(l.valueKind!==void 0&&l.valueKind!=="boolean")&&rr(l.value)==="true")return LF.set(t,!0),!0}}return LF.set(t,!1),!1}function sR(t,e){let n=nn(t),r=Array.isArray(n.propertyKeys)?n.propertyKeys:[],o=[],a=new Set;if(r.forEach(c=>{if(!c.showInFileMenu)return;let u=c.key.trim(),p=Me(u);!u||!p||a.has(p)||(a.add(p),o.push({normalizedKey:p,displayKey:u}))}),o.length===0)return[];let i=[];o.forEach(({normalizedKey:c,displayKey:u})=>{let p=e?.getKeyNode(c)??null;if(!p)return;let m=(p.name.trim()||u).trim(),g=gwe(p),f=Array.from(p.children.values()).filter(h=>h.kind==="value"&&h.name.trim().length>0);!g&&f.length===0||(g&&i.push({nodeId:p.id,keyNodeId:p.id,label:`${m}: true`}),f.sort((h,b)=>{let v=Mt(h.name,b.name);return v!==0?v:h.name.localeCompare(b.name)}),f.forEach(h=>{let b=h.name.trim();i.push({nodeId:h.id,keyNodeId:p.id,label:`${m}: ${b}`})}))});let s=[],l=new Set;return i.forEach(c=>{l.has(c.nodeId)||(l.add(c.nodeId),s.push(c))}),s}var LF,TH=U(()=>{zn();cn();Ot();Rn();dn();LF=new WeakMap});function lZ(t,e){let n=t.indexOf(`
`,e);return n===-1?t.length:n}function kH(t,e){return e>=t.length?t.length:e+1}function hwe(t){let e=lZ(t,0);if(t.slice(0,e).trim()!=="---")return t;let r=kH(t,e);for(;r<t.length;){let o=lZ(t,r),a=t.slice(r,o).trim();if(a==="---"||a==="...")return t.slice(kH(t,o));r=kH(t,o)}return t}function fwe(t){return t.replace(/^(?:\r?\n)+/u,"")}function FH(t){return t.replace(/(?:\r?\n)+$/u,"")}function vwe(t){return fwe(FH(t))}function ywe(t,e){switch(t){case"none":return`
`;case"horizontal-rule":return`

---

`;case"heading":return`

# ${e.basename}

`;default:return`

`}}function bwe(t,e){let n="";return t.forEach((r,o)=>{n+=Swe(r,o,e)}),`${FH(n)}
`}function Swe(t,e,n){let r=e===0?t.content:hwe(t.content),o=e===0?FH(r):vwe(r);return`${e>0?ywe(n,t.file):""}${o}`}function lR(t){let e=t.trim().replace(/\.md$/iu,"").trim(),n=hC(e),r=vC(n);return(dZ.Platform.isWin?bC(r):r).trim()}function zp(t){let e=[],n=new Set;return t.forEach(r=>{r.extension!=="md"||n.has(r.path)||(n.add(r.path),e.push(r))}),e}async function wwe(t,e){let n=await Promise.allSettled(e.map(o=>t.fileManager.trashFile(o))),r=0;return n.forEach((o,a)=>{o.status!=="fulfilled"&&(r+=1,console.error("Error moving merged source note to trash:",e[a].path,o.reason))}),r}async function Twe(t,e){let n=[];for(let r of e)n.push({file:r,content:await t.vault.read(r)});return n}function kwe(t){if(t instanceof Error)return t;if(typeof t=="string"){let e=t.trim();if(e)return new Error(e)}return new Error("Failed to open merged note.")}async function Fwe(t,e,n){if(n)try{return await n(e)}catch(r){return console.error("Error moving merged source notes to trash:",r),e.length}return wwe(t,e)}async function cZ({app:t,files:e,outputFolder:n,outputName:r,separator:o,moveSourcesToTrash:a,openOutputFile:i,trashSourceFiles:s}){let l=zp(e);if(l.length<2)throw new Error("At least two markdown notes are required.");let c=lR(r);if(!c)throw new Error("Output name is required.");let u=await Twe(t,l),p=bwe(u,o),m=hl(n.path,c,"md",t),g=od(n.path,m,"md"),f=await t.vault.create(g,p),h=0,b=null;if(i)try{await i(f)}catch(v){b=kwe(v)}return a&&b===null&&(h=await Fwe(t,l,s)),{file:f,sourceCount:l.length,failedSourceTrashCount:h,outputOpenError:b}}var dZ,Xb=U(()=>{dZ=require("obsidian");Nm();rs()});var mZ={};In(mZ,{MergeNotesModal:()=>PH});function Cwe(){let t=ye.get(ut.mergeNotesSeparatorKey);return pZ(t)?t:uZ}function Nwe(){let t=ye.get(ut.mergeNotesMoveSourcesToTrashKey);return typeof t=="boolean"?t:Pwe}function Iwe(t,e){ye.set(ut.mergeNotesSeparatorKey,t),ye.set(ut.mergeNotesMoveSourcesToTrashKey,e)}function pZ(t){return t==="none"||t==="blank-line"||t==="horizontal-rule"||t==="heading"}var Qb,uZ,Pwe,PH,gZ=U(()=>{Qb=require("obsidian");Ee();Ue();ot();Jr();Xb();uZ="blank-line",Pwe=!1,PH=class extends Qb.Modal{constructor(n,r){super(n);this.isSubmitting=!1;this.moveSourcesToTrash=Nwe();this.outputName="";this.separator=Cwe();this.defaultOutputName=r.defaultOutputName,this.destinationFolder=r.destinationFolder,this.noteCount=r.noteCount,this.showCrossFolderLinkWarning=r.showCrossFolderLinkWarning,this.onSubmit=r.onSubmit,this.outputName=r.defaultOutputName}onOpen(){this.titleEl.setText(d.modals.mergeNotes.title),this.contentEl.createDiv({cls:"nn-input-description nn-merge-notes-summary",text:d.modals.mergeNotes.summary.replace("{count}",this.noteCount.toString()).replace("{folder}",this.getDestinationFolderLabel())}),new Qb.Setting(this.contentEl).setName(d.modals.mergeNotes.outputName).setDesc(d.modals.mergeNotes.outputNameDesc).addText(o=>{o.setPlaceholder(d.modals.mergeNotes.outputNamePlaceholder).setValue(this.defaultOutputName).onChange(a=>{this.outputName=a,this.updateSubmitState()})}),new Qb.Setting(this.contentEl).setName(d.modals.mergeNotes.separator).setDesc(d.modals.mergeNotes.separatorDesc).addDropdown(o=>{o.addOption("none",d.modals.mergeNotes.separatorOptions.none).addOption("blank-line",d.modals.mergeNotes.separatorOptions.blankLine).addOption("horizontal-rule",d.modals.mergeNotes.separatorOptions.horizontalRule).addOption("heading",d.modals.mergeNotes.separatorOptions.heading).setValue(this.separator).onChange(a=>{this.separator=this.parseSeparator(a)})}),new Qb.Setting(this.contentEl).setName(d.modals.mergeNotes.moveSourcesToTrash).addToggle(o=>{o.setValue(this.moveSourcesToTrash).onChange(a=>{this.moveSourcesToTrash=a})}),this.renderMergeNotesDetails();let n=this.contentEl.createDiv("nn-button-container");n.createEl("button",{text:d.common.cancel}).addEventListener("click",()=>this.close()),this.submitBtn=n.createEl("button",{text:d.modals.mergeNotes.mergeButton,cls:"mod-cta"}),this.submitBtn.addEventListener("click",()=>this.submit()),this.scope.register([],"Enter",o=>{let a=activeDocument.activeElement;!(a instanceof HTMLElement)||!this.contentEl.contains(a)||(o.preventDefault(),this.submit())}),this.updateSubmitState()}onClose(){this.contentEl.empty()}getDestinationFolderLabel(){return this.destinationFolder.path==="/"?d.navigationPane.vaultRootLabel:this.destinationFolder.path}parseSeparator(n){return pZ(n)?n:uZ}renderMergeNotesDetails(){let n=this.contentEl.createEl("p",{cls:"nn-merge-notes-details",attr:{dir:"auto"}});n.createSpan({text:d.modals.mergeNotes.frontmatterRule}),this.showCrossFolderLinkWarning&&(n.appendText(" "),n.createSpan({cls:"nn-merge-notes-warning",text:d.modals.mergeNotes.crossFolderWarning,attr:{dir:"auto"}}))}updateSubmitState(){if(!this.submitBtn)return;let n=lR(this.outputName).length===0||this.isSubmitting;this.submitBtn.disabled=n,this.submitBtn.toggleClass("mod-disabled",n)}submit(){this.isSubmitting||lR(this.outputName).length===0||(this.isSubmitting=!0,this.updateSubmitState(),Q(async()=>{try{await this.onSubmit({outputName:this.outputName,separator:this.separator,moveSourcesToTrash:this.moveSourcesToTrash})&&(Iwe(this.separator,this.moveSourcesToTrash),this.close())}finally{this.isSubmitting=!1,this.updateSubmitState()}}))}}});function xwe(t){let e=new Set;return t.forEach(n=>{e.add(n.parent instanceof hZ.TFolder?n.parent.path:"/")}),e.size>1}async function Ewe(t,e,n){let r=()=>t.workspace.getLeaf(!1),o=async a=>{if(!a)throw new Error("Unable to open merged note: leaf not available");await a.openFile(n,{active:!0})};if(e){let a=await e.executeOpenActiveFile(n,o,{active:!0,getLeaf:r});if(!a.success)throw a.error??new Error("Failed to open merged note.");if(a.data?.skipped===!0)throw new Error(d.fileSystem.errors.mergeNotesOpenSkipped);return}await o(r())}async function dR({app:t,commandQueue:e,fileSystemOps:n,files:r,outputFolder:o,defaultOutputName:a}){let i=zp(r);if(i.length<2)return;let{MergeNotesModal:s}=await Promise.resolve().then(()=>(gZ(),mZ));new s(t,{defaultOutputName:a,destinationFolder:o,noteCount:i.length,showCrossFolderLinkWarning:xwe(i),onSubmit:async c=>{try{let u=await cZ({app:t,files:i,outputFolder:o,outputName:c.outputName,separator:c.separator,moveSourcesToTrash:c.moveSourcesToTrash,openOutputFile:p=>Ewe(t,e,p),trashSourceFiles:async p=>(await n.trashFilesWithOpenLeafCleanup(p)).failedCount});return u.outputOpenError!==null?(de(d.fileSystem.errors.mergeNotesOpenOutput.replace("{name}",u.file.name).replace("{error}",to(u.outputOpenError,d.common.unknownError)),{variant:"warning"}),!0):(de(d.fileSystem.notices.mergeNotes.replace("{count}",u.sourceCount.toString()).replace("{name}",u.file.name),{variant:"success"}),u.failedSourceTrashCount>0&&de(d.fileSystem.errors.mergeNotesTrashSources.replace("{count}",u.failedSourceTrashCount.toString()),{variant:"warning"}),!0)}catch(u){return de(d.fileSystem.errors.mergeNotes.replace("{error}",to(u,d.common.unknownError)),{variant:"warning"}),!1}}}).open()}var hZ,CH=U(()=>{hZ=require("obsidian");Ee();tp();Xb();Fn()});function cR({isMobile:t,desktopScale:e,mobileScale:n}){return(0,fZ.useMemo)(()=>{let r=Za(t?n:e);if(r===1)return{scale:r};let o=r.toString();return{scale:r,style:{"--nn-ui-scale":o},dataAttr:o}},[e,t,n])}var fZ,NH=U(()=>{fZ=ue(ze());dm()});function pR({items:t,virtualizer:e,focusedPane:n,containerRef:r,isSelectable:o,onKeyDown:a,onKeyUp:i}){let s=Yn(),l=(0,Zb.useCallback)(()=>({findNextIndex:(p,m=!1)=>Mwe(t,p,o,m),findPreviousIndex:(p,m=!1)=>Rwe(t,p,o,m),getPageSize:()=>Dwe(e),scrollToIndex:p=>{e.scrollToIndex(p,{align:"auto"})},getItemAt:p=>uR(t,p),isRTL:()=>activeDocument.body.classList.contains("mod-rtl")}),[t,o,e]),c=(0,Zb.useCallback)(p=>{r.current?.getAttribute("data-navigator-focused")==="true"&&(_u(p)||s.focusedPane===n&&a(p,l()))},[r,s.focusedPane,n,a,l]),u=(0,Zb.useCallback)(p=>{!i||r.current?.getAttribute("data-navigator-focused")!=="true"||_u(p)||s.focusedPane===n&&i(p,l())},[r,s.focusedPane,n,i,l]);(0,Zb.useEffect)(()=>{let p=r.current;if(p)return p.addEventListener("keydown",c),p.addEventListener("keyup",u),()=>{p.removeEventListener("keydown",c),p.removeEventListener("keyup",u)}},[c,u,r])}var Zb,uR,Mwe,Rwe,Dwe,IH=U(()=>{Zb=ue(ze());pa();os();uR=(t,e)=>e>=0&&e<t.length?t[e]:void 0,Mwe=(t,e,n,r=!1)=>{if(t.length===0)return-1;if(e<0){for(let a=0;a<t.length;a++){let i=uR(t,a);if(i&&n(i))return a}return-1}let o=r?e:e+1;for(let a=o;a<t.length;a++){let i=uR(t,a);if(i&&n(i))return a}return e},Rwe=(t,e,n,r=!1)=>{if(t.length===0||e<0)return-1;let o=r?e:e-1;for(let a=o;a>=0;a--){let i=uR(t,a);if(i&&n(i))return a}return e},Dwe=t=>{let e=t.getVirtualItems();if(e.length===0||!t.scrollElement)return 10;let n=t.scrollElement.offsetHeight;if(e.length===0)return 10;let r=e[0],o=e[e.length-1],a=o.start+o.size-r.start;if(a<=0)return 10;let i=a/e.length;if(i<=0)return 10;let s=Math.floor(n/i);return Math.max(1,s>1?s-1:1)}});function vu(){let{app:t,commandQueue:e}=gt();return(0,vZ.useCallback)((n,r)=>{if(!n)return;let o=r?.active??!1,a=()=>r?.leaf??t.workspace.getLeaf(!1),i=async s=>{s&&await s.openFile(n,{active:o})};if(e){Q(()=>e.executeOpenActiveFile(n,i,{active:o,getLeaf:a}));return}Q(()=>i(a()))},[t.workspace,e])}var vZ,Jb=U(()=>{vZ=ue(ze());mn();ot()});function eS(){let t=CF(),e=(0,Rg.useRef)(t);e.current=t;let n=gr(),{app:r}=gt(),o=pt(),a=r.workspace,i=vu(),s=(0,Rg.useCallback)((m,g,f)=>{let h=e.current,b=h.selectedFiles.has(m.path);if(b&&h.selectedFiles.size===1)return;let v=a.getActiveFile();if(b)if(n({type:"TOGGLE_FILE_SELECTION",file:m}),h.selectedFile&&h.selectedFile.path===m.path&&f){let y=f.find(S=>h.selectedFiles.has(S.path)&&S.path!==m.path);y&&(n({type:"UPDATE_CURRENT_FILE",file:y}),i(y))}else v&&v.path===m.path&&h.selectedFile&&i(h.selectedFile);else n({type:"TOGGLE_WITH_CURSOR",file:m,anchorIndex:g}),i(m)},[n,i,a]),l=(0,Rg.useCallback)((m,g,f)=>{let h=e.current,b=Iz(f,h.selectedFile);if(b===-1){n({type:"SET_SELECTED_FILE",file:m});return}let v=Ky(f,b,g),{selectedFiles:y,changed:S}=Wy(h.selectedFiles,v);n({type:"APPLY_FILE_SELECTION",selectedFiles:y,selectedFile:m,lastMovementDirection:S?null:h.lastMovementDirection}),i(m)},[n,i]),c=(0,Rg.useCallback)((m,g,f,h)=>{let b=e.current;if(g===-1||!b.selectedFile)return-1;let v=b.selectedFile,y=new Set(b.selectedFiles),S=m==="down"?Math.min(g+1,f.length-1):Math.max(g-1,0);if(S===g)return-1;let w=f[S],k=!0,F=a.getActiveFile(),P=!1;b.selectedFiles.has(v.path)&&b.selectedFiles.has(w.path)&&(y.delete(v.path),k=!1,F&&F.path===v.path&&(P=!0)),b.selectedFiles.has(w.path)||y.add(w.path);let I=S;if(k){let O=m==="down"?S+1:S-1;for(;O>=0&&O<f.length;){let K=f[O];if(b.selectedFiles.has(K.path))I=O,O=m==="down"?O+1:O-1;else break}}let N=f[I];return n({type:"APPLY_FILE_SELECTION",selectedFiles:y,selectedFile:N,lastMovementDirection:m}),!o.enterToOpenFiles&&(P||!F||F.path!==N.path)&&(h?.openFile??i)(N),I},[n,i,o.enterToOpenFiles,a]),u=(0,Rg.useCallback)(m=>{if(m.length===0)return;let f=e.current.selectedFile||m[0];n({type:"SET_FILE_SELECTION",files:m,selectedFile:f})},[n]),p=(0,Rg.useCallback)(m=>e.current.selectedFiles.has(m.path),[]);return{handleMultiSelectClick:s,handleRangeSelectClick:l,handleShiftArrowSelection:c,selectAll:u,isFileSelected:p}}var Rg,mR=U(()=>{Rg=ue(ze());Ur();mn();on();Jb();ai()});function yZ({enabled:t=!0,items:e,virtualizer:n,containerRef:r,pathToIndex:o,orderedFiles:a,orderedFileIndexMap:i,onSelectFile:s,scrollToIndexSafely:l,onScheduleKeyboardOpen:c,onScheduleKeyboardOpenForFile:u,onCommitKeyboardOpen:p,onReorderPropertySort:m,onStartRename:g}){let{app:f,commandQueue:h,isMobile:b,tagTreeService:v,propertyTreeService:y}=gt(),S=vu(),w=li(),k=pt(),F=Xt(),P=F.includeDescendantNotes,T=F.showHiddenItems,I=CF(),N=(0,Bp.useRef)(I);N.current=I;let O=Ml(),K=(0,Bp.useRef)(O);K.current=O;let G=gr(),X=Yn(),L=Vr(),{handleShiftArrowSelection:V,selectAll:D}=eS(),A=(0,Bp.useCallback)(()=>{let C=N.current.selectedFile;return C?.path?o.get(C.path)??-1:-1},[o]),_=(0,Bp.useCallback)((C,x)=>{if(C.type===en.FILE){let z=C.data instanceof zF.TFile?C.data:null;if(!z)return;s(z,{markKeyboardNavigation:!0,suppressOpen:x?.suppressOpen,debounceOpen:x?.debounceOpen})}},[s]),E=(0,Bp.useCallback)((C,x)=>{let z=C==="home"?0:a.length-1,H=a[z];if(!H)return;let Y=Ky(a,C==="home"?0:x,C==="home"?x:a.length-1),ee=N.current,{selectedFiles:$,changed:j}=Wy(ee.selectedFiles,Y);if(G({type:"APPLY_FILE_SELECTION",selectedFiles:$,selectedFile:H,lastMovementDirection:j?null:ee.lastMovementDirection}),k.enterToOpenFiles||S(H),C==="home"){n.scrollToIndex(0,{align:"start"});return}let J=o.get(H.path);J!==void 0&&l(J,"auto")},[a,G,k.enterToOpenFiles,S,n,o,l]),R=(0,Bp.useCallback)((C,x)=>{if(!t)return;let z=A(),H=N.current,Y=k.keyboardShortcuts,ee=x.isRTL(),$=-1,j=!1,J=!1,re=()=>x.findNextIndex(-1),oe=()=>{let ae=n.getVirtualItems(),se=n.scrollElement;if(ae.length===0||!se)return x.getPageSize();let ne=n.scrollOffset??se.scrollTop,B=ne+se.clientHeight,q=0;for(let ie of ae){let le=x.getItemAt(ie.index);if(!le||!gR(le))continue;let Te=ie.start;Te+ie.size>ne&&Te<B&&(q+=1)}return q===0?x.getPageSize():Math.max(1,q-2)},Z=(ae,se)=>{let ne=oe(),B=ae;for(let q=ne;q>0;q-=1){let ie=se==="down"?x.findNextIndex(B):x.findPreviousIndex(B);if(ie<0||ie===B)break;B=ie}return B};if(k.enterToOpenFiles&&Mv(C)){let ae=Rv(C,k);if(ae==="rename"){C.preventDefault(),g?.();return}let se=fc(f,H);if(!se)return;if(C.preventDefault(),ae){Q(()=>no({app:f,commandQueue:h,file:se,context:ae,active:!1}));return}S(se);return}if(un(C,Y,Ft.PANE_RENAME)&&g?.()){C.preventDefault();return}let ce=(ae,se)=>{if(se&&u){u(ae);return}S(ae)};if(un(C,Y,Ft.LIST_MANUAL_SORT_DOWN)&&m?.("down")===!0){C.preventDefault();return}if(un(C,Y,Ft.LIST_MANUAL_SORT_UP)&&m?.("up")===!0){C.preventDefault();return}if(un(C,Y,Ft.LIST_EXTEND_SELECTION_DOWN)){if(C.preventDefault(),!b&&H.selectedFile?.path){let ae=i.get(H.selectedFile.path);if(ae!==void 0&&ae!==-1){let se=C.key==="ArrowDown",ne=V("down",ae,a,{openFile:B=>ce(B,se)});if(ne===-1&&se&&c?.(),ne>=0){let B=a[ne],q=o.get(B.path);q!==void 0&&l(q,"auto")}}}return}if(un(C,Y,Ft.LIST_EXTEND_SELECTION_UP)){if(C.preventDefault(),!b&&H.selectedFile?.path){let ae=i.get(H.selectedFile.path);if(ae!==void 0&&ae!==-1){let se=C.key==="ArrowUp",ne=V("up",ae,a,{openFile:B=>ce(B,se)});if(ne===-1&&se&&c?.(),ne>=0){let B=a[ne],q=o.get(B.path);q!==void 0&&l(q,"auto")}}}return}if(un(C,Y,Ft.PANE_MOVE_DOWN)){if(C.preventDefault(),$=x.findNextIndex(z),$===z&&z>=0){C.key==="ArrowDown"&&c?.();return}J=C.key==="ArrowDown"}else if(un(C,Y,Ft.PANE_MOVE_UP)){if(C.preventDefault(),z===-1)$=x.findNextIndex(-1);else if($=x.findPreviousIndex(z),$===z&&z>=0){C.key==="ArrowUp"&&c?.();return}J=C.key==="ArrowUp"}else if(un(C,Y,Ft.PANE_PAGE_DOWN))C.preventDefault(),z!==-1&&($=Z(z,"down")),J=C.key==="PageDown";else if(un(C,Y,Ft.PANE_PAGE_UP)){C.preventDefault();let ae=re();if(z===-1)$=ae,ae>=0&&(j=!0);else{let se=Z(z,"up");se>=0?($=se,ae>=0&&se===ae&&(j=!0)):($=ae,ae>=0&&(j=!0))}J=C.key==="PageUp"}else if(un(C,Y,Ft.LIST_FOCUS_EDITOR,{isRTL:ee,directional:"horizontal"})){if(H.selectedFile){C.preventDefault();let se=sh(f).find(ne=>{let B=ne.view;return B instanceof zF.FileView&&B.file?.path===H.selectedFile?.path});se&&f.workspace.setActiveLeaf(se,{focus:!0})}}else if(un(C,Y,Ft.LIST_FOCUS_NAVIGATION,{isRTL:ee,directional:"horizontal"}))C.preventDefault(),X.singlePane&&!b?(L({type:"SET_SINGLE_PANE_VIEW",view:"navigation"}),L({type:"SET_FOCUSED_PANE",pane:"navigation"})):X.singlePane||L({type:"SET_FOCUSED_PANE",pane:"navigation"});else if(un(C,Y,Ft.DELETE_SELECTED)){if(H.selectedFile||H.selectedFiles.size>0){C.preventDefault();let ae={...K.current,selectedFiles:H.selectedFiles,selectedFile:H.selectedFile};Q(()=>ZM({app:f,fileSystemOps:w,settings:k,visibility:{includeDescendantNotes:P,showHiddenItems:T},selectionState:ae,selectionDispatch:G,tagTreeService:v,propertyTreeService:y,orderedFiles:a}))}}else if(un(C,Y,Ft.LIST_SELECT_ALL)){C.preventDefault();let ae=e.filter(se=>se.type===en.FILE).map(se=>{let ne=se;return ne.data instanceof zF.TFile?ne.data:null}).filter(se=>se!==null);D(ae)}else if(un(C,Y,Ft.LIST_RANGE_TO_START)){if(C.preventDefault(),!b&&H.selectedFile?.path){let ae=i.get(H.selectedFile.path);ae!==void 0&&ae!==-1&&E("home",ae)}return}else if(un(C,Y,Ft.LIST_RANGE_TO_END)){if(C.preventDefault(),!b&&H.selectedFile?.path){let ae=i.get(H.selectedFile.path);ae!==void 0&&ae!==-1&&E("end",ae)}return}else if(un(C,Y,Ft.PANE_HOME)){C.preventDefault();let ae=re();$=ae,ae>=0&&(j=!0)}else if(un(C,Y,Ft.PANE_END)){C.preventDefault();for(let ae=e.length-1;ae>=0;ae--){let se=x.getItemAt(ae);if(se&&gR(se)){$=ae;break}}}if($>=0&&$<e.length){let ae=x.getItemAt($);ae&&gR(ae)&&(_(ae,{debounceOpen:J}),j?n.scrollToIndex(0,{align:"start"}):l($,"auto"))}else j&&n.scrollToIndex(0,{align:"start"})},[A,t,k,b,i,V,a,o,f,h,X.singlePane,L,w,v,y,G,D,_,E,e,n,P,T,S,c,u,m,g,l]),M=(0,Bp.useCallback)(C=>{t&&p&&(C.ctrlKey||C.metaKey||C.altKey||C.key!=="ArrowUp"&&C.key!=="ArrowDown"&&C.key!=="PageUp"&&C.key!=="PageDown"||p())},[t,p]);pR({items:e,virtualizer:n,focusedPane:"files",containerRef:r,isSelectable:gR,_getCurrentIndex:A,onKeyDown:R,onKeyUp:M})}var Bp,zF,gR,bZ=U(()=>{Bp=ue(ze()),zF=require("obsidian");Ur();mn();on();Tr();pa();Ue();JM();ai();IH();mR();Jb();rh();ot();Zc();td();gR=t=>t.type===en.FILE});function SZ(t){return String(t).padStart(2,"0")}function wZ(t){let e=t.getFullYear(),n=SZ(t.getMonth()+1),r=SZ(t.getDate());return`${e}-${n}-${r}`}function Owe(t){let n=new Date(t.getFullYear(),t.getMonth(),t.getDate()+1,0,0,0,0).getTime()-t.getTime();return n>0?n:0}function hR(){let[t,e]=(0,yf.useState)(()=>wZ(new Date)),n=(0,yf.useRef)(null),r=(0,yf.useRef)(0);return(0,yf.useEffect)(()=>{if(typeof window>"u")return;let o=()=>{let c=n.current;c!==null&&(window.clearTimeout(c),n.current=null)},a=()=>{let c=wZ(new Date);e(u=>u===c?u:c)},i=()=>{o();let c=Owe(new Date);n.current=window.setTimeout(()=>{a(),i()},c+100)},s=()=>{let c=Date.now();c-r.current<Awe||(r.current=c,a(),i())};i();let l=activeDocument;return window.addEventListener("focus",s),window.addEventListener("pageshow",s),l.addEventListener("visibilitychange",s),()=>{window.removeEventListener("focus",s),window.removeEventListener("pageshow",s),l.removeEventListener("visibilitychange",s),o()}},[]),t}var yf,Awe,xH=U(()=>{yf=ue(ze()),Awe=120});function vR(t,e){if(e.dateRanges.length===0&&e.excludeDateRanges.length===0)return!0;let n=r=>r.field==="created"?t.created:r.field==="modified"?t.modified:t.defaultField==="created"?t.created:t.modified;for(let r of e.dateRanges){let o=n(r);if(!PZ(o,r))return!1}for(let r of e.excludeDateRanges){let o=n(r);if(PZ(o,r))return!1}return!0}var nS,Lwe,zwe,Bwe,rS,_p,TZ,BF,tS,_we,fR,kZ,Hwe,Vwe,MH,Uwe,Kwe,FZ,Wwe,EH,jwe,RH,DH,PZ,AH=U(()=>{nS=["today","yesterday","last7d","last30d","thisweek","thismonth"],Lwe=new Set(nS),zwe=1,Bwe=9999,rS=t=>Number.isFinite(t)&&t>=zwe&&t<=Bwe,_p=(t,e,n)=>{let r=new Date(0);return r.setFullYear(t,e,n),r.setHours(0,0,0,0),r},TZ=(t,e,n)=>{let r=new Date(0);return r.setUTCFullYear(t,e,n),r.setUTCHours(0,0,0,0),r.getTime()},BF=t=>{if(!t)return{field:"default",prefix:"",remainder:""};let e=t.toLowerCase();return e.startsWith("c:")?{field:"created",prefix:"c:",remainder:t.slice(2)}:e.startsWith("m:")?{field:"modified",prefix:"m:",remainder:t.slice(2)}:e.startsWith("created:")?{field:"created",prefix:"created:",remainder:t.slice(8)}:e.startsWith("modified:")?{field:"modified",prefix:"modified:",remainder:t.slice(9)}:{field:"default",prefix:"",remainder:t}},tS=null,_we=()=>{if(tS)return tS;try{let t=new Intl.DateTimeFormat(void 0,{year:"numeric",month:"numeric",day:"numeric"}).formatToParts(new Date(2020,11,31)),e=t.findIndex(a=>a.type==="year"),n=t.findIndex(a=>a.type==="month"),r=t.findIndex(a=>a.type==="day");if(e!==-1&&n!==-1&&r!==-1&&e>n&&e>r&&n<r)return tS="MDY",tS}catch{}return tS="DMY",tS},fR=(t,e,n)=>{if(!Number.isFinite(t)||!Number.isFinite(e)||!Number.isFinite(n)||!rS(t)||e<1||e>12||n<1||n>31)return null;let r=_p(t,e-1,n);if(r.getFullYear()!==t||r.getMonth()!==e-1||r.getDate()!==n||Number.isNaN(r.getTime()))return null;let o=_p(t,e-1,n+1);return Number.isNaN(o.getTime())?null:{startMs:r.getTime(),endMs:o.getTime()}},kZ=(t,e)=>{if(!Number.isFinite(t)||!Number.isFinite(e)||!rS(t)||e<1||e>12)return null;let n=_p(t,e-1,1);if(n.getFullYear()!==t||n.getMonth()!==e-1||n.getDate()!==1||Number.isNaN(n.getTime()))return null;let r=_p(t,e,1);return Number.isNaN(r.getTime())?null:{startMs:n.getTime(),endMs:r.getTime()}},Hwe=(t,e)=>{if(!Number.isFinite(t)||!Number.isFinite(e)||!rS(t)||e<1||e>4)return null;let n=(e-1)*3,r=_p(t,n,1);if(r.getFullYear()!==t||r.getMonth()!==n||r.getDate()!==1||Number.isNaN(r.getTime()))return null;let o=_p(t,n+3,1);return Number.isNaN(o.getTime())?null:{startMs:r.getTime(),endMs:o.getTime()}},Vwe=t=>{if(!Number.isFinite(t)||!rS(t))return null;let e=_p(t,0,1);if(e.getFullYear()!==t||e.getMonth()!==0||e.getDate()!==1||Number.isNaN(e.getTime()))return null;let n=_p(t+1,0,1);return Number.isNaN(n.getTime())?null:{startMs:e.getTime(),endMs:n.getTime()}},MH=t=>{if(!Number.isFinite(t)||!rS(t))return null;let e=_p(t,0,4);if(Number.isNaN(e.getTime()))return null;let n=(e.getDay()+6)%7,r=new Date(e);return r.setDate(r.getDate()-n),Number.isNaN(r.getTime())?null:r},Uwe=t=>{let e=MH(t),n=MH(t+1);if(!e||!n)return null;let r=TZ(e.getFullYear(),e.getMonth(),e.getDate()),o=TZ(n.getFullYear(),n.getMonth(),n.getDate()),a=Math.round((o-r)/(1440*60*1e3));if(a<=0||a%7!==0)return null;let i=a/7;return i>=52&&i<=53?i:null},Kwe=(t,e)=>{if(!Number.isFinite(t)||!Number.isFinite(e)||!rS(t)||e<1||e>53)return null;let n=Uwe(t);if(!n||e>n)return null;let r=MH(t);if(!r)return null;let o=new Date(r);if(o.setDate(o.getDate()+(e-1)*7),Number.isNaN(o.getTime()))return null;let a=new Date(o);return a.setDate(a.getDate()+7),Number.isNaN(a.getTime())?null:{startMs:o.getTime(),endMs:a.getTime()}},FZ=(t,e,n)=>{let r=fR(n,e,t),o=fR(n,t,e);return r&&!o?r:o&&!r?o:!r||!o?null:_we()==="MDY"?o:r},Wwe=t=>{let e=t.trim();if(!e)return null;let n=e.match(/^(\d{3,4})[-/.](\d{1,2})[-/.](\d{1,2})$/);if(n){let i=Number(n[1]),s=Number(n[2]),l=Number(n[3]);return fR(i,s,l)}let r=e.match(/^(\d{4})(\d{2})(\d{2})$/);if(r){let i=Number(r[1]),s=Number(r[2]),l=Number(r[3]);return fR(i,s,l)}let o=e.match(/^(\d{1,2})[-/.](\d{1,2})[-/.](\d{3,4})$/);if(o){let i=Number(o[1]),s=Number(o[2]),l=Number(o[3]);return FZ(i,s,l)}let a=e.match(/^(\d{2})(\d{2})(\d{4})$/);if(a){let i=Number(a[1]),s=Number(a[2]),l=Number(a[3]);return FZ(i,s,l)}return null},EH=t=>{let e=t.trim();if(!e)return null;let n=e.match(/^(\d{3,4})$/);if(n){let s=Number(n[1]);return Vwe(s)}let r=e.match(/^(\d{3,4})[-/.](\d{1,2})$/);if(r){let s=Number(r[1]),l=Number(r[2]);return kZ(s,l)}let o=e.match(/^(\d{4})(\d{2})$/);if(o){let s=Number(o[1]),l=Number(o[2]);return kZ(s,l)}let a=e.match(/^(\d{3,4})[-/.]?q([1-4])$/);if(a){let s=Number(a[1]),l=Number(a[2]);return Hwe(s,l)}let i=e.match(/^(\d{3,4})[-/.]?w(\d{1,2})$/);if(i){let s=Number(i[1]),l=Number(i[2]);return Kwe(s,l)}return Wwe(e)},jwe=t=>{if(!t)return null;let e=new Date,n=new Date(e.getFullYear(),e.getMonth(),e.getDate()),r=new Date(n);switch(r.setDate(r.getDate()+1),t){case"today":return{startMs:n.getTime(),endMs:r.getTime()};case"yesterday":{let o=new Date(n);return o.setDate(o.getDate()-1),{startMs:o.getTime(),endMs:n.getTime()}}case"last7d":{let o=new Date(n);return o.setDate(o.getDate()-6),{startMs:o.getTime(),endMs:r.getTime()}}case"last30d":{let o=new Date(n);return o.setDate(o.getDate()-29),{startMs:o.getTime(),endMs:r.getTime()}}case"thisweek":{let o=new Date(n),i=(o.getDay()+6)%7;o.setDate(o.getDate()-i);let s=new Date(o);return s.setDate(s.getDate()+7),{startMs:o.getTime(),endMs:s.getTime()}}case"thismonth":{let o=new Date(n.getFullYear(),n.getMonth(),1),a=new Date(n.getFullYear(),n.getMonth()+1,1);return{startMs:o.getTime(),endMs:a.getTime()}}}return null},RH=t=>{if(!t.startsWith("@"))return null;let e=t.slice(1),{field:n,remainder:r}=BF(e),o=r.trim().toLowerCase();if(!o)return null;if(Lwe.has(o)){let s=jwe(o);return s?{field:n,startMs:s.startMs,endMs:s.endMs}:null}let a=o.indexOf("..");if(a!==-1){let s=o.slice(0,a).trim(),l=o.slice(a+2).trim();if(!s&&!l)return null;let c=s?EH(s):null,u=l?EH(l):null;if(s&&!c||l&&!u)return null;let p=c?c.startMs:null,m=u?u.endMs:null;return p!==null&&m!==null&&p>=m?null:{field:n,startMs:p,endMs:m}}let i=EH(o);return i?{field:n,startMs:i.startMs,endMs:i.endMs}:null},DH=t=>{if(!t.startsWith("@"))return!1;let e=t.slice(1),{remainder:n}=BF(e),r=n.trim().toLowerCase();if(!r)return!0;let o=r.charAt(0);if(o==="."||o>="0"&&o<="9")return!0;for(let a of nS)if(a.startsWith(r))return!0;return!1},PZ=(t,e)=>!(!Number.isFinite(t)||e.startMs!==null&&t<e.startMs||e.endMs!==null&&t>=e.endMs)});var CZ,HF,_F,Gwe,qwe,NZ,IZ,Ywe,xZ,$we,EZ,MZ=U(()=>{CZ={AND:2,OR:1},HF=(t,e)=>!t||!e?!1:t===e||t.startsWith(`${e}/`),_F=(t,e)=>{let n=t.get(e.key);if(!n)return!1;if(e.value===null)return!0;let r=e.value;return n.some(o=>o.includes(r))},Gwe=t=>typeof t!="object"||t===null||!("key"in t)||typeof t.key!="string"||!("value"in t)?!1:typeof t.value=="string"||t.value===null,qwe=t=>t.kind==="operator"&&(t.operator==="AND"||t.operator==="OR"),NZ=(t,e)=>t.kind===e&&(typeof t.value=="string"||t.value===null),IZ=(t,e)=>t.kind===e&&Gwe(t.value),Ywe=t=>{let e=[],n=[],r=new Set,o=new Map,a=!0,i=!1,s=!1,l=!1,c=m=>{if(a)return!1;for(;n.length>0;){let g=n[n.length-1];if(CZ[g]>=CZ[m]){let f=n.pop();if(!f)return!1;e.push({kind:"operator",operator:f})}else break}return n.push(m),a=!0,!0},u=m=>!a&&!c("AND")?!1:(e.push(m),a=!1,l=!0,!0);for(let m of t){if(m.kind==="operator"){if(!c(m.operator))return null;continue}if(m.kind==="tag"){if(m.value===null){if(!u({kind:"requireTagged"}))return null;s=!0}else{if(!u({kind:"tag",value:m.value}))return null;r.add(m.value)}continue}if(m.kind==="tagNegation"){if(m.value===null){if(!u({kind:"untagged"}))return null;i=!0}else if(!u({kind:"notTag",value:m.value}))return null;continue}if(m.kind==="property"){if(!u({kind:"property",value:m.value}))return null;let g=m.value.value?`${m.value.key}=${m.value.value}`:m.value.key;o.has(g)||o.set(g,m.value);continue}if(m.kind==="propertyNegation"){if(!u({kind:"notProperty",value:m.value}))return null;continue}return null}if(a)return null;for(;n.length>0;){let m=n.pop();if(!m)break;e.push({kind:"operator",operator:m})}if(!l)return null;let p=0;for(let m of e)if(m.kind==="operator"){if(p<2)return null;p-=1}else p+=1;return p!==1?null:{expression:e,includeUntagged:i,requireTagged:s,includedTagTokens:Array.from(r),includedPropertyTokens:Array.from(o.values())}},xZ=(t,e,n)=>{if(t.length===0)return!0;let r=[],o=a=>{for(let i of e)if(HF(i,a))return!0;return!1};for(let a of t){if(a.kind==="operator"){let s=r.pop(),l=r.pop();if(l===void 0||s===void 0)return!1;r.push(a.operator==="AND"?l&&s:l||s);continue}let i=!1;a.kind==="tag"?i=o(a.value):a.kind==="notTag"?i=!o(a.value):a.kind==="requireTagged"?i=e.length>0:a.kind==="untagged"?i=e.length===0:a.kind==="property"?i=_F(n,a.value):a.kind==="notProperty"&&(i=!_F(n,a.value)),r.push(i)}return r.length===0?!0:!!r[r.length-1]},$we=(t,e)=>{if(t.length===0)return!0;let n=[],r=o=>{for(let a of e)if(HF(a,o))return!0;return!1};for(let o of t){if(o.kind==="operator"){let i=n.pop(),s=n.pop();if(s===void 0||i===void 0)return!1;n.push(o.operator==="AND"?s&&i:s||i);continue}let a=!1;o.kind==="tag"?a=r(o.value):o.kind==="notTag"?a=!r(o.value):o.kind==="requireTagged"?a=e.length>0:o.kind==="untagged"?a=e.length===0:(o.kind==="property"||o.kind==="notProperty")&&(a=!0),n.push(a)}return n.length===0?!0:!!n[n.length-1]},EZ=(t,e,n)=>{let r=[];for(let f of t){if(qwe(f)){r.push(f);continue}if(NZ(f,"tag")||NZ(f,"tagNegation")){r.push(f);continue}if(IZ(f,"property")||IZ(f,"propertyNegation")){r.push(f);continue}return null}let o=Ywe(r);if(!o)return null;let{expression:a,includeUntagged:i,requireTagged:s,includedTagTokens:l,includedPropertyTokens:c}=o,u=a.length>0,p=a.some(f=>f.kind!=="operator"&&(f.kind==="tag"||f.kind==="notTag"||f.kind==="requireTagged"||f.kind==="untagged")),m=a.some(f=>f.kind!=="operator"&&(f.kind==="property"||f.kind==="notProperty")),g=u?!$we(a,[]):!1;return{mode:"tag",expression:a,hasInclusions:u,requiresTags:p,allRequireTags:g,requireUnfinishedTasks:!1,excludeUnfinishedTasks:!1,includedTagTokens:l,propertyTokens:c,excludePropertyTokens:n,requiresProperties:m,nameTokens:[],tagTokens:l.slice(),dateRanges:[],requireTagged:s,includeUntagged:i,excludeNameTokens:[],excludeTagTokens:e,folderTokens:[],excludeFolderTokens:[],extensionTokens:[],excludeExtensionTokens:[],excludeDateRanges:[],excludeTagged:!1}}});var oS,yR=U(()=>{oS={tags:{include:[],exclude:[],includeOperators:{},excludeTagged:!1,includeUntagged:!1,requireTagged:!1},properties:{include:[],exclude:[],includeOperators:{}}}});function UF(t){let e=[],n=t.trim();if(!n)return e;let r="",o=!1,a=0;for(;a<n.length;){let i=n[a];if(o&&i==="\\"){let s=n[a+1];if(s==='"'||s==="\\"){r+=s,a+=2;continue}}if(i==='"'){o=!o,a+=1;continue}if(!o&&/\s/.test(i)){r.length>0&&(e.push(r),r=""),a+=1;continue}r+=i,a+=1}return r.length>0&&e.push(r),e}function Sf(t){let e=t.trim();if(!e)return RZ;let n=UF(e).filter(Boolean);if(n.length===0)return RZ;let r=jZ(n),{tokens:o}=r,a=[],i=[],s=!1;for(let l of o){if(l.kind==="tagNegation"){l.value===null?s=!0:a.push(l.value);continue}l.kind==="propertyNegation"&&i.push(l.value)}if(eTe(r)){let l=EZ(o,a,i);if(l)return l}return oTe(o,a,i,s)}function GZ(t){let e=t.trim();if(!e)return oS;let n=Sf(e),r=new Set,o=new Set,a=new Set,i=new Set;n.includedTagTokens.forEach(c=>{c&&r.add(c)}),n.excludeTagTokens.forEach(c=>{c&&o.add(c)}),n.propertyTokens.forEach(c=>{a.add(zH(c))}),n.excludePropertyTokens.forEach(c=>{i.add(zH(c))});let s={},l={};if(n.mode==="tag"){let c=UF(e).filter(Boolean),u=jZ(c),p=!1,m=null;for(let g of u.tokens){if(g.kind==="operator"){m=g.operator;continue}if(!aTe(g))continue;let f=p?m??"AND":null;g.kind==="tag"&&g.value&&f?s[g.value]=f:g.kind==="property"&&f&&(l[zH(g.value)]=f),p=!0,m=null}}return{tags:{include:Array.from(r),exclude:Array.from(o),includeOperators:s,excludeTagged:n.excludeTagged,includeUntagged:n.includeUntagged,requireTagged:n.requireTagged},properties:{include:Array.from(a),exclude:Array.from(i),includeOperators:l}}}function QZ(t,e,n){let r=t.trim();if(!e)return{query:r,action:"removed",changed:!1};let o=`#${e}`,a=r.length>0?UF(r):[],i=qZ(r),s=To(o),l=a.findIndex(p=>To(p)===s);if(l!==-1){let p=$Z(a,l,i),m=bR(p);return{query:m,action:"removed",changed:m!==r}}let c=XZ(a,o,n,i),u=bR(c);return{query:u,action:"added",changed:u!==r}}function ZZ(t,e,n,r){let o=t.trim(),a=BH(e);if(!a)return{query:o,action:"removed",changed:!1};let i=null;if(typeof n=="string"){let b=rr(n);if(!b)return{query:o,action:"removed",changed:!1};i=b}let s={key:a,value:i},l=YZ(s),c=o.length>0?UF(o):[],u=qZ(o),p=To(s.key),m=To(s.value??""),g=c.findIndex(b=>{if(b.startsWith("-"))return!1;let v=VF(b);if(!v)return!1;let y=To(v.key),S=To(v.value??"");return y===p&&S===m});if(g!==-1){let b=$Z(c,g,u),v=bR(b);return{query:v,action:"removed",changed:v!==o}}let f=XZ(c,l,r,u),h=bR(f);return{query:h,action:"added",changed:h!==o}}function JZ(t,e){let n=e.trim();if(!n||!n.startsWith("@"))return{query:t.trim(),changed:!1};let r=t.trim(),o=n;return{query:o,changed:o!==r}}function SR(t){return t.hasInclusions||t.excludeNameTokens.length>0||t.excludeTagTokens.length>0||t.excludePropertyTokens.length>0||t.excludeFolderTokens.length>0||t.excludeExtensionTokens.length>0||t.excludeDateRanges.length>0||t.excludeUnfinishedTasks||t.excludeTagged}function eJ(t){return t.requiresTags||t.excludeTagged||t.excludeTagTokens.length>0}function tJ(t){return t.requiresProperties||t.excludePropertyTokens.length>0}function nJ(t){return t.hasInclusions&&t.allRequireTags}function HH(t,e,n,r){let o=r?.hasUnfinishedTasks??!1,a=r?.foldedFolderPath??"",i=r?.foldedExtension??"",s=r?.propertyValuesByKey??Xwe;if(n.excludeUnfinishedTasks&&o||n.requireUnfinishedTasks&&!o)return!1;if(n.mode==="filter"){let l=n.excludeFolderTokens.length>0||n.folderTokens.length>0,c=l?rTe(a):"",p=l&&(n.excludeFolderTokens.some(m=>m.mode==="segment")||n.folderTokens.some(m=>m.mode==="segment"))?c.split("/").filter(Boolean):null;if(n.excludeNameTokens.length>0&&n.excludeNameTokens.some(g=>t.includes(g))||n.excludeFolderTokens.length>0&&n.excludeFolderTokens.some(g=>_Z(c,p,g))||n.excludeExtensionTokens.length>0&&n.excludeExtensionTokens.some(g=>HZ(i,g)))return!1;if(n.excludeTagged){if(e.length>0)return!1}else if(n.excludeTagTokens.length>0&&e.length>0&&n.excludeTagTokens.some(g=>e.some(f=>HF(f,g))))return!1;return!(n.excludePropertyTokens.length>0&&n.excludePropertyTokens.some(g=>_F(s,g))||n.nameTokens.length>0&&!n.nameTokens.every(g=>t.includes(g))||n.folderTokens.length>0&&!n.folderTokens.every(g=>_Z(c,p,g))||n.extensionTokens.length>0&&!n.extensionTokens.every(g=>HZ(i,g))||n.propertyTokens.length>0&&!n.propertyTokens.every(g=>_F(s,g))||(n.requireTagged||n.tagTokens.length>0)&&(e.length===0||n.tagTokens.length>0&&!n.tagTokens.every(g=>e.some(f=>HF(f,g)))))}return n.excludeTagged&&e.length>0?!1:n.expression.length===0?!0:xZ(n.expression,e,s)}var RZ,Xwe,Qwe,Zwe,UZ,BH,_H,Jwe,OH,LH,VF,DZ,eTe,tTe,AZ,KZ,WZ,nTe,OZ,LZ,zZ,BZ,rTe,_Z,HZ,jZ,oTe,aTe,zH,bf,qZ,iTe,sTe,lTe,VZ,YZ,dTe,bR,$Z,XZ,KF=U(()=>{AH();MZ();yR();Ot();cn();AH();RZ={mode:"filter",expression:[],hasInclusions:!1,requiresTags:!1,allRequireTags:!1,requireUnfinishedTasks:!1,excludeUnfinishedTasks:!1,includedTagTokens:[],nameTokens:[],tagTokens:[],dateRanges:[],requireTagged:!1,includeUntagged:!1,propertyTokens:[],excludePropertyTokens:[],requiresProperties:!1,excludeNameTokens:[],excludeTagTokens:[],folderTokens:[],excludeFolderTokens:[],extensionTokens:[],excludeExtensionTokens:[],excludeDateRanges:[],excludeTagged:!1},Xwe=new Map,Qwe=new Set(["and","or"]),Zwe=new Set(["has:task","has:tasks"]),UZ=".",BH=t=>Me(t.trim()),_H=t=>t.startsWith(UZ),Jwe=t=>{let e=!1,n=!1;for(let r=0;r<t.length;r+=1){let o=t[r];if(e){e=!1;continue}if(o==="\\"){e=!0;continue}if(o==='"'){n=!n;continue}if(o==="="&&!n)return r}return-1},OH=t=>{let e=t.trim();if(e.length<2||!e.startsWith('"')||!e.endsWith('"'))return t;let n="";for(let r=1;r<e.length-1;r+=1){let o=e[r];if(o==="\\"&&r+1<e.length-1){let a=e[r+1];if(a==='"'||a==="\\"){n+=a,r+=1;continue}}n+=o}return n},LH=t=>{let e="";for(let n=0;n<t.length;n+=1){let r=t[n];if(r!=="\\"||n+1>=t.length){e+=r;continue}let o=t[n+1];if(o==="="||o==="\\"||o==='"'){e+=o,n+=1;continue}e+=r}return e},VF=t=>{if(!_H(t))return null;let e=t.slice(UZ.length);if(!e)return null;let n=Jwe(e);if(n===-1){let s=BH(LH(OH(e)));return s?{key:s,value:null}:null}let r=LH(OH(e.slice(0,n))),o=LH(OH(e.slice(n+1))),a=BH(r);if(!a)return null;let i=rr(o);return i?{key:a,value:i}:{key:a,value:null}},DZ=t=>({key:To(t.key),value:t.value===null?null:To(t.value)});eTe=t=>t.hasTagOperand&&!t.hasNonTagOperand&&!t.hasInvalidToken,tTe=t=>t&&t.charAt(0)==="-"?"-":null,AZ=t=>Zwe.has(t),KZ="folder:",WZ="ext:",nTe=t=>{if(!t)return null;let e=t.trim().replace(/\\/g,"/").replace(/\/+/g,"/");if(!e)return null;if(e.startsWith("/")){let r=e.replace(/\/+$/u,"");if(!r)return{mode:"exact",value:""};let o=r.replace(/^\/+/u,"");return o?{mode:"exact",value:o}:{mode:"exact",value:""}}let n=e.replace(/^\/+/u,"").replace(/\/+$/u,"");return!n||n.includes("/")?null:{mode:"segment",value:n}},OZ=t=>t.startsWith(KZ),LZ=t=>nTe(t.slice(KZ.length)),zZ=t=>t.startsWith(WZ),BZ=t=>{let e=t.slice(WZ.length).trim();if(!e)return null;let n=e.replace(/^\.+/u,"");if(!n||n.includes("/")||n.includes("\\"))return null;let r=n.split(".").filter(Boolean),o=r.length>0?r[r.length-1]:"";return o||null},rTe=t=>{if(!t)return"";let e=t;return e.includes("\\")&&(e=e.replace(/\\/g,"/")),e.startsWith("/")&&(e=e.replace(/^\/+/u,"")),e.endsWith("/")&&(e=e.replace(/\/+$/u,"")),e},_Z=(t,e,n)=>n.mode==="exact"?t===n.value:!n.value||!t?!1:(e??t.split("/").filter(Boolean)).some(o=>o.includes(n.value)),HZ=(t,e)=>!t||!e?!1:t===e,jZ=t=>{let e=[],n=!1,r=!1,o=!1;for(let a of t){if(!a)continue;let i=a.toLowerCase(),s=null,l=()=>(s!==null||(s=Lu(i)),s);if(i==="and"){e.push({kind:"operator",operator:"AND"});continue}if(i==="or"){e.push({kind:"operator",operator:"OR"});continue}if(tTe(i)!==null){let u=i.slice(1),p=null,m=()=>(p!==null||(p=Lu(u)),p);if(!u){o=!0;continue}if(AZ(u)){e.push({kind:"unfinishedTaskNegation"}),r=!0;continue}if(u.startsWith("@")){if(DH(u)){let g=RH(u);g&&(e.push({kind:"dateNegation",range:g}),r=!0);continue}r=!0,e.push({kind:"nameNegation",value:m()});continue}if(OZ(u)){let g=LZ(u);g&&(e.push({kind:"folderNegation",value:{...g,value:Lu(g.value)}}),r=!0);continue}if(zZ(u)){let g=BZ(u);g&&(e.push({kind:"extensionNegation",value:Lu(g)}),r=!0);continue}if(_H(u)){let g=VF(u);g&&(e.push({kind:"propertyNegation",value:DZ(g)}),n=!0);continue}if(u.startsWith("#")){let g=u.slice(1);e.push({kind:"tagNegation",value:g.length>0?Lu(g):null}),n=!0;continue}r=!0,e.push({kind:"nameNegation",value:m()});continue}if(AZ(i)){e.push({kind:"unfinishedTask"}),r=!0;continue}if(i.startsWith("@")){if(DH(i)){let u=RH(i);u&&(e.push({kind:"date",range:u}),r=!0);continue}r=!0,e.push({kind:"name",value:l()});continue}if(OZ(i)){let u=LZ(i);u&&(e.push({kind:"folder",value:{...u,value:Lu(u.value)}}),r=!0);continue}if(zZ(i)){let u=BZ(i);u&&(e.push({kind:"extension",value:Lu(u)}),r=!0);continue}if(_H(i)){let u=VF(i);u&&(e.push({kind:"property",value:DZ(u)}),n=!0);continue}if(i.startsWith("#")){let u=i.slice(1);e.push({kind:"tag",value:u.length>0?Lu(u):null}),n=!0;continue}r=!0,e.push({kind:"name",value:l()})}return{tokens:e,hasTagOperand:n,hasNonTagOperand:r,hasInvalidToken:o}},oTe=(t,e,n,r)=>{let o=[],a=[],i=[],s=[],l=[],c=[],u=[],p=[],m=[],g=[],f=[],h=!1,b=!1,v=!1;for(let P of t)switch(P.kind){case"name":o.push(P.value);break;case"nameNegation":p.push(P.value);break;case"tag":P.value&&a.push(P.value),v=!0;break;case"property":i.push(P.value);break;case"folder":s.push(P.value);break;case"extension":l.push(P.value);break;case"date":c.push(P.range);break;case"unfinishedTask":h=!0;break;case"unfinishedTaskNegation":b=!0;break;case"operator":u.push(P.operator.toLowerCase());break;case"tagNegation":break;case"propertyNegation":break;case"folderNegation":m.push(P.value);break;case"extensionNegation":g.push(P.value);break;case"dateNegation":f.push(P.range);break}u.length>0&&o.push(...u);let y=o.length>0||a.length>0||i.length>0||s.length>0||l.length>0||c.length>0||v||h,S=v||a.length>0,w=i.length>0,k=y?S:!1,F=a.slice();return{mode:"filter",expression:[],hasInclusions:y,requiresTags:S,allRequireTags:k,requireUnfinishedTasks:h,excludeUnfinishedTasks:b,includedTagTokens:F,propertyTokens:i,excludePropertyTokens:n,requiresProperties:w,nameTokens:o,tagTokens:a,dateRanges:c,requireTagged:v,includeUntagged:r,excludeNameTokens:p,excludeTagTokens:e,folderTokens:s,excludeFolderTokens:m,extensionTokens:l,excludeExtensionTokens:g,excludeDateRanges:f,excludeTagged:r}};aTe=t=>t.kind==="tag"||t.kind==="tagNegation"||t.kind==="property"||t.kind==="propertyNegation",zH=t=>t.value===null?Gn(t.key):sa(t.key,t.value);bf=t=>t?Qwe.has(t.toLowerCase()):!1,qZ=t=>{let e=t.trim();if(!e)return!0;let n=UF(e),r=!1;for(let o of n){let a=o.toLowerCase();if(bf(a))continue;let i=a.startsWith("-")?a.slice(1):a;if(!i)return!1;if(i.startsWith("#")){r=!0;continue}if(VF(i)){r=!0;continue}return!1}return r},iTe=t=>t.replace(/\\/g,"\\\\").replace(/"/g,'\\"'),sTe=t=>/\s/.test(t)||t.includes('"')||t.includes("\\")||t.includes("="),lTe=(t,e=!1)=>{let n="";for(let r of t)(r==="\\"||r==="="||e&&r==='"')&&(n+="\\"),n+=r;return n},VZ=t=>{let e=sTe(t),n=lTe(t,e);return e?`"${n}"`:n},YZ=(t,e=!1)=>{let n=e?"-.":".",r=VZ(t.key);if(t.value===null)return`${n}${r}`;let o=VZ(t.value);return`${n}${r}=${o}`},dTe=t=>{let e=t.toLowerCase();if(e.startsWith("-.")||e.startsWith(".")){let n=e.startsWith("-."),r=n?e.slice(1):e,o=VF(r);if(o)return YZ(o,n)}return/\s/.test(t)||t.includes('"')||t.includes("\\")?`"${iTe(t)}"`:t},bR=t=>t.map(e=>dTe(e)).join(" ").trim(),$Z=(t,e,n)=>{let r=t.slice();if(r.splice(e,1),!n)return r;let o=e-1;for(o>=0&&bf(r[o])&&r.splice(o,1);r.length>0&&bf(r[0]);)r.shift();for(let a=0;a<r.length-1;a+=1)bf(r[a])&&bf(r[a+1])&&(r.splice(a+1,1),a-=1);for(;r.length>0&&bf(r[r.length-1]);)r.pop();return r},XZ=(t,e,n,r)=>{let o=t.slice();if(!r)return o.push(e),o;let a=n==="OR"?"OR":"AND";return o.length===0?o.push(e):bf(o[o.length-1])?(o[o.length-1]=a,o.push(e)):o.push(a,e),o}});function UH(t){return t.trim().toLowerCase()}function KH(t){return t.normalize("NFD").replace(pTe,"")}function iJ(t){return cTe.test(t)}function oJ(t,e){return e.startsWith(t)||t.startsWith(e)}function vTe(t){return uTe.test(t)}function yTe(t,e,n,r){return n.length===0?!1:t.length===1?n.some(o=>o===t)?!0:vTe(t)?n.some(o=>o.includes(t)):!1:n.some(o=>o===t||oJ(t,o))?!0:r.some(o=>o===e||oJ(e,o))}function aJ(t,e,n,r){return!t||!iJ(t)?!1:yTe(t,e,n,r)}function bTe(t){return t.replace(mTe,(e,n)=>typeof n=="string"&&n.length>0?n:" ")}function STe(t){return UH(t).replace(hTe,"").replace(fTe,"").trim()}function VH(t,e,n){let r=STe(n);!r||!iJ(r)||r==="path"||r==="ext"||r.startsWith("path:")||r.startsWith("ext:")||e.has(r)||(e.add(r),t.push(r))}function wTe(t){let e=[],n=new Set;return bTe(t).replace(gTe,(a,i,s)=>{let l=typeof i=="string"?i:s;return typeof l=="string"&&l.length>0&&(VH(e,n,l),l.split(rJ).forEach(c=>VH(e,n,c)))," "}).split(rJ).forEach(a=>VH(e,n,a)),e}function sJ(t){let e=wTe(t);return{queryTokens:e,foldedQueryTokens:e.map(n=>KH(n))}}function lJ(t,e,n){let{queryTokens:r,foldedQueryTokens:o}=n;if(r.length===0)return{matches:[],terms:[]};let a=[],i=[],s=new Set,l=new Set,c=new Set,u=new Set;for(let p of t){let m=UH(p.text);if(!m)continue;let g=KH(m);!(Number.isFinite(p.offset)&&Number.isFinite(p.length)&&p.offset>=0&&p.length>0)||!aJ(m,g,r,o)||(a.push(p),s.add(m),l.add(g))}for(let p of e){let m=UH(p);if(!m)continue;let g=KH(m);aJ(m,g,r,o)&&(s.has(m)||l.has(g)||c.has(m)||u.has(g)||(c.add(m),u.add(g),i.push(p)))}return{matches:a,terms:i}}var rJ,cTe,uTe,pTe,mTe,gTe,hTe,fTe,dJ=U(()=>{rJ=/\s+/,cTe=/[\p{L}\p{N}]/u,uTe=/^[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}]$/u,pTe=/\p{M}+/gu,mTe=/(^|\s)-?(?:path|ext)\s*:\s*(?:"[^"]*"|'[^']*'|[^\s]+)/gi,gTe=/"([^"]+)"|'([^']+)'/g,hTe=/^["'`]+|["'`]+$/g,fTe=/^[-+]+/});function PTe(t){return t.map(e=>To(It(e))).filter(e=>e.length>0)}function CTe(t){if(!t||t.length===0)return TTe;let e=new Map;t.forEach(r=>{let o=To(r.fieldKey.trim());if(!o)return;let a=e.get(o);a||(a=new Set,e.set(o,a));let i=rr(r.value);i&&a.add(To(i))});let n=new Map;return e.forEach((r,o)=>{n.set(o,Array.from(r))}),n}function cJ({basePathSet:t,omnisearchPathScope:e,omnisearchService:n,trimmedQuery:r,useOmnisearch:o}){let[a,i]=(0,yu.useState)(null),s=(0,yu.useRef)(0);return(0,yu.useEffect)(()=>{o||i(null)},[o]),(0,yu.useEffect)(()=>{if(!o)return;if(!n){i(null);return}let l=++s.current,c=!1;return Q(async()=>{try{let u=await n.search(r,{pathScope:e});if(c||s.current!==l)return;let p=new Map,m=[],g=sJ(r);u.forEach(f=>{if(!t.has(f.path))return;m.push(f.file);let{matches:h,terms:b}=lJ(f.matches,f.foundWords,g),v=typeof f.excerpt=="string"?Ab.normalizeExcerpt(f.excerpt,{stripHtml:!1}):void 0;p.set(f.path,{score:f.score,terms:b,matches:h,excerpt:v})}),i({query:r,files:m,meta:p})}catch{s.current===l&&i({query:r,files:[],meta:new Map})}}),()=>{c=!0}},[t,e,n,r,o]),a}function uJ({app:t,baseFiles:e,getFileDisplayName:n}){let[r,o]=(0,yu.useState)(new Map);return(0,yu.useEffect)(()=>{let a=new Map;e.forEach(i=>{a.set(i.path,To(n(i)))}),o(a)},[e,n]),(0,yu.useEffect)(()=>{let a=new Set(e.map(s=>s.path)),i=t.metadataCache.on("changed",s=>{if(!s||!a.has(s.path))return;let l=To(n(s));o(c=>{if(c.get(s.path)===l)return c;let u=new Map(c);return u.set(s.path,l),u})});return()=>{t.metadataCache.offref(i)}},[t.metadataCache,e,n]),r}function pJ({app:t,baseFiles:e,getDB:n,getFileTimestamps:r,omnisearchResult:o,searchTokens:a,searchableNames:i,settings:s,sortOption:l,trimmedQuery:c,useOmnisearch:u}){if(!c)return e;if(u){if(!o||o.query!==c)return[];let P=new Set(o.files.map(T=>T.path));return P.size===0?[]:e.filter(T=>P.has(T.path))}let p=a??Sf(c);if(!SR(p))return e;let m=p.dateRanges.length>0||p.excludeDateRanges.length>0,g=p.requireUnfinishedTasks||p.excludeUnfinishedTasks,f=p.folderTokens.length>0||p.excludeFolderTokens.length>0,h=p.extensionTokens.length>0||p.excludeExtensionTokens.length>0,b=qC(l,s.alphabeticalDateMode??"modified"),v=eJ(p),y=tJ(p),S=nJ(p),w=p.mode==="tag"||p.tagTokens.length>0||p.excludeTagTokens.length>0,k=n(),F=[];return e.filter(P=>{let T=i.get(P.path)??"",I=g||v||y?k.getFile(P.path):null,N=g&&typeof I?.taskUnfinished=="number"&&I.taskUnfinished>0,O=g||f||h,K;if(O&&(K={hasUnfinishedTasks:N},f&&(K.foldedFolderPath=To(P.parent?.path??"")),h&&(K.foldedExtension=To(P.extension))),y){let D=CTe(I?.properties??null);K?K={...K,propertyValuesByKey:D}:K={hasUnfinishedTasks:N,propertyValuesByKey:D}}if(!v){if(!HH(T,F,p,K))return!1;if(!m)return!0;let D=r(P);return vR({created:D.created,modified:D.modified,defaultField:b},p)}let G=Pr({app:t,file:P,db:k,fileData:I}),X=G.length>0;if(S&&!X)return!1;let L;if(X?w?L=PTe(G):L=kTe:L=F,!HH(T,L,p,K))return!1;if(!m)return!0;let V=r(P);return vR({created:V.created,modified:V.modified,defaultField:b},p)})}function mJ({app:t,files:e,getDB:n,hiddenFileNames:r,hiddenFilePropertyMatcher:o,hiddenFileTags:a,hiddenFolders:i,hideDrawingPreviewImages:s,showHiddenItems:l}){if(!l||e.length===0)return FTe;let c=n(),u=c.getFiles(e.map(w=>w.path)),p=i.length>0,m=o.hasCriteria,g=r.length>0,f=a.length>0,h=g?FN(r):null,b=f?Br(a,!1):null,v=p?new Map:null,y=new Map,S=w=>{if(!v||!w)return!1;if(v.has(w.path))return v.get(w.path)??!1;let k=ei(w,i);return v.set(w.path,k),k};return e.forEach(w=>{let k=u.get(w.path),F=!1;m&&w.extension==="md"&&(F=k?.metadata?.hidden===void 0?Xo(w,o,t):!!k.metadata?.hidden);let P=h?h.matches(w):!1,T=p?S(w.parent??null):!1,I=Qu(t,w,{hideDrawingPreviewImages:s}),N=b!==null&&b.hasHiddenRules&&w.extension==="md"&&Pr({app:t,file:w,db:c,fileData:k??null}).some(O=>!b.isTagVisible(O));(F||P||T||I||N)&&y.set(w.path,!0)}),y}var yu,TTe,kTe,FTe,gJ=U(()=>{yu=ue(ze());KF();Rn();L_();Sn();dJ();Ot();cn();Yr();Dr();ot();gl();TTe=new Map,kTe=["__nn_tag_present__"],FTe=new Map});function WH(t){return t.split("/").filter(Boolean)}function hJ(t,e){let n=WH(t);return n.length>0?n[n.length-1]:e}function fJ(t,e){let n=WH(t),r=WH(e);if(n.length===0||r.length===0)return[];let o=Math.max(0,n.length-r.length);return r.map((a,i)=>({label:a,path:n.slice(0,o+i+1).join("/")}))}function vJ({app:t,dayKey:e,fileVisibility:n,files:r,getDB:o,getFileTimestamps:a,hiddenFileState:i,hiddenTags:s,listConfig:l,collapsedListGroups:c,searchMetaMap:u,selectedFolder:p,selectedTag:m=null,selectedProperty:g=null,selectionType:f,showHiddenItems:h,sortOption:b,propertySortKey:v="",isManualSortActive:y=!1,manualSortGroupHeaderPropertyKey:S=null,wordCountTargetProperty:w=""}){let k=[{type:en.TOP_SPACER,data:"",key:"top-spacer"}],F=f===W.TAG?W.TAG:f===W.FOLDER?W.FOLDER:f===W.PROPERTY?W.PROPERTY:void 0,P=o(),T=l.filterPinnedByFolder&&f===W.FOLDER&&p?{restrictToFolderPath:p.path}:void 0,{pinnedFiles:I,unpinnedFiles:N}=Cz(r,l.pinnedNotes,F,T),O=l.showTags&&l.showFileTags,K=O?Br(s,h):null,G=O?Z=>{let ce=Pr({app:t,file:Z,db:P});return K?K.hasVisibleTags(ce):ce.length>0}:()=>!1,X=l.groupBy,L=p?.path??null,V=Z=>H7({selectionType:f,selectedFolderPath:L,selectedTag:m,selectedProperty:g,groupingMode:X,groupId:Z}),D=!1,A=null,_=null,E=0,R=Z=>gI(P.getFile(Z.path)?.wordCount),M=Z=>ET(P.getFile(Z.path)?.properties,w)??sI(t,Z,w),C=new Map,x=Z=>{if(X!=="custom"||!S||Z.extension!=="md")return null;if(C.has(Z.path))return C.get(Z.path)??null;let ce=zm(t,Z,S);return C.set(Z.path,ce),ce},z=null,H=()=>{z&&(z.item.data=GG(z.header,z.wordCount,z.targetWordCount),z.item.manualSortHeaderWordCount=z.wordCount,z.item.manualSortHeaderTargetWordCount=z.targetWordCount)},Y=(Z,ce={})=>{if(_?.groupFilePaths?.push(Z.path),z&&lp(z.header)&&Z.extension==="md"){if(z.wordCount+=R(Z),z.header.targetWordCount===null){let se=M(Z);se!==null&&(z.targetWordCount=(z.targetWordCount??0)+se)}H()}if(D)return;let ae={type:en.FILE,data:Z,parentFolder:p?.path,key:Z.path,fileIndex:E++,searchMeta:u.get(Z.path),hasTags:G(Z),isHidden:i.get(Z.path)??!1};k.push({...ae,...ce})},ee=({data:Z,key:ce,headerFolderPath:ae,headerFolderSegments:se,headerKind:ne,collapseKey:B,manualSortHeader:q,manualSortHeaderFilePath:ie,groupFiles:le})=>{if(D&&A!=="manual-sort-custom"&&ne==="manual-sort-custom")return;let Te=B?c?.has(B)===!0:!1;D=Te,A=Te?ne??null:null,k.length>1&&k.push({type:en.HEADER_SPACER,data:"",key:`${ce}-spacer-before`});let Fe={type:en.HEADER,data:Z,headerFolderPath:ae,headerFolderSegments:se,manualSortHeaderFilePath:ie,groupFilePaths:le?le.map(te=>te.path):[],manualSortHeaderShowsWordCount:q?lp(q):void 0,manualSortHeader:q,manualSortHeaderWordCount:q?0:void 0,manualSortHeaderTargetWordCount:q?q.targetWordCount:void 0,headerKind:ne,collapseKey:B,isCollapsed:Te,key:ce};k.push(Fe),_=le?null:Fe,z=null,ne==="manual-sort-custom"&&q&&(z={item:Fe,header:q,wordCount:0,targetWordCount:q.targetWordCount},H())},$=Z=>{let ce=x(Z);ce&&ee({data:ce.title,manualSortHeader:ce,manualSortHeaderFilePath:Z.path,headerKind:"manual-sort-custom",collapseKey:V(`manual-sort-custom:${Z.path}`),key:`manual-sort-custom-header-${Z.path}`})},j=(Z,ce={})=>{$(Z),Y(Z,ce)};I.length>0&&(ee({data:d.listPane.pinnedSection,key:gw,headerKind:"pinned",groupFiles:I}),l.pinnedGroupExpanded&&I.forEach(Z=>{j(Z,{isPinned:!0})}));let J=X==="date"&&bh(b),re=X==="folder"&&f===W.FOLDER,oe=Jl(b)&&y&&v.trim().length>0;if(!J&&!re){let Z=[],ce=[];oe?N.forEach(ne=>{if(ne.extension==="md"&&RT(t,ne,v)===null){ce.push(ne);return}Z.push(ne)}):Z.push(...N);let ae=Z[0]??null,se=X==="custom"&&ae!==null&&x(ae)!==null;if(I.length>0&&Z.length>0&&!se){let ne=n===Er.DOCUMENTS?d.listPane.notesSection:d.listPane.filesSection;ee({data:ne,key:`header-${ne}`,headerKind:"section",groupFiles:Z})}Z.forEach(ne=>{j(ne)}),ce.length>0&&(ee({data:d.listPane.unsortedSection,collapseKey:V("section:unsorted"),key:"header-unsorted",headerKind:"section",groupFiles:ce}),ce.forEach(ne=>{j(ne)}))}else if(J){let Z=zr.parseLocalDayKey(e)??new Date,ce=$A(b),ae=null;N.forEach(se=>{let ne=a(se),B=ce==="ctime"?ne.created:ne.modified,q=zr.getDateGroupInfo(B,Z),ie=q.key;ie!==ae&&(ae=ie,ee({data:q.label,collapseKey:V(`date:${ce}:${ie}`),key:`header-${q.label}`,headerKind:"date"})),Y(se)})}else{let Z=p?.path??null,ce=p?.name??null,ae=Z&&Z!=="/"?`${Z}/`:null,se=d.navigationPane.vaultRootLabel,ne=l.folderGroupSortOrder,B=l.showFolderGroupPaths,q=new Map,ie=(ve,Ie,qe)=>{let xe=(0,wf.normalizePath)(ve);return{label:B?Ie:hJ(Ie,qe),sortLabel:Ie,folderPath:xe,folderSegments:B?fJ(xe,Ie):void 0}},le=ve=>{let Ie=ve.parent;if(!(Ie instanceof wf.TFolder))return{key:"folder:/",label:se,sortLabel:se,isCurrentFolder:!1,folderPath:null};if(f===W.FOLDER&&Z){if(Ie.path===Z){let Ce=ce??Ie.name;return{key:`folder:${Z}`,label:Ce,sortLabel:Ce,isCurrentFolder:!0,folderPath:Z==="/"?null:Z}}if(Z==="/"&&Ie.path!=="/"){let Ce=ie(Ie.path,Ie.path,Ie.name);return{key:`folder:/${Ie.path}`,label:Ce.label,sortLabel:Ce.sortLabel,isCurrentFolder:!1,folderPath:Ce.folderPath,folderSegments:Ce.folderSegments}}if(ae&&Ie.path.startsWith(ae)){let Ce=Ie.path.slice(ae.length);if(Ce.length>0){let vt=ie(Ie.path,Ce,Ie.name);return{key:`folder:${Ie.path}`,label:vt.label,sortLabel:vt.sortLabel,isCurrentFolder:!1,folderPath:vt.folderPath,folderSegments:vt.folderSegments}}}}let qe=Ie.path==="/"?"":Ie.path,[xe]=qe.split("/");return xe&&xe.length>0?{key:`folder:/${xe}`,label:B?xe:hJ(xe,xe),sortLabel:xe,isCurrentFolder:!1,folderPath:xe,folderSegments:B?fJ(xe,xe):void 0}:{key:"folder:/",label:se,sortLabel:se,isCurrentFolder:!1,folderPath:null}};N.forEach(ve=>{let Ie=le(ve),qe=q.get(Ie.key);if(qe){qe.files.push(ve);return}q.set(Ie.key,{label:Ie.label,sortLabel:Ie.sortLabel,files:[ve],isCurrentFolder:Ie.isCurrentFolder,folderPath:Ie.folderPath,folderSegments:Ie.folderSegments})});let Te=Array.from(q.entries()).map(([ve,Ie])=>({key:ve,...Ie})).sort((ve,Ie)=>{let qe=ju(ve.sortLabel,Ie.sortLabel,ne);return qe!==0?qe:ve.key===Ie.key?0:ve.key<Ie.key?-1:1}),ke=Te.find(ve=>ve.isCurrentFolder)??null,Fe=Te.filter(ve=>!ve.isCurrentFolder),te=ke!==null&&(l.showCurrentFolderFilesAtBottom&&(I.length>0||Fe.length>0)||!l.showCurrentFolderFilesAtBottom&&I.length>0),pe=ve=>{ve.files.length!==0&&(ve.isCurrentFolder?te&&ee({data:d.listPane.filesSection,key:`header-${ve.key}-current-folder-boundary`,headerKind:"section",groupFiles:ve.files}):ee({data:ve.label,collapseKey:V(ve.key),headerFolderPath:ve.folderPath,headerFolderSegments:ve.folderSegments,key:`header-${ve.key}`,headerKind:"folder",groupFiles:ve.files}),ve.files.forEach(Ie=>{Y(Ie)}))};ke&&!l.showCurrentFolderFilesAtBottom&&pe(ke),Fe.forEach(pe),ke&&l.showCurrentFolderFilesAtBottom&&pe(ke)}return k.push({type:en.BOTTOM_SPACER,data:"",key:"bottom-spacer"}),k}function yJ(t){let e=new Map;return t.forEach((n,r)=>{n.type===en.FILE&&n.data instanceof wf.TFile&&e.set(n.data.path,r)}),e}function bJ(t){let e=new Map;return t.forEach((n,r)=>{e.set(n.path,r)}),e}function SJ(t){let e=[],n=new Map;return t.forEach(r=>{r.type===en.FILE&&r.data instanceof wf.TFile&&(n.set(r.data.path,e.length),e.push(r.data))}),{orderedFiles:e,orderedFileIndexMap:n}}function wJ(t,e,n){for(let r of t)if(!(r.type!==en.HEADER||!r.groupFilePaths?.includes(e))){if(r.key===gw){if(!n)return{type:"pinned"};continue}if(r.collapseKey&&r.isCollapsed===!0)return{type:"list-group",collapseKey:r.collapseKey}}return null}var wf,jH=U(()=>{wf=require("obsidian");Ue();Ee();Mr();Rn();ak();wi();Am();Dr();Sn();Zl();Z_()});function TJ(t){let{dayKey:e,file:n,files:r,groupBy:o,sortOption:a}=t;if(r.length===0)return null;let i;if(a==="modified-desc")i=r[0];else if(a==="modified-asc")i=r[r.length-1];else return null;if(i?.path!==n.path)return null;let s=o==="date"?zr.getDateGroupInfo(n.stat.mtime,zr.parseLocalDayKey(e)??void 0).key:"ungrouped";return`${a}\0${o}\0${s}\0${r.length}`}function NTe(t){return!t.hasDateSearchFilters&&!t.showFileDate&&!t.showTooltips&&t.boundaryRefreshKey!==null&&t.previousBoundaryRefreshKey===t.boundaryRefreshKey}function ITe(t,e,n){if(!n)return!1;let r=t.parent,o=n.path;return r?.path===o?!0:e?o==="/"?!0:!!(r?.path&&r.path.startsWith(`${o}/`)):!1}function FJ({app:t,basePathSet:e,commandQueue:n,customGroupHeaderFilePaths:r,dayKey:o,files:a,getDB:i,groupBy:s,hasDateSearchFilters:l,hasManualSortWordCountGroupHeaders:c,hasTaskSearchFilters:u,hiddenFilePropertyMatcher:p,hiddenFileTags:m,includeDescendantNotes:g,manualSortGroupHeaderPropertyKey:f,onRefresh:h,propertyTreeService:b,selectedFolder:v,selectedProperty:y,selectedTag:S,selectionType:w,settings:k,shouldRefreshOnCustomGroupHeaderMetadataChange:F,showHiddenItems:P,sortOption:T,propertySortKey:I,propertySortSecondary:N}){let O=(0,bu.useRef)(h),K=(0,bu.useRef)(!1),G=(0,bu.useRef)(!1),X=(0,bu.useRef)(!1),L=(0,bu.useRef)(new Map);(0,bu.useEffect)(()=>{O.current=h},[h]),(0,bu.useEffect)(()=>{if(L.current.clear(),a.length===0||T!=="modified-desc"&&T!=="modified-asc")return;let V=T==="modified-desc"?a[0]:a[a.length-1];if(!V)return;let D=TJ({dayKey:o,file:V,files:a,groupBy:s,sortOption:T});D!==null&&L.current.set(V.path,D)},[o,a,s,T]),(0,bu.useEffect)(()=>{let V=()=>{G.current=!1,X.current=!1,O.current()},D=(0,kJ.debounce)(V,Lt.FILE_OPERATION_DELAY,!0),A=()=>!!n?.hasActiveOperation("delete-files"),_=()=>!!(n?.hasActiveOperation("move-file")||A());K.current=_();let E=()=>K.current||_(),R=()=>{if(!(!G.current||E())){if(X.current){D.cancel(),V();return}D()}},M=()=>{L.current.clear()},C=re=>{if(G.current=!0,re?.immediateWhenIdle&&(X.current=!0),!E()){if(X.current){D.cancel(),V();return}D()}},x=null;n&&(x=n.onOperationChange((re,oe)=>{(re==="move-file"||re==="delete-files")&&(K.current=oe,oe||R())})),R();let z=null;w===W.PROPERTY&&y&&b&&(z=b.addTreeUpdateListener(()=>{C()}));let H=XK(T,N),Y=QK({sortOption:T,propertySortKey:I,propertySortSecondary:N,useFrontmatterMetadata:k.useFrontmatterMetadata,frontmatterNameField:k.frontmatterNameField,frontmatterCreatedField:k.frontmatterCreatedField,frontmatterModifiedField:k.frontmatterModifiedField}),ee=[t.vault.on("create",()=>{M(),C()}),t.vault.on("delete",()=>{M(),C({immediateWhenIdle:A()})}),t.vault.on("rename",()=>{M(),C()}),t.vault.on("modify",re=>{if(!H||!(re instanceof GH.TFile)||!e.has(re.path))return;let oe=TJ({dayKey:o,file:re,files:a,groupBy:s,sortOption:T});if(oe!==null){let Z=L.current.get(re.path);if(L.current.set(re.path,oe),NTe({previousBoundaryRefreshKey:Z,boundaryRefreshKey:oe,hasDateSearchFilters:l,showFileDate:k.showFileDate,showTooltips:k.showTooltips}))return}else L.current.delete(re.path);C()})],$=t.metadataCache.on("changed",re=>{if(!(re instanceof GH.TFile))return;let oe=()=>{if(!p.hasCriteria||re.extension!=="md")return!1;let ae=!!i().getFile(re.path)?.metadata?.hidden;return Xo(re,p,t)!==ae};if(w===W.TAG&&S){if(re.extension!=="md")return;if(!P&&oe()){C();return}Y&&e.has(re.path)&&C();return}if(w===W.PROPERTY&&y){if(re.extension!=="md")return;if(!P&&oe()){C();return}Y&&e.has(re.path)&&C();return}if(!(w!==W.FOLDER||!ITe(re,g,v))){if(F&&re.extension==="md"&&e.has(re.path)){let Z=r.has(re.path),ce=f!==null&&zm(t,re,f)!==null;if(Z||ce){C();return}}if(p.hasCriteria&&re.extension==="md"&&oe()){C();return}if(c&&k.wordCountTargetProperty.trim().length>0&&re.extension==="md"&&e.has(re.path)){C();return}Y&&re.extension==="md"&&e.has(re.path)&&C()}}),J=i().onContentChange(re=>{let oe=!1,Z=w===W.PROPERTY&&y,ce=re.some(se=>se.changes.tags!==void 0),ae=re.some(se=>se.changes.properties!==void 0);if(ce||ae){let se=w===W.TAG&&S,ne=w===W.FOLDER&&v;if(se&&ce)oe=!0;else if(ne&&ce&&v){let B=v.path,q=B==="/",ie=m.length>0;oe=re.some(le=>{if(!ie)return e.has(le.path);if(q)return!0;if(!g){let Te=le.path.lastIndexOf("/");return(Te===-1?"/":le.path.slice(0,Te))===B}return le.path.startsWith(`${B}/`)})}else if(Z){if(ae)oe=!0;else if(ce){let B=re.some(ie=>e.has(ie.path)),q=m.length>0&&!P;oe=B||q}}}!oe&&p.hasCriteria&&(oe=re.some(se=>se.metadataHiddenChanged===!0&&e.has(se.path))),!oe&&(u||k.showFileBackgroundUnfinishedTask)&&(oe=re.some(se=>se.changes.taskUnfinished!==void 0&&e.has(se.path))),!oe&&c&&(oe=re.some(se=>(se.changes.wordCount!==void 0||se.changes.properties!==void 0)&&e.has(se.path))),oe&&C()});return()=>{ee.forEach(re=>t.vault.offref(re)),t.metadataCache.offref($),J(),x?.(),z?.(),D.cancel()}},[t,e,n,r,o,a,i,s,l,c,u,p,m,g,f,b,v,y,S,w,F,k.frontmatterCreatedField,k.frontmatterModifiedField,k.frontmatterNameField,I,N,k.showFileBackgroundUnfinishedTask,k.showFileDate,k.showTooltips,k.useFrontmatterMetadata,k.wordCountTargetProperty,P,T])}var bu,GH,kJ,PJ=U(()=>{bu=ue(ze()),GH=require("obsidian"),kJ=require("obsidian");jr();yz();Yr();Rn();Ue();wi();Zl()});function CJ({selectionType:t,selectedFolder:e,selectedTag:n,selectedProperty:r,settings:o,activeProfile:a,groupBy:i,pinnedGroupExpanded:s,collapsedListGroups:l,searchProvider:c,searchQuery:u,searchTokens:p,visibility:m,propertySortOrderOverride:g}){let{app:f,tagTreeService:h,propertyTreeService:b,commandQueue:v,omnisearchService:y}=gt(),{getFileTimestamps:S,getDB:w,getFileDisplayName:k}=xo(),{includeDescendantNotes:F,showHiddenItems:P}=m,T=hR(),[I,N]=(0,na.useState)(0),O=u?.trim()??"",K=O.length>0,G=y?.isAvailable()??!1,X=c==="omnisearch"&&G&&K,L=(0,na.useMemo)(()=>{if(!O||X)return null;let xe=p??Sf(O);return SR(xe)?xe:null},[O,X,p]),V=L!==null&&(L.requireUnfinishedTasks||L.excludeUnfinishedTasks),D=L!==null&&(L.dateRanges.length>0||L.excludeDateRanges.length>0),A=(0,na.useMemo)(()=>{if(!(t!==W.FOLDER||!e))return e.path},[t,e]),{hiddenFolders:_,hiddenFileProperties:E,hiddenFileNames:R,hiddenTags:M,hiddenFileTags:C,fileVisibility:x}=a,z=(0,na.useMemo)(()=>po(E),[E]),H=t===W.FOLDER?e?.path??null:null,Y=Sh(o,t,e,n,r),ee=o.folderTreeSortOverrides?.[H??"/"]??o.folderSortOrder,$=(0,na.useMemo)(()=>({pinnedNotes:o.pinnedNotes,filterPinnedByFolder:o.filterPinnedByFolder,pinnedGroupExpanded:s,showTags:o.showTags,showFileTags:o.showFileTags,showFolderGroupPaths:o.showFolderGroupPaths,showCurrentFolderFilesAtBottom:o.showCurrentFolderFilesAtBottom,groupBy:i,folderGroupSortOrder:ee}),[o.filterPinnedByFolder,ee,i,s,o.pinnedNotes,o.showCurrentFolderFilesAtBottom,o.showFolderGroupPaths,o.showFileTags,o.showTags]),j=(0,na.useMemo)(()=>pl(o,Y),[o,Y]),J=j.option,re=(0,na.useMemo)(()=>ST(a.propertyKeys),[a.propertyKeys]),oe=(0,na.useMemo)(()=>ca({selectionType:t,selectedFolder:e,selectedTag:n,selectedProperty:r},o,m,f,h,b),[t,e,n,r,a.profile.id,a.hiddenFolders,a.hiddenFileProperties,a.hiddenFileNames,a.hiddenTags,a.hiddenFileTags,a.fileVisibility,o.enableFolderNotes,o.hideFolderNoteInList,o.hideDrawingPreviewImages,o.folderNoteName,o.folderNoteNamePattern,o.useFrontmatterMetadata,o.frontmatterNameField,o.frontmatterCreatedField,o.frontmatterModifiedField,o.frontmatterDateFormat,o.filterPinnedByFolder,o.pinnedNotes,o.defaultFolderSort,o.propertySortKey,o.manualSortPropertyKey,o.propertySortSecondary,re,o.showProperties,Y,b,F,P,f,h,I]),Z=(0,na.useMemo)(()=>new Set(oe.map(xe=>xe.path)),[oe]),ce=cJ({basePathSet:Z,omnisearchPathScope:A,omnisearchService:y,trimmedQuery:O,useOmnisearch:X}),ae=uJ({app:f,baseFiles:oe,getFileDisplayName:k}),se=(0,na.useMemo)(()=>({alphabeticalDateMode:o.alphabeticalDateMode}),[o.alphabeticalDateMode]),ne=(0,na.useMemo)(()=>pJ({app:f,baseFiles:oe,getDB:w,getFileTimestamps:S,omnisearchResult:ce,searchTokens:p,searchableNames:ae,settings:se,sortOption:J,trimmedQuery:O,useOmnisearch:X}),[f,oe,w,S,se,ce,p,ae,J,O,X]),B=(0,na.useMemo)(()=>!g||g.length===0?ne:lI(ne,g),[ne,g]),q=(0,na.useMemo)(()=>mJ({app:f,files:B,getDB:w,hiddenFileNames:R,hiddenFilePropertyMatcher:z,hiddenFileTags:C,hiddenFolders:_,hideDrawingPreviewImages:o.hideDrawingPreviewImages,showHiddenItems:P}),[B,w,_,z,R,C,o.hideDrawingPreviewImages,P,f]),ie=(0,na.useMemo)(()=>X&&ce?ce.meta:xTe,[X,ce]),le=(0,na.useMemo)(()=>as({manualSortPropertyKey:o.manualSortPropertyKey},j.propertyKey),[o.manualSortPropertyKey,j.propertyKey]),Te=sd(o),ke=i==="custom"&&Te!==null,Fe=(0,na.useMemo)(()=>vJ({app:f,dayKey:T,fileVisibility:x,files:B,getDB:w,getFileTimestamps:S,hiddenFileState:q,hiddenTags:M,listConfig:$,collapsedListGroups:l,searchMetaMap:ie,selectedFolder:e,selectedTag:n,selectedProperty:r,selectionType:t,showHiddenItems:P,sortOption:J,propertySortKey:j.propertyKey,isManualSortActive:le,manualSortGroupHeaderPropertyKey:Te,wordCountTargetProperty:o.wordCountTargetProperty}),[f,T,x,B,w,S,q,M,$,l,e,n,r,t,ie,P,J,j.propertyKey,le,Te,o.wordCountTargetProperty]),te=(0,na.useMemo)(()=>yJ(Fe),[Fe]),pe=(0,na.useMemo)(()=>bJ(B),[B]),{orderedFiles:ve,orderedFileIndexMap:Ie}=(0,na.useMemo)(()=>SJ(Fe),[Fe]),qe=(0,na.useMemo)(()=>{let xe=new Set,Ce=!1;return Fe.forEach(vt=>{vt.type!==en.HEADER||vt.headerKind!=="manual-sort-custom"||(vt.manualSortHeaderFilePath&&xe.add(vt.manualSortHeaderFilePath),vt.manualSortHeaderShowsWordCount===!0&&(Ce=!0))}),{filePaths:xe,hasWordCountGroupHeaders:Ce}},[Fe]);return FJ({app:f,basePathSet:Z,commandQueue:v,customGroupHeaderFilePaths:qe.filePaths,dayKey:T,files:B,getDB:w,groupBy:i,hasDateSearchFilters:D,hasManualSortWordCountGroupHeaders:qe.hasWordCountGroupHeaders,hasTaskSearchFilters:V,hiddenFilePropertyMatcher:z,hiddenFileTags:C,includeDescendantNotes:F,manualSortGroupHeaderPropertyKey:Te,onRefresh:()=>N(xe=>xe+1),propertyTreeService:b,selectedFolder:e,selectedProperty:r,selectedTag:n,selectionType:t,settings:o,shouldRefreshOnCustomGroupHeaderMetadataChange:ke,showHiddenItems:P,sortOption:J,propertySortKey:j.propertyKey,propertySortSecondary:j.propertySortSecondary}),{listItems:Fe,orderedFiles:ve,orderedFileIndexMap:Ie,filePathToIndex:te,fileIndexMap:pe,files:B,hiddenFileState:q,searchMeta:ie,localDayKey:T}}var na,xTe,NJ=U(()=>{na=ue(ze());mn();Xi();xH();Ue();Yr();KF();ai();Rn();wi();dn();gJ();jH();PJ();xTe=new Map});function IJ(t,e,n){let r=new Array(t);return new Proxy(r,{get(o,a,i){if(typeof a=="string"){let s=a.charCodeAt(0);if(s>=48&&s<=57){let l=+a;if(Number.isInteger(l)&&l>=0&&l<t){let c=o[l];if(!c){let u=e[l*2];c=o[l]={index:l,key:n(l),start:u,size:e[l*2+1],end:u+e[l*2+1],lane:0}}return c}}if(a==="length")return t}return Reflect.get(o,a,i)}})}var xJ=U(()=>{});function Tf(t,e,n){let r=n.initialDeps??[],o,a=!0;function i(){var s;let c=0,u=t();if(!(u.length!==r.length||u.some((g,f)=>r[f]!==g)))return o;r=u;let m=0;return o=e(...u),n?.onChange&&!(a&&n.skipInitialOnChange)&&n.onChange(o),a=!1,o}return i.updateDeps=s=>{r=s},i}function qH(t,e){if(t===void 0)throw new Error(`Unexpected undefined${e?`: ${e}`:""}`);return t}var EJ,MJ,RJ=U(()=>{EJ=(t,e)=>Math.abs(t-e)<1.01,MJ=(t,e,n)=>{let r;return function(...o){t.clearTimeout(r),r=t.setTimeout(()=>e.apply(this,o),n)}}});function LTe({measurements:t,outerSize:e,scrollOffset:n,lanes:r,flat:o}){let a=t.length-1,i=o?u=>o[u*2]:u=>t[u].start,s=o?u=>o[u*2]+o[u*2+1]:u=>t[u].end;if(t.length<=r)return{startIndex:0,endIndex:a};let l=zJ(0,a,i,n),c=l;if(r===1)for(;c<a&&s(c)<n+e;)c++;else if(r>1){let u=Array(r).fill(0);for(;c<a&&u.some(m=>m<n+e);){let m=t[c];u[m.lane]=m.end,c++}let p=Array(r).fill(n+e);for(;l>=0&&p.some(m=>m>=n);){let m=t[l];p[m.lane]=m.start,l--}l=Math.max(0,l-l%r),c=Math.min(a,c+(r-1-c%r))}return{startIndex:l,endIndex:c}}var WF,YH,DJ,ETe,MTe,AJ,wR,RTe,DTe,OJ,ATe,OTe,LJ,TR,zJ,$H=U(()=>{xJ();RJ();YH=()=>{if(WF!==void 0)return WF;if(typeof navigator>"u")return WF=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return WF=!0;let t=navigator.maxTouchPoints;return WF=navigator.platform==="MacIntel"&&t!==void 0&&t>0},DJ=t=>{let{offsetWidth:e,offsetHeight:n}=t;return{width:e,height:n}},ETe=t=>t,MTe=t=>{let e=Math.max(t.startIndex-t.overscan,0),r=Math.min(t.endIndex+t.overscan,t.count-1)-e+1,o=new Array(r);for(let a=0;a<r;a++)o[a]=e+a;return o},AJ=(t,e)=>{let n=t.scrollElement;if(!n)return;let r=t.targetWindow;if(!r)return;let o=i=>{let{width:s,height:l}=i;e({width:Math.round(s),height:Math.round(l)})};if(o(DJ(n)),!r.ResizeObserver)return()=>{};let a=new r.ResizeObserver(i=>{let s=()=>{let l=i[0];if(l?.borderBoxSize){let c=l.borderBoxSize[0];if(c){o({width:c.inlineSize,height:c.blockSize});return}}o(DJ(n))};t.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(s):s()});return a.observe(n,{box:"border-box"}),()=>{a.unobserve(n)}},wR={passive:!0},RTe=typeof window>"u"?!0:"onscrollend"in window,DTe=(t,e,n)=>{let r=t.scrollElement;if(!r)return;let o=t.targetWindow;if(!o)return;let a=t.options.useScrollendEvent&&RTe,i=0,s=a?null:MJ(o,()=>e(i,!1),t.options.isScrollingResetDelay),l=p=>()=>{i=n(r),s?.(),e(i,p)},c=l(!0),u=l(!1);return r.addEventListener("scroll",c,wR),a&&r.addEventListener("scrollend",u,wR),()=>{r.removeEventListener("scroll",c),a&&r.removeEventListener("scrollend",u)}},OJ=(t,e)=>DTe(t,e,n=>{let{horizontal:r,isRtl:o}=t.options;return r?n.scrollLeft*(o&&-1||1):n.scrollTop}),ATe=(t,e,n)=>{if(n.options.useCachedMeasurements){let r=n.indexFromElement(t),o=n.options.getItemKey(r);return n.itemSizeCache.get(o)??n.options.estimateSize(r)}if(e?.borderBoxSize){let r=e.borderBoxSize[0];if(r)return Math.round(r[n.options.horizontal?"inlineSize":"blockSize"])}if(!e){let r=n.indexFromElement(t),o=n.options.getItemKey(r),a=n.itemSizeCache.get(o);if(a!==void 0)return a}return t[n.options.horizontal?"offsetWidth":"offsetHeight"]},OTe=(t,{adjustments:e=0,behavior:n},r)=>{var o,a;(a=(o=r.scrollElement)==null?void 0:o.scrollTo)==null||a.call(o,{[r.options.horizontal?"left":"top"]:t+e,behavior:n})},LJ=OTe,TR=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var n,r,o;return((o=(r=(n=this.targetWindow)==null?void 0:n.performance)==null?void 0:r.now)==null?void 0:o.call(r))??Date.now()},this.observer=(()=>{let n=null,r=()=>n||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:n=new this.targetWindow.ResizeObserver(o=>{o.forEach(a=>{let i=()=>{let s=a.target,l=this.indexFromElement(s);if(!s.isConnected){this.observer.unobserve(s);for(let[c,u]of this.elementsCache)if(u===s){this.elementsCache.delete(c);break}return}this.shouldMeasureDuringScroll(l)&&this.resizeItem(l,this.options.measureElement(s,a,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(i):i()})}));return{disconnect:()=>{var o;(o=r())==null||o.disconnect(),n=null},observe:o=>{var a;return(a=r())==null?void 0:a.observe(o,{box:"border-box"})},unobserve:o=>{var a;return(a=r())==null?void 0:a.unobserve(o)}}})(),this.range=null,this.setOptions=n=>{var r,o;let a={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:ETe,rangeExtractor:MTe,onChange:()=>{},measureElement:ATe,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,anchorTo:"start",followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",useCachedMeasurements:!1};for(let m in n){let g=n[m];g!==void 0&&(a[m]=g)}let i=this.options,s=null,l=null,c=!1;if(i!==void 0&&i.enabled&&a.enabled&&a.anchorTo==="end"&&this.scrollElement!==null){let m=i.count,g=a.count,f=this.getMeasurements(),h=m>0?((r=f[0])==null?void 0:r.key)??i.getItemKey(0):null,b=m>0?((o=f[m-1])==null?void 0:o.key)??i.getItemKey(m-1):null;if(g!==m||m>0&&g>0&&(a.getItemKey(0)!==h||a.getItemKey(g-1)!==b)){c=!0;let S=m>0?this.getVirtualItemForOffset(this.getScrollOffset())??f[0]:null;S&&(s=[S.key,this.getScrollOffset()-S.start]);let w=a.followOnAppend===!0?"auto":a.followOnAppend||null;w&&g>m&&this.isAtEnd(i.scrollEndThreshold)&&(m===0||a.getItemKey(g-1)!==b)&&(l=w)}}this.options=a,c&&(this.pendingMin=0,this.itemSizeCacheVersion++);let u=!1,p=0;if(s&&this.scrollOffset!==null){let[m,g]=s,f=this.getMeasurements(),{count:h,getItemKey:b}=this.options,v=0;for(;v<h&&b(v)!==m;)v++;if(v<h){let y=f[v];if(y){let S=y.start+g;S!==this.scrollOffset&&(p=S-this.scrollOffset,this.scrollOffset=S,u=!0)}}}(u||l)&&(this.pendingScrollAnchor=[u?s[0]:null,u?s[1]:0,l,p])},this.notify=n=>{var r,o;(o=(r=this.options).onChange)==null||o.call(r,this,n)},this.maybeNotify=Tf(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),n=>{this.notify(n)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(n=>n()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var n;let r=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==r){if(this.cleanup(),!r){this.maybeNotify();return}if(this.scrollElement=r,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((n=this.scrollElement)==null?void 0:n.window)??null,this.elementsCache.forEach(a=>{this.observer.observe(a)}),this.unsubs.push(this.options.observeElementRect(this,a=>{this.scrollRect=a,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(a,i)=>{this._intendedScrollOffset!==null&&Math.abs(a-this._intendedScrollOffset)<1.5&&(a=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0,this.scrollDirection=i?this.getScrollOffset()<a?"forward":"backward":null,this.scrollOffset=a,this.isScrolling=i,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),"addEventListener"in this.scrollElement){let a=this.scrollElement,i=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},s=()=>{this._iosTouching=!1,!(!YH()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};a.addEventListener("touchstart",i,wR),a.addEventListener("touchend",s,wR),this.unsubs.push(()=>{a.removeEventListener("touchstart",i),a.removeEventListener("touchend",s),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let o=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,o&&this.scrollElement&&this.options.enabled){let[a,i,s,l]=o;a!==null&&!s&&(YH()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?l!==0&&(this._iosDeferredAdjustment+=l):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),s&&this.scrollToEnd({behavior:s})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let n=this.getScrollOffset(),r=this.getMaxScrollOffset();if(n<0||n>r)return;let o=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(n,{adjustments:this.scrollAdjustments+=o,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(n,r)=>{let o=new Map,a=new Map;for(let i=r-1;i>=0;i--){let s=n[i];if(o.has(s.lane))continue;let l=a.get(s.lane);if(l==null||s.end>l.end?a.set(s.lane,s):s.end<l.end&&o.set(s.lane,!0),o.size===this.options.lanes)break}return a.size===this.options.lanes?Array.from(a.values()).sort((i,s)=>i.end===s.end?i.index-s.index:i.end-s.end)[0]:void 0},this.getMeasurementOptions=Tf(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode],(n,r,o,a,i,s,l)=>(this.prevLanes!==void 0&&this.prevLanes!==s&&(this.lanesChangedFlag=!0),this.prevLanes=s,this.pendingMin=null,{count:n,paddingStart:r,scrollMargin:o,getItemKey:a,enabled:i,lanes:s,laneAssignmentMode:l}),{key:!1}),this.getMeasurements=Tf(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:n,paddingStart:r,scrollMargin:o,getItemKey:a,enabled:i,lanes:s,laneAssignmentMode:l},c)=>{let u=this.itemSizeCache;if(!i)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>n)for(let f of this.laneAssignments.keys())f>=n&&this.laneAssignments.delete(f);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(f=>{this.itemSizeCache.set(f.key,f.size)}));let p=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===n&&(this.lanesSettling=!1),s===1){let f=this.options.gap,h=n*2,b=this._flatMeasurements;if(!b||b.length<h){let S=new Float64Array(h);b&&p>0&&S.set(b.subarray(0,p*2)),b=S,this._flatMeasurements=b}let v;if(p===0)v=r+o;else{let S=p-1;v=b[S*2]+b[S*2+1]+f}for(let S=p;S<n;S++){let w=a(S),k=u.get(w),F=typeof k=="number"?k:this.options.estimateSize(S);b[S*2]=v,b[S*2+1]=F,v+=F+f}let y=IJ(n,b,a);return this.measurementsCache=y,y}let m=this.measurementsCache.slice(0,p),g=new Array(s).fill(void 0);for(let f=0;f<p;f++){let h=m[f];h&&(g[h.lane]=f)}for(let f=p;f<n;f++){let h=a(f),b=this.laneAssignments.get(f),v,y,S=l==="estimate"||u.has(h);if(b!==void 0&&this.options.lanes>1){v=b;let P=g[v],T=P!==void 0?m[P]:void 0;y=T?T.end+this.options.gap:r+o}else{let P=this.options.lanes===1?m[f-1]:this.getFurthestMeasurement(m,f);y=P?P.end+this.options.gap:r+o,v=P?P.lane:f%this.options.lanes,this.options.lanes>1&&S&&this.laneAssignments.set(f,v)}let w=u.get(h),k=typeof w=="number"?w:this.options.estimateSize(f),F=y+k;m[f]={index:f,start:y,size:k,end:F,key:h,lane:v},g[v]=f}return this.measurementsCache=m,m},{key:!1,debug:()=>this.options.debug}),this.calculateRange=Tf(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(n,r,o,a)=>this.range=n.length>0&&r>0?LTe({measurements:n,outerSize:r,scrollOffset:o,lanes:a,flat:a===1&&this._flatMeasurements!=null?this._flatMeasurements:null}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=Tf(()=>{let n=null,r=null,o=this.calculateRange();return o&&(n=o.startIndex,r=o.endIndex),this.maybeNotify.updateDeps([this.isScrolling,n,r]),[this.options.rangeExtractor,this.options.overscan,this.options.count,n,r]},(n,r,o,a,i)=>a===null||i===null?[]:n({startIndex:a,endIndex:i,overscan:r,count:o}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=n=>{let r=this.options.indexAttribute,o=n.getAttribute(r);return o?parseInt(o,10):(console.warn(`Missing attribute name '${r}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=n=>{var r;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;let o=this.scrollState.index??((r=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:r.index);if(o!==void 0&&this.range){let a=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),i=Math.max(0,o-a),s=Math.min(this.options.count-1,o+a);return n>=i&&n<=s}return!0},this.measureElement=n=>{if(!n){this.elementsCache.forEach((i,s)=>{i.isConnected||(this.observer.unobserve(i),this.elementsCache.delete(s))});return}let r=this.indexFromElement(n),o=this.options.getItemKey(r),a=this.elementsCache.get(o);a!==n&&(a&&this.observer.unobserve(a),this.observer.observe(n),this.elementsCache.set(o,n)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(r)&&this.resizeItem(r,this.options.measureElement(n,void 0,this))},this.resizeItem=(n,r)=>{var o,a;if(n<0||n>=this.options.count)return;let i,s,l,c=this._flatMeasurements;if(this.options.lanes===1&&c!==null)l=this.options.getItemKey(n),s=c[n*2],i=c[n*2+1];else{let m=this.measurementsCache[n];if(!m)return;l=m.key,s=m.start,i=m.size}let u=this.itemSizeCache.get(l)??i,p=r-u;if(p!==0){let m=this.options.anchorTo==="end"&&((o=this.scrollState)==null?void 0:o.behavior)!=="smooth"&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,g=m?this.getTotalSize():0,f=((a=this.scrollState)==null?void 0:a.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[n]??{index:n,key:l,start:s,size:i,end:s+i,lane:0},p,this):s<this.getScrollOffset()+this.scrollAdjustments&&(!this.itemSizeCache.has(l)||this.scrollDirection!=="backward"));(this.pendingMin===null||n<this.pendingMin)&&(this.pendingMin=n),this.itemSizeCache.set(l,r),this.itemSizeCacheVersion++,m?this.applyScrollAdjustment(this.getTotalSize()-g):f&&this.applyScrollAdjustment(p),this.notify(!1)}},this.getVirtualItems=Tf(()=>[this.getVirtualIndexes(),this.getMeasurements()],(n,r)=>{let o=[];for(let a=0,i=n.length;a<i;a++){let s=n[a],l=r[s];o.push(l)}return o},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=n=>{let r=this.getMeasurements();if(r.length===0)return;let o=this._flatMeasurements,a=this.options.lanes===1&&o!=null,i=zJ(0,r.length-1,a?s=>o[s*2]:s=>qH(r[s]).start,n);return qH(r[i])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let n=this.scrollElement.document.documentElement;return this.options.horizontal?n.scrollWidth-this.scrollElement.innerWidth:n.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(n=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=n,this.getOffsetForAlignment=(n,r,o=0)=>{if(!this.scrollElement)return 0;let a=this.getSize(),i=this.getScrollOffset();r==="auto"&&(r=n>=i+a?"end":"start"),r==="center"?n+=(o-a)/2:r==="end"&&(n-=a);let s=this.getMaxScrollOffset();return Math.max(Math.min(s,n),0)},this.getOffsetForIndex=(n,r="auto")=>{n=Math.max(0,Math.min(n,this.options.count-1));let o=this.getSize(),a=this.getScrollOffset(),i=this.measurementsCache[n];if(!i)return;if(r==="auto")if(i.end>=a+o-this.options.scrollPaddingEnd)r="end";else if(i.start<=a+this.options.scrollPaddingStart)r="start";else return[a,r];if(r==="end"&&n===this.options.count-1)return[this.getMaxScrollOffset(),r];let s=r==="end"?i.end+this.options.scrollPaddingEnd:i.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(s,r,i.size),r]},this.scrollToOffset=(n,{align:r="start",behavior:o="auto"}={})=>{let a=this.getOffsetForAlignment(n,r),i=this.now();this.scrollState={index:null,align:r,behavior:o,startedAt:i,lastTargetOffset:a,stableFrames:0},this._scrollToOffset(a,{adjustments:void 0,behavior:o}),this.scheduleScrollReconcile()},this.scrollToIndex=(n,{align:r="auto",behavior:o="auto"}={})=>{n=Math.max(0,Math.min(n,this.options.count-1));let a=this.getOffsetForIndex(n,r);if(!a)return;let[i,s]=a,l=this.now();this.scrollState={index:n,align:s,behavior:o,startedAt:l,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:o}),this.scheduleScrollReconcile()},this.scrollBy=(n,{behavior:r="auto"}={})=>{let o=this.getScrollOffset()+n,a=this.now();this.scrollState={index:null,align:"start",behavior:r,startedAt:a,lastTargetOffset:o,stableFrames:0},this._scrollToOffset(o,{adjustments:void 0,behavior:r}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:n="auto"}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:"end",behavior:n});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:n})},this.getTotalSize=()=>{var n;let r=this.getMeasurements(),o;if(r.length===0)o=this.options.paddingStart;else if(this.options.lanes===1){let a=r.length-1,i=this._flatMeasurements;i!=null?o=i[a*2]+i[a*2+1]:o=((n=r[a])==null?void 0:n.end)??0}else{let a=Array(this.options.lanes).fill(null),i=r.length-1;for(;i>=0&&a.some(s=>s===null);){let s=r[i];a[s.lane]===null&&(a[s.lane]=s.end),i--}o=Math.max(...a.filter(s=>s!==null))}return Math.max(o-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let n=[];if(this.itemSizeCache.size===0)return n;let r=this.getMeasurements();for(let o of r)o&&this.itemSizeCache.has(o.key)&&n.push({index:o.index,key:o.key,start:o.start,size:o.size,end:o.end,lane:o.lane});return n},this._scrollToOffset=(n,{adjustments:r,behavior:o})=>{this._intendedScrollOffset=n+(r??0),this.options.scrollToFn(n,{behavior:o,adjustments:r},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}applyScrollAdjustment(e,n){e!==0&&(YH()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=e:this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=e,behavior:n}))}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let r=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,o=r?r[0]:this.scrollState.lastTargetOffset,a=1,i=o!==this.scrollState.lastTargetOffset;if(!i&&EJ(o,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=a){this.getScrollOffset()!==o&&this._scrollToOffset(o,{adjustments:void 0,behavior:"auto"}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,i){let s=this.getSize()||600,l=Math.abs(o-this.getScrollOffset()),c=this.scrollState.behavior==="smooth"&&l>s;this.scrollState.lastTargetOffset=o,c||(this.scrollState.behavior="auto"),this._scrollToOffset(o,{adjustments:void 0,behavior:c?"smooth":"auto"})}this.scheduleScrollReconcile()}},zJ=(t,e,n,r)=>{for(;t<=e;){let o=(t+e)/2|0,a=n(o);if(a<r)t=o+1;else if(a>r)e=o-1;else return o}return t>0?t-1:0}});function zTe({useFlushSync:t=!0,directDomUpdates:e=!1,directDomUpdatesMode:n="transform",...r}){let o=Su.useReducer(c=>c+1,0)[1],a=Su.useRef({enabled:e,mode:n,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});a.current.enabled=e,a.current.mode=n;let i=c=>{let u=a.current;if(!u.enabled||!u.container)return;let p=c.getTotalSize();if(p!==u.lastSize){u.lastSize=p;let v=c.options.horizontal?"width":"height";u.container.style[v]=`${p}px`}let m=!!c.options.horizontal,g=u.mode==="transform",f=m?"left":"top",h=c.options.scrollMargin,b=c.getVirtualItems();for(let v of b){let y=v.start-h,S=c.elementsCache.get(v.key);S&&u.lastPositions.get(S)!==y&&(u.lastPositions.set(S,y),g?S.style.transform=m?`translate3d(${y}px, 0, 0)`:`translate3d(0, ${y}px, 0)`:S.style[f]=`${y}px`)}},s={...r,onChange:(c,u)=>{var p;let m=a.current,g=!0;if(m.enabled){i(c);let f=c.range,h=m.prevRange;g=!h||h.isScrolling!==c.isScrolling||h.startIndex!==f?.startIndex||h.endIndex!==f?.endIndex,g&&(m.prevRange=f?{startIndex:f.startIndex,endIndex:f.endIndex,isScrolling:c.isScrolling}:null)}g&&(t&&u?(0,BJ.flushSync)(o):o()),(p=r.onChange)==null||p.call(r,c,u)}},[l]=Su.useState(()=>{let c=new TR(s);return Object.assign(c,{containerRef:u=>{let p=a.current;if(p.container=u,p.lastSize=null,u&&p.enabled){let m=c.getTotalSize();p.lastSize=m;let g=c.options.horizontal?"width":"height";u.style[g]=`${m}px`}}})});return l.setOptions(s),XH(()=>l._didMount(),[]),XH(()=>l._willUpdate()),XH(()=>{i(l)}),l}function kR(t){return zTe({observeElementRect:AJ,observeElementOffset:OJ,scrollToFn:LJ,...t})}var Su,BJ,XH,QH=U(()=>{Su=ue(ze(),1),BJ=ue(pF(),1);$H();$H();XH=typeof document<"u"?Su.useLayoutEffect:Su.useEffect});function FR(t){switch(t){case"visibilityToggle":case"mobile-visibility":return"auto";case"selection":return ZH.Platform.isMobile?"center":"auto";case"reveal":case"external":return"auto";default:return"center"}}function _J(t){switch(t){case"folder-navigation":return ZH.Platform.isMobile?"center":"auto";case"visibility-change":return"auto";case"list-structure-change":return"auto";default:return"auto"}}function jF(t){if(!t)return-1;if(t.type==="top")return 0;switch(t.reason){case"list-structure-change":return 1;case"visibility-change":return 2;case"folder-navigation":return 3;case"reveal":return 4;default:return 1}}var ZH,JH=U(()=>{ZH=require("obsidian")});function VJ(t){return BTe[t]}function aS(t){return t?HTe:_Te}function eV(t,e){return t?.type===en.HEADER&&t.headerKind==="manual-sort-custom"&&t.manualSortHeader!==void 0&&Bh(t.manualSortHeader,t.manualSortHeaderTargetWordCount)?e.manualSortGoalHeaderHeight:e.groupHeaderHeight}function PR({selectionType:t,selectedTag:e,showSelectedNavigationPills:n}){return n||t!==W.TAG?null:Ze(e)}function CR({selectionType:t,selectedProperty:e,showSelectedNavigationPills:n}){return n||t!==W.PROPERTY||!e||!kn(e)?.valuePath?null:Gt(e)??e}function UJ({tags:t,hiddenTagVisibility:e,selectedTagToHide:n}){for(let r of t)if(!(e?.shouldFilterHiddenTags&&!e.isTagVisible(r))&&!(n&&Ze(r)===n))return!0;return!1}function tV({properties:t,visiblePropertyKeys:e,hiddenPropertyValueNodeId:n,visitor:r}){if(!(!t||t.length===0))for(let o of t){let a=Me(o.fieldKey);if(e&&!e.has(a))continue;let i=o.value;if(i.trim().length===0)continue;let s=rr(i),l=o.valueKind==="boolean"?!1:NN(s,o.valueKind);if(o.valueKind===void 0&&l)continue;let c=o.fieldKey.trim(),u=c.length===0?void 0:l?Gn(c):sa(c,s),p=u?Gt(u)??u:void 0;if(n&&p===n)continue;if(r({entry:o,trimmedFieldKey:c,rawValue:i,normalizedValuePath:s,isKeyOnlyValue:l,propertyNodeId:p})===!1)return}}function KJ(t,e){if(e)return t;let n=t.split("/").filter(r=>r.length>0);return n.length===0?t:n[n.length-1]}function nV({isCompactMode:t=!1,showDate:e,showPreview:n,isPinned:r,hasPreviewContent:o,showFeatureImageArea:a,showExtensionBadgeThumbnail:i=!1,hasVisiblePillRows:s}){let l=a&&!i,c=r&&l,u=!o&&s;return{isCompactMode:t,shouldShowMultilinePreview:n&&!u&&(o||l),shouldReplaceEmptyPreviewWithPills:u,shouldShowDateForItem:e&&!r,isPinnedImageRow:c}}function VTe({heights:t,titleRows:e,previewRows:n,layoutState:r,showFeatureImageArea:o,showExtensionBadgeThumbnail:a,showParentFolderLine:i,visiblePillRowCount:s}){let l=t.titleLineHeight*e,c=Math.max(0,s),u=c>0,p=r.shouldShowMultilinePreview,m=p?t.multilineTextLineHeight*n:0,g=r.shouldShowDateForItem||i?t.singleTextLineHeight:0,f=g>0?1:0,h=f+c,b=o&&!a,y=r.shouldReplaceEmptyPreviewWithPills&&b?t.multilineTextLineHeight*n:0,S=!p&&!b,w=G=>o?Math.max(G,t.featureImageMinHeight):G;if(S&&h===0)return t.basePadding+w(l);if(S&&h<=1){let G=Math.max(f>0?t.singleTextLineHeight:0,u?t.tagRowHeight:0);return t.basePadding+w(l+G)}let k=Math.max(m,y),F=b&&!r.isPinnedImageRow,P=F?t.singleTextLineHeight:g,T=F&&g===0?P:0,I=l+k+P,N=t.tagRowHeight*c,O=y+T,K=Math.max(0,N-O);return t.basePadding+w(I+K)}function WJ(t,e){let{heights:n,titleRows:r,previewRows:o,compactPaddingTotal:a}=e,i=Math.max(0,t.visiblePillRowCount),s=nV({isCompactMode:e.isCompactMode,showDate:e.showDate,showPreview:e.showPreview,isPinned:t.isPinned,hasPreviewContent:t.hasPreviewContent,showFeatureImageArea:t.showFeatureImageArea,showExtensionBadgeThumbnail:t.showExtensionBadgeThumbnail,hasVisiblePillRows:i>0});if(s.isCompactMode){let l=n.titleLineHeight*r+n.tagRowHeight*i;return a+l}return VTe({heights:n,titleRows:r,previewRows:t.isPinned?1:o,layoutState:s,showFeatureImageArea:t.showFeatureImageArea,showExtensionBadgeThumbnail:t.showExtensionBadgeThumbnail,showParentFolderLine:t.showParentFolderLine,visiblePillRowCount:i})}function NR({showParentFolder:t,isPinned:e,selectionType:n,includeDescendantNotes:r,parentFolder:o,fileParentPath:a}){return!t||e||!a||a==="/"?!1:n==="tag"||n==="property"?!0:r&&!!o&&a!==o}function IR({showImage:t,file:e,featureImageStatus:n,hasFeatureImageUrl:r,showDrawingFeatureImage:o}){return!t||!e?!1:r||e.extension==="canvas"||e.extension==="base"||Ms(e)||o?!0:n==="has"}function xR({showFeatureImageArea:t,file:e,hasFeatureImageUrl:n,showDrawingMissingFeatureImage:r}){return!t||!e||n?!1:r?!0:e.extension==="canvas"||e.extension==="base"}function UTe({properties:t,visiblePropertyKeys:e,hiddenPropertyValueNodeId:n}){if(!t||t.length===0)return jJ;let r=HJ.get(t);r||(r={unfiltered:new Map,filtered:new WeakMap},HJ.set(t,r));let o;if(!e)o=r.unfiltered;else{let p=r.filtered.get(e);p?o=p:(o=new Map,r.filtered.set(e,o))}let a=n??"",i=o.get(a);if(i)return i;let s=!1,l=!1,c=new Set;tV({properties:t,visiblePropertyKeys:e,hiddenPropertyValueNodeId:n,visitor:({trimmedFieldKey:p})=>{if(s=!0,p.length===0){l=!0;return}c.add(p)}});let u={hasVisiblePills:s,separateRowCount:c.size+(l?1:0)};return o.set(a,u),u}function GJ({showTextCountProperty:t,showFileProperties:e,showPropertiesOnSeparateRows:n,showFilePropertiesInCompactMode:r,isCompactMode:o,file:a,wordCount:i,characterCount:s,properties:l,visiblePropertyKeys:c,hiddenPropertyValueNodeId:u}){if(!a||a.extension!=="md"||o&&!r)return 0;let p=t&&typeof i=="number"&&Number.isFinite(i)&&i>0,m=t&&typeof s=="number"&&Number.isFinite(s)&&s>0,g=e?UTe({properties:l,visiblePropertyKeys:c,hiddenPropertyValueNodeId:u}):jJ;if(!p&&!m&&!g.hasVisiblePills)return 0;let f=p||m?1:0,h=0;return n?g.hasVisiblePills&&(h=g.separateRowCount):h=g.hasVisiblePills?1:0,h===0?f:n?h+f:1+f}var BTe,_Te,HTe,jJ,HJ,iS=U(()=>{Ue();Mr();cn();Ot();Sn();wi();BTe=Object.freeze({64:{listMaxSize:64},96:{listMaxSize:96},128:{listMaxSize:128}}),_Te=Object.freeze({basePadding:16,titleLineHeight:20,singleTextLineHeight:19,multilineTextLineHeight:18,tagRowHeight:26,featureImageMinHeight:42,groupHeaderHeight:27,manualSortGoalHeaderHeight:32,groupHeaderSpacerBefore:20,fileIconSize:16,topSpacer:8,bottomSpacer:20}),HTe=Object.freeze({basePadding:24,titleLineHeight:21,singleTextLineHeight:20,multilineTextLineHeight:19,tagRowHeight:26,featureImageMinHeight:42,groupHeaderHeight:35,manualSortGoalHeaderHeight:40,groupHeaderSpacerBefore:20,fileIconSize:20,topSpacer:8,bottomSpacer:20});jJ={hasVisiblePills:!1,separateRowCount:0},HJ=new WeakMap});function sS(t,e=!0){let[n,r]=(0,ER.useState)(()=>sT());return(0,ER.useEffect)(()=>{if(!e)return;let o=()=>{r(i=>{let s=sT();return i===s?i:s})},a=$W(t,o);return o(),a},[t,e]),n}var ER,MR=U(()=>{ER=ue(ze());lO()});function KTe(t,e){if(t===e)return!0;if(t.size!==e.size)return!1;for(let[n,r]of e)if(t.get(n)!==r)return!1;return!0}function WTe(t){let{matcher:e}=t;return JSON.stringify({shouldFilterHiddenTags:t.shouldFilterHiddenTags,matcher:{prefixes:e.prefixes,startsWithNames:e.startsWithNames,endsWithNames:e.endsWithNames,pathPatterns:e.pathPatterns}})}function jTe({topSpacerHeight:t,folderSettings:e,settings:n,themeMode:r,selectionType:o,selectedTagToHide:a,selectedPropertyValueNodeIdToHide:i,includeDescendantNotes:s,hiddenTagVisibilitySignature:l,visiblePropertyKeySignature:c,listMeasurements:u}){return JSON.stringify({spacers:{topSpacerHeight:t},environment:{themeMode:r},appearance:{mode:e.mode,titleRows:e.titleRows,previewRows:e.previewRows,groupBy:e.groupBy,showDate:e.showDate,showPreview:e.showPreview,showImage:e.showImage},rowContent:{showFileProperties:n.showFileProperties,showFilePropertiesInCompactMode:n.showFilePropertiesInCompactMode,showPropertiesOnSeparateRows:n.showPropertiesOnSeparateRows,textCountDisplay:n.textCountDisplay,textCountPlacement:n.textCountPlacement,characterCountSpaces:n.characterCountSpaces,showSelectedNavigationPills:n.showSelectedNavigationPills,visiblePropertyKeySignature:c,showParentFolder:n.showParentFolder,showTags:n.showTags,showFileTags:n.showFileTags,showFileTagsInCompactMode:n.showFileTagsInCompactMode,selectionType:o??null,selectedTagToHide:a,selectedPropertyValueNodeIdToHide:i,includeDescendantNotes:s,hiddenTagVisibilitySignature:l},rowSizing:{compactItemHeight:n.compactItemHeight,compactItemHeightScaleText:n.compactItemHeightScaleText},measurements:u})}function GTe({includeDescendantNotes:t,listLayoutSignature:e,groupBy:n,noteGrouping:r,stickyGroupHeaders:o,effectiveSort:a,propertySortKey:i,propertySortSecondary:s}){return JSON.stringify({includeDescendantNotes:t,listLayoutSignature:e,groupBy:n,noteGrouping:r,stickyGroupHeaders:o,effectiveSort:a,propertySortKey:i??null,propertySortSecondary:s})}function qTe(t,e){let{changes:n}=t;return!!(n.previewStatus!==void 0&&e.showPreview||(n.featureImageKey!==void 0||n.featureImageStatus!==void 0)&&e.showImage||n.tags!==void 0&&e.tagsBaseEnabled||n.properties!==void 0&&e.frontmatterPropertyRowsPossible||n.wordCount!==void 0&&e.showWordCountProperty||n.characterCountWithSpaces!==void 0&&e.showCharacterCountProperty&&e.characterCountSpaces==="include"||n.characterCountWithoutSpaces!==void 0&&e.showCharacterCountProperty&&e.characterCountSpaces==="exclude")}function YTe(t){let e=null;return{schedule(){e===null&&(e=window.requestAnimationFrame(()=>{e=null,t()}))},cancel(){e!==null&&(window.cancelAnimationFrame(e),e=null)}}}function $Te(t,e,n){let r=t[e];if(r?.type!==en.FILE||!(r.data instanceof rV.TFile))return 0;for(let o=e-1;o>=0;o-=1){let a=t[o];if(a?.type===en.HEADER)return eV(a,n)}return 0}function XTe(t,e){return e.showImage||e.propertyRowsPossible?!0:e.tagsBaseEnabled&&!!t.hasTags&&e.selectedTagToHide!==null}function QTe({app:t,db:e,hasPreview:n,item:r,file:o,config:a}){let i=null;XTe(r,a)&&(i=e.getFile(o.path));let s=!1,l=!1;if(a.showPreview){o.extension==="md"&&(s=n(o.path));let v=r.searchMeta?.excerpt;l=typeof v=="string"&&v.length>0}let c=s||l,u=!1,p=!1;if(a.showImage){let v=jd(t,o);u=v?.showsFeatureImageBox??!1,p=u&&!v?.supportsCompanionImages?!0:u&&v?SN(t,o,v.providerId,a.themeMode)===null:!1}let m=IR({showImage:a.showImage,file:o,featureImageStatus:i?.featureImageStatus??null,showDrawingFeatureImage:u}),g=xR({showFeatureImageArea:m,file:o,showDrawingMissingFeatureImage:p}),f=!1;!p&&a.tagsBaseEnabled&&r.hasTags&&(a.selectedTagToHide?f=UJ({tags:Pr({app:t,file:o,db:e,fileData:i}),hiddenTagVisibility:a.hiddenTagVisibility,selectedTagToHide:a.selectedTagToHide}):f=!0);let h=NR({showParentFolder:a.showParentFolder,isPinned:!!r.isPinned,selectionType:a.selectionType,includeDescendantNotes:a.includeDescendantNotes,parentFolder:r.parentFolder,fileParentPath:o.parent?.path??null}),b=!p&&a.propertyRowsPossible?GJ({showTextCountProperty:a.showTextCountProperty,showFileProperties:a.showFileProperties,showPropertiesOnSeparateRows:a.showPropertiesOnSeparateRows,showFilePropertiesInCompactMode:a.showFilePropertiesInCompactMode,isCompactMode:a.isCompactMode,file:o,wordCount:a.showWordCountProperty?i?.wordCount??void 0:void 0,characterCount:a.showCharacterCountProperty?a.characterCountSpaces==="include"?i?.characterCountWithSpaces??void 0:i?.characterCountWithoutSpaces??void 0:void 0,properties:i?.properties??void 0,visiblePropertyKeys:a.visiblePropertyKeys,hiddenPropertyValueNodeId:a.selectedPropertyValueNodeIdToHide}):0;return{isPinned:!!r.isPinned,hasPreviewContent:c,showFeatureImageArea:m,showExtensionBadgeThumbnail:g,showParentFolderLine:h,visiblePillRowCount:(f?1:0)+b}}function qJ({enabled:t=!0,listItems:e,filePathToIndex:n,selectedFile:r,selectedFolder:o,selectedTag:a,selectedProperty:i,settings:s,folderSettings:l,isVisible:c,selectionState:u,selectionDispatch:p,searchQuery:m,suppressSearchTopScrollRef:g,topSpacerHeight:f,includeDescendantNotes:h,groupCollapseStateSignature:b,visiblePropertyKeys:v,visiblePropertyKeySignature:y,hiddenTagVisibility:S,scrollMargin:w=0,scrollPaddingEnd:k=0,onVirtualizerScrollingChange:F,onScrollContainerVisibilityChange:P}){let{app:T,isMobile:I}=gt(),N=aS(I),{hasPreview:O,getDB:K,isStorageReady:G}=xo(),X=sS(T),L=K(),V=(0,Wt.useMemo)(()=>eR({compactItemHeight:s.compactItemHeight,scaleText:s.compactItemHeightScaleText,titleLineHeight:N.titleLineHeight}),[N.titleLineHeight,s.compactItemHeight,s.compactItemHeightScaleText]),D=(0,Wt.useRef)(null),[A,_]=(0,Wt.useState)(null),[E,R]=(0,Wt.useState)(!1),M=(0,Wt.useRef)(!1),C=(0,Wt.useRef)(F),x=(0,Wt.useRef)(P),z=(0,Wt.useRef)(""),H=(0,Wt.useRef)(null),Y=(0,Wt.useRef)(void 0),ee=(0,Wt.useRef)(b),$=(0,Wt.useRef)(null),[j,J]=(0,Wt.useState)(0),re=(0,Wt.useRef)(r?r.path:null);re.current=r?.path??null;let oe=(0,Wt.useRef)(0),Z=(0,Wt.useRef)(n.size),ce=(0,Wt.useRef)(null),ae=(0,Wt.useRef)(null),se=(0,Wt.useRef)(!1);(0,Wt.useEffect)(()=>{C.current=F},[F]),(0,Wt.useEffect)(()=>{x.current=P},[P]);let ne=(0,Wt.useCallback)((Pe,ge)=>{R(be=>be===Pe?be:Pe),M.current!==Pe&&(M.current=Pe,!Pe&&se.current&&(se.current=!1,C.current?.(!1,ge)),x.current?.(Pe,ge))},[]),B=l.mode==="compact",q=s.revealFileOnListChanges,ie=!!r,le=(0,Wt.useMemo)(()=>PR({selectionType:u.selectionType,selectedTag:u.selectedTag,showSelectedNavigationPills:s.showSelectedNavigationPills}),[u.selectedTag,u.selectionType,s.showSelectedNavigationPills]),Te=(0,Wt.useMemo)(()=>CR({selectionType:u.selectionType,selectedProperty:u.selectedProperty,showSelectedNavigationPills:s.showSelectedNavigationPills}),[u.selectedProperty,u.selectionType,s.showSelectedNavigationPills]),ke=(0,Wt.useMemo)(()=>{let Pe=s.textCountDisplay!=="none"&&s.textCountPlacement==="property",ge=Pe&&il(s.textCountDisplay),be=Pe&&Gl(s.textCountDisplay),me=!B||s.showFilePropertiesInCompactMode,fe=s.showFileProperties&&v.size>0,we=me&&fe;return{heights:N,titleRows:l.titleRows||1,previewRows:l.previewRows,showDate:l.showDate,showPreview:l.showPreview,showImage:l.showImage,compactPaddingTotal:I?V.mobilePaddingTotal:V.desktopPaddingTotal,isCompactMode:B,tagsBaseEnabled:s.showTags&&s.showFileTags&&(!B||s.showFileTagsInCompactMode),frontmatterPropertyRowsPossible:we,propertyRowsPossible:me&&(fe||Pe),showTextCountProperty:Pe,showWordCountProperty:ge,showCharacterCountProperty:be,showFileProperties:s.showFileProperties,showPropertiesOnSeparateRows:s.showPropertiesOnSeparateRows,showFilePropertiesInCompactMode:s.showFilePropertiesInCompactMode,characterCountSpaces:s.characterCountSpaces,showParentFolder:s.showParentFolder,selectionType:u.selectionType,includeDescendantNotes:h,selectedTagToHide:le,selectedPropertyValueNodeIdToHide:Te,hiddenTagVisibility:S,visiblePropertyKeys:v,themeMode:X}},[V.desktopPaddingTotal,V.mobilePaddingTotal,l.previewRows,l.showDate,l.showImage,l.showPreview,l.titleRows,S,h,B,I,N,Te,le,u.selectionType,s.characterCountSpaces,s.showFileProperties,s.showFilePropertiesInCompactMode,s.showFileTags,s.showFileTagsInCompactMode,s.showParentFolder,s.showPropertiesOnSeparateRows,s.showTags,s.textCountDisplay,s.textCountPlacement,X,v]),Fe=(0,Wt.useCallback)(Pe=>e[Pe]?.key??Pe,[e]),te=Number.isFinite(w)&&w>0?w:0,pe=Number.isFinite(k)&&k>0?k:0,ve=kR({count:t?e.length:0,getItemKey:Fe,getScrollElement:()=>{if(!t)return null;let Pe=D.current;return Pe},enabled:t,scrollMargin:te,scrollPaddingStart:te,estimateSize:Pe=>{let ge=e[Pe],be=ke.heights;return ge.type===en.HEADER?eV(ge,be):ge.type===en.HEADER_SPACER?be.groupHeaderSpacerBefore:ge.type===en.TOP_SPACER?f:ge.type===en.BOTTOM_SPACER?be.bottomSpacer:ge.type===en.FILE&&ge.data instanceof rV.TFile?WJ(QTe({app:T,db:L,hasPreview:O,item:ge,file:ge.data,config:ke}),ke):be.titleLineHeight},overscan:GP,scrollPaddingEnd:pe,useScrollendEvent:!0,onChange:Pe=>{if(!t)return;let ge=Pe.isScrolling;ge&&!M.current||se.current!==ge&&(se.current=ge,C.current?.(ge,Pe.scrollElement))}}),Ie=(0,Wt.useRef)(()=>{});Ie.current=()=>ve.measure();let qe=(0,Wt.useRef)(null);qe.current===null&&(qe.current=YTe(()=>Ie.current()));let xe=(0,Wt.useCallback)(Pe=>{D.current=Pe,_(Pe),Pe||ne(!1,null)},[ne]);(0,Wt.useLayoutEffect)(()=>{let Pe=A;if(!t){ne(!1,Pe);return}if(!Pe){ne(!1,null);return}let ge=()=>{let me=Pe.getBoundingClientRect(),fe=me.width>0&&me.height>0;ne(fe,Pe)};if(ge(),typeof ResizeObserver>"u"){let me=()=>ge();return window.addEventListener("resize",me),()=>{window.removeEventListener("resize",me)}}let be=new ResizeObserver(me=>{let fe=me[0];if(!fe)return;let{width:we,height:Re}=fe.contentRect,nt=we>0&&Re>0;ne(nt,Pe)});return be.observe(Pe),()=>be.disconnect()},[t,ne,A]);let Ce=t&&c&&E,vt=(0,Wt.useMemo)(()=>WTe(S),[S]),Rt=(0,Wt.useMemo)(()=>({compactItemHeight:s.compactItemHeight,compactItemHeightScaleText:s.compactItemHeightScaleText,showFileProperties:s.showFileProperties,showFilePropertiesInCompactMode:s.showFilePropertiesInCompactMode,showPropertiesOnSeparateRows:s.showPropertiesOnSeparateRows,textCountDisplay:s.textCountDisplay,textCountPlacement:s.textCountPlacement,characterCountSpaces:s.characterCountSpaces,showFileTags:s.showFileTags,showFileTagsInCompactMode:s.showFileTagsInCompactMode,showParentFolder:s.showParentFolder,showSelectedNavigationPills:s.showSelectedNavigationPills,showTags:s.showTags}),[s.compactItemHeight,s.compactItemHeightScaleText,s.showFileProperties,s.showFilePropertiesInCompactMode,s.showPropertiesOnSeparateRows,s.textCountDisplay,s.textCountPlacement,s.characterCountSpaces,s.showFileTags,s.showFileTagsInCompactMode,s.showParentFolder,s.showSelectedNavigationPills,s.showTags]),Ve=(0,Wt.useMemo)(()=>jTe({topSpacerHeight:f,folderSettings:l,settings:Rt,themeMode:X,selectionType:u.selectionType,selectedTagToHide:le,selectedPropertyValueNodeIdToHide:Te,includeDescendantNotes:h,hiddenTagVisibilitySignature:vt,visiblePropertyKeySignature:y,listMeasurements:N}),[f,l,Rt,X,u.selectionType,le,Te,h,vt,y,N]),Ae=(0,Wt.useCallback)(()=>{t&&I&&D.current&&D.current.scrollTo({top:0,behavior:"smooth"})},[t,I]),Ke=(0,Wt.useCallback)(Pe=>{let ge=D.current;if(!ge)return;let be=ge.querySelector(`[data-index="${Pe}"]`);if(!(be instanceof HTMLElement))return;let me=ge.getBoundingClientRect(),fe=be.getBoundingClientRect(),we=s.stickyGroupHeaders?$Te(e,Pe,N):0,Re=me.top+we,nt=me.bottom-pe;if(we>0&&fe.top<Re){ge.scrollTop-=Math.round(Re-fe.top);return}pe>0&&fe.bottom>nt&&(ge.scrollTop+=Math.round(fe.bottom-nt))},[pe,e,N,s.stickyGroupHeaders]),Be=(0,Wt.useCallback)((Pe,ge)=>{ve.scrollToIndex(Pe,{align:ge});let be=0,me=()=>{be+=1,Ke(Pe),be<3&&window.requestAnimationFrame(me)};window.requestAnimationFrame(me)},[Ke,ve]),wt=(0,Wt.useCallback)(Pe=>{let ge=n.get(Pe);if(ge===void 0||ge===-1)return-1;let be=-1;for(let fe=ge-1;fe>=0;fe-=1){let we=e[fe];if(we?.type!==en.HEADER_SPACER){we?.type===en.HEADER&&(be=fe);break}}return be===-1?ge:be===1?be:ge},[n,e]);(0,Wt.useLayoutEffect)(()=>{let Pe=ce.current;if(Pe===null||!KTe(Pe,n)){Z.current=n.size,ce.current=n,oe.current=oe.current+1;return}(Z.current!==n.size||ce.current!==n)&&(Z.current=n.size,ce.current=n)},[n,n.size]);let Ct=(0,Wt.useCallback)(()=>{$.current&&($.current=null,J(Pe=>Pe+1))},[]),qt=(0,Wt.useCallback)(Pe=>{let ge=$.current;if(!ge){$.current=Pe,J(fe=>fe+1);return}let be=jF(Pe),me=jF(ge);be>=me&&($.current=Pe,J(fe=>fe+1))},[]),lt=(0,Wt.useCallback)(Pe=>{if(!ve||!Ce)return!1;let ge=Pe.minIndexVersion??oe.current;if(oe.current<ge)return!1;if(Pe.type==="file"){let be=Pe.reason==="list-structure-change";if(!q&&be||be&&Pe.filePath&&re.current&&Pe.filePath!==re.current)return!0;if(!Pe.filePath)return!1;let me=wt(Pe.filePath);if(me<0)return!1;let fe=_J(Pe.reason);if(Pe.reason==="reveal"&&u.revealSource==="startup"&&(fe="center"),Be(me,fe),be){let we=me,Re=Pe.filePath;window.requestAnimationFrame(()=>{let nt=Re?wt(Re):-1;Re&&nt>=0&&nt!==we&&q&&qt({type:"file",filePath:Re,reason:"list-structure-change",minIndexVersion:oe.current})})}return!0}return ve.scrollToOffset(0,{align:"start",behavior:"auto"}),!0},[wt,Ce,q,ve,Be,u.revealSource,qt]),Zt=(0,Wt.useCallback)(Pe=>{let ge=$.current;if(ge&&jF(ge)>jF(Pe)){lt(ge)&&($.current=null);return}if(lt(Pe)){ge&&($.current=null);return}qt(Pe)},[lt,qt]);(0,Wt.useLayoutEffect)(()=>{if(!ve||!$.current||!Ce)return;let Pe=$.current;lt(Pe)&&($.current=null)},[lt,ve,Ce,j]),(0,Wt.useEffect)(()=>{if(!t||!ve)return;let Pe=K(),ge=qe.current,be=Pe.onContentChange(me=>{me.some(we=>n.has(we.path)&&qTe(we,ke))&&ge?.schedule()});return()=>{be(),ge?.cancel()}},[t,n,K,ke,ve]),(0,Wt.useEffect)(()=>{if(!t||!I)return;let Pe=()=>{r&&ve&&qt({type:"file",filePath:r.path,reason:"visibility-change",minIndexVersion:oe.current})};return window.addEventListener("notebook-navigator-visible",Pe),()=>window.removeEventListener("notebook-navigator-visible",Pe)},[t,I,r,ve,n,qt]),(0,Wt.useEffect)(()=>{!t||!ve||ve.measure()},[t,Ve,ve]),(0,Wt.useLayoutEffect)(()=>{t&&G&&ve&&ve.measure()},[t,G,ve]);let Kt=Sh(s,u.selectionType,o,a,i),gn=(0,Wt.useMemo)(()=>pl(s,Kt),[s,Kt]),fn=gn.option,an=(0,Wt.useMemo)(()=>GTe({includeDescendantNotes:h,listLayoutSignature:Ve,groupBy:l.groupBy,noteGrouping:s.noteGrouping,stickyGroupHeaders:s.stickyGroupHeaders,effectiveSort:fn,propertySortKey:gn.propertyKey,propertySortSecondary:gn.propertySortSecondary}),[h,Ve,l.groupBy,s.noteGrouping,s.stickyGroupHeaders,fn,gn.propertyKey,gn.propertySortSecondary]);return(0,Wt.useLayoutEffect)(()=>{if(!ve||!Ce)return;let Pe=H.current;if(Pe===null){H.current={signature:an,includeDescendantNotes:h};return}if(Pe.signature===an)return;let ge=Pe.includeDescendantNotes,be=h;H.current={signature:an,includeDescendantNotes:h},q&&r?Zt({type:"file",filePath:r.path,reason:"list-structure-change",minIndexVersion:oe.current}):ge&&!be&&Zt({type:"top",reason:"list-structure-change",minIndexVersion:oe.current})},[Ce,ve,r,h,q,an,Zt]),(0,Wt.useLayoutEffect)(()=>{if(!ve||!Ce)return;let Pe=i??"",ge=`${o?.path||""}_${a||""}_${Pe}`,be=ae.current,me=ee.current!==b;if(ee.current=b,!be||be.key!==ge){ae.current={key:ge,version:oe.current};return}if(oe.current>be.version){if(ae.current={key:ge,version:oe.current},me)return;let fe=!!(r&&n.has(r.path));q&&fe&&r&&Zt({type:"file",filePath:r.path,reason:"list-structure-change",minIndexVersion:oe.current})}},[ve,Ce,o?.path,a,i,b,n,n.size,r,Zt,q]),(0,Wt.useLayoutEffect)(()=>{if(!t||!ve)return;let Pe=i??"",ge=`${o?.path||""}_${a||""}_${Pe}`,be=z.current!==ge;be&&Ct();let me=u.isFolderNavigation;if(!(be||me&&ie)){me&&p({type:"SET_FOLDER_NAVIGATION",isFolderNavigation:!1});return}if(be&&e.length===0)return;let we=r?{type:"file",filePath:r.path,reason:"folder-navigation",minIndexVersion:oe.current}:{type:"top",reason:"folder-navigation",minIndexVersion:oe.current};if(!Ce&&(me||be)){be&&(z.current=ge),me&&p({type:"SET_FOLDER_NAVIGATION",isFolderNavigation:!1}),Zt(we);return}me&&e.length>0&&Ce?(be&&(z.current=ge),p({type:"SET_FOLDER_NAVIGATION",isFolderNavigation:!1}),Zt(we)):(be&&(z.current=ge),Zt(we))},[Ce,t,ve,o?.path,a,i,r,u.isFolderNavigation,p,n.size,e.length,Ct,Zt,ie]),(0,Wt.useLayoutEffect)(()=>{u.isRevealOperation&&r&&Ce&&(Zt({type:"file",filePath:r.path,reason:"reveal",minIndexVersion:oe.current}),p({type:"CLEAR_REVEAL_OPERATION"}))},[u.isRevealOperation,r,Ce,p,n,Zt]),(0,Wt.useLayoutEffect)(()=>{if(m===void 0){Y.current=m;return}if(!r){Y.current=m;return}if(!Ce||!ve)return;let Pe=n.has(r.path),ge=Y.current!==m;Y.current=m;let be=g?.current??!1;if(!Pe&&e.length>0){if(be&&g){g.current=!1;return}Zt({type:"top",reason:"list-structure-change",minIndexVersion:oe.current});return}be&&g&&(g.current=!1)},[m,r,n,Ce,ve,e.length,Zt,g]),{rowVirtualizer:ve,scrollContainerRef:D,scrollContainerRefCallback:xe,handleScrollToTop:Ae,scrollToIndexSafely:Be}}var Wt,rV,YJ=U(()=>{Wt=ue(ze()),rV=require("obsidian");QH();mn();Xi();Ue();JH();xn();vH();iS();Sn();gl();MR();Rn()});function $J(t,e,n,r){let o=Xd(n,r);if(!o||o.includes("/"))return;let a=e==="/"?"":`${e}/`;for(let i of ZTe)t.add(`${a}${o}.${i}`);t.add(`${a}${o}${Fa}.md`)}function QJ(){let{app:t}=gt(),e=pt(),r=Xt().showHiddenItems,o=(0,Pd.useMemo)(()=>ti(e),[e]),a=ar(),i=a.selectedFolder?.path??null,s=a.selectedFolder?.name??null,{getTagDisplayPath:l,getPropertyTree:c}=xo(),u=ta(),p=Ho(),[m,g]=(0,Pd.useState)(0),f=(0,Pd.useMemo)(()=>{if(!e.enableFolderNotes||a.selectionType!==W.FOLDER||!i)return new Set;let w={folderNoteName:e.folderNoteName,folderNoteNamePattern:e.folderNoteNamePattern},k=new Set;if(i==="/"){let T=a.selectedFolder,I=T?uy(T,t.vault):s??"";return $J(k,"/",I,w),k}let F=i.split("/").filter(Boolean),P="";return F.forEach(T=>{P=P?`${P}/${T}`:T,$J(k,P,T,w)}),k},[s,i,t.vault,a.selectedFolder,a.selectionType,e.enableFolderNotes,e.folderNoteName,e.folderNoteNamePattern]);(0,Pd.useEffect)(()=>{if(f.size===0)return;let w=kt(),k=Array.from(f).map(F=>w.onFileContentChange(F,P=>{P.metadata!==void 0&&g(T=>T+1)}));return()=>{k.forEach(F=>{F()})}},[f]),(0,Pd.useEffect)(()=>{if(f.size===0)return;let w=(T,I)=>{T instanceof XJ.TFile&&(f.has(T.path)||typeof I=="string"&&f.has(I))&&g(N=>N+1)},k=t.vault.on("create",T=>{w(T)}),F=t.vault.on("delete",T=>{w(T)}),P=t.vault.on("rename",(T,I)=>{w(T,I)});return()=>{t.vault.offref(k),t.vault.offref(F),t.vault.offref(P)}},[t.vault,f]);let h=(0,Pd.useMemo)(()=>JSON.stringify({folderIcons:e.folderIcons||{},tagIcons:e.tagIcons||{},propertyIcons:e.propertyIcons||{},enableFolderNotes:e.enableFolderNotes,folderNoteName:e.folderNoteName,folderNoteNamePattern:e.folderNoteNamePattern,useFrontmatterMetadata:e.useFrontmatterMetadata,frontmatterNameField:e.frontmatterNameField}),[e]),b=(0,Pd.useMemo)(()=>`${h}::${m}`,[m,h]),v=(0,Pd.useMemo)(()=>{if(a.selectionType===W.FOLDER&&a.selectedFolder){if(!e.showFolderIcons)return"";let w=a.selectedFolder,k=p.getFolderDisplayData(w.path,{includeDisplayName:!1,includeColor:!1,includeBackgroundColor:!1,includeIcon:!0}).icon;if(k)return k;let T=zv(w,o,r),I=u.expandedFolders.has(w.path);return T&&I?Qe(e.interfaceIcons,"nav-folder-open"):Qe(e.interfaceIcons,"nav-folder-closed")}if(a.selectionType===W.TAG&&a.selectedTag)return e.showTagIcons?p.getTagIcon(a.selectedTag)||Qe(e.interfaceIcons,"nav-tag"):"";if(a.selectionType===W.PROPERTY&&a.selectedProperty){if(!e.showPropertyIcons)return"";let w=a.selectedProperty;if(w===Oe)return Qe(e.interfaceIcons,"nav-properties");let k=p.getPropertyIcon(w);return k||(kn(w)?.valuePath?Qe(e.interfaceIcons,"nav-property-value"):Qe(e.interfaceIcons,"nav-property"))}return""},[u.expandedFolders,p,a.selectedFolder,a.selectedTag,a.selectedProperty,a.selectionType,o,r,e.interfaceIcons,e.showFolderIcons,e.showPropertyIcons,e.showTagIcons,b]),{desktopTitle:y,breadcrumbSegments:S}=(0,Pd.useMemo)(()=>{if(a.selectionType===W.FOLDER&&a.selectedFolder){let k=a.selectedFolder;if(k.path==="/"){let T=_s({app:t,metadataService:p,settings:{customVaultName:e.customVaultName},folderPath:k.path,fallbackName:k.name});return{desktopTitle:T,breadcrumbSegments:[{label:T,targetType:"none",isLast:!0}]}}let F=DL({metadataService:p,folderPath:k.path}),P=F.map((T,I)=>I===F.length-1?{label:T.label,targetType:"none",isLast:!0}:{label:T.label,targetType:"folder",targetPath:T.path,isLast:!1});return{desktopTitle:F[F.length-1]?.label??k.name,breadcrumbSegments:P}}if(a.selectionType===W.TAG&&a.selectedTag){let k=a.selectedTag;if(k===zt){let I=rc(Tl.TAGGED).getLabel();return{desktopTitle:I,breadcrumbSegments:[{label:I,targetType:"none",isLast:!0}]}}if(k===bt){let I=[{label:d.common.untagged,targetType:"none",isLast:!0}];return{desktopTitle:d.common.untagged,breadcrumbSegments:I}}let F=l(k),P=F.split("/").filter(Boolean),T=P.map((I,N)=>N===P.length-1?{label:I,targetType:"none",isLast:!0}:{label:I,targetType:"tag",targetPath:P.slice(0,N+1).join("/"),isLast:!1});return{desktopTitle:P[P.length-1]||F,breadcrumbSegments:T}}if(a.selectionType===W.PROPERTY&&a.selectedProperty){let k=a.selectedProperty;if(k===Oe){let K=[{label:d.navigationPane.properties,targetType:"none",isLast:!0}];return{desktopTitle:d.navigationPane.properties,breadcrumbSegments:K}}let F=kn(k);if(!F)return{desktopTitle:d.navigationPane.properties,breadcrumbSegments:[{label:d.navigationPane.properties,targetType:"none",isLast:!0}]};let T=c().get(F.key)??null,I=T?.name??F.key,N=F.valuePath?T?.children.get(k)??null:null,O=Gn(F.key);return{desktopTitle:F.valuePath?N?.displayPath??F.valuePath:I,breadcrumbSegments:F.valuePath?[{label:I,targetType:"property",targetPath:O,isLast:!1},{label:N?.displayPath??F.valuePath,targetType:"none",isLast:!0}]:[{label:I,targetType:"none",isLast:!0}]}}let w=[{label:d.common.noSelection,targetType:"none",isLast:!0}];return{desktopTitle:d.common.noSelection,breadcrumbSegments:w}},[t,l,c,p,a.selectedFolder,a.selectedTag,a.selectedProperty,a.selectionType,e.customVaultName,b]);return{desktopTitle:y,breadcrumbSegments:S,iconName:v,showIcon:a.selectionType===W.FOLDER&&e.showFolderIcons&&v.length>0||a.selectionType===W.TAG&&e.showTagIcons&&v.length>0||a.selectionType===W.PROPERTY&&e.showPropertyIcons&&v.length>0,selectionType:a.selectionType}}var Pd,XJ,ZTe,ZJ=U(()=>{Pd=ue(ze()),XJ=require("obsidian");mn();on();Tr();Ur();Xi();Qs();Ee();zn();Ue();cy();Yr();ap();rs();Jm();dn();pr();cn();Vm();_a();ZTe=Object.values(Qd)});function kf({groupBy:t,sortOption:e,selectionType:n,isManualSortActive:r=!1,isManualSortEditActive:o=!1}){return r||o?"custom":Kd(e)==="property"?n===W.FOLDER&&t==="folder"?"folder":"custom":t==="date"&&!bh(e)?"custom":t}function GF({noteGrouping:t,selectionType:e,groupBy:n}){let r=t??"custom";if(e===W.FOLDER)return{defaultGrouping:r,effectiveGrouping:n??r,normalizedOverride:n,hasCustomOverride:n!==void 0};if(e===W.TAG||e===W.PROPERTY){let o=r==="folder"?"date":r;return n===void 0||n==="folder"?{defaultGrouping:o,effectiveGrouping:o,normalizedOverride:void 0,hasCustomOverride:!1}:{defaultGrouping:o,effectiveGrouping:n,normalizedOverride:n,hasCustomOverride:!0}}return{defaultGrouping:r,effectiveGrouping:r,normalizedOverride:void 0,hasCustomOverride:!1}}function RR({settings:t,selectionType:e,folderPath:n,tag:r,propertyNodeId:o}){let a=t.noteGrouping??"custom";return e===W.FOLDER&&n?GF({noteGrouping:a,selectionType:e,groupBy:t.folderAppearances?.[n]?.groupBy}):e===W.TAG&&r?GF({noteGrouping:a,selectionType:e,groupBy:t.tagAppearances?.[r]?.groupBy}):e===W.PROPERTY&&o?GF({noteGrouping:a,selectionType:e,groupBy:t.propertyAppearances?.[o]?.groupBy}):{defaultGrouping:a,effectiveGrouping:a,normalizedOverride:void 0,hasCustomOverride:!1}}var qF=U(()=>{Ue();Rn()});function DR(t){return t.defaultListMode==="compact"?"compact":"standard"}function oV({appearance:t,defaultMode:e}){return t?.mode==="compact"||t?.mode==="standard"?t.mode:e}function JTe(t,e){return t==="compact"?{showDate:!1,showPreview:!1,showImage:!1}:{showDate:e.showFileDate,showPreview:e.showFilePreview,showImage:e.showFeatureImage}}function eee(){let t=pt(),{selectedFolder:e,selectedTag:n,selectedProperty:r,selectionType:o}=Ml(),a=o===W.FOLDER?e?.path??null:null,i=o===W.TAG?n:null,s=o===W.PROPERTY?r:null,l=a!==null?t.folderAppearances?.[a]:i!==null?t.tagAppearances?.[i]:s!==null?t.propertyAppearances?.[s]:void 0,c=l?.mode,u=l?.titleRows,p=l?.previewRows,m=l?.groupBy,{defaultListMode:g,fileNameRows:f,noteGrouping:h,previewRows:b,showFeatureImage:v,showFileDate:y,showFilePreview:S}=t;return(0,JJ.useMemo)(()=>{let F=oV({appearance:{mode:c,titleRows:u,previewRows:p},defaultMode:g==="compact"?"compact":"standard"}),P=JTe(F,{showFileDate:y,showFilePreview:S,showFeatureImage:v}),T=GF({noteGrouping:h,selectionType:o,groupBy:m});return{mode:F,titleRows:u??f,previewRows:p??b,showDate:P.showDate,showPreview:P.showPreview,showImage:P.showImage,groupBy:T.effectiveGrouping}},[g,f,h,b,c,u,p,m,v,y,S,o])}var JJ,AR=U(()=>{JJ=ue(ze());on();Ur();Ue();qF()});function eke(t){return t==="/"||t.startsWith("/")?t:`/${t}`}function tke(t){return t===zt?d.tagList.tags:t===bt?d.common.untagged:t.startsWith("#")?t:`#${t}`}function nke(t){if(t===Oe)return d.navigationPane.properties;let e=kn(t);return e?e.valuePath?e.valuePath:e.key:t}function rke(t){switch(t.type){case ni.FOLDER:return eke(t.path);case ni.TAG:return tke(t.tagPath);case ni.PROPERTY:return nke(t.nodeId)}}function oke(t,e){if(!RN(e))return null;let n=LC(e.path);return n?T$(t,n)?.path??null:null}function tee({rootContainerRef:t,onSearchTokensChange:e,onNavigateToFolder:n,onRevealTag:r,onRevealProperty:o,ensureSelectionForCurrentFilterRef:a}){let{app:i,isMobile:s,plugin:l}=gt(),c=pt(),u=ar(),p=Td(),m=Yn(),g=Vr(),f=Xt(),{setSearchActive:h}=wd(),{addSearchShortcut:b,removeSearchShortcut:v,searchShortcutsByName:y}=p,S=(0,ir.useMemo)(()=>Array.from(y.values()),[y]),w=f.searchActive,k=c.searchProvider??"internal",[F,P]=(0,ir.useState)(""),[T,I]=(0,ir.useState)(""),[N,O]=(0,ir.useState)(!1),[K,G]=(0,ir.useState)(!1),X=(0,ir.useRef)(!1),L=(0,ir.useMemo)(()=>Sf(w?T:""),[T,w]),V=L.mode,D=(0,ir.useMemo)(()=>{if(!(!w||V==="tag"))return F},[V,w,F]),A=(0,ir.useMemo)(()=>{let ae=F.trim();if(!ae)return null;let se=k??"internal",ne=null;for(let B of S){if(B.query!==ae)continue;if(ne||(ne=B),(B.provider??"internal")===se)return B}return ne},[k,F,S]);(0,ir.useEffect)(()=>{!w&&F&&P("")},[w,F]),(0,ir.useEffect)(()=>{if(!w){T&&I("");return}if(T===F)return;let ae=window.setTimeout(()=>{I(F)},Lt.DEBOUNCE_KEYBOARD);return()=>{window.clearTimeout(ae)}},[T,w,F]),(0,ir.useEffect)(()=>{if(!e)return;let ae=F.trim()?GZ(F):oS;e(ae)},[e,F]);let _=(0,ir.useMemo)(()=>{if(u.selectionType==="folder"&&u.selectedFolder)return{type:ni.FOLDER,path:u.selectedFolder.path};if(u.selectionType==="tag"&&u.selectedTag)return{type:ni.TAG,tagPath:u.selectedTag};if(u.selectionType==="property"&&u.selectedProperty)return{type:ni.PROPERTY,nodeId:u.selectedProperty}},[u.selectedFolder,u.selectedProperty,u.selectedTag,u.selectionType]),E=(0,ir.useMemo)(()=>_?d.searchInput.shortcutStartIn.replace("{path}",rke(_)):null,[_]),R=(0,ir.useCallback)(ae=>{let se=ae?.focusPane??"search";w||(h(!0),m.singlePane&&ae?.preserveSinglePaneView!==!0&&g({type:"SET_SINGLE_PANE_VIEW",view:"files"})),se&&g({type:"SET_FOCUSED_PANE",pane:se})},[w,h,g,m.singlePane]),M=(0,ir.useCallback)(()=>{h(!1),g({type:"SET_FOCUSED_PANE",pane:"files"})},[h,g]),C=(0,ir.useCallback)(()=>{if(!w){O(!0),R();return}M()},[R,M,w]),x=(0,ir.useCallback)(()=>{let ae=F.trim();if(!ae||K)return;let se=_,ne=E,B=null;B=new dl(i,d.searchInput.shortcutModalTitle,d.searchInput.shortcutNamePlaceholder,async(q,ie)=>{let le=q.trim();if(le.length===0){de(d.shortcuts.emptySearchName,{variant:"warning"});return}G(!0);try{let Te=ie?.checkboxValue?se:void 0;await b({name:le,query:ae,provider:k,startTarget:Te})&&B?.close()}finally{G(!1)}},ae,{closeOnSubmit:!1,checkbox:ne?{label:ne,defaultChecked:!1}:void 0}),B.open()},[_,E,b,i,K,k,F]),z=(0,ir.useCallback)(async()=>{if(!(!A||K)){G(!0);try{await v(A.name)}finally{G(!1)}}},[A,K,v]),H=(0,ir.useCallback)((ae,se)=>{let ne=se?.focusSearch!==!1;ne&&O(!0),R({focusPane:ne?"search":null,preserveSinglePaneView:se?.preserveSinglePaneView});let B=null;P(q=>{let ie=ae(q);return B=ie,ie}),B!==null&&I(B)},[R]),Y=(0,ir.useCallback)((ae,se,ne)=>{let B=Ze(ae);!B||B===bt||H(q=>QZ(q,B,se).query,ne)},[H]),ee=(0,ir.useCallback)((ae,se,ne,B)=>{let q=ae.trim();q&&H(ie=>ZZ(ie,q,se,ne).query,B)},[H]),$=(0,ir.useCallback)((ae,se)=>{let ne=ae.trim();ne&&(k!=="internal"&&l.setSearchProvider("internal"),H(B=>JZ(B,ne).query,se))},[l,k,H]),j=(0,ir.useCallback)(()=>new Promise(ae=>{window.requestAnimationFrame(()=>ae())}),[]),J=(0,ir.useCallback)(async()=>{if(!s)return;let ae=t.current;if(!ae)return;let se=c.paneTransitionDuration,ne=performance.now()+se+20;for(;performance.now()<ne&&ae.isConnected&&!ae.classList.contains("show-files");)await new Promise(requestAnimationFrame)},[s,t,c.paneTransitionDuration]),re=(0,ir.useCallback)(()=>{let se=(t.current??activeDocument).querySelector(".nn-list-pane-scroller");se instanceof HTMLElement&&Di(se)},[t]),oe=(0,ir.useCallback)(()=>{window.setTimeout(()=>{let se=(t.current??activeDocument).querySelector(".nn-search-input");se instanceof HTMLInputElement&&(se.focus(),g({type:"SET_FOCUSED_PANE",pane:"search"}))},0)},[t,g]),Z=(0,ir.useCallback)(()=>{if(w){oe();return}O(!0),R()},[R,oe,w]),ce=(0,ir.useCallback)(async({searchShortcut:ae})=>{let se=ae.query.trim(),ne=ae.provider??"internal",B=ae.startTarget;if(l.setSearchProvider(ne),B)if(RN(B)){let q=oke(i,B);q&&n(q,{source:"shortcut",suppressAutoSelect:!0,skipScroll:c.skipAutoScroll})}else TO(B)?r(B.tagPath,{source:"shortcut",skipScroll:c.skipAutoScroll}):kO(B)&&o(B.nodeId,{source:"shortcut",skipScroll:c.skipAutoScroll});m.singlePane&&g({type:"SET_SINGLE_PANE_VIEW",view:"files"}),g({type:"SET_FOCUSED_PANE",pane:"files"}),s&&(X.current=!0,await J()),w||h(!0),O(!1),P(se),I(se),await j(),await j(),s||a.current?.({openInEditor:!1,clearIfEmpty:!0,selectFallback:!0}),re()},[i,a,re,s,w,n,o,r,l,h,c.skipAutoScroll,g,m.singlePane,J,j]);return{isSearchActive:w,searchProvider:k,searchQuery:F,debouncedSearchQuery:T,debouncedSearchTokens:L,searchHighlightQuery:D,shouldFocusSearch:N,activeSearchShortcut:A,isSavingSearchShortcut:K,suppressSearchTopScrollRef:X,setSearchQuery:P,setShouldFocusSearch:O,handleSearchToggle:C,closeSearch:M,focusSearchComplete:()=>O(!1),handleSaveSearchShortcut:x,handleRemoveSearchShortcut:z,modifySearchWithTag:Y,modifySearchWithProperty:ee,modifySearchWithDateToken:$,toggleSearch:Z,executeSearchShortcut:ce}}var ir,nee=U(()=>{ir=ue(ze());Ur();mn();on();xg();pa();Tr();Ee();fh();Ue();jr();Ia();yR();os();KF();Fn();$o();cn();Ay();Sn()});function oee({rootContainerRef:t,orderedFiles:e,filePathToIndex:n,scrollToIndexSafely:r}){let{app:o,commandQueue:a,isMobile:i}=gt(),s=vu(),l=ar(),c=gr(),u=pt(),p=Yn(),m=Vr(),f=Xt().searchActive,{handleMultiSelectClick:h,handleRangeSelectClick:b,isFileSelected:v}=eS(),y=(0,sr.useRef)(!1),S=(0,sr.useRef)(!1),w=(0,sr.useRef)(0),k=(0,sr.useRef)(null),F=(0,sr.useRef)(!1),P=(0,sr.useRef)(()=>{}),T=(0,sr.useRef)(p.focusedPane),I=(0,sr.useRef)(null),N=(0,sr.useMemo)(()=>(0,ree.debounce)((M,C)=>{C===w.current&&(S.current=!1,k.current=null,s(M))},Lt.DEBOUNCE_KEYBOARD_FILE_OPEN,!0),[s]);(0,sr.useEffect)(()=>()=>{N.cancel()},[N]);let O=(0,sr.useCallback)(()=>{w.current+=1,S.current=!1,k.current=null,N.cancel()},[N]),K=(0,sr.useCallback)((M,C)=>{if(y.current=C?.markUserSelection??!1,c({type:"SET_SELECTED_FILE",file:M}),C?.markKeyboardNavigation&&c({type:"SET_KEYBOARD_NAVIGATION",isKeyboardNavigation:!0}),C?.suppressOpen){O();return}if(C?.debounceOpen){w.current+=1;let x=w.current;S.current=!0,k.current=M,N(M,x);return}O(),s(M)},[O,N,s,c]),G=(0,sr.useCallback)(M=>{w.current+=1;let C=w.current;S.current=!0,k.current=M,N(M,C)},[N]),X=(0,sr.useCallback)(()=>{if(u.enterToOpenFiles)return;let C=fc(o,l)??k.current;C&&G(C)},[o,G,l,u.enterToOpenFiles]),L=(0,sr.useCallback)(M=>{u.enterToOpenFiles||G(M)},[G,u.enterToOpenFiles]),V=(0,sr.useCallback)(()=>{if(u.enterToOpenFiles||!S.current)return;let M=k.current??fc(o,l);M&&(O(),s(M))},[o,O,s,l,u.enterToOpenFiles]),D=(0,sr.useMemo)(()=>{if(l.selectedFile)return l.selectedFile.path;let M=l.selectedFiles.values().next();return M.done?null:M.value},[l.selectedFile,l.selectedFiles]);(0,sr.useEffect)(()=>{P.current=V},[V]),(0,sr.useEffect)(()=>{if(!S.current)return;let M=k.current?.path??null;(!M||M!==D)&&O()},[O,D]),(0,sr.useEffect)(()=>{!u.enterToOpenFiles||!S.current||O()},[O,u.enterToOpenFiles]),(0,sr.useEffect)(()=>{T.current=p.focusedPane,p.focusedPane!=="navigation"&&(F.current=!1)},[p.focusedPane]),(0,sr.useEffect)(()=>{let M=()=>{F.current=!1};return window.addEventListener("blur",M),()=>{window.removeEventListener("blur",M)}},[]),(0,sr.useEffect)(()=>{let M=t.current;if(!M)return;let C=Y=>Y.key==="ArrowUp"||Y.key==="ArrowDown"||Y.key==="PageUp"||Y.key==="PageDown",x=Y=>Y.ctrlKey||Y.metaKey||Y.altKey,z=Y=>{if(T.current!=="navigation"||_u(Y)||x(Y)){F.current=!1;return}F.current=C(Y)},H=Y=>{if(T.current!=="navigation"||_u(Y)||x(Y)){F.current=!1;return}if(!C(Y)){F.current=!1;return}P.current(),F.current=!1};return M.addEventListener("keydown",z,!0),M.addEventListener("keyup",H),()=>{M.removeEventListener("keydown",z,!0),M.removeEventListener("keyup",H)}},[t]);let A=(0,sr.useCallback)(M=>{let x=(M?.openInEditor??!1)&&!u.enterToOpenFiles,z=M?.debounceOpen??!1,H=M?.clearIfEmpty??!1,Y=M?.selectFallback??!0,ee=l.selectedFile,$=!ee,j=ee?n.has(ee.path):!1;if($||!j){if(Y&&e.length>0){let re=e[0];return K(re,{suppressOpen:!x,debounceOpen:x&&z}),{selectionStateChanged:!0}}return!Y&&H&&e.length===0?(c({type:"SET_SELECTED_FILE",file:null}),{selectionStateChanged:!0}):{selectionStateChanged:!1}}if(x&&ee&&j){if(z)return G(ee),{selectionStateChanged:!1};s(ee)}return{selectionStateChanged:!1}},[n,s,e,G,K,c,l.selectedFile,u.enterToOpenFiles]),_=(0,sr.useCallback)(M=>{let C=fc(o,l),x=Tx(e,C,M);if(!x)return!1;K(x,{markKeyboardNavigation:!0,markUserSelection:!0,suppressOpen:u.enterToOpenFiles});let z=n.get(x.path);return z!==void 0&&r(z,"auto"),!0},[o,n,e,r,K,l,u.enterToOpenFiles]),E=(0,sr.useCallback)((M,C,x,z)=>{if(C.button===1)return;y.current=!0;let H=z??e,Y=C.shiftKey,ee=sN(C),$=!i&&Dv(C,u.multiSelectModifier),j=!i&&!$&&u.multiSelectModifier==="optionAlt"&&ee;$?h(M,x,H):!i&&Y&&x!==void 0?b(M,x,H):K(M,{markUserSelection:!0,suppressOpen:j}),m({type:"SET_FOCUSED_PANE",pane:"files"}),!$&&!Y&&j&&Q(()=>no({app:o,commandQueue:a,file:M,context:"tab"})),i&&o.workspace.leftSplit&&!$&&!Y&&o.workspace.leftSplit.collapse()},[o,a,h,b,i,e,K,u.multiSelectModifier,m]),R=(0,sr.useCallback)((M,C,x,z)=>{E(M,x,C,z)},[E]);return(0,sr.useEffect)(()=>{l.selectedFile&&(I.current=l.selectedFile.path)},[l.selectedFile]),(0,sr.useEffect)(()=>{let{selectedFile:M}=l,C=l.isRevealOperation,x=l.isFolderChangeWithAutoSelect,z=l.isKeyboardNavigation;if(C||z){z&&c({type:"SET_KEYBOARD_NAVIGATION",isKeyboardNavigation:!1});return}let H=x&&F.current,Y=!1,ee=!1;f&&u.autoSelectFirstFileOnFocusChange&&!i&&x&&(Y=A({openInEditor:!0,clearIfEmpty:!0,debounceOpen:H}).selectionStateChanged,ee=!0),!ee&&!Y&&M&&!y.current&&u.autoSelectFirstFileOnFocusChange&&!i&&x&&!u.enterToOpenFiles&&(H?G(M):s(M)),x&&(Y||c({type:"SET_FOLDER_CHANGE_WITH_AUTO_SELECT",isFolderChangeWithAutoSelect:!1}),F.current=!1),y.current=!1},[A,i,f,s,G,c,l,u.autoSelectFirstFileOnFocusChange,u.enterToOpenFiles]),(0,sr.useEffect)(()=>{if(!(p.singlePane||i)&&p.focusedPane==="files"&&l.isKeyboardNavigation){c({type:"SET_KEYBOARD_NAVIGATION",isKeyboardNavigation:!1});let M=l.selectedFile,C=!M,x=M?!e.some(H=>H.path===M.path):!1;if((C||x)&&e.length>0){let H=o.workspace.getActiveFile(),Y=H?e.some(ee=>ee.path===H.path):!1;H&&Y?c({type:"SET_SELECTED_FILE",file:H}):A({openInEditor:!0})}}},[o.workspace,A,i,e,c,l.isKeyboardNavigation,l.selectedFile,p.focusedPane,p.singlePane]),{selectFileFromList:K,selectAdjacentFile:_,ensureSelectionForCurrentFilter:A,handleFileItemClick:R,lastSelectedFilePath:I.current,isFileSelected:v,scheduleKeyboardSelectionOpen:X,scheduleKeyboardSelectionOpenForFile:L,commitPendingKeyboardSelectionOpen:V}}var sr,ree,aee=U(()=>{sr=ue(ze()),ree=require("obsidian");Ur();mn();on();pa();Tr();Jb();mR();jr();ot();os();td();Zc();ai()});var YF,iee=U(()=>{YF="empty-list"});function $e(t,e){return t.onClick(()=>{Q(e)})}function Dl(t){if(typeof t.setSubmenu!="function")return null;if(t.setSubmenu.length>0){let e=new lS.Menu;try{return t.setSubmenu(e),e}catch{}}try{let e=t.setSubmenu();if(e instanceof lS.Menu)return e}catch{}try{let e=new lS.Menu;return t.setSubmenu(e),e}catch{return null}}function OR(t){if(typeof lS.MenuItem.prototype.setSubmenu!="function")return!1;let e=!1;return t.menu.addItem(n=>{let r=Dl(n);if(!r){n.setTitle(d.contextMenu.copyPath.title).setIcon("lucide-copy").setDisabled(!0);return}n.setTitle(d.contextMenu.copyPath.title).setIcon("lucide-copy"),e=!0,t.getObsidianUrl&&r.addItem(o=>{$e(o.setTitle(d.contextMenu.copyPath.asObsidianUrl).setIcon("lucide-link"),async()=>{let a=t.getObsidianUrl?.();a&&await aV(a)&&de(d.fileSystem.notifications.deepLinkCopied,{variant:"success"})})}),r.addItem(o=>{$e(o.setTitle(d.contextMenu.copyPath.fromVaultFolder).setIcon("vault"),async()=>{let a=t.getVaultPath();await aV(a)&&de(d.fileSystem.notifications.relativePathCopied,{variant:"success"})})}),t.getSystemPath&&r.addItem(o=>{$e(o.setTitle(d.contextMenu.copyPath.fromSystemRoot).setIcon("lucide-hard-drive"),async()=>{let a=t.getSystemPath?.();a&&await aV(a)&&de(d.fileSystem.notifications.pathCopied,{variant:"success"})})})}),e}async function aV(t){try{return await navigator.clipboard.writeText(t),!0}catch{return de(d.common.clipboardWriteError,{variant:"warning"}),!1}}var lS,wu=U(()=>{lS=require("obsidian");Ee();Fn();ot()});function ake(t,e){if(!t)return e;if(Zo(t)||Po(t)||Co(t)||la(t)){let n=t.alias;if(n&&n.length>0)return n}return Bi(t)?t.name:e}function Tu(t){let{app:e,menu:n,shortcutKey:r,defaultLabel:o,existingShortcut:a,title:i,placeholder:s,renameShortcut:l,closeOnSubmit:c}=t;n.addItem(u=>{$e(u.setTitle(i).setIcon("lucide-pencil"),async()=>{let p=ake(a,o),{InputModal:m}=await Promise.resolve().then(()=>(fh(),LA)),g=null;g=new m(e,i,s,async f=>{let h=await l(r,f,o);c===!1&&(h||f.trim()===p.trim())&&g?.close()},p,{closeOnSubmit:c}),g.open()})})}var dS=U(()=>{Ia();wu()});function $F(t){return!!(t.icon||t.color||t.background)}function lee(t){$F(t)&&(see={data:t})}function iV(){return see}var see,dee=U(()=>{see=null});var uee,ike,cee,cS,Ff,LR,pee=U(()=>{uee=require("obsidian");Ee();Ha();FI();wL();KT();jr();ot();Ql();ike=5,cee=50,cS="all",Ff="vault",LR=class t{constructor(e){this.iconService=yn();this.currentProvider=cS;this.selectedIconForRecent=null;this.providerTabs=[];this.providerLinkContainer=null;this.providerLinkEl=null;this.searchDebounceTimer=null;this.domDisposers=[];this.app=e.app,this.rootEl=e.rootEl,this.scope=e.scope,this.settingsProvider=e.settingsProvider,this.currentIcon=e.currentIconId??void 0,this.saveRecentOnSelect=e.saveRecentOnSelect!==!1,this.isKeyboardActive=e.isKeyboardActive??(()=>!0),this.onSelect=e.onSelect}static{this.lastUsedProvider=null}static getLastUsedProvider(){return t.lastUsedProvider}static setLastUsedProvider(e){t.lastUsedProvider=e}build(){this.cleanupVaultRecentIcons(),this.createProviderTabs(),this.createSearchInput(),this.resultsContainer=this.rootEl.createDiv("nn-icon-results-container"),this.domDisposers.push(St(this.resultsContainer,"click",e=>this.handleResultsClick(e))),this.createProviderLinkRow(),this.updateProviderLink(this.currentProvider),this.setupKeyboardNavigation(),this.updateResults()}focusSearch(){this.searchInput.focus(),window.requestAnimationFrame(()=>{this.searchInput.focus()})}getIcon(){return this.currentIcon??null}clearSelection(){this.currentIcon=void 0,this.selectedIconForRecent=null,this.resultsContainer&&this.updateResults()}commitRecentIcon(){this.selectedIconForRecent&&(this.saveToRecentIcons(this.selectedIconForRecent),this.selectedIconForRecent=null)}dispose(){this.searchDebounceTimer&&(window.clearTimeout(this.searchDebounceTimer),this.searchDebounceTimer=null),this.providerLinkContainer=null,this.providerLinkEl=null,this.domDisposers.forEach(e=>{try{e()}catch(n){console.error("Error disposing icon picker surface listener:",n)}}),this.domDisposers=[]}async handleResultsClick(e){let n=e.target;if(!(n instanceof Element))return;let r=n.closest(".nn-icon-recent-remove-button");if(r){e.stopPropagation(),e.preventDefault();let i=r.getAttribute("data-recent-icon-id");i&&this.removeRecentIcon(i);return}let o=n.closest(".nn-icon-item");if(!o)return;let a=o.getAttribute("data-icon-id");a&&await this.selectIcon(a)}createProviderTabs(){this.tabContainer=this.rootEl.createDiv("nn-icon-provider-tabs"),this.tabContainer.setAttribute("role","tablist"),this.providerTabs=[];let e=this.sortProvidersForDisplay(this.iconService.getAllProviders().slice()),n=this.resolveInitialProvider(e);this.currentProvider=n,t.setLastUsedProvider(n),this.addProviderTab(cS,d.modals.iconPicker.allTabLabel),e.forEach(r=>{this.addProviderTab(r.id,r.name)}),this.setActiveProviderTab(n)}addProviderTab(e,n){let r=this.tabContainer.createDiv({cls:"nn-icon-provider-tab",text:n});r.setAttribute("role","tab"),r.setAttribute("tabindex","-1"),r.dataset.providerId=e,this.providerTabs.push(r),this.domDisposers.push(St(r,"click",()=>{this.setActiveProviderTab(e),this.currentProvider=e,t.setLastUsedProvider(e),this.updateResults(),this.resetResultsScroll()}))}createSearchInput(){let e=this.rootEl.createDiv("nn-icon-search-container");this.searchInput=e.createEl("input",{type:"text",placeholder:d.modals.iconPicker.searchPlaceholder,cls:"nn-icon-search-input"}),this.searchInput.setAttribute("enterkeyhint","done"),this.domDisposers.push(St(this.searchInput,"input",()=>{this.searchDebounceTimer&&window.clearTimeout(this.searchDebounceTimer),this.searchDebounceTimer=window.setTimeout(()=>{this.updateResults()},Lt.DEBOUNCE_KEYBOARD)}))}createProviderLinkRow(){this.providerLinkContainer=this.rootEl.createDiv("nn-icon-provider-link-row"),this.providerLinkEl=this.providerLinkContainer.createEl("a",{cls:"nn-icon-provider-link"}),this.providerLinkEl.setAttribute("target","_blank"),this.providerLinkEl.setAttribute("rel","noopener noreferrer"),this.providerLinkContainer.addClass("nn-icon-provider-link-row-hidden")}sortProvidersForDisplay(e){let n=[Ff,"emoji","lucide"];return e.sort((r,o)=>{let a=n.indexOf(r.id),i=n.indexOf(o.id);return a!==-1&&i!==-1?a-i:a!==-1?-1:i!==-1?1:r.name.localeCompare(o.name)})}cleanupVaultRecentIcons(){let e=this.settingsProvider.getRecentIcons(),n=e[Ff],r=Array.isArray(n)?n:[],o=n!==void 0&&!Array.isArray(n);if(r.length===0&&!o)return;if(o){delete e[Ff],this.settingsProvider.setRecentIcons(e);return}let a=[],i=!1;r.forEach(s=>{if(typeof s!="string"){i=!0;return}let l=this.iconService.parseIconId(s);if(l.provider!==Ff){i=!0;return}let c=this.app.vault.getAbstractFileByPath(l.identifier);if(c instanceof uee.TFile&&dd(c)){a.push(s);return}i=!0}),i&&(a.length===0?delete e[Ff]:e[Ff]=a,this.settingsProvider.setRecentIcons(e))}resolveInitialProvider(e){if(!e.length)return cS;let n=new Set(e.map(o=>o.id)),r=[t.getLastUsedProvider(),this.currentProvider];for(let o of r)if(o&&(o===cS||n.has(o)))return o;return cS}searchAllProvidersExcludingVault(e){let n=[];return this.iconService.getAllProviders().forEach(r=>{if(r.id===Ff)return;let o=r.search(e);n.push(...o.map(a=>({...a,id:this.iconService.formatIconId(r.id,a.id)})))}),n}updateResults(){this.resultsContainer.empty();let e=this.searchInput.value.toLowerCase().trim(),n=this.currentProvider===cS,r=n?void 0:this.iconService.getProvider(this.currentProvider);if(e===""){!n&&this.renderRecentIcons()||(this.currentProvider==="emoji"?this.resultsContainer.createDiv("nn-icon-empty-message").setText(d.modals.iconPicker.emojiInstructions):this.showEmptyState());return}let o=n?this.searchAllProvidersExcludingVault(e):this.iconService.search(e,this.currentProvider);if(o.length>0&&(n||r)){let a=this.resultsContainer.createDiv("nn-icon-grid");o.slice(0,cee).forEach(i=>{this.createIconItem(i,a,r)}),o.length>cee&&this.resultsContainer.createDiv("nn-icon-more-message").setText(d.modals.iconPicker.showingResultsInfo.replace("{count}",o.length.toString()));return}this.showEmptyState(!0)}renderRecentIcons(){let n=this.settingsProvider.getRecentIcons()[this.currentProvider]||[];if(!n.length)return!1;let r=this.resultsContainer.createDiv("nn-icon-section-header");r.setText(d.modals.iconPicker.recentlyUsedHeader);let o=this.resultsContainer.createDiv("nn-icon-grid"),a=0,i=new Map;return n.forEach(s=>{let l=this.iconService.parseIconId(s),c=this.iconService.getProvider(l.provider);if(!c)return;if(c.id==="emoji"){let g={id:l.identifier,displayName:kI(l.identifier),preview:l.identifier},f=this.createIconItem(g,o,c);f&&this.addRecentIconRemoveButton(f,s),a+=1;return}let u=i.get(c.id);u||(u=c.getAll(),i.set(c.id,u));let p=u.find(g=>g.id===l.identifier);if(!p)return;let m=this.createIconItem(p,o,c);m&&this.addRecentIconRemoveButton(m,s),a+=1}),a===0?(r.remove(),o.remove(),!1):!0}addRecentIconRemoveButton(e,n){e.createEl("button",{cls:"nn-icon-recent-remove-button",attr:{type:"button","aria-label":d.modals.iconPicker.removeFromRecents,title:d.modals.iconPicker.removeFromRecents,"data-recent-icon-id":n}}).createSpan({text:"×",cls:"nn-icon-recent-remove-glyph",attr:{"aria-hidden":"true"}})}removeRecentIcon(e){let r=this.iconService.parseIconId(e).provider,o=this.settingsProvider.getRecentIcons(),a=o[r];if(a!==void 0&&!Array.isArray(a)){delete o[r],this.settingsProvider.setRecentIcons(o),this.updateResults();return}let s=Array.isArray(a)?a:[],l=s.indexOf(e);if(l<0)return;let c=[...s];c.splice(l,1),c.length===0?delete o[r]:o[r]=c,this.settingsProvider.setRecentIcons(o),this.updateResults()}resetResultsScroll(){this.resultsContainer.scrollTop=0}showEmptyState(e=!1){this.resultsContainer.createDiv("nn-icon-empty-message").setText(e?d.modals.iconPicker.emptyStateNoResults:d.modals.iconPicker.emptyStateSearch)}createIconItem(e,n,r){let o=r,a;if(o)a=this.iconService.formatIconId(o.id,e.id);else{let c=this.iconService.parseIconId(e.id);if(o=this.iconService.getProvider(c.provider),!o)return null;a=e.id}let i=n.createDiv("nn-icon-item");i.setAttribute("data-icon-id",a),i.toggleClass("nn-icon-item-selected",a===this.currentIcon);let s=i.createDiv("nn-icon-item-preview");return this.iconService.renderIcon(s,a),o.id==="emoji"&&e.preview&&s.addClass("nn-emoji-preview"),i.createDiv("nn-icon-item-name").setText(e.displayName),i.setAttribute("tabindex","0"),i}saveToRecentIcons(e){let r=this.iconService.parseIconId(e).provider,o=this.settingsProvider.getRecentIcons(),a=[...o[r]??[]],i=a.indexOf(e);i>-1&&a.splice(i,1),a.unshift(e),a.length>15&&(a.length=15),o[r]=a,this.settingsProvider.setRecentIcons(o)}async selectIcon(e){this.saveRecentOnSelect?this.saveToRecentIcons(e):this.selectedIconForRecent=e,this.currentIcon=e,await this.onSelect(e),this.updateResults()}setupKeyboardNavigation(){this.scope.register(["Shift"],"Tab",e=>{if(!this.isKeyboardActive())return;let n=activeDocument.activeElement instanceof HTMLElement?activeDocument.activeElement:null;if(n?.classList.contains("nn-icon-provider-tab")){e.preventDefault();return}e.preventDefault();let r=this.getActiveProviderTab();if(n?.classList.contains("nn-icon-item")){this.searchInput.focus();return}if(n===this.searchInput){r?.focus();return}this.searchInput.focus()}),this.scope.register([],"Tab",e=>{if(!this.isKeyboardActive())return;let n=activeDocument.activeElement,r=n instanceof HTMLElement?n:null;if(r?.classList.contains("nn-icon-provider-tab")){e.preventDefault(),this.searchInput.focus();return}if(!r?.classList.contains("nn-icon-item")){e.preventDefault();let a=this.resultsContainer.querySelector(".nn-icon-item");a&&a.focus()}}),this.scope.register([],"ArrowLeft",e=>this.handleArrowKey(e,-1,0)),this.scope.register([],"ArrowRight",e=>this.handleArrowKey(e,1,0)),this.scope.register([],"ArrowUp",e=>this.handleArrowKey(e,0,-1)),this.scope.register([],"ArrowDown",e=>this.handleArrowKey(e,0,1)),this.scope.register([],"Enter",e=>{if(!this.isKeyboardActive())return;let n=activeDocument.activeElement instanceof HTMLElement?activeDocument.activeElement:null;if(n===this.searchInput){e.preventDefault(),window.setTimeout(()=>{this.searchInput.blur()});return}if(n?.classList.contains("nn-icon-item")){e.preventDefault();let r=n.getAttribute("data-icon-id");r&&Q(()=>this.selectIcon(r))}})}handleArrowKey(e,n,r){if(!this.isKeyboardActive())return;let o=activeDocument.activeElement;if(!(o instanceof HTMLElement))return;let a=o;if(a.classList.contains("nn-icon-provider-tab")){if(n===0)return;e.preventDefault(),this.focusAdjacentTab(a,n);return}if(!a.classList.contains("nn-icon-item"))return;e.preventDefault();let i=Array.from(this.resultsContainer.querySelectorAll(".nn-icon-item")),s=i.indexOf(a),l=n!==0?s+n:s+r*ike;l>=0&&l<i.length&&(i[l].focus(),this.ensureIconVisible(i[l]))}focusAdjacentTab(e,n){let r=this.providerTabs.indexOf(e);if(r===-1)return;let o=r+(n<0?-1:1);if(o<0||o>=this.providerTabs.length)return;let a=this.providerTabs[o],i=a.dataset.providerId;i&&(this.setActiveProviderTab(i),a.focus(),a.click())}ensureIconVisible(e){let n=this.resultsContainer,r=n.getBoundingClientRect(),o=e.getBoundingClientRect(),a=8;o.top<r.top+a&&(n.scrollTop-=r.top-o.top+a),o.bottom>r.bottom-a&&(n.scrollTop+=o.bottom-r.bottom+a)}setActiveProviderTab(e){this.providerTabs.forEach(n=>{n.dataset.providerId===e?(n.addClass("nn-active"),n.setAttribute("tabindex","0")):(n.removeClass("nn-active"),n.setAttribute("tabindex","-1"))}),this.updateProviderLink(e)}updateProviderLink(e){if(!this.providerLinkContainer||!this.providerLinkEl)return;let n=CI(e);if(!n){this.providerLinkContainer.addClass("nn-icon-provider-link-row-hidden"),this.providerLinkEl.removeAttribute("href"),this.providerLinkEl.setText(""),this.providerLinkEl.removeAttribute("title");return}this.providerLinkContainer.removeClass("nn-icon-provider-link-row-hidden"),this.providerLinkEl.setAttribute("href",n),this.providerLinkEl.setAttribute("title",n);let r=this.iconService.getProvider(e);this.providerLinkEl.setText(this.buildProviderLinkLabel(r,n))}formatCatalogLinkText(e){let n=e.trim();return n?n.replace(/^https?:\/\//,"").replace(/\/$/,""):""}buildProviderLinkLabel(e,n){let r=this.resolveProviderVersion(e),o=this.formatCatalogLinkText(n);return r?`${r}, ${o}`:o}resolveProviderVersion(e){if(!e||typeof e.getVersion!="function")return null;let n=e.getVersion();if(!n)return null;let r=n.trim();return r?/^v/i.test(r)?r:`v${r}`:null}getActiveProviderTab(){return this.providerTabs.find(e=>e.dataset.providerId===this.currentProvider)??null}}});var uS={};In(uS,{AppearanceModal:()=>sV});var zR,sV,pS=U(()=>{zR=require("obsidian");Ee();Ha();Ql();uL();pee();sV=class extends zR.Modal{constructor(n,r){super(n);this.iconService=yn();this.tabs=[];this.activeTabId=null;this.domDisposers=[];this.clearButton=null;this.iconSurface=null;this.colorSurface=null;this.backgroundSurface=null;this.resetButton=null;this.iconTouched=!1;this.colorTouched=!1;this.backgroundTouched=!1;this.params=r,this.stagedIcon=r.icon?.initial??null,this.stagedColor=r.color?.initial??null,this.stagedBackground=r.background?.initial??null,this.colorSharedState=cp.createSharedState(r.metadataService.getSettingsProvider())}onOpen(){let{contentEl:n}=this;n.empty(),this.modalEl.addClass("nn-appearance-modal");let r=n.createDiv("nn-appearance-header");this.previewItem=r.createDiv("nn-appearance-preview-item"),this.previewIconEl=this.previewItem.createSpan("nn-appearance-preview-icon"),this.previewItem.createSpan({cls:"nn-appearance-preview-name",text:this.params.title}),this.clearButton=this.previewItem.createEl("button",{cls:"nn-recent-remove-button nn-appearance-clear-button",attr:{type:"button","aria-label":d.modals.appearance.clear,title:d.modals.appearance.clear}}),this.clearButton.createSpan({text:"×",cls:"nn-recent-remove-glyph",attr:{"aria-hidden":"true"}}),this.domDisposers.push(St(this.clearButton,"click",()=>this.clearAll()));let o=n.createDiv("nn-appearance-tabs");o.setAttribute("role","tablist");let a=n.createDiv("nn-appearance-body");this.params.icon&&this.addIconTab(o,a),this.params.color&&this.addColorTab(o,a,"color"),this.params.background&&this.addColorTab(o,a,"background");let i=n.createDiv("nn-appearance-footer");this.resetButton=i.createEl("button",{cls:"nn-appearance-reset-button"}),this.domDisposers.push(St(this.resetButton,"click",()=>this.resetActiveTab()));let s=i.createDiv("nn-appearance-footer-actions"),l=s.createEl("button",{text:d.common.cancel});this.domDisposers.push(St(l,"click",()=>this.close()));let c=s.createEl("button",{text:d.modals.appearance.apply,cls:"mod-cta"});if(this.domDisposers.push(St(c,"click",()=>this.applyAll())),this.tabs.length>0){let u=this.params.initialTab&&this.tabs.some(p=>p.id===this.params.initialTab)?this.params.initialTab:this.tabs[0].id;this.setActiveTab(u)}this.renderState()}onClose(){let{contentEl:n}=this;this.iconSurface?.dispose(),this.colorSurface?.dispose(),this.backgroundSurface?.dispose(),this.iconSurface=null,this.colorSurface=null,this.backgroundSurface=null,this.resetButton=null,this.clearButton=null,this.tabs=[],this.activeTabId=null,this.domDisposers.forEach(r=>{try{r()}catch(o){console.error("Error disposing appearance modal listener:",o)}}),this.domDisposers=[],n.empty(),this.modalEl.removeClass("nn-appearance-modal")}addIconTab(n,r){let o=this.createTab(n,r,"icon",d.modals.appearance.tabIcon,a=>this.mountIconTab(a));this.tabs.push(o)}addColorTab(n,r,o){let a=o==="color"?d.modals.appearance.tabColor:d.modals.appearance.tabBackground,i=this.createTab(n,r,o,a,s=>this.mountColorTab(s,o));this.tabs.push(i)}createTab(n,r,o,a,i){let s=n.createEl("button",{cls:"nn-appearance-tab",attr:{type:"button",role:"tab"}}),l=s.createSpan("nn-appearance-tab-chip");s.createSpan({cls:"nn-appearance-tab-label",text:a});let c=r.createDiv("nn-appearance-panel nn-appearance-panel-hidden");c.setAttribute("role","tabpanel");let u={id:o,button:s,chip:l,panel:c,mounted:!1,mount:()=>i(c)};return this.domDisposers.push(St(s,"click",()=>this.setActiveTab(o))),u}mountIconTab(n){let r=n.createDiv("nn-appearance-picker-host");this.iconSurface=new LR({app:this.app,rootEl:r,scope:this.scope,settingsProvider:this.params.metadataService.getSettingsProvider(),currentIconId:this.stagedIcon,saveRecentOnSelect:!1,isKeyboardActive:()=>this.activeTabId==="icon",onSelect:o=>{this.iconTouched=!0,this.stagedIcon=o,this.renderState()}}),this.iconSurface.build(),this.iconSurface.focusSearch()}mountColorTab(n,r){let o=n.createDiv("nn-appearance-picker-host"),a=new cp({app:this.app,rootEl:o,scope:this.scope,initialColor:r==="color"?this.stagedColor:this.stagedBackground,settingsProvider:this.params.metadataService.getSettingsProvider(),sharedState:this.colorSharedState,showPreview:!1,recentInLeftColumn:!0,onChange:i=>{r==="color"?(this.colorTouched=!0,this.stagedColor=i):(this.backgroundTouched=!0,this.stagedBackground=i),this.renderState()}});a.build(),r==="color"?(this.colorSurface=a,this.colorTouched&&this.stagedColor===null&&a.markCleared()):(this.backgroundSurface=a,this.backgroundTouched&&this.stagedBackground===null&&a.markCleared())}setActiveTab(n){this.activeTabId=n,this.tabs.forEach(r=>{let o=r.id===n;r.button.toggleClass("nn-active",o),r.button.setAttribute("aria-selected",o?"true":"false"),r.panel.toggleClass("nn-appearance-panel-hidden",!o),o&&!r.mounted&&(r.mounted=!0,r.mount())}),this.renderResetButton()}renderState(){this.renderPreview(),this.renderTabChips(),this.renderResetButton(),this.renderClearButton()}clearAll(){this.params.icon&&(this.iconTouched=!0,this.stagedIcon=null,this.iconSurface?.clearSelection()),this.params.color&&(this.colorTouched=!0,this.stagedColor=null,this.colorSurface?.markCleared()),this.params.background&&(this.backgroundTouched=!0,this.stagedBackground=null,this.backgroundSurface?.markCleared()),this.renderState()}resetActiveTab(){switch(this.activeTabId){case"icon":this.iconTouched=!0,this.stagedIcon=null,this.iconSurface?.clearSelection();break;case"color":this.colorTouched=!0,this.stagedColor=null,this.colorSurface?.markCleared();break;case"background":this.backgroundTouched=!0,this.stagedBackground=null,this.backgroundSurface?.markCleared();break}this.renderState()}renderPreview(){this.previewIconEl.empty(),this.stagedIcon?(this.iconService.renderIcon(this.previewIconEl,this.stagedIcon),this.previewIconEl.removeClass("nn-appearance-preview-icon-empty")):this.previewIconEl.addClass("nn-appearance-preview-icon-empty"),this.stagedColor?this.previewItem.style.setProperty("--nn-preview-fg",this.stagedColor):this.previewItem.style.removeProperty("--nn-preview-fg"),this.stagedBackground?this.previewItem.style.setProperty("--nn-preview-bg",this.stagedBackground):this.previewItem.style.removeProperty("--nn-preview-bg")}renderTabChips(){this.tabs.forEach(n=>{if(n.chip.empty(),n.chip.removeClass("nn-appearance-tab-chip-empty"),n.chip.removeClass("nn-appearance-tab-color-chip"),n.chip.removeClass("nn-checkerboard"),n.chip.removeClass("nn-color-swatch"),n.chip.style.removeProperty("--nn-color-swatch-color"),n.id==="icon"){this.renderIconChip(n.chip);return}let r=n.id==="color"?this.stagedColor:this.stagedBackground;this.renderColorChip(n.chip,r)})}renderIconChip(n){if(n.addClass("nn-appearance-tab-icon-chip"),this.stagedIcon){this.iconService.renderIcon(n,this.stagedIcon);return}n.addClass("nn-appearance-tab-chip-empty"),(0,zR.setIcon)(n,"lucide-image")}renderColorChip(n,r){if(n.addClass("nn-appearance-tab-color-chip"),n.addClass("nn-checkerboard"),!r){n.addClass("nn-appearance-tab-chip-empty");return}n.addClass("nn-color-swatch"),n.style.setProperty("--nn-color-swatch-color",r)}renderResetButton(){if(!this.resetButton)return;let n="",r=!1;switch(this.activeTabId){case"icon":n=d.modals.appearance.resetIcon,r=this.iconTouched&&this.stagedIcon===null;break;case"color":n=d.modals.appearance.resetColor,r=this.colorTouched&&this.stagedColor===null;break;case"background":n=d.modals.appearance.resetBackground,r=this.backgroundTouched&&this.stagedBackground===null;break}this.resetButton.setText(n),this.resetButton.toggleClass("nn-appearance-reset-active",r)}renderClearButton(){if(!this.clearButton)return;let n=this.stagedIcon!==null||this.stagedColor!==null||this.stagedBackground!==null;this.clearButton.toggleClass("nn-appearance-clear-hidden",!n)}async applyAll(){this.params.icon&&this.hasChanged(this.params.icon.initial,this.stagedIcon,this.iconTouched)&&(this.stagedIcon&&this.iconSurface?.commitRecentIcon(),await this.params.icon.apply(this.stagedIcon)),this.params.color&&this.hasChanged(this.params.color.initial,this.stagedColor,this.colorTouched)&&(this.stagedColor&&this.colorSurface?.commitRecentColor(),await this.params.color.apply(this.stagedColor)),this.params.background&&this.hasChanged(this.params.background.initial,this.stagedBackground,this.backgroundTouched)&&(this.stagedBackground&&this.backgroundSurface?.commitRecentColor(),await this.params.background.apply(this.stagedBackground)),this.colorSurface?.persistCustomColors(),this.backgroundSurface?.persistCustomColors(),this.close()}hasChanged(n,r,o){return o&&(n??null)!==(r??null)}}});function BR(t){let{menu:e,app:n,metadataService:r,folderPath:o,showFolderIcons:a}=t,i=o.split("/").pop()||o,s=async l=>{let{AppearanceModal:c}=await Promise.resolve().then(()=>(pS(),uS));new c(n,{title:i,metadataService:r,initialTab:l,icon:a?{initial:r.getFolderIcon(o)??null,apply:async p=>{if(p===null){await r.removeFolderIcon(o);return}await r.setFolderIcon(o,p)}}:void 0,color:{initial:r.getFolderColor(o)??null,apply:async p=>{if(p===null){await r.removeFolderColor(o);return}await r.setFolderColor(o,p)}},background:{initial:r.getFolderBackgroundColor(o)??null,apply:async p=>{if(p===null){await r.removeFolderBackgroundColor(o);return}await r.setFolderBackgroundColor(o,p)}}}).open()};a&&e.addItem(l=>{$e(l.setTitle(d.contextMenu.folder.changeIcon).setIcon("lucide-image"),()=>s("icon"))}),e.addItem(l=>{$e(l.setTitle(d.contextMenu.folder.changeColor).setIcon("lucide-palette"),()=>s("color"))}),e.addItem(l=>{$e(l.setTitle(d.contextMenu.folder.changeBackground).setIcon("lucide-paint-bucket"),()=>s("background"))})}function ske(t){let{metadataService:e,folderPath:n,inheritFolderColors:r}=t,o=e.getFolderDisplayData(n,{includeDisplayName:!1,includeColor:!0,includeBackgroundColor:!0,includeIcon:!0,includeInheritedColors:!1}),a=r&&!o.color,i=r&&!o.backgroundColor,s=a||i?e.getFolderDisplayData(n,{includeDisplayName:!1,includeColor:a,includeBackgroundColor:i,includeIcon:!1,includeInheritedColors:!0}):null,l=!!o.icon,c=!!o.color,u=!!o.backgroundColor,p=Number(l)+Number(c)+Number(u);return{styleData:{icon:o.icon,color:o.color??s?.color,background:o.backgroundColor??s?.backgroundColor},hasRemovableIcon:l,hasRemovableColor:c,hasRemovableBackground:u,hasRemovableStyle:l||c||u,showClearAction:p>=2}}function _R(t){let{menu:e,metadataService:n,folderPath:r,inheritFolderColors:o,showFolderIcons:a}=t,i=ske({metadataService:n,folderPath:r,inheritFolderColors:o});Hp({menu:e,styleData:i.styleData,hasIcon:a,hasColor:!0,hasBackground:!0,showClearAction:i.showClearAction,applyStyle:async s=>{let{icon:l,color:c,background:u}=s;await n.setFolderStyle(r,{icon:l??void 0,color:c??void 0,backgroundColor:u??void 0})},removeIcon:i.hasRemovableIcon?async()=>n.removeFolderIcon(r):void 0,removeColor:i.hasRemovableColor?async()=>n.removeFolderColor(r):void 0,removeBackground:i.hasRemovableBackground?async()=>n.removeFolderBackgroundColor(r):void 0,clearStyle:i.hasRemovableStyle?async()=>n.setFolderStyle(r,{icon:null,color:null,backgroundColor:null}):void 0})}function Hp(t){if(typeof mee.MenuItem.prototype.setSubmenu!="function")return;let e=!!t.hasIcon,n=!!t.hasColor,r=!!t.hasBackground,a=iV()?.data,i=!!(e&&a?.icon||n&&a?.color||r&&a?.background),s=!!(t.removeIcon&&e),l=!!(t.removeColor&&n),c=!!(t.removeBackground&&r),u=Number(s)+Number(l)+Number(c),p=!!t.clearStyle||u>0,m=$F(t.styleData),g=!!(t.applyStyle&&i),f=u>0,h=(t.showIndividualRemovers??!0)&&f,b=t.showClearAction??(!!t.clearStyle||u>=2);!m&&!g&&!p||t.menu.addItem(v=>{let y=Dl(v);if(!y){v.setTitle(d.contextMenu.style.title).setIcon("lucide-brush").setDisabled(!0);return}v.setTitle(d.contextMenu.style.title).setIcon("lucide-brush"),m&&y.addItem(S=>{$e(S.setTitle(d.contextMenu.style.copy).setIcon("lucide-copy"),async()=>{lee(t.styleData)})}),g&&y.addItem(S=>{$e(S.setTitle(d.contextMenu.style.paste).setIcon("lucide-clipboard-check"),async()=>{let w=iV();if(!w||!$F(w.data)||!t.applyStyle)return;let k={icon:e?w.data.icon:void 0,color:n?w.data.color:void 0,background:r?w.data.background:void 0};$F(k)&&await t.applyStyle(k)})}),h&&s&&y.addItem(S=>{$e(S.setTitle(d.contextMenu.style.removeIcon).setIcon("lucide-image-off"),async()=>{await t.removeIcon?.()})}),h&&l&&y.addItem(S=>{$e(S.setTitle(d.contextMenu.style.removeColor).setIcon("lucide-palette"),async()=>{await t.removeColor?.()})}),h&&c&&y.addItem(S=>{$e(S.setTitle(d.contextMenu.style.removeBackground).setIcon("lucide-paint-bucket"),async()=>{await t.removeBackground?.()})}),b&&p&&y.addItem(S=>{$e(S.setTitle(d.contextMenu.style.clear).setIcon("lucide-eraser"),async()=>{if(t.clearStyle){await t.clearStyle();return}let w=[];s&&t.removeIcon&&w.push(t.removeIcon()),l&&t.removeColor&&w.push(t.removeColor()),c&&t.removeBackground&&w.push(t.removeBackground()),await Promise.all(w)})})})}var mee,mS=U(()=>{mee=require("obsidian");Ee();wu();dee()});function lV(t,e){let{folder:n,menu:r,services:o,state:a,dispatchers:i,settings:s}=t,{app:l,fileSystemOps:c,metadataService:u,plugin:p}=o,{selectionState:m,expandedFolders:g}=a,{selectionDispatch:f,expansionDispatch:h,uiDispatch:b}=i,v=e??_s({app:l,metadataService:u,settings:s,folderPath:n.path,fallbackName:n.name}),y=()=>m.selectionType===W.FOLDER&&m.selectedFolder&&m.selectedFolder.path===n.path?!1:(f({type:"SET_SELECTED_FOLDER",folder:n}),!0),S=I=>{I&&(f({type:"SET_SELECTED_FILE",file:I}),b({type:"SET_FOCUSED_PANE",pane:"files"}))};r.addItem(I=>{$e(I.setTitle(d.contextMenu.folder.newNote).setIcon("lucide-pen-box"),async()=>{let N=y(),O=await c.getManualSortNewFileContextForTarget("folder",n.path,{waitForSelectionUpdate:N}),K=await c.createNewFile(n,t.settings.createNewNotesInNewTab,O);S(K)})});let w=ty(l);w&&r.addItem(I=>{$e(I.setTitle(d.contextMenu.folder.newNoteFromTemplate).setIcon("templater-icon"),()=>(y(),w(n)))}),r.addItem(I=>{$e(I.setTitle(d.contextMenu.folder.newFolder).setIcon("lucide-folder-plus"),async()=>{y(),await c.createNewFolder(n,()=>{if(!g.has(n.path)){let N=s.collapseOtherBranchesOnExpand?[...Dp(n),n.path]:[n.path];ys({type:"folder",ids:N,collapseOtherBranches:s.collapseOtherBranchesOnExpand,dispatch:h})}})})}),r.addItem(I=>{$e(I.setTitle(d.contextMenu.folder.newCanvas).setIcon("lucide-layout-grid"),async()=>{y();let N=await c.createCanvas(n);S(N)})}),nh(l,"bases")?.enabled&&r.addItem(I=>{$e(I.setTitle(d.contextMenu.folder.newBase).setIcon("lucide-database"),async()=>{y();let N=await c.createBase(n);S(N)})});let F=ev(l,Ih),P=ev(l,xh),T=F&&P;if(F&&r.addItem(I=>{let N=T?d.contextMenu.folder.newExcalidrawDrawing:d.contextMenu.folder.newDrawing;$e(I.setTitle(N).setIcon("excalidraw-icon"),async()=>{y();let O=await c.createNewDrawing(n,"excalidraw");S(O)})}),P&&r.addItem(I=>{let N=T?d.contextMenu.folder.newTldrawDrawing:d.contextMenu.folder.newDrawing;$e(I.setTitle(N).setIcon("lucide-pencil"),async()=>{y();let O=await c.createNewDrawing(n,"tldraw");S(O)})}),s.enableFolderNotes){let I=Pn(n,s),N=!!I,O=!I;(N||O)&&r.addSeparator(),I?(r.addItem(K=>{$e(K.setTitle(d.contextMenu.folder.detachFolderNote).setIcon("lucide-unlink"),async()=>{await c.renameFile(I)})}),r.addItem(K=>{$e(K.setTitle(d.contextMenu.folder.deleteFolderNote).setIcon("lucide-trash").setWarning(!0),async()=>{await c.deleteFile(I,s.confirmBeforeDelete)})})):O&&r.addItem(K=>{$e(K.setTitle(d.contextMenu.folder.createFolderNote).setIcon("lucide-pen-box"),async()=>{y();let G=await q2(l,n,{folderNoteType:s.folderNoteType,folderNoteName:s.folderNoteName,folderNoteNamePattern:s.folderNoteNamePattern,folderNoteTemplate:s.folderNoteTemplate},o.commandQueue,{folderDisplayName:v,openContext:s.folderNoteOpenLocation==="right-sidebar"?"right-sidebar":null,openInRightSidebar:X=>p.openFolderNoteInRightSidebar(X)});if(S(G),G&&s.pinCreatedFolderNote)try{u.isFilePinned(G.path,"folder")||await u.togglePin(G.path,"folder")}catch(X){console.error("Failed to pin created folder note",{path:G.path,error:X})}})})}}function XF(t){let{folder:e,menu:n,services:r,settings:o,state:a,dispatchers:i,options:s}=t,{app:l,fileSystemOps:c,metadataService:u,plugin:p}=r,{selectionState:m,expandedFolders:g}=a,{selectionDispatch:f,expansionDispatch:h}=i,b=_s({app:l,metadataService:u,settings:o,folderPath:e.path,fallbackName:e.name});r.isMobile&&n.addItem(T=>{T.setTitle(b).setIsLabel(!0)}),lV(t,b),n.addSeparator(),BR({menu:n,app:l,metadataService:u,folderPath:e.path,showFolderIcons:o.showFolderIcons}),_R({menu:n,metadataService:u,folderPath:e.path,inheritFolderColors:o.inheritFolderColors,showFolderIcons:o.showFolderIcons}),typeof Dg.MenuItem.prototype.setSubmenu=="function"&&(n.addSeparator(),n.addItem(T=>{let I=u.getFolderChildSortOrderOverride(e.path),N=I??o.folderSortOrder,O=I?N==="alpha-desc"?"lucide-sort-desc":"lucide-sort-asc":"lucide-sliders-horizontal",K=Dl(T);if(!K){T.setTitle(d.paneHeader.changeChildSortOrder).setIcon(O).setDisabled(!0);return}let G=o.folderSortOrder==="alpha-desc"?d.settings.items.folderSortOrder.options.alphaDesc:d.settings.items.folderSortOrder.options.alphaAsc;T.setTitle(d.paneHeader.changeChildSortOrder).setIcon(O),K.addItem(X=>{X.setTitle(`${d.folderAppearance.defaultLabel} (${G})`).setChecked(!I),$e(X,async()=>{await u.removeFolderChildSortOrderOverride(e.path),l.workspace.requestSaveLayout()})}),K.addSeparator(),K.addItem(X=>{X.setTitle(d.settings.items.folderSortOrder.options.alphaAsc).setChecked(I==="alpha-asc"),$e(X,async()=>{await u.setFolderChildSortOrderOverride(e.path,"alpha-asc"),l.workspace.requestSaveLayout()})}),K.addItem(X=>{X.setTitle(d.settings.items.folderSortOrder.options.alphaDesc).setChecked(I==="alpha-desc"),$e(X,async()=>{await u.setFolderChildSortOrderOverride(e.path,"alpha-desc"),l.workspace.requestSaveLayout()})})}));let v={type:"folder",path:e.path},y=u.hasNavigationSeparator(v),S=!!s?.disableNavigationSeparatorActions;if(n.addSeparator(),r.shortcuts){let{folderShortcutKeysByPath:T,addFolderShortcut:I,removeShortcut:N,renameShortcut:O,shortcutMap:K}=r.shortcuts,G=T.get(e.path);if(G){let X=K.get(G);Tu({app:l,menu:n,shortcutKey:G,defaultLabel:b,existingShortcut:X,title:d.shortcuts.rename,placeholder:d.searchInput.shortcutNamePlaceholder,renameShortcut:O})}n.addItem(X=>{G?$e(X.setTitle(d.shortcuts.remove).setIcon(Hr(o.interfaceIcons,"nav-shortcuts","lucide-star-off")),async()=>{await N(G)}):$e(X.setTitle(d.shortcuts.add).setIcon(Hr(o.interfaceIcons,"nav-shortcuts","lucide-star")),async()=>{await I(e.path)})})}S||n.addItem(T=>{let I=y?d.contextMenu.navigation.removeSeparator:d.contextMenu.navigation.addSeparator;$e(T.setTitle(I).setIcon("lucide-separator-horizontal"),async()=>{if(y){await u.removeNavigationSeparator(v);return}await u.addNavigationSeparator(v)})}),n.addSeparator(),n.addItem(T=>{T.setTitle(d.contextMenu.folder.searchInFolder).setIcon("lucide-search").onClick(()=>{let I=nh(l,"global-search");I?.instance&&I.instance.openGlobalSearch(`path:"${e.path}"`)})}),e.path==="/"&&n.addItem(T=>{T.setTitle(d.commands.navigateToFolder).setIcon("lucide-folder").onClick(()=>{Rc(l,`${p.manifest.id}:navigate-to-folder`)})}),n.addSeparator();let w=l.vault.adapter,k=w instanceof Dg.FileSystemAdapter?w:null;if(OR({menu:n,getVaultPath:()=>e.path,getSystemPath:k?()=>k.getFullPath(e.path):void 0})&&n.addSeparator(),r.isMobile||(n.addItem(T=>{$e(T.setTitle(c.getRevealInSystemExplorerText()).setIcon(Dg.Platform.isMacOS?"lucide-app-window-mac":"lucide-app-window"),async()=>{await c.revealInSystemExplorer(e)})}),n.addSeparator()),(r.plugin.api?.[Ea].menus.applyFolderMenuExtensions({menu:n,folder:e})??0)>0&&n.addSeparator(),e.path!=="/"){let T=nn(r.plugin.settings),I=T.hiddenFolders,N=ei(e,I),O=Me(_i(e.path)),K=I.find(G=>{let X=zj(G);return!!(X&&Me(X.normalizedPrefix)===O)});K?n.addItem(G=>{$e(G.setTitle(d.contextMenu.folder.unhideFolder).setIcon("lucide-eye"),async()=>{let X=T.hiddenFolders;T.hiddenFolders=X.filter(L=>L!==K),await r.plugin.saveSettingsAndUpdate(),de(d.fileSystem.notices.showFolder.replace("{name}",b),{variant:"success"})})}):N||n.addItem(G=>{$e(G.setTitle(d.contextMenu.folder.excludeFolder).setIcon("lucide-eye-off"),async()=>{let X=T.hiddenFolders,L=e.path.startsWith("/")?e.path:`/${e.path}`,V=PN(X,L);T.hiddenFolders=V,await r.plugin.saveSettingsAndUpdate(),de(d.fileSystem.notices.hideFolder.replace("{name}",b),{variant:"success"})})})}n.addItem(T=>{$e(T.setTitle(d.contextMenu.folder.renameFolder).setIcon("lucide-pencil"),async()=>{if(e.path==="/"){let{InputModal:I}=await Promise.resolve().then(()=>(fh(),LA));new I(l,d.modals.fileSystem.renameVaultTitle,d.modals.fileSystem.renameVaultPrompt,O=>{Q(async()=>{r.plugin.settings.customVaultName=O,await r.plugin.saveSettingsAndUpdate()})},o.customVaultName).open()}else await c.renameFolder(e,o)})}),e.path!=="/"&&n.addItem(T=>{$e(T.setTitle(d.contextMenu.folder.moveFolder).setIcon("lucide-folder-input"),async()=>{let I=await c.moveFolderWithModal(e);if(I.status!=="success")return;let{oldPath:N,newPath:O,targetFolder:K}=I.data,G=l.vault.getAbstractFileByPath(O);if(!G||!(G instanceof Dg.TFolder))return;m.selectedFolder===e&&f({type:"SET_SELECTED_FOLDER",folder:G});let L=new Set,V=`${N}/`;g.forEach(A=>{if(A===N){L.add(O);return}if(A.startsWith(V)){let _=A.substring(V.length),E=_.length>0?`${O}/${_}`:O;L.add(E);return}L.add(A)});let D=K.path;D!=="/"&&!L.has(D)&&L.add(D),h({type:"SET_EXPANDED_FOLDERS",folders:L})})}),n.addItem(T=>{$e(T.setTitle(d.contextMenu.folder.duplicateFolder).setIcon("lucide-copy"),async()=>{await c.duplicateFolder(e)})}),e.path!=="/"&&n.addItem(T=>{$e(T.setTitle(d.contextMenu.folder.deleteFolder).setIcon("lucide-trash").setWarning(!0),async()=>{let I=e.parent;await c.deleteFolder(e,o.confirmBeforeDelete,()=>{if(m.selectedFolder){let N=e.path===m.selectedFolder.path,O=kU(e,m.selectedFolder);(N||O)&&(I&&(I.path!=="/"||o.showRootFolder)?f({type:"SET_SELECTED_FOLDER",folder:I}):f({type:"SET_SELECTED_FOLDER",folder:null}))}})})})}var Dg,dV=U(()=>{Dg=require("obsidian");Ee();Fn();Zr();Jc();Yr();Ue();ot();wu();dS();pr();dn();Ot();PT();mS();Xc();Vm();eg();hu()});function QF(t){let{tagPath:e,menu:n,services:r,settings:o,state:a,dispatchers:i,options:s}=t,{app:l,metadataService:c,plugin:u,fileSystemOps:p,isMobile:m}=r,{selectionState:g}=a,{selectionDispatch:f,uiDispatch:h}=i;m&&(n.addItem(R=>{let M=Vs(e)?rc(e).getLabel():`#${e}`;R.setTitle(M).setIsLabel(!0)}),n.addSeparator());let b=e===bt||e===zt,v=()=>g.selectionType===W.TAG&&g.selectedTag===e?!1:(f({type:"SET_SELECTED_TAG",tag:e}),!0),y=R=>{R&&(f({type:"SET_SELECTED_FILE",file:R}),h({type:"SET_FOCUSED_PANE",pane:"files"}))};b||(n.addItem(R=>{$e(R.setTitle(d.contextMenu.folder.newNote).setIcon("lucide-pen-box"),async()=>{let M=v(),C=g.selectedFile?.path??l.workspace.getActiveFile()?.path??"",x=Ze(e),z=x?await p.getManualSortNewFileContextForTarget("tag",x,{waitForSelectionUpdate:M}):null,H=await p.createNewFileForTag(e,C,o.createNewNotesInNewTab,z);y(H)})}),n.addSeparator());let S=async R=>{let{AppearanceModal:M}=await Promise.resolve().then(()=>(pS(),uS));new M(l,{title:`#${e}`,metadataService:c,initialTab:R,icon:o.showTagIcons?{initial:c.getTagIcon(e)??null,apply:async x=>{if(x===null){await c.removeTagIcon(e);return}await c.setTagIcon(e,x)}}:void 0,color:{initial:c.getTagColor(e)??null,apply:async x=>{if(x===null){await c.removeTagColor(e);return}await c.setTagColor(e,x)}},background:{initial:c.getTagBackgroundColor(e)??null,apply:async x=>{if(x===null){await c.removeTagBackgroundColor(e);return}await c.setTagBackgroundColor(e,x)}}}).open()};o.showTagIcons&&n.addItem(R=>{$e(R.setTitle(d.contextMenu.tag.changeIcon).setIcon("lucide-image"),()=>S("icon"))}),n.addItem(R=>{$e(R.setTitle(d.contextMenu.tag.changeColor).setIcon("lucide-palette"),()=>S("color"))}),n.addItem(R=>{$e(R.setTitle(d.contextMenu.tag.changeBackground).setIcon("lucide-paint-bucket"),()=>S("background"))});let w=c.getTagIcon(e),k=c.getTagColorData(e),F=k.color,P=k.background,T=Ze(e),I=T?o.tagColors?.[T]:void 0,N=T?o.tagBackgroundColors?.[T]:void 0,O=!!w,K=!!I,G=!!N;Hp({menu:n,styleData:{icon:w,color:F,background:P},hasIcon:o.showTagIcons,hasColor:!0,hasBackground:!0,applyStyle:async R=>{let{icon:M,color:C,background:x}=R,z=[];M&&z.push(c.setTagIcon(e,M)),C&&z.push(c.setTagColor(e,C)),x&&z.push(c.setTagBackgroundColor(e,x)),await Promise.all(z)},removeIcon:O?async()=>c.removeTagIcon(e):void 0,removeColor:K?async()=>c.removeTagColor(e):void 0,removeBackground:G?async()=>c.removeTagBackgroundColor(e):void 0}),typeof gee.MenuItem.prototype.setSubmenu=="function"&&(n.addSeparator(),n.addItem(R=>{let M=c.getTagChildSortOrderOverride(e),C=M??o.tagSortOrder,x=M?C.endsWith("-desc")?"lucide-sort-desc":"lucide-sort-asc":"lucide-sliders-horizontal",z=Dl(R);if(!z){R.setTitle(d.paneHeader.changeChildSortOrder).setIcon(x).setDisabled(!0);return}let H=(()=>{switch(o.tagSortOrder){case"alpha-desc":return d.settings.items.tagSortOrder.options.alphaDesc;case"frequency-asc":return d.settings.items.tagSortOrder.options.lowToHigh;case"frequency-desc":return d.settings.items.tagSortOrder.options.highToLow;default:return d.settings.items.tagSortOrder.options.alphaAsc}})();R.setTitle(d.paneHeader.changeChildSortOrder).setIcon(x),z.addItem(Y=>{Y.setTitle(`${d.folderAppearance.defaultLabel} (${H})`).setChecked(!M),$e(Y,async()=>{await c.removeTagChildSortOrderOverride(e),l.workspace.requestSaveLayout()})}),z.addSeparator(),z.addItem(Y=>{Y.setTitle(d.settings.items.tagSortOrder.options.alphaAsc).setChecked(M==="alpha-asc"),$e(Y,async()=>{await c.setTagChildSortOrderOverride(e,"alpha-asc"),l.workspace.requestSaveLayout()})}),z.addItem(Y=>{Y.setTitle(d.settings.items.tagSortOrder.options.alphaDesc).setChecked(M==="alpha-desc"),$e(Y,async()=>{await c.setTagChildSortOrderOverride(e,"alpha-desc"),l.workspace.requestSaveLayout()})})}));let X=!!s?.disableNavigationSeparatorActions;if((r.shortcuts||!X)&&n.addSeparator(),r.shortcuts){let{tagShortcutKeysByPath:R,addTagShortcut:M,removeShortcut:C,renameShortcut:x,shortcutMap:z}=r.shortcuts,H=Ze(e),Y=H?R.get(H):void 0;if(Y){let ee=z.get(Y),$=Vs(e)?rc(e).getLabel():rx(e,r.tagTreeService);Tu({app:l,menu:n,shortcutKey:Y,defaultLabel:$,existingShortcut:ee,title:d.shortcuts.rename,placeholder:d.searchInput.shortcutNamePlaceholder,renameShortcut:x})}n.addItem(ee=>{Y?$e(ee.setTitle(d.shortcuts.remove).setIcon(Hr(o.interfaceIcons,"nav-shortcuts","lucide-star-off")),async()=>{await C(Y)}):$e(ee.setTitle(d.shortcuts.add).setIcon(Hr(o.interfaceIcons,"nav-shortcuts","lucide-star")),async()=>{await M(e)})})}if(!X){let R={type:"tag",path:e},M=c.hasNavigationSeparator(R);n.addItem(C=>{let x=M?d.contextMenu.navigation.removeSeparator:d.contextMenu.navigation.addSeparator;$e(C.setTitle(x).setIcon("lucide-separator-horizontal"),async()=>{if(M){await c.removeNavigationSeparator(R);return}await c.addNavigationSeparator(R)})})}let V=e!==bt,D=nn(u.settings),A=VN(u.settings),_=V||!b,E=r.plugin.api?.[Ea].menus.applyTagMenuExtensions({menu:n,tag:T??e})??0;if(E>0&&_&&n.addSeparator(),V||!b){if(E===0&&n.addSeparator(),V){let R=Fm(A),M=R.pathPatterns.length>0||R.prefixes.length>0||R.startsWithNames.length>0||R.endsWithNames.length>0,C=e.split("/").pop()??e,x=M&&ss(e,C,R),z=Ze(e),H=z!==null&&A.some(Y=>{let ee=Ze(Y);return ee!==null&&!ee.includes("*")&&ee===z});x?H&&z&&n.addItem(Y=>{$e(Y.setTitle(d.contextMenu.tag.showTag).setIcon("lucide-eye"),async()=>{D.hiddenTags=A.filter(ee=>{let $=Ze(ee);return!($&&!$.includes("*")&&$===z)}),await u.saveSettingsAndUpdate()})}):n.addItem(Y=>{$e(Y.setTitle(d.contextMenu.tag.hideTag).setIcon("lucide-eye-off"),async()=>{let ee=_W(A,e);D.hiddenTags=ee,await u.saveSettingsAndUpdate()})})}b||(n.addItem(R=>{$e(R.setTitle(d.modals.tagOperation.confirmRename).setIcon("lucide-pencil"),async()=>{await r.tagOperations.promptRenameTag(e)})}),n.addItem(R=>{$e(R.setTitle(d.modals.tagOperation.confirmDelete).setIcon("lucide-trash").setWarning(!0),async()=>{await r.tagOperations.promptDeleteTag(e)})}))}}var gee,hee=U(()=>{gee=require("obsidian");Ee();Dr();Ue();Sn();wu();dS();mS();pr();Jm();dn();tk();eg()});function lke(t){let{propertyNodeId:e,propertyNodeName:n,keyNodeName:r}=t,o=kn(e);if(!o)return n??e;if(!o.valuePath)return n??o.key;let a=r??o.key,i=n??o.valuePath;return`${a} = ${i}`}function fee(t){let{app:e,menu:n,settings:r,shortcuts:o,nodeId:a,label:i}=t,{addPropertyShortcut:s,propertyShortcutKeysByNodeId:l,removeShortcut:c,renameShortcut:u,shortcutMap:p}=o,m=l.get(a);if(m){let g=p.get(m);Tu({app:e,menu:n,shortcutKey:m,defaultLabel:i,existingShortcut:g,title:d.shortcuts.rename,placeholder:d.searchInput.shortcutNamePlaceholder,renameShortcut:u})}n.addItem(g=>{if(m){$e(g.setTitle(d.shortcuts.remove).setIcon(Hr(r.interfaceIcons,"nav-shortcuts","lucide-star-off")),async()=>{await c(m)});return}$e(g.setTitle(d.shortcuts.add).setIcon(Hr(r.interfaceIcons,"nav-shortcuts","lucide-star")),async()=>{await s(a)})})}function ZF(t){let{propertyNodeId:e,menu:n,services:r,settings:o,state:a,dispatchers:i,options:s}=t,{app:l,metadataService:c,propertyOperations:u,propertyTreeService:p,fileSystemOps:m,isMobile:g}=r,{selectionState:f}=a,{selectionDispatch:h,uiDispatch:b}=i;if(e===Oe){let E=d.navigationPane.properties;g&&(n.addItem(M=>{M.setTitle(E).setIsLabel(!0)}),n.addSeparator()),(r.plugin.api?.[Ea].menus.applyPropertyMenuExtensions({menu:n,nodeId:Oe})??0)>0&&r.shortcuts&&n.addSeparator(),r.shortcuts&&fee({app:l,menu:n,settings:o,shortcuts:r.shortcuts,nodeId:Oe,label:E});return}let v=Gt(e);if(!v)return;let y=p?.findNode(v),S=y?.kind==="key"?y.key:null,w=y?.kind==="key"?y:y?p?.getKeyNode(y.key):null,k=lke({propertyNodeId:v,propertyNodeName:y?.name,keyNodeName:w?.name});g&&(n.addItem(E=>{E.setTitle(k).setIsLabel(!0)}),n.addSeparator());let F=()=>f.selectionType===W.PROPERTY&&f.selectedProperty===v?!1:(h({type:"SET_SELECTED_PROPERTY",nodeId:v}),!0),P=E=>{E&&(h({type:"SET_SELECTED_FILE",file:E}),b({type:"SET_FOCUSED_PANE",pane:"files"}))};n.addItem(E=>{$e(E.setTitle(d.contextMenu.folder.newNote).setIcon("lucide-pen-box"),async()=>{let R=F(),M=f.selectedFile?.path??l.workspace.getActiveFile()?.path??"",C=await m.getManualSortNewFileContextForTarget("property",v,{waitForSelectionUpdate:R}),x=await m.createNewFileForProperty(v,M,o.createNewNotesInNewTab,C);P(x)})}),n.addSeparator();let T=async E=>{let{AppearanceModal:R}=await Promise.resolve().then(()=>(pS(),uS));new R(l,{title:k,metadataService:c,initialTab:E,icon:o.showPropertyIcons?{initial:c.getPropertyIcon(v)??null,apply:async C=>{if(C===null){await c.removePropertyIcon(v);return}await c.setPropertyIcon(v,C)}}:void 0,color:{initial:c.getPropertyColor(v)??null,apply:async C=>{if(C===null){await c.removePropertyColor(v);return}await c.setPropertyColor(v,C)}},background:{initial:c.getPropertyBackgroundColor(v)??null,apply:async C=>{if(C===null){await c.removePropertyBackgroundColor(v);return}await c.setPropertyBackgroundColor(v,C)}}}).open()};o.showPropertyIcons&&n.addItem(E=>{$e(E.setTitle(d.contextMenu.tag.changeIcon).setIcon("lucide-image"),()=>T("icon"))}),n.addItem(E=>{$e(E.setTitle(d.contextMenu.tag.changeColor).setIcon("lucide-palette"),()=>T("color"))}),n.addItem(E=>{$e(E.setTitle(d.contextMenu.tag.changeBackground).setIcon("lucide-paint-bucket"),()=>T("background"))});let I=c.getPropertyIcon(v),N=c.getPropertyColorData(v),O=N.color,K=N.background,G=o.propertyIcons?.[v],X=o.propertyColors?.[v],L=o.propertyBackgroundColors?.[v];Hp({menu:n,styleData:{icon:I,color:O,background:K},hasIcon:o.showPropertyIcons,hasColor:!0,hasBackground:!0,applyStyle:async E=>{let{icon:R,color:M,background:C}=E,x=[];R&&x.push(c.setPropertyIcon(v,R)),M&&x.push(c.setPropertyColor(v,M)),C&&x.push(c.setPropertyBackgroundColor(v,C)),await Promise.all(x)},removeIcon:G?async()=>c.removePropertyIcon(v):void 0,removeColor:X?async()=>c.removePropertyColor(v):void 0,removeBackground:L?async()=>c.removePropertyBackgroundColor(v):void 0}),typeof vee.MenuItem.prototype.setSubmenu=="function"&&(n.addSeparator(),n.addItem(E=>{let R=c.getPropertyChildSortOrderOverride(v),M=R??o.propertySortOrder,C=R?M.endsWith("-desc")?"lucide-sort-desc":"lucide-sort-asc":"lucide-sliders-horizontal",x=Dl(E);if(!x){E.setTitle(d.paneHeader.changeChildSortOrder).setIcon(C).setDisabled(!0);return}let z=(()=>{switch(o.propertySortOrder){case"alpha-desc":return d.settings.items.propertySortOrder.options.alphaDesc;case"frequency-asc":return d.settings.items.propertySortOrder.options.lowToHigh;case"frequency-desc":return d.settings.items.propertySortOrder.options.highToLow;default:return d.settings.items.propertySortOrder.options.alphaAsc}})();E.setTitle(d.paneHeader.changeChildSortOrder).setIcon(C),x.addItem(H=>{H.setTitle(`${d.folderAppearance.defaultLabel} (${z})`).setChecked(!R),$e(H,async()=>{await c.removePropertyChildSortOrderOverride(v),l.workspace.requestSaveLayout()})}),x.addSeparator(),x.addItem(H=>{H.setTitle(d.settings.items.propertySortOrder.options.alphaAsc).setChecked(R==="alpha-asc"),$e(H,async()=>{await c.setPropertyChildSortOrderOverride(v,"alpha-asc"),l.workspace.requestSaveLayout()})}),x.addItem(H=>{H.setTitle(d.settings.items.propertySortOrder.options.alphaDesc).setChecked(R==="alpha-desc"),$e(H,async()=>{await c.setPropertyChildSortOrderOverride(v,"alpha-desc"),l.workspace.requestSaveLayout()})})}));let V=!!s?.disableNavigationSeparatorActions;if((r.shortcuts||!V)&&n.addSeparator(),r.shortcuts&&fee({app:l,menu:n,settings:o,shortcuts:r.shortcuts,nodeId:v,label:k}),!V){let E={type:"property",nodeId:v},R=c.hasNavigationSeparator(E);n.addItem(M=>{let C=R?d.contextMenu.navigation.removeSeparator:d.contextMenu.navigation.addSeparator;$e(M.setTitle(C).setIcon("lucide-separator-horizontal"),async()=>{if(R){await c.removeNavigationSeparator(E);return}await c.addNavigationSeparator(E)})})}let A=y?.kind==="key"&&y.notesWithValue.size>0,_=r.plugin.api?.[Ea].menus.applyPropertyMenuExtensions({menu:n,nodeId:v})??0;_>0&&A&&n.addSeparator(),S&&A&&(_===0&&n.addSeparator(),n.addItem(E=>{$e(E.setTitle(d.contextMenu.property.renameKey).setIcon("lucide-pencil"),async()=>{await u.promptRenamePropertyKey(S)})}),n.addItem(E=>{$e(E.setTitle(d.contextMenu.property.deleteKey).setIcon("lucide-trash").setWarning(!0),async()=>{await u.promptDeletePropertyKey(S)})}))}var vee,yee=U(()=>{vee=require("obsidian");Ee();Ue();wu();dS();mS();pr();cn();eg()});var uV={};In(uV,{ManualSortGroupHeaderModal:()=>cV});var gS,cV,pV=U(()=>{gS=require("obsidian");Ee();Ue();ot();Ha();wi();_T();cV=class extends gS.Modal{constructor(n,r,o,a){super(n);this.initialValue=r;this.onSubmit=o;this.options=a;this.headerInputEl=null;this.targetInputEl=null;this.iconPreviewEl=null;this.iconButtonTextEl=null;this.colorPreviewEl=null;this.colorButtonTextEl=null;this.showWordCount=!1;this.iconId=null;this.color=null;this.isSubmitting=!1;this.openIconPicker=()=>{Q(async()=>{let{IconPickerModal:n}=await Promise.resolve().then(()=>(RI(),MI)),r=new n(this.app,this.options.metadataService,"",W.FILE,{titleOverride:d.modals.manualSortGroupHeader.icon,currentIconId:this.iconId,disableMetadataUpdates:!0});r.onChooseIcon=async o=>(this.iconId=o,this.updateIconControls(),{handled:!0}),r.open()})};this.openColorPicker=()=>{new BT(this.app,{title:d.modals.manualSortGroupHeader.color,initialColor:this.color,settingsProvider:this.options.metadataService.getSettingsProvider(),onChooseColor:r=>{this.color=r,this.updateColorControls()}}).open()};this.filterTargetInput=()=>{this.targetInputEl&&(this.targetInputEl.value=this.targetInputEl.value.replace(/[^\d,]/g,""))};this.handleCancelClick=()=>{this.close()};this.handleSubmitClick=()=>{this.handleSubmit()};this.showWordCount=r?.showWordCount??!1,this.iconId=r?.iconId??null,this.color=r?.color??null}onOpen(){let{contentEl:n}=this;n.empty(),this.modalEl.addClass("nn-manual-sort-group-header-modal"),this.titleEl.setText(d.modals.manualSortGroupHeader.title),n.createDiv({cls:"nn-input-description nn-manual-sort-header-description",text:d.modals.manualSortGroupHeader.description});let o=this.createSection(n).createDiv({cls:"nn-manual-sort-header-field"});o.createDiv({cls:"nn-manual-sort-header-field-label",text:d.modals.manualSortGroupHeader.titleLabel}),this.headerInputEl=o.createEl("input",{cls:"nn-manual-sort-header-input"}),this.headerInputEl.type="text",this.headerInputEl.placeholder=d.modals.manualSortGroupHeader.placeholder,this.headerInputEl.value=this.initialValue?.title??"";let i=this.createSection(n).createDiv({cls:"nn-manual-sort-header-appearance-actions"}),l=i.createDiv({cls:"nn-manual-sort-header-action-row"}).createEl("button",{cls:"nn-manual-sort-header-style-button"});l.type="button",l.addEventListener("click",this.openIconPicker),this.iconPreviewEl=l.createSpan({cls:"nn-manual-sort-header-style-preview"}),this.iconButtonTextEl=l.createSpan({cls:"nn-manual-sort-header-style-text"}),this.updateIconControls();let u=i.createDiv({cls:"nn-manual-sort-header-action-row"}).createEl("button",{cls:"nn-manual-sort-header-style-button"});u.type="button",u.addEventListener("click",this.openColorPicker),this.colorPreviewEl=u.createSpan({cls:"nn-manual-sort-header-style-preview nn-color-swatch"}),this.colorButtonTextEl=u.createSpan({cls:"nn-manual-sort-header-style-text"}),this.updateColorControls();let p=this.createSection(n);new gS.Setting(p).setName(d.modals.manualSortGroupHeader.wordCount).addToggle(v=>v.setValue(this.showWordCount).onChange(y=>{this.showWordCount=y,!y&&this.targetInputEl&&(this.targetInputEl.value=""),this.updateWordCountTargetControl()})).settingEl.addClass("nn-manual-sort-header-toggle-setting");let g=p.createDiv({cls:"nn-manual-sort-header-field nn-manual-sort-header-target-field"});g.createDiv({cls:"nn-manual-sort-header-field-label",text:d.modals.manualSortGroupHeader.wordCountTarget}),this.targetInputEl=g.createEl("input",{cls:"nn-manual-sort-header-input"}),this.targetInputEl.type="text",this.targetInputEl.inputMode="numeric",this.targetInputEl.placeholder=d.modals.manualSortGroupHeader.wordCountTargetPlaceholder,this.targetInputEl.value=this.showWordCount?this.initialValue?.targetWordCount?.toString()??"":"",this.targetInputEl.addEventListener("input",this.filterTargetInput),g.createDiv({cls:"nn-input-description nn-manual-sort-header-target-description",text:d.modals.manualSortGroupHeader.wordCountTargetDescription}),this.updateWordCountTargetControl();let f=n.createDiv("nn-button-container");f.createEl("button",{text:d.common.cancel}).addEventListener("click",this.handleCancelClick),f.createEl("button",{text:d.common.save,cls:"mod-cta"}).addEventListener("click",this.handleSubmitClick),this.scope.register([],"Enter",v=>{let y=activeDocument.activeElement;!(y instanceof HTMLElement)||!this.contentEl.contains(y)||(v.preventDefault(),this.handleSubmit())}),this.headerInputEl?.focus(),this.initialValue?.title&&this.headerInputEl?.select()}onClose(){this.targetInputEl?.removeEventListener("input",this.filterTargetInput),this.modalEl.removeClass("nn-manual-sort-group-header-modal"),this.contentEl.empty()}createSection(n){return n.createDiv({cls:"nn-manual-sort-header-section"})}updateIconControls(){this.iconButtonTextEl&&this.iconButtonTextEl.setText(d.modals.manualSortGroupHeader.icon),this.iconPreviewEl&&(this.iconPreviewEl.empty(),this.iconPreviewEl.toggleClass("is-empty",!this.iconId),this.iconId?yn().renderIcon(this.iconPreviewEl,this.iconId,16):(0,gS.setIcon)(this.iconPreviewEl,"lucide-square-dashed"))}updateColorControls(){this.colorButtonTextEl&&this.colorButtonTextEl.setText(d.modals.manualSortGroupHeader.color),this.colorPreviewEl&&(this.colorPreviewEl.toggleClass("is-empty",!this.color),this.color?this.colorPreviewEl.style.setProperty("--nn-manual-sort-header-preview-color",this.color):this.colorPreviewEl.style.removeProperty("--nn-manual-sort-header-preview-color"))}updateWordCountTargetControl(){this.targetInputEl&&(this.targetInputEl.disabled=!this.showWordCount)}handleSubmit(){if(this.isSubmitting)return;let n=this.showWordCount?pI(this.targetInputEl?.value??""):null,r={title:this.headerInputEl?.value??"",showWordCount:this.showWordCount,targetWordCount:n,iconId:this.iconId,color:this.color};this.isSubmitting=!0,this.close(),Q(async()=>{try{await this.onSubmit(r)}finally{this.isSubmitting=!1}})}}});function dke(t){Tee={showWordCount:t.showWordCount,targetWordCount:t.showWordCount?t.targetWordCount:null,iconId:t.iconId,color:t.color}}function bee(){return Tee}function cke(t,e){return{title:t,showWordCount:e.showWordCount,targetWordCount:e.showWordCount?e.targetWordCount:null,iconId:e.iconId,color:e.color}}function See(t,e,n,r,o,a,i){t.addItem(s=>{$e(s.setTitle(a).setIcon("lucide-pencil"),async()=>{let{ManualSortGroupHeaderModal:l}=await Promise.resolve().then(()=>(pV(),uV));new l(e,i,async u=>{await OT(e,n,r,u)},{metadataService:o}).open()})})}async function uke(t,e,n,r,o){let{ManualSortGroupHeaderModal:a}=await Promise.resolve().then(()=>(pV(),uV));new a(t,{title:"",showWordCount:o.showWordCount,targetWordCount:o.showWordCount?o.targetWordCount:null,iconId:o.iconId,color:o.color},async s=>{await OT(t,e,n,s)},{metadataService:r}).open()}async function pke(t,e,n,r,o,a){if(!o){await uke(t,e,n,r,a);return}await OT(t,e,n,cke(o.title,a))}function wee(t,e,n,r,o,a){let i=bee();if(!a&&!i)return!1;let s=!1;return t.addItem(l=>{let c=Dl(l);if(!c){l.setTitle(d.contextMenu.file.manualSortGroupHeader.title).setIcon("lucide-heading").setDisabled(!0);return}l.setTitle(d.contextMenu.file.manualSortGroupHeader.title).setIcon("lucide-heading"),s=!0,a&&c.addItem(u=>{u.setTitle(d.contextMenu.file.manualSortGroupHeader.copyStyle).setIcon("lucide-copy").onClick(()=>{dke(a)})}),i&&c.addItem(u=>{$e(u.setTitle(d.contextMenu.file.manualSortGroupHeader.pasteStyle).setIcon("lucide-clipboard-check"),async()=>{let p=bee();p&&await pke(e,n,r,o,a,p)})}),a&&c.addItem(u=>{$e(u.setTitle(d.contextMenu.file.manualSortGroupHeader.remove).setIcon("lucide-eraser"),async()=>{await OT(e,n,r,"")})})}),s}function hS({menu:t,app:e,file:n,propertyKey:r,metadataService:o}){if(n.extension!=="md")return!1;let a=zm(e,n,r);return a?(See(t,e,n,r,o,d.contextMenu.file.changeManualSortGroupHeader,a),wee(t,e,n,r,o,a),!0):(See(t,e,n,r,o,d.contextMenu.file.setManualSortGroupHeader,a),wee(t,e,n,r,o,a),!0)}var Tee,HR=U(()=>{Ee();wi();wu();Tee=null});function VR({menu:t,app:e,commandQueue:n,fileSystemOps:r,files:o,outputFolder:a,defaultOutputName:i,title:s}){let l=zp(o);return l.length<2?!1:(t.addItem(c=>{$e(c.setTitle(s).setIcon("lucide-git-merge"),async()=>{await dR({app:e,commandQueue:n,fileSystemOps:r,files:l,outputFolder:a,defaultOutputName:i})})}),!0)}var mV=U(()=>{Xb();CH();wu()});function mke(t,e,n){let r=e.getPropertyIcon(n.nodeId),o=Kh(r);if(o)return o;let a=e.getPropertyIcon(n.keyNodeId),i=Kh(a);return i||Hr(t.interfaceIcons,"nav-property-value","lucide-equal")}function fS(t){let{file:e,menu:n,services:r,settings:o,state:a,dispatchers:i,options:s}=t,{app:l,isMobile:c,fileSystemOps:u,metadataService:p,tagTreeService:m,propertyTreeService:g,commandQueue:f,visibility:h}=r,{selectionState:b}=a,{selectionDispatch:v}=i;c&&n.addItem(L=>{L.setTitle(e.basename).setIsLabel(!0)});let S=b.selectedFiles.size>1,w=b.selectedFiles.has(e.path),k=e.extension==="md",F=S&&w,P=!F&&o.enableFolderNotes&&e.parent instanceof Ag.TFolder&&zs(e,e.parent,o),T=null,I=()=>T||(s?.orderedFiles?.some(L=>L.path===e.path||b.selectedFiles.has(L.path))?(T=[...s.orderedFiles],T):(T=ca({selectionType:b.selectionType,selectedFolder:b.selectedFolder,selectedTag:b.selectedTag,selectedProperty:b.selectedProperty},o,h,l,m,g),T)),N=F?fke(b.selectedFiles,l,s?.orderedFiles):[],O=N.length;F?Tke(n,N,l,c,f):wke(n,e,l,c,f),n.addSeparator();let K=hke({file:e,isFolderNoteFile:P,shouldShowMultiOptions:F,selectedFiles:N});vke({menu:n,app:l,metadataService:p,settings:o,file:e,styleTarget:K}),n.addSeparator(),gke({menu:n,app:l,metadataService:p,settings:o,file:e,source:s?.source,selectionState:b,shouldShowMultiOptions:F})&&n.addSeparator();let G=F?N:[e];if(G.length>0&&G.every(L=>L.extension==="md")){let L=r.tagOperations.getTagsFromFiles(G),V=L.length>0,D=L.length>1;n.addItem(_=>{$e(_.setTitle(d.contextMenu.file.addTag).setIcon("lucide-tag"),()=>{$b({app:l,plugin:r.plugin,tagOperations:r.tagOperations,files:G})})});let A=sR(o,g);A.length>0&&n.addItem(_=>{let E=Dl(_);if(_.setTitle(d.contextMenu.file.addPropertyKey).setIcon(Hr(o.interfaceIcons,"nav-property","lucide-align-left")),!E){_.setDisabled(!0);return}A.forEach(R=>{E.addItem(M=>{let C=M.setTitle(R.label);C.setIcon(mke(o,p,R)),$e(C,async()=>{await u.applyPropertyNodeToFiles(R.nodeId,G)})})})}),V&&(n.addItem(_=>{$e(_.setTitle(d.contextMenu.file.removeTag).setIcon("lucide-minus"),async()=>{await oR({app:l,tagOperations:r.tagOperations,files:G})})}),D&&n.addItem(_=>{$e(_.setTitle(d.contextMenu.file.removeAllTags).setIcon("lucide-x"),()=>{aR({app:l,tagOperations:r.tagOperations,files:G})})})),n.addSeparator()}if(!F){if(r.shortcuts){let{noteShortcutKeysByPath:V,addNoteShortcut:D,removeShortcut:A,renameShortcut:_,shortcutMap:E}=r.shortcuts,R=V.get(e.path);if(R){let M=E.get(R),C=tv(e)?`${bm(e)}${ah(e)}`:bm(e);Tu({app:l,menu:n,shortcutKey:R,defaultLabel:C,existingShortcut:M,title:d.shortcuts.rename,placeholder:d.searchInput.shortcutNamePlaceholder,renameShortcut:_})}n.addItem(M=>{R?$e(M.setTitle(d.shortcuts.remove).setIcon(Hr(o.interfaceIcons,"nav-shortcuts","lucide-star-off")),async()=>{await A(R)}):$e(M.setTitle(d.shortcuts.add).setIcon(Hr(o.interfaceIcons,"nav-shortcuts","lucide-star")),async()=>{await D(e.path)})})}let L=ik(b.selectionType);kke(n,e,p,L),n.addSeparator()}if(F){r.shortcuts&&Fke(n,N,b,l,o,r.shortcuts);let L=ik(b.selectionType);Pke(n,N,p,L),n.addSeparator(),(r.plugin.api?.[Ea].menus.applyFileMenuExtensions({menu:n,file:e,selection:{mode:"multiple",files:[...N]}})??0)>0&&n.addSeparator(),Cke(n,N,l,f,u);let D=N.every(A=>A.extension==="md");n.addItem(A=>{$e(A.setTitle(D?d.contextMenu.file.moveMultipleNotesToFolder.replace("{count}",O.toString()):d.contextMenu.file.moveMultipleFilesToFolder.replace("{count}",O.toString())).setIcon("lucide-folder-input"),async()=>{let _=Array.from(b.selectedFiles).map(E=>l.vault.getFileByPath(E)).filter(E=>!!E);await u.moveFilesWithModal(_,{selectedFile:b.selectedFile,dispatch:v,allFiles:I()})})}),Ike(n,N,b,l,u),Eke(n,N,b,o,u,v,I)}if(!F){let L=l.vault.adapter,V=L instanceof Ag.FileSystemAdapter?L:null;OR({menu:n,getObsidianUrl:()=>{let A=l.vault.getName(),_=encodeURIComponent(A),E=encodeURIComponent(e.path);return`obsidian://open?vault=${_}&file=${E}`},getVaultPath:()=>e.path,getSystemPath:V?()=>V.getFullPath(e.path):void 0})&&n.addSeparator()}if(!F){let V=!(b.selectedFolder&&e.parent&&e.parent.path===b.selectedFolder.path),D=!c;V&&n.addItem(A=>{$e(A.setTitle(d.contextMenu.file.revealInFolder).setIcon("lucide-folder-search"),async()=>{await r.plugin.activateView(),await r.plugin.revealFileInActualFolder(e,{showHiddenFileNotice:!0})})}),D&&(n.addItem(A=>{$e(A.setTitle(u.getRevealInSystemExplorerText()).setIcon(Ag.Platform.isMacOS?"lucide-app-window-mac":"lucide-app-window"),async()=>{await u.revealInSystemExplorer(e)})}),n.addItem(A=>{$e(A.setTitle(d.contextMenu.file.openInDefaultApp).setIcon("lucide-external-link"),async()=>{await u.openInDefaultApp(e)})})),(V||D)&&n.addSeparator()}if(F||(r.plugin.api?.[Ea].menus.applyFileMenuExtensions({menu:n,file:e,selection:{mode:"single",files:[e]}})??0)>0&&n.addSeparator(),!F){let L=nh(l,"sync");L&&"enabled"in L&&L.enabled&&n.addItem(V=>{$e(V.setTitle(d.contextMenu.file.openVersionHistory).setIcon("lucide-history"),async()=>{await u.openVersionHistory(e)})}),n.addItem(V=>{let D=P?d.contextMenu.folder.detachFolderNote:k?d.contextMenu.file.renameNote:d.contextMenu.file.renameFile,A=P?"lucide-unlink":"lucide-pencil";$e(V.setTitle(D).setIcon(A),async()=>{await u.renameFile(e)})}),n.addItem(V=>{$e(V.setTitle(k?d.contextMenu.file.moveNoteToFolder:d.contextMenu.file.moveFileToFolder).setIcon("lucide-folder-input"),async()=>{await u.moveFilesWithModal([e],{selectedFile:b.selectedFile,dispatch:v,allFiles:I()})})}),Nke(n,e,u),xke(n,e,b,o,u,v,P,I)}}function gke(t){let{menu:e,app:n,metadataService:r,settings:o,file:a,source:i,selectionState:s,shouldShowMultiOptions:l}=t,c=sd(o);if(i!=="list-pane"||l||a.extension!=="md"||!c)return!1;let u=Tm(o,s.selectionType,s.selectedFolder,s.selectedTag,s.selectedProperty),p=RR({settings:o,selectionType:s.selectionType,folderPath:s.selectedFolder?.path??null,tag:s.selectedTag??null,propertyNodeId:s.selectedProperty??null});return kf({groupBy:p.effectiveGrouping,sortOption:u.option,selectionType:s.selectionType,isManualSortActive:as(o,u.propertyKey)})!=="custom"?!1:hS({menu:e,app:n,file:a,propertyKey:c,metadataService:r})}function hke(t){let{file:e,isFolderNoteFile:n,shouldShowMultiOptions:r,selectedFiles:o}=t;return n&&e.parent instanceof Ag.TFolder?{type:"folder",folderPath:e.parent.path}:{type:"files",files:r?o:[e]}}function fke(t,e,n){let r=Array.from(t).map(o=>e.vault.getFileByPath(o)).filter(o=>o!==null);return wx(r,n)}function vke(t){let{menu:e,app:n,metadataService:r,settings:o,file:a,styleTarget:i}=t;if(i.type==="folder"){yke({menu:e,app:n,metadataService:r,settings:o,folderPath:i.folderPath});return}bke({menu:e,app:n,metadataService:r,settings:o,file:a,targetFiles:i.files})}function yke(t){let{menu:e,app:n,metadataService:r,settings:o,folderPath:a}=t;BR({menu:e,app:n,metadataService:r,folderPath:a,showFolderIcons:o.showFolderIcons}),_R({menu:e,metadataService:r,folderPath:a,inheritFolderColors:o.inheritFolderColors,showFolderIcons:o.showFolderIcons})}function bke(t){let{menu:e,app:n,metadataService:r,settings:o,file:a,targetFiles:i}=t,s=r.getFileIcon(a.path),l=r.getFileColor(a.path),c=r.getFileBackgroundColor(a.path),u=Ske(i,r),{hasRemovableIcon:p,hasRemovableColor:m,hasRemovableBackground:g}=u,f=async h=>{let{AppearanceModal:b}=await Promise.resolve().then(()=>(pS(),uS));new b(n,{title:a.basename,metadataService:r,initialTab:h,icon:o.showFileIcons?{initial:r.getFileIcon(a.path)??null,apply:async y=>{await Promise.all(i.map(S=>y===null?r.removeFileIcon(S.path):r.setFileIcon(S.path,y)))}}:void 0,color:{initial:r.getFileColor(a.path)??null,apply:async y=>{await Promise.all(i.map(S=>y===null?r.removeFileColor(S.path):r.setFileColor(S.path,y)))}},background:{initial:r.getFileBackgroundColor(a.path)??null,apply:async y=>{await Promise.all(i.map(S=>y===null?r.removeFileBackgroundColor(S.path):r.setFileBackgroundColor(S.path,y)))}}}).open()};o.showFileIcons&&e.addItem(h=>{$e(h.setTitle(d.contextMenu.file.changeIcon).setIcon("lucide-image"),()=>f("icon"))}),e.addItem(h=>{$e(h.setTitle(d.contextMenu.file.changeColor).setIcon("lucide-palette"),()=>f("color"))}),e.addItem(h=>{$e(h.setTitle(d.contextMenu.folder.changeBackground).setIcon("lucide-paint-bucket"),()=>f("background"))}),Hp({menu:e,styleData:{icon:s,color:l,background:c},hasIcon:o.showFileIcons,hasColor:!0,hasBackground:!0,applyStyle:async h=>{let{icon:b,color:v,background:y}=h,S=[];i.forEach(w=>{b&&S.push(r.setFileIcon(w.path,b)),v&&S.push(r.setFileColor(w.path,v)),y&&S.push(r.setFileBackgroundColor(w.path,y))}),await Promise.all(S)},removeIcon:p?async()=>{let h=i.filter(b=>r.getFileIcon(b.path)).map(b=>r.removeFileIcon(b.path));await Promise.all(h)}:void 0,removeColor:m?async()=>{let h=i.filter(b=>r.getFileColor(b.path)).map(b=>r.removeFileColor(b.path));await Promise.all(h)}:void 0,removeBackground:g?async()=>{let h=i.filter(b=>r.getFileBackgroundColor(b.path)).map(b=>r.removeFileBackgroundColor(b.path));await Promise.all(h)}:void 0})}function Ske(t,e){let n=!1,r=!1,o=!1;for(let a of t)if(!n&&e.getFileIcon(a.path)&&(n=!0),!r&&e.getFileColor(a.path)&&(r=!0),!o&&e.getFileBackgroundColor(a.path)&&(o=!0),n&&r&&o)break;return{hasRemovableIcon:n,hasRemovableColor:r,hasRemovableBackground:o}}function wke(t,e,n,r,o){t.addItem(a=>{$e(a.setTitle(d.contextMenu.file.openInNewTab).setIcon("lucide-file-plus"),async()=>{await no({app:n,commandQueue:o,file:e,context:"tab"})})}),t.addItem(a=>{$e(a.setTitle(d.contextMenu.file.openToRight).setIcon("lucide-separator-vertical"),async()=>{await no({app:n,commandQueue:o,file:e,context:"split"})})}),r||t.addItem(a=>{$e(a.setTitle(d.contextMenu.file.openInNewWindow).setIcon("lucide-external-link"),async()=>{await no({app:n,commandQueue:o,file:e,context:"window"})})})}function Tke(t,e,n,r,o){let a=e.length,i=e.every(s=>s.extension==="md");t.addItem(s=>{$e(s.setTitle(i?d.contextMenu.file.openMultipleInNewTabs.replace("{count}",a.toString()):d.contextMenu.file.openMultipleFilesInNewTabs.replace("{count}",a.toString())).setIcon("lucide-file-plus"),async()=>{for(let l of e)await no({app:n,commandQueue:o??null,file:l,context:"tab"})})}),t.addItem(s=>{$e(s.setTitle(i?d.contextMenu.file.openMultipleToRight.replace("{count}",a.toString()):d.contextMenu.file.openMultipleFilesToRight.replace("{count}",a.toString())).setIcon("lucide-separator-vertical"),async()=>{for(let l of e)await no({app:n,commandQueue:o??null,file:l,context:"split"})})}),r||t.addItem(s=>{$e(s.setTitle(i?d.contextMenu.file.openMultipleInNewWindows.replace("{count}",a.toString()):d.contextMenu.file.openMultipleFilesInNewWindows.replace("{count}",a.toString())).setIcon("lucide-external-link"),async()=>{for(let l of e)await no({app:n,commandQueue:o??null,file:l,context:"window"})})})}function kke(t,e,n,r){let o=n.isFilePinned(e.path,r);t.addItem(a=>{$e(a.setTitle(o?e.extension==="md"?d.contextMenu.file.unpinNote:d.contextMenu.file.unpinFile:e.extension==="md"?d.contextMenu.file.pinNote:d.contextMenu.file.pinFile).setIcon("lucide-pin"),async()=>{e.parent&&await n.togglePin(e.path,r)})})}function Fke(t,e,n,r,o,a){if(e.length===0)return;let l=(e.every(c=>c.extension==="md")?d.shortcuts.addNotesCount:d.shortcuts.addFilesCount).replace("{count}",e.length.toString());t.addItem(c=>{$e(c.setTitle(l).setIcon(Hr(o.interfaceIcons,"nav-shortcuts","lucide-star")),async()=>{let u=Array.from(n.selectedFiles).map(m=>r.vault.getFileByPath(m)).filter(m=>!!m);if(u.length===0)return;let p=u.map(m=>({type:Dn.NOTE,path:m.path}));await a.addShortcutsBatch(p)})})}function Pke(t,e,n,r){let o=e.some(s=>!n.isFilePinned(s.path,r)),a=e.every(s=>s.extension==="md"),i=e.length;t.addItem(s=>{$e(s.setTitle(o?a?d.contextMenu.file.pinMultipleNotes.replace("{count}",i.toString()):d.contextMenu.file.pinMultipleFiles.replace("{count}",i.toString()):a?d.contextMenu.file.unpinMultipleNotes.replace("{count}",i.toString()):d.contextMenu.file.unpinMultipleFiles.replace("{count}",i.toString())).setIcon("lucide-pin"),async()=>{for(let l of e)o?n.isFilePinned(l.path,r)||await n.togglePin(l.path,r):await n.togglePin(l.path,r)})})}function Cke(t,e,n,r,o){if(e.length<2||!e.every(s=>s.extension==="md"))return;let a=e[0],i=a.parent instanceof Ag.TFolder?a.parent:n.vault.getRoot();VR({menu:t,app:n,commandQueue:r,fileSystemOps:o,files:e,outputFolder:i,defaultOutputName:d.modals.mergeNotes.outputNamePlaceholder,title:d.contextMenu.file.mergeNotes.replace("{count}",e.length.toString())})}function Nke(t,e,n){t.addItem(r=>{$e(r.setTitle(e.extension==="md"?d.contextMenu.file.duplicateNote:d.contextMenu.file.duplicateFile).setIcon("lucide-copy"),async()=>{await n.duplicateNote(e)})})}function Ike(t,e,n,r,o){let a=e.every(s=>s.extension==="md"),i=e.length;t.addItem(s=>{$e(s.setTitle(a?d.contextMenu.file.duplicateMultipleNotes.replace("{count}",i.toString()):d.contextMenu.file.duplicateMultipleFiles.replace("{count}",i.toString())).setIcon("lucide-copy"),async()=>{let l=Array.from(n.selectedFiles).map(c=>r.vault.getFileByPath(c)).filter(c=>!!c);for(let c of l)await o.duplicateNote(c)})})}function xke(t,e,n,r,o,a,i,s){t.addItem(l=>{let c=i?d.contextMenu.folder.deleteFolderNote:e.extension==="md"?d.contextMenu.file.deleteNote:d.contextMenu.file.deleteFile;$e(l.setTitle(c).setIcon("lucide-trash").setWarning(!0),async()=>{n.selectedFile?.path===e.path?await o.deleteSelectedFile(e,r,{selectionType:n.selectionType,selectedFolder:n.selectedFolder||void 0,selectedTag:n.selectedTag||void 0,selectedProperty:n.selectedProperty??void 0},a,r.confirmBeforeDelete,s()):await o.deleteFile(e,r.confirmBeforeDelete)})})}function Eke(t,e,n,r,o,a,i){let s=e.every(c=>c.extension==="md"),l=e.length;t.addItem(c=>{$e(c.setTitle(s?d.contextMenu.file.deleteMultipleNotes.replace("{count}",l.toString()):d.contextMenu.file.deleteMultipleFiles.replace("{count}",l.toString())).setIcon("lucide-trash").setWarning(!0),async()=>{await o.deleteFilesWithSmartSelection(n.selectedFiles,i(),a,r.confirmBeforeDelete)})})}var Ag,kee=U(()=>{Ag=require("obsidian");Ee();Zr();rs();Mr();Ia();wu();dS();Zc();iR();mS();pr();_a();ai();TH();eg();wi();Rn();HR();mV();qF()});function gV(t){lV(t)}var Fee=U(()=>{dV()});function Mke(t){return t===Dt.SHORTCUTS?{uxIconId:"nav-shortcuts",title:d.navigationPane.shortcutsHeader}:t===Dt.RECENT?{uxIconId:"nav-recent-files",title:d.navigationPane.recentFilesHeader}:t===Dt.TAGS?{uxIconId:"nav-tags",title:d.tagList.tags}:t===Dt.PROPERTIES?{uxIconId:"nav-properties",title:d.navigationPane.properties}:null}function Rke(t){return t===Dt.SHORTCUTS?yi:t===Dt.RECENT?bi:t===Dt.TAGS?_n:t===Dt.PROPERTIES?Oe:null}function hV({app:t,event:e,sectionId:n,allowSeparator:r=!0,metadataService:o,settings:a,plugin:i,pinToggleLabel:s,isShortcutsPinned:l,onToggleShortcutsPin:c,onConfigurePropertyKeys:u,shortcutActions:p}){let m=n===Dt.SHORTCUTS,g=n===Dt.TAGS,f=n===Dt.PROPERTIES,h={type:"section",id:n},b=r?o.hasNavigationSeparator(h):!1,v=new Pee.Menu,y=!1,S=g?p.tagShortcutKeysByPath.get(zt):void 0,w=f?p.propertyShortcutKeysByNodeId.get(Oe):void 0,k=S??w;f&&(v.addItem(P=>{P.setTitle(d.contextMenu.property.addKey).setIcon("lucide-settings-2").onClick(()=>{u()})}),y=!0,v.addSeparator());let F=Rke(n);if(F){let P=o.getSettingsProvider(),T=Mke(n),I=P.settings.virtualFolderColors?.[F],N=P.settings.virtualFolderBackgroundColors?.[F],O=T?.title??"",K=(A,_,E)=>{let R=P.settings[A],M=ln(R,Ln);return E===null?Object.prototype.hasOwnProperty.call(M,_)?(delete M[_],P.settings[A]=M,!0):!1:Object.prototype.hasOwnProperty.call(M,_)&&M[_]===E?!1:(M[_]=E,P.settings[A]=M,!0)},G=async(A,_)=>{let E=!1;_.color!==void 0&&(E=K("virtualFolderColors",A,_.color)||E),_.background!==void 0&&(E=K("virtualFolderBackgroundColors",A,_.background)||E),E&&await P.saveSettingsAndUpdate()},X=async(A,_)=>{let E=De(P.settings.interfaceIcons,Ln),R=qn(Qe(void 0,A)),M=!1;if(!_)Object.prototype.hasOwnProperty.call(E,A)&&(delete E[A],M=!0);else{let C=qn(_),x=oi(C);!x||C===R?Object.prototype.hasOwnProperty.call(E,A)&&(delete E[A],M=!0):E[A]!==x&&(E[A]=x,M=!0)}M&&(P.settings.interfaceIcons=E,await P.saveSettingsAndUpdate())},L=async A=>{let{AppearanceModal:_}=await Promise.resolve().then(()=>(pS(),uS));new _(t,{title:O,metadataService:o,initialTab:A,icon:T?{initial:Qe(P.settings.interfaceIcons,T.uxIconId),apply:async R=>{await X(T.uxIconId,R)}}:void 0,color:{initial:I??null,apply:async R=>{await G(F,{color:R})}},background:{initial:N??null,apply:async R=>{await G(F,{background:R})}}}).open()};T&&v.addItem(A=>{A.setTitle(d.contextMenu.folder.changeIcon).setIcon("lucide-image").onClick(()=>{Q(()=>L("icon"))})}),v.addItem(A=>{A.setTitle(d.contextMenu.folder.changeColor).setIcon("lucide-palette").onClick(()=>{Q(()=>L("color"))})}),v.addItem(A=>{A.setTitle(d.contextMenu.folder.changeBackground).setIcon("lucide-paint-bucket").onClick(()=>{Q(()=>L("background"))})});let V=!!I,D=!!N;Hp({menu:v,styleData:{color:I,background:N},hasColor:!0,hasBackground:!0,applyStyle:async A=>{await G(F,{color:A.color??void 0,background:A.background??void 0})},removeColor:V?async()=>G(F,{color:null}):void 0,removeBackground:D?async()=>G(F,{background:null}):void 0,clearStyle:V&&D?async()=>G(F,{color:null,background:null}):void 0}),y=!0,v.addSeparator()}if((g||f)&&(v.addItem(P=>{if(k){P.setTitle(d.shortcuts.remove).setIcon(Hr(a.interfaceIcons,"nav-shortcuts","lucide-star-off")).onClick(()=>{Q(()=>p.removeShortcut(k))});return}P.setTitle(d.shortcuts.add).setIcon(Hr(a.interfaceIcons,"nav-shortcuts","lucide-star")).onClick(()=>{Q(async()=>{if(g){await p.addTagShortcut(zt);return}await p.addPropertyShortcut(Oe)})})}),y=!0),m){v.addItem(N=>{N.setTitle(s).setIcon(l?"lucide-pin-off":"lucide-pin").onClick(()=>{c()})}),y=!0;let P=r&&!l,T=p.shortcutsCount>0;(P||T)&&v.addSeparator(),P&&(v.addItem(N=>{N.setTitle(b?d.contextMenu.navigation.removeSeparator:d.contextMenu.navigation.addSeparator).setIcon("lucide-separator-horizontal").onClick(()=>{Q(async()=>{if(b){await o.removeNavigationSeparator(h);return}await o.addNavigationSeparator(h)})})}),y=!0),T&&(P&&v.addSeparator(),v.addItem(N=>{N.setTitle(d.shortcuts.removeAll).setIcon("lucide-trash-2").setWarning(!0).onClick(()=>{new En(t,d.shortcuts.removeAll,d.shortcuts.removeAllConfirm,()=>p.clearShortcuts(),d.common.remove).open()})}),y=!0)}else r&&(v.addItem(P=>{P.setTitle(b?d.contextMenu.navigation.removeSeparator:d.contextMenu.navigation.addSeparator).setIcon("lucide-separator-horizontal").onClick(()=>{Q(async()=>{if(b){await o.removeNavigationSeparator(h);return}await o.addNavigationSeparator(h)})})}),y=!0);if((g||f)&&(y&&v.addSeparator(),v.addItem(P=>{let T=g?d.settings.items.scopeTagsToCurrentContext.name:d.settings.items.scopePropertiesToCurrentContext.name,I=g?i.settings.scopeTagsToCurrentContext:i.settings.scopePropertiesToCurrentContext;P.setTitle(T).setIcon("lucide-filter").setChecked(I).onClick(()=>{Q(async()=>{g?i.settings.scopeTagsToCurrentContext=!i.settings.scopeTagsToCurrentContext:i.settings.scopePropertiesToCurrentContext=!i.settings.scopePropertiesToCurrentContext,await i.saveSettingsAndUpdate()})})}),y=!0),g||f){y&&v.addSeparator();let P=g?"navigate-to-tag":"navigate-to-property",T=g?d.commands.navigateToTag:d.commands.navigateToProperty,I=g?Hr(a.interfaceIcons,"nav-tag","lucide-hash"):Hr(a.interfaceIcons,"nav-property","lucide-list-filter");v.addItem(N=>{N.setTitle(T).setIcon(I).onClick(()=>{Rc(t,`${i.manifest.id}:${P}`)})}),y=!0}y&&(e.preventDefault(),e.stopPropagation(),v.showAtMouseEvent(e.nativeEvent))}var Pee,Cee=U(()=>{Pee=require("obsidian");Ai();Ue();Zr();Ot();pr();mS();Ee();Si();ot()});var JF=U(()=>{iee();dV();hee();yee();kee();Fee();Cee()});function fV(){vS&&(vS.hide(),vS=null)}function Og(t,e){let{app:n,plugin:r,isMobile:o,tagTreeService:a,propertyTreeService:i}=gt(),s=pt(),l=li(),c=Ho(),u=_b(),p=AM(),m=qs(),g=Td(),f=Xt(),h=f.includeDescendantNotes,b=f.showHiddenItems,v=ar(),{expandedFolders:y,expandedTags:S,expandedProperties:w}=ta(),k=gr(),F=Ra(),P=Vr(),[T,I]=(0,Pf.useState)(null),N=(0,Pf.useCallback)(O=>{if(!e||!t.current)return;let K=O.target;if(!(K instanceof Node)||!t.current.contains(K))return;let G=K.instanceOf(HTMLElement)?K:K.parentElement,X=t.current,L=e;if(L.type===YF){if(!G)return;let M=G.closest(".nn-file");if(M instanceof HTMLElement){let C=M.dataset.path,x=C?n.vault.getFileByPath(C):null;if(!(x instanceof yS.TFile))return;L={type:W.FILE,item:x,options:{source:"list-pane",orderedFiles:L.options?.orderedFiles}},X=M}}if(s.enableFolderNoteLinks&&L.type===W.FOLDER&&G?.closest(".nn-navitem-name")){let M=Pn(L.item,s);M&&(L={type:W.FILE,item:M})}let V=L.type===W.FILE,D=null;if(L.type===YF){let M=L.item;if(!(M instanceof yS.TFolder)||!G)return;let C=G.closest(".nn-file")!==null,x=G.closest(".nn-list-group-header")!==null;if(C||x)return;D=z=>{gV({folder:M,menu:z,services:_,settings:s,state:E,dispatchers:R})}}else L.type===W.FOLDER?D=M=>{XF({folder:L.item,menu:M,services:_,settings:s,state:E,dispatchers:R,options:L.options})}:L.type===W.TAG?D=M=>{QF({tagPath:L.item,menu:M,services:_,settings:s,state:E,dispatchers:R})}:L.type===W.PROPERTY?D=M=>{ZF({propertyNodeId:L.item,menu:M,services:_,settings:s,state:E,dispatchers:R})}:L.type===W.FILE&&(D=M=>{fS({file:L.item,menu:M,services:_,settings:s,state:E,dispatchers:R,options:L.options})});if(!D)return;O.preventDefault(),O.stopPropagation(),fV();let A=new yS.Menu;if(vS=A,X.classList.add("nn-context-menu-active"),V){let M=X.closest(".nn-virtual-file-item");if(M instanceof HTMLElement){M.classList.add("nn-hide-separator-context-menu");let C=M.previousElementSibling;C instanceof HTMLElement&&C.classList.contains("nn-virtual-file-item")&&C.classList.add("nn-hide-separator-context-menu")}}let _={app:n,plugin:r,isMobile:o,fileSystemOps:l,metadataService:c,tagOperations:u,propertyOperations:p,tagTreeService:a,propertyTreeService:i,commandQueue:m,shortcuts:g,visibility:{includeDescendantNotes:h,showHiddenItems:b}},E={selectionState:v,expandedFolders:y,expandedTags:S,expandedProperties:w},R={selectionDispatch:k,expansionDispatch:F,uiDispatch:P};D(A),A.showAtMouseEvent(O),A.onHide(()=>{if(vS===A&&(vS=null),X.classList.remove("nn-context-menu-active"),V){let M=X.closest(".nn-virtual-file-item");if(M instanceof HTMLElement){M.classList.remove("nn-hide-separator-context-menu");let C=M.previousElementSibling;C instanceof HTMLElement&&C.classList.contains("nn-virtual-file-item")&&C.classList.remove("nn-hide-separator-context-menu")}}})},[e,t,n,r,s,l,c,u,p,v,y,S,w,k,F,P,o,a,i,m,g,h,b]);(0,Pf.useEffect)(()=>{if(!e){T!==null&&I(null);return}let O=t.current;O!==T&&I(O)},[T,e,t]),(0,Pf.useEffect)(()=>{if(!(!e||!T))return T.addEventListener("contextmenu",N),()=>{T.removeEventListener("contextmenu",N)}},[T,N,e])}var Pf,yS,vS,eP=U(()=>{Pf=ue(ze()),yS=require("obsidian");Qs();Ur();mn();on();pa();xg();Tr();Ue();JF();_a();vS=null});function Qt({iconId:t,size:e,className:n,style:r,"data-has-color":o,"aria-label":a,"aria-hidden":i}){let s=(0,UR.useRef)(null),l=Ki();return(0,UR.useEffect)(()=>{s.current&&yn().renderIcon(s.current,t,e)},[t,l,e]),(0,Nee.jsx)("span",{ref:s,className:n,style:r,"data-has-color":o,"aria-label":a,"aria-hidden":i})}var UR,Nee,Al=U(()=>{UR=ue(ze());Ha();Nee=ue(Ge())});function xee({event:t,settings:e,selectedFolder:n,selectedTag:r,selectedProperty:o,selectionType:a,updateSettings:i,descendantAction:s,defaultSettingsAction:l}){let c=DR(e),p=a===W.TAG&&r?{key:r,getRecord:F=>F.tagAppearances,setRecord:(F,P)=>{F.tagAppearances=P}}:a===W.FOLDER&&n?{key:n.path,getRecord:F=>F.folderAppearances,setRecord:(F,P)=>{F.folderAppearances=P}}:a===W.PROPERTY&&o?{key:o,getRecord:F=>F.propertyAppearances,setRecord:(F,P)=>{F.propertyAppearances=P}}:null,m=F=>{let P=T=>{let I={...T};return Object.keys(I).forEach(N=>{I[N]===void 0&&delete I[N]}),I.mode===c&&delete I.mode,I};p&&Q(()=>i(T=>{let I=De(ln(p.getRecord(T))),N=I[p.key]||{},O=P({...N,...F});Object.keys(O).length===0?delete I[p.key]:I[p.key]=O,p.setRecord(T,I)}))},g=new Iee.Menu,f=p?p.getRecord(e)?.[p.key]:void 0,h=oV({appearance:f,defaultMode:c}),b=h==="standard",v=h==="compact",y=f?.mode,S=(y==="standard"||y==="compact")&&y!==c||f?.titleRows!==void 0||f?.previewRows!==void 0,w=(F,P)=>P?`${F} ${d.folderAppearance.defaultSuffix}`:F;g.addItem(F=>{F.setTitle(d.folderAppearance.appearance).setIcon("lucide-palette").setDisabled(!0)}),g.addItem(F=>{let P=w(d.folderAppearance.standardPreset,c==="standard");F.setTitle(P).setIcon("lucide-list").setChecked(b).onClick(()=>{m({mode:"standard"})})}),g.addItem(F=>{let P=w(d.folderAppearance.compactPreset,c==="compact");F.setTitle(P).setIcon("lucide-align-left").setChecked(v).onClick(()=>{m({mode:"compact",previewRows:void 0})})}),g.addSeparator(),g.addItem(F=>{F.setTitle(d.folderAppearance.titleRows).setIcon("lucide-text").setDisabled(!0)});let k=f?.titleRows??e.fileNameRows;if([1,2,3].forEach(F=>{let P=F===e.fileNameRows;g.addItem(T=>{T.setTitle(`    ${w(d.folderAppearance.titleRowOption(F),P)}`).setIcon("lucide-text").setChecked(k===F).onClick(()=>{m({titleRows:P?void 0:F})})})}),e.showFilePreview&&!v){g.addSeparator(),g.addItem(P=>{P.setTitle(d.folderAppearance.previewRows).setIcon("lucide-file-text").setDisabled(!0)});let F=f?.previewRows??e.previewRows;[1,2,3,4,5].forEach(P=>{let T=P===e.previewRows;g.addItem(I=>{I.setTitle(`    ${w(d.folderAppearance.previewRowOption(P),T)}`).setIcon("lucide-file-text").setChecked(F===P).onClick(()=>{m({previewRows:T?void 0:P})})})})}s&&(g.addSeparator(),g.addItem(F=>{F.setTitle(s.menuTitle).setIcon("lucide-squares-unite").setDisabled(!!s.disabled).onClick(()=>{s.onApply()})})),l&&(g.addSeparator(),g.addItem(F=>{F.setTitle(d.paneHeader.resetViewToDefaults).setIcon("lucide-rotate-ccw").setDisabled(!S).onClick(()=>{S&&m({mode:void 0,titleRows:void 0,previewRows:void 0})})}),g.addSeparator(),g.addItem(F=>{F.setTitle(l.menuTitle).setIcon("lucide-settings").setDisabled(!!l.disabled).onClick(()=>{l.onOpen()})})),g.showAtMouseEvent(t)}var Iee,Eee=U(()=>{Iee=require("obsidian");Ee();AR();Ue();ot();Ot()});function Oke(t){return`${Dke}${t}${Ake}`}function Lke(t,e,n){return e.reduce((r,o)=>o.extension!=="md"?r:iL(t,o,n)?r+1:r,0)}function zke(t,e,n){return e.reduce((r,o)=>{if(o.extension!=="md")return r;r.markdownCount+=1;let a=mI(t,o,n);return a.hasProperty&&(a.rank===null?r.invalidPropertyCount+=1:r.validRankCount+=1),r},{markdownCount:0,validRankCount:0,invalidPropertyCount:0})}function KR(t,e){return Me(t)===Me(e)}function Dee(t,e){return e.type===W.FOLDER?De(ln(t.folderSortOverrides)):e.type===W.TAG?De(ln(t.tagSortOverrides)):De(ln(t.propertySortOverrides))}function Aee(t,e,n){if(e.type===W.FOLDER){t.folderSortOverrides=n;return}if(e.type===W.TAG){t.tagSortOverrides=n;return}t.propertySortOverrides=n}function Mee(t,e,n){let r=Dee(t,e);r[e.key]=GA(n),Aee(t,e,r)}function Bke(t){let e=[],n=[];for(t.children.forEach(r=>{r instanceof Lg.TFolder&&n.push(r)});n.length>0;){let r=n.pop();r&&(e.push(r.path),r.children.forEach(o=>{o instanceof Lg.TFolder&&n.push(o)}))}return e}function _ke(t){let e=0,n=[];for(t.children.forEach(r=>{r instanceof Lg.TFolder&&n.push(r)});n.length>0;){let r=n.pop();r&&(e+=1,r.children.forEach(o=>{o instanceof Lg.TFolder&&n.push(o)}))}return e}function Hke(t,e){return e===t?!1:t==="/"?e!=="/":e.startsWith(`${t}/`)}function Vke(t,e){return e===t||t===bt?!1:t===zt?e!==zt&&e!==bt:e.startsWith(`${t}/`)}function Uke(t,e){if(e===t)return!1;if(t===Oe)return e!==Oe;let n=kn(t),r=kn(e);return!n||!r||n.key!==r.key?!1:n.valuePath?r.valuePath?r.valuePath.startsWith(`${n.valuePath}/`):!1:r.valuePath!==null}function vV({descendantCount:t,descendantEntries:e,hasCurrentOverride:n,matchesCurrentOverride:r}){let o=e.length;if(!n)return{descendantCount:t,savedDescendantCount:o,matchingSavedDescendantCount:0,changedSavedDescendantCount:o,missingSavedDescendantCount:0,affectedCount:o,disabled:t===0||o===0};let a=e.filter(r).length,i=o-a,s=Math.max(t-o,0);return{descendantCount:t,savedDescendantCount:o,matchingSavedDescendantCount:a,changedSavedDescendantCount:i,missingSavedDescendantCount:s,affectedCount:i+s,disabled:t===0||o===t&&a===t}}function Kke(t){switch(t){case"custom":return"lucide-heading";case"date":return"lucide-calendar";case"folder":return"lucide-folder";default:return"lucide-heading"}}function Cf(t,e){if(!t)return null;let n={};return t.mode!==void 0&&t.mode!==e&&(n.mode=t.mode),t.titleRows!==void 0&&(n.titleRows=t.titleRows),t.previewRows!==void 0&&(n.previewRows=t.previewRows),Object.keys(n).length>0?n:null}function Wke(t,e){return Cf(t,e)!==null}function tP(t,e){let n=t?{...t}:{};return e!==void 0&&(n.groupBy=e),Object.keys(n).length>0?n:null}function jke(t,e,n){let r=Cf(t,n),o=Cf(e,n);return!r||!o?r===o:r.mode===o.mode&&r.titleRows===o.titleRows&&r.previewRows===o.previewRows}function Ree(t){let e=[],n=new Set,r=o=>{if(n.has(o))return;n.add(o),e.push(o);let a=t.findNode(o);a&&a.children.forEach(i=>{r(i.id)})};return t.getPropertyTree().forEach(o=>{r(o.id)}),e}function WR({onManualSortStart:t,getManualSortNewFileContext:e,trackRevealFileAvailability:n=!1}={}){let{app:r,plugin:o,tagTreeService:a,propertyTreeService:i}=gt(),s=pt(),l=s.vaultProfile,c=s.vaultProfiles,u=Xt(),p=u.includeDescendantNotes,m=u.showHiddenItems,{setIncludeDescendantNotes:g}=wd(),f=Ys(),h=ar(),b=gr(),v=li(),y=Ho(),S=h.selectionType===W.FOLDER&&!!h.selectedFolder,w=h.selectionType===W.TAG&&!!h.selectedTag,k=w&&h.selectedTag!==zt&&h.selectedTag!==bt,F=h.selectionType===W.PROPERTY&&!!h.selectedProperty,P=F&&h.selectedProperty!==Oe,T=S||w||F,I=(0,rn.useCallback)(()=>{o.openSettings()},[o]),N=(0,rn.useCallback)(()=>{o.openSettings()},[o]),O=!!h.selectedFolder||k||P,K=(0,rn.useCallback)(()=>{let me=r.workspace.getActiveFile();return me?.parent?me:null},[r.workspace]),[G,X]=(0,rn.useState)(()=>n?!!K():!1),L=(0,rn.useCallback)(()=>h.selectionType===W.FOLDER&&h.selectedFolder?{type:W.FOLDER,key:h.selectedFolder.path}:h.selectionType===W.TAG&&h.selectedTag?{type:W.TAG,key:h.selectedTag}:h.selectionType===W.PROPERTY&&h.selectedProperty?{type:W.PROPERTY,key:h.selectedProperty}:null,[h.selectionType,h.selectedFolder,h.selectedTag,h.selectedProperty]),V=(0,rn.useCallback)(async()=>{try{let me=e?.()??null;if(h.selectedFolder){await v.createNewFile(h.selectedFolder,s.createNewNotesInNewTab,me);return}if(k&&h.selectedTag){let fe=h.selectedFile?.path??r.workspace.getActiveFile()?.path??"";await v.createNewFileForTag(h.selectedTag,fe,s.createNewNotesInNewTab,me);return}if(P&&h.selectedProperty){let fe=h.selectedFile?.path??r.workspace.getActiveFile()?.path??"";await v.createNewFileForProperty(h.selectedProperty,fe,s.createNewNotesInNewTab,me)}}catch{}},[h.selectedFolder,h.selectedTag,h.selectedProperty,h.selectedFile,k,P,s.createNewNotesInNewTab,e,v,r]),D=(0,rn.useCallback)(async()=>{let me=K();me&&await o.revealFileInActualFolder(me,{showHiddenFileNotice:!0})},[K,o]),A=(0,rn.useCallback)(()=>Sh(s,h.selectionType,h.selectedFolder,h.selectedTag,h.selectedProperty),[h.selectionType,h.selectedFolder,h.selectedTag,h.selectedProperty,s]),_=(0,rn.useCallback)(()=>{if(h.selectionType===W.FOLDER&&h.selectedFolder)return s.folderAppearances?.[h.selectedFolder.path];if(h.selectionType===W.TAG&&h.selectedTag)return s.tagAppearances?.[h.selectedTag];if(h.selectionType===W.PROPERTY&&h.selectedProperty)return s.propertyAppearances?.[h.selectedProperty]},[h.selectionType,h.selectedFolder,h.selectedTag,h.selectedProperty,s.folderAppearances,s.tagAppearances,s.propertyAppearances]),E=(0,rn.useCallback)(()=>h.selectionType===W.FOLDER&&h.selectedFolder?Bke(h.selectedFolder):h.selectionType===W.TAG&&h.selectedTag?h.selectedTag===zt?Array.from(a?.getAllTagPaths()??[]):Array.from(a?.collectDescendantTagPaths(h.selectedTag)??[]):h.selectionType===W.PROPERTY&&h.selectedProperty&&i?h.selectedProperty===Oe?Ree(i):Array.from(i.collectDescendantNodeIds(h.selectedProperty)):[],[i,h.selectionType,h.selectedFolder,h.selectedTag,h.selectedProperty,a]),R=(0,rn.useCallback)(me=>h.selectionType===W.FOLDER&&h.selectedFolder?Hke(h.selectedFolder.path,me):h.selectionType===W.TAG&&h.selectedTag?Vke(h.selectedTag,me):h.selectionType===W.PROPERTY&&h.selectedProperty?Uke(h.selectedProperty,me):!1,[h.selectionType,h.selectedFolder,h.selectedTag,h.selectedProperty]),M=(0,rn.useCallback)(()=>h.selectionType===W.FOLDER?d.paneHeader.subfolders:h.selectionType===W.TAG?d.paneHeader.subtags:h.selectionType===W.PROPERTY?h.selectedProperty===Oe?d.paneHeader.descendants:d.paneHeader.childValues:d.paneHeader.descendants,[h.selectedProperty,h.selectionType]),C=DR(s),x=(0,rn.useMemo)(()=>L(),[L]),z=(0,rn.useMemo)(()=>A(),[A]),H=(0,rn.useMemo)(()=>pl(s,z),[s,z]),Y=as(s,H.propertyKey),ee=(0,rn.useCallback)(me=>{let fe=Me(me);return fe?y.getPropertyIcon(Gn(fe))??null:null},[y]),$=(0,rn.useCallback)(()=>{let me=JK(s,z);if(as(s,H.propertyKey))return"list-ordered";if(me==="list-sort-property"){let fe=ee(H.propertyKey);if(fe)return fe}return Qe(s.interfaceIcons,me)},[ee,z,H.propertyKey,s]),j=(0,rn.useMemo)(()=>_(),[_]),J=(0,rn.useMemo)(()=>Cf(j,C),[C,j]),re=J!==null,oe=(0,rn.useMemo)(()=>RR({settings:s,selectionType:h.selectionType,folderPath:h.selectedFolder?h.selectedFolder.path:null,tag:h.selectedTag??null,propertyNodeId:h.selectedProperty??null}),[s,h.selectedFolder,h.selectedProperty,h.selectedTag,h.selectionType]),Z=oe.normalizedOverride,ce=oe.hasCustomOverride,ae=Y?"custom":Z===void 0?void 0:kf({groupBy:Z,sortOption:H.option,selectionType:h.selectionType}),se=(0,rn.useMemo)(()=>M(),[M]),[ne,B]=(0,rn.useState)(0),[q,ie]=(0,rn.useState)(0),[le,Te]=(0,rn.useState)(0);(0,rn.useEffect)(()=>{let me=nt=>{nt instanceof Lg.TFolder&&B(ct=>ct+1)},fe=r.vault.on("create",me),we=r.vault.on("delete",me),Re=r.vault.on("rename",nt=>{me(nt)});return()=>{r.vault.offref(fe),r.vault.offref(we),r.vault.offref(Re)}},[r.vault]),(0,rn.useEffect)(()=>{if(a)return a.addTreeUpdateListener(()=>{ie(me=>me+1)})},[a]),(0,rn.useEffect)(()=>{if(i)return i.addTreeUpdateListener(()=>{Te(me=>me+1)})},[i]),(0,rn.useEffect)(()=>{if(!n){X(!1);return}let me=()=>{X(!!K())};return me(),Kb({workspace:r.workspace,onChange:me})},[r.workspace,K,n]);let ke=(0,rn.useMemo)(()=>h.selectionType===W.FOLDER&&h.selectedFolder?_ke(h.selectedFolder):h.selectionType===W.TAG&&h.selectedTag?h.selectedTag===zt?a?.getAllTagPaths().length??0:a?.collectDescendantTagPaths(h.selectedTag).size??0:h.selectionType===W.PROPERTY&&h.selectedProperty&&i?h.selectedProperty===Oe?Ree(i).length:i.collectDescendantNodeIds(h.selectedProperty).size:0,[ne,i,le,h.selectedFolder,h.selectedProperty,h.selectedTag,h.selectionType,a,q]),Fe=S||w&&h.selectedTag!==bt||F,te=(0,rn.useCallback)(async()=>{let me=L();if(me){if(me.type===W.FOLDER){await y.removeFolderSortOverride(me.key);return}if(me.type===W.TAG){await y.removeTagSortOverride(me.key);return}await y.removePropertySortOverride(me.key)}},[L,y]),pe=(0,rn.useCallback)(async me=>{let fe=L();if(fe){if(fe.type===W.FOLDER){await y.setFolderSortOverride(fe.key,me);return}if(fe.type===W.TAG){await y.setTagSortOverride(fe.key,me);return}await y.setPropertySortOverride(fe.key,me)}},[L,y]),ve=(0,rn.useCallback)(async me=>{let fe=L();fe&&await f(we=>{let Re=fe.type===W.FOLDER?De(ln(we.folderAppearances)):fe.type===W.TAG?De(ln(we.tagAppearances)):De(ln(we.propertyAppearances)),nt=Re[fe.key],ct=tP(Cf(nt,C),me);if(ct?Re[fe.key]=ct:delete Re[fe.key],fe.type===W.FOLDER){we.folderAppearances=Re;return}if(fe.type===W.TAG){we.tagAppearances=Re;return}we.propertyAppearances=Re})},[C,L,f]),Ie=(0,rn.useCallback)((me,fe,we)=>{new En(r,d.modals.manualSortConfirm.propertySortTitle,d.modals.manualSortConfirm.propertySortMessage(me,fe),we,d.modals.manualSortConfirm.propertySortConfirmButton).open()},[r]),qe=(0,rn.useCallback)((me,fe)=>{let we=oL(s);return fe!==void 0&&Mee(we,me,fe),UG(ca({selectionType:h.selectionType,selectedFolder:h.selectedFolder,selectedTag:h.selectedTag,selectedProperty:h.selectedProperty},we,{includeDescendantNotes:p,showHiddenItems:m},r,a,i))},[r,p,i,h.selectedFolder,h.selectedProperty,h.selectedTag,h.selectionType,s,m,a]),xe=(0,rn.useCallback)(()=>{let me=oL(s);return ca({selectionType:h.selectionType,selectedFolder:h.selectedFolder,selectedTag:h.selectedTag,selectedProperty:h.selectedProperty},me,{includeDescendantNotes:p,showHiddenItems:m},r,a,i,{orderResults:!1})},[r,p,i,h.selectedFolder,h.selectedProperty,h.selectedTag,h.selectionType,s,m,a]),Ce=(0,rn.useCallback)(async(me,fe,we)=>{await f(Re=>{if(we){let yt=Dee(Re,fe);delete yt[fe.key],Aee(Re,fe,yt)}else Mee(Re,fe,jA("property-asc",me));let nt=fe.type===W.FOLDER?De(ln(Re.folderAppearances)):fe.type===W.TAG?De(ln(Re.tagAppearances)):De(ln(Re.propertyAppearances)),ct=Cf(nt[fe.key],C);if(ct?nt[fe.key]=ct:delete nt[fe.key],fe.type===W.FOLDER){Re.folderAppearances=nt;return}if(fe.type===W.TAG){Re.tagAppearances=nt;return}Re.propertyAppearances=nt}),r.workspace.requestSaveLayout()},[r.workspace,C,f]),vt=(0,rn.useCallback)(async(me,fe)=>{try{let we=await JG(r,me,fe);return we.failed>0?(de(d.dragDrop.errors.failedToSetProperty.replace("{error}",zh(we)),{variant:"warning"}),!1):!0}catch(we){return de(d.dragDrop.errors.failedToSetProperty.replace("{error}",to(we,d.common.unknownError)),{variant:"warning"}),!1}},[r]),Rt=(0,rn.useCallback)(async(me,fe)=>{try{let we=await eq(r,me,fe);if(we.updated>0){let Re=we.updated===1?d.fileSystem.notifications.manualSortPropertyRemovedFromNote:d.fileSystem.notifications.manualSortPropertyRemovedFromNotes.replace("{count}",we.updated.toString());de(Re,{variant:"success"})}we.failed>0&&de(d.dragDrop.errors.failedToSetProperty.replace("{error}",zh(we)),{variant:"warning"})}catch(we){de(d.dragDrop.errors.failedToSetProperty.replace("{error}",to(we,d.common.unknownError)),{variant:"warning"})}},[r]),Ve=(0,rn.useCallback)((me,fe,we)=>{!Om(me)||we===0||new En(r,d.modals.manualSortConfirm.removePropertyTitle,d.modals.manualSortConfirm.removePropertyMessage(me,we),async()=>{await Rt(fe,me)},d.modals.manualSortConfirm.removePropertyConfirmButton).open()},[r,Rt]),Ae=(0,rn.useCallback)(async()=>{let me=Tv(s),fe=L();if(!fe||!Om(me))return;let we=pl(s,z),Re=as(s,we.propertyKey),nt=pl(s),ct=nt.option==="property-asc"&&as(s,nt.propertyKey)&&KR(nt.propertyKey,me),yt=qe(fe,z),bn=zke(r,yt,me),Kn=bn.markdownCount>0&&bn.validRankCount===bn.markdownCount,kr=bn.invalidPropertyCount>0,Wo=!Re&&bn.markdownCount>0&&bn.validRankCount===0,co=!Re&&!Kn&&(kr||s.confirmBeforeManualSort),wn=async()=>{Wo&&!await vt(yt,me)||await Ce(me,fe,ct)};if(co){Ie(me,bn.markdownCount,wn);return}await wn()},[r,Ce,qe,L,Ie,z,s,vt]),Ke=(0,rn.useCallback)(()=>{let me=x;if(!me)return vV({descendantCount:0,descendantEntries:[],hasCurrentOverride:!1,matchesCurrentOverride:()=>!1});let fe=me.type===W.FOLDER?s.folderSortOverrides:me.type===W.TAG?s.tagSortOverrides:s.propertySortOverrides,we=me.type===W.FOLDER?s.folderAppearances:me.type===W.TAG?s.tagAppearances:s.propertyAppearances,Re=Object.entries(fe??{}).filter(([Ir])=>R(Ir)),nt=Object.entries(we??{}).filter(([Ir,Jn])=>R(Ir)&&Jn.groupBy!==void 0),ct=new Map(Re),yt=new Map(nt.map(([Ir,Jn])=>[Ir,Jn.groupBy])),bn=new Set([...ct.keys(),...yt.keys()]),Kn=new Set,kr=new Set,Wo=new Set,co=z!==void 0,wn=ae!==void 0;bn.forEach(Ir=>{let Jn=!1,er=!1;co?ct.has(Ir)?$K(ct.get(Ir),z)||(Jn=!0):er=!0:ct.has(Ir)&&(Jn=!0),wn?yt.has(Ir)?yt.get(Ir)!==ae&&(Jn=!0):er=!0:yt.has(Ir)&&(Jn=!0),Jn&&Kn.add(Ir),er&&kr.add(Ir),!Jn&&!er&&Wo.add(Ir)});let Jt=co||wn?Math.max(ke-bn.size,0):0,$n=kr.size+Jt,Zn=new Set([...Kn,...kr]).size+Jt;return{descendantCount:ke,savedDescendantCount:bn.size,matchingSavedDescendantCount:Wo.size,changedSavedDescendantCount:Kn.size,missingSavedDescendantCount:$n,affectedCount:Zn,disabled:ke===0||Zn===0}},[R,ke,ae,z,x,s.folderAppearances,s.folderSortOverrides,s.propertyAppearances,s.propertySortOverrides,s.tagAppearances,s.tagSortOverrides]),Be=(0,rn.useCallback)(async()=>{let me=x;if(!me)return;let fe=E();fe.length!==0&&(await f(we=>{let Re=me.type===W.FOLDER?De(ln(we.folderSortOverrides)):me.type===W.TAG?De(ln(we.tagSortOverrides)):De(ln(we.propertySortOverrides));fe.forEach(ct=>{if(z!==void 0){Re[ct]=GA(z);return}delete Re[ct]}),me.type===W.FOLDER?we.folderSortOverrides=Re:me.type===W.TAG?we.tagSortOverrides=Re:we.propertySortOverrides=Re;let nt=me.type===W.FOLDER?De(ln(we.folderAppearances)):me.type===W.TAG?De(ln(we.tagAppearances)):De(ln(we.propertyAppearances));if(fe.forEach(ct=>{let yt=tP(Cf(nt[ct],C),ae);if(yt){nt[ct]=yt;return}delete nt[ct]}),me.type===W.FOLDER){we.folderAppearances=nt;return}if(me.type===W.TAG){we.tagAppearances=nt;return}we.propertyAppearances=nt}),r.workspace.requestSaveLayout())},[r,C,ae,E,z,x,f]),wt=(0,rn.useCallback)(()=>{if(!x)return;let fe=Ke();if(fe.disabled)return;if(fe.changedSavedDescendantCount===0){Q(async()=>{await Be()});return}let we=d.modals.bulkApply.applySortAndGroupTitle(se),Re=d.modals.bulkApply.affectedCountMessage(fe.changedSavedDescendantCount);new En(r,we,Re,async()=>{await Be()},d.modals.bulkApply.applyButton,{confirmButtonClass:"mod-cta"}).open()},[r,Be,Ke,se,x]),Ct=(0,rn.useCallback)(()=>{let me=x;if(!me)return vV({descendantCount:0,descendantEntries:[],hasCurrentOverride:!1,matchesCurrentOverride:()=>!1});let fe=me.type===W.FOLDER?s.folderAppearances:me.type===W.TAG?s.tagAppearances:s.propertyAppearances,we=Object.entries(fe??{}).filter(([Re,nt])=>R(Re)&&Wke(nt,C));return vV({descendantCount:ke,descendantEntries:we,hasCurrentOverride:re,matchesCurrentOverride:([,Re])=>re&&j!==void 0&&jke(Re,j,C)})},[C,re,R,j,ke,x,s.folderAppearances,s.propertyAppearances,s.tagAppearances]),qt=(0,rn.useCallback)(async()=>{let me=x;if(!me)return;let fe=E();fe.length!==0&&(await f(we=>{if(me.type===W.FOLDER){let nt=De(ln(we.folderAppearances));fe.forEach(ct=>{let yt=tP(re?J:null,nt[ct]?.groupBy);if(yt){nt[ct]=yt;return}delete nt[ct]}),we.folderAppearances=nt;return}if(me.type===W.TAG){let nt=De(ln(we.tagAppearances));fe.forEach(ct=>{let yt=tP(re?J:null,nt[ct]?.groupBy);if(yt){nt[ct]=yt;return}delete nt[ct]}),we.tagAppearances=nt;return}let Re=De(ln(we.propertyAppearances));fe.forEach(nt=>{let ct=tP(re?J:null,Re[nt]?.groupBy);if(ct){Re[nt]=ct;return}delete Re[nt]}),we.propertyAppearances=Re}),r.workspace.requestSaveLayout())},[r,E,re,J,x,f]),lt=(0,rn.useCallback)(()=>{if(!x)return;let fe=Ct();if(fe.disabled)return;if(fe.changedSavedDescendantCount===0){Q(async()=>{await qt()});return}let we=d.modals.bulkApply.applyAppearanceTitle(se),Re=d.modals.bulkApply.affectedCountMessage(fe.changedSavedDescendantCount);new En(r,we,Re,async()=>{await qt()},d.modals.bulkApply.applyButton,{confirmButtonClass:"mod-cta"}).open()},[r,qt,Ct,se,x]),Zt=(0,rn.useCallback)(me=>{T&&xee({event:me.nativeEvent,settings:s,selectedFolder:h.selectedFolder,selectedTag:h.selectedTag,selectedProperty:h.selectedProperty,selectionType:h.selectionType,updateSettings:f,descendantAction:Fe?{menuTitle:d.paneHeader.applyAppearanceToDescendants(se),onApply:lt,disabled:Ct().disabled}:void 0,defaultSettingsAction:{menuTitle:d.settings.changeDefaultSettings,onOpen:N}})},[Fe,Ct,T,N,lt,se,s,h.selectedFolder,h.selectedTag,h.selectedProperty,h.selectionType,f]),Kt=(0,rn.useCallback)(me=>{if(!T)return;let fe=new Lg.Menu,we=pl(s,z),Re=pl(s),nt=we.option,ct=Yw(nt),yt=Kd(nt),bn=Yw(Re.option),Kn=Kd(Re.option),kr=Tv(s),Wo=GC(s.propertySortKey).filter(it=>!as(s,it)),co=Om(kr),wn=co&&x?xe():[],Jt=co?Lke(r,wn,kr):0,Xn=yt==="property"&&as(s,we.propertyKey),Zn={modified:d.settings.items.sortNotesBy.fields.modified,created:d.settings.items.sortNotesBy.fields.created,title:d.settings.items.sortNotesBy.fields.title,filename:d.settings.items.sortNotesBy.fields.filename,property:d.settings.items.sortNotesBy.fields.property},Ir={asc:d.settings.items.sortNotesBy.directions.asc,desc:d.settings.items.sortNotesBy.directions.desc},Jn=(it,Yt)=>{if(it==="property"){let fr=Yt?.trim();return fr?`${Zn.property} ‘${Oke(fr)}’`:Zn.property}return Zn[it]},er=(it,Yt)=>Yt?`${it} ${d.folderAppearance.defaultSuffix}`:it,On=(it,Yt)=>it!==Re.option?!1:Kd(it)!=="property"?!0:KR(Yt??"",Re.propertyKey),Ro=(it,Yt)=>{if(it==="property"){let fr=Kh(ee(Yt??""));if(fr)return fr}return Hr(s.interfaceIcons,YA(it))},je=(it,Yt,fr)=>{let Do=WA(it,Yt);Q(async()=>{On(Do,fr)?await te():await pe(jA(Do,fr)),r.workspace.requestSaveLayout()})},rt=z!==void 0,Et=!rt&&!ce;fe.addItem(it=>{it.setTitle(d.folderAppearance.sortBy).setIcon("lucide-arrow-up-down").setDisabled(!0)}),["modified","created","title","filename"].forEach(it=>{let Yt=Kn===it;fe.addItem(fr=>{fr.setTitle(er(Jn(it),Yt)).setIcon(Ro(it)).setChecked(yt===it).onClick(()=>{je(it,ct)})})}),Wo.forEach(it=>{let Yt=Kn==="property"&&KR(Re.propertyKey,it);fe.addItem(fr=>{fr.setTitle(er(Jn("property",it),Yt)).setIcon(Ro("property",it)).setChecked(yt==="property"&&KR(we.propertyKey,it)).onClick(()=>{je("property",ct,it)})})}),fe.addItem(it=>{let Yt=Kn==="property"&&as(s,Re.propertyKey);it.setTitle(er(d.paneHeader.manualSort,Yt)).setIcon("lucide-list-ordered").setDisabled(!co).setChecked(Xn).onClick(()=>{co&&Q(Ae)})}),fe.addItem(it=>{it.setTitle(d.paneHeader.editSortOrder).setIcon("lucide-list-ordered").setDisabled(!Xn||!t).onClick(()=>{!Xn||!t||t(we.propertyKey)})}),fe.addItem(it=>{it.setTitle(d.paneHeader.removeSortProperty).setIcon("lucide-eraser").setDisabled(Jt===0).onClick(()=>{Jt!==0&&Ve(kr,wn,Jt)})}),fe.addSeparator(),["asc","desc"].forEach(it=>{let Yt=bn===it;fe.addItem(fr=>{let Do=WA(yt,it);fr.setTitle(er(Ir[it],Yt)).setIcon(eW(Do)).setDisabled(Xn).setChecked(ct===it).onClick(()=>{Xn||je(yt,it,yt==="property"?we.propertyKey:void 0)})})}),fe.addSeparator(),fe.addItem(it=>{it.setTitle(d.folderAppearance.groupBy).setIcon("lucide-layers").setDisabled(!0)});let Xe=kf({groupBy:oe.effectiveGrouping,sortOption:nt,selectionType:h.selectionType,isManualSortActive:Xn}),Ht=it=>Xn||it==="date"&&!bh(nt);(S?["custom","date","folder"]:["custom","date"]).forEach(it=>{let Yt=Ht(it),fr=it===oe.defaultGrouping;fe.addItem(Do=>{Do.setTitle(`    ${er(d.settings.items.groupNotes.options[it],fr)}`).setIcon(Kke(it)).setDisabled(Yt).setChecked(Xe===it).onClick(()=>{Yt||Q(async()=>{await ve(fr?void 0:it),r.workspace.requestSaveLayout()})})})}),Fe&&(fe.addSeparator(),fe.addItem(it=>{let Yt=Ke();it.setTitle(d.paneHeader.applySortAndGroupToDescendants(se)).setIcon("lucide-squares-unite").setDisabled(Yt.disabled).onClick(()=>{wt()})})),fe.addSeparator(),fe.addItem(it=>{it.setTitle(d.paneHeader.resetViewToDefaults).setIcon("lucide-rotate-ccw").setDisabled(Et).onClick(()=>{Et||Q(async()=>{rt&&await te(),ce&&await ve(void 0),r.workspace.requestSaveLayout()})})}),fe.addSeparator(),fe.addItem(it=>{it.setTitle(d.settings.changeDefaultSettings).setIcon("lucide-settings").onClick(()=>{I()})}),fe.showAtMouseEvent(me.nativeEvent)},[Fe,T,S,ce,r,Ae,Ke,xe,oe.defaultGrouping,oe.effectiveGrouping,I,wt,Ve,te,ee,se,x,z,h.selectionType,ve,pe,s,t]),gn=(0,rn.useCallback)(()=>{let me=p,fe=r.workspace.getActiveFile();g(!me),!me&&h.selectedFolder&&!h.selectedFile&&fe&&Uy(h.selectedFolder,s,{includeDescendantNotes:!0,showHiddenItems:m},r).some(Re=>Re.path===fe.path)&&b({type:"SET_SELECTED_FILE",file:fe})},[g,p,m,h.selectedFolder,h.selectedFile,r,b,s]),fn=z!==void 0||ce,an=me=>{if(!me)return!1;let fe=(me.mode==="compact"||me.mode==="standard")&&me.mode!==C,we=me.titleRows!==void 0||me.previewRows!==void 0;return fe||we},Pe=S&&h.selectedFolder&&an(s.folderAppearances?.[h.selectedFolder.path])||w&&h.selectedTag&&an(s.tagAppearances?.[h.selectedTag])||F&&h.selectedProperty&&an(s.propertyAppearances?.[h.selectedProperty]),ge=(0,rn.useMemo)(()=>TT(c,l).fileVisibility,[l,c]),be=(0,rn.useMemo)(()=>{let me=ge===Er.DOCUMENTS;return h.selectionType===W.TAG?me?d.paneHeader.showNotesFromDescendants:d.paneHeader.showFilesFromDescendants:h.selectionType===W.PROPERTY?me?d.paneHeader.showNotesFromDescendants:d.paneHeader.showFilesFromDescendants:h.selectionType===W.FOLDER?me?d.paneHeader.showNotesFromSubfolders:d.paneHeader.showFilesFromSubfolders:me?d.paneHeader.showNotesFromSubfolders:d.paneHeader.showFilesFromSubfolders},[ge,h.selectionType]);return{handleNewFile:V,canCreateNewFile:O,handleRevealFile:D,canRevealFile:G,handleAppearanceMenu:Zt,handleSortMenu:Kt,handleToggleDescendants:gn,getSortIcon:$,hasAppearanceOrSortSelection:T,hasCustomSortOrGroup:fn,hasCustomAppearance:Pe,descendantsTooltip:be}}var rn,Lg,Dke,Ake,yV=U(()=>{rn=ue(ze()),Lg=require("obsidian");Ur();mn();on();Tr();Ee();Ai();Ue();Rn();Eee();AR();ak();ot();Mr();wi();pr();cn();ai();dn();Ot();qF();tp();Fn();qM();Dke="⁨",Ake="⁩"});function Oee(t){let e=t.lastIndexOf("/");return e<=0?"/":t.slice(0,e)}function Gke(t,e=!1){let n=new Set,r=t;for(;r&&(n.add(r.path),!!e);)r=r.parent instanceof nP.TFolder?r.parent:null;return n}function qke(t,e){return t?Array.from(Gke(t,e)).join(Lee):null}function Yke(t){return new Set(t.split(Lee))}function $ke(t,e,n){return t instanceof nP.TFolder?typeof n!="string"?!1:e.has(n)||e.has(t.path):t instanceof nP.TFile?e.has(Oee(t.path))?!0:typeof n!="string"?!1:e.has(Oee(n)):!1}function bS(t,e,n,r){let[o,a]=(0,jR.useState)(0),i=r?.includeAncestors===!0,s=qke(e,i);return(0,jR.useEffect)(()=>{if(!n||!s)return;let l=Yke(s),c=(g,f)=>{$ke(g,l,f)&&a(h=>h+1)},u=t.on("create",g=>{c(g)}),p=t.on("delete",g=>{c(g)}),m=t.on("rename",(g,f)=>{c(g,f)});return()=>{t.offref(u),t.offref(p),t.offref(m)}},[n,t,s]),o}var jR,nP,Lee,GR=U(()=>{jR=ue(ze()),nP=require("obsidian"),Lee="\0"});function Bee({onHeaderClick:t,isSearchActive:e,onSearchToggle:n,onManualSortStart:r,getManualSortNewFileContext:o,actionsDisabled:a=!1,desktopTitle:i,breadcrumbSegments:s,iconName:l,showIcon:c}){let u=bs.default.useRef(null),{app:p,isMobile:m,plugin:g}=gt(),f=qs(),h=pt(),v=Xt().includeDescendantNotes,y=ar(),S=gr(),w=Yn(),k=Vr(),F=h.listPaneTitle??"header",P=Ki(),T=h.toolbarVisibility.list,I=T.reveal,{handleNewFile:N,canCreateNewFile:O,handleRevealFile:K,canRevealFile:G,handleAppearanceMenu:X,handleSortMenu:L,handleToggleDescendants:V,descendantsTooltip:D,getSortIcon:A,hasAppearanceOrSortSelection:_,hasCustomSortOrGroup:E,hasCustomAppearance:R}=WR({onManualSortStart:r,getManualSortNewFileContext:o,trackRevealFileAvailability:!m&&I}),M=T.back&&w.singlePane,C=T.search,x=T.descendants,z=T.sort,H=T.appearance,Y=T.newNote,ee=!!(y.selectedFolder||y.selectedTag||y.selectedProperty),$=m,j=!m&&F==="header",J=j&&c,re=M||j||C||I||x||z||H||Y,oe=(0,bs.useMemo)(()=>zee.Platform.isAndroidApp?"arrow-left":"chevron-left",[]),Z=(0,bs.useMemo)(()=>A(),[A]),ce=y.selectionType===W.FOLDER?y.selectedFolder:null,ae=$||j,se=bS(p.vault,ce,h.enableFolderNotes&&h.enableFolderNoteLinks&&ae),ne=(0,bs.useMemo)(()=>!ce||!h.enableFolderNotes||!h.enableFolderNoteLinks||!ae?null:Pn(ce,{enableFolderNotes:h.enableFolderNotes,folderNoteName:h.folderNoteName,folderNoteNamePattern:h.folderNoteNamePattern}),[ce,h.enableFolderNotes,h.enableFolderNoteLinks,h.folderNoteName,h.folderNoteNamePattern,ae,se]),B=bs.default.useCallback(te=>{if(!ce||!ne)return;te.stopPropagation();let pe=Hc(te,h.folderNoteOpenLocation,h.multiSelectModifier,m);Q(()=>ri({app:p,commandQueue:f,folder:ce,folderNote:ne,context:pe,openInRightSidebar:ve=>g.openFolderNoteInRightSidebar(ve)}))},[ce,ne,h.folderNoteOpenLocation,h.multiSelectModifier,m,p,f,g]),q=bs.default.useCallback(te=>{te.button!==1||!ce||!ne||(te.preventDefault(),te.stopPropagation(),Q(()=>ri({app:p,commandQueue:f,folder:ce,folderNote:ne,context:"tab"})))},[ce,ne,p,f]),ie=(0,bs.useMemo)(()=>{if(!$)return ne?(0,cr.jsx)("span",{className:"nn-pane-header-folder-note",onClick:B,onMouseDown:q,children:i}):i;let te=[];return s.forEach((pe,ve)=>{let Ie=`${pe.label}-${ve}`,qe=pe.isLast&&!!ne;if(pe.isLast||pe.targetType==="none"||!pe.targetPath)te.push((0,cr.jsx)("span",{className:`nn-path-current${qe?" nn-pane-header-folder-note":""}`,onClick:qe?B:void 0,onMouseDown:qe?q:void 0,children:pe.label},Ie));else{let xe=Ce=>{if(Ce.stopPropagation(),pe.targetType==="folder"){let vt=pe.targetPath,Rt=vt?p.vault.getFolderByPath(vt):null;Rt&&S({type:"SET_SELECTED_FOLDER",folder:Rt})}else pe.targetType==="tag"&&pe.targetPath?S({type:"SET_SELECTED_TAG",tag:Ze(pe.targetPath)}):pe.targetType==="property"&&pe.targetPath&&S({type:"SET_SELECTED_PROPERTY",nodeId:pe.targetPath})};te.push((0,cr.jsx)("span",{className:"nn-path-segment",onClick:xe,children:pe.label},Ie))}pe.isLast||te.push((0,cr.jsx)("span",{className:"nn-path-separator",children:" / "},`${Ie}-separator`))}),te},[p.vault,s,i,S,$,ne,B,q]),le=bs.default.useRef(null),[Te,ke]=bs.default.useState(!1);(0,bs.useEffect)(()=>{if(!J||!u.current)return;yn().renderIcon(u.current,l)},[l,P,J]),(0,bs.useEffect)(()=>{if(!m){ke(!1);return}if(!le.current)return;let te=window.setTimeout(()=>{le.current&&le.current.scrollTo({left:le.current.scrollWidth,behavior:"instant"})},0);return()=>window.clearTimeout(te)},[y.selectedFolder,y.selectedTag,y.selectedProperty,m]);let Fe=bs.default.useCallback(()=>{m&&le.current&&ke(le.current.scrollLeft>0)},[m]);return m?(0,cr.jsx)("div",{className:"nn-pane-header nn-pane-header-simple",onClick:t,children:(0,cr.jsxs)("div",{className:"nn-mobile-header nn-mobile-header-no-icon",children:[(0,cr.jsx)("button",{className:"nn-icon-button nn-back-button","aria-label":d.paneHeader.mobileBackToNavigation,"data-pane-toggle":"navigation",onClick:te=>{te.stopPropagation(),k({type:"SET_SINGLE_PANE_VIEW",view:"navigation"})},tabIndex:-1,children:(0,cr.jsx)(Qt,{iconId:oe,"aria-hidden":!0})}),Te&&(0,cr.jsx)("div",{className:"nn-breadcrumb-fade"}),(0,cr.jsx)("div",{ref:le,className:"nn-breadcrumb-scroll",onScroll:Fe,children:(0,cr.jsx)("span",{className:"nn-mobile-title",children:ie})})]})}):re?(0,cr.jsx)("div",{className:"nn-pane-header",children:(0,cr.jsxs)("div",{className:"nn-header-actions nn-header-actions--space-between",children:[M?(0,cr.jsx)("button",{className:"nn-icon-button","data-pane-toggle":"navigation",onClick:()=>{k({type:"SET_SINGLE_PANE_VIEW",view:"navigation"}),k({type:"SET_FOCUSED_PANE",pane:"navigation"})},"aria-label":d.paneHeader.showFolders,tabIndex:-1,children:(0,cr.jsx)(Qt,{iconId:oe,"aria-hidden":!0})}):null,(0,cr.jsxs)("span",{className:"nn-pane-header-title",children:[J&&(0,cr.jsx)("span",{ref:u,className:"nn-pane-header-icon"}),j&&(0,cr.jsx)("span",{className:"nn-pane-header-text",children:ie})]}),(0,cr.jsxs)("div",{className:"nn-header-actions",children:[C?(0,cr.jsx)("button",{className:`nn-icon-button ${e?"nn-icon-button-active":""}`,"aria-label":d.paneHeader.search,onClick:n,disabled:a||!ee,tabIndex:-1,children:(0,cr.jsx)(Qt,{iconId:Qe(h.interfaceIcons,"list-search")})}):null,I?(0,cr.jsx)("button",{className:"nn-icon-button","aria-label":d.commands.revealFile,onClick:()=>{Q(()=>K())},disabled:a||!G,tabIndex:-1,children:(0,cr.jsx)(Qt,{iconId:Qe(h.interfaceIcons,"list-reveal-file")})}):null,x?(0,cr.jsx)("button",{className:`nn-icon-button ${v?"nn-icon-button-active":""}`,"aria-label":D,onClick:V,disabled:a||!ee,tabIndex:-1,children:(0,cr.jsx)(Qt,{iconId:Qe(h.interfaceIcons,"list-descendants")})}):null,z?(0,cr.jsx)("button",{className:`nn-icon-button ${E?"nn-icon-button-active":""}`,"aria-label":d.paneHeader.changeSortAndGroup,onClick:L,disabled:a||!_,tabIndex:-1,children:(0,cr.jsx)(Qt,{iconId:Z})}):null,H?(0,cr.jsx)("button",{className:`nn-icon-button ${R?"nn-icon-button-active":""}`,"aria-label":d.paneHeader.changeAppearance,onClick:X,disabled:a||!_,tabIndex:-1,children:(0,cr.jsx)(Qt,{iconId:Qe(h.interfaceIcons,"list-appearance")})}):null,Y?(0,cr.jsx)("button",{className:"nn-icon-button","aria-label":d.paneHeader.newNote,onClick:()=>{Q(()=>N())},disabled:a||!O,tabIndex:-1,children:(0,cr.jsx)(Qt,{iconId:Qe(h.interfaceIcons,"list-new-note")})}):null]})]})}):null}var bs,zee,cr,_ee=U(()=>{bs=ue(ze()),zee=require("obsidian");Ur();mn();on();Tr();pa();Ee();Ha();Al();yV();GR();Ue();Jc();td();Sn();ot();pr();cr=ue(Ge())});function Hee({isSearchActive:t,onSearchToggle:e,onManualSortStart:n,getManualSortNewFileContext:r,useFloatingLayout:o=!1}){let i=Xt().includeDescendantNotes,s=ar(),l=pt(),c=l.toolbarVisibility.list,u=c.reveal,{handleNewFile:p,canCreateNewFile:m,handleRevealFile:g,canRevealFile:f,handleAppearanceMenu:h,handleSortMenu:b,handleToggleDescendants:v,descendantsTooltip:y,getSortIcon:S,hasAppearanceOrSortSelection:w,hasCustomSortOrGroup:k,hasCustomAppearance:F}=WR({onManualSortStart:n,getManualSortNewFileContext:r,trackRevealFileAvailability:u}),P=c.search,T=c.descendants,I=c.sort,N=c.appearance,O=c.newNote,K=!!(s.selectedFolder||s.selectedTag||s.selectedProperty),G=[P,u,T,I,N].filter(Boolean).length,X=G+(O?1:0),L=G===1?"nn-mobile-toolbar-circle":"nn-mobile-toolbar-pill",V=G===1?"nn-mobile-toolbar-button nn-mobile-toolbar-button-circle":"nn-mobile-toolbar-button";if(X===0)return null;let D=[P?(0,Da.jsx)("button",{className:`${V}${t?" nn-mobile-toolbar-button-active":""}`,"aria-label":d.paneHeader.search,onClick:e,disabled:!K,tabIndex:-1,children:(0,Da.jsx)(Qt,{iconId:Qe(l.interfaceIcons,"list-search")})},"search"):null,u?(0,Da.jsx)("button",{className:V,"aria-label":d.commands.revealFile,onClick:()=>{Q(()=>g())},disabled:!f,tabIndex:-1,children:(0,Da.jsx)(Qt,{iconId:Qe(l.interfaceIcons,"list-reveal-file")})},"reveal"):null,T?(0,Da.jsx)("button",{className:`${V}${i?" nn-mobile-toolbar-button-active":""}`,"aria-label":y,onClick:v,disabled:!K,tabIndex:-1,children:(0,Da.jsx)(Qt,{iconId:Qe(l.interfaceIcons,"list-descendants")})},"descendants"):null,I?(0,Da.jsx)("button",{className:`${V}${k?" nn-mobile-toolbar-button-active":""}`,"aria-label":d.paneHeader.changeSortAndGroup,onClick:b,disabled:!w,tabIndex:-1,children:(0,Da.jsx)(Qt,{iconId:S()})},"sort"):null,N?(0,Da.jsx)("button",{className:`${V}${F?" nn-mobile-toolbar-button-active":""}`,"aria-label":d.paneHeader.changeAppearance,onClick:h,disabled:!w,tabIndex:-1,children:(0,Da.jsx)(Qt,{iconId:Qe(l.interfaceIcons,"list-appearance")})},"appearance"):null].filter(Boolean),A=O?(0,Da.jsx)("button",{className:"nn-mobile-toolbar-button nn-mobile-toolbar-button-circle","aria-label":d.paneHeader.newNote,onClick:()=>{Q(()=>p())},disabled:!m,tabIndex:-1,children:(0,Da.jsx)(Qt,{iconId:Qe(l.interfaceIcons,"list-new-note")})},"new-note"):null;return o?(0,Da.jsxs)("div",{className:"nn-mobile-toolbar",children:[(0,Da.jsx)("div",{className:"nn-mobile-toolbar-left",children:G>0?(0,Da.jsx)("div",{className:L,children:D}):null}),O?(0,Da.jsx)("div",{className:"nn-mobile-toolbar-right",children:(0,Da.jsx)("div",{className:"nn-mobile-toolbar-circle",children:A})}):null]}):(0,Da.jsxs)("div",{className:"nn-mobile-toolbar",children:[D,A]})}var Da,Vee=U(()=>{Ur();on();Tr();Ee();Al();yV();ot();pr();Da=ue(Ge())});var Wee={};In(Wee,{InfoModal:()=>Nf});function Qke(t,e){if(!e)return;let n=0;for(let r of e.matchAll(Xke)){let o=r[0],a=r[1];if(!o||a===void 0)continue;let i=r.index??-1;if(i===-1)break;i>n&&t.appendText(e.slice(n,i));let s=t.createEl("strong");s.textContent=a,n=i+o.length}n<e.length&&t.appendText(e.slice(n))}function Uee(t,e){let n=t.createEl("ul");for(let r of e){let o=n.createEl("li");Qke(o,r)}}var Kee,Xke,Nf,qR=U(()=>{Kee=require("obsidian"),Xke=/`([^`]+)`/g;Nf=class extends Kee.Modal{constructor(e,n){super(e),this.modalContent=n,this.modalEl.addClass("nn-search-help-modal"),this.titleEl.setText(n.title)}onOpen(){let{contentEl:e}=this;e.empty();let n=e.createDiv({cls:"nn-search-help-scroll"});this.modalContent.intro&&n.createEl("p",{text:this.modalContent.intro}),this.modalContent.emphasizedIntro&&n.createEl("p").createEl("strong",{text:this.modalContent.emphasizedIntro});let r=this.modalContent.sections??[];if(r.length>0){for(let o of r)n.createEl("h3",{text:o.title}),Uee(n,o.items);return}this.modalContent.items&&this.modalContent.items.length>0&&Uee(n,this.modalContent.items)}onClose(){this.modalEl.removeClass("nn-search-help-modal"),this.contentEl.empty()}}});var Cd,If,jee,Gee=U(()=>{Cd=ue(ze()),If=ue(Ge()),jee=Cd.default.memo(function({className:e,ariaText:n,dayNumber:r,isMobile:o,showUnfinishedTaskIndicator:a,onClick:i,onContextMenu:s,style:l,tooltipEnabled:c,tooltipData:u,onHideTooltip:p,onShowTooltip:m}){let g=(0,Cd.useRef)(null),{dateTimestamp:f,imageUrl:h,previewEnabled:b,previewPath:v,showDate:y,title:S}=u,w=(0,Cd.useMemo)(()=>({imageUrl:h,title:S,dateTimestamp:f,previewPath:v,previewEnabled:b,showDate:y}),[f,h,b,v,y,S]),k=(0,Cd.useCallback)(()=>{if(o||!c)return;let T=g.current;T&&m(T,w)},[o,m,w,c]),F=(0,Cd.useCallback)(()=>{let T=g.current;!T||o||p(T)},[o,p]),P=(0,Cd.useCallback)(T=>{let I=g.current;I&&p(I),i(T)},[i,p]);return(0,Cd.useEffect)(()=>{let T=g.current;T&&(o||c&&T.matches(":hover")&&m(T,w))},[o,m,w,c]),(0,If.jsxs)("button",{ref:g,type:"button",className:e,style:l,onMouseEnter:k,onMouseLeave:F,onClick:P,onContextMenu:s,children:[(0,If.jsx)("span",{className:"nn-navigation-calendar-active-outline","aria-hidden":"true"}),(0,If.jsx)("span",{className:"nn-navigation-calendar-day-number","aria-hidden":"true",children:r}),a?(0,If.jsx)("span",{className:"nn-navigation-calendar-day-unfinished-task-indicator","aria-hidden":"true"}):null,(0,If.jsx)("span",{className:"nn-visually-hidden",children:n})]})})});function ku(t,e,n){return Math.min(Math.max(t,e),n)}function rP(t){return t.format("YYYY-MM-DD")}function qee(t,e){switch(t){case"day":return`@${e.format("YYYY-MM-DD")}`;case"week":{let n=e.clone().startOf("day"),r=n.clone().add(6,"day");return`@${n.format("YYYY-MM-DD")}..${r.format("YYYY-MM-DD")}`}case"month":return`@${e.format("YYYY-MM")}`;case"quarter":{let n=Math.floor(e.month()/3)+1;return`@${e.format("YYYY")}-Q${n}`}case"year":return`@${e.format("YYYY")}`;default:return""}}function oP(t){return t==="day"||t==="week"||t==="month"}function Yee(t,e,n){return n?!1:Dv(t,e)}function Zke(t){return t.toDate().getDay()}function bV(t,e){let r=(Zke(t)-e+7)%7;return t.clone().subtract(r,"day").startOf("day")}function $ee(t){let e=ku(t.weeksToShow,1,6);if(e===6){let o=t.cursor.clone().startOf("month"),a=bV(o,t.weekStartsOn);if(t.alwaysRenderSixWeeks)return{windowStart:a,weekCount:6};let i=o.clone().endOf("month"),s=bV(i,t.weekStartsOn),l=ku(s.diff(a,"weeks")+1,1,6);return{windowStart:a,weekCount:l}}let n=Math.floor((e-1)/2);return{windowStart:bV(t.cursor.clone(),t.weekStartsOn).clone().subtract(n,"week"),weekCount:e}}function SS(t,e){switch(e){case"none":return!1;case"fri-sat":return t===5||t===6;case"thu-fri":return t===4||t===5;default:return t===0||t===6}}function Jke(t,e){let n=t.getFile(e)?.taskUnfinished;return typeof n!="number"||n<=0?null:n}function SV(t,e,n,r){if(!n)return;let o=Jke(r,n.path);o!==null&&t.set(e,o)}var YR=U(()=>{td()});var Xee,io,Qee,Zee=U(()=>{Xee=ue(ze());Zl();Gee();YR();io=ue(Ge()),Qee=Xee.default.memo(function({activeEditorFilePath:e,showWeekNumbers:n,weekdays:r,weekStartsOn:o,trailingSpacerWeekCount:a,weeks:i,weekNotesEnabled:s,weekNoteFilesByKey:l,weekUnfinishedTaskCountByKey:c,displayLocale:u,calendarWeekendDays:p,todayIso:m,unfinishedTaskCountByIso:g,featureImageUrls:f,featureImageKeysByIso:h,frontmatterTitlesByPath:b,dateFormat:v,isMobile:y,canCreateDayNotes:S,onShowTooltip:w,onHideTooltip:k,onDayClick:F,onDayContextMenu:P,onWeekClick:T,onWeekLabelClick:I,onWeekContextMenu:N}){return(0,io.jsxs)("div",{className:"nn-navigation-calendar-grid","data-weeknumbers":n?"true":void 0,children:[(0,io.jsxs)("div",{className:"nn-navigation-calendar-weekdays","data-weeknumbers":n?"true":void 0,children:[n?(0,io.jsx)("div",{className:"nn-navigation-calendar-weeknumber-spacer"}):null,n?(0,io.jsx)("div",{className:"nn-navigation-calendar-weeknumber-divider","aria-hidden":"true"}):null,r.map((O,K)=>(0,io.jsx)("div",{className:"nn-navigation-calendar-weekday",children:O},(o+K)%7))]}),(0,io.jsxs)("div",{className:"nn-navigation-calendar-weeks","data-weeknumbers":n?"true":void 0,children:[i.map((O,K)=>{let G=l.get(O.key)??null,X=(c.get(O.key)??0)>0,L=!!(G&&e===G.path),V=K>0?i[K-1]:null,D=K<i.length-1?i[K+1]:null;return(0,io.jsxs)("div",{className:`nn-navigation-calendar-week${K<i.length-1?" has-next-week":""}`,children:[n?(0,io.jsxs)(io.Fragment,{children:[s?(0,io.jsxs)("button",{type:"button",className:["nn-navigation-calendar-weeknumber","nn-navigation-calendar-weeknumber-button",G?"has-period-note":"",L?"is-active-editor-file":"",X?"has-unfinished-tasks":""].filter(Boolean).join(" "),onClick:A=>T(A,O,G),onContextMenu:A=>N(A,O,G),children:[(0,io.jsx)("span",{className:"nn-navigation-calendar-active-outline","aria-hidden":"true"}),(0,io.jsx)("span",{className:"nn-navigation-calendar-weeknumber-value",children:O.weekNumber})]}):(0,io.jsxs)("button",{type:"button",className:"nn-navigation-calendar-weeknumber nn-navigation-calendar-weeknumber-button",onClick:A=>I(A,O),onContextMenu:A=>N(A,O,null),children:[(0,io.jsx)("span",{className:"nn-navigation-calendar-active-outline","aria-hidden":"true"}),(0,io.jsx)("span",{className:"nn-navigation-calendar-weeknumber-value",children:O.weekNumber})]}),(0,io.jsx)("div",{className:"nn-navigation-calendar-weeknumber-divider","aria-hidden":"true"})]}):null,O.days.map((A,_)=>{let E=A.date.date(),R=!!A.file,C=(R?g.get(A.iso)??0:0)>0,x=f[A.iso]??null,z=h.has(A.iso),H=m===A.iso,Y=!!(A.file&&e===A.file.path),ee=A.date.toDate().getDay(),$=SS(ee,p),j=_>0?O.days[_-1]:null,J=_<O.days.length-1?O.days[_+1]:null,re=V?V.days[_]??null:null,oe=D?D.days[_]??null:null,Z=$&&!!(j&&SS(j.date.toDate().getDay(),p)),ce=$&&!!(J&&SS(J.date.toDate().getDay(),p)),ae=$&&!!(re&&SS(re.date.toDate().getDay(),p)),se=$&&!!(oe&&SS(oe.date.toDate().getDay(),p)),le=["nn-navigation-calendar-day-cell",$?"is-weekend":"is-weekday",Z?"has-weekend-before":"",ce?"has-weekend-after":"",ae?"has-weekend-above":"",se?"has-weekend-below":"",$&&!ae&&!Z?"round-weekend-top-left":"",$&&!ae&&!ce?"round-weekend-top-right":"",$&&!se&&!Z?"round-weekend-bottom-left":"",$&&!se&&!ce?"round-weekend-bottom-right":""].filter(Boolean).join(" "),Te=["nn-navigation-calendar-day",A.inMonth?"is-in-month":"is-outside-month",H?"is-today":"",Y?"is-active-editor-file":"",$?"is-weekend":"is-weekday",R?"has-daily-note":"",C?"has-unfinished-tasks":"",z?"has-feature-image-key":"",x?"has-feature-image":""].filter(Boolean).join(" "),ke=x?{backgroundImage:`url(${x})`}:void 0,Fe=A.date.clone().locale(u).format("LL"),te=A.date.toDate().getTime(),pe=A.file?b.get(A.file.path)??"":"",ve=pe.trim().length>0,Ie=ve?pe:zr.formatDate(te,v),qe=ve,xe=ve?`${Fe}, ${pe}`:Fe,Ce=!!(A.file||x),vt={imageUrl:x,title:Ie||Fe,dateTimestamp:te,previewPath:A.file?.path??null,previewEnabled:!!(A.file&&A.file.extension==="md"),showDate:qe};return(0,io.jsx)("div",{className:le,children:(0,io.jsx)(jee,{className:Te,ariaText:xe,style:ke,tooltipEnabled:Ce,tooltipData:vt,dayNumber:E,isMobile:y,showUnfinishedTaskIndicator:C,onShowTooltip:w,onHideTooltip:k,onClick:Rt=>F(Rt,A),onContextMenu:Rt=>P(Rt,A,S)})},A.iso)})]},O.key)}),Array.from({length:a}).map((O,K)=>(0,io.jsxs)("div",{className:"nn-navigation-calendar-week nn-navigation-calendar-week-spacer",children:[n?(0,io.jsx)(io.Fragment,{children:(0,io.jsx)("div",{className:"nn-navigation-calendar-weeknumber nn-navigation-calendar-weeknumber-spacer-row","aria-hidden":"true"})}):null,Array.from({length:7}).map((G,X)=>(0,io.jsx)("div",{className:"nn-navigation-calendar-day-spacer","aria-hidden":"true"},`spacer-day-${K}-${X}`))]},`spacer-week-${K}`))]})]})})});var Jee,Kr,ete,tte=U(()=>{Jee=ue(ze());Ee();Al();Kr=ue(Ge()),ete=Jee.default.memo(function({monthLabel:e,yearLabel:n,quarterLabel:r,showYearInHeader:o,showQuarter:a,hasMonthPeriodNote:i,hasQuarterPeriodNote:s,hasYearPeriodNote:l,isMonthPeriodActive:c,isQuarterPeriodActive:u,isYearPeriodActive:p,showInlineMonthNavigation:m,showCompactQuarterInMonthRow:g,showHeaderPeriodDetails:f,showHeaderNavRow:h,showCompactHeaderInlineInfoButton:b,showInfoInNavRow:v,onNavigate:y,onToday:S,onOpenHelp:w,onPeriodClick:k,onPeriodContextMenu:F}){let P=N=>{N.button===0&&N.preventDefault()},T=o?(0,Kr.jsxs)("button",{type:"button",className:["nn-navigation-calendar-period-button","nn-navigation-calendar-period-year",l?"has-period-note":"",p?"is-active-editor-file":""].filter(Boolean).join(" "),onMouseDown:P,onClick:N=>k(N,"year"),onContextMenu:N=>F(N,"year"),children:[(0,Kr.jsx)("span",{className:"nn-navigation-calendar-active-outline","aria-hidden":"true"}),n]}):null,I=N=>(0,Kr.jsxs)("button",{type:"button",className:["nn-navigation-calendar-period-button","nn-navigation-calendar-quarter-button",N?"nn-navigation-calendar-quarter-inline":"",s?"has-period-note":"",u?"is-active-editor-file":""].filter(Boolean).join(" "),onMouseDown:P,onClick:O=>k(O,"quarter"),onContextMenu:O=>F(O,"quarter"),children:[(0,Kr.jsx)("span",{className:"nn-navigation-calendar-active-outline","aria-hidden":"true"}),(0,Kr.jsx)("span",{className:"nn-navigation-calendar-quarter-paren","aria-hidden":"true",children:"("}),(0,Kr.jsx)("span",{className:"nn-navigation-calendar-quarter-value",children:r}),(0,Kr.jsx)("span",{className:"nn-navigation-calendar-quarter-paren","aria-hidden":"true",children:")"})]});return(0,Kr.jsxs)("div",{className:"nn-navigation-calendar-header",children:[(0,Kr.jsxs)("div",{className:["nn-navigation-calendar-month",m?"has-inline-month-nav":"",b?"has-inline-help":""].filter(Boolean).join(" "),children:[m?(0,Kr.jsx)("button",{type:"button",className:"nn-navigation-calendar-nav-button nn-navigation-calendar-year-nav-button nn-navigation-calendar-inline-month-nav-prev","aria-label":d.common.previous,onMouseDown:P,onClick:()=>y(-1),children:(0,Kr.jsx)(Qt,{iconId:"lucide-chevron-left","aria-hidden":!0})}):null,(0,Kr.jsxs)("div",{className:"nn-navigation-calendar-inline-month-center",children:[(0,Kr.jsxs)("button",{type:"button",className:["nn-navigation-calendar-period-button","nn-navigation-calendar-period-month",i?"has-period-note":"",c?"is-active-editor-file":""].filter(Boolean).join(" "),onMouseDown:P,onClick:N=>k(N,"month"),onContextMenu:N=>F(N,"month"),children:[(0,Kr.jsx)("span",{className:"nn-navigation-calendar-active-outline","aria-hidden":"true"}),e]}),g?I(!0):null,b?(0,Kr.jsx)("button",{type:"button",className:"nn-navigation-calendar-nav-button nn-navigation-calendar-month-help nn-navigation-calendar-inline-help","aria-label":d.navigationCalendar.helpModal.title,onMouseDown:P,onClick:w,children:(0,Kr.jsx)(Qt,{iconId:"info","aria-hidden":!0})}):null]}),m?(0,Kr.jsx)("button",{type:"button",className:"nn-navigation-calendar-nav-button nn-navigation-calendar-year-nav-button nn-navigation-calendar-inline-month-nav-next","aria-label":d.common.next,onMouseDown:P,onClick:()=>y(1),children:(0,Kr.jsx)(Qt,{iconId:"lucide-chevron-right","aria-hidden":!0})}):null,f?T:null,f&&a?I(!1):null]}),h?(0,Kr.jsxs)("div",{className:"nn-navigation-calendar-nav",children:[v?(0,Kr.jsx)("button",{type:"button",className:["nn-navigation-calendar-nav-button","nn-navigation-calendar-help","nn-navigation-calendar-help-inline"].filter(Boolean).join(" "),"aria-label":d.navigationCalendar.helpModal.title,onMouseDown:P,onClick:w,children:(0,Kr.jsx)(Qt,{iconId:"info","aria-hidden":!0})}):null,(0,Kr.jsx)("button",{type:"button",className:"nn-navigation-calendar-nav-button nn-navigation-calendar-nav-prev","aria-label":d.common.previous,onMouseDown:P,onClick:()=>y(-1),children:(0,Kr.jsx)(Qt,{iconId:"lucide-chevron-left","aria-hidden":!0})}),(0,Kr.jsx)("button",{type:"button",className:"nn-navigation-calendar-today","aria-label":d.dateGroups.today,onMouseDown:P,onClick:S,children:d.dateGroups.today}),(0,Kr.jsx)("button",{type:"button",className:"nn-navigation-calendar-nav-button nn-navigation-calendar-nav-next","aria-label":d.common.next,onMouseDown:P,onClick:()=>y(1),children:(0,Kr.jsx)(Qt,{iconId:"lucide-chevron-right","aria-hidden":!0})})]}):null]})})});var nte,rte,zg,ote,ate=U(()=>{nte=ue(ze()),rte=ue(pF()),zg=ue(Ge()),ote=nte.default.memo(function({isMobile:e,hoverTooltip:n,hoverTooltipStyle:r,hoverTooltipRef:o,hoverTooltipPreviewText:a,shouldShowHoverTooltipPreview:i,hoverTooltipDateText:s}){return!n||e?null:(0,rte.createPortal)((0,zg.jsxs)("div",{ref:o,className:"nn-navigation-calendar-hover-tooltip",style:r??{top:0,left:0,transform:"translateY(-50%)",visibility:"hidden"},role:"tooltip",children:[n.tooltipData.imageUrl?(0,zg.jsx)("div",{className:"nn-navigation-calendar-hover-tooltip-image",style:{backgroundImage:`url(${n.tooltipData.imageUrl})`}}):null,(0,zg.jsxs)("div",{className:"nn-compact-file-text-content",children:[(0,zg.jsx)("div",{className:"nn-file-name",style:{"--filename-rows":2,height:"auto",minHeight:0},children:n.tooltipData.title}),i?(0,zg.jsx)("div",{className:"nn-file-preview",style:{"--preview-rows":2},children:a}):null,s?(0,zg.jsx)("div",{className:"nn-file-date",children:s}):null]})]}),activeDocument.body)})});var ite,Ss,ste,lte=U(()=>{ite=ue(ze());Ee();Al();Ss=ue(Ge()),ste=ite.default.memo(function({showYearCalendar:e,currentMonthKey:n,displayedYearValue:r,activeYearValue:o,activeMonthIndex:a,hasYearPeriodNote:i,isYearPeriodActive:s,yearMonthEntries:l,highlightedMonthFeatureImageKeys:c,highlightedMonthImageUrls:u,onNavigateYear:p,onYearPeriodClick:m,onYearPeriodContextMenu:g,onSelectYearMonth:f}){return e?(0,Ss.jsxs)("div",{className:"nn-navigation-calendar-year-panel",children:[(0,Ss.jsxs)("div",{className:"nn-navigation-calendar-year-nav",children:[(0,Ss.jsx)("button",{type:"button",className:"nn-navigation-calendar-nav-button nn-navigation-calendar-year-nav-button","aria-label":d.common.previous,onClick:()=>p(-1),children:(0,Ss.jsx)(Qt,{iconId:"lucide-chevron-left","aria-hidden":!0})}),(0,Ss.jsxs)("button",{type:"button",className:["nn-navigation-calendar-year-label","nn-navigation-calendar-period-button",i?"has-period-note":"",s?"is-active-editor-file":""].filter(Boolean).join(" "),"aria-live":"polite",onClick:m,onContextMenu:g,children:[(0,Ss.jsx)("span",{className:"nn-navigation-calendar-active-outline","aria-hidden":"true"}),r]}),(0,Ss.jsx)("button",{type:"button",className:"nn-navigation-calendar-nav-button nn-navigation-calendar-year-nav-button","aria-label":d.common.next,onClick:()=>p(1),children:(0,Ss.jsx)(Qt,{iconId:"lucide-chevron-right","aria-hidden":!0})})]}),(0,Ss.jsx)("div",{className:"nn-navigation-calendar-year-grid",children:l.map(h=>{let b=r===o&&h.monthIndex===a,v=h.key===n,y=c.has(h.key),S=u[h.key]??null,w=`${h.fullLabel} ${r}`,k=S?{backgroundImage:`url(${S})`}:void 0;return(0,Ss.jsxs)("button",{type:"button",className:["nn-navigation-calendar-year-month",v?"is-current-month":"",b?"is-selected-month":"",h.hasDailyNote?"has-daily-note":"",h.hasUnfinishedTasks?"has-unfinished-tasks":"",y?"has-feature-image-key":"",S?"has-feature-image":""].filter(Boolean).join(" "),"aria-label":w,style:k,onClick:F=>f(F,h.date),children:[(0,Ss.jsx)("span",{className:"nn-navigation-calendar-active-outline","aria-hidden":"true"}),(0,Ss.jsx)("span",{className:"nn-navigation-calendar-year-month-label",children:h.shortLabel}),h.hasUnfinishedTasks?(0,Ss.jsx)("span",{className:"nn-navigation-calendar-year-month-unfinished-task-indicator","aria-hidden":"true"}):null]},h.key)})})]}):null})});function cte(t){return t.replace(/\.md$/iu,"")}function dte(t){return(0,aP.normalizePath)(t).replace(/^\/+/u,"").replace(/\/+$/u,"")}function eFe(t){let e="",n=!1;for(let r of t){if(r==="["){n=!0;continue}if(r==="]"){n=!1;continue}n||(e+=r)}return e}function tFe(t){let e=eFe(t);return/[YgG]/u.test(e)&&/[wW]/u.test(e)}function nFe(t,e){let n=dte(t),r=dte(e);return r?n===r?"":n.startsWith(`${r}/`)?n.slice(r.length+1):null:n}function rFe({filePath:t,resolverContext:e,parseLocale:n,calendarLocale:r,weekLocale:o,customCalendarRootFolderSettings:a,momentApi:i}){let s=cte(t),l=nFe(s,a.calendarCustomRootFolder);if(!l)return null;let c=e.momentPattern.split("/").filter(Boolean),u=l.split("/").filter(Boolean);if(c.length!==u.length)return null;for(let p=c.length-1;p>=0;p--){let m=c.slice(p).join("/");if(!tFe(m))continue;let g=u.slice(p).join("/"),f=i(g,m,n,!0);if(!f.isValid())continue;if(sP({kind:"week",date:f,resolverContext:e,calendarLocale:r,weekLocale:o,customCalendarRootFolderSettings:a,momentApi:i})?.filePath===t)return f}return null}function iP(t,e){let n=np(t,e),r=Im(n.calendarCustomFilePattern,n.fallbackPattern);return{config:n,momentPattern:r}}function sP({kind:t,date:e,resolverContext:n,calendarLocale:r,weekLocale:o,customCalendarRootFolderSettings:a,momentApi:i}){let{config:s,momentPattern:l}=n;if(!s.isPatternValid(l,i))return null;let c=rp(t,e,l,r,o);return xm(c,a,s.calendarCustomFilePattern,s.fallbackPattern)}function $R({app:t,kind:e,date:n,resolverContext:r,calendarLocale:o,weekLocale:a,customCalendarRootFolderSettings:i,momentApi:s}){let l=sP({kind:e,date:n,resolverContext:r,calendarLocale:o,weekLocale:a,customCalendarRootFolderSettings:i,momentApi:s});if(!l)return null;let c=t.vault.getAbstractFileByPath(l.filePath);return c instanceof aP.TFile?c:null}function ute({filePath:t,kind:e,resolverContext:n,calendarLocale:r,weekLocale:o,customCalendarRootFolderSettings:a,momentApi:i,parseLocale:s}){if(!i||!t.toLowerCase().endsWith(".md"))return null;let l=(0,aP.normalizePath)(t),{config:c,momentPattern:u}=n;if(!c.isPatternValid(u,i))return null;if(e==="week")return rFe({filePath:l,kind:e,resolverContext:n,calendarLocale:r,weekLocale:o,customCalendarRootFolderSettings:a,momentApi:i,parseLocale:s});let p=Pw(a.calendarCustomRootFolder),m=p?`${p}/${u}`:u,g=i(cte(l),m,s,!0);if(!g.isValid())return null;let f=sP({kind:e,date:g,resolverContext:n,calendarLocale:r,weekLocale:o,customCalendarRootFolderSettings:a,momentApi:i});return!f||f.filePath!==l?null:g}var aP,wV=U(()=>{aP=require("obsidian");Xl();iy()});function TV(t,e){return!t||!e?null:`${t}\0${e}`}function pte({regenerationKeys:t,filePath:e,featureImageKey:n}){let r=TV(e,n);return!r||t.has(r)?!1:(t.add(r),!0)}function mte(t,e){let n=`${e}\0`;for(let r of t)r.startsWith(n)&&t.delete(r)}function kV({db:t,showFeatureImages:e,targets:n,maxConcurrentLoads:r,onMissingFeatureImage:o}){let a=(0,Vp.useRef)(new Map),[i,s]=(0,Vp.useState)({}),l=(0,Vp.useCallback)(c=>{let u=a.current;if(u.size===0){c&&s(p=>Object.keys(p).length===0?p:{});return}for(let p of u.values())URL.revokeObjectURL(p.url);u.clear(),c&&s(p=>Object.keys(p).length===0?p:{})},[]);return(0,Vp.useEffect)(()=>()=>{l(!1)},[l]),(0,Vp.useEffect)(()=>{let c=!0;if(!t||!e)return l(!0),()=>{c=!1};let u=a.current,p=new Map,m=[],g=async()=>{try{let f=async y=>{let S=u.get(y.id);if(S&&S.key===y.key){p.set(y.id,S);return}let w;try{w=await t.getFeatureImageBlob(y.file.path,y.key)}catch{return}if(!c)return;if(!w){o?.(y);return}let k=URL.createObjectURL(w);m.push(k),p.set(y.id,{key:y.key,url:k})},h=Math.min(Math.max(1,r),n.length||1),b=0,v=[];for(let y=0;y<h;y++)v.push((async()=>{for(;;){let S=b;if(b+=1,S>=n.length)return;await f(n[S])}})());if(await Promise.all(v),!c){m.forEach(y=>URL.revokeObjectURL(y));return}for(let[y,S]of u.entries()){let w=p.get(y);(!w||w.url!==S.url)&&URL.revokeObjectURL(S.url)}a.current=p,s(Object.fromEntries([...p.entries()].map(([y,S])=>[y,S.url])))}catch(f){m.forEach(h=>URL.revokeObjectURL(h)),c&&console.error("Failed to load calendar feature images",f)}};return Q(()=>g()),()=>{c=!1}},[l,t,r,o,e,n]),i}var Vp,gte=U(()=>{Vp=ue(ze());ot()});function hte(t,e){return t.imageUrl===e.imageUrl&&t.title===e.title&&t.dateTimestamp===e.dateTimestamp&&t.previewPath===e.previewPath&&t.previewEnabled===e.previewEnabled&&t.showDate===e.showDate}function fte({db:t,dateFormat:e,isMobile:n,previewVersion:r}){let[o,a]=(0,ma.useState)(null),[i,s]=(0,ma.useState)(null),l=(0,ma.useRef)(null),c=(0,ma.useRef)(null),u=(0,ma.useRef)(null),p=(0,ma.useRef)(null),m=(0,ma.useMemo)(()=>!o||!t||!o.tooltipData.previewEnabled||!o.tooltipData.previewPath?"":t.getCachedPreviewText(o.tooltipData.previewPath),[t,o,r]),g=m.trim().length>0,f=o&&o.tooltipData.showDate?zr.formatDate(o.tooltipData.dateTimestamp,e):"",h=(0,ma.useCallback)(()=>{c.current=null,s(null),a(null)},[]);(0,ma.useEffect)(()=>{p.current=o},[o]);let b=(0,ma.useCallback)(()=>{if(!o){s(null);return}if(typeof window>"u"){s(null);return}if(!o.anchorEl.isConnected){a(null),s(null);return}let S=l.current;if(!S){s({top:0,left:0,transform:"translateY(-50%)",visibility:"hidden"});return}let w=S.offsetWidth,k=S.offsetHeight,F=o.anchorEl.getBoundingClientRect(),P=Sm(),T=10,I=8,N=F.top+F.height/2,O=k/2,K=I+O,G=window.innerHeight-I-O,X=Number.isFinite(K)&&Number.isFinite(G)&&G>=K?ku(N,K,G):ku(N,I,window.innerHeight-I),L=window.innerWidth-F.right-I,V=F.left-I,D=w+T,A=L>=D,_=V>=D,E=P;P==="right"&&!A&&_?E="left":P==="left"&&!_&&A?E="right":!_&&!A&&(E=L>=V?"right":"left");let R=I,M=window.innerWidth-I-w,C=E==="right"?F.right+T:F.left-T-w;Number.isFinite(R)&&Number.isFinite(M)&&M>=R&&(C=ku(C,R,M)),s({top:X,left:C,transform:"translateY(-50%)",visibility:"visible"})},[o]);(0,ma.useLayoutEffect)(()=>{b()},[b]),(0,ma.useLayoutEffect)(()=>{if(!o||n){u.current=null;return}let S=u.current;u.current=g,!(S===null||S===g)&&b()},[o,n,g,b]),(0,ma.useEffect)(()=>{if(!o||typeof window>"u")return;let S=null,w=()=>{S===null&&(S=window.requestAnimationFrame(()=>{S=null,b()}))};return window.addEventListener("resize",w),window.addEventListener("scroll",w,!0),()=>{S!==null&&window.cancelAnimationFrame(S),window.removeEventListener("resize",w),window.removeEventListener("scroll",w,!0)}},[o,b]);let v=(0,ma.useCallback)((S,w)=>{c.current!==S&&(c.current=S,s(null));let k=p.current,F=k&&k.anchorEl===S?k.tooltipData:null,P=F!==null&&hte(F,w),T=w.previewPath;!P&&w.previewEnabled&&T&&t&&Q(()=>t.ensurePreviewTextLoaded(T)),a(I=>{if(I&&I.anchorEl===S){let N=I.tooltipData;if(hte(N,w))return I}return{anchorEl:S,tooltipData:w}})},[t]),y=(0,ma.useCallback)(S=>{c.current===S&&(c.current=null,s(null)),a(w=>!w||w.anchorEl!==S?w:null)},[]);return{hoverTooltip:o,hoverTooltipStyle:i,hoverTooltipRef:l,hoverTooltipStateRef:p,hoverTooltipPreviewText:m,shouldShowHoverTooltipPreview:g,hoverTooltipDateText:f,handleShowTooltip:v,handleHideTooltip:y,clearHoverTooltip:h}}var ma,vte=U(()=>{ma=ue(ze());ot();Zl();os();YR()});function yte({app:t,commandQueue:e,fileSystemOps:n,isMobile:r,settings:o,dailyNoteSettings:a,momentApi:i,dailyNoteLocale:s,calendarLocale:l,weekLocale:c,customCalendarRootFolderSettings:u,openFile:p,clearHoverTooltip:m,onVaultChange:g,showMonthHighlightActions:f,setCalendarMonthHighlight:h,removeCalendarMonthHighlight:b}){let v=(0,Bg.useCallback)(()=>{!r||!t.workspace.leftSplit||t.workspace.leftSplit.collapse()},[t,r]),y=(0,Bg.useCallback)(T=>iP(T,o),[o]),S=(0,Bg.useCallback)((T,I)=>$R({app:t,kind:T,date:I,resolverContext:y(T),calendarLocale:l,weekLocale:c,customCalendarRootFolderSettings:u,momentApi:i}),[t,l,u,y,i,c]),w=(0,Bg.useCallback)((T,I,N)=>{if(N){p(N,{active:!0}),v();return}let O=y(T),K=sP({kind:T,date:I,resolverContext:O,calendarLocale:l,weekLocale:c,customCalendarRootFolderSettings:u,momentApi:i});if(!K){de(O.config.parsingErrorText);return}m();let G=t.vault.getAbstractFileByPath(K.filePath);if(G instanceof XR.TFile){p(G,{active:!0}),v();return}let X=async()=>{let V;try{let D=oy(T,o);V=await ay(t,K.folderPath,K.fileName,D)}catch(D){console.error("Failed to create calendar note",D),de(d.common.unknownError);return}g(),p(V,{active:!0}),v()},L=()=>Q(()=>X());if(o.calendarConfirmBeforeCreate){new En(t,d.paneHeader.newNote,d.navigationCalendar.createDailyNote.message.replace("{filename}",K.filePath),L,d.navigationCalendar.createDailyNote.confirmButton,{confirmButtonClass:"mod-cta"}).open();return}L()},[t,m,v,u,l,y,i,g,p,o,c]),k=(0,Bg.useCallback)((T,I)=>{if(I){p(I,{active:!0}),v();return}if(o.calendarIntegrationMode==="daily-notes"){let N=a;if(!N){de(d.navigationCalendar.dailyNotesNotEnabled);return}let O=T.clone().locale(s),K=Ox(O,N),G=async()=>{let X=await Gy(t,O,N);X&&(g(),p(X,{active:!0}),v())};if(o.calendarConfirmBeforeCreate){new En(t,d.navigationCalendar.createDailyNote.title,d.navigationCalendar.createDailyNote.message.replace("{filename}",K),()=>{Q(G)},d.navigationCalendar.createDailyNote.confirmButton,{confirmButtonClass:"mod-cta"}).open();return}Q(()=>G());return}w("day",T,null)},[t,v,s,a,g,p,w,o]),F=(0,Bg.useCallback)((T,I)=>{T.addItem(N=>{$e(N.setTitle(d.contextMenu.file.openInNewTab).setIcon("lucide-file-plus"),async()=>{await no({app:t,commandQueue:e,file:I,context:"tab"})})}),T.addItem(N=>{$e(N.setTitle(d.contextMenu.file.openToRight).setIcon("lucide-separator-vertical"),async()=>{await no({app:t,commandQueue:e,file:I,context:"split"})})}),r||T.addItem(N=>{$e(N.setTitle(d.contextMenu.file.openInNewWindow).setIcon("lucide-external-link"),async()=>{await no({app:t,commandQueue:e,file:I,context:"window"})})})},[t,e,r]),P=(0,Bg.useCallback)((T,I)=>{T.preventDefault(),T.stopPropagation(),m();let N=new XR.Menu,O=I.currentMonthHighlightDayIso===I.dayIso,K=I.existingFile;K&&(F(N,K),N.addSeparator());let G=!1;if(f&&I.kind==="day"&&I.hasFeatureImage&&I.monthKey&&I.dayIso){let{monthKey:X,dayIso:L}=I;O||(G=!0,N.addItem(V=>{V.setTitle(d.contextMenu.file.setCalendarHighlight).setIcon("lucide-image").onClick(()=>{Q(()=>h(X,L))})})),O&&(G=!0,N.addItem(V=>{V.setTitle(d.contextMenu.file.removeCalendarHighlight).setIcon("lucide-image-off").onClick(()=>{Q(()=>b(X))})}))}K?(G&&N.addSeparator(),N.addItem(X=>{X.setTitle(d.contextMenu.file.deleteNote).setIcon("lucide-trash").setWarning(!0).onClick(()=>{Q(()=>n.deleteFile(K,o.confirmBeforeDelete,()=>{g(),v()}))})})):N.addItem(X=>{X.setTitle(d.contextMenu.folder.newNote).setIcon(Hr(o.interfaceIcons,"list-new-note","lucide-pen-box")).setDisabled(!I.canCreate).onClick(()=>{if(I.canCreate){if(I.kind==="day"){Q(()=>k(I.date,null));return}Q(()=>w(I.kind,I.date,null))}})}),N.showAtMouseEvent(T.nativeEvent)},[F,m,v,n,g,w,k,b,h,f,o.confirmBeforeDelete,o.interfaceIcons]);return{getExistingCustomCalendarNoteFile:S,openOrCreateCustomCalendarNote:w,openOrCreateDailyNote:k,showCalendarNoteContextMenu:P}}var Bg,XR,bte=U(()=>{Bg=ue(ze()),XR=require("obsidian");Ee();Ai();ot();pk();wu();Fn();Zc();iy();pr();wV()});function Ste(t,e){if(!t)return null;if(e){let n=t(e,"YYYY-MM-DD",!0);if(n.isValid())return n.startOf("day")}return t().startOf("day")}function oFe(t){let n=t.getActiveViewOfType(Ol.FileView)?.file;return n instanceof Ol.TFile?n:null}function wte(t,e){let n=oFe(t),r=e instanceof Ol.TFile?e:n;return r?r.path:null}function aFe(t,e){if(typeof t.iterateAllLeaves!="function")return!1;let n=!1;return t.iterateAllLeaves(r=>{if(n)return;let o=r.view;if(!(o instanceof Ol.FileView))return;let a=o.file;a instanceof Ol.TFile&&a.path===e&&(n=!0)}),n}function iFe(t){return t.replace(/\.md$/iu,"")}function Up({onWeekCountChange:t,onNavigationAction:e,weeksToShowOverride:n,onAddDateFilter:r,onMissingFeatureImage:o,onVisibleCalendarNoteFilesChange:a,isRightSidebar:i=!1}){let{app:s,commandQueue:l,fileSystemOps:c,isMobile:u,plugin:p}=gt(),m=pt(),g=Ys(),f=nn(m).periodicNotesFolder,h=(0,Je.useMemo)(()=>({calendarCustomRootFolder:f}),[f]),b=n??m.calendarWeeksToShow,v=A7(),[y,S]=(0,Je.useState)(()=>Sr()),w=v?.getDB()??y,k=v?.regenerateFeatureImageForFile,F=vu(),P=(0,Je.useId)(),T=qr(),[I]=(0,Je.useState)(()=>p.getCalendarCursorDateIso()),[N]=(0,Je.useState)(()=>Ste(T,I)),[O,K]=(0,Je.useState)(()=>N),[G,X]=(0,Je.useState)(()=>N?.year()??null),L=hR(),[V,D]=(0,Je.useState)(()=>wte(s.workspace)??null),[A,_]=(0,Je.useState)(0),[E,R]=(0,Je.useState)(0),[M,C]=(0,Je.useState)(0),[x,z]=(0,Je.useState)(0),[H,Y]=(0,Je.useState)(0),ee=(0,Je.useRef)(new Set),$=(0,Je.useRef)(new Set),j=(0,Je.useRef)(new Set),J=(0,Je.useRef)(new Map),re=(0,Je.useRef)(new Set),oe=(0,Je.useRef)(null),Z=(0,Je.useRef)(I!==null),ce=(0,Je.useRef)(new Map),ae=(0,Je.useRef)(null),se=(0,Je.useCallback)(()=>{if(ce.current.clear(),typeof window>"u"){_(Se=>Se+1);return}ae.current===null&&(ae.current=window.setTimeout(()=>{ae.current=null,_(Se=>Se+1)},120))},[]),ne=(0,Je.useCallback)(Se=>{let Ne=wte(s.workspace,Se);D(He=>He===Ne?He:Ne!==null?Ne:He&&aFe(s.workspace,He)?He:null)},[s.workspace]),B=(0,Je.useCallback)(Se=>{if(pte({regenerationKeys:re.current,filePath:Se.file.path,featureImageKey:Se.key})){if(k){k(Se.file);return}o?.(Se)}},[o,k]),q=(0,Je.useCallback)(Se=>Se instanceof Ol.TFile?Se.extension==="md":!0,[]),{hoverTooltip:ie,hoverTooltipStyle:le,hoverTooltipRef:Te,hoverTooltipStateRef:ke,hoverTooltipPreviewText:Fe,shouldShowHoverTooltipPreview:te,hoverTooltipDateText:pe,handleShowTooltip:ve,handleHideTooltip:Ie,clearHoverTooltip:qe}=fte({db:w,dateFormat:m.dateFormat,isMobile:u,previewVersion:x});(0,Je.useEffect)(()=>{if(v||y)return;let Se=!0;return Q(async()=>{for(;Se&&!is();){let Ne=await AW();if(!Se)return;if(Ne){S(Ne);return}await new Promise(He=>{window.setTimeout(He,250)})}}),()=>{Se=!1}},[y,v]),(0,Je.useEffect)(()=>{let Se=Kb({workspace:s.workspace,commandQueue:l,onChange:({candidateFile:Ne})=>{ne(Ne)}});return ne(),()=>{Se()}},[s.workspace,l,ne]),(0,Je.useEffect)(()=>{let Se=sn=>{q(sn)&&se()},Ne=s.vault.on("create",Se),He=s.vault.on("delete",Se),ht=s.vault.on("rename",Se);return()=>{s.vault.offref(Ne),s.vault.offref(He),s.vault.offref(ht),typeof window<"u"&&ae.current!==null&&(window.clearTimeout(ae.current),ae.current=null)}},[s.vault,se,q]),(0,Je.useEffect)(()=>{if(w)return w.onContentChange(Se=>{let Ne=ee.current,He=$.current,ht=ke.current,sn=ht&&ht.tooltipData.previewEnabled?ht.tooltipData.previewPath:null,yr=m.calendarShowFeatureImage&&He.size>0,Qr=Ne.size>0,hi=!!sn,fi=!yr,Fr=!Qr,aa=!hi;for(let Wn of Se){let Ji=Wn.changes.featureImage!==void 0||Wn.changes.featureImageKey!==void 0||Wn.changes.featureImageStatus!==void 0;if(Ji&&mte(re.current,Wn.path),!aa&&sn&&Wn.path===sn&&Wn.changes.preview!==void 0&&(aa=!0),!Fr&&Ne.has(Wn.path)&&Wn.changes.taskUnfinished!==void 0&&(Fr=!0),!fi&&He.has(Wn.path)&&Ji&&(fi=!0),fi&&Fr&&aa)break}yr&&fi&&R(Wn=>Wn+1),Qr&&Fr&&C(Wn=>Wn+1),hi&&aa&&z(Wn=>Wn+1)})},[w,ke,m.calendarShowFeatureImage]),(0,Je.useEffect)(()=>{let Se=m.frontmatterNameField.trim();if(!m.useFrontmatterMetadata||Se.length===0)return;let Ne=s.metadataCache.on("changed",He=>{if(!(He instanceof Ol.TFile)||!j.current.has(He.path))return;let ht=J.current.get(He.path)??"",sn=kz(s,He,Se).trim();ht!==sn&&Y(yr=>yr+1)});return()=>{s.metadataCache.offref(Ne)}},[s,s.metadataCache,m.frontmatterNameField,m.useFrontmatterMetadata]),(0,Je.useEffect)(()=>{if(!T||O)return;let Se=p.getCalendarCursorDateIso();Se!==null&&(Z.current=!0),K(Ste(T,Se))},[O,T,p]),(0,Je.useEffect)(()=>{O&&p.setCalendarCursorDateIso(rP(O))},[O,p]),(0,Je.useEffect)(()=>{O&&X(Se=>Se===O.year()?Se:O.year())},[O]);let xe=Ei(),{displayLocale:Ce,calendarRulesLocale:vt}=(0,Je.useMemo)(()=>Hu(m.calendarLocale,T,xe),[xe,T,m.calendarLocale]),Rt=Lc(T),Ve=Vu(m.calendarPeriodicNotesLocaleSource,vt,T);(0,Je.useEffect)(()=>{K(Se=>Se?.clone().locale(Ce)??Se)},[Ce]);let Ae=m.calendarIntegrationMode==="notebook-navigator",Ke=Ae&&m.calendarCustomWeekPattern.trim()!=="",Be=Ae&&m.calendarCustomMonthPattern.trim()!=="",wt=Ae&&m.calendarCustomQuarterPattern.trim()!=="",Ct=Ae&&m.calendarCustomYearPattern.trim()!=="",qt=(0,Je.useMemo)(()=>Ke&&Iw(m.calendarCustomWeekPattern)==="isoWeek"?"iso":"locale",[m.calendarCustomWeekPattern,Ke]),lt=(0,Je.useMemo)(()=>{if(qt==="iso"||!T)return 1;let Ne=T().locale(vt).localeData().firstDayOfWeek();return typeof Ne=="number"&&Number.isInteger(Ne)&&Ne>=0&&Ne<=6?Ne:1},[vt,qt,T]),Zt=(0,Je.useMemo)(()=>{if(!T)return[];let Se=lt,He=T().locale(Ce).localeData().weekdaysMin();return!Array.isArray(He)||He.length!==7?[]:[...He.slice(Se),...He.slice(0,Se)].map(sn=>Array.from(sn.trim())[0]??"")},[Ce,T,lt]),Kt=(0,Je.useMemo)(()=>m.calendarIntegrationMode!=="daily-notes"?null:tg(s),[s,m.calendarIntegrationMode,A]),gn=(0,Je.useMemo)(()=>iP("day",m),[m]),fn=(0,Je.useMemo)(()=>T?m.calendarIntegrationMode==="notebook-navigator"&&gn.config.isPatternValid(gn.momentPattern,T):!1,[gn,T,m.calendarIntegrationMode]);(0,Je.useEffect)(()=>{ce.current.clear()},[fn,h,Kt,gn,Rt,T,Ve,m.calendarIntegrationMode,A]);let an=(0,Je.useCallback)(Se=>{let Ne=rP(Se),He=ce.current.get(Ne);if(He!==void 0)return He;let ht=null;return fn?ht=$R({app:s,kind:"day",date:Se,resolverContext:gn,calendarLocale:Ve,weekLocale:Ve,customCalendarRootFolderSettings:h,momentApi:T}):m.calendarIntegrationMode==="daily-notes"&&Kt&&(ht=jy(s,Se.clone().locale(Rt),Kt)),ce.current.set(Ne,ht),ht},[s,fn,h,Kt,Rt,gn,T,Ve,m.calendarIntegrationMode]),Pe=(0,Je.useCallback)(Se=>{if(!T||!Se.toLowerCase().endsWith(".md"))return null;let Ne=(0,Ol.normalizePath)(Se),He=iFe(Ne);if(m.calendarIntegrationMode==="daily-notes"){if(!Kt)return null;let fi=Pw(Kt.folder),Fr=fi?`${fi}/${Kt.format}`:Kt.format,aa=T(He,Fr,Rt,!0);if(!aa.isValid())return null;let Wn=(0,Ol.normalizePath)(Kt.folder.trim()).replace(/^\/+/u,"").replace(/\/+$/u,"");return`${(0,Ol.normalizePath)(Wn?`${Wn}/${aa.format(Kt.format)}`:aa.format(Kt.format))}.md`!==Ne?null:aa.startOf("day")}if(!fn)return null;let ht=Pw(h.calendarCustomRootFolder),sn=ht?`${ht}/${gn.momentPattern}`:gn.momentPattern,yr=T(He,sn,Ve,!0);if(!yr.isValid())return null;let Qr=yr.startOf("day");return an(Qr)?.path!==Ne?null:Qr},[fn,h.calendarCustomRootFolder,Kt,Rt,gn.momentPattern,an,T,Ve,m.calendarIntegrationMode]),ge=(0,Je.useCallback)(Se=>{if(!T||m.calendarIntegrationMode!=="notebook-navigator")return null;let Ne=[{kind:"week",enabled:Ke,parseLocale:Ve},{kind:"month",enabled:Be,parseLocale:Ve},{kind:"quarter",enabled:wt,parseLocale:Ve},{kind:"year",enabled:Ct,parseLocale:Ve}];for(let{enabled:He,kind:ht,parseLocale:sn}of Ne){if(!He)continue;let yr=iP(ht,m),Qr=ute({filePath:Se,kind:ht,resolverContext:yr,calendarLocale:Ve,weekLocale:Ve,customCalendarRootFolderSettings:h,momentApi:T,parseLocale:sn});if(Qr)switch(ht){case"week":return{date:Qr.clone().locale(Ve).startOf(Iw(yr.momentPattern)),shouldAutoReveal:oP(ht)};case"month":return{date:Qr.clone().locale(Ce).startOf("month"),shouldAutoReveal:oP(ht)};case"quarter":return{date:Qr.clone().locale(Ce).startOf("quarter"),shouldAutoReveal:oP(ht)};case"year":return{date:Qr.clone().locale(Ce).startOf("year"),shouldAutoReveal:oP(ht)}}}return null},[Ce,T,Ve,m,Ke,Be,wt,Ct,h]),be=(0,Je.useMemo)(()=>{if(!T||!O)return[];let Se=ku(b,1,6),Ne=O.clone().startOf("day"),He=Ne.month(),ht=Ne.year(),{windowStart:sn,weekCount:yr}=$ee({cursor:Ne,weekStartsOn:lt,weeksToShow:Se,alwaysRenderSixWeeks:i}),Qr=[];for(let hi=0;hi<yr;hi++){let fi=sn.clone().add(hi,"week"),Fr=fi.clone().locale(vt),aa=qt==="iso"?Fr.isoWeek():Fr.week(),Wn=qt==="iso"?Fr.isoWeekYear():Fr.weekYear(),Ji=[];for(let Go=0;Go<7;Go++){let Ii=fi.clone().add(Go,"day").locale(Ce),es=Ii.month()===He&&Ii.year()===ht,Ye=rP(Ii),xt=an(Ii);Ji.push({date:Ii,iso:Ye,inMonth:es,file:xt})}Qr.push({key:`week-${Wn}-W${aa}`,weekNumber:aa,days:Ji})}return Qr},[vt,O,Ce,qt,an,i,T,A,b,lt]),me=(0,Je.useMemo)(()=>{if(!V)return null;for(let Ne of be)for(let He of Ne.days)if(He.file?.path===V)return{date:He.date.clone().startOf("day").locale(Ce),shouldAutoReveal:!0};let Se=Pe(V);return Se?{date:Se,shouldAutoReveal:!0}:ge(V)},[V,Ce,Pe,ge,be]),fe=V&&me?`${V}::${rP(me.date)}`:null;(0,Je.useLayoutEffect)(()=>{if(!me||!fe||!me.shouldAutoReveal){oe.current=null,Z.current=!1;return}if(Z.current){Z.current=!1,oe.current=fe;return}oe.current!==fe&&(oe.current=fe,K(Se=>{let Ne=me.date.clone().startOf("day").locale(Ce);return Se&&Se.year()===Ne.year()&&Se.month()===Ne.month()?Se:Ne}))},[me,fe,Ce]);let we=(0,Je.useMemo)(()=>{let Se=new Set;for(let Ne of be)for(let He of Ne.days)He.file&&Se.add(He.file.path);return Se},[be]),Re=(0,Je.useMemo)(()=>{let Se=new Map;if(!w||!m.calendarShowFeatureImage)return Se;for(let Ne of be)for(let He of Ne.days){let ht=He.file;if(!ht)continue;let sn=w.getFile(ht.path),yr=sn?.featureImageKey??null;(sn?.featureImageStatus??null)==="has"&&yr&&yr!==""&&Se.set(He.iso,yr)}return Se},[w,E,m.calendarShowFeatureImage,be]),nt=(0,Je.useMemo)(()=>{let Se=[];if(!m.calendarShowFeatureImage)return Se;for(let Ne of be)for(let He of Ne.days){if(!He.file)continue;let ht=Re.get(He.iso);ht&&Se.push({id:He.iso,file:He.file,key:ht})}return Se},[Re,m.calendarShowFeatureImage,be]),ct=(0,Je.useMemo)(()=>{let Se=new Map;if(!w)return Se;for(let Ne of be)for(let He of Ne.days)SV(Se,He.iso,He.file,w);return Se},[w,M,be]),yt=i&&m.calendarShowYearCalendar,bn=(0,Je.useMemo)(()=>ku(b,1,6)===6&&yt?6:be.length,[yt,be.length,b]),Kn=Math.max(0,bn-be.length);(0,Je.useLayoutEffect)(()=>{be.length!==0&&t?.(bn)},[t,bn,be.length]);let kr=(0,Je.useMemo)(()=>{if(!m.useFrontmatterMetadata||m.frontmatterNameField.trim().length===0)return new Map;let Se=new Map;for(let Ne of be)for(let He of Ne.days){let ht=He.file;if(!ht)continue;let sn=kz(s,ht,m.frontmatterNameField).trim();sn&&Se.set(ht.path,sn)}return Se},[s,H,m.frontmatterNameField,m.useFrontmatterMetadata,be]);J.current=kr;let Wo=kV({db:w,showFeatureImages:m.calendarShowFeatureImage,targets:nt,maxConcurrentLoads:u?4:6,onMissingFeatureImage:B}),co=(0,Je.useCallback)(Se=>{if(!T)return;qe();let Ne=ku(b,1,6),He=Ne===6?"month":"week",ht=Ne===6?Se:Se*Ne;K(sn=>(sn??T().startOf("day").locale(Ce)).clone().add(ht,He).locale(Ce)),e?.()},[qe,Ce,T,e,b]),wn=(0,Je.useCallback)(Se=>{qe(),X(Ne=>(Ne??O?.year()??T?.().startOf("day").year()??new Date().getFullYear())+Se),e?.()},[qe,O,T,e]),Jt=(0,Je.useCallback)(()=>{let Se=m.multiSelectModifier==="optionAlt"?d.navigationCalendar.helpModal.dateFilterOptionAlt:d.navigationCalendar.helpModal.dateFilterCmdCtrl;new Nf(s,{title:d.navigationCalendar.helpModal.title,items:[...d.navigationCalendar.helpModal.items,Se]}).open()},[s,m.multiSelectModifier]),$n=(0,Je.useCallback)((Se,Ne,He)=>{if(!r||!Yee(Se,m.multiSelectModifier,u))return!1;let ht=qee(Ne,He);return ht?(Se.preventDefault(),Se.stopPropagation(),qe(),r(ht),!0):!1},[qe,r,m.multiSelectModifier,u]),Xn=(0,Je.useCallback)((Se,Ne)=>{$n(Se,"month",Ne)||(qe(),K(Ne.clone().startOf("day").locale(Ce)),X(Ne.year()),e?.())},[qe,Ce,$n,e]),Zn=(0,Je.useCallback)(()=>{se()},[se]),Ir=(0,Je.useCallback)(async(Se,Ne)=>{await g(He=>{let ht=De(He.calendarMonthHighlights,Ln);ht[Se]=Ne,He.calendarMonthHighlights=ht})},[g]),Jn=(0,Je.useCallback)(async Se=>{await g(Ne=>{let He=De(Ne.calendarMonthHighlights,Ln);delete He[Se],Ne.calendarMonthHighlights=He})},[g]),er=m.calendarShowFeatureImage&&yt,{getExistingCustomCalendarNoteFile:On,openOrCreateCustomCalendarNote:Ro,openOrCreateDailyNote:je,showCalendarNoteContextMenu:rt}=yte({app:s,commandQueue:l,fileSystemOps:c,isMobile:u,settings:m,dailyNoteSettings:Kt,momentApi:T,dailyNoteLocale:Rt,calendarLocale:Ve,weekLocale:Ve,customCalendarRootFolderSettings:h,openFile:F,clearHoverTooltip:qe,onVaultChange:Zn,showMonthHighlightActions:er,setCalendarMonthHighlight:Ir,removeCalendarMonthHighlight:Jn}),Et=(0,Je.useCallback)(()=>{if(!T)return;let Se=T().startOf("day").locale(Ce);qe(),K(Se.clone()),e?.();let Ne=an(Se);Ne&&je(Se,Ne)},[qe,Ce,an,T,e,je]),Xe=m.calendarShowWeekNumber,Ht=m.calendarHighlightToday,vn=i&&yt,it=!i||!yt,Yt=m.showInfoButtons&&!u&&vn,fr=!1,Do=vn&&m.calendarShowQuarter,ba=!vn,nl=!0,Cc=Yt,Sa=!1,So=G??O?.year()??null,qa=(0,Je.useMemo)(()=>{if(!T||So===null||!yt)return[];let Se=[];for(let Ne=0;Ne<12;Ne++){let He=T(new Date(So,Ne,1)).startOf("day").locale(Ce),ht=new Date(So,Ne+1,0).getDate(),sn=[];for(let yr=1;yr<=ht;yr++){let Qr=He.clone().set({date:yr}),hi=an(Qr);hi&&sn.push(hi)}Se.push({date:He,dayFiles:sn,fullLabel:He.format("MMMM"),hasDailyNote:sn.length>0,key:He.format("YYYY-MM"),monthIndex:Ne,shortLabel:He.format("MMM")})}return Se},[Ce,So,an,T,yt,A]),Iu=(0,Je.useMemo)(()=>qa.map(Se=>({date:Se.date,fullLabel:Se.fullLabel,hasDailyNote:Se.hasDailyNote,hasUnfinishedTasks:w?Se.dayFiles.some(Ne=>(w.getFile(Ne.path)?.taskUnfinished??0)>0):!1,key:Se.key,monthIndex:Se.monthIndex,shortLabel:Se.shortLabel})),[w,M,qa]),Ul=(0,Je.useMemo)(()=>{let Se=new Map;if(!T||!yt)return Se;for(let Ne of qa){let He=m.calendarMonthHighlights[Ne.key]??null;if(He){let ht=T(He,"YYYY-MM-DD",!0);if(ht.isValid()&&ht.format("YYYY-MM")===Ne.key){let sn=an(ht.startOf("day"));sn&&Se.set(Ne.key,sn)}continue}if(Ne.hasDailyNote&&w)for(let ht of Ne.dayFiles){let sn=w.getFile(ht.path),yr=sn?.featureImageKey??null;if(!((sn?.featureImageStatus??null)!=="has"||!yr||yr==="")){Se.set(Ne.key,ht);break}}}return Se},[w,E,an,T,m.calendarMonthHighlights,yt,qa]),Ya=(0,Je.useMemo)(()=>{let Se=[];return!w||!m.calendarShowFeatureImage||Ul.forEach((Ne,He)=>{let ht=w.getFile(Ne.path),sn=ht?.featureImageKey??null;(ht?.featureImageStatus??null)!=="has"||!sn||sn===""||Se.push({id:He,file:Ne,key:sn})}),Se},[w,E,Ul,m.calendarShowFeatureImage]);(0,Je.useEffect)(()=>{let Se=new Set;for(let He of[...nt,...Ya]){let ht=TV(He.file.path,He.key);ht&&Se.add(ht)}let Ne=re.current;for(let He of Ne)Se.has(He)||Ne.delete(He)},[nt,Ya]);let Md=(0,Je.useMemo)(()=>{let Se=new Set;return Ya.forEach(Ne=>{Se.add(Ne.id)}),Se},[Ya]),$p=(0,Je.useMemo)(()=>{let Se=new Set;return Ul.forEach(Ne=>{Se.add(Ne.path)}),Se},[Ul]),$a=kV({db:w,showFeatureImages:m.calendarShowFeatureImage&&yt,targets:Ya,maxConcurrentLoads:u?2:4,onMissingFeatureImage:B}),vr=(0,Je.useMemo)(()=>!T||!O||So===null?null:O.clone().set({year:So}).locale(Ce),[O,Ce,So,T]),jo=(0,Je.useMemo)(()=>{if(!T||!O)return{month:null,quarter:null,year:null};let Se=O.clone().locale(Ce),Ne=Be?On("month",Se):null,He=Ct?On("year",Se):null,ht=m.calendarShowQuarter&&wt?On("quarter",Se):null;return{month:Ne,quarter:ht,year:He}},[O,Ce,On,T,Be,wt,m.calendarShowQuarter,A,Ct]),Xr=(0,Je.useCallback)(Se=>{switch(Se){case"month":return{existingFile:jo.month,canCreate:Be};case"quarter":return{existingFile:jo.quarter,canCreate:m.calendarShowQuarter&&wt};case"year":return{existingFile:jo.year,canCreate:Ct}}},[jo.month,jo.quarter,jo.year,Be,wt,m.calendarShowQuarter,Ct]),Wr=(0,Je.useCallback)((Se,Ne)=>{if(!O)return;let He=O.clone().locale(Ce);if($n(Se,Ne,He))return;let{existingFile:ht,canCreate:sn}=Xr(Ne);sn&&Ro(Ne,He,ht)},[O,Ce,Xr,$n,Ro]),Nc=(0,Je.useCallback)((Se,Ne)=>{if(!O)return;let{existingFile:He,canCreate:ht}=Xr(Ne);rt(Se,{kind:Ne,date:O.clone().locale(Ce),existingFile:He,canCreate:ht})},[O,Ce,Xr,rt]),pi=(0,Je.useMemo)(()=>!vr||!Ct?null:On("year",vr),[On,A,Ct,vr]),Xp=(0,Je.useCallback)(Se=>{vr&&($n(Se,"year",vr)||Ct&&Ro("year",vr,pi))},[$n,Ro,Ct,vr,pi]),Qp=(0,Je.useCallback)(Se=>{vr&&rt(Se,{kind:"year",date:vr,existingFile:pi,canCreate:Ct})},[rt,Ct,vr,pi]),Ns=(0,Je.useMemo)(()=>{if(!T||!O)return new Map;if(!Xe||!Ke)return new Map;let Se=new Map;for(let Ne of be){let He=Ne.days[0]?.date;if(!He)continue;let ht=He.clone().locale(Ce),sn=On("week",ht);Se.set(Ne.key,sn)}return Se},[O,Ce,On,T,Xe,A,Ke,be]),Yg=(0,Je.useMemo)(()=>{if(!w)return new Map;let Se=new Map;return Ns.forEach((Ne,He)=>{SV(Se,He,Ne,w)}),Se},[w,M,Ns]),Qi=(0,Je.useMemo)(()=>{let Se=new Map;for(let Ne of be)for(let He of Ne.days)He.file&&Se.set(He.file.path,He.file);Ns.forEach(Ne=>{Ne&&Se.set(Ne.path,Ne)});for(let Ne of qa)for(let He of Ne.dayFiles)Se.set(He.path,He);return Array.from(Se.values()).filter(Ne=>Ne.extension==="md")},[Ns,be,qa]);(0,Je.useEffect)(()=>{a?.(Qi)},[a,Qi]);let Zp=(0,Je.useMemo)(()=>{let Se=new Set;return Qi.forEach(Ne=>{Se.add(Ne.path)}),Se},[Qi]);ee.current=Zp;let Jp=(0,Je.useMemo)(()=>{let Se=new Set(we);return $p.forEach(Ne=>{Se.add(Ne)}),Se},[$p,we]);$.current=Jp,j.current=we;let xu=(0,Je.useCallback)((Se,Ne,He)=>{let ht=Ne.days[0]?.date;if(!ht)return;let sn=ht.clone().locale(Ce);$n(Se,"week",sn)||Ke&&Ro("week",sn,He)},[Ce,$n,Ro,Ke]),mi=(0,Je.useCallback)((Se,Ne)=>{let He=Ne.days[0]?.date;He&&$n(Se,"week",He.clone().locale(Ce))},[Ce,$n]),Ic=(0,Je.useCallback)((Se,Ne,He)=>{let ht=Ne.days[0]?.date;ht&&rt(Se,{kind:"week",date:ht.clone().locale(Ce),existingFile:He,canCreate:Ke})},[Ce,rt,Ke]),Rd=(0,Je.useCallback)((Se,Ne)=>{$n(Se,"day",Ne.date)||je(Ne.date,Ne.file)},[$n,je]),Dd=(0,Je.useCallback)((Se,Ne,He)=>{let ht=Ne.date.format("YYYY-MM");rt(Se,{kind:"day",date:Ne.date,existingFile:Ne.file,canCreate:He,monthKey:ht,dayIso:Ne.iso,hasFeatureImage:Re.has(Ne.iso),currentMonthHighlightDayIso:m.calendarMonthHighlights[ht]??null})},[Re,m.calendarMonthHighlights,rt]);if(!T||!O)return null;let Is=O.year(),xs=L?L.slice(0,7):null,Ao=O.clone().locale(Ce),Kl=m.calendarMonthHeadingFormat==="short"?"MMM":"MMMM",$g=Ao.format(Kl),gi=Ao.format("YYYY"),em=Ao.format("[Q]Q"),Zi=m.calendarIntegrationMode!=="daily-notes"||!!Kt,tm=!!(V&&jo.month?.path===V),nm=!!(V&&jo.quarter?.path===V),rm=!!(V&&jo.year?.path===V),Es=!!(V&&pi?.path===V);return(0,yc.jsxs)(yc.Fragment,{children:[(0,yc.jsx)(ote,{isMobile:u,hoverTooltip:ie,hoverTooltipStyle:le,hoverTooltipRef:Te,hoverTooltipPreviewText:Fe,shouldShowHoverTooltipPreview:te,hoverTooltipDateText:pe}),(0,yc.jsxs)("div",{className:"nn-navigation-calendar",role:"group","aria-labelledby":P,"data-highlight-today":Ht?"true":void 0,"data-weeknumbers":Xe?"true":void 0,"data-split-header":"true",children:[(0,yc.jsx)("span",{id:P,className:"nn-visually-hidden",children:d.navigationCalendar.ariaLabel}),(0,yc.jsx)(ete,{monthLabel:$g,yearLabel:gi,quarterLabel:em,showYearInHeader:it,showQuarter:m.calendarShowQuarter,hasMonthPeriodNote:!!jo.month,hasQuarterPeriodNote:!!jo.quarter,hasYearPeriodNote:!!jo.year,isMonthPeriodActive:tm,isQuarterPeriodActive:nm,isYearPeriodActive:rm,showInlineMonthNavigation:fr,showCompactQuarterInMonthRow:Do,showHeaderPeriodDetails:ba,showHeaderNavRow:nl,showCompactHeaderInlineInfoButton:Cc,showInfoInNavRow:Sa,onNavigate:co,onToday:Et,onOpenHelp:Jt,onPeriodClick:Wr,onPeriodContextMenu:Nc}),(0,yc.jsx)(Qee,{activeEditorFilePath:V,showWeekNumbers:Xe,weekdays:Zt,weekStartsOn:lt,trailingSpacerWeekCount:Kn,weeks:be,weekNotesEnabled:Ke,weekNoteFilesByKey:Ns,weekUnfinishedTaskCountByKey:Yg,displayLocale:Ce,calendarWeekendDays:m.calendarWeekendDays,todayIso:L,unfinishedTaskCountByIso:ct,featureImageUrls:Wo,featureImageKeysByIso:Re,frontmatterTitlesByPath:kr,dateFormat:m.dateFormat,isMobile:u,canCreateDayNotes:Zi,onShowTooltip:ve,onHideTooltip:Ie,onDayClick:Rd,onDayContextMenu:Dd,onWeekClick:xu,onWeekLabelClick:mi,onWeekContextMenu:Ic}),(0,yc.jsx)(ste,{showYearCalendar:yt,currentMonthKey:xs,displayedYearValue:So??Is,activeYearValue:Is,activeMonthIndex:O.month(),hasYearPeriodNote:!!pi,isYearPeriodActive:Es,yearMonthEntries:Iu,highlightedMonthFeatureImageKeys:Md,highlightedMonthImageUrls:$a,onNavigateYear:wn,onYearPeriodClick:Xp,onYearPeriodContextMenu:Qp,onSelectYearMonth:Xn})]})]})}var Je,Ol,yc,Tte=U(()=>{Je=ue(ze()),Ol=require("obsidian");Ee();qR();mn();on();Xi();zn();ot();Xl();pk();Bd();Jb();xH();rk();Xl();dn();qM();Zee();tte();ate();lte();wV();YR();gte();vte();bte();Ot();yc=ue(Ge())});var lP=U(()=>{Tte()});var wS,sFe,kte,lFe,dFe,QR,Fte=U(()=>{wS=require("obsidian");KF();Rn();sFe=20,kte=/^[a-z0-9:./-]*$/i,lFe=/^[a-z0-9:./-]*/i,dFe=t=>t?/\s/.test(t)||t==="!":!0,QR=class extends wS.AbstractInputSuggest{constructor(n,r,o){super(n,r);this.activeRange=null;this.applySuggestion=o.onApply,this.searchInputEl=r,this.limit=sFe,this.isMobile=o.isMobile}getSuggestions(n){let r=this.resolveActiveRange();if(!r)return this.activeRange=null,[];this.activeRange=r;let o=r.query.trim();if(!o)return nS.slice(0,this.limit).map(s=>({token:s,match:null}));let a=(0,wS.prepareFuzzySearch)(o),i=[];for(let s of nS){let l=a(s);l&&i.push({token:s,match:l})}return i.sort((s,l)=>{let c=s.match?.score??Number.POSITIVE_INFINITY,u=l.match?.score??Number.POSITIVE_INFINITY;return c===u?Mt(s.token,l.token):c-u}),i.slice(0,this.limit)}renderSuggestion(n,r){r.addClass("nn-search-tag-suggestion");let o=r.createDiv({cls:"nn-search-tag-suggestion__label"});o.createSpan({cls:"nn-search-tag-suggestion__prefix",text:"@"});let a=o.createSpan({cls:"nn-search-tag-suggestion__text"});n.match&&n.match.matches.length>0?(0,wS.renderMatches)(a,n.token,n.match.matches):a.setText(n.token)}selectSuggestion(n){if(!this.activeRange){this.close();return}let{start:r,end:o,prefix:a}=this.activeRange,i=this.searchInputEl.value,s=i.substring(0,r),l=i.substring(o),c=`@${a}${n.token}`,u=`${s}${c}${l}`,p=r+c.length;this.applySuggestion(u,p),this.close()}dispose(){this.close()}onOpen(){if(this.isMobile){if(!this.containerEl){console.error("[SearchDateInputSuggest] containerEl missing on open");return}this.containerEl.addClass("nn-mobile")}}resolveActiveRange(){let n=this.searchInputEl,r=n.value;if(!r)return null;let o=n.selectionStart??r.length,a=n.selectionEnd??o;if(o!==a)return null;let i=r.lastIndexOf("@",o-1);if(i===-1)return null;if(i>0){let g=r.charAt(i-1);if(!dFe(g))return null}let s=r.slice(i+1,o);if(!kte.test(s))return null;let c=r.slice(o).match(lFe)?.[0]??"",u=s+c;if(!kte.test(u))return null;let{prefix:p,remainder:m}=BF(u);return{start:i,end:o+c.length,prefix:p,query:m}}}});var TS,cFe,Pte,uFe,ZR,Cte=U(()=>{TS=require("obsidian");Rn();Sn();cFe=50,Pte=new RegExp(`^[^${Ch}]*$`,"u"),uFe=new RegExp(`^[^${Ch}]*`,"u"),ZR=class extends TS.AbstractInputSuggest{constructor(n,r,o){super(n,r);this.activeRange=null;this.getTags=o.getTags,this.applySuggestion=o.onApply,this.searchInputEl=r,this.limit=cFe,this.isMobile=o.isMobile}getSuggestions(n){let r=this.resolveActiveRange();if(!r)return this.activeRange=null,[];this.activeRange=r;let o=this.getTags();if(o.length===0)return[];if(r.query.length===0)return o.slice(0,this.limit).map(s=>({displayPath:s.displayPath,match:null}));let a=(0,TS.prepareFuzzySearch)(r.query),i=[];for(let s of o){let l=a(s.displayPath);l&&i.push({displayPath:s.displayPath,match:l})}return i.sort((s,l)=>{let c=s.match?.score??Number.POSITIVE_INFINITY,u=l.match?.score??Number.POSITIVE_INFINITY;return c===u?Mt(s.displayPath,l.displayPath):c-u}),i.slice(0,this.limit)}renderSuggestion(n,r){r.addClass("nn-search-tag-suggestion");let o=r.createDiv({cls:"nn-search-tag-suggestion__label"});o.createSpan({cls:"nn-search-tag-suggestion__prefix",text:"#"});let a=o.createSpan({cls:"nn-search-tag-suggestion__text"});n.match&&n.match.matches.length>0?(0,TS.renderMatches)(a,n.displayPath,n.match.matches):a.setText(n.displayPath)}selectSuggestion(n){if(!this.activeRange){this.close();return}let{start:r,end:o}=this.activeRange,a=this.searchInputEl.value,i=a.substring(0,r),s=a.substring(o),l=`#${n.displayPath}`,c=`${i}${l}${s}`,u=r+l.length;this.applySuggestion(c,u),this.close()}dispose(){this.close()}onOpen(){if(this.isMobile){if(!this.containerEl){console.error("[SearchTagInputSuggest] containerEl missing on open");return}this.containerEl.addClass("nn-mobile")}}resolveActiveRange(){let n=this.searchInputEl,r=n.value;if(!r)return null;let o=n.selectionStart??r.length,a=n.selectionEnd??o;if(o!==a)return null;let i=r.lastIndexOf("#",o-1);if(i===-1)return null;if(i>0){let p=r.charAt(i-1);if(p&&!fN(p))return null}let s=r.slice(i+1,o);if(!Pte.test(s))return null;let c=r.slice(o).match(uFe)?.[0]??"",u=s+c;return Pte.test(u)?{start:i,end:o+c.length,query:u}:null}}});function Nte({searchQuery:t,onSearchQueryChange:e,onClose:n,onFocusFiles:r,shouldFocus:o,onFocusComplete:a,containerRef:i,onSaveShortcut:s,onRemoveShortcut:l,isShortcutSaved:c,isShortcutDisabled:u,searchProvider:p}){let m=(0,Ci.useRef)(null),g=(0,Ci.useRef)(null),f=(0,Ci.useRef)(null),{isMobile:h,omnisearchService:b,app:v,tagTreeService:y,plugin:S}=gt(),w=pt(),k=Yn(),F=Vr(),P=p??w.searchProvider??"internal",T=b?.isAvailable()??!1,I=P==="omnisearch"&&T,N=(0,Ci.useMemo)(()=>Qe(w.interfaceIcons,"nav-shortcuts"),[w.interfaceIcons]),O=(0,Ci.useMemo)(()=>I?"text-search":Qe(w.interfaceIcons,"list-search"),[I,w.interfaceIcons]),K=I?d.searchInput.placeholderOmnisearch:d.searchInput.placeholder,G=t.trim().length>0,X=G&&!!(s||c&&l),L=u||!c&&!s||c&&!l,V=`nn-search-input-container${X?" nn-search-input-container--has-shortcut":""}`,D=(0,Ci.useCallback)(x=>{let z=m.current;if(!z)return;z.focus();let H=x?.start??z.selectionStart,Y=x?.end??z.selectionEnd;H!==null&&Y!==null&&z.setSelectionRange(H,Y)},[]),A=(0,Ci.useCallback)(x=>{if(!T)return;let z=m.current,H=z?{start:z.selectionStart,end:z.selectionEnd}:void 0;S.setSearchProvider(I?"internal":"omnisearch"),x?.restoreFocus&&window.requestAnimationFrame(()=>D(H))},[T,I,S,D]);(0,Ci.useEffect)(()=>{o&&(m.current?.focus(),a&&a())},[o,a]);let _=(0,Ci.useCallback)((x,z)=>{e(x),window.requestAnimationFrame(()=>{let H=m.current;H&&(H.focus(),H.setSelectionRange(z,z))})},[e]);(0,Ci.useEffect)(()=>{let x=m.current;if(!x||!y||!w.showTags||I){g.current?.dispose(),g.current=null;return}if(g.current)return;let z=new ZR(v,x,{getTags:()=>y.getFlattenedTagNodes()??[],onApply:_,isMobile:h});return g.current=z,()=>{z.dispose(),g.current=null}},[v,y,w.showTags,I,_,h]),(0,Ci.useEffect)(()=>{let x=m.current;if(!x||I){f.current?.dispose(),f.current=null;return}if(f.current)return;let z=new QR(v,x,{onApply:_,isMobile:h});return f.current=z,()=>{z.dispose(),f.current=null}},[v,_,h,I]),(0,Ci.useEffect)(()=>{t.trim().length>0||(g.current?.close(),f.current?.close())},[t]);let E=()=>{window.setTimeout(()=>{let z=(i?.current??activeDocument).querySelector(".nn-list-pane-scroller");z instanceof HTMLElement&&Di(z)},0)},R=x=>{let z=x.nativeEvent,H=w.keyboardShortcuts;if(!(z.isComposing||z.keyCode===229)){if((x.key==="ArrowUp"||x.key==="ArrowDown")&&T){if(z.repeat||!!(g.current?.containerEl?.isConnected||f.current?.containerEl?.isConnected))return;x.preventDefault(),A({restoreFocus:!0});return}if(un(z,H,Ft.SEARCH_CLOSE)){x.preventDefault(),n(),F({type:"SET_FOCUSED_PANE",pane:"files"}),E();return}if(un(z,H,Ft.SEARCH_FOCUS_NAVIGATION)){!k.singlePane&&!h&&(x.preventDefault(),F({type:"SET_FOCUSED_PANE",pane:"navigation"}));return}if(un(z,H,Ft.SEARCH_FOCUS_LIST)){if(x.preventDefault(),F({type:"SET_FOCUSED_PANE",pane:"files"}),h){F({type:"SET_SINGLE_PANE_VIEW",view:"files"}),E();return}r&&r(),E()}}},M=()=>{F({type:"SET_FOCUSED_PANE",pane:"search"})},C=(0,Ci.useCallback)(()=>{g.current?.close(),f.current?.close();let{fileNames:x,tags:z,properties:H,tasks:Y,connectors:ee,dates:$,omnisearch:j}=d.searchInput.searchHelpModal.sections,J=Object.prototype.hasOwnProperty.call(d.searchInput.searchHelpModal.sections,"properties")?H:void 0,re=[x,J,z,$,Y,ee,j].filter(oe=>!!oe);new Nf(v,{title:d.searchInput.searchHelpTitle,intro:d.searchInput.searchHelpModal.intro,emphasizedIntro:d.searchInput.searchHelpModal.introSwitching,sections:re}).open()},[v]);return(0,Ll.jsx)("div",{className:"nn-search-input-wrapper",children:(0,Ll.jsxs)("div",{className:V,children:[(0,Ll.jsx)("div",{className:"nn-search-input-icon",role:"button",tabIndex:T?0:-1,"aria-label":I?d.searchInput.switchToFilterSearch:d.searchInput.switchToOmnisearch,style:T?void 0:{pointerEvents:"none"},onMouseDown:T?x=>{x.preventDefault()}:void 0,onClick:T?()=>A({restoreFocus:!0}):void 0,onKeyDown:T?x=>{(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),A({restoreFocus:!0}))}:void 0,children:(0,Ll.jsx)(Qt,{iconId:O,"aria-hidden":!0})}),(0,Ll.jsx)("input",{ref:m,type:"search",className:`nn-search-input ${t?"nn-search-active":""}`,placeholder:K,spellCheck:!1,enterKeyHint:"search",value:t,onChange:x=>e(x.target.value),onKeyDown:R,onClick:M}),!G&&w.showInfoButtons&&(0,Ll.jsx)("div",{className:"nn-search-help-button",role:"button",tabIndex:0,"aria-label":d.searchInput.searchHelp,onClick:()=>{C()},onKeyDown:x=>{(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),C())},children:(0,Ll.jsx)(Qt,{iconId:"info","aria-hidden":!0})}),X&&(0,Ll.jsx)("div",{className:`nn-search-star-button ${c?"nn-search-star-button--active":""}`,role:"button",tabIndex:0,"aria-label":c?d.searchInput.removeSearchShortcut:d.searchInput.saveSearchShortcut,"aria-pressed":c||!1,onClick:()=>{if(L)return;let x=c?l:s;x&&Q(x),m.current?.focus()},onKeyDown:x=>{if((x.key==="Enter"||x.key===" ")&&!L){x.preventDefault();let z=c?l:s;z&&Q(z),m.current?.focus()}},children:(0,Ll.jsx)(Qt,{iconId:N,"aria-hidden":!0})}),G&&(0,Ll.jsx)("div",{className:"nn-search-clear-button",role:"button",tabIndex:0,"aria-label":d.searchInput.clearSearch,onClick:()=>{e(""),m.current?.focus()},onKeyDown:x=>{(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),e(""),m.current?.focus())},children:(0,Ll.jsx)(Qt,{iconId:"circle-x","aria-hidden":!0})})]})})}var Ci,Ll,Ite=U(()=>{Ci=ue(ze());Al();pa();on();mn();Ee();rh();ot();Fte();Cte();pr();qR();os();Ll=ue(Ge())});function xte({desktopTitle:t}){let{app:e,isMobile:n,plugin:r}=gt(),o=qs(),a=pt(),i=ar(),s=i.selectionType===W.FOLDER?i.selectedFolder:null,l=bS(e.vault,s,a.enableFolderNotes&&a.enableFolderNoteLinks),c=(0,cP.useMemo)(()=>!s||!a.enableFolderNotes||!a.enableFolderNoteLinks?null:Pn(s,{enableFolderNotes:a.enableFolderNotes,folderNoteName:a.folderNoteName,folderNoteNamePattern:a.folderNoteNamePattern}),[s,a.enableFolderNotes,a.enableFolderNoteLinks,a.folderNoteName,a.folderNoteNamePattern,l]),u=(0,cP.useCallback)(m=>{if(!s||!c)return;m.stopPropagation();let g=Hc(m,a.folderNoteOpenLocation,a.multiSelectModifier,n);Q(()=>ri({app:e,commandQueue:o,folder:s,folderNote:c,context:g,openInRightSidebar:f=>r.openFolderNoteInRightSidebar(f)}))},[s,c,a.folderNoteOpenLocation,a.multiSelectModifier,n,e,o,r]),p=(0,cP.useCallback)(m=>{m.button!==1||!s||!c||(m.preventDefault(),m.stopPropagation(),Q(()=>ri({app:e,commandQueue:o,folder:s,folderNote:c,context:"tab"})))},[s,c,e,o]);return(0,dP.jsx)("div",{className:"nn-list-title-area",children:(0,dP.jsx)("div",{className:"nn-list-title-content",children:(0,dP.jsx)("span",{className:"nn-list-title-text",children:(0,dP.jsx)("span",{className:`nn-list-title-label${c?" nn-list-title-label--folder-note":""}`,onClick:c?u:void 0,onMouseDown:c?p:void 0,children:t})})})})}var cP,dP,Ete=U(()=>{cP=ue(ze());Ur();mn();on();GR();Ue();ot();Jc();td();dP=ue(Ge())});function xf(t){let{model:e,folderPath:n,color:r,backgroundColor:o}=t;if(e.isExcludedPath(n))return{color:r??void 0,backgroundColor:o??void 0};let a=t$({mode:e.navRainbowMode,folderPath:n,scope:e.folderRainbowScope,showRootFolder:e.showRootFolder,colors:e.folderRainbowColors,color:r,backgroundColor:o});return{color:a.color,backgroundColor:a.backgroundColor}}var JR=U(()=>{Gm()});function pFe(t,e,n){return n?.startsWith("created-")?`${d.tooltips.createdAt} ${t}
${d.tooltips.lastModifiedAt} ${e}`:`${d.tooltips.lastModifiedAt} ${e}
${d.tooltips.createdAt} ${t}`}function uP({file:t,displayName:e,extensionSuffix:n,settings:r,getFileTimestamps:o,sortOption:a,unfinishedTaskTooltipText:i,wordCount:s}){let l=r.timeFormat?`${r.dateFormat} ${r.timeFormat}`:r.dateFormat,c=o(t),u=zr.formatDate(c.created,l),p=zr.formatDate(c.modified,l),g=[n.length>0?t.name:e];return r.showTooltipPath&&g.push(t.parent?.path??"/"),i&&g.push(i),r.showTooltipWordCount&&t.extension==="md"&&typeof s=="number"&&Number.isFinite(s)&&s>=0&&g.push(`${d.tooltips.wordCount}: ${id(s)}`),g.push("",pFe(u,p,a)),g.join(`
`)}function tD({app:t,folder:e,displayName:n,fileVisibility:r,hiddenFolders:o,settings:a,showHiddenItems:i}){let s=0,l=0,c=ng(a,i),u=po(c);for(let f of e.children)f instanceof eD.TFile?rl(f,r,t)&&!Xo(f,u,t)&&s++:f instanceof eD.TFolder&&(i||!qd(f.name,o,f.path))&&l++;let p=s===1?`${s} ${d.tooltips.file}`:`${s} ${d.tooltips.files}`,m=l===1?`${l} ${d.tooltips.folder}`:`${l} ${d.tooltips.folders}`,g=`${p}, ${m}`;return e.path==="/"?g:`${n}

${g}`}var eD,nD=U(()=>{eD=require("obsidian");Ee();Zl();qy();Yr();Mr();Am()});function gFe(t,e){if(!t||typeof e!="number"||!Number.isFinite(e)||e<=0)return t;let n=t.indexOf("#"),r=n===-1?t:t.slice(0,n),o=n===-1?"":t.slice(n),a=r.includes("?")?"&":"?";return`${r}${a}${mFe}=${Math.trunc(e)}${o}`}function pP(t,e,n=e.stat.mtime){return gFe(t.vault.getResourcePath(e),n)}var mFe,FV=U(()=>{mFe="nn-mtime"});function fFe(t){let{db:e,filePath:n,loadSnapshot:r,applySnapshot:o,onChange:a}=t,i=e.onFileContentChange(n,a);return o(r()),i}function vFe({changes:t,shouldLoadFeatureImage:e,refreshMetadataVersionOnFeatureImageChange:n}){return t.metadata!==void 0?!0:(t.featureImageKey!==void 0||t.featureImageStatus!==void 0)&&!e&&n}function Mte(t){return{loadPreviewText:t?.loadPreviewText??!0,loadTags:t?.loadTags??!0,loadFeatureImage:t?.loadFeatureImage??!0,loadProperties:t?.loadProperties??!0,loadWordCount:t?.loadWordCount??!0,loadCharacterCount:t?.loadCharacterCount??!0,loadTaskUnfinished:t?.loadTaskUnfinished??!0}}function yFe({app:t,file:e,showPreview:n,showImage:r,skipFeatureImage:o,fileStatMtime:a=e.stat.mtime,db:i,loadOptions:s}){let{loadPreviewText:l,loadTags:c,loadFeatureImage:u,loadProperties:p,loadWordCount:m,loadCharacterCount:g,loadTaskUnfinished:f}=Mte(s),h=c||u||p||m||g||f,b=l&&n&&e.extension==="md"?i.getCachedPreviewText(e.path):"",v=h?i.getFile(e.path):null,y=c?[...Pr({app:t,file:e,db:i,fileData:v})]:[],S=u&&r&&!o&&Ms(e),w=u&&v?.featureImageKey?v.featureImageKey:S?`direct-image:${e.path}@${a}`:null,k=u?v?.featureImageStatus??"unprocessed":"unprocessed",F=p?Xw(v?.properties??null):null,P=m?v?.wordCount??null:null,T=g?v?.characterCountWithSpaces??null:null,I=g?v?.characterCountWithoutSpaces??null:null,N=f?v?.taskUnfinished??null:null,O=null;if(S)try{O=pP(t,e,a)}catch{O=null}return{previewText:b,tags:y,featureImageKey:w,featureImageStatus:k,featureImageUrl:O,properties:F,wordCount:P,characterCountWithSpaces:T,characterCountWithoutSpaces:I,taskUnfinished:N}}function Rte({app:t,file:e,showPreview:n,showImage:r,skipFeatureImage:o=!1,fileStatMtime:a=e.stat.mtime,getDB:i,regenerateFeatureImageForFile:s,loadOptions:l,refreshMetadataVersionOnFeatureImageChange:c=!1}){let u=l?.loadPreviewText,p=l?.loadTags,m=l?.loadFeatureImage,g=l?.loadProperties,f=l?.loadWordCount,h=l?.loadCharacterCount,b=l?.loadTaskUnfinished,v=(0,so.useMemo)(()=>Mte({loadPreviewText:u,loadTags:p,loadFeatureImage:m,loadProperties:g,loadWordCount:f,loadCharacterCount:h,loadTaskUnfinished:b}),[h,m,u,g,p,b,f]),{loadPreviewText:y,loadTags:S,loadFeatureImage:w,loadProperties:k,loadWordCount:F,loadCharacterCount:P,loadTaskUnfinished:T}=v,I=(0,so.useCallback)(()=>yFe({app:t,file:e,showPreview:n,showImage:r,skipFeatureImage:o,fileStatMtime:a,db:i(),loadOptions:v}),[t,e,a,i,v,r,n,o]),N=(0,so.useRef)(null),O=N.current??I();N.current=O;let[K,G]=(0,so.useState)(O.previewText),[X,L]=(0,so.useState)(O.tags),[V,D]=(0,so.useState)(O.featureImageKey),[A,_]=(0,so.useState)(O.featureImageStatus),[E,R]=(0,so.useState)(O.featureImageUrl),[M,C]=(0,so.useState)(O.properties),[x,z]=(0,so.useState)(O.wordCount),[H,Y]=(0,so.useState)(O.characterCountWithSpaces),[ee,$]=(0,so.useState)(O.characterCountWithoutSpaces),[j,J]=(0,so.useState)(O.taskUnfinished),[re,oe]=(0,so.useState)(0),Z=(0,so.useRef)(O.properties),ce=(0,so.useRef)(null),ae=(0,so.useRef)(null);return(0,so.useLayoutEffect)(()=>{let se=i(),ne=fFe({db:se,filePath:e.path,loadSnapshot:I,applySnapshot:B=>{G(q=>q===B.previewText?q:B.previewText),L(q=>go(q,B.tags)?q:B.tags),D(q=>q===B.featureImageKey?q:B.featureImageKey),_(q=>q===B.featureImageStatus?q:B.featureImageStatus),wh(Z.current,B.properties)||(Z.current=B.properties,C(B.properties)),z(q=>q===B.wordCount?q:B.wordCount),Y(q=>q===B.characterCountWithSpaces?q:B.characterCountWithSpaces),$(q=>q===B.characterCountWithoutSpaces?q:B.characterCountWithoutSpaces),J(q=>q===B.taskUnfinished?q:B.taskUnfinished)},onChange:B=>{let q=vFe({changes:B,shouldLoadFeatureImage:w,refreshMetadataVersionOnFeatureImageChange:c});if(B.preview!==void 0&&y&&n&&e.extension==="md"){let ie=B.preview||"";G(le=>le===ie?le:ie)}if(B.featureImageKey!==void 0&&w&&D(ie=>ie===B.featureImageKey?ie:B.featureImageKey??null),B.featureImageStatus!==void 0&&w){let ie=B.featureImageStatus;_(le=>le===ie?le:ie)}if(B.tags!==void 0&&S){let ie=[...B.tags??[]];L(le=>go(le,ie)?le:ie)}if(B.wordCount!==void 0&&F){let ie=B.wordCount??null;z(le=>le===ie?le:ie)}if(B.characterCountWithSpaces!==void 0&&P){let ie=B.characterCountWithSpaces??null;Y(le=>le===ie?le:ie)}if(B.characterCountWithoutSpaces!==void 0&&P){let ie=B.characterCountWithoutSpaces??null;$(le=>le===ie?le:ie)}if(B.taskUnfinished!==void 0&&T){let ie=B.taskUnfinished??null;J(le=>le===ie?le:ie)}if(B.properties!==void 0&&k){let ie=Xw(B.properties??null);wh(Z.current,ie)||(Z.current=ie,C(ie))}q&&oe(ie=>ie+1)}});return y&&n&&e.extension==="md"&&se.ensurePreviewTextLoaded(e.path),()=>{ne()}},[e,e.path,i,I,P,w,y,k,S,T,F,c,n]),(0,so.useEffect)(()=>()=>{ce.current&&(URL.revokeObjectURL(ce.current),ce.current=null)},[]),(0,so.useEffect)(()=>{let se=!0;if(ce.current&&(URL.revokeObjectURL(ce.current),ce.current=null),!w||!r||o)return R(null),()=>{se=!1};if(Ms(e)){try{R(pP(t,e,a))}catch{R(null)}return()=>{se=!1}}if(A!=="has"||!V)return R(null),()=>{se=!1};let ne=i(),B=V;return ne.getFeatureImageBlob(e.path,B).then(q=>{if(!se)return;if(!q){R(null);let le=Date.now(),Te=ae.current;(!Te||Te.key!==B||le-Te.at>=hFe)&&(ae.current={key:B,at:le},s(e));return}let ie=URL.createObjectURL(q);ce.current=ie,R(ie)}),()=>{se=!1}},[t,V,A,e,a,i,s,w,r,o]),{previewText:K,tags:X,featureImageKey:V,featureImageStatus:A,featureImageUrl:E,properties:M,wordCount:x,characterCountWithSpaces:H,characterCountWithoutSpaces:ee,taskUnfinished:j,metadataVersion:re}}var so,hFe,Dte=U(()=>{so=ue(ze());Sn();Mr();ed();Sl();FV();hFe=1e4});function Ate(){let t=pt(),e=ta(),n=gr(),r=Ra(),o=Yn(),a=Vr(),{findTagInTree:i,getPropertyTree:s}=xo(),l=(0,PV.useCallback)((u,p)=>{MF({showTags:t.showTags,showAllTagsFolder:t.showAllTagsFolder,expandedTags:e.expandedTags,expandedVirtualFolders:e.expandedVirtualFolders,collapseOtherBranchesOnExpand:t.collapseOtherBranchesOnExpand,expansionDispatch:r,selectionDispatch:n,uiState:{singlePane:o.singlePane,currentSinglePaneView:o.currentSinglePaneView,focusedPane:o.focusedPane},uiDispatch:a,findTagInTree:i},u,{...p,preserveNavigationFocus:p?.preserveNavigationFocus??!1,requireTagInTree:p?.requireTagInTree??!1})},[n,r,e.expandedTags,e.expandedVirtualFolders,t.showAllTagsFolder,t.collapseOtherBranchesOnExpand,t.showTags,i,a,o.currentSinglePaneView,o.focusedPane,o.singlePane]),c=(0,PV.useCallback)((u,p)=>{RF({showProperties:t.showProperties,showAllPropertiesFolder:t.showAllPropertiesFolder,propertyTree:s(),expandedProperties:e.expandedProperties,expandedVirtualFolders:e.expandedVirtualFolders,collapseOtherBranchesOnExpand:t.collapseOtherBranchesOnExpand,expansionDispatch:r,selectionDispatch:n,uiState:{singlePane:o.singlePane,currentSinglePaneView:o.currentSinglePaneView,focusedPane:o.focusedPane},uiDispatch:a},u,{...p,preserveNavigationFocus:p?.preserveNavigationFocus??!1,requirePropertyInTree:p?.requirePropertyInTree??!1})},[r,e.expandedProperties,e.expandedVirtualFolders,s,n,t.showAllPropertiesFolder,t.collapseOtherBranchesOnExpand,t.showProperties,a,o.currentSinglePaneView,o.focusedPane,o.singlePane]);return{navigateToTag:l,navigateToProperty:c}}var PV,Ote=U(()=>{PV=ue(ze());Qs();Ur();on();pa();Xi();lH();dH()});function NV(t,e,n,r){let o=r??((s,l)=>Mt(s.name,l.name));if(!n||n.size===0)return o(t,e);let a=n.get(t.path),i=n.get(e.path);return a!==void 0&&i!==void 0?a-i:a!==void 0?-1:i!==void 0?1:o(t,e)}function kS(t,e,n,r){if(!n||n.size===0)return r?r(t,e):Mt(t.name,e.name);let o=n.get(t.path),a=n.get(e.path);return o!==void 0&&a!==void 0?o-a:o!==void 0?-1:a!==void 0?1:r?r(t,e):Mt(t.name,e.name)}function rD(t,e,n,r){if(!n||n.size===0)return r?r(t,e):Mt(t.name,e.name);let o=n.get(t.key),a=n.get(e.key);return o!==void 0&&a!==void 0?o-a:o!==void 0?-1:a!==void 0?1:r?r(t,e):Mt(t.name,e.name)}function Lte({rootFolders:t,excludePatterns:e,rootOrderMap:n,defaultSortOrder:r,childSortOrderOverrides:o,getFolderSortName:a,isFolderExcluded:i,level:s=0,visitedPaths:l=new Set,onFolder:c,onSiblingGroup:u,shouldVisitChildren:p}){let g={folderSortOrder:r??"alpha-asc",folderTreeSortOverrides:o},f=S=>ZK(g,S),h=S=>(w,k)=>{let F=a?a(w):w.name,P=a?a(k):k.name,T=ju(F,P,S);return T!==0?T:w.path.localeCompare(k.path)},b=S=>{let w=e.length>0&&ei(S,e),k=i?i(S):!1;return w||k},v=(S,w)=>{if(S.length<=1)return S;let k=f(w),F=h(k),P=S.slice();return w==="/"?P.sort((T,I)=>NV(T,I,n,F)):P.sort(F)},y=(S,w,k)=>{let F=v(w.filter(P=>!l.has(P.path)),S).map(P=>({folder:P,level:k,isExcluded:b(P),parentPath:S}));u?.({parentPath:S,level:k,entries:F}),F.forEach(P=>{if(l.add(P.folder.path),c?.(P),p?.(P)===!1)return;let T=P.folder.children.filter(I=>I instanceof CV.TFolder);T.length!==0&&y(P.folder.path,T,k+1)})};if(t.length===1&&t[0]?.path==="/"){let S=t[0];if(l.has(S.path))return;let w={folder:S,level:s,isExcluded:b(S),parentPath:""};if(l.add(S.path),c?.(w),p?.(w)===!1)return;let k=S.children.filter(F=>F instanceof CV.TFolder);k.length>0&&y("/",k,s+1);return}y("/",t,s)}function zte(t,e,n,r=0,o=new Set,a={}){let i=[];return Lte({rootFolders:t,excludePatterns:n,rootOrderMap:a.rootOrderMap,defaultSortOrder:a.defaultSortOrder,childSortOrderOverrides:a.childSortOrderOverrides,getFolderSortName:a.getFolderSortName,isFolderExcluded:a.isFolderExcluded,level:r,visitedPaths:o,onFolder:({folder:s,level:l,isExcluded:c})=>{let u={type:he.FOLDER,data:s,level:l,path:s.path,key:s.path};c&&(u.isExcluded=!0),i.push(u)},shouldVisitChildren:({folder:s})=>e.has(s.path)}),i}function Bte({rootFolders:t,excludePatterns:e,rootOrderMap:n,defaultSortOrder:r,childSortOrderOverrides:o,getFolderSortName:a,isFolderExcluded:i,includeDescendantSiblingGroups:s=!0}){let l=new Map;return Lte({rootFolders:t,excludePatterns:e,rootOrderMap:n,defaultSortOrder:r,childSortOrderOverrides:o,getFolderSortName:a,isFolderExcluded:i,onSiblingGroup:({parentPath:c,entries:u})=>{l.set(c,u.filter(p=>!p.isExcluded).map(p=>p.folder.path))},shouldVisitChildren:({folder:c})=>s?!0:c.path==="/"}),{siblingPathsByParent:l}}function FS(t,e,n=0,r={}){let o=[],{hiddenMatcher:a,comparator:i,childSortOrderOverrides:s}=r,l=i??((g,f)=>Mt(g.name,f.name)),c=t.slice().sort(l),u=g=>(f,h)=>{let b=ju(f.name,h.name,g);return b!==0?b:f.path.localeCompare(h.path)},p=g=>{if(s&&Object.prototype.hasOwnProperty.call(s,g)){let f=s[g];if(f)return u(f)}return l};function m(g,f,h=!1){let b=a?ss(g.path,g.name,a):!1,v=h||b,y={type:he.TAG,data:g,level:f,path:g.path,key:g.path};if(v&&(y.isHidden=!0),o.push(y),e.has(g.path)&&g.children&&g.children.size>0){let S=p(g.path);Array.from(g.children.values()).sort(S).forEach(k=>m(k,f+1,v))}}return c.forEach(g=>m(g,n)),o}var CV,PS=U(()=>{CV=require("obsidian");Rn();Ue();Yr();Dr()});function bFe(){return{colorsByPath:new Map,rootColor:void 0,getInheritedColor:t=>{}}}function _te(){return{colorsByNodeId:new Map,rootColor:void 0,rootColorsByKey:new Map}}function SFe(t,e){let n=Mt(t.name,e.name);return n!==0?n:t.path.localeCompare(e.path)}function wFe(t,e){let n=Mt(t.name,e.name);return n!==0?n:(t.valuePath??"").localeCompare(e.valuePath??"")}function Hte(t){return(e,n)=>-t(e,n)}function TFe(t){let{order:e,keyNode:n,includeDescendantNotes:r}=t,o=wFe;if(e==="alpha-asc")return o;if(e==="alpha-desc")return Hte(o);let a=(i,s)=>{let l=u=>r&&u.valuePath?Pm(n,u.valuePath):u.notesWithValue.size,c=l(i)-l(s);return c!==0?c:o(i,s)};return e==="frequency-asc"?a:Hte(a)}function kFe(t,e){return(n,r)=>{let o=ju(n.name,r.name,t);return o!==0?o:e(n).localeCompare(e(r))}}function Vte(t){let{visibleTagTree:e,rootTagKeys:n,rootTagOrderMap:r,tagComparator:o,palette:a,scope:i,showAllTagsFolder:s,inheritColors:l,childSortOrderOverrides:c}=t;if(a.length===0||e.size===0)return bFe();let u=Array.from(e.values()),p=o??SFe,m=r.size>0?(b,v)=>kS(b,v,r,p):p,g=new Set;u.forEach(b=>{ml(b,g)});let f=s?1:0,h;if(n&&n.length>0){let b=new Set;h=[],n.forEach(v=>{if(v===bt){let S={name:bt,path:bt,displayPath:bt,children:new Map,notesWithTag:new Set};h.push({type:he.UNTAGGED,data:S,level:f,key:bt});return}let y=e.get(v);!y||b.has(y.path)||(b.add(y.path),h.push(...FS([y],g,f,{comparator:p,childSortOrderOverrides:c})))}),u.filter(v=>!b.has(v.path)).sort(m).forEach(v=>{h.push(...FS([v],g,f,{comparator:p,childSortOrderOverrides:c}))})}else h=FS(u,g,f,{comparator:m,childSortOrderOverrides:c});return VI({items:h,palette:a,scope:i,rootLevel:f,showAllTagsFolder:s,inheritColors:l})}function Ute(t){let{propertyTree:e,visiblePropertyNavigationKeySet:n,rootPropertyOrderMap:r,propertyKeyComparator:o,palette:a,scope:i,showAllPropertiesFolder:s,propertySortOrder:l,propertyTreeSortOverrides:c,includeDescendantNotes:u}=t;if(a.length===0||e.size===0||n.size===0)return _te();let p=Array.from(e.values()).filter(v=>n.has(v.key));if(p.length===0)return _te();let m=r.size>0?(v,y)=>rD(v,y,r,o):o,g=p.slice().sort(m),f=s?1:0,h=f+1,b=[];return g.forEach(v=>{b.push({type:he.PROPERTY_KEY,data:v,level:f,key:v.id});let y=Array.from(v.children.values());if(y.length===0)return;let S=c?.[v.id],w=S?kFe(S,k=>k.valuePath??""):TFe({order:l,keyNode:v,includeDescendantNotes:u});y.sort(w).forEach(k=>{b.push({type:he.PROPERTY_VALUE,data:k,level:h,key:k.id})})}),UI({items:b,palette:a,scope:i,showAllPropertiesFolder:s})}function Kte(t){let{model:e,tagPath:n,color:r,backgroundColor:o}=t,a=It(n),i=a.length>0?a:n,s=e.tagRainbowColors.colorsByPath.get(i),l=s?void 0:e.tagRainbowColors.getInheritedColor(i),c=Ey({mode:e.navRainbowMode,rainbowColor:s??l,color:r,backgroundColor:o});return{color:c.color,backgroundColor:c.backgroundColor}}function Wte(t){let{model:e,nodeId:n,color:r,backgroundColor:o}=t,a=e.propertyRainbowColors.colorsByNodeId.get(n),i=zi(n),s=i?kn(i):null,l=a||!e.inheritPropertyColors||!i||i===n||!s?.key?void 0:e.propertyRainbowColors.rootColorsByKey.get(s.key),c=Ey({mode:e.navRainbowMode,rainbowColor:a??l,color:r,backgroundColor:o});return{color:c.color,backgroundColor:c.backgroundColor}}var IV=U(()=>{Ue();Gm();cn();Rn();Dr();Ba();PS()});function FFe(t,e){let n=Mt(t.name,e.name);return n!==0?n:t.path.localeCompare(e.path)}function jte(t,e){let n=Mt(t,e);return n!==0?n:t.localeCompare(e)}function Gte(t){return t?t.split("/").filter(e=>e.length>0):[]}function qte(t,e,n){let r=t,o,a="";for(let i=0;i<=n;i+=1){let s=e[i];if(!s||(a=i===0?s:`${a}/${s}`,o=r.get(a),!o))return;r=o.children}return o}function Yte(t,e,n){if(n.size===0)return 0;let r=n.get(t),o=n.get(e);return r!==void 0&&o!==void 0?r-o:r!==void 0?-1:o!==void 0?1:0}function PFe({leftNode:t,rightNode:e,parentPath:n,orderModel:r,childSortOrderOverrides:o}){let a=n?o?.[n]:void 0;if(a){let i=ju(t.name,e.name,a);return i!==0?i:t.path.localeCompare(e.path)}return kS(t,e,r.rootTagOrderMap,r.tagComparator??FFe)}function $te({leftTag:t,rightTag:e,orderModel:n,childSortOrderOverrides:r}){let o=It(t),a=It(e);if(o===a)return 0;let i=Gte(o),s=Gte(a),l=Math.min(i.length,s.length);for(let c=0;c<l;c+=1){let u=i[c]??"",p=s[c]??"";if(u===p)continue;let m=c===0?null:i.slice(0,c).join("/"),g=qte(n.tagTree,i,c),f=qte(n.tagTree,s,c);if(g&&f){let h=PFe({leftNode:g,rightNode:f,parentPath:m,orderModel:n,childSortOrderOverrides:r});if(h!==0)return h}if(c===0){let h=Yte(u,p,n.rootTagOrderMap);if(h!==0)return h}return jte(u,p)}return i.length!==s.length?i.length-s.length:jte(o,a)}function Xte(t,e,n,r){let o=Me(t),a=Me(e);if(!o||!a||o===a||n.size===0)return 0;let i=r.has(o)&&n.has(o)?o:"",s=r.has(a)&&n.has(a)?a:"";return!i||!s?i?-1:s?1:0:Yte(i,s,n)}var Qte=U(()=>{Ot();Rn();Dr();PS()});function xV(t,e,n){t.sort((r,o)=>$te({leftTag:r,rightTag:o,orderModel:e,childSortOrderOverrides:n}))}function EV(t){t.sort((e,n)=>{let r=Mt(e.label,n.label);if(r!==0)return r;let o=Mt(e.value,n.value);return o!==0?o:Mt(e.fieldKey??"",n.fieldKey??"")})}function IFe(t,e){if(t.length<=1)return[...t];if(!e){let o=[...t];return EV(o),o}let n=[],r=[];return t.forEach(o=>{if(o.hasCustomColor===!0){n.push(o);return}r.push(o)}),EV(n),EV(r),[...n,...r]}function Zte(t){return t?t.some(e=>e.hasCustomColor===!0):!1}function xFe(t,e,n,r,o){if(t.length<=1)return[...t];let a=[...t];return a.sort((i,s)=>{if(n){let l=Zte(e.get(i)),c=Zte(e.get(s));if(l!==c)return l?-1:1}return Xte(i,s,r.rootPropertyNavigationOrderMap,o)}),a}function Jte(t){let e=t?.trim()??"";if(!e)return;let n=Gn(e);return Gt(n)??n}function ene(t){if(!t)return!1;for(let e in t)if(Object.prototype.hasOwnProperty.call(t,e))return!0;return!1}function tne({file:t,isCompactMode:e,tags:n,properties:r,wordCount:o,characterCount:a,wordCountDisplayText:i,characterCountDisplayText:s,settings:l,visiblePropertyKeys:c,visibleNavigationPropertyKeys:u,hiddenTagVisibility:p,onModifySearchWithTag:m,onModifySearchWithProperty:g,fileItemPillDecorationModel:f,fileItemPillOrderModel:h}){let{app:b,isMobile:v}=gt(),y=Ho(),{selectionType:S,selectedTag:w,selectedProperty:k}=Ml(),{navigateToTag:F,navigateToProperty:P}=Ate(),T=(0,Cr.useMemo)(()=>Qe(l.interfaceIcons,"file-word-count"),[l.interfaceIcons]),I=(0,Cr.useMemo)(()=>Qe(l.interfaceIcons,"file-character-count"),[l.interfaceIcons]),N=(0,Cr.useMemo)(()=>PR({selectionType:S,selectedTag:w,showSelectedNavigationPills:l.showSelectedNavigationPills}),[w,S,l.showSelectedNavigationPills]),O=(0,Cr.useMemo)(()=>CR({selectionType:S,selectedProperty:k,showSelectedNavigationPills:l.showSelectedNavigationPills}),[k,S,l.showSelectedNavigationPills]),K=(0,Cr.useCallback)((ne,B)=>{if(ne.stopPropagation(),m){let q=Av(ne,l.multiSelectModifier,v);if(q){ne.preventDefault(),m(B,q);return}}F(B,{preserveNavigationFocus:!1})},[v,F,m,l.multiSelectModifier]),G=(0,Cr.useCallback)((ne,B)=>{let q=B.propertyNodeId,ie=B.propertySearchKey,le=B.canNavigateToProperty===!0;if(ne.stopPropagation(),B.linkTarget?.kind==="unsupported")return;if(le&&g&&ie){let ke=Av(ne,l.multiSelectModifier,v);if(ke){ne.preventDefault(),g(ie,B.propertySearchValuePath??null,ke);return}}let Te=B.linkTarget;if(Te?.kind==="internal"&&l.enablePropertyInternalLinks){ne.preventDefault(),Q(()=>b.workspace.openLinkText(Te.target,t.path,!1));return}if(Te?.kind==="external"&&l.enablePropertyExternalLinks){ne.preventDefault(),window.open(Te.target);return}!le||!q||!ie||P(q,{preserveNavigationFocus:!1})},[b.workspace,t.path,v,P,g,l.enablePropertyExternalLinks,l.enablePropertyInternalLinks,l.multiSelectModifier]),X=(0,Cr.useCallback)(ne=>y.getTagColorData(ne),[y]),L=(0,Cr.useMemo)(()=>n.length===0||!p.shouldFilterHiddenTags&&!N?n:n.filter(ne=>p.shouldFilterHiddenTags&&!p.isTagVisible(ne)?!1:N?Ze(ne)!==N:!0),[p,N,n]),V=(0,Cr.useMemo)(()=>{if(l.tagColors,l.tagBackgroundColors,l.inheritTagColors,!l.colorFileTags||L.length===0)return CFe;let ne=new Map;return L.forEach(B=>{let q=X(B),ie=!!(q.color||q.background),le=Kte({model:f,tagPath:B,color:q.color,backgroundColor:q.background});(le.color||le.backgroundColor)&&ne.set(B,{color:le.color,background:le.backgroundColor,hasCustomColor:ie})}),ne},[f,X,l.colorFileTags,l.inheritTagColors,l.tagBackgroundColors,l.tagColors,L]),D=(0,Cr.useMemo)(()=>{if(L.length===0)return L;if(!l.prioritizeColoredFileTags||!l.colorFileTags){let q=[...L];return xV(q,h,l.tagTreeSortOverrides),q}let ne=[],B=[];return L.forEach(q=>{if(V.get(q)?.hasCustomColor===!0){ne.push(q);return}B.push(q)}),xV(ne,h,l.tagTreeSortOverrides),xV(B,h,l.tagTreeSortOverrides),[...ne,...B]},[h,l.colorFileTags,l.prioritizeColoredFileTags,l.tagTreeSortOverrides,V,L]),A=(0,Cr.useMemo)(()=>!(!l.showTags||!l.showFileTags||D.length===0||e&&!l.showFileTagsInCompactMode),[D,e,l.showFileTags,l.showFileTagsInCompactMode,l.showTags]),_=(0,Cr.useMemo)(()=>{let ne=[];return tV({properties:r,visiblePropertyKeys:c,hiddenPropertyValueNodeId:O,visitor:B=>{ne.push(B)}}),ne},[r,O,c]),E=(0,Cr.useMemo)(()=>{if(!l.showFileProperties||!l.colorFileProperties||_.length===0)return"";let ne=l.propertyColors,B=l.propertyBackgroundColors,q=l.inheritPropertyColors?"inherit:1":"inherit:0",ie=[],le=new Set,Te=new Set;for(let ke of _){let Fe=ke.propertyNodeId;if(!Fe)continue;le.has(Fe)||(le.add(Fe),ie.push(`v:${Fe}\0${ne?.[Fe]??""}\0${B?.[Fe]??""}`));let te=zi(Fe);!te||Te.has(te)||(Te.add(te),ie.push(`k:${te}\0${ne?.[te]??""}\0${B?.[te]??""}`))}return ie.length===0?q:ie.length===1?`${q}${ie[0]??""}`:(ie.sort(),`${q}${ie.join("")}`)},[l.colorFileProperties,l.inheritPropertyColors,l.propertyBackgroundColors,l.propertyColors,l.showFileProperties,_]),R=(0,Cr.useMemo)(()=>!(t.extension!=="md"||e&&!l.showFilePropertiesInCompactMode),[t.extension,e,l.showFilePropertiesInCompactMode]),M=(0,Cr.useMemo)(()=>!R||!il(l.textCountDisplay)||l.textCountPlacement!=="property"||i===null||typeof o!="number"||!Number.isFinite(o)||o<=0?null:{value:Math.trunc(o).toString(),label:i,linkTarget:null,iconId:T},[R,l.textCountDisplay,l.textCountPlacement,o,i,T]),C=(0,Cr.useMemo)(()=>!R||!Gl(l.textCountDisplay)||l.textCountPlacement!=="property"||s===null||typeof a!="number"||!Number.isFinite(a)||a<=0?null:{value:Math.trunc(a).toString(),label:s,linkTarget:null,iconId:I},[R,a,s,I,l.textCountDisplay,l.textCountPlacement]),x=(0,Cr.useMemo)(()=>[M,C].filter(ne=>ne!==null),[C,M]),z=(0,Cr.useMemo)(()=>{let ne=[],B=[];if(!R||!l.showFileProperties||_.length===0)return ne;let q=new Map;for(let Fe of _){let{entry:te,rawValue:pe,trimmedFieldKey:ve,normalizedValuePath:Ie,isKeyOnlyValue:qe,propertyNodeId:xe}=Fe,Ce=qe?null:$C(pe),vt=Ce?Ce.displayText:pe,Rt=xe??`${te.fieldKey}\0${pe}`,Ve=q.get(Rt);if(!Ve){if(l.colorFileProperties&&xe){let lt=y.getPropertyColorData(xe),Zt=!!(lt.color||lt.background),Kt=Wte({model:f,nodeId:xe,color:lt.color,backgroundColor:lt.background});Ve={color:Kt.color,background:Kt.backgroundColor,hasCustomColor:Zt}}else Ve={hasCustomColor:!1};q.set(Rt,Ve)}let Ae=xe?kn(xe):null,Ke=xe?zi(xe)??Jte(ve):Jte(ve),Be=Ae?.key||ve,wt=qe?null:Ae?.valuePath??Ie,Ct=Me(Be),qt=xe!==void 0&&Ct.length>0&&u.has(Ct);B.push({value:pe,label:vt,linkTarget:Ce,fieldKey:te.fieldKey,propertyKeyNodeId:Ke,color:Ve.color,background:Ve.background,hasCustomColor:Ve.hasCustomColor,propertyNodeId:xe,propertySearchKey:Be.length>0?Be:void 0,propertySearchValuePath:wt,canNavigateToProperty:qt})}let ie=l.prioritizeColoredFileProperties&&l.colorFileProperties,le=new Map,Te=[];return B.forEach(Fe=>{let te=Fe.fieldKey??"",pe=le.get(te);if(pe){pe.push(Fe);return}le.set(te,[Fe]),Te.push(te)}),xFe(Te,le,ie,h,u).forEach(Fe=>{let te=le.get(Fe);!te||te.length===0||ne.push(...IFe(te,ie))}),ne},[R,f,h,y,E,l.colorFileProperties,l.prioritizeColoredFileProperties,l.showFileProperties,u,_]),H=(0,Cr.useMemo)(()=>{let ne=new Map;if(z.length===0)return ne;for(let B of z){let q=B.color?.trim()??"",ie=B.background?.trim()??"";if(!q&&!ie)continue;let le=`${q}\0${ie}`;if(ne.has(le))continue;let Te={},ke=!1,Fe=!1;ie&&QA(ie)&&(Te["--nn-file-tag-custom-bg"]=ie,Fe=!0),q&&QA(q)&&(Te.color=q,ke=!0),ne.set(le,{style:ke||Fe?Te:void 0,hasColor:ke,hasBackground:Fe})}return ne},[z]),Y=z.length>0,ee=x.length>0,$=(0,Cr.useMemo)(()=>{if(!l.showPropertiesOnSeparateRows)return[];let ne=[],B=new Map,q=null;for(let ie of z){let le=ie.fieldKey?.trim()??"";if(!le){q||(q=[],ne.push(q)),q.push(ie);continue}let Te=B.get(le);Te||(Te=[],B.set(le,Te),ne.push(Te)),Te.push(ie)}return ne},[z,l.showPropertiesOnSeparateRows]),j=(0,Cr.useCallback)(ne=>KJ(ne,l.showFileTagAncestors),[l.showFileTagAncestors]),J=(0,Cr.useMemo)(()=>{let ne=new Map;return!l.tagIcons||!ene(l.tagIcons)||D.length===0||D.forEach(B=>{let q=y.getTagIcon(B);q&&ne.set(B,q)}),ne},[D,y,l.tagIcons]),re=(0,Cr.useMemo)(()=>{let ne=new Map,B=q=>{if(q.linkTarget?.kind==="external"&&l.enablePropertyExternalLinks)return NFe;if(q.iconId)return q.iconId;if(!l.propertyIcons||!ene(l.propertyIcons))return;let ie=null;if(q.propertyNodeId){let Te=y.getPropertyIcon(q.propertyNodeId);if(Te)return Te;let ke=zi(q.propertyNodeId);if(ke&&(ie=ke,ke!==q.propertyNodeId)){let Fe=y.getPropertyIcon(ke);if(Fe)return Fe}}let le=q.propertyKeyNodeId;if(!(!le||ie===le))return y.getPropertyIcon(le)};z.forEach(q=>{let ie=B(q);ie&&ne.set(q,ie)});for(let q of x)q.iconId&&ne.set(q,q.iconId);return ne},[y,z,l.enablePropertyExternalLinks,l.propertyIcons,x]),oe=(0,Cr.useCallback)((ne,B)=>{let q=ne.linkTarget?.kind==="unsupported",ie=ne.canNavigateToProperty===!0&&!q,le=ne.linkTarget?.kind==="internal"&&l.enablePropertyInternalLinks||ne.linkTarget?.kind==="external"&&l.enablePropertyExternalLinks,Te=ie||le,ke=["nn-file-tag","nn-file-property",Te?"nn-clickable-tag":"",le?"nn-file-property-link":""].filter(Ce=>Ce.length>0).join(" "),Fe=ne.color?.trim()??"",te=ne.background?.trim()??"",pe=`${Fe}\0${te}`,ve=Fe||te?H.get(pe):void 0,Ie=!!ve?.hasColor,qe=!!ve?.hasBackground,xe=re.get(ne);return(0,ws.jsxs)("span",{className:ke,"data-has-color":Ie?"true":void 0,"data-has-background":qe?"true":void 0,onClick:Te?Ce=>G(Ce,ne):void 0,role:Te?"button":void 0,tabIndex:Te?0:void 0,style:ve?.style,children:[xe?(0,ws.jsx)(Qt,{iconId:xe,className:"nn-file-pill-inline-icon","aria-hidden":!0}):null,ne.label]},B)},[G,H,re,l.enablePropertyExternalLinks,l.enablePropertyInternalLinks]),Z=(0,Cr.useMemo)(()=>A?(0,ws.jsx)("div",{className:"nn-file-tags",children:D.map((ne,B)=>{let q=V.get(ne),ie=q?.color,le=q?.background,Te=j(ne),ke=J.get(ne),Fe={};return le&&(Fe["--nn-file-tag-custom-bg"]=le),ie&&(Fe.color=ie),(0,ws.jsxs)("span",{className:"nn-file-tag nn-clickable-tag","data-has-color":ie?"true":void 0,"data-has-background":le?"true":void 0,onClick:te=>K(te,ne),role:"button",tabIndex:0,style:ie||le?Fe:void 0,children:[ke?(0,ws.jsx)(Qt,{iconId:ke,className:"nn-file-pill-inline-icon","aria-hidden":!0}):null,Te]},B)})}):null,[D,j,K,A,V,J]),ce=(0,Cr.useMemo)(()=>Y?l.showPropertiesOnSeparateRows?(0,ws.jsx)(ws.Fragment,{children:$.map((ne,B)=>(0,ws.jsx)("div",{className:"nn-file-property-row",children:ne.map((q,ie)=>oe(q,ie))},B))}):(0,ws.jsx)("div",{className:"nn-file-property-row",children:z.map(oe)}):null,[z,$,oe,l.showPropertiesOnSeparateRows,Y]),ae=(0,Cr.useMemo)(()=>ee?(0,ws.jsx)("div",{className:"nn-file-property-row",children:x.map(oe)}):null,[oe,ee,x]),se=(0,Cr.useMemo)(()=>(0,ws.jsxs)(ws.Fragment,{children:[Z,ce,ae]}),[ce,Z,ae]);return{shouldShowFileTags:A,shouldShowProperty:Y,shouldShowTextCountProperty:ee,hasVisiblePillRows:A||Y||ee,pillRows:se}}var Cr,ws,CFe,NFe,nne=U(()=>{Cr=ue(ze());mn();Ur();Ote();xn();ot();iS();Rn();Sn();ed();Ot();pr();cn();IV();Qte();Al();ws=ue(Ge()),CFe=new Map,NFe="external-link"});function rne(t){let{app:e,file:n,enabled:r,source:o,metadataVersion:a}=t,[i,s]=(0,Ef.useState)(0),l=o!==void 0,c=o?.providerId??null,u=o?.iconId??null,p=o?.showsFeatureImageBox??!1,m=o?.supportsCompanionImages??!1,g=(0,Ef.useMemo)(()=>l?c===null||u===null?null:{providerId:c,iconId:u,showsFeatureImageBox:p,supportsCompanionImages:m}:jd(e,n),[e,n,l,a,u,c,p,m]),f=r&&g!==null&&g.supportsCompanionImages,h=sS(e,f);return(0,Ef.useEffect)(()=>{if(f)return rj(n.path,()=>{s(b=>b+1)})},[n.path,f]),(0,Ef.useMemo)(()=>{if(!r||!g)return{isDrawing:!!g,showsFeatureImageBox:!1,supportsCompanionImages:!1,isMissing:!1,iconId:g?.iconId??null,key:null,url:null};if(!g.supportsCompanionImages)return{isDrawing:!0,showsFeatureImageBox:g.showsFeatureImageBox,supportsCompanionImages:!1,isMissing:g.showsFeatureImageBox,iconId:g.iconId,key:g.showsFeatureImageBox?`${n.path}:placeholder:${g.providerId}`:null,url:null};let b=SN(e,n,g.providerId,h);if(!b)return{isDrawing:!0,showsFeatureImageBox:g.showsFeatureImageBox,supportsCompanionImages:!0,isMissing:!0,iconId:g.iconId,key:`${n.path}:missing:${h}:${i}`,url:null};let v=null;try{v=pP(e,b)}catch{v=null}return{isDrawing:!0,showsFeatureImageBox:g.showsFeatureImageBox,supportsCompanionImages:!0,isMissing:v===null,iconId:g.iconId,key:`${b.path}@${b.stat.mtime}:${h}:${i}`,url:v}},[e,i,r,n,g,h])}var Ef,one=U(()=>{Ef=ue(ze());gl();MR();FV()});function _g({initialValue:t,ariaLabel:e,onCommit:n,onCancel:r,onRestoreFocus:o,inputFilter:a,onInputChange:i,className:s}){let[l,c]=(0,Ts.useState)(t),[u,p]=(0,Ts.useState)(!1),m=(0,Ts.useRef)(null),g=(0,Ts.useRef)(!1),f=(0,Ts.useRef)(!1);(0,Ts.useEffect)(()=>{let w=m.current;w&&(w.focus({preventScroll:!0}),w.select())},[]);let h=(0,Ts.useCallback)(()=>{window.requestAnimationFrame(()=>{let w=m.current;!w||g.current||(w.focus({preventScroll:!0}),w.select())})},[]),b=(0,Ts.useCallback)(async w=>{if(!(g.current||f.current)){f.current=!0,p(!0);try{if(await n(l)){g.current=!0,w?.restoreFocus&&o?.();return}}catch(k){console.error("[Notebook Navigator] Inline rename commit failed",k)}f.current=!1,p(!1),h()}},[n,o,h,l]),v=(0,Ts.useCallback)(w=>{let k=w.currentTarget.value,F=a?a(k):k;c(F),i?.({rawValue:k,filteredValue:F})},[a,i]),y=(0,Ts.useCallback)(w=>{g.current||(g.current=!0,r(),w?.restoreFocus&&o?.())},[r,o]),S=(0,Ts.useCallback)(w=>{if(w.stopPropagation(),w.key==="Enter"){w.preventDefault(),b({restoreFocus:!0});return}w.key==="Escape"&&(w.preventDefault(),y({restoreFocus:!0}))},[y,b]);return(0,ane.jsx)("input",{ref:m,className:s?`nn-inline-rename-input ${s}`:"nn-inline-rename-input",value:l,"aria-label":e,disabled:u,spellCheck:!1,onChange:v,onBlur:()=>{b()},onClick:w=>w.stopPropagation(),onMouseDown:w=>w.stopPropagation(),onDoubleClick:w=>w.stopPropagation(),onKeyDown:S})}var Ts,ane,mP=U(()=>{Ts=ue(ze()),ane=ue(Ge())});function sne(t,e){return t.replace("{count}",e)}function EFe(t){return typeof t!="number"||!Number.isFinite(t)||t<=0?null:id(t)}function MFe(t){let{wordCountDisplayText:e,characterCountDisplayText:n}=t;if(e&&n){let r=!e.includes("/")&&!e.includes("%")?sne(d.fileCounts.words,e):e,o=sne(d.fileCounts.characters,n);return`${r}${d.fileCounts.separator}${o}`}return e??n}function RFe(t,e,n){let[r,o]=(0,tn.useState)(e.stat.mtime);return(0,tn.useEffect)(()=>{o(e.stat.mtime)},[e,e.stat.mtime]),(0,tn.useEffect)(()=>{if(!n)return;let a=t.vault.on("modify",i=>{i instanceof zl.TFile&&i.path===e.path&&o(i.stat.mtime)});return()=>{t.vault.offref(a)}},[t,n,e.path]),n?r:e.stat.mtime}function DFe(t,e,n){if(!t)return[];let r=t.toLowerCase(),o=[],a=new Set,i=s=>{if(!s)return;let l=s.toLowerCase();if(!l||a.has(l))return;a.add(l);let c=r.indexOf(l);for(;c!==-1;)o.push({start:c,end:c+l.length}),c=r.indexOf(l,c+l.length)};if(n&&(n.matches.forEach(s=>i(s.text)),n.terms.forEach(s=>i(s))),!n&&o.length===0&&e){let s=e.trim().toLowerCase();s&&s.split(/\s+/).filter(Boolean).forEach(l=>i(l))}return o.length===0?[]:ou(o)}function lne(t,e,n){if(!t)return t;let r=DFe(t,e,n);if(r.length===0)return t;let o=[],a=0;return r.forEach((i,s)=>{i.start>a&&o.push(t.slice(a,i.start)),o.push((0,pn.jsx)("span",{className:"nn-search-highlight",children:t.slice(i.start,i.end)},`h-${s}`)),a=i.end}),a<t.length&&o.push(t.slice(a)),(0,pn.jsx)(pn.Fragment,{children:o})}function AFe({iconId:t,label:e,iconVersion:n,color:r,backgroundColor:o,showIcon:a,applyColorToName:i,onReveal:s}){let l=(0,tn.useRef)(null),c=!!r,u=!!o,p=r?{color:r}:void 0,m=i&&r?{color:r}:void 0,g=o?{backgroundColor:o}:void 0,f=i?"nn-parent-folder-label nn-parent-folder-label--colored":"nn-parent-folder-label",h=!!s,b=(0,tn.useCallback)(v=>{s&&(v.preventDefault(),v.stopPropagation(),s())},[s]);return(0,tn.useEffect)(()=>{let v=l.current;if(!v||(v.innerHTML="",!t||!a))return;yn().renderIcon(v,t)},[t,n,a]),(0,pn.jsx)("div",{className:"nn-parent-folder","data-dot-separator":a?"false":"true",children:(0,pn.jsxs)("div",{className:"nn-parent-folder-content","data-has-background":u?"true":"false","data-reveal":h?"true":"false",style:g,onClick:h?b:void 0,children:[a?(0,pn.jsx)("span",{className:"nn-parent-folder-icon",ref:l,"aria-hidden":"true","data-has-color":c?"true":"false",style:p}):null,(0,pn.jsx)("span",{className:f,style:m,"data-has-color":i?"true":"false",children:e})]})})}var tn,zl,pn,ine,oD,MV=U(()=>{tn=ue(ze()),zl=require("obsidian");mn();mn();on();Ee();Zl();ot();os();Zc();Mr();JR();LM();nD();iS();Ha();Sl();iR();pr();ai();Rn();Vm();Dte();nne();Al();gl();one();pp();Am();xn();mP();pn=ue(Ge()),ine=16/9;oD=tn.default.memo(function({file:e,isSelected:n,hasSelectedAbove:r,hasSelectedBelow:o,showQuickActionsPanel:a,onFileClick:i,fileIndex:s,groupHeaderLabel:l,sortOption:c,parentFolder:u,isPinned:p=!1,selectionType:m,searchQuery:g,searchMeta:f,isHidden:h=!1,onModifySearchWithTag:b,onModifySearchWithProperty:v,localDayReference:y,fileIconSize:S,appearanceSettings:w,includeDescendantNotes:k,hiddenTagVisibility:F,fileNameIconNeedles:P,visiblePropertyKeys:T,visibleNavigationPropertyKeys:I,fileItemStorage:N,shortcutKey:O,onToggleNoteShortcut:K,folderDecorationModel:G,fileItemPillDecorationModel:X,fileItemPillOrderModel:L,getSolidBackground:V,disableNativeDrag:D=!1,manualSortDisabled:A=!1,inlineRename:_}){let{app:E,isMobile:R,plugin:M,commandQueue:C,fileSystemOps:x,tagOperations:z}=gt(),H=pt(),Y=Ho(),{getFileDisplayName:ee,getDB:$,getFileTimestamps:j,hasPreview:J,regenerateFeatureImageForFile:re}=N,oe=w.mode==="compact",Z=il(H.textCountDisplay),ce=Gl(H.textCountDisplay),ae=e.extension==="md",se=ae&&(!oe||H.showFilePropertiesInCompactMode),ne=ae&&H.showTags&&H.showFileTags&&(!oe||H.showFileTagsInCompactMode),B=ae&&Z&&(H.textCountPlacement==="title"||H.textCountPlacement==="property"&&se),q=B||ae&&!R&&H.showTooltips&&H.showTooltipWordCount,ie=ae&&ce&&(H.textCountPlacement==="title"||H.textCountPlacement==="property"&&se),le=ae&&(se&&H.showFileProperties&&T.size>0||B&&H.wordCountTargetProperty.trim().length>0),Te=ae&&(H.showFileIconUnfinishedTask||H.showFileBackgroundUnfinishedTask||!R&&H.showTooltips),ke=ae&&w.showImage,Fe=RFe(E,e,w.showImage&&Ms(e)),te=jd(E,e),pe=te!==null,{previewText:ve,tags:Ie,featureImageKey:qe,featureImageStatus:xe,featureImageUrl:Ce,properties:vt,wordCount:Rt,characterCountWithSpaces:Ve,characterCountWithoutSpaces:Ae,taskUnfinished:Ke,metadataVersion:Be}=Rte({app:E,file:e,showPreview:w.showPreview,showImage:w.showImage,skipFeatureImage:pe,fileStatMtime:Fe,getDB:$,regenerateFeatureImageForFile:re,loadOptions:{loadPreviewText:w.showPreview&&ae&&!f?.excerpt,loadTags:ne,loadFeatureImage:w.showImage&&!pe,loadProperties:le,loadWordCount:q,loadCharacterCount:ie,loadTaskUnfinished:Te},refreshMetadataVersionOnFeatureImageChange:ke}),wt=rne({app:E,file:e,enabled:w.showImage,source:te,metadataVersion:Be}),Ct=wt.url??(wt.isDrawing?null:Ce),qt=wt.key??qe,[lt,Zt]=(0,tn.useState)(null),[Kt,gn]=(0,tn.useState)(!1),fn=(0,tn.useRef)(null),an=(0,tn.useRef)(null),Pe=(0,tn.useRef)(null),ge=(0,tn.useRef)(null),be=(0,tn.useRef)(null),me=(0,tn.useRef)(null),fe=(0,tn.useRef)(null),we=(0,tn.useRef)(null),Re=(0,tn.useId)(),nt=H.showQuickActions&&H.quickActionOpenInNewTab,ct=H.showQuickActions&&H.quickActionPinNote,yt=H.showQuickActions&&H.quickActionRevealInFolder&&e.parent&&e.parent.path!==u,bn=e.extension==="md",Kn=H.showQuickActions&&H.quickActionAddTag&&bn&&!!z,kr=H.showQuickActions&&H.quickActionAddToShortcuts,Wo=nt||ct||yt||Kn||kr,co=typeof O=="string",wn=Ki(),Jt=H.showFileIcons,$n=typeof Ke=="number"&&Ke>0,Xn=H.showFileIconUnfinishedTask&&$n,Zn=(0,tn.useMemo)(()=>Qe(H.interfaceIcons,"file-unfinished-task"),[H.interfaceIcons]),Ir=d.modals.interfaceIcons.items["file-unfinished-task"],Jn=(0,tn.useMemo)(()=>!$n||typeof Ke!="number"?null:`${Ir}: ${Ke}`,[$n,Ke,Ir]),er=(0,tn.useMemo)(()=>ee(e),[e,ee,Be]),On=(0,tn.useMemo)(()=>lne(er,g,f),[er,g,f]),Ro=(0,tn.useMemo)(()=>ah(e),[e]),je=Y.getFileIcon(e.path),rt=Y.getFileColor(e.path),Et=e.parent,Xe=Et instanceof zl.TFolder,vn=NR({showParentFolder:H.showParentFolder,isPinned:p,selectionType:m,includeDescendantNotes:k,parentFolder:u,fileParentPath:Et?.path??null})&&Xe&&Et.path!=="/",it=vn&&H.showParentFolderIcon,Yt=vn&&H.showParentFolderColor,fr=vn&&!H.showParentFolderFullPath,Do=!Xn,ba=Do&&H.useFolderIconForFiles&&!je&&Xe,nl=Do&&!rt&&Xe&&(H.useFolderColorForTitles||H.useFolderIconForFiles),Cc=!H.colorIconOnly&&H.useFolderColorForTitles&&!rt&&Xe,Sa=nl||Cc,So=Xe&&(ba||Sa||fr||it||Yt)?Y.getFolderDisplayData(Et.path,{includeDisplayName:fr,includeColor:Sa||Yt,includeBackgroundColor:Yt,includeIcon:ba||it,includeInheritedColors:Sa||Yt}):null,qa=ba?So?.icon:void 0,Iu=Sa&&Xe?xf({model:G,folderPath:Et.path,color:So?.color,backgroundColor:void 0}).color:void 0,Ul=Y.getFileBackgroundColor(e.path),Ya=(0,tn.useMemo)(()=>jL({customBackgroundColor:Ul,taskUnfinished:Ke,showUnfinishedTaskBackground:H.showFileBackgroundUnfinishedTask,unfinishedTaskBackgroundColor:H.unfinishedTaskBackgroundColor,getSolidBackground:V}),[Ul,V,H.showFileBackgroundUnfinishedTask,H.unfinishedTaskBackgroundColor,Ke]),Md=e.extension.toLowerCase(),$p=Md==="base",$a=Md==="canvas",vr=(0,tn.useMemo)(()=>!rl(e,Er.SUPPORTED,E),[E,e]),jo=rt??Iu,Xr=H.showCategoryIcons||H.colorIconOnly&&!!jo,Wr=(0,tn.useMemo)(()=>Xn?Zn:OM(e,{showFilenameMatchIcons:H.showFilenameMatchIcons,fileNameIconMap:H.fileNameIconMap,showCategoryIcons:H.showCategoryIcons,fileTypeIconMap:H.fileTypeIconMap,fileTypeIconPreset:H.fileTypeIconPreset,externalIconProviders:H.externalIconProviders},{customIconId:je??qa,metadataCache:E.metadataCache,isExternalFile:vr,allowCategoryIcons:Xr,fallbackMode:Xr?"file":"none",fileNameNeedles:P,fileNameForMatch:er}),[Xr,E.metadataCache,er,P,je,qa,e,vr,Be,H.fileNameIconMap,H.externalIconProviders,H.fileTypeIconPreset,H.fileTypeIconMap,H.showCategoryIcons,H.showFilenameMatchIcons,Xn,Zn]),Nc=H.colorIconOnly?void 0:rt??(H.useFolderColorForTitles?Iu:void 0),pi=!!Nc,Xp=(0,tn.useMemo)(()=>w7(e,H.fileTypeIconMap,E.metadataCache,void 0,H.fileTypeIconPreset,H.externalIconProviders),[E.metadataCache,e,Be,H.externalIconProviders,H.fileTypeIconMap,H.fileTypeIconPreset]),Qp=Wr||Xp,Ns=(0,tn.useMemo)(()=>!(!Jt||!Wr),[Wr,Jt]),Yg=!!jo&&!Xn,Qi=jo&&!Xn?{color:jo}:void 0,Zp=Xn?"nn-file-icon nn-file-icon-unfinished-task":"nn-file-icon",Jp=Xn?void 0:jo??void 0,xu=oe&&($p||$a),mi=(0,tn.useMemo)(()=>!Z||e.extension!=="md"?null:BG({wordCount:Rt,properties:vt,targetProperty:H.wordCountTargetProperty,showTargetPercentage:H.showWordCountPercentage}),[e.extension,vt,H.showWordCountPercentage,H.wordCountTargetProperty,Z,Rt]),Ic=H.characterCountSpaces==="include"?Ve:Ae,Rd=(0,tn.useMemo)(()=>!ce||e.extension!=="md"?null:EFe(Ic),[e.extension,Ic,ce]),Dd=(0,tn.useMemo)(()=>MFe({wordCountDisplayText:mi,characterCountDisplayText:Rd}),[Rd,mi]),Is=H.textCountPlacement==="title"&&Dd!==null,xs=(0,tn.useMemo)(()=>_?x.getFileDisplayNameRenameInput(e):null,[e,x,_]),Ao=(0,tn.useMemo)(()=>_&&xs?(0,pn.jsxs)("div",{className:"nn-file-name nn-file-name--inline-renaming","data-has-color":pi?"true":"false","data-title-rows":w.titleRows,style:{"--filename-rows":w.titleRows,...pi?{"--nn-file-name-custom-color":Nc}:{}},children:[(0,pn.jsx)(_g,{initialValue:xs.initialValue,ariaLabel:e.extension==="md"?d.contextMenu.file.renameNote:d.contextMenu.file.renameFile,onCommit:Nt=>_.onCommit(e,Nt),onCancel:_.onCancel,onRestoreFocus:_.onRestoreFocus,inputFilter:xs.inputFilter,onInputChange:xs.onInputChange,className:"nn-file-inline-rename"}),Ro.length>0&&(0,pn.jsx)("span",{className:"nn-file-ext-suffix",children:Ro})]}):(0,pn.jsxs)("div",{className:"nn-file-name","data-has-color":pi?"true":"false","data-title-rows":w.titleRows,style:{"--filename-rows":w.titleRows,...pi?{"--nn-file-name-custom-color":Nc}:{}},children:[On,Is?(0,pn.jsxs)("span",{className:"nn-file-word-count-suffix",children:[" (",Dd,")"]}):null,Ro.length>0&&(0,pn.jsx)("span",{className:"nn-file-ext-suffix",children:Ro})]}),[w.titleRows,Ro,Nc,pi,On,_,e,xs,Is,Dd]),{shouldShowFileTags:Kl,hasVisiblePillRows:$g,pillRows:gi}=tne({file:e,isCompactMode:oe,tags:Ie,properties:vt,wordCount:Rt,characterCount:Ic,wordCountDisplayText:mi,characterCountDisplayText:Rd,settings:H,visiblePropertyKeys:T,visibleNavigationPropertyKeys:I,hiddenTagVisibility:F,onModifySearchWithTag:b,onModifySearchWithProperty:v,fileItemPillDecorationModel:X,fileItemPillOrderModel:L}),em=(0,tn.useMemo)(()=>{if(!w.showDate||!c)return"";let Nt=j(e),xi=qC(c,H.alphabeticalDateMode??"modified")==="created"?Nt.created:Nt.modified;if(p){let Ad=zr.getDateGroup(xi,y??void 0);return zr.formatDateForGroup(xi,Ad,H.dateFormat,H.timeFormat)}return l&&l!==d.listPane.pinnedSection?zr.formatDateForGroup(xi,l,H.dateFormat,H.timeFormat):zr.formatDate(xi,H.dateFormat)},[e,e.stat.mtime,e.stat.ctime,c,l,p,w.showDate,H.dateFormat,H.timeFormat,H.alphabeticalDateMode,j,Be,y]),Zi=f?.excerpt?f.excerpt:ve,nm=(w.showPreview&&e.extension==="md"?J(e.path):!1)||Zi.length>0,rm=(0,tn.useMemo)(()=>f?lne(Zi,g,f):Zi,[Zi,f,g]),Es=p?1:w.previewRows,Se=IR({showImage:w.showImage,file:e,featureImageStatus:xe,hasFeatureImageUrl:!!Ct,showDrawingFeatureImage:wt.showsFeatureImageBox}),Ne=wt.isMissing,He=xR({showFeatureImageArea:Se,file:e,hasFeatureImageUrl:!!Ct,showDrawingMissingFeatureImage:Ne}),ht=!Ne,sn=ht&&Kl,yr=ht&&$g,Qr=ht?gi:null,{shouldShowMultilinePreview:hi,shouldShowDateForItem:fi}=nV({isCompactMode:oe,showDate:w.showDate,showPreview:w.showPreview,isPinned:p,hasPreviewContent:nm,showFeatureImageArea:Se,showExtensionBadgeThumbnail:He,hasVisiblePillRows:yr}),Fr=null;if(vn&&Xe){let Nt=it?So?.icon:void 0,ts="lucide-folder-closed",xi=Yt?xf({model:G,folderPath:Et.path,color:So?.color,backgroundColor:So?.backgroundColor}):{color:void 0,backgroundColor:void 0},Ad=xi.color,im=!!Ad;Fr={name:H.showParentFolderFullPath?eY({metadataService:Y,folderPath:Et.path}):So?.displayName||Et.name,iconId:Nt??ts,color:im?Ad:void 0,backgroundColor:xi.backgroundColor,applyColorToName:im&&!H.colorIconOnly,showIcon:it}}let aa=()=>Fr?(0,pn.jsx)(AFe,{iconId:Fr.iconId,label:Fr.name,iconVersion:wn,color:Fr.color,backgroundColor:Fr.backgroundColor,showIcon:Fr.showIcon,applyColorToName:Fr.applyColorToName,onReveal:H.parentFolderClickRevealsFile?om:void 0}):null,Wn=fi||Fr!==null;(0,tn.useEffect)(()=>{gn(!1)},[qt,Ct]);let Ji=wt.isDrawing,Go=!Ct||H.forceSquareFeatureImage,Ii=(0,tn.useMemo)(()=>{let Nt=["nn-file-thumbnail"];return Go?Nt.push("nn-file-thumbnail--square"):Nt.push("nn-file-thumbnail--natural"),Ct&&Nt.push("nn-file-thumbnail--inset-highlight"),Ji&&Nt.push("nn-file-thumbnail--drawing"),(He||Ne)&&Nt.push("nn-file-thumbnail--extension-badge"),Kt&&Nt.push("nn-file-thumbnail--hidden"),Nt.join(" ")},[Ct,Ji,Kt,Ne,He,Go]),es=(0,tn.useMemo)(()=>Go?void 0:{"--nn-file-thumbnail-aspect-ratio":lt??1},[lt,Go]),Ye=(0,tn.useCallback)(()=>{if(Go)return;let Nt=we.current;if(!Nt)return;let ts=Nt.naturalWidth||Nt.width||0,xi=Nt.naturalHeight||Nt.height||0;if(ts<=0||xi<=0){Zt(null);return}let Ad=ts/xi,im=Math.min(Ad,ine);Zt(im)},[Go]),xt=(0,tn.useMemo)(()=>({dateFormat:H.dateFormat,timeFormat:H.timeFormat,showTooltipPath:H.showTooltipPath,showTooltipWordCount:H.showTooltipWordCount}),[H.dateFormat,H.showTooltipPath,H.showTooltipWordCount,H.timeFormat]),Vn=H.showTooltips,Qn=(0,tn.useMemo)(()=>{let Nt=["nn-file"];return n&&Nt.push("nn-selected"),oe&&Nt.push("nn-compact"),n&&r&&Nt.push("nn-has-selected-above"),n&&o&&Nt.push("nn-has-selected-below"),Ya&&Nt.push("nn-has-custom-background"),h&&Nt.push("nn-hidden-file"),A&&Nt.push("nn-file-manual-sort-disabled"),Nt.join(" ")},[n,oe,r,o,Ya,h,A]),Or=(0,tn.useMemo)(()=>{if(Ya)return{"--nn-file-custom-bg-color":Ya}},[Ya]),za=(0,tn.useMemo)(()=>{if(h)return d.listPane.hiddenItemAriaLabel.replace("{name}",er)},[h,er]);(0,tn.useEffect)(()=>{if(Go){Zt(null);return}Zt(null);let Nt=we.current;if(Nt&&Nt.complete){let ts=Nt.naturalWidth||Nt.width||0,xi=Nt.naturalHeight||Nt.height||0;if(ts>0&&xi>0){let Ad=ts/xi,im=Math.min(Ad,ine);Zt(im)}}},[Ct,Go]),(0,tn.useEffect)(()=>{if(!fn.current||R)return;if(!Vn){(0,zl.setTooltip)(fn.current,"");return}let Nt=uP({file:e,displayName:er,extensionSuffix:Ro,settings:xt,getFileTimestamps:j,sortOption:c,unfinishedTaskTooltipText:Jn,wordCount:Rt});(0,zl.setTooltip)(fn.current,Nt,{placement:Sm()})},[R,e,e.stat.ctime,e.stat.mtime,Vn,xt,er,Ro,j,c,Be,e.name,Jn,Rt]);let om=()=>{Q(async()=>{await M.activateView(),await M.revealFileInActualFolder(e,{showHiddenFileNotice:!0})})},Xg=ik(m??null),Qg=Y.isFilePinned(e.path,Xg),xc=Nt=>{Nt.stopPropagation(),Nt.preventDefault(),Q(()=>no({app:E,commandQueue:C,file:e,context:"tab"}))},rw=Nt=>{Nt.stopPropagation(),Nt.preventDefault(),Q(async()=>{e.parent&&await Y.togglePin(e.path,Xg)})},Ec=Nt=>{Nt.stopPropagation(),Nt.preventDefault(),Q(async()=>K(e,O))},ow=Nt=>{Nt.stopPropagation(),Nt.preventDefault(),om()},Eu=Nt=>{Nt.stopPropagation(),Nt.preventDefault(),z&&$b({app:E,plugin:M,tagOperations:z,files:[e]})},aw=Nt=>{Nt.button===1&&(Nt.preventDefault(),Nt.stopPropagation(),Q(()=>no({app:E,commandQueue:C,file:e,context:"tab"})))},am=[];a&&yt&&am.push({key:"reveal",element:(0,pn.jsx)("div",{ref:an,className:"nn-quick-action-item",onClick:ow,title:d.contextMenu.file.revealInFolder})}),a&&Kn&&am.push({key:"add-tag",element:(0,pn.jsx)("div",{ref:Pe,className:"nn-quick-action-item",onClick:Eu,title:d.contextMenu.file.addTag})}),a&&kr&&am.push({key:"shortcut",element:(0,pn.jsx)("div",{ref:ge,className:"nn-quick-action-item",onClick:Ec,title:co?d.shortcuts.remove:d.shortcuts.add})}),a&&ct&&am.push({key:"pin",element:(0,pn.jsx)("div",{ref:be,className:"nn-quick-action-item",onClick:rw,title:Qg?e.extension==="md"?d.contextMenu.file.unpinNote:d.contextMenu.file.unpinFile:e.extension==="md"?d.contextMenu.file.pinNote:d.contextMenu.file.pinFile})}),a&&nt&&am.push({key:"new-tab",element:(0,pn.jsx)("div",{ref:me,className:"nn-quick-action-item",onClick:xc,title:d.contextMenu.file.openInNewTab})}),(0,tn.useEffect)(()=>{let Nt=fe.current;if(!Nt||(Nt.innerHTML="",!Ns))return;let ts=Wr;if(!ts)return;yn().renderIcon(Nt,ts,S)},[Wr,wn,Ns,oe,S]),(0,tn.useEffect)(()=>{R||!a||(an.current&&yt&&(0,zl.setIcon)(an.current,"lucide-folder-search"),Pe.current&&Kn&&(0,zl.setIcon)(Pe.current,"lucide-tag"),ge.current&&kr&&(0,zl.setIcon)(ge.current,co?"lucide-star-off":"lucide-star"),be.current&&ct&&(0,zl.setIcon)(be.current,Qg?"lucide-pin-off":"lucide-pin"),me.current&&nt&&(0,zl.setIcon)(me.current,"lucide-file-plus"))},[R,nt,ct,yt,Kn,kr,a,co,Qg]);let rA=(0,tn.useCallback)(Nt=>{i(e,s,Nt)},[e,s,i]);return(0,pn.jsxs)("div",{ref:fn,className:Qn,"data-path":e.path,"data-drag-path":e.path,"data-drag-type":"file","data-draggable":!R&&!D?"true":void 0,"data-drag-icon":Qp,"data-drag-fallback-icon":Xp,"data-drag-icon-color":Jp,onClick:rA,onMouseDown:aw,draggable:!R&&!D,role:"listitem","aria-describedby":za?Re:void 0,style:Or,children:[(0,pn.jsxs)("div",{className:"nn-file-content",children:[!R&&Wo&&a&&(0,pn.jsx)("div",{className:`nn-quick-actions-panel ${oe?"nn-compact-mode":""}`,"data-title-rows":w.titleRows,"data-has-tags":sn?"true":"false",children:am.map((Nt,ts)=>(0,pn.jsxs)(tn.default.Fragment,{children:[ts>0&&(0,pn.jsx)("div",{className:"nn-quick-action-separator"}),Nt.element]},Nt.key))}),(0,pn.jsxs)("div",{className:"nn-file-inner-content",children:[Jt?(0,pn.jsx)("div",{className:"nn-file-icon-slot",children:Ns?(0,pn.jsx)("span",{ref:fe,className:Zp,"data-has-color":Yg?"true":"false",style:Qi,title:!R&&!H.showTooltips&&Xn?Jn??void 0:void 0}):null}):null,oe?(0,pn.jsxs)("div",{className:"nn-compact-file-text-content",children:[(0,pn.jsxs)("div",{className:"nn-compact-file-header",children:[Ao,xu?(0,pn.jsx)("div",{className:"nn-compact-extension-badge","aria-hidden":"true",children:(0,pn.jsx)("div",{className:"nn-file-icon-rectangle",children:(0,pn.jsx)("span",{className:"nn-file-icon-rectangle-text",children:Md})})}):null]}),Qr]}):(0,pn.jsxs)(pn.Fragment,{children:[(0,pn.jsxs)("div",{className:"nn-file-text-content",children:[Ao,hi&&(0,pn.jsx)("div",{className:"nn-file-preview",style:{"--preview-rows":Es},children:rm}),Qr,Wn&&(0,pn.jsxs)("div",{className:"nn-file-second-line",children:[fi&&(0,pn.jsx)("div",{className:"nn-file-date",children:em}),aa()]})]}),Se&&(0,pn.jsx)("div",{className:Ii,style:es,children:Ct?(0,pn.jsx)("img",{src:Ct,alt:d.common.featureImageAlt,className:"nn-file-thumbnail-img",ref:we,draggable:!1,onDragStart:Nt=>Nt.preventDefault(),onLoad:Ye,onError:()=>{gn(!0)}},qt??Ct):Ne?(0,pn.jsx)("div",{className:"nn-file-extension-badge nn-file-extension-badge--drawing","aria-hidden":"true",children:(0,pn.jsx)(Qt,{iconId:wt.iconId??"brush",className:"nn-file-extension-icon","aria-hidden":!0})}):He?(0,pn.jsx)("div",{className:"nn-file-extension-badge",children:(0,pn.jsx)("span",{className:"nn-file-extension-text",children:e.extension})}):null})]})]})]}),za?(0,pn.jsx)("span",{id:Re,className:"nn-visually-hidden",children:za}):null]})})});function dne(t){return Math.max(0,Math.trunc(t))}function OFe(t,e,n){let r=id(dne(e)),o=DT(t,n);return o!==null?`${r} / ${id(o)}`:r}function LFe(t,e){if(e<=0)return null;let n=Math.round(dne(t)/e*100);return Number.isFinite(n)?n:0}function cne(t,e,n){let r=DT(t,n),o=r!==null?LFe(e,r):null,a=o===null?null:Math.min(100,Math.max(0,o));return{progressPercent:o,progressWidth:a}}function une(t,e){let n={};return t.color&&(n["--nn-manual-sort-group-header-accent"]=t.color),e.progressWidth!==null&&(n["--nn-manual-sort-group-header-progress"]=`${e.progressWidth}%`),n}function gP({header:t,wordCount:e,targetWordCount:n}){let r=lp(t),o=OFe(t,e,n),a=cne(t,e,n),i=une(t,a),s=["nn-manual-sort-group-header-content"];return t.color&&a.progressPercent===null&&s.push("nn-manual-sort-group-header-content--accent-all"),(t.color||a.progressPercent!==null)&&s.push("nn-manual-sort-group-header-content--accent-icon"),(0,Fu.jsxs)("div",{className:s.join(" "),style:i,children:[t.iconId?(0,Fu.jsx)(Qt,{iconId:t.iconId,className:"nn-manual-sort-group-header-custom-icon","aria-hidden":!0}):null,(0,Fu.jsx)("span",{className:"nn-manual-sort-group-header-title",children:t.title}),r?(0,Fu.jsxs)("span",{className:"nn-manual-sort-group-header-count",children:["(",o,")"]}):null,a.progressPercent!==null?(0,Fu.jsxs)("span",{className:"nn-manual-sort-group-header-percent",children:[a.progressPercent,"%"]}):null]})}function aD({header:t,wordCount:e,targetWordCount:n}){let r=cne(t,e,n);if(r.progressWidth===null)return null;let o=une(t,r);return(0,Fu.jsx)("div",{className:"nn-manual-sort-group-header-progress-row",style:o,"aria-hidden":!0,children:(0,Fu.jsx)("div",{className:"nn-manual-sort-group-header-progress",children:(0,Fu.jsx)("div",{className:"nn-manual-sort-group-header-progress-fill"})})})}var Fu,RV=U(()=>{wi();Am();Al();Fu=ue(Ge())});function iD(t,e){if(!(e<0||e>=t.length))return t[e]}function zFe(t){let e=new Array(t.length).fill(null),n=null;return t.forEach((r,o)=>{if(r.type===en.HEADER&&r.headerKind==="date"&&typeof r.data=="string"){n=r.data;return}r.type===en.FILE&&(e[o]=n)}),e}function BFe(t,e){for(let n=e+1;n<t.length;n+=1){let r=iD(t,n);if(r?.type!==en.HEADER_SPACER)return r?.type===en.FILE&&r.data instanceof Zs.TFile?r.data:null}return null}function _Fe(t,e,n){if(e.folderGroupHeaderPath){if(e.folderGroupHeaderPath==="/")return t.vault.getRoot();let o=t.vault.getFolderByPath(e.folderGroupHeaderPath);if(o instanceof Zs.TFolder)return o}let r=n[0];return r?.parent instanceof Zs.TFolder?r.parent:t.vault.getRoot()}function HFe(t,e){if(e===null||t.length===0)return null;let n=0,r=t.length-1,o=null;for(;n<=r;){let a=Math.floor((n+r)/2),i=t[a];if(i.index<=e){o=i,n=a+1;continue}r=a-1}return o}function VFe(t){return t?.isCollapsed===!0}function UFe(t){return t?.manualSortHeader?Bh(t.manualSortHeader,t.manualSortHeaderTargetWordCount):!1}function pne({header:t,collapseChevronIcons:e,pinnedSectionIcon:n,onPinnedGroupHeaderToggle:r,onListGroupHeaderToggle:o,onFolderGroupHeaderClick:a,onFolderGroupHeaderMouseDown:i,onGroupHeaderContextMenu:s}){let l=t.folderGroupHeaderTarget,c=t.manualSortHeader,u=t.folderGroupHeaderSegments.length>0,p=!!l&&!t.isPinnedHeader&&!u,m=c!==null&&Bh(c,t.manualSortHeaderTargetWordCount),g=t.folderColor??void 0,f=g?{color:g}:void 0,h=t.applyFolderColorToLabel&&g?{color:g}:void 0,b=(0,di.useCallback)(P=>{if(P.stopPropagation(),t.isPinnedHeader){r();return}t.collapseKey&&o(t.collapseKey)},[t.collapseKey,t.isPinnedHeader,o,r]),v=["nn-list-group-header"];t.isPinnedHeader&&v.push("nn-pinned-section-header"),c&&v.push("nn-list-group-header--manual-sort");let y=P=>s(P,t),S=`nn-list-group-header-text ${p?"nn-list-group-header-text--folder-note":""} ${t.applyFolderColorToLabel?"nn-list-group-header-text--custom-color":""}`,w=`${S} nn-list-group-header-path`,k=()=>u?(0,ur.jsx)("span",{className:w,style:h,children:t.folderGroupHeaderSegments.map((P,T)=>{let I=P.target,N=`nn-list-group-header-folder-segment ${I?"nn-list-group-header-text--folder-note":""}`;return(0,ur.jsxs)(di.default.Fragment,{children:[T>0?(0,ur.jsx)("span",{className:"nn-list-group-header-path-separator","aria-hidden":"true",children:"/"}):null,(0,ur.jsx)("span",{className:N,onClick:I?O=>a(O,I):void 0,onMouseDown:I?O=>i(O,I):void 0,children:P.label})]},P.path)})}):(0,ur.jsx)("span",{className:S,style:h,onClick:l?P=>a(P,l):void 0,onMouseDown:l?P=>i(P,l):void 0,children:t.label}),F=(0,ur.jsxs)("div",{className:v.join(" "),onContextMenu:m?void 0:y,children:[c?(0,ur.jsx)(gP,{header:c,wordCount:t.manualSortHeaderWordCount,targetWordCount:t.manualSortHeaderTargetWordCount}):(0,ur.jsxs)(ur.Fragment,{children:[t.isPinnedHeader&&n?(0,ur.jsx)(Qt,{iconId:n,className:"nn-list-group-header-icon nn-pinned-section-icon","aria-hidden":!0}):null,!t.isPinnedHeader&&t.folderIconId?(0,ur.jsx)(Qt,{iconId:t.folderIconId,className:"nn-list-group-header-icon nn-list-group-header-folder-icon","aria-hidden":!0,"data-has-color":g?"true":"false",style:f}):null,k()]}),t.isCollapsible?(0,ur.jsx)("button",{type:"button",className:"nn-list-group-header-collapse-button","aria-label":t.isCollapsed?d.listPane.expandGroup:d.listPane.collapseGroup,"aria-expanded":!t.isCollapsed,onClick:b,children:(0,ur.jsx)(Qt,{iconId:t.isCollapsed?e.collapsed:e.expanded,className:"nn-list-group-header-icon","aria-hidden":!0})}):null]});return m?(0,ur.jsxs)("div",{className:"nn-manual-sort-group-header-shell",onContextMenu:y,children:[F,(0,ur.jsx)(aD,{header:c,wordCount:t.manualSortHeaderWordCount,targetWordCount:t.manualSortHeaderTargetWordCount})]}):F}function mne(t){if(!(t instanceof Element))return null;let e=t.closest(".nn-file");return e instanceof HTMLElement?e.dataset.path??null:null}function gne(t,e){if(!t||!e)return null;let n=t.ownerDocument;if(!n)return null;let r=n.elementFromPoint(e.clientX,e.clientY);return!(r instanceof Element)||!t.contains(r)?null:mne(r)}function hP(t){return t?.type===en.FILE&&t.data instanceof Zs.TFile}function hne({listItems:t,rowVirtualizer:e,scrollContainerRefCallback:n,activeFolderDropPath:r,isCompactMode:o,isEmptySelection:a,hasNoFiles:i,topSpacerHeight:s,settings:l,pinnedGroupExpanded:c,onPinnedGroupHeaderToggle:u,onListGroupHeaderToggle:p,selectionType:m,selectedFolderPath:g,sortOption:f,searchHighlightQuery:h,isFolderNavigation:b,lastSelectedFilePath:v,isFileSelected:y,hoveredFilePath:S,suppressRowHover:w,onHoveredFilePathChange:k,onFileClick:F,onModifySearchWithTag:P,onModifySearchWithProperty:T,localDayReference:I,fileIconSize:N,appearanceSettings:O,includeDescendantNotes:K,hiddenTagVisibility:G,fileNameIconNeedles:X,visibleListPropertyKeys:L,visibleNavigationPropertyKeys:V,fileItemStorage:D,noteShortcutKeysByPath:A,onToggleNoteShortcut:_,inlineRenameFilePath:E,onFileRenameCommit:R,onFileRenameCancel:M,onFileRenameRestoreFocus:C,onNavigateToFolder:x,folderDecorationModel:z,fileItemPillDecorationModel:H,fileItemPillOrderModel:Y,getSolidBackground:ee}){let{app:$,commandQueue:j,isMobile:J,plugin:re}=gt(),oe=li(),Z=Ho(),ce=(0,di.useMemo)(()=>({collapsed:Qe(l.interfaceIcons,"nav-tree-expand"),expanded:Qe(l.interfaceIcons,"nav-tree-collapse")}),[l.interfaceIcons]),ae=(0,di.useMemo)(()=>Qe(l.interfaceIcons,"list-pinned"),[l.interfaceIcons]),se=(0,di.useMemo)(()=>sd({manualSortGroupHeaderProperty:l.manualSortGroupHeaderProperty,manualSortPropertyKey:l.manualSortPropertyKey}),[l.manualSortGroupHeaderProperty,l.manualSortPropertyKey]),ne=(0,di.useMemo)(()=>{let Ve=new Map,Ae=Ke=>{if(!Ke||Ve.has(Ke))return;let Be=$.vault.getFolderByPath(Ke);if(!Be)return;let wt=l.enableFolderNotes&&l.enableFolderNoteLinks?Pn(Be,{enableFolderNotes:l.enableFolderNotes,folderNoteName:l.folderNoteName,folderNoteNamePattern:l.folderNoteNamePattern}):null;Ve.set(Ke,{folder:Be,folderNote:wt})};return t.forEach(Ke=>{Ke.type===en.HEADER&&(Ae(Ke.headerFolderPath),Ke.headerFolderSegments?.forEach(Be=>{Ae(Be.path)}))}),Ve},[$.vault,t,l.enableFolderNoteLinks,l.enableFolderNotes,l.folderNoteName,l.folderNoteNamePattern]),{headerModels:B,headerModelByIndex:q}=(0,di.useMemo)(()=>{let Ve=[],Ae=new Map,Ke=!1;return t.forEach((Be,wt)=>{if(Be.type===en.FILE){Ke=!0;return}if(Be.type!==en.HEADER||typeof Be.data!="string")return;let Ct=Be.headerFolderPath??null,qt=Be.key===gw,lt=Be.collapseKey??null,Zt=qt?!c:Be.isCollapsed===!0,Kt=Be.headerKind==="manual-sort-custom"?Be.manualSortHeader??null:null,gn=Kt?.title??Be.data,fn=Be.headerKind==="folder"?Ct??"/":null,an=Be.headerKind==="folder"&&l.showFolderGroupPaths?(Be.headerFolderSegments??[]).map(we=>({label:we.label,path:we.path,target:ne.get(we.path)??null})):[],Pe=null,ge=null,be=l.showFolderIcons,me=l.showFolderIcons||!l.colorIconOnly;if(fn!==null&&(be||me)){let we=Z.getFolderDisplayData(fn,{includeDisplayName:!1,includeColor:me,includeBackgroundColor:!1,includeIcon:be,includeInheritedColors:me});Pe=be?we.icon??Qe(l.interfaceIcons,fn==="/"?"nav-folder-root":Zt?"nav-folder-closed":"nav-folder-open"):null,me&&(ge=xf({model:z,folderPath:fn,color:we.color,backgroundColor:void 0}).color??null)}let fe={index:wt,label:Be.data,baseLabel:gn,isFirstHeader:Ve.length===0&&!Ke,isPinnedHeader:qt,collapseKey:lt,isCollapsed:Zt,isCollapsible:qt||lt!==null,folderGroupHeaderTarget:Ct!==null?ne.get(Ct)??null:null,folderGroupHeaderPath:Be.headerKind==="folder"?Ct??"/":null,folderGroupHeaderSegments:an,groupFilePaths:Be.groupFilePaths??[],manualSortHeaderFilePath:Be.headerKind==="manual-sort-custom"?Be.manualSortHeaderFilePath??null:null,manualSortHeader:Kt,manualSortHeaderWordCount:Be.manualSortHeaderWordCount??0,manualSortHeaderTargetWordCount:Be.manualSortHeaderTargetWordCount??null,folderIconId:Pe,folderColor:ge,applyFolderColorToLabel:ge!==null&&!l.colorIconOnly};Ve.push(fe),Ae.set(wt,fe)}),{headerModels:Ve,headerModelByIndex:Ae}},[z,ne,t,Z,c,l.colorIconOnly,l.showFolderGroupPaths,l.interfaceIcons,l.showFolderIcons]),ie=(0,di.useMemo)(()=>zFe(t),[t]),le=(0,di.useCallback)((Ve,Ae)=>{Ve.stopPropagation();let Ke=Ae.folderNote,Be={source:"manual",suppressAutoSelect:!!Ke};if(x(Ae.folder.path,Be),!Ke)return;let wt=Hc(Ve,l.folderNoteOpenLocation,l.multiSelectModifier,J);wt==="right-sidebar"&&l.showNearestFolderNoteInSidebar&&!(m===W.FOLDER&&g===Ae.folder.path)||Q(()=>ri({app:$,commandQueue:j,folder:Ae.folder,folderNote:Ke,context:wt,openInRightSidebar:Ct=>re.openFolderNoteInRightSidebar(Ct)}))},[$,j,J,x,re,g,m,l.folderNoteOpenLocation,l.multiSelectModifier,l.showNearestFolderNoteInSidebar]),Te=(0,di.useCallback)((Ve,Ae)=>{let Ke=Ae.folderNote;Ve.button!==1||!Ke||(Ve.preventDefault(),Ve.stopPropagation(),x(Ae.folder.path,{source:"manual",suppressAutoSelect:!0}),Q(()=>ri({app:$,commandQueue:j,folder:Ae.folder,folderNote:Ke,context:"tab"})))},[$,j,x]),ke=(0,di.useCallback)((Ve,Ae)=>{let Ke=Ae.groupFilePaths.map(qt=>$.vault.getFileByPath(qt)).filter(qt=>qt instanceof Zs.TFile),Be=zp(Ke),wt=new Zs.Menu,Ct=!1;if(Be.length>=2&&(Ct=VR({menu:wt,app:$,commandQueue:j,fileSystemOps:oe,files:Be,outputFolder:_Fe($,Ae,Be),defaultOutputName:Ae.baseLabel||d.modals.mergeNotes.outputNamePlaceholder,title:d.contextMenu.file.mergeNotesInGroup})),se&&Ae.manualSortHeaderFilePath){let qt=$.vault.getFileByPath(Ae.manualSortHeaderFilePath);if(qt instanceof Zs.TFile&&qt.extension==="md"){Ct&&wt.addSeparator();let lt=hS({menu:wt,app:$,file:qt,propertyKey:se,metadataService:Z});Ct=Ct||lt}}Ct&&(Ve.preventDefault(),Ve.stopPropagation(),wt.showAtMouseEvent(Ve.nativeEvent))},[$,j,oe,se,Z]),Fe=(0,di.useCallback)(Ve=>{k(mne(Ve.target),{clientX:Ve.clientX,clientY:Ve.clientY})},[k]),te=(0,di.useCallback)(()=>{k(null,null)},[k]),pe=(0,di.useCallback)(Ve=>{if(Ve?.type!==en.FILE||!(Ve.data instanceof Zs.TFile))return!1;let Ae=Ve.data,Ke=l.showFileBackgroundUnfinishedTask?D.getDB().getFile(Ae.path)?.taskUnfinished:void 0;return _I({customBackgroundColor:Z.getFileBackgroundColor(Ae.path),taskUnfinished:Ke,showUnfinishedTaskBackground:l.showFileBackgroundUnfinishedTask,unfinishedTaskBackgroundColor:l.unfinishedTaskBackgroundColor,getSolidBackground:ee})},[D,ee,Z,l.showFileBackgroundUnfinishedTask,l.unfinishedTaskBackgroundColor]),ve=(0,di.useCallback)(Ve=>y(Ve)||b&&v===Ve.path,[y,b,v]),Ie=e.getVirtualItems(),qe=e.scrollOffset??0,xe=l.stickyGroupHeaders,Ce=xe&&(s===0||qe>=s)?Math.max(0,qe+.5):null,vt=Ce!==null&&t.length>0?e.getVirtualItemForOffset(Ce):void 0,Rt=xe?HFe(B,vt?.index??null):null;return(0,ur.jsxs)("div",{ref:n,className:`nn-list-pane-scroller ${!a&&!i&&o?"nn-compact-mode":""}`,"data-drop-zone":r?"folder":void 0,"data-drop-path":r??void 0,"data-allow-internal-drop":r?"false":void 0,"data-allow-external-drop":r?"true":void 0,"data-pane":"files",role:"list",tabIndex:-1,onMouseMove:Fe,onMouseLeave:te,children:[Rt?(0,ur.jsx)("div",{className:"nn-list-sticky-header",children:(0,ur.jsx)(pne,{header:Rt,collapseChevronIcons:ce,pinnedSectionIcon:ae,onPinnedGroupHeaderToggle:u,onListGroupHeaderToggle:p,onFolderGroupHeaderClick:le,onFolderGroupHeaderMouseDown:Te,onGroupHeaderContextMenu:ke})}):null,(0,ur.jsx)("div",{className:"nn-list-pane-content",children:a?(0,ur.jsx)("div",{className:"nn-empty-state",children:(0,ur.jsx)("div",{className:"nn-empty-message",children:d.listPane.emptyStateNoSelection})}):i?(0,ur.jsx)("div",{className:"nn-empty-state",children:(0,ur.jsx)("div",{className:"nn-empty-message",children:d.listPane.emptyStateNoNotes})}):t.length>0?(0,ur.jsx)("div",{className:"nn-virtual-container",style:{height:`${e.getTotalSize()}px`},children:Ie.map(Ve=>{let Ae=iD(t,Ve.index);if(!Ae)return null;let Ke=iD(t,Ve.index+1),Be=iD(t,Ve.index-1),wt=hP(Ae),Ct=wt&&ve(Ae.data),qt=hP(Be)&&ve(Be.data),lt=hP(Ke)&&ve(Ke.data),Zt=pe(Ae),Kt=wt&&pe(Be),gn=wt&&pe(Ke),fn=Zt&&Kt,an=wt&&gn,Pe=wt&&(Ct||Zt),ge=Pe&&hP(Be)&&(qt||Kt),be=Pe&&hP(Ke)&&(lt||gn),me=wt&&(Ve.index===t.length-1||Ke&&(Ke.type===en.HEADER||Ke.type===en.HEADER_SPACER||Ke.type===en.TOP_SPACER||Ke.type===en.BOTTOM_SPACER)),fe=wt&&qt,we=wt&&lt,Re=Ae.type===en.FILE?ie[Ve.index]??null:null,nt=Ae.type===en.FILE&&Ae.data instanceof Zs.TFile?A.get(Ae.data.path):void 0,ct=Ae.type===en.FILE&&Ae.data instanceof Zs.TFile&&Ae.data.path===E,yt=q.get(Ve.index)??null,bn=yt?BFe(t,Ve.index):null,Kn=VFe(yt)||UFe(yt),kr=Ae.type===en.FILE&&(Ct&&!we||!Ct&&lt),Wo=bn!==null&&ve(bn),co=kr||Wo,wn={top:Math.max(0,Ve.start),"--item-height":`${Ve.size}px`},Jt=["nn-virtual-item"];return Ae.type===en.FILE&&Jt.push("nn-virtual-file-item"),yt&&Jt.push("nn-virtual-list-group-header"),Kn&&Jt.push("nn-hide-list-group-header-separator"),me&&Jt.push("nn-last-file"),co&&Jt.push("nn-hide-separator-selection"),Pe&&Jt.push("nn-virtual-file-item-has-filled-background"),ge&&Jt.push("nn-virtual-file-item-has-filled-background-previous"),be&&Jt.push("nn-virtual-file-item-has-filled-background-next"),Zt&&Jt.push("nn-virtual-file-item-has-custom-background"),fn&&Jt.push("nn-virtual-file-item-has-custom-background-previous"),an&&Jt.push("nn-virtual-file-item-has-custom-background-next"),(0,ur.jsx)("div",{className:Jt.join(" "),style:wn,"data-index":Ve.index,children:yt?(0,ur.jsx)(pne,{header:yt,collapseChevronIcons:ce,pinnedSectionIcon:ae,onPinnedGroupHeaderToggle:u,onListGroupHeaderToggle:p,onFolderGroupHeaderClick:le,onFolderGroupHeaderMouseDown:Te,onGroupHeaderContextMenu:ke}):Ae.type===en.HEADER_SPACER?(0,ur.jsx)("div",{className:"nn-list-group-header-spacer"}):Ae.type===en.TOP_SPACER?(0,ur.jsx)("div",{className:"nn-list-top-spacer",style:{height:`${s}px`}}):Ae.type===en.BOTTOM_SPACER?(0,ur.jsx)("div",{className:"nn-list-bottom-spacer"}):Ae.type===en.FILE&&Ae.data instanceof Zs.TFile?(0,ur.jsx)(oD,{file:Ae.data,isSelected:Ct,hasSelectedAbove:fe,hasSelectedBelow:we,showQuickActionsPanel:!ct&&!w&&S===Ae.data.path,onFileClick:F,fileIndex:Ae.fileIndex,selectionType:m,groupHeaderLabel:Re,sortOption:f,parentFolder:Ae.parentFolder,isPinned:Ae.isPinned,searchQuery:h,searchMeta:Ae.searchMeta,isHidden:!!Ae.isHidden,onModifySearchWithTag:P,onModifySearchWithProperty:T,localDayReference:I,fileIconSize:N,appearanceSettings:O,includeDescendantNotes:K,hiddenTagVisibility:G,fileNameIconNeedles:X,visiblePropertyKeys:L,visibleNavigationPropertyKeys:V,fileItemStorage:D,shortcutKey:nt,onToggleNoteShortcut:_,folderDecorationModel:z,fileItemPillDecorationModel:H,fileItemPillOrderModel:Y,getSolidBackground:ee,inlineRename:ct?{onCommit:R,onCancel:M,onRestoreFocus:C}:void 0},Ae.key):null},Ve.key)})}):null})]})}var di,Zs,ur,fne=U(()=>{di=ue(ze()),Zs=require("obsidian");mn();Ee();Ue();ot();Jc();td();MV();Al();pr();pp();wi();JR();HR();mV();Xb();RV();ur=ue(Ge())});function yne(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return(0,ga.useMemo)(()=>r=>{e.forEach(o=>o(r))},e)}function Mf(t){let e=Object.prototype.toString.call(t);return e==="[object Window]"||e==="[object global]"}function sD(t){return"nodeType"in t}function ks(t){var e,n;return t?Mf(t)?t:sD(t)&&(e=(n=t.ownerDocument)==null?void 0:n.defaultView)!=null?e:window:window}function lD(t){let{Document:e}=ks(t);return t instanceof e}function CS(t){return Mf(t)?!1:t instanceof ks(t).HTMLElement}function AV(t){return t instanceof ks(t).SVGElement}function Rf(t){return t?Mf(t)?t.document:sD(t)?lD(t)?t:CS(t)||AV(t)?t.ownerDocument:document:document:document}function dD(t){let e=(0,ga.useRef)(t);return Id(()=>{e.current=t}),(0,ga.useCallback)(function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return e.current==null?void 0:e.current(...r)},[])}function bne(){let t=(0,ga.useRef)(null),e=(0,ga.useCallback)((r,o)=>{t.current=setInterval(r,o)},[]),n=(0,ga.useCallback)(()=>{t.current!==null&&(clearInterval(t.current),t.current=null)},[]);return[e,n]}function NS(t,e){e===void 0&&(e=[t]);let n=(0,ga.useRef)(t);return Id(()=>{n.current!==t&&(n.current=t)},e),n}function IS(t,e){let n=(0,ga.useRef)();return(0,ga.useMemo)(()=>{let r=t(n.current);return n.current=r,r},[...e])}function vP(t){let e=dD(t),n=(0,ga.useRef)(null),r=(0,ga.useCallback)(o=>{o!==n.current&&e?.(o,n.current),n.current=o},[]);return[n,r]}function cD(t){let e=(0,ga.useRef)();return(0,ga.useEffect)(()=>{e.current=t},[t]),e.current}function Df(t,e){return(0,ga.useMemo)(()=>{if(e)return e;let n=DV[t]==null?0:DV[t]+1;return DV[t]=n,t+"-"+n},[t,e])}function Sne(t){return function(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return r.reduce((a,i)=>{let s=Object.entries(i);for(let[l,c]of s){let u=a[l];u!=null&&(a[l]=u+t*c)}return a},{...e})}}function KFe(t){return"clientX"in t&&"clientY"in t}function yP(t){if(!t)return!1;let{KeyboardEvent:e}=ks(t.target);return e&&t instanceof e}function WFe(t){if(!t)return!1;let{TouchEvent:e}=ks(t.target);return e&&t instanceof e}function uD(t){if(WFe(t)){if(t.touches&&t.touches.length){let{clientX:e,clientY:n}=t.touches[0];return{x:e,y:n}}else if(t.changedTouches&&t.changedTouches.length){let{clientX:e,clientY:n}=t.changedTouches[0];return{x:e,y:n}}}return KFe(t)?{x:t.clientX,y:t.clientY}:null}function wne(t){return t.matches(vne)?t:t.querySelector(vne)}var ga,fP,Id,DV,Af,xS,Nd,vne,ES=U(()=>{ga=ue(ze());fP=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";Id=fP?ga.useLayoutEffect:ga.useEffect;DV={};Af=Sne(1),xS=Sne(-1);Nd=Object.freeze({Translate:{toString(t){if(!t)return;let{x:e,y:n}=t;return"translate3d("+(e?Math.round(e):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(t){if(!t)return;let{scaleX:e,scaleY:n}=t;return"scaleX("+e+") scaleY("+n+")"}},Transform:{toString(t){if(t)return[Nd.Translate.toString(t),Nd.Scale.toString(t)].join(" ")}},Transition:{toString(t){let{property:e,duration:n,easing:r}=t;return e+" "+n+"ms "+r}}}),vne="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]"});function Tne(t){let{id:e,value:n}=t;return Of.default.createElement("div",{id:e,style:jFe},n)}function kne(t){let{id:e,announcement:n,ariaLiveType:r="assertive"}=t,o={position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};return Of.default.createElement("div",{id:e,style:o,role:"status","aria-live":r,"aria-atomic":!0},n)}function Fne(){let[t,e]=(0,Of.useState)("");return{announce:(0,Of.useCallback)(r=>{r!=null&&e(r)},[]),announcement:t}}var Of,jFe,Pne=U(()=>{Of=ue(ze()),jFe={display:"none"}});function GFe(t){let e=(0,We.useContext)(zne);(0,We.useEffect)(()=>{if(!e)throw new Error("useDndMonitor must be used within a children of <DndContext>");return e(t)},[t,e])}function qFe(){let[t]=(0,We.useState)(()=>new Set),e=(0,We.useCallback)(r=>(t.add(r),()=>t.delete(r)),[t]);return[(0,We.useCallback)(r=>{let{type:o,event:a}=r;t.forEach(i=>{var s;return(s=i[o])==null?void 0:s.call(i,a)})},[t]),e]}function XFe(t){let{announcements:e=$Fe,container:n,hiddenTextDescribedById:r,screenReaderInstructions:o=YFe}=t,{announce:a,announcement:i}=Fne(),s=Df("DndLiveRegion"),[l,c]=(0,We.useState)(!1);if((0,We.useEffect)(()=>{c(!0)},[]),GFe((0,We.useMemo)(()=>({onDragStart(p){let{active:m}=p;a(e.onDragStart({active:m}))},onDragMove(p){let{active:m,over:g}=p;e.onDragMove&&a(e.onDragMove({active:m,over:g}))},onDragOver(p){let{active:m,over:g}=p;a(e.onDragOver({active:m,over:g}))},onDragEnd(p){let{active:m,over:g}=p;a(e.onDragEnd({active:m,over:g}))},onDragCancel(p){let{active:m,over:g}=p;a(e.onDragCancel({active:m,over:g}))}}),[a,e])),!l)return null;let u=We.default.createElement(We.default.Fragment,null,We.default.createElement(Tne,{id:r,value:o.draggable}),We.default.createElement(kne,{id:s,announcement:i}));return n?(0,Lf.createPortal)(u,n):u}function mD(){}function Vg(t,e){return(0,We.useMemo)(()=>({sensor:t,options:e??{}}),[t,e])}function RS(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return(0,We.useMemo)(()=>[...e].filter(r=>r!=null),[...e])}function QFe(t,e){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))}function ZFe(t,e){let{data:{value:n}}=t,{data:{value:r}}=e;return n-r}function JFe(t,e){let{data:{value:n}}=t,{data:{value:r}}=e;return r-n}function Bne(t,e){if(!t||t.length===0)return null;let[n]=t;return e?n[e]:n}function Cne(t,e,n){return e===void 0&&(e=t.left),n===void 0&&(n=t.top),{x:e+t.width*.5,y:n+t.height*.5}}function ePe(t,e){let n=Math.max(e.top,t.top),r=Math.max(e.left,t.left),o=Math.min(e.left+e.width,t.left+t.width),a=Math.min(e.top+e.height,t.top+t.height),i=o-r,s=a-n;if(r<o&&n<a){let l=e.width*e.height,c=t.width*t.height,u=i*s,p=u/(l+c-u);return Number(p.toFixed(4))}return 0}function nPe(t,e,n){return{...t,scaleX:e&&n?e.width/n.width:1,scaleY:e&&n?e.height/n.height:1}}function _ne(t,e){return t&&e?{x:t.left-e.left,y:t.top-e.top}:bc}function rPe(t){return function(n){for(var r=arguments.length,o=new Array(r>1?r-1:0),a=1;a<r;a++)o[a-1]=arguments[a];return o.reduce((i,s)=>({...i,top:i.top+t*s.y,bottom:i.bottom+t*s.y,left:i.left+t*s.x,right:i.right+t*s.x}),{...n})}}function aPe(t){if(t.startsWith("matrix3d(")){let e=t.slice(9,-1).split(/, /);return{x:+e[12],y:+e[13],scaleX:+e[0],scaleY:+e[5]}}else if(t.startsWith("matrix(")){let e=t.slice(7,-1).split(/, /);return{x:+e[4],y:+e[5],scaleX:+e[0],scaleY:+e[3]}}return null}function iPe(t,e,n){let r=aPe(e);if(!r)return t;let{scaleX:o,scaleY:a,x:i,y:s}=r,l=t.left-i-(1-o)*parseFloat(n),c=t.top-s-(1-a)*parseFloat(n.slice(n.indexOf(" ")+1)),u=o?t.width/o:t.width,p=a?t.height/a:t.height;return{width:u,height:p,top:c,right:l+u,bottom:c+p,left:l}}function Vf(t,e){e===void 0&&(e=sPe);let n=t.getBoundingClientRect();if(e.ignoreTransform){let{transform:c,transformOrigin:u}=ks(t).getComputedStyle(t);c&&(n=iPe(n,c,u))}let{top:r,left:o,width:a,height:i,bottom:s,right:l}=n;return{top:r,left:o,width:a,height:i,bottom:s,right:l}}function Nne(t){return Vf(t,{ignoreTransform:!0})}function lPe(t){let e=t.innerWidth,n=t.innerHeight;return{top:0,left:0,right:e,bottom:n,width:e,height:n}}function dPe(t,e){return e===void 0&&(e=ks(t).getComputedStyle(t)),e.position==="fixed"}function cPe(t,e){e===void 0&&(e=ks(t).getComputedStyle(t));let n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(o=>{let a=e[o];return typeof a=="string"?n.test(a):!1})}function fD(t,e){let n=[];function r(o){if(e!=null&&n.length>=e||!o)return n;if(lD(o)&&o.scrollingElement!=null&&!n.includes(o.scrollingElement))return n.push(o.scrollingElement),n;if(!CS(o)||AV(o)||n.includes(o))return n;let a=ks(t).getComputedStyle(o);return o!==t&&cPe(o,a)&&n.push(o),dPe(o,a)?n:r(o.parentNode)}return t?r(t):n}function Hne(t){let[e]=fD(t,1);return e??null}function OV(t){return!fP||!t?null:Mf(t)?t:sD(t)?lD(t)||t===Rf(t).scrollingElement?window:CS(t)?t:null:null}function Vne(t){return Mf(t)?t.scrollX:t.scrollLeft}function Une(t){return Mf(t)?t.scrollY:t.scrollTop}function BV(t){return{x:Vne(t),y:Une(t)}}function Kne(t){return!fP||!t?!1:t===document.scrollingElement}function Wne(t){let e={x:0,y:0},n=Kne(t)?{height:window.innerHeight,width:window.innerWidth}:{height:t.clientHeight,width:t.clientWidth},r={x:t.scrollWidth-n.width,y:t.scrollHeight-n.height},o=t.scrollTop<=e.y,a=t.scrollLeft<=e.x,i=t.scrollTop>=r.y,s=t.scrollLeft>=r.x;return{isTop:o,isLeft:a,isBottom:i,isRight:s,maxScroll:r,minScroll:e}}function pPe(t,e,n,r,o){let{top:a,left:i,right:s,bottom:l}=n;r===void 0&&(r=10),o===void 0&&(o=uPe);let{isTop:c,isBottom:u,isLeft:p,isRight:m}=Wne(t),g={x:0,y:0},f={x:0,y:0},h={height:e.height*o.y,width:e.width*o.x};return!c&&a<=e.top+h.height?(g.y=ci.Backward,f.y=r*Math.abs((e.top+h.height-a)/h.height)):!u&&l>=e.bottom-h.height&&(g.y=ci.Forward,f.y=r*Math.abs((e.bottom-h.height-l)/h.height)),!m&&s>=e.right-h.width?(g.x=ci.Forward,f.x=r*Math.abs((e.right-h.width-s)/h.width)):!p&&i<=e.left+h.width&&(g.x=ci.Backward,f.x=r*Math.abs((e.left+h.width-i)/h.width)),{direction:g,speed:f}}function mPe(t){if(t===document.scrollingElement){let{innerWidth:a,innerHeight:i}=window;return{top:0,left:0,right:a,bottom:i,width:a,height:i}}let{top:e,left:n,right:r,bottom:o}=t.getBoundingClientRect();return{top:e,left:n,right:r,bottom:o,width:t.clientWidth,height:t.clientHeight}}function jne(t){return t.reduce((e,n)=>Af(e,BV(n)),bc)}function gPe(t){return t.reduce((e,n)=>e+Vne(n),0)}function hPe(t){return t.reduce((e,n)=>e+Une(n),0)}function fPe(t,e){if(e===void 0&&(e=Vf),!t)return;let{top:n,left:r,bottom:o,right:a}=e(t);Hne(t)&&(o<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&t.scrollIntoView({block:"center",inline:"center"})}function yPe(t){let{EventTarget:e}=ks(t);return t instanceof e?t:Rf(t)}function LV(t,e){let n=Math.abs(t.x),r=Math.abs(t.y);return typeof e=="number"?Math.sqrt(n**2+r**2)>e:"x"in e&&"y"in e?n>e.x&&r>e.y:"x"in e?n>e.x:"y"in e?r>e.y:!1}function Ine(t){t.preventDefault()}function bPe(t){t.stopPropagation()}function xne(t){return!!(t&&"distance"in t)}function Ene(t){return!!(t&&"delay"in t)}function kPe(t){let{acceleration:e,activator:n=bP.Pointer,canScroll:r,draggingRect:o,enabled:a,interval:i=5,order:s=hD.TreeOrder,pointerCoordinates:l,scrollableAncestors:c,scrollableAncestorRects:u,delta:p,threshold:m}=t,g=PPe({delta:p,disabled:!a}),[f,h]=bne(),b=(0,We.useRef)({x:0,y:0}),v=(0,We.useRef)({x:0,y:0}),y=(0,We.useMemo)(()=>{switch(n){case bP.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case bP.DraggableRect:return o}},[n,o,l]),S=(0,We.useRef)(null),w=(0,We.useCallback)(()=>{let F=S.current;if(!F)return;let P=b.current.x*v.current.x,T=b.current.y*v.current.y;F.scrollBy(P,T)},[]),k=(0,We.useMemo)(()=>s===hD.TreeOrder?[...c].reverse():c,[s,c]);(0,We.useEffect)(()=>{if(!a||!c.length||!y){h();return}for(let F of k){if(r?.(F)===!1)continue;let P=c.indexOf(F),T=u[P];if(!T)continue;let{direction:I,speed:N}=pPe(F,T,y,e,m);for(let O of["x","y"])g[O][I[O]]||(N[O]=0,I[O]=0);if(N.x>0||N.y>0){h(),S.current=F,f(w,i),b.current=N,v.current=I;return}}b.current={x:0,y:0},v.current={x:0,y:0},h()},[e,w,r,h,a,i,JSON.stringify(y),JSON.stringify(g),f,c,k,u,JSON.stringify(m)])}function PPe(t){let{delta:e,disabled:n}=t,r=cD(e);return IS(o=>{if(n||!r||!o)return FPe;let a={x:Math.sign(e.x-r.x),y:Math.sign(e.y-r.y)};return{x:{[ci.Backward]:o.x[ci.Backward]||a.x===-1,[ci.Forward]:o.x[ci.Forward]||a.x===1},y:{[ci.Backward]:o.y[ci.Backward]||a.y===-1,[ci.Forward]:o.y[ci.Forward]||a.y===1}}},[n,e,r])}function CPe(t,e){let n=e!=null?t.get(e):void 0,r=n?n.node.current:null;return IS(o=>{var a;return e==null?null:(a=r??o)!=null?a:null},[r,e])}function NPe(t,e){return(0,We.useMemo)(()=>t.reduce((n,r)=>{let{sensor:o}=r,a=o.activators.map(i=>({eventName:i.eventName,handler:e(i.handler,r)}));return[...n,...a]},[]),[t,e])}function IPe(t,e){let{dragging:n,dependencies:r,config:o}=e,[a,i]=(0,We.useState)(null),{frequency:s,measure:l,strategy:c}=o,u=(0,We.useRef)(t),p=b(),m=NS(p),g=(0,We.useCallback)(function(v){v===void 0&&(v=[]),!m.current&&i(y=>y===null?v:y.concat(v.filter(S=>!y.includes(S))))},[m]),f=(0,We.useRef)(null),h=IS(v=>{if(p&&!n)return Mne;if(!v||v===Mne||u.current!==t||a!=null){let y=new Map;for(let S of t){if(!S)continue;if(a&&a.length>0&&!a.includes(S.id)&&S.rect.current){y.set(S.id,S.rect.current);continue}let w=S.node.current,k=w?new SP(l(w),w):null;S.rect.current=k,k&&y.set(S.id,k)}return y}return v},[t,a,n,p,l]);return(0,We.useEffect)(()=>{u.current=t},[t]),(0,We.useEffect)(()=>{p||g()},[n,p]),(0,We.useEffect)(()=>{a&&a.length>0&&i(null)},[JSON.stringify(a)]),(0,We.useEffect)(()=>{p||typeof s!="number"||f.current!==null||(f.current=setTimeout(()=>{g(),f.current=null},s))},[s,p,g,...r]),{droppableRects:h,measureDroppableContainers:g,measuringScheduled:a!=null};function b(){switch(c){case TP.Always:return!1;case TP.BeforeDragging:return n;default:return!n}}}function qne(t,e){return IS(n=>t?n||(typeof e=="function"?e(t):t):null,[e,t])}function xPe(t,e){return qne(t,e)}function EPe(t){let{callback:e,disabled:n}=t,r=dD(e),o=(0,We.useMemo)(()=>{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;let{MutationObserver:a}=window;return new a(r)},[r,n]);return(0,We.useEffect)(()=>()=>o?.disconnect(),[o]),o}function vD(t){let{callback:e,disabled:n}=t,r=dD(e),o=(0,We.useMemo)(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;let{ResizeObserver:a}=window;return new a(r)},[n]);return(0,We.useEffect)(()=>()=>o?.disconnect(),[o]),o}function MPe(t){return new SP(Vf(t),t)}function Rne(t,e,n){e===void 0&&(e=MPe);let[r,o]=(0,We.useState)(null);function a(){o(l=>{if(!t)return null;if(t.isConnected===!1){var c;return(c=l??n)!=null?c:null}let u=e(t);return JSON.stringify(l)===JSON.stringify(u)?l:u})}let i=EPe({callback(l){if(t)for(let c of l){let{type:u,target:p}=c;if(u==="childList"&&p instanceof HTMLElement&&p.contains(t)){a();break}}}}),s=vD({callback:a});return Id(()=>{a(),t?(s?.observe(t),i?.observe(document.body,{childList:!0,subtree:!0})):(s?.disconnect(),i?.disconnect())},[t]),r}function RPe(t){let e=qne(t);return _ne(t,e)}function DPe(t){let e=(0,We.useRef)(t),n=IS(r=>t?r&&r!==Dne&&t&&e.current&&t.parentNode===e.current.parentNode?r:fD(t):Dne,[t]);return(0,We.useEffect)(()=>{e.current=t},[t]),n}function APe(t){let[e,n]=(0,We.useState)(null),r=(0,We.useRef)(t),o=(0,We.useCallback)(a=>{let i=OV(a.target);i&&n(s=>s?(s.set(i,BV(i)),new Map(s)):null)},[]);return(0,We.useEffect)(()=>{let a=r.current;if(t!==a){i(a);let s=t.map(l=>{let c=OV(l);return c?(c.addEventListener("scroll",o,{passive:!0}),[c,BV(c)]):null}).filter(l=>l!=null);n(s.length?new Map(s):null),r.current=t}return()=>{i(t),i(a)};function i(s){s.forEach(l=>{let c=OV(l);c?.removeEventListener("scroll",o)})}},[o,t]),(0,We.useMemo)(()=>t.length?e?Array.from(e.values()).reduce((a,i)=>Af(a,i),bc):jne(t):bc,[t,e])}function Ane(t,e){e===void 0&&(e=[]);let n=(0,We.useRef)(null);return(0,We.useEffect)(()=>{n.current=null},e),(0,We.useEffect)(()=>{let r=t!==bc;r&&!n.current&&(n.current=t),!r&&n.current&&(n.current=null)},[t]),n.current?xS(t,n.current):bc}function OPe(t){(0,We.useEffect)(()=>{if(!fP)return;let e=t.map(n=>{let{sensor:r}=n;return r.setup==null?void 0:r.setup()});return()=>{for(let n of e)n?.()}},t.map(e=>{let{sensor:n}=e;return n}))}function LPe(t,e){return(0,We.useMemo)(()=>t.reduce((n,r)=>{let{eventName:o,handler:a}=r;return n[o]=i=>{a(i,e)},n},{}),[t,e])}function Yne(t){return(0,We.useMemo)(()=>t?lPe(t):null,[t])}function zPe(t,e){e===void 0&&(e=Vf);let[n]=t,r=Yne(n?ks(n):null),[o,a]=(0,We.useState)(One);function i(){a(()=>t.length?t.map(l=>Kne(l)?r:new SP(e(l),l)):One)}let s=vD({callback:i});return Id(()=>{s?.disconnect(),i(),t.forEach(l=>s?.observe(l))},[t]),o}function BPe(t){if(!t)return null;if(t.children.length>1)return t;let e=t.children[0];return CS(e)?e:t}function _Pe(t){let{measure:e}=t,[n,r]=(0,We.useState)(null),o=(0,We.useCallback)(c=>{for(let{target:u}of c)if(CS(u)){r(p=>{let m=e(u);return p?{...p,width:m.width,height:m.height}:m});break}},[e]),a=vD({callback:o}),i=(0,We.useCallback)(c=>{let u=BPe(c);a?.disconnect(),u&&a?.observe(u),r(u?e(u):null)},[e,a]),[s,l]=vP(i);return(0,We.useMemo)(()=>({nodeRef:s,rect:n,setRef:l}),[n,s,l])}function WPe(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new Bf}}}function jPe(t,e){switch(e.type){case ja.DragStart:return{...t,draggable:{...t.draggable,initialCoordinates:e.initialCoordinates,active:e.active}};case ja.DragMove:return t.draggable.active==null?t:{...t,draggable:{...t.draggable,translate:{x:e.coordinates.x-t.draggable.initialCoordinates.x,y:e.coordinates.y-t.draggable.initialCoordinates.y}}};case ja.DragEnd:case ja.DragCancel:return{...t,draggable:{...t.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case ja.RegisterDroppable:{let{element:n}=e,{id:r}=n,o=new Bf(t.droppable.containers);return o.set(r,n),{...t,droppable:{...t.droppable,containers:o}}}case ja.SetDroppableDisabled:{let{id:n,key:r,disabled:o}=e,a=t.droppable.containers.get(n);if(!a||r!==a.key)return t;let i=new Bf(t.droppable.containers);return i.set(n,{...a,disabled:o}),{...t,droppable:{...t.droppable,containers:i}}}case ja.UnregisterDroppable:{let{id:n,key:r}=e,o=t.droppable.containers.get(n);if(!o||r!==o.key)return t;let a=new Bf(t.droppable.containers);return a.delete(n),{...t,droppable:{...t.droppable,containers:a}}}default:return t}}function GPe(t){let{disabled:e}=t,{active:n,activatorEvent:r,draggableNodes:o}=(0,We.useContext)(yD),a=cD(r),i=cD(n?.id);return(0,We.useEffect)(()=>{if(!e&&!r&&a&&i!=null){if(!yP(a)||document.activeElement===a.target)return;let s=o.get(i);if(!s)return;let{activatorNode:l,node:c}=s;if(!l.current&&!c.current)return;requestAnimationFrame(()=>{for(let u of[l.current,c.current]){if(!u)continue;let p=wne(u);if(p){p.focus();break}}})}},[r,e,o,i,a]),null}function qPe(t,e){let{transform:n,...r}=e;return t!=null&&t.length?t.reduce((o,a)=>a({transform:o,...r}),n):n}function YPe(t){return(0,We.useMemo)(()=>({draggable:{...pD.draggable,...t?.draggable},droppable:{...pD.droppable,...t?.droppable},dragOverlay:{...pD.dragOverlay,...t?.dragOverlay}}),[t?.draggable,t?.droppable,t?.dragOverlay])}function $Pe(t){let{activeNode:e,measure:n,initialRect:r,config:o=!0}=t,a=(0,We.useRef)(!1),{x:i,y:s}=typeof o=="boolean"?{x:o,y:o}:o;Id(()=>{if(!i&&!s||!e){a.current=!1;return}if(a.current||!r)return;let c=e?.node.current;if(!c||c.isConnected===!1)return;let u=n(c),p=_ne(u,r);if(i||(p.x=0),s||(p.y=0),a.current=!0,Math.abs(p.x)>0||Math.abs(p.y)>0){let m=Hne(c);m&&m.scrollBy({top:p.y,left:p.x})}},[e,i,s,r,n])}function Qne(t){let{id:e,data:n,disabled:r=!1,attributes:o}=t,a=Df(QPe),{activators:i,activatorEvent:s,active:l,activeNodeRect:c,ariaDescribedById:u,draggableNodes:p,over:m}=(0,We.useContext)(yD),{role:g=Lne,roleDescription:f="draggable",tabIndex:h=0}=o??{},b=l?.id===e,v=(0,We.useContext)(b?Xne:XPe),[y,S]=vP(),[w,k]=vP(),F=LPe(i,e),P=NS(n);Id(()=>(p.set(e,{id:e,key:a,node:y,activatorNode:w,data:P}),()=>{let I=p.get(e);I&&I.key===a&&p.delete(e)}),[p,e]);let T=(0,We.useMemo)(()=>({role:g,tabIndex:h,"aria-disabled":r,"aria-pressed":b&&g===Lne?!0:void 0,"aria-roledescription":f,"aria-describedby":u.draggable}),[r,g,h,b,f,u.draggable]);return{active:l,activatorEvent:s,activeNodeRect:c,attributes:T,isDragging:b,listeners:r?void 0:F,node:y,over:m,setNodeRef:S,setActivatorNodeRef:k,transform:v}}function Zne(){return(0,We.useContext)($ne)}function Jne(t){let{data:e,disabled:n=!1,id:r,resizeObserverConfig:o}=t,a=Df(ZPe),{active:i,dispatch:s,over:l,measureDroppableContainers:c}=(0,We.useContext)(yD),u=(0,We.useRef)({disabled:n}),p=(0,We.useRef)(!1),m=(0,We.useRef)(null),g=(0,We.useRef)(null),{disabled:f,updateMeasurementsFor:h,timeout:b}={...JPe,...o},v=NS(h??r),y=(0,We.useCallback)(()=>{if(!p.current){p.current=!0;return}g.current!=null&&clearTimeout(g.current),g.current=setTimeout(()=>{c(Array.isArray(v.current)?v.current:[v.current]),g.current=null},b)},[b]),S=vD({callback:y,disabled:f||!i}),w=(0,We.useCallback)((T,I)=>{S&&(I&&(S.unobserve(I),p.current=!1),T&&S.observe(T))},[S]),[k,F]=vP(w),P=NS(e);return(0,We.useEffect)(()=>{!S||!k.current||(S.disconnect(),p.current=!1,S.observe(k.current))},[k,S]),(0,We.useEffect)(()=>(s({type:ja.RegisterDroppable,element:{id:r,key:a,disabled:n,node:k,rect:m,data:P}}),()=>s({type:ja.UnregisterDroppable,key:a,id:r})),[r]),(0,We.useEffect)(()=>{n!==u.current.disabled&&(s({type:ja.SetDroppableDisabled,id:r,key:a,disabled:n}),u.current.disabled=n)},[r,a,n,s]),{active:i,rect:m,isOver:l?.id===r,node:k,over:l,setNodeRef:F}}var We,Lf,zne,YFe,$Fe,ja,bc,kP,tPe,oPe,sPe,ci,uPe,vPe,SP,zf,xd,hr,Gne,SPe,gD,wP,wPe,MS,TPe,_V,_f,zV,Hf,bP,hD,FPe,TP,HV,Mne,Dne,One,HPe,VPe,pD,Bf,UPe,KPe,yD,$ne,Xne,Hg,DS,XPe,Lne,QPe,ZPe,JPe,Uf=U(()=>{We=ue(ze()),Lf=ue(pF());ES();Pne();zne=(0,We.createContext)(null);YFe={draggable:`
    To pick up a draggable item, press the space bar.
    While dragging, use the arrow keys to move the item.
    Press space again to drop the item in its new position, or press escape to cancel.
  `},$Fe={onDragStart(t){let{active:e}=t;return"Picked up draggable item "+e.id+"."},onDragOver(t){let{active:e,over:n}=t;return n?"Draggable item "+e.id+" was moved over droppable area "+n.id+".":"Draggable item "+e.id+" is no longer over a droppable area."},onDragEnd(t){let{active:e,over:n}=t;return n?"Draggable item "+e.id+" was dropped over droppable area "+n.id:"Draggable item "+e.id+" was dropped."},onDragCancel(t){let{active:e}=t;return"Dragging was cancelled. Draggable item "+e.id+" was dropped."}};(function(t){t.DragStart="dragStart",t.DragMove="dragMove",t.DragEnd="dragEnd",t.DragCancel="dragCancel",t.DragOver="dragOver",t.RegisterDroppable="registerDroppable",t.SetDroppableDisabled="setDroppableDisabled",t.UnregisterDroppable="unregisterDroppable"})(ja||(ja={}));bc=Object.freeze({x:0,y:0});kP=t=>{let{collisionRect:e,droppableRects:n,droppableContainers:r}=t,o=Cne(e,e.left,e.top),a=[];for(let i of r){let{id:s}=i,l=n.get(s);if(l){let c=QFe(Cne(l),o);a.push({id:s,data:{droppableContainer:i,value:c}})}}return a.sort(ZFe)};tPe=t=>{let{collisionRect:e,droppableRects:n,droppableContainers:r}=t,o=[];for(let a of r){let{id:i}=a,s=n.get(i);if(s){let l=ePe(s,e);l>0&&o.push({id:i,data:{droppableContainer:a,value:l}})}}return o.sort(JFe)};oPe=rPe(1);sPe={ignoreTransform:!1};(function(t){t[t.Forward=1]="Forward",t[t.Backward=-1]="Backward"})(ci||(ci={}));uPe={x:.2,y:.2};vPe=[["x",["left","right"],gPe],["y",["top","bottom"],hPe]],SP=class{constructor(e,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;let r=fD(n),o=jne(r);this.rect={...e},this.width=e.width,this.height=e.height;for(let[a,i,s]of vPe)for(let l of i)Object.defineProperty(this,l,{get:()=>{let c=s(r),u=o[a]-c;return this.rect[l]+u},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}},zf=class{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(n=>{var r;return(r=this.target)==null?void 0:r.removeEventListener(...n)})},this.target=e}add(e,n,r){var o;(o=this.target)==null||o.addEventListener(e,n,r),this.listeners.push([e,n,r])}};(function(t){t.Click="click",t.DragStart="dragstart",t.Keydown="keydown",t.ContextMenu="contextmenu",t.Resize="resize",t.SelectionChange="selectionchange",t.VisibilityChange="visibilitychange"})(xd||(xd={}));(function(t){t.Space="Space",t.Down="ArrowDown",t.Right="ArrowRight",t.Left="ArrowLeft",t.Up="ArrowUp",t.Esc="Escape",t.Enter="Enter",t.Tab="Tab"})(hr||(hr={}));Gne={start:[hr.Space,hr.Enter],cancel:[hr.Esc],end:[hr.Space,hr.Enter,hr.Tab]},SPe=(t,e)=>{let{currentCoordinates:n}=e;switch(t.code){case hr.Right:return{...n,x:n.x+25};case hr.Left:return{...n,x:n.x-25};case hr.Down:return{...n,y:n.y+25};case hr.Up:return{...n,y:n.y-25}}},gD=class{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;let{event:{target:n}}=e;this.props=e,this.listeners=new zf(Rf(n)),this.windowListeners=new zf(ks(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(xd.Resize,this.handleCancel),this.windowListeners.add(xd.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(xd.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:e,onStart:n}=this.props,r=e.node.current;r&&fPe(r),n(bc)}handleKeyDown(e){if(yP(e)){let{active:n,context:r,options:o}=this.props,{keyboardCodes:a=Gne,coordinateGetter:i=SPe,scrollBehavior:s="smooth"}=o,{code:l}=e;if(a.end.includes(l)){this.handleEnd(e);return}if(a.cancel.includes(l)){this.handleCancel(e);return}let{collisionRect:c}=r.current,u=c?{x:c.left,y:c.top}:bc;this.referenceCoordinates||(this.referenceCoordinates=u);let p=i(e,{active:n,context:r.current,currentCoordinates:u});if(p){let m=xS(p,u),g={x:0,y:0},{scrollableAncestors:f}=r.current;for(let h of f){let b=e.code,{isTop:v,isRight:y,isLeft:S,isBottom:w,maxScroll:k,minScroll:F}=Wne(h),P=mPe(h),T={x:Math.min(b===hr.Right?P.right-P.width/2:P.right,Math.max(b===hr.Right?P.left:P.left+P.width/2,p.x)),y:Math.min(b===hr.Down?P.bottom-P.height/2:P.bottom,Math.max(b===hr.Down?P.top:P.top+P.height/2,p.y))},I=b===hr.Right&&!y||b===hr.Left&&!S,N=b===hr.Down&&!w||b===hr.Up&&!v;if(I&&T.x!==p.x){let O=h.scrollLeft+m.x,K=b===hr.Right&&O<=k.x||b===hr.Left&&O>=F.x;if(K&&!m.y){h.scrollTo({left:O,behavior:s});return}K?g.x=h.scrollLeft-O:g.x=b===hr.Right?h.scrollLeft-k.x:h.scrollLeft-F.x,g.x&&h.scrollBy({left:-g.x,behavior:s});break}else if(N&&T.y!==p.y){let O=h.scrollTop+m.y,K=b===hr.Down&&O<=k.y||b===hr.Up&&O>=F.y;if(K&&!m.x){h.scrollTo({top:O,behavior:s});return}K?g.y=h.scrollTop-O:g.y=b===hr.Down?h.scrollTop-k.y:h.scrollTop-F.y,g.y&&h.scrollBy({top:-g.y,behavior:s});break}}this.handleMove(e,Af(xS(p,this.referenceCoordinates),g))}}}handleMove(e,n){let{onMove:r}=this.props;e.preventDefault(),r(n)}handleEnd(e){let{onEnd:n}=this.props;e.preventDefault(),this.detach(),n()}handleCancel(e){let{onCancel:n}=this.props;e.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}};gD.activators=[{eventName:"onKeyDown",handler:(t,e,n)=>{let{keyboardCodes:r=Gne,onActivation:o}=e,{active:a}=n,{code:i}=t.nativeEvent;if(r.start.includes(i)){let s=a.activatorNode.current;return s&&t.target!==s?!1:(t.preventDefault(),o?.({event:t.nativeEvent}),!0)}return!1}}];wP=class{constructor(e,n,r){var o;r===void 0&&(r=yPe(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=n;let{event:a}=e,{target:i}=a;this.props=e,this.events=n,this.document=Rf(i),this.documentListeners=new zf(this.document),this.listeners=new zf(r),this.windowListeners=new zf(ks(i)),this.initialCoordinates=(o=uD(a))!=null?o:bc,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:e,props:{options:{activationConstraint:n,bypassActivationConstraint:r}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(xd.Resize,this.handleCancel),this.windowListeners.add(xd.DragStart,Ine),this.windowListeners.add(xd.VisibilityChange,this.handleCancel),this.windowListeners.add(xd.ContextMenu,Ine),this.documentListeners.add(xd.Keydown,this.handleKeydown),n){if(r!=null&&r({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(Ene(n)){this.timeoutId=setTimeout(this.handleStart,n.delay),this.handlePending(n);return}if(xne(n)){this.handlePending(n);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,n){let{active:r,onPending:o}=this.props;o(r,e,this.initialCoordinates,n)}handleStart(){let{initialCoordinates:e}=this,{onStart:n}=this.props;e&&(this.activated=!0,this.documentListeners.add(xd.Click,bPe,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(xd.SelectionChange,this.removeTextSelection),n(e))}handleMove(e){var n;let{activated:r,initialCoordinates:o,props:a}=this,{onMove:i,options:{activationConstraint:s}}=a;if(!o)return;let l=(n=uD(e))!=null?n:bc,c=xS(o,l);if(!r&&s){if(xne(s)){if(s.tolerance!=null&&LV(c,s.tolerance))return this.handleCancel();if(LV(c,s.distance))return this.handleStart()}if(Ene(s)&&LV(c,s.tolerance))return this.handleCancel();this.handlePending(s,c);return}e.cancelable&&e.preventDefault(),i(l)}handleEnd(){let{onAbort:e,onEnd:n}=this.props;this.detach(),this.activated||e(this.props.active),n()}handleCancel(){let{onAbort:e,onCancel:n}=this.props;this.detach(),this.activated||e(this.props.active),n()}handleKeydown(e){e.code===hr.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}},wPe={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}},MS=class extends wP{constructor(e){let{event:n}=e,r=Rf(n.target);super(e,wPe,r)}};MS.activators=[{eventName:"onPointerDown",handler:(t,e)=>{let{nativeEvent:n}=t,{onActivation:r}=e;return!n.isPrimary||n.button!==0?!1:(r?.({event:n}),!0)}}];TPe={move:{name:"mousemove"},end:{name:"mouseup"}};(function(t){t[t.RightClick=2]="RightClick"})(_V||(_V={}));_f=class extends wP{constructor(e){super(e,TPe,Rf(e.event.target))}};_f.activators=[{eventName:"onMouseDown",handler:(t,e)=>{let{nativeEvent:n}=t,{onActivation:r}=e;return n.button===_V.RightClick?!1:(r?.({event:n}),!0)}}];zV={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}},Hf=class extends wP{constructor(e){super(e,zV)}static setup(){return window.addEventListener(zV.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(zV.move.name,e)};function e(){}}};Hf.activators=[{eventName:"onTouchStart",handler:(t,e)=>{let{nativeEvent:n}=t,{onActivation:r}=e,{touches:o}=n;return o.length>1?!1:(r?.({event:n}),!0)}}];(function(t){t[t.Pointer=0]="Pointer",t[t.DraggableRect=1]="DraggableRect"})(bP||(bP={}));(function(t){t[t.TreeOrder=0]="TreeOrder",t[t.ReversedTreeOrder=1]="ReversedTreeOrder"})(hD||(hD={}));FPe={x:{[ci.Backward]:!1,[ci.Forward]:!1},y:{[ci.Backward]:!1,[ci.Forward]:!1}};(function(t){t[t.Always=0]="Always",t[t.BeforeDragging=1]="BeforeDragging",t[t.WhileDragging=2]="WhileDragging"})(TP||(TP={}));(function(t){t.Optimized="optimized"})(HV||(HV={}));Mne=new Map;Dne=[];One=[];HPe=[{sensor:MS,options:{}},{sensor:gD,options:{}}],VPe={current:{}},pD={draggable:{measure:Nne},droppable:{measure:Nne,strategy:TP.WhileDragging,frequency:HV.Optimized},dragOverlay:{measure:Vf}},Bf=class extends Map{get(e){var n;return e!=null&&(n=super.get(e))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:n}=e;return!n})}getNodeFor(e){var n,r;return(n=(r=this.get(e))==null?void 0:r.node.current)!=null?n:void 0}},UPe={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new Bf,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:mD},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:pD,measureDroppableContainers:mD,windowRect:null,measuringScheduled:!1},KPe={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:mD,draggableNodes:new Map,over:null,measureDroppableContainers:mD},yD=(0,We.createContext)(KPe),$ne=(0,We.createContext)(UPe);Xne=(0,We.createContext)({...bc,scaleX:1,scaleY:1});(function(t){t[t.Uninitialized=0]="Uninitialized",t[t.Initializing=1]="Initializing",t[t.Initialized=2]="Initialized"})(Hg||(Hg={}));DS=(0,We.memo)(function(e){var n,r,o,a;let{id:i,accessibility:s,autoScroll:l=!0,children:c,sensors:u=HPe,collisionDetection:p=tPe,measuring:m,modifiers:g,...f}=e,h=(0,We.useReducer)(jPe,void 0,WPe),[b,v]=h,[y,S]=qFe(),[w,k]=(0,We.useState)(Hg.Uninitialized),F=w===Hg.Initialized,{draggable:{active:P,nodes:T,translate:I},droppable:{containers:N}}=b,O=P!=null?T.get(P):null,K=(0,We.useRef)({initial:null,translated:null}),G=(0,We.useMemo)(()=>{var lt;return P!=null?{id:P,data:(lt=O?.data)!=null?lt:VPe,rect:K}:null},[P,O]),X=(0,We.useRef)(null),[L,V]=(0,We.useState)(null),[D,A]=(0,We.useState)(null),_=NS(f,Object.values(f)),E=Df("DndDescribedBy",i),R=(0,We.useMemo)(()=>N.getEnabled(),[N]),M=YPe(m),{droppableRects:C,measureDroppableContainers:x,measuringScheduled:z}=IPe(R,{dragging:F,dependencies:[I.x,I.y],config:M.droppable}),H=CPe(T,P),Y=(0,We.useMemo)(()=>D?uD(D):null,[D]),ee=qt(),$=xPe(H,M.draggable.measure);$Pe({activeNode:P!=null?T.get(P):null,config:ee.layoutShiftCompensation,initialRect:$,measure:M.draggable.measure});let j=Rne(H,M.draggable.measure,$),J=Rne(H?H.parentElement:null),re=(0,We.useRef)({activatorEvent:null,active:null,activeNode:H,collisionRect:null,collisions:null,droppableRects:C,draggableNodes:T,draggingNode:null,draggingNodeRect:null,droppableContainers:N,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),oe=N.getNodeFor((n=re.current.over)==null?void 0:n.id),Z=_Pe({measure:M.dragOverlay.measure}),ce=(r=Z.nodeRef.current)!=null?r:H,ae=F?(o=Z.rect)!=null?o:j:null,se=!!(Z.nodeRef.current&&Z.rect),ne=RPe(se?null:j),B=Yne(ce?ks(ce):null),q=DPe(F?oe??H:null),ie=zPe(q),le=qPe(g,{transform:{x:I.x-ne.x,y:I.y-ne.y,scaleX:1,scaleY:1},activatorEvent:D,active:G,activeNodeRect:j,containerNodeRect:J,draggingNodeRect:ae,over:re.current.over,overlayNodeRect:Z.rect,scrollableAncestors:q,scrollableAncestorRects:ie,windowRect:B}),Te=Y?Af(Y,I):null,ke=APe(q),Fe=Ane(ke),te=Ane(ke,[j]),pe=Af(le,Fe),ve=ae?oPe(ae,le):null,Ie=G&&ve?p({active:G,collisionRect:ve,droppableRects:C,droppableContainers:R,pointerCoordinates:Te}):null,qe=Bne(Ie,"id"),[xe,Ce]=(0,We.useState)(null),vt=se?le:Af(le,te),Rt=nPe(vt,(a=xe?.rect)!=null?a:null,j),Ve=(0,We.useRef)(null),Ae=(0,We.useCallback)((lt,Zt)=>{let{sensor:Kt,options:gn}=Zt;if(X.current==null)return;let fn=T.get(X.current);if(!fn)return;let an=lt.nativeEvent,Pe=new Kt({active:X.current,activeNode:fn,event:an,options:gn,context:re,onAbort(be){if(!T.get(be))return;let{onDragAbort:fe}=_.current,we={id:be};fe?.(we),y({type:"onDragAbort",event:we})},onPending(be,me,fe,we){if(!T.get(be))return;let{onDragPending:nt}=_.current,ct={id:be,constraint:me,initialCoordinates:fe,offset:we};nt?.(ct),y({type:"onDragPending",event:ct})},onStart(be){let me=X.current;if(me==null)return;let fe=T.get(me);if(!fe)return;let{onDragStart:we}=_.current,Re={activatorEvent:an,active:{id:me,data:fe.data,rect:K}};(0,Lf.unstable_batchedUpdates)(()=>{we?.(Re),k(Hg.Initializing),v({type:ja.DragStart,initialCoordinates:be,active:me}),y({type:"onDragStart",event:Re}),V(Ve.current),A(an)})},onMove(be){v({type:ja.DragMove,coordinates:be})},onEnd:ge(ja.DragEnd),onCancel:ge(ja.DragCancel)});Ve.current=Pe;function ge(be){return async function(){let{active:fe,collisions:we,over:Re,scrollAdjustedTranslate:nt}=re.current,ct=null;if(fe&&nt){let{cancelDrop:yt}=_.current;ct={activatorEvent:an,active:fe,collisions:we,delta:nt,over:Re},be===ja.DragEnd&&typeof yt=="function"&&await Promise.resolve(yt(ct))&&(be=ja.DragCancel)}X.current=null,(0,Lf.unstable_batchedUpdates)(()=>{v({type:be}),k(Hg.Uninitialized),Ce(null),V(null),A(null),Ve.current=null;let yt=be===ja.DragEnd?"onDragEnd":"onDragCancel";if(ct){let bn=_.current[yt];bn?.(ct),y({type:yt,event:ct})}})}}},[T]),Ke=(0,We.useCallback)((lt,Zt)=>(Kt,gn)=>{let fn=Kt.nativeEvent,an=T.get(gn);if(X.current!==null||!an||fn.dndKit||fn.defaultPrevented)return;let Pe={active:an};lt(Kt,Zt.options,Pe)===!0&&(fn.dndKit={capturedBy:Zt.sensor},X.current=gn,Ae(Kt,Zt))},[T,Ae]),Be=NPe(u,Ke);OPe(u),Id(()=>{j&&w===Hg.Initializing&&k(Hg.Initialized)},[j,w]),(0,We.useEffect)(()=>{let{onDragMove:lt}=_.current,{active:Zt,activatorEvent:Kt,collisions:gn,over:fn}=re.current;if(!Zt||!Kt)return;let an={active:Zt,activatorEvent:Kt,collisions:gn,delta:{x:pe.x,y:pe.y},over:fn};(0,Lf.unstable_batchedUpdates)(()=>{lt?.(an),y({type:"onDragMove",event:an})})},[pe.x,pe.y]),(0,We.useEffect)(()=>{let{active:lt,activatorEvent:Zt,collisions:Kt,droppableContainers:gn,scrollAdjustedTranslate:fn}=re.current;if(!lt||X.current==null||!Zt||!fn)return;let{onDragOver:an}=_.current,Pe=gn.get(qe),ge=Pe&&Pe.rect.current?{id:Pe.id,rect:Pe.rect.current,data:Pe.data,disabled:Pe.disabled}:null,be={active:lt,activatorEvent:Zt,collisions:Kt,delta:{x:fn.x,y:fn.y},over:ge};(0,Lf.unstable_batchedUpdates)(()=>{Ce(ge),an?.(be),y({type:"onDragOver",event:be})})},[qe]),Id(()=>{re.current={activatorEvent:D,active:G,activeNode:H,collisionRect:ve,collisions:Ie,droppableRects:C,draggableNodes:T,draggingNode:ce,draggingNodeRect:ae,droppableContainers:N,over:xe,scrollableAncestors:q,scrollAdjustedTranslate:pe},K.current={initial:ae,translated:ve}},[G,H,Ie,ve,T,ce,ae,C,N,xe,q,pe]),kPe({...ee,delta:I,draggingRect:ve,pointerCoordinates:Te,scrollableAncestors:q,scrollableAncestorRects:ie});let wt=(0,We.useMemo)(()=>({active:G,activeNode:H,activeNodeRect:j,activatorEvent:D,collisions:Ie,containerNodeRect:J,dragOverlay:Z,draggableNodes:T,droppableContainers:N,droppableRects:C,over:xe,measureDroppableContainers:x,scrollableAncestors:q,scrollableAncestorRects:ie,measuringConfiguration:M,measuringScheduled:z,windowRect:B}),[G,H,j,D,Ie,J,Z,T,N,C,xe,x,q,ie,M,z,B]),Ct=(0,We.useMemo)(()=>({activatorEvent:D,activators:Be,active:G,activeNodeRect:j,ariaDescribedById:{draggable:E},dispatch:v,draggableNodes:T,over:xe,measureDroppableContainers:x}),[D,Be,G,j,v,E,T,xe,x]);return We.default.createElement(zne.Provider,{value:S},We.default.createElement(yD.Provider,{value:Ct},We.default.createElement($ne.Provider,{value:wt},We.default.createElement(Xne.Provider,{value:Rt},c)),We.default.createElement(GPe,{disabled:s?.restoreFocus===!1})),We.default.createElement(XFe,{...s,hiddenTextDescribedById:E}));function qt(){let lt=L?.autoScrollEnabled===!1,Zt=typeof l=="object"?l.enabled===!1:l===!1,Kt=F&&!lt&&!Zt;return typeof l=="object"?{...l,enabled:Kt}:{enabled:Kt}}}),XPe=(0,We.createContext)(null),Lne="button",QPe="Draggable";ZPe="Droppable",JPe={timeout:25}});function Kp(t,e,n){let r=t.slice();return r.splice(n<0?r.length+n:n,0,r.splice(e,1)[0]),r}function eCe(t,e){return t.reduce((n,r,o)=>{let a=e.get(r);return a&&(n[o]=a),n},Array(t.length))}function bD(t){return t!==null&&t>=0}function tCe(t,e){if(t===e)return!0;if(t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if(t[n]!==e[n])return!1;return!0}function nCe(t){return typeof t=="boolean"?{draggable:t,droppable:t}:t}function rCe(t,e,n){let r=t[e],o=t[e-1],a=t[e+1];return r?n<e?o?r.top-(o.top+o.height):a?a.top-(r.top+r.height):0:a?a.top-(r.top+r.height):o?r.top-(o.top+o.height):0:0}function OS(t){let{children:e,id:n,items:r,strategy:o=ere,disabled:a=!1}=t,{active:i,dragOverlay:s,droppableRects:l,over:c,measureDroppableContainers:u}=Zne(),p=Df(tre,n),m=s.rect!==null,g=(0,ha.useMemo)(()=>r.map(F=>typeof F=="object"&&"id"in F?F.id:F),[r]),f=i!=null,h=i?g.indexOf(i.id):-1,b=c?g.indexOf(c.id):-1,v=(0,ha.useRef)(g),y=!tCe(g,v.current),S=b!==-1&&h===-1||y,w=nCe(a);Id(()=>{y&&f&&u(g)},[y,g,f,u]),(0,ha.useEffect)(()=>{v.current=g},[g]);let k=(0,ha.useMemo)(()=>({activeIndex:h,containerId:p,disabled:w,disableTransforms:S,items:g,overIndex:b,useDragOverlay:m,sortedRects:eCe(g,l),strategy:o}),[h,p,w.draggable,w.droppable,S,g,b,l,m,o]);return ha.default.createElement(nre.Provider,{value:k},e)}function dCe(t){let{disabled:e,index:n,node:r,rect:o}=t,[a,i]=(0,ha.useState)(null),s=(0,ha.useRef)(n);return Id(()=>{if(!e&&n!==s.current&&r.current){let l=o.current;if(l){let c=Vf(r.current,{ignoreTransform:!0}),u={x:l.left-c.left,y:l.top-c.top,scaleX:l.width/c.width,scaleY:l.height/c.height};(u.x||u.y)&&i(u)}}n!==s.current&&(s.current=n)},[e,n,r,o]),(0,ha.useEffect)(()=>{a&&i(null)},[a]),a}function LS(t){let{animateLayoutChanges:e=aCe,attributes:n,disabled:r,data:o,getNewIndex:a=oCe,id:i,strategy:s,resizeObserverConfig:l,transition:c=iCe}=t,{items:u,containerId:p,activeIndex:m,disabled:g,disableTransforms:f,sortedRects:h,overIndex:b,useDragOverlay:v,strategy:y}=(0,ha.useContext)(nre),S=cCe(r,g),w=u.indexOf(i),k=(0,ha.useMemo)(()=>({sortable:{containerId:p,index:w,items:u},...o}),[p,o,w,u]),F=(0,ha.useMemo)(()=>u.slice(u.indexOf(i)),[u,i]),{rect:P,node:T,isOver:I,setNodeRef:N}=Jne({id:i,data:k,disabled:S.droppable,resizeObserverConfig:{updateMeasurementsFor:F,...l}}),{active:O,activatorEvent:K,activeNodeRect:G,attributes:X,setNodeRef:L,listeners:V,isDragging:D,over:A,setActivatorNodeRef:_,transform:E}=Qne({id:i,data:k,attributes:{...lCe,...n},disabled:S.draggable}),R=yne(N,L),M=!!O,C=M&&!f&&bD(m)&&bD(b),x=!v&&D,z=x&&C?E:null,Y=C?z??(s??y)({rects:h,activeNodeRect:G,activeIndex:m,overIndex:b,index:w}):null,ee=bD(m)&&bD(b)?a({id:i,items:u,activeIndex:m,overIndex:b}):w,$=O?.id,j=(0,ha.useRef)({activeId:$,items:u,newIndex:ee,containerId:p}),J=u!==j.current.items,re=e({active:O,containerId:p,isDragging:D,isSorting:M,id:i,index:w,items:u,newIndex:j.current.newIndex,previousItems:j.current.items,previousContainerId:j.current.containerId,transition:c,wasDragging:j.current.activeId!=null}),oe=dCe({disabled:!re,index:w,node:T,rect:P});return(0,ha.useEffect)(()=>{M&&j.current.newIndex!==ee&&(j.current.newIndex=ee),p!==j.current.containerId&&(j.current.containerId=p),u!==j.current.items&&(j.current.items=u)},[M,ee,p,u]),(0,ha.useEffect)(()=>{if($===j.current.activeId)return;if($!=null&&j.current.activeId==null){j.current.activeId=$;return}let ce=setTimeout(()=>{j.current.activeId=$},50);return()=>clearTimeout(ce)},[$]),{active:O,activeIndex:m,attributes:X,data:k,rect:P,index:w,newIndex:ee,items:u,isOver:I,isSorting:M,isDragging:D,listeners:V,node:T,overIndex:b,over:A,setNodeRef:R,setActivatorNodeRef:_,setDroppableNodeRef:N,setDraggableNodeRef:L,transform:oe??Y,transition:Z()};function Z(){if(oe||J&&j.current.newIndex===w)return sCe;if(!(x&&!yP(K)||!c)&&(M||re))return Nd.Transition.toString({...c,property:rre})}}function cCe(t,e){var n,r;return typeof t=="boolean"?{draggable:t,droppable:!1}:{draggable:(n=t?.draggable)!=null?n:e.draggable,droppable:(r=t?.droppable)!=null?r:e.droppable}}var ha,ere,SD,AS,tre,nre,oCe,aCe,iCe,rre,sCe,lCe,Kst,zS=U(()=>{ha=ue(ze());Uf();ES();ere=t=>{let{rects:e,activeIndex:n,overIndex:r,index:o}=t,a=Kp(e,r,n),i=e[o],s=a[o];return!s||!i?null:{x:s.left-i.left,y:s.top-i.top,scaleX:s.width/i.width,scaleY:s.height/i.height}},SD={scaleX:1,scaleY:1},AS=t=>{var e;let{activeIndex:n,activeNodeRect:r,index:o,rects:a,overIndex:i}=t,s=(e=a[n])!=null?e:r;if(!s)return null;if(o===n){let c=a[i];return c?{x:0,y:n<i?c.top+c.height-(s.top+s.height):c.top-s.top,...SD}:null}let l=rCe(a,o,n);return o>n&&o<=i?{x:0,y:-s.height-l,...SD}:o<n&&o>=i?{x:0,y:s.height+l,...SD}:{x:0,y:0,...SD}};tre="Sortable",nre=ha.default.createContext({activeIndex:-1,containerId:tre,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:ere,disabled:{draggable:!1,droppable:!1}});oCe=t=>{let{id:e,items:n,activeIndex:r,overIndex:o}=t;return Kp(n,r,o).indexOf(e)},aCe=t=>{let{containerId:e,isSorting:n,wasDragging:r,index:o,items:a,newIndex:i,previousItems:s,previousContainerId:l,transition:c}=t;return!c||!r||s!==a&&o===i?!1:n?!0:i!==o&&e===l},iCe={duration:200,easing:"ease"},rre="transform",sCe=Nd.Transition.toString({property:rre,duration:0,easing:"linear"}),lCe={roleDescription:"sortable"};Kst=[hr.Down,hr.Right,hr.Up,hr.Left]});function ire({scrollContainerRef:t,files:e,markdownFiles:n,selectedFiles:r,selectedFilePath:o,isSaving:a,onKeyboardSelect:i,onScheduleKeyboardOpen:s,onScheduleKeyboardOpenForFile:l,onCommitKeyboardOpen:c,onReorder:u}){let{app:p,commandQueue:m,isMobile:g}=gt(),f=pt(),h=ar(),b=gr(),v=vu(),y=li(),{handleShiftArrowSelection:S,selectAll:w}=eS(),k=(0,Ga.useRef)(null),F=(0,Ga.useRef)(null),P=(0,Ga.useCallback)(V=>{let D=t.current;if(!D)return;let A=null;for(let R of D.querySelectorAll(".nn-file"))if(R.dataset.path===V){A=R;break}if(!A)return;let _=D.getBoundingClientRect(),E=A.getBoundingClientRect();E.top>=_.top&&E.bottom<=_.bottom||D.scrollTo({top:D.scrollTop+E.top-_.top-Math.max((D.clientHeight-E.height)/2,0),behavior:"auto"})},[t]),T=(0,Ga.useCallback)(V=>{F.current=V,P(V)},[P]);(0,Ga.useEffect)(()=>{if(!o)return;if(F.current===o){F.current=null;return}F.current=null;let V=window.requestAnimationFrame(()=>{P(o)});return()=>{window.cancelAnimationFrame(V)}},[P,o]),(0,Ga.useEffect)(()=>{let V=k.current;if(!V)return;k.current=null;let D=window.requestAnimationFrame(()=>{P(V)});return()=>{window.cancelAnimationFrame(D)}},[e,P]);let I=(0,Ga.useMemo)(()=>o?e.findIndex(V=>V.path===o):-1,[e,o]),N=(0,Ga.useCallback)((V,D)=>{let A=e[V];A&&(i(A,{debounceOpen:D?.debounceOpen}),T(A.path))},[e,i,T]),O=(0,Ga.useCallback)(V=>{let D=e[V];if(!D||!h.selectedFile)return;let A=e.findIndex(M=>M.path===h.selectedFile?.path);if(A===-1){b({type:"SET_SELECTED_FILE",file:D});return}let _=Ky(e,Math.min(A,V),Math.max(A,V)),{selectedFiles:E,changed:R}=Wy(h.selectedFiles,_);b({type:"APPLY_FILE_SELECTION",selectedFiles:E,selectedFile:D,lastMovementDirection:R?null:h.lastMovementDirection}),f.enterToOpenFiles||v(D),T(D.path)},[e,v,T,b,h.selectedFile,h.selectedFiles,h.lastMovementDirection,f.enterToOpenFiles]),K=(0,Ga.useCallback)(V=>{if(a)return!0;let D=o,A=dI(e,D,r,V);if(!A)return!0;let _=Lm(n,D??"",r),E=_.size>0?_:D?new Set([D]):new Set;return u({nextFiles:A.files,movedPaths:E,onApplied:()=>{k.current=A.scrollPath}}),!0},[e,a,n,u,o,r]),G=(0,Ga.useCallback)(V=>{if(are(V))return;let D=V.nativeEvent;if(_u(D))return;let A=f.keyboardShortcuts,_=I,E=e.length>0;if(f.enterToOpenFiles&&Mv(D)){let R=fc(p,h);if(!R)return;V.preventDefault();let M=Rv(D,f);if(M==="rename"){Q(()=>y.renameFile(R));return}if(M){Q(()=>no({app:p,commandQueue:m,file:R,context:M,active:!1}));return}v(R);return}if(un(D,A,Ft.LIST_MANUAL_SORT_DOWN)&&K("down")){V.preventDefault();return}if(un(D,A,Ft.LIST_MANUAL_SORT_UP)&&K("up")){V.preventDefault();return}if(un(D,A,Ft.LIST_EXTEND_SELECTION_DOWN)){if(V.preventDefault(),!g&&_!==-1){let R=S("down",_,e,{openFile:D.key==="ArrowDown"&&l?l:void 0});if(R===-1&&D.key==="ArrowDown"&&s?.(),R>=0){let M=e[R];M&&T(M.path)}}return}if(un(D,A,Ft.LIST_EXTEND_SELECTION_UP)){if(V.preventDefault(),!g&&_!==-1){let R=S("up",_,e,{openFile:D.key==="ArrowUp"&&l?l:void 0});if(R===-1&&D.key==="ArrowUp"&&s?.(),R>=0){let M=e[R];M&&T(M.path)}}return}if(un(D,A,Ft.LIST_SELECT_ALL)){V.preventDefault(),w(e);return}if(un(D,A,Ft.LIST_RANGE_TO_START)){V.preventDefault(),!g&&E&&O(0);return}if(un(D,A,Ft.LIST_RANGE_TO_END)){V.preventDefault(),!g&&E&&O(e.length-1);return}if(un(D,A,Ft.PANE_MOVE_DOWN)){if(V.preventDefault(),!E)return;let R=_===-1?0:wD(_+1,e);if(R===_){D.key==="ArrowDown"&&s?.();return}N(R,{debounceOpen:D.key==="ArrowDown"});return}if(un(D,A,Ft.PANE_MOVE_UP)){if(V.preventDefault(),!E)return;let R=_===-1?0:wD(_-1,e);if(R===_){D.key==="ArrowUp"&&s?.();return}N(R,{debounceOpen:D.key==="ArrowUp"});return}if(un(D,A,Ft.PANE_PAGE_DOWN)){if(V.preventDefault(),!E)return;let R=ore(t.current),M=_===-1?0:wD(_+R,e);if(M===_){D.key==="PageDown"&&s?.();return}N(M,{debounceOpen:D.key==="PageDown"});return}if(un(D,A,Ft.PANE_PAGE_UP)){if(V.preventDefault(),!E)return;let R=ore(t.current),M=_===-1?0:wD(_-R,e);if(M===_){D.key==="PageUp"&&s?.();return}N(M,{debounceOpen:D.key==="PageUp"});return}if(un(D,A,Ft.PANE_HOME)){if(V.preventDefault(),!E||_===0)return;N(0);return}if(un(D,A,Ft.PANE_END)){if(V.preventDefault(),!E||_===e.length-1)return;N(e.length-1)}},[e,p,m,K,S,y,g,s,l,v,t,T,N,O,w,I,h,f]),X=(0,Ga.useCallback)(V=>{if(are(V)||!c)return;let D=V.nativeEvent;_u(D)||D.ctrlKey||D.metaKey||D.altKey||D.key!=="ArrowUp"&&D.key!=="ArrowDown"&&D.key!=="PageUp"&&D.key!=="PageDown"||c()},[c]),L=(0,Ga.useCallback)(()=>{let V=t.current;V&&Di(V)},[t]);return(0,Ga.useLayoutEffect)(()=>{L();let V=window.requestAnimationFrame(L);return()=>{window.cancelAnimationFrame(V)}},[L]),{handleKeyDown:G,handleKeyUp:X}}var Ga,wD,ore,are,sre=U(()=>{Ga=ue(ze());Ur();mn();on();ot();os();td();rh();wi();Zc();ai();Jb();mR();wD=(t,e)=>e.length===0?-1:Math.max(0,Math.min(t,e.length-1)),ore=t=>{if(!t)return 1;let n=t.querySelector(".nn-manual-sort-row")?.getBoundingClientRect().height??0;return n<=0?1:Math.max(1,Math.floor(t.clientHeight/n)-1)},are=t=>{let e=t.target;return!(e instanceof HTMLElement)||e===t.currentTarget?!1:e.isContentEditable||e.closest("button, input, textarea, select")!==null}});var BS,TD,lre,dre,cre,FP=U(()=>{Uf();BS=({transform:t})=>({...t,x:0}),TD=t=>{let e=t.active?.data?.current?.type;if(!e)return kP(t);let n=t.droppableContainers.filter(r=>r.data.current?.type===e);return kP({...t,droppableContainers:n})},lre={distance:6},dre={distance:6},cre={distance:6}});function Bl({name:t,className:e,"aria-label":n,"aria-hidden":r}){let o=(0,kD.useRef)(null);return(0,kD.useEffect)(()=>{o.current&&(o.current.empty(),(0,ure.setIcon)(o.current,t))},[t]),(0,pre.jsx)("span",{ref:o,className:e,"aria-label":n,"aria-hidden":r})}var kD,ure,pre,Kf=U(()=>{kD=ue(ze()),ure=require("obsidian"),pre=ue(Ge())});function gre({canReorder:t,isDragBlockMember:e,isSorting:n=!1,isLastEntry:r,hideSeparator:o,hasCustomBackground:a,hasPreviousCustomBackground:i,hasNextCustomBackground:s,hasFilledBackground:l,hasPreviousFilledBackground:c,hasNextFilledBackground:u}){let p=["nn-manual-sort-row",t?"nn-manual-sort-row-draggable":"nn-manual-sort-row-disabled"];return e&&p.push("nn-manual-sort-row-drag-block"),n&&p.push("nn-manual-sort-row-sorting"),r&&p.push("nn-manual-sort-row-last"),o&&p.push("nn-manual-sort-row-hide-separator"),l&&p.push("nn-manual-sort-row-has-filled-background"),c&&p.push("nn-manual-sort-row-has-filled-background-previous"),u&&p.push("nn-manual-sort-row-has-filled-background-next"),a&&p.push("nn-manual-sort-row-has-custom-background"),i&&p.push("nn-manual-sort-row-has-custom-background-previous"),s&&p.push("nn-manual-sort-row-has-custom-background-next"),p.join(" ")}function mre(){}async function mCe(){}function hre({entry:t,canReorder:e,isMobile:n,selectionType:r,sortOption:o,localDayReference:a,fileIconSize:i,appearanceSettings:s,includeDescendantNotes:l,hiddenTagVisibility:c,fileNameIconNeedles:u,visibleListPropertyKeys:p,visibleNavigationPropertyKeys:m,fileItemStorage:g,shortcutKey:f,folderDecorationModel:h,fileItemPillDecorationModel:b,fileItemPillOrderModel:v,getSolidBackground:y,onFileClick:S,isSelected:w,hasSelectedAbove:k,hasSelectedBelow:F,dragHandle:P}){return(0,An.jsxs)(An.Fragment,{children:[(0,An.jsx)("div",{className:"nn-manual-sort-file",children:(0,An.jsx)(oD,{file:t.file,isSelected:w,hasSelectedAbove:k,hasSelectedBelow:F,showQuickActionsPanel:!1,onFileClick:S,fileIndex:t.info.fileIndex,sortOption:o,parentFolder:t.info.parentFolder,isPinned:!1,selectionType:r,isHidden:t.info.isHidden,onModifySearchWithTag:mre,onModifySearchWithProperty:mre,localDayReference:a,fileIconSize:i,appearanceSettings:s,includeDescendantNotes:l,hiddenTagVisibility:c,fileNameIconNeedles:u,visiblePropertyKeys:p,visibleNavigationPropertyKeys:m,fileItemStorage:g,shortcutKey:f,onToggleNoteShortcut:mCe,folderDecorationModel:h,fileItemPillDecorationModel:b,fileItemPillOrderModel:v,getSolidBackground:y,disableNativeDrag:!0,manualSortDisabled:!e})}),n&&e?P:null]})}function gCe(t){let{entry:e,isLastEntry:n,canReorder:r,isMobile:o,isDragBlockMember:a,hideSeparator:i,hasCustomBackground:s,hasPreviousCustomBackground:l,hasNextCustomBackground:c,hasFilledBackground:u,hasPreviousFilledBackground:p,hasNextFilledBackground:m,headerFilePath:g,header:f,headerWordCount:h,headerTargetWordCount:b,suppressHeaderTopSpacing:v}=t,{attributes:y,listeners:S,setNodeRef:w,setActivatorNodeRef:k,transform:F,transition:P,isSorting:T}=LS({id:e.sortableId,disabled:!r,data:{type:"manual-sort-file"}}),I={transform:F?Nd.Translate.toString(F):void 0,transition:P},N=r&&!o,O=r&&o,K=f?Bh(f,b):!1,G=(0,An.jsx)("span",{ref:k,className:"nn-drag-handle",role:"button",tabIndex:-1,...O?y:void 0,...O?S:void 0,children:(0,An.jsx)(Bl,{name:"lucide-grip-horizontal"})});return(0,An.jsxs)("div",{ref:w,className:`nn-manual-sort-sortable-item${T?" nn-manual-sort-sortable-item-sorting":""}`,style:I,children:[f?K?(0,An.jsxs)("div",{className:`nn-manual-sort-group-header-shell nn-manual-sort-custom-header${v?"":" nn-manual-sort-section-header"}`,"data-manual-sort-header-file-path":g,children:[(0,An.jsx)("div",{className:"nn-list-group-header nn-list-group-header--manual-sort",children:(0,An.jsx)(gP,{header:f,wordCount:h??0,targetWordCount:b})}),(0,An.jsx)(aD,{header:f,wordCount:h??0,targetWordCount:b})]}):(0,An.jsx)("div",{className:`nn-list-group-header nn-list-group-header--manual-sort nn-manual-sort-custom-header${v?"":" nn-manual-sort-section-header"}`,"data-manual-sort-header-file-path":g,children:(0,An.jsx)(gP,{header:f,wordCount:h??0,targetWordCount:b})}):null,(0,An.jsx)("div",{className:gre({canReorder:r,isDragBlockMember:a,isSorting:T,isLastEntry:n,hideSeparator:i,hasCustomBackground:s,hasPreviousCustomBackground:l,hasNextCustomBackground:c,hasFilledBackground:u,hasPreviousFilledBackground:p,hasNextFilledBackground:m}),...N?y:void 0,...N?S:void 0,children:(0,An.jsx)(hre,{...t,dragHandle:G})})]})}function hCe(t){let{isLastEntry:e,isDragBlockMember:n,hideSeparator:r,hasCustomBackground:o,hasPreviousCustomBackground:a,hasNextCustomBackground:i,hasFilledBackground:s,hasPreviousFilledBackground:l,hasNextFilledBackground:c}=t;return(0,An.jsx)("div",{className:gre({canReorder:!1,isDragBlockMember:n,isLastEntry:e,hideSeparator:r,hasCustomBackground:o,hasPreviousCustomBackground:a,hasNextCustomBackground:i,hasFilledBackground:s,hasPreviousFilledBackground:l,hasNextFilledBackground:c}),children:(0,An.jsx)(hre,{...t,canReorder:!1})})}function VV(t,e,n,r,o,a){let i=[],s=0,l=null,c=null,u=0,p=null,m=()=>{!l||!c||(l.headerWordCount=u,l.headerTargetWordCount=p)};return e.forEach(g=>{let f;if(n&&g.file.extension==="md"){let b=zm(t,g.file,n);b&&(s+=1,f=b,c=b,u=0,p=b.targetWordCount)}let h={key:g.sortableId,entry:g,segmentKey:`${r}:${s}`,header:f};if(i.push(h),c&&f&&(l=h,l.headerFilePath=g.file.path,m()),c&&lp(c)&&g.file.extension==="md"){if(u+=o(g.file),c.targetWordCount===null){let b=a(g.file);b!==null&&(p=(p??0)+b)}m()}}),i}function fCe({rankedRows:t,unsortedRows:e,nonMarkdownRows:n,sortableIds:r,canReorder:o,rowContext:a,noteShortcutKeysByPath:i,selectedFiles:s,activeDragPaths:l}){let{fileItemStorage:c,getSolidBackground:u}=a,p=pt(),m=Ho(),g=new Map,f=b=>{if(!b)return!1;let v=g.get(b.file.path);if(v!==void 0)return v;let y=p.showFileBackgroundUnfinishedTask?c.getDB().getFile(b.file.path)?.taskUnfinished:void 0,S=_I({customBackgroundColor:m.getFileBackgroundColor(b.file.path),taskUnfinished:y,showUnfinishedTaskBackground:p.showFileBackgroundUnfinishedTask,unfinishedTaskBackgroundColor:p.unfinishedTaskBackgroundColor,getSolidBackground:u});return g.set(b.file.path,S),S},h=(b,v=!1)=>b.map((y,S)=>{let w=y.entry,k=b[S-1],F=b[S+1],P=k?.segmentKey===y.segmentKey?k.entry:void 0,T=F?.segmentKey===y.segmentKey?F.entry:void 0,I=!T,N=s.has(w.file.path),O=T?s.has(T.file.path):!1,K=P?s.has(P.file.path):!1,G=f(w),X=f(P),L=f(T),V=G&&X,D=L,A=N||G,_=A&&!!(P&&(K||X)),E=A&&!!(T&&(O||L)),R={...a,entry:w,isLastEntry:I,canReorder:o&&w.file.extension==="md",isSelected:N,hasSelectedAbove:!!(P&&s.has(P.file.path)),hasSelectedBelow:!!(T&&s.has(T.file.path)),isDragBlockMember:l.has(w.file.path),hideSeparator:N&&!O||!N&&O,hasCustomBackground:G,hasPreviousCustomBackground:V,hasNextCustomBackground:D,hasFilledBackground:A,hasPreviousFilledBackground:_,hasNextFilledBackground:E,headerFilePath:y.headerFilePath,header:y.header,headerWordCount:y.headerWordCount,headerTargetWordCount:y.headerTargetWordCount,suppressHeaderTopSpacing:!!(y.header&&v&&S===0),shortcutKey:i.get(w.file.path)};return w.file.extension!=="md"?(0,An.jsx)(hCe,{...R},y.key):(0,An.jsx)(gCe,{...R},y.key)});return(0,An.jsxs)(OS,{items:r,strategy:AS,children:[h(t,!0),e.length>0?(0,An.jsxs)(An.Fragment,{children:[(0,An.jsx)("div",{className:"nn-list-group-header nn-manual-sort-section-header",children:(0,An.jsx)("span",{className:"nn-list-group-header-text",children:d.listPane.unsortedSection})}),h(e)]}):null,h(n)]})}function vCe(t){let e=new Map;return t.forEach(n=>{n.type!==en.FILE||!(n.data instanceof PP.TFile)||e.set(n.data.path,{fileIndex:n.fileIndex,parentFolder:n.parentFolder,isHidden:n.isHidden})}),e}function fre({files:t,listItems:e,hiddenFileState:n,propertyKey:r,manualSortGroupHeaderPropertyKey:o,wordCountTargetProperty:a,rankByPath:i,selectedFolderPath:s,isSaving:l,isDoneDisabled:c,selectionType:u,sortOption:p,localDayReference:m,fileIconSize:g,appearanceSettings:f,includeDescendantNotes:h,hiddenTagVisibility:b,fileNameIconNeedles:v,visibleListPropertyKeys:y,visibleNavigationPropertyKeys:S,fileItemStorage:w,noteShortcutKeysByPath:k,folderDecorationModel:F,fileItemPillDecorationModel:P,fileItemPillOrderModel:T,getSolidBackground:I,selectedFiles:N,selectedFilePath:O,onFileClick:K,onKeyboardSelect:G,onScheduleKeyboardOpen:X,onScheduleKeyboardOpenForFile:L,onCommitKeyboardOpen:V,onDone:D,onReorder:A}){let{app:_,isMobile:E}=gt(),R=Ho(),M=(0,Nr.useRef)(null),[C,x]=(0,Nr.useState)(()=>new Set),z=(0,Nr.useMemo)(()=>vCe(e),[e]),H=(0,Nr.useMemo)(()=>ld(t),[t]),Y=H.markdown,ee=H.nonMarkdown,$=(0,Nr.useMemo)(()=>new Map(t.map((Ae,Ke)=>[Ae.path,Ke])),[t]),j=(0,Nr.useMemo)(()=>Y.filter(Ae=>i.has(Ae.path)),[Y,i]),J=(0,Nr.useMemo)(()=>Y.filter(Ae=>!i.has(Ae.path)),[Y,i]),re=ee.length,oe=t.length===0,Z=(0,Nr.useCallback)(Ae=>Ae.map(Ke=>{let Be=z.get(Ke.path)??{};return{file:Ke,sortableId:Ke.path,info:{...Be,fileIndex:$.get(Ke.path)??Be.fileIndex,parentFolder:Be.parentFolder??s,isHidden:Be.isHidden??n.get(Ke.path)}}}),[z,n,$,s]),ce=(0,Nr.useMemo)(()=>Z(j),[Z,j]),ae=(0,Nr.useMemo)(()=>Z(J),[Z,J]),se=(0,Nr.useMemo)(()=>Z(ee),[Z,ee]),ne=(0,Nr.useCallback)(Ae=>gI(w.getDB().getFile(Ae.path)?.wordCount),[w]),B=(0,Nr.useCallback)(Ae=>ET(w.getDB().getFile(Ae.path)?.properties,a)??sI(_,Ae,a),[_,w,a]),q=(0,Nr.useMemo)(()=>VV(_,ce,o,"ranked",ne,B),[_,ne,B,o,ce]),ie=(0,Nr.useMemo)(()=>VV(_,ae,o,"unsorted",ne,B),[_,ne,B,o,ae]),le=(0,Nr.useMemo)(()=>VV(_,se,null,"non-markdown",ne,B),[_,ne,B,se]),Te=(0,Nr.useMemo)(()=>[...ce,...ae,...se],[se,ce,ae]),ke=(0,Nr.useMemo)(()=>new Map(Te.map(Ae=>[Ae.sortableId,Ae])),[Te]),Fe=(0,Nr.useMemo)(()=>Y.map(Ae=>Ae.path),[Y]),te=(0,Nr.useMemo)(()=>({isMobile:E,selectionType:u,sortOption:p,localDayReference:m,fileIconSize:g,appearanceSettings:f,includeDescendantNotes:h,hiddenTagVisibility:b,fileNameIconNeedles:v,visibleListPropertyKeys:y,visibleNavigationPropertyKeys:S,fileItemStorage:w,folderDecorationModel:F,fileItemPillDecorationModel:P,fileItemPillOrderModel:T,getSolidBackground:I,onFileClick:K}),[E,u,p,m,g,f,h,b,v,y,S,w,F,P,T,I,K]),pe=(0,Nr.useCallback)(Ae=>{let Ke=Lm(Y,Ae,N);return Ke.size>1?Ke:new Set},[Y,N]),ve=(0,Nr.useCallback)((Ae,Ke)=>KG(t,Ae,Ke,N),[t,N]),Ie=RS(Vg(_f,{activationConstraint:uCe}),Vg(Hf,{activationConstraint:pCe})),{handleKeyDown:qe,handleKeyUp:xe}=ire({scrollContainerRef:M,files:t,markdownFiles:Y,selectedFiles:N,selectedFilePath:O,isSaving:l,onKeyboardSelect:G,onScheduleKeyboardOpen:X,onScheduleKeyboardOpenForFile:L,onCommitKeyboardOpen:V,onReorder:A}),Ce=(0,Nr.useCallback)(Ae=>{if(x(new Set),l)return;let Ke=Ae.active.id,Be=Ae.over?.id;if(!Be||Ke===Be)return;let wt=ke.get(Ke),Ct=ke.get(Be);if(!wt||!Ct||wt.file.extension!=="md"||Ct.file.extension!=="md")return;let qt=ve(wt.file.path,Ct.file.path);if(!qt)return;let lt=Lm(Y,wt.file.path,N);A({nextFiles:qt,movedPaths:lt.size>1?lt:new Set([wt.file.path])})},[l,Y,ve,A,N,ke]),vt=(0,Nr.useCallback)(Ae=>{if(l)return;let Ke=Ae.active.id;x(pe(Ke))},[pe,l]),Rt=(0,Nr.useCallback)(()=>{x(new Set)},[]),Ve=(0,Nr.useCallback)(Ae=>{if(!o)return;let Ke=Ae.target;if(!(Ke instanceof Element))return;let Be,wt=Ke.closest(".nn-manual-sort-custom-header");if(wt instanceof HTMLElement&&(Be=wt.dataset.manualSortHeaderFilePath),!Be){let lt=Ke.closest(".nn-file");if(!(lt instanceof HTMLElement))return;Be=lt.dataset.path}let Ct=Be?_.vault.getFileByPath(Be):null;if(!(Ct instanceof PP.TFile)||Ct.extension!=="md")return;Ae.preventDefault(),Ae.stopPropagation();let qt=new PP.Menu;hS({menu:qt,app:_,file:Ct,propertyKey:o,metadataService:R}),qt.showAtMouseEvent(Ae.nativeEvent)},[_,o,R]);return(0,An.jsx)("div",{ref:M,className:"nn-list-pane-scroller nn-manual-sort-scroller",role:"list",tabIndex:-1,onKeyDown:qe,onKeyUp:xe,onContextMenu:Ve,children:(0,An.jsxs)("div",{className:"nn-manual-sort-panel",children:[(0,An.jsxs)("div",{className:"nn-manual-sort-header",children:[(0,An.jsxs)("div",{className:"nn-manual-sort-header-text",children:[(0,An.jsx)("span",{className:"nn-manual-sort-title",children:d.listPane.manualSortTitle.replace("{property}",r)}),(0,An.jsx)("span",{className:"nn-manual-sort-hint",children:d.listPane.manualSortHint.replace("{property}",r)}),re>0?(0,An.jsx)("span",{className:"nn-manual-sort-hint",children:d.listPane.manualSortNonMarkdownHint}):null]}),(0,An.jsx)("button",{type:"button",className:"nn-support-button nn-manual-sort-done",onClick:D,disabled:c,children:d.listPane.manualSortDone})]}),oe?(0,An.jsx)("div",{className:"nn-empty-state",children:(0,An.jsx)("div",{className:"nn-empty-message",children:d.listPane.emptyStateNoNotes})}):(0,An.jsx)(DS,{sensors:Ie,collisionDetection:TD,modifiers:[BS],onDragStart:vt,onDragCancel:Rt,onDragEnd:Ce,children:(0,An.jsx)("div",{className:"nn-manual-sort-list","aria-busy":l?"true":void 0,children:Te.length>0?(0,An.jsx)(fCe,{rankedRows:q,unsortedRows:ie,nonMarkdownRows:le,sortableIds:Fe,canReorder:!l,rowContext:te,noteShortcutKeysByPath:k,selectedFiles:N,activeDragPaths:C}):null})})]})})}var Nr,PP,An,uCe,pCe,vre=U(()=>{Nr=ue(ze());Uf();zS();ES();PP=require("obsidian");mn();on();Ee();Ue();sre();FP();wi();pp();HR();Am();Kf();MV();RV();An=ue(Ge()),uCe={distance:2},pCe={distance:4}});function bCe(t){return activeDocument?.body?(_S||(_S=new MutationObserver(()=>{FD.forEach(e=>e())}),_S.observe(activeDocument.body,yCe)),FD.add(t),()=>{FD.delete(t),FD.size===0&&_S&&(_S.disconnect(),_S=null)}):()=>{}}function SCe(t,e){if(!t)return{observer:null,rafId:window.requestAnimationFrame(()=>e())};let n=new MutationObserver(e);return n.observe(t,{attributes:!0,attributeFilter:["class","style"]}),{observer:n,rafId:null}}function PD(t,e){let{app:n,rootContainerRef:r,variables:o}=e,[a,i]=(0,Wf.useState)(null),[s,l]=(0,Wf.useState)(0),c=(0,Wf.useMemo)(()=>o.slice(),[o]);return(0,Wf.useEffect)(()=>{let u=t.current;if(!u)return;let p=!1,m=()=>{if(p)return;let S=t.current;if(!S)return;let w=window.getComputedStyle(S),k=jm(w.backgroundColor,{container:S}),F=!1;i(T=>jY(T,k)?T:(F=!0,k));let P=!1;for(let T of c){let I=w.getPropertyValue(T.source),N=xy(k,I,{container:S}),O=S.style.getPropertyValue(T.target);N?O!==N&&(S.style.setProperty(T.target,N),P=!0):O&&(S.style.removeProperty(T.target),P=!0)}(F||P)&&l(T=>T+1)},g=window.requestAnimationFrame(m);m();let f=null,h=null,b=()=>{if(f)return;let S=r.current;if(!S){h=window.requestAnimationFrame(b);return}let w=SCe(S,m);f=w.observer,h=w.rafId};b();let v=bCe(m),y=null;return n?.workspace&&(y=n.workspace.on("css-change",m)),()=>{p=!0,cancelAnimationFrame(g),h!==null&&cancelAnimationFrame(h),f&&f.disconnect(),v(),y&&n?.workspace?.offref(y),u&&HY(u)}},[n,t,r,c]),{color:a,version:s}}var Wf,yCe,FD,_S,UV=U(()=>{Wf=ue(ze());pp();yCe={attributes:!0,attributeFilter:["class","style","data-theme"]},FD=new Set,_S=null});var yre,bre,KV=U(()=>{yre=[{source:"--nn-theme-file-selected-bg",target:"--nn-computed-file-selected-bg"},{source:"--nn-theme-file-selected-inactive-bg",target:"--nn-computed-file-selected-inactive-bg"}],bre=[{source:"--nn-theme-navitem-selected-bg",target:"--nn-computed-navitem-selected-bg"},{source:"--nn-theme-navitem-selected-inactive-bg",target:"--nn-computed-navitem-selected-inactive-bg"},{source:"--nn-theme-tag-positive-bg",target:"--nn-computed-tag-positive-bg"},{source:"--nn-theme-tag-negative-bg",target:"--nn-computed-tag-negative-bg"}]});function Sre(t){return ld(t).markdown.map(e=>e.path)}function WV(t,e,n,r=[]){let o=new Map;if(!n)return o;let a=new Set(e.map(i=>i.path));return e.forEach(i=>{if(i.extension!=="md")return;let s=RT(t,i,n);s!==null&&o.set(i.path,s)}),r.forEach(i=>{a.has(i.path)&&o.set(i.path,i.value)}),o}function TCe({onHeaderClick:t,isSearchActive:e,onSearchToggle:n,onManualSortStart:r,getManualSortNewFileContext:o,actionsDisabled:a,shouldShowDesktopTitleArea:i,children:s}){let{desktopTitle:l,breadcrumbSegments:c,iconName:u,showIcon:p}=QJ();return(0,fa.jsxs)(fa.Fragment,{children:[(0,fa.jsx)(Bee,{onHeaderClick:t,isSearchActive:e,onSearchToggle:n,onManualSortStart:r,getManualSortNewFileContext:o,actionsDisabled:a,desktopTitle:l,breadcrumbSegments:c,iconName:u,showIcon:p}),s,i?(0,fa.jsx)(xte,{desktopTitle:l}):null]})}var tt,Pu,fa,wCe,wre,Tre=U(()=>{tt=ue(ze()),Pu=require("obsidian");Ur();mn();on();pa();Qs();Xi();xg();bZ();NJ();jH();YJ();ZJ();AR();nee();aee();eP();Ue();Rn();_ee();Vee();lP();Ite();Ete();fne();vre();JF();Tr();UV();KV();iS();Dr();dn();Zl();pp();ot();ai();wi();Fn();tp();Ee();Ai();qF();os();fa=ue(Ge()),wCe=new Set;wre=tt.default.memo((0,tt.forwardRef)(function(e,n){let{app:r,isMobile:o,plugin:a,fileSystemOps:i,tagTreeService:s,propertyTreeService:l}=gt(),{onNavigateToFolder:c,onRevealTag:u,onRevealProperty:p,folderDecorationModel:m,fileItemPillDecorationModel:g,fileItemPillOrderModel:f}=e,h=ar(),b=gr(),v=pt(),y=$s(),{fileNameIconNeedles:S}=_M(),w=ta(),k=Ra(),F=Xt(),P=F.includeDescendantNotes,T=F.showHiddenItems,I=F.showCalendar,N=eee(),{getFileDisplayName:O,getDB:K,getFileTimestamps:G,hasPreview:X,regenerateFeatureImageForFile:L}=xo(),{noteShortcutKeysByPath:V,addNoteShortcut:D,removeShortcut:A}=Td(),_=Yn(),E=Vr(),R=!_.singlePane&&_.effectiveDualPaneOrientation==="vertical",M=v.calendarPlacement,C=v.calendarEnabled&&M==="left-sidebar"&&I&&R,x=(0,tt.useRef)(null),z=(0,tt.useRef)(null),H=Pu.Platform.isAndroidApp,{color:Y,version:ee}=PD(x,{app:r,rootContainerRef:e.rootContainerRef,variables:yre}),$=(0,tt.useRef)(new Map),[j,J]=(0,tt.useState)(()=>v.calendarWeeksToShow),[re,oe]=(0,tt.useState)(!1),[Z,ce]=(0,tt.useState)(null),[ae,se]=(0,tt.useState)(null),[ne,B]=(0,tt.useState)(null),[q,ie]=(0,tt.useState)(null),le=(0,tt.useRef)(null),Te=(0,tt.useRef)(null),ke=(0,tt.useRef)(0),Fe=(0,tt.useRef)(0),te=(0,tt.useRef)(0),pe=(0,tt.useRef)(!1),ve=(0,tt.useRef)(null),Ie=(0,tt.useRef)(!1),qe=(0,tt.useRef)(D),xe=(0,tt.useRef)(A),Ce=v.listPaneTitle??"header",vt=!o&&Ce==="list",Rt=aS(o),Ve=vt?0:Rt.topSpacer,Ae=(0,tt.useMemo)(()=>{if(!v.showFileIcons)return{"--nn-file-icon-slot-width":"0px","--nn-file-icon-slot-width-mobile":"0px","--nn-file-icon-slot-gap":"0px"}},[v.showFileIcons]),Ke=(0,tt.useMemo)(()=>({...Ae??{},"--nn-calendar-week-count":j}),[j,Ae]);(0,tt.useEffect)(()=>{v.calendarWeeksToShow!==6&&J(v.calendarWeeksToShow)},[v.calendarWeeksToShow]),(0,tt.useEffect)(()=>{$.current.clear()},[Y,ee]);let Be=(0,tt.useMemo)(()=>dt=>{if(!dt)return;let ft=dt.trim();if(!ft)return;let Vt=$.current;if(Vt.has(ft))return Vt.get(ft);let jn=x.current,Mn=xy(Y,ft,{container:jn??null});return Vt.set(ft,Mn),Mn},[Y,ee]),wt=o&&Pu.Platform.isIosApp&&v.useFloatingToolbars,Ct=(0,tt.useMemo)(()=>wt?YP:0,[wt]),qt=(0,tt.useRef)(null),{isSearchActive:lt,searchProvider:Zt,searchQuery:Kt,debouncedSearchQuery:gn,debouncedSearchTokens:fn,searchHighlightQuery:an,shouldFocusSearch:Pe,activeSearchShortcut:ge,isSavingSearchShortcut:be,suppressSearchTopScrollRef:me,setSearchQuery:fe,handleSearchToggle:we,closeSearch:Re,focusSearchComplete:nt,handleSaveSearchShortcut:ct,handleRemoveSearchShortcut:yt,modifySearchWithTag:bn,modifySearchWithProperty:Kn,modifySearchWithDateToken:kr,toggleSearch:Wo,executeSearchShortcut:co}=tee({rootContainerRef:e.rootContainerRef,onSearchTokensChange:e.onSearchTokensChange,onNavigateToFolder:c,onRevealTag:u,onRevealProperty:p,ensureSelectionForCurrentFilterRef:qt}),{selectionType:wn,selectedFolder:Jt,selectedTag:$n,selectedProperty:Xn,selectedFile:Zn}=h,Ir=wn===W.FOLDER?Jt?.path??null:null,Jn=Tm(v,wn,Jt,$n,Xn),er=Jn.option,On=Jn.propertyKey.trim(),je=Kd(er)==="property"&&as(v,On),rt=sd(v),Et=(0,tt.useMemo)(()=>wn===W.FOLDER&&Jt?`${wn}:${Jt.path}`:wn===W.TAG&&$n?`${wn}:${$n}`:wn===W.PROPERTY&&Xn?`${wn}:${Xn}`:"none",[Jt,Xn,$n,wn]),Xe=ne!==null;(0,tt.useLayoutEffect)(()=>{let dt=Ie.current;if(Ie.current=Xe,!dt||Xe)return;let ft=e.rootContainerRef.current;ft&&Di(ft)},[Xe,e.rootContainerRef]);let Ht=bx({selectionType:wn,selectedFolder:Jt,selectedTag:$n,selectedProperty:Xn}),vn=v.collapsedPinnedContexts[Ht]!==!0,it=tt.default.useCallback(()=>{Q(()=>a.togglePinnedGroupCollapsed(Ht))},[Ht,a]),Yt=Xe?wCe:w.collapsedListGroups,fr=(0,tt.useMemo)(()=>{let dt=Array.from(Yt);return dt.sort(),`${vn?"expanded":"collapsed"}:${dt.join("")}`},[Yt,vn]),Do=tt.default.useCallback(dt=>{k({type:"TOGGLE_LIST_GROUP_COLLAPSED",collapseKey:dt})},[k]);(0,tt.useEffect)(()=>{!ne||ne.selectionKey===Et||B(null)},[Et,ne]),(0,tt.useEffect)(()=>{q&&(Xe||lt||!je||!On||q.selectionKey!==Et||q.propertyKey!==On)&&(pe.current=!1,ve.current=null,ie(null))},[On,Xe,je,lt,Et,q]);let ba=!Xe&&!lt&&je&&On.length>0,nl=ba&&q?.selectionKey===Et&&q.propertyKey===On?q:null,Cc=nl?.order??null,Sa=kf({groupBy:N.groupBy,sortOption:er,selectionType:wn,isManualSortActive:je,isManualSortEditActive:Xe}),So=(0,tt.useMemo)(()=>Sa===N.groupBy?N:{...N,groupBy:Sa},[N,Sa]),qa=tt.default.useCallback((dt,ft,Vt,jn)=>{if(Vt.length===0){jn(!1);return}Q(async()=>{let Mn=!1;try{let wo=await AT(r,dt,ft,Vt);wo.failed>0&&(Mn=!0,de(d.dragDrop.errors.failedToSetProperty.replace("{error}",zh(wo)),{variant:"warning"}))}catch(wo){Mn=!0,de(d.dragDrop.errors.failedToSetProperty.replace("{error}",to(wo,d.common.unknownError)),{variant:"warning"})}finally{jn(Mn)}})},[r]),Iu=tt.default.useCallback((dt,ft,Vt,jn,Mn,wo)=>{qa(dt,ft,Vt,uo=>{B(ia=>!ia||ia.propertyKey!==ft||ia.selectionKey!==jn||ia.sessionId!==Mn||ia.saveId!==wo?ia:{...ia,order:uo?null:ia.order,pendingAssignments:uo?[]:ia.pendingAssignments,isSaving:!1})})},[qa]),Ul=tt.default.useCallback((dt,ft,Vt,jn,Mn)=>{qa(dt,ft,Vt,wo=>{te.current===Mn&&(pe.current=!1),ie(uo=>!uo||uo.propertyKey!==ft||uo.selectionKey!==jn||uo.saveId!==Mn?uo:wo?null:{...uo,isSaving:!1})})},[qa]),Ya=tt.default.useCallback((dt,ft)=>{new En(r,d.modals.manualSortConfirm.compactTitle,d.modals.manualSortConfirm.compactMessage(dt),ft,d.modals.manualSortConfirm.compactConfirmButton,{confirmButtonClass:"mod-cta"}).open()},[r]),Md=tt.default.useCallback(dt=>{let ft=ke.current+1;ke.current=ft;let Vt=Et;Re(),_.singlePane&&E({type:"SET_SINGLE_PANE_VIEW",view:"files"}),E({type:"SET_FOCUSED_PANE",pane:"files"}),B({propertyKey:dt,order:null,pendingAssignments:[],isSaving:!1,selectionKey:Vt,sessionId:ft,saveId:0})},[Re,Et,E,_.singlePane]),$p=!_.singlePane||_.currentSinglePaneView==="files",{listItems:$a,orderedFiles:vr,orderedFileIndexMap:jo,filePathToIndex:Xr,files:Wr,hiddenFileState:Nc,localDayKey:pi}=CJ({selectionType:wn,selectedFolder:Jt,selectedTag:$n,selectedProperty:Xn,settings:v,activeProfile:y,groupBy:So.groupBy,pinnedGroupExpanded:vn,collapsedListGroups:Yt,searchProvider:Zt,searchQuery:!Xe&&lt?gn:void 0,searchTokens:!Xe&&lt?fn:void 0,visibility:{includeDescendantNotes:P,showHiddenItems:T},propertySortOrderOverride:Cc}),Xp=$a[0]?.type===en.TOP_SPACER&&$a[1]?.type===en.HEADER,Qp=v.stickyGroupHeaders&&Xp?0:Ve,Ns=(0,tt.useMemo)(()=>zr.parseLocalDayKey(pi),[pi]);(0,tt.useEffect)(()=>{if(!q||q.isSaving)return;let dt=new Set(q.order),Vt=Wr.filter(Mn=>dt.has(Mn.path)).filter(Mn=>Mn.extension==="md").map(Mn=>Mn.path);if(!(Vt.length===q.order.length&&Vt.every((Mn,wo)=>Mn===q.order[wo]))){ie(Mn=>Mn&&Mn.saveId===q.saveId?null:Mn);return}ZG(r,q.assignmentFiles,q.propertyKey,q.pendingAssignments)&&ie(Mn=>Mn&&Mn.saveId===q.saveId&&!Mn.isSaving?null:Mn)},[r,Wr,q]);let Yg=(0,tt.useMemo)(()=>wn!=="folder"||!Jt?null:Jt.path,[wn,Jt]),{visibleListPropertyKeys:Qi,visibleNavigationPropertyKeys:Zp}=(0,tt.useMemo)(()=>({visibleListPropertyKeys:qv(y.propertyKeys,"list"),visibleNavigationPropertyKeys:qv(y.propertyKeys,"navigation")}),[y.propertyKeys]),Jp=(0,tt.useMemo)(()=>({getFileDisplayName:O,getDB:K,getFileTimestamps:G,hasPreview:X,regenerateFeatureImageForFile:L}),[O,K,G,X,L]),xu=(0,tt.useMemo)(()=>Br(y.hiddenTags,T),[y.hiddenTags,T]),mi=tt.default.useCallback(dt=>{let ft=gne(dt,z.current);ce(Vt=>Vt===ft?Vt:ft)},[]),Ic=tt.default.useCallback(dt=>{if(typeof window>"u"||typeof window.requestAnimationFrame!="function"){mi(dt);return}le.current!==null&&window.cancelAnimationFrame(le.current),le.current=window.requestAnimationFrame(()=>{le.current=null,mi(dt)})},[mi]),Rd=tt.default.useCallback((dt,ft)=>{if(dt){oe(Vt=>Vt||!0),ce(Vt=>Vt===null?Vt:null);return}mi(ft),oe(!1)},[mi]),Dd=tt.default.useCallback((dt,ft)=>{if(oe(!1),!dt){le.current!==null&&(window.cancelAnimationFrame(le.current),le.current=null),ce(Vt=>Vt===null?Vt:null);return}mi(ft),Ic(ft)},[mi,Ic]),Is=(0,tt.useMemo)(()=>{if(Qi.size===0)return"";let dt=Array.from(Qi);return dt.sort(),dt.join("")},[Qi]);(0,tt.useEffect)(()=>{if(Xe||!h.isRevealOperation||h.revealSource!=="manual"||!Zn||Xr.has(Zn.path))return;let dt=wJ($a,Zn.path,vn);if(dt){if(dt.type==="pinned"){if(Te.current===Ht)return;Te.current=Ht,Q(async()=>{try{await a.togglePinnedGroupCollapsed(Ht)}finally{Te.current===Ht&&(Te.current=null)}});return}k({type:"EXPAND_LIST_GROUP",collapseKey:dt.collapseKey})}},[k,Xr,Xe,$a,Ht,vn,a,Zn,h.isRevealOperation,h.revealSource]);let{rowVirtualizer:xs,scrollContainerRef:Ao,scrollContainerRefCallback:Kl,handleScrollToTop:$g,scrollToIndexSafely:gi}=qJ({enabled:!Xe,listItems:$a,filePathToIndex:Xr,selectedFile:Zn,selectedFolder:Jt,selectedTag:$n,selectedProperty:Xn,settings:v,folderSettings:So,isVisible:$p,selectionState:h,selectionDispatch:b,searchQuery:!Xe&&lt?gn:void 0,suppressSearchTopScrollRef:me,topSpacerHeight:Qp,includeDescendantNotes:P,groupCollapseStateSignature:fr,visiblePropertyKeys:Qi,visiblePropertyKeySignature:Is,hiddenTagVisibility:xu,scrollMargin:0,scrollPaddingEnd:Ct,onVirtualizerScrollingChange:Rd,onScrollContainerVisibilityChange:Dd}),em=tt.default.useCallback(()=>{let dt=()=>{let ft=Ao.current??e.rootContainerRef.current;ft&&Di(ft)};if(typeof window.requestAnimationFrame=="function"){window.requestAnimationFrame(dt);return}window.setTimeout(dt,0)},[e.rootContainerRef,Ao]),Zi=(0,tt.useRef)(C),tm=(0,tt.useRef)(j);(0,tt.useEffect)(()=>{let dt=Zi.current,ft=tm.current,Vt=C&&!dt,jn=C&&j!==ft;if(Zi.current=C,tm.current=j,!Vt&&!jn||!Zn)return;let Mn=Xr.get(Zn.path);if(Mn===void 0)return;let wo=()=>gi(Mn,"auto");if(typeof requestAnimationFrame<"u"){window.requestAnimationFrame(()=>{window.requestAnimationFrame(wo)});return}window.setTimeout(wo,0)},[j,Xr,gi,Zn,C]);let nm=tt.default.useCallback((dt,ft)=>{z.current=ft,ce(Vt=>Vt===dt?Vt:dt)},[]);(0,tt.useEffect)(()=>{if(o)return;let dt=Vt=>{z.current={clientX:Vt.clientX,clientY:Vt.clientY}},ft=Vt=>{Vt.relatedTarget||(z.current=null)};return window.addEventListener("mousemove",dt,{passive:!0}),window.addEventListener("mouseout",ft),()=>{window.removeEventListener("mousemove",dt),window.removeEventListener("mouseout",ft)}},[o]),(0,tt.useEffect)(()=>()=>{le.current!==null&&(window.cancelAnimationFrame(le.current),le.current=null)},[]),(0,tt.useLayoutEffect)(()=>{re||mi(Ao.current)},[re,$a,Ao,mi]),(0,tt.useEffect)(()=>{qe.current=D,xe.current=A},[D,A]),Og(Ao,{type:YF,item:Jt??null,options:{orderedFiles:vr}});let rm=N.mode==="compact",{selectFileFromList:Es,selectAdjacentFile:Se,ensureSelectionForCurrentFilter:Ne,handleFileItemClick:He,lastSelectedFilePath:ht,isFileSelected:sn,scheduleKeyboardSelectionOpen:yr,scheduleKeyboardSelectionOpenForFile:Qr,commitPendingKeyboardSelectionOpen:hi}=oee({rootContainerRef:e.rootContainerRef,orderedFiles:vr,filePathToIndex:Xr,scrollToIndexSafely:gi});qt.current=Ne;let fi=tt.default.useCallback(async(dt,ft)=>{if(ft){await xe.current(ft);return}await qe.current(dt.path)},[]),Fr=tt.default.useCallback((dt,ft,Vt)=>{if(!ft)return[...dt];let jn=[...dt],Mn=new Map;return $w(jn,"property-asc",uo=>G(uo).created,uo=>G(uo).modified,O,uo=>{if(Mn.has(uo.path))return Mn.get(uo.path)??null;let ia=Vt.get(uo.path),sm=ia===void 0?jG(r,uo,ft):ia.toString();return Mn.set(uo.path,sm),sm},v.propertySortSecondary),jn},[r,O,G,v.propertySortSecondary]),aa=tt.default.useCallback(dt=>{if(!dt||wn!==W.FOLDER||!Jt||!P)return{files:Wr,isBroadened:!1};let ft=Jt.parent instanceof Pu.TFolder?Jt.parent:null;if(!ft||ft.path===Jt.path)return{files:Wr,isBroadened:!1};for(;ft.parent instanceof Pu.TFolder&&ft.parent.path!==ft.path;)ft=ft.parent;let Vt=ca({selectionType:W.FOLDER,selectedFolder:ft},v,{includeDescendantNotes:!0,showHiddenItems:T},r,s,l,{orderResults:!1}),jn=new Set(Wr.map(wo=>wo.path));return Vt.some(wo=>!jn.has(wo.path))?{files:Vt,isBroadened:!0}:{files:Wr,isBroadened:!1}},[r,Wr,P,l,Jt,wn,v,T,s]),Wn=ne?.propertyKey??"",Ji=(0,tt.useMemo)(()=>aa(Wn),[aa,Wn]),Go=Ji.files,Ii=Ji.isBroadened,es=(0,tt.useMemo)(()=>WV(r,Go,Wn,ne?.pendingAssignments??[]),[r,Go,Wn,ne?.pendingAssignments]),Ye=(0,tt.useMemo)(()=>Wn?Fr(Go,Wn,es):Go,[Go,Wn,es,Fr]),xt=(0,tt.useMemo)(()=>Ii?aL(Jt,Go,Ye):void 0,[Ii,Go,Ye,Jt]),Vn=(0,tt.useMemo)(()=>Wn?Fr(Wr,Wn,es):Wr,[Wr,Wn,es,Fr]),Qn=(0,tt.useMemo)(()=>{let dt=ne?.order;return dt?lI(Vn,dt):Vn},[ne?.order,Vn]),Or=(0,tt.useMemo)(()=>ba?WV(r,vr,On,nl?.pendingAssignments??[]):new Map,[nl?.pendingAssignments,r,ba,On,vr]),za=tt.default.useCallback(()=>{if(!ba)return{files:vr,isBroadened:!1,rankByPath:Or};let dt=aa(On);if(!dt.isBroadened)return{files:vr,isBroadened:!1,rankByPath:Or};let ft=WV(r,dt.files,On,nl?.pendingAssignments??[]),Vt=Fr(dt.files,On,ft);return{files:Vt,isBroadened:!0,rankByPath:ft,insertionIndex:aL(Jt,dt.files,Vt)}},[nl?.pendingAssignments,r,ba,On,aa,vr,Or,Jt,Fr]),om=!!ne?.isSaving,Xg=tt.default.useCallback(()=>{!ne||om||B(null)},[om,ne]),Qg=tt.default.useCallback(({nextFiles:dt,movedPaths:ft,onApplied:Vt})=>{if(!ne?.propertyKey)return;let{propertyKey:jn,selectionKey:Mn,sessionId:wo}=ne,uo=Ii?cI(Ye,Qn,dt):dt,ia=hy(uo,ft,es),sm=()=>{let iw=Fe.current+1;Fe.current=iw;let sw=Sre(dt);Vt?.(),B(Qf=>Qf&&Qf.sessionId===wo?{...Qf,order:sw,pendingAssignments:ia.assignments,isSaving:ia.assignments.length>0,saveId:iw}:Qf),Iu(ia.files,jn,ia.assignments,Mn,wo,iw)};if(ia.requiresCompaction){Ya(ia.assignments.length,sm);return}sm()},[Ya,Ii,Qn,Ye,es,ne,Iu]),xc=tt.default.useCallback((dt,ft,Vt)=>{He(dt,ft,Vt,Qn)},[He,Qn]),rw=tt.default.useCallback((dt,ft)=>{Es(dt,{markKeyboardNavigation:!0,suppressOpen:v.enterToOpenFiles,debounceOpen:ft?.debounceOpen})},[Es,v.enterToOpenFiles]),Ec=tt.default.useCallback(dt=>{if(!dt)return[];let ft=$a.find(jn=>jn.type===en.FILE&&jn.data instanceof Pu.TFile&&jn.data.path===dt);if(!ft||!(ft.data instanceof Pu.TFile))return[];let Vt=!!ft.isPinned;return $a.flatMap(jn=>jn.type!==en.FILE||!(jn.data instanceof Pu.TFile)?[]:!!jn.isPinned!==Vt?[]:[jn.data])},[$a]),ow=tt.default.useCallback(dt=>{if(!ba)return!1;if(pe.current)return!0;let ft=Zn?.path??null,Vt=Ec(ft),jn=dI(Vt,ft,h.selectedFiles,dt);if(!jn)return!0;let Mn=new Set(Vt.map(Mu=>Mu.path)),wo=0,uo=vr.map(Mu=>{if(!Mn.has(Mu.path))return Mu;let Rie=jn.files[wo];return wo+=1,Rie??Mu}),{markdown:ia}=ld(Vt),sm=Lm(ia,ft??"",h.selectedFiles),iw=sm.size>1?sm:new Set(ft?[ft]:[]),sw=za(),Qf=sw.isBroadened?cI(sw.files,vr,uo):uo,Zg=hy(Qf,iw,sw.rankByPath),y1=()=>{let Mu=te.current+1;te.current=Mu,pe.current=!0,ve.current=jn.scrollPath,ie({propertyKey:On,order:Sre(uo),pendingAssignments:Zg.assignments,assignmentFiles:Zg.files,isSaving:Zg.assignments.length>0,selectionKey:Et,saveId:Mu}),Ul(Zg.files,On,Zg.assignments,Et,Mu)};return Zg.requiresCompaction?(Ya(Zg.assignments.length,y1),!0):(y1(),!0)},[ba,Ya,On,za,Ec,Et,vr,Ul,Zn,h.selectedFiles]),Eu=tt.default.useCallback(()=>{let dt=Zn?.path??null,ft=v.manualSortNewNotePlacement,Vt=wn===W.FOLDER&&Jt?{targetType:"folder",targetKey:Jt.path}:wn===W.TAG&&$n?{targetType:"tag",targetKey:$n}:wn===W.PROPERTY&&Xn?{targetType:"property",targetKey:Xn}:null;if(!Vt)return null;if(ne?.propertyKey)return{...Vt,propertyKey:ne.propertyKey,files:Qn,planningFiles:Ii?Ye:void 0,planningInsertionIndex:xt,selectedFilePath:dt,rankByPath:es,placement:ft};if(!ba||!On)return null;let jn=za();return{...Vt,propertyKey:On,files:vr,planningFiles:jn.isBroadened?jn.files:void 0,planningInsertionIndex:jn.insertionIndex,selectedFilePath:dt,rankByPath:jn.rankByPath,placement:ft}},[ba,On,za,Ii,Qn,xt,Ye,es,ne?.propertyKey,vr,Jt,Zn,Xn,$n,wn,v.manualSortNewNotePlacement]),aw=(0,tt.useMemo)(()=>(0,fa.jsx)(Hee,{isSearchActive:lt,onSearchToggle:we,onManualSortStart:Md,getManualSortNewFileContext:Eu,useFloatingLayout:wt}),[Eu,Md,we,lt,wt]);(0,tt.useEffect)(()=>i.setManualSortNewFileContextProvider(Eu),[i,Eu]),(0,tt.useEffect)(()=>{let dt=ve.current;if(!dt)return;let ft=Xr.get(dt);ft!==void 0&&(ve.current=null,gi(ft,"auto"))},[Xr,q?.order,gi]),(0,tt.useEffect)(()=>{!ae||Xr.has(ae)||se(null)},[Xr,ae]);let am=tt.default.useCallback(()=>{if(!Zn)return!1;let dt=Xr.get(Zn.path);return dt===void 0?!1:(se(Zn.path),gi(dt,"auto"),!0)},[Xr,gi,Zn]),rA=tt.default.useCallback(async(dt,ft)=>{let Vt=await i.renameFileDisplayName(dt,ft);return Vt&&se(null),Vt},[i]),Nt=tt.default.useCallback(()=>{se(null)},[]);(0,tt.useImperativeHandle)(n,()=>({getIndexOfPath:dt=>Xr.get(dt)??-1,virtualizer:xs,scrollContainerRef:Ao.current,getOrderedFiles:()=>vr,selectFile:Es,selectAdjacentFile:Se,modifySearchWithTag:bn,modifySearchWithProperty:Kn,modifySearchWithDateToken:kr,toggleSearch:Wo,executeSearchShortcut:co,getManualSortNewFileContext:Eu}),[Xr,vr,xs,Ao,Wo,co,Es,Se,bn,Kn,kr,Eu]),yZ({enabled:!Xe,items:$a,virtualizer:xs,containerRef:e.rootContainerRef,pathToIndex:Xr,orderedFiles:vr,orderedFileIndexMap:jo,scrollToIndexSafely:gi,onSelectFile:(dt,ft)=>Es(dt,{markKeyboardNavigation:!0,suppressOpen:v.enterToOpenFiles||ft?.suppressOpen,debounceOpen:ft?.debounceOpen}),onScheduleKeyboardOpen:yr,onScheduleKeyboardOpenForFile:Qr,onCommitKeyboardOpen:hi,onReorderPropertySort:ow,onStartRename:am});let ts=!Jt&&!$n&&!Xn,xi=Wr.length===0,Ad=o&&!H,im=Ad&&wt,v1=Ad&&!wt;return(0,fa.jsxs)("div",{ref:x,className:`nn-list-pane ${lt?"nn-search-active":""}`,style:Ke,"data-calendar":C?"true":void 0,children:[e.resizeHandleProps&&(0,fa.jsx)("div",{className:"nn-resize-handle",...e.resizeHandleProps}),(0,fa.jsx)("div",{className:"nn-list-pane-chrome",children:(0,fa.jsxs)(TCe,{onHeaderClick:$g,isSearchActive:lt,onSearchToggle:we,onManualSortStart:Md,getManualSortNewFileContext:Eu,actionsDisabled:Xe,shouldShowDesktopTitleArea:vt,children:[o&&H&&!ne?aw:null,(0,fa.jsx)("div",{className:`nn-search-bar-container ${lt?"nn-search-bar-visible":""}`,children:lt&&(0,fa.jsx)(Nte,{searchQuery:Kt,onSearchQueryChange:fe,shouldFocus:Pe,onFocusComplete:nt,onClose:Re,onFocusFiles:()=>{Ne({openInEditor:!1})},containerRef:e.rootContainerRef,onSaveShortcut:ge?void 0:ct,onRemoveShortcut:ge?yt:void 0,isShortcutSaved:!!ge,isShortcutDisabled:be,searchProvider:Zt})})]})}),(0,fa.jsxs)("div",{className:"nn-list-pane-panel",children:[ne?(0,fa.jsx)(fre,{files:Qn,listItems:$a,hiddenFileState:Nc,propertyKey:ne.propertyKey,manualSortGroupHeaderPropertyKey:rt,wordCountTargetProperty:v.wordCountTargetProperty,rankByPath:es,selectedFolderPath:Jt?.path??null,isSaving:ne.isSaving,isDoneDisabled:om,selectionType:wn,sortOption:er,localDayReference:Ns,fileIconSize:Rt.fileIconSize,appearanceSettings:So,includeDescendantNotes:P,hiddenTagVisibility:xu,fileNameIconNeedles:S,visibleListPropertyKeys:Qi,visibleNavigationPropertyKeys:Zp,fileItemStorage:Jp,noteShortcutKeysByPath:V,folderDecorationModel:m,fileItemPillDecorationModel:g,fileItemPillOrderModel:f,getSolidBackground:Be,selectedFiles:h.selectedFiles,selectedFilePath:Zn?.path??null,onFileClick:xc,onKeyboardSelect:rw,onScheduleKeyboardOpen:yr,onScheduleKeyboardOpenForFile:Qr,onCommitKeyboardOpen:hi,onDone:Xg,onReorder:Qg}):(0,fa.jsx)(hne,{listItems:$a,rowVirtualizer:xs,scrollContainerRefCallback:Kl,activeFolderDropPath:Yg,isCompactMode:rm,isEmptySelection:ts,hasNoFiles:xi,topSpacerHeight:Qp,settings:v,pinnedGroupExpanded:vn,onPinnedGroupHeaderToggle:it,onListGroupHeaderToggle:Do,selectionType:wn,selectedFolderPath:Ir,sortOption:er,searchHighlightQuery:an,isFolderNavigation:h.isFolderNavigation,lastSelectedFilePath:ht,isFileSelected:sn,hoveredFilePath:Z,suppressRowHover:re,onHoveredFilePathChange:nm,onFileClick:He,onModifySearchWithTag:bn,onModifySearchWithProperty:Kn,localDayReference:Ns,fileIconSize:Rt.fileIconSize,appearanceSettings:So,includeDescendantNotes:P,hiddenTagVisibility:xu,fileNameIconNeedles:S,visibleListPropertyKeys:Qi,visibleNavigationPropertyKeys:Zp,fileItemStorage:Jp,noteShortcutKeysByPath:V,onToggleNoteShortcut:fi,inlineRenameFilePath:ae,onFileRenameCommit:rA,onFileRenameCancel:Nt,onFileRenameRestoreFocus:em,onNavigateToFolder:c,folderDecorationModel:m,fileItemPillDecorationModel:g,fileItemPillOrderModel:f,getSolidBackground:Be}),im&&!ne?(0,fa.jsx)("div",{className:"nn-pane-bottom-toolbar",children:aw}):null]}),C?(0,fa.jsx)("div",{className:"nn-navigation-calendar-overlay",children:(0,fa.jsx)(Up,{onWeekCountChange:J,onAddDateFilter:kr})}):null,v1&&!ne?(0,fa.jsx)("div",{className:"nn-pane-bottom-toolbar",children:aw}):null]})}))});function jV(t){return t.type===he.VIRTUAL_FOLDER&&typeof t.tagCollectionId=="string"&&t.tagCollectionId.length>0}function GV(t){return t.type===he.VIRTUAL_FOLDER&&typeof t.propertyCollectionId=="string"&&t.propertyCollectionId.length>0}function kCe(t){return t.key==="Tab"&&t.shiftKey&&!t.ctrlKey&&!t.metaKey&&!t.altKey}function kre({items:t,virtualizer:e,containerRef:n,pathToIndex:r,onStartRename:o}){let{app:a,commandQueue:i,isMobile:s,plugin:l}=gt(),c=li(),u=pt(),p=Xt(),m=p.includeDescendantNotes,g=p.showHiddenItems,f=ar(),h=gr(),b=ta(),v=Ra(),y=Yn(),S=Vr(),w=(0,NP.useCallback)((T,I)=>{if(!T)return-1;if(I){let G=Rl(r,I,T);if(G!==void 0)return G}let N=Rl(r,W.FOLDER,T);if(N!==void 0)return N;let O=Rl(r,W.TAG,T);if(O!==void 0)return O;let K=Rl(r,W.PROPERTY,T);return K!==void 0?K:-1},[r]),k=(0,NP.useCallback)(()=>f.selectionType===W.FOLDER&&f.selectedFolder?.path?w(f.selectedFolder.path,W.FOLDER):f.selectionType===W.TAG&&f.selectedTag?w(f.selectedTag,W.TAG):f.selectionType===W.PROPERTY&&f.selectedProperty?w(f.selectedProperty,W.PROPERTY):-1,[f,w]),F=(0,NP.useCallback)(T=>{if(T.type===he.FOLDER){if(!(T.data instanceof CD.TFolder))return;let I=T.data;if(h({type:"SET_SELECTED_FOLDER",folder:I}),u.autoExpandNavItems&&I.children.some(N=>N instanceof CD.TFolder)&&!b.expandedFolders.has(I.path)){let N=Eg(T,{showHiddenItems:g});N&&Fd(N,b,v,"expand",{collapseOtherBranches:u.collapseOtherBranchesOnExpand})}return}else if(T.type===he.TAG||T.type===he.UNTAGGED){let I=T.data;if(h({type:"SET_SELECTED_TAG",tag:I.path}),u.autoExpandNavItems&&I.children.size>0&&!b.expandedTags.has(I.path)){let N=Eg(T,{showHiddenItems:g});N&&Fd(N,b,v,"expand",{collapseOtherBranches:u.collapseOtherBranchesOnExpand})}}else if(T.type===he.PROPERTY_KEY||T.type===he.PROPERTY_VALUE){let I=T.data;if(h({type:"SET_SELECTED_PROPERTY",nodeId:I.id}),u.autoExpandNavItems&&I.children.size>0&&!b.expandedProperties.has(I.id)){let N=Eg(T,{showHiddenItems:g});N&&Fd(N,b,v,"expand",{collapseOtherBranches:u.collapseOtherBranchesOnExpand})}}else if(GV(T))h({type:"SET_SELECTED_PROPERTY",nodeId:Oe});else if(jV(T)){let I=T.tagCollectionId;h({type:"SET_SELECTED_TAG",tag:I})}},[h,u,b,v,g]),P=(0,NP.useCallback)((T,I)=>{let N=k(),O=u.keyboardShortcuts,K=I.isRTL(),G=-1,X=!1;if(kCe(T)){T.preventDefault();return}if(un(T,O,Ft.PANE_RENAME)&&o?.()){T.preventDefault();return}let L=()=>I.findNextIndex(-1),V=D=>{if(t.length===0)return-1;for(let A=Math.min(D,t.length-1);A>=0;A--){let _=I.getItemAt(A);if(_&&CP(_))return A}return-1};if(Mv(T)&&u.enableFolderNoteLinks&&f.selectionType===W.FOLDER&&f.selectedFolder){let D=f.selectedFolder,A=Pn(D,u);if(A){T.preventDefault();let _=Rv(T,u);if(_==="rename"){o?.();return}let E=_??lN(u.folderNoteOpenLocation);Q(()=>ri({app:a,commandQueue:i,folder:D,folderNote:A,context:E,active:!1,openInRightSidebar:R=>l.openFolderNoteInRightSidebar(R)}));return}}if(un(T,O,Ft.PANE_MOVE_DOWN)){if(T.preventDefault(),G=I.findNextIndex(N),G===N&&N>=0)return}else if(un(T,O,Ft.PANE_MOVE_UP)){if(T.preventDefault(),N===-1)G=I.findNextIndex(-1);else if(G=I.findPreviousIndex(N),G===N&&N>=0)return}else if(un(T,O,Ft.PANE_PAGE_DOWN)){if(T.preventDefault(),N!==-1){let D=I.getPageSize(),A=Math.min(N+D,t.length-1),_=I.findNextIndex(A-1);if(_===N&&N!==t.length-1)for(let E=t.length-1;E>=0;E--){let R=I.getItemAt(E);if(R&&CP(R)){_=E;break}}G=_}}else if(un(T,O,Ft.PANE_PAGE_UP)){T.preventDefault();let D=L();if(N===-1)G=D,D>=0&&(X=!0);else{let A=I.getPageSize(),_=Math.max(0,N-A),E=V(_);E>=0?(G=E,D>=0&&E===D&&(X=!0)):(G=D,D>=0&&(X=!0))}}else if(un(T,O,Ft.NAV_EXPAND_OR_FOCUS_LIST,{isRTL:K,directional:"horizontal"})){if(T.preventDefault(),N>=0){let D=I.getItemAt(N);if(!D)return;let A=Eg(D,{showHiddenItems:g}),_=A?Fd(A,b,v,"expand",{collapseOtherBranches:u.collapseOtherBranchesOnExpand}):!1,E=!_;_&&y.singlePane&&u.autoExpandNavItems?S({type:"SET_FOCUSED_PANE",pane:"navigation"}):E&&(y.singlePane&&!s?(S({type:"SET_SINGLE_PANE_VIEW",view:"files"}),S({type:"SET_FOCUSED_PANE",pane:"files"})):(h({type:"SET_KEYBOARD_NAVIGATION",isKeyboardNavigation:!0}),S({type:"SET_FOCUSED_PANE",pane:"files"})))}}else if(un(T,O,Ft.NAV_COLLAPSE_OR_PARENT,{isRTL:K,directional:"horizontal"})){if(T.preventDefault(),N>=0){let D=I.getItemAt(N);if(!D)return;let A=Eg(D,{showHiddenItems:g}),_=()=>A?Fd(A,b,v,"collapse"):!1,E=()=>{if(!u.showAllTagsFolder)return;let R=w(zt,W.TAG);if(R>=0){let M=I.getItemAt(R);M&&(F(M),I.scrollToIndex(R))}};if(D.type===he.FOLDER){if(!(D.data instanceof CD.TFolder))return;let R=D.data;if(!_()&&R.parent&&(!u.showRootFolder||R.path!=="/")){let M=R.parent.path,C=w(M,W.FOLDER);if(C>=0){let x=I.getItemAt(C);x&&(F(x),I.scrollToIndex(C))}}}else if(D.type===he.TAG){let R=D.data;if(!_()){let M=R.path.lastIndexOf("/");if(M>0){let C=R.path.substring(0,M),x=w(C,W.TAG);if(x>=0){let z=I.getItemAt(x);z&&(F(z),I.scrollToIndex(x))}}else E()}}else if(D.type===he.UNTAGGED)E();else if(D.type===he.PROPERTY_KEY||D.type===he.PROPERTY_VALUE){let R=D.data;if(!_())if(R.kind==="value"){let M=Gn(R.key),C=w(M,W.PROPERTY);if(C>=0){let x=I.getItemAt(C);x&&(F(x),I.scrollToIndex(C))}}else{let M=w(Oe,W.PROPERTY);if(M>=0){let C=I.getItemAt(M);C&&(F(C),I.scrollToIndex(M))}}}else(jV(D)||GV(D))&&_()}}else if(un(T,O,Ft.NAV_FOCUS_LIST))T.preventDefault(),s||(y.singlePane?(S({type:"SET_SINGLE_PANE_VIEW",view:"files"}),S({type:"SET_FOCUSED_PANE",pane:"files"})):(h({type:"SET_KEYBOARD_NAVIGATION",isKeyboardNavigation:!0}),S({type:"SET_FOCUSED_PANE",pane:"files"})));else if(un(T,O,Ft.DELETE_SELECTED))f.selectionType===W.FOLDER&&f.selectedFolder&&(T.preventDefault(),Q(()=>nZ({app:a,fileSystemOps:c,settings:u,visibility:{includeDescendantNotes:m,showHiddenItems:g},selectionState:f,selectionDispatch:h})));else if(un(T,O,Ft.PANE_HOME))T.preventDefault(),G=L(),G>=0&&(X=!0);else if(un(T,O,Ft.PANE_END)){T.preventDefault();for(let D=t.length-1;D>=0;D--){let A=I.getItemAt(D);if(A&&CP(A)){G=D;break}}}if(G>=0&&G<t.length){let D=I.getItemAt(G);D&&CP(D)&&(F(D),X&&e.scrollToIndex(0,{align:"start"}),I.scrollToIndex(G))}else X&&e.scrollToIndex(0,{align:"start"})},[k,u,t.length,b,v,y.singlePane,s,S,h,w,F,f,a,i,l,c,e,m,g,o]);pR({items:t,virtualizer:e,focusedPane:"navigation",containerRef:n,isSelectable:CP,_getCurrentIndex:k,onKeyDown:P})}var NP,CD,CP,Fre=U(()=>{NP=ue(ze()),CD=require("obsidian");Qs();Ur();mn();on();Tr();pa();Ue();JM();IH();rh();ot();Mg();Jc();td();cn();hu();CP=t=>t.type===he.FOLDER||t.type===he.TAG||t.type===he.UNTAGGED||t.type===he.PROPERTY_KEY||t.type===he.PROPERTY_VALUE||(jV(t)||GV(t))&&!!t.isSelectable});function Cre({plugin:t,children:e}){let[n,r]=(0,Sc.useState)(()=>t.getRecentNotes()),[o,a]=(0,Sc.useState)(()=>t.getRecentIcons());(0,Sc.useEffect)(()=>{let s=`recent-data-${Date.now()}`,l=()=>{r(t.getRecentNotes()),a(t.getRecentIcons())};return t.registerRecentDataListener(s,l),()=>{t.unregisterRecentDataListener(s)}},[t]);let i=Sc.default.useMemo(()=>({recentNotes:n,recentIcons:o}),[n,o]);return(0,Ire.jsx)(Pre.Provider,{value:i,children:e})}function Nre(){let t=(0,Sc.useContext)(Pre);if(t===null)throw new Error("useRecentData must be used within a RecentDataProvider");return t}var Sc,Ire,Pre,qV=U(()=>{Sc=ue(ze()),Ire=ue(Ge()),Pre=(0,Sc.createContext)(null)});function IP(t,e){let n=e.cache?.get(t.path);if(n)return n;let r=0,o=0,a=e.excludedFileMatcher??po(e.excludedFiles);for(let s of t.children)if(s instanceof ND.TFile){if(e.folderNoteSettings.enableFolderNotes&&e.hideFolderNoteInList&&zs(s,t,e.folderNoteSettings))continue;let l=e.hiddenFileTagVisibility,c=!1;l&&l.hasHiddenRules&&s.extension==="md"&&Pr({app:e.app,file:s,db:e.db}).some(p=>!l.isTagVisible(p))&&(c=!0),rl(s,e.fileVisibility,e.app)&&!(e.fileNameMatcher&&e.fileNameMatcher.matches(s))&&!Xo(s,a,e.app)&&!c&&(r+=1)}else if(s instanceof ND.TFolder){if(!e.includeDescendants||!e.showHiddenFolders&&qd(s.name,e.excludedFolders,s.path))continue;let l=IP(s,e);o+=l.total}let i=e.includeDescendants?{current:r,descendants:o,total:r+o}:{current:r,descendants:0,total:r};return e.cache?.set(t.path,i),i}var ND,YV=U(()=>{ND=require("obsidian");Mr();Yr();_a();Sn()});function Ere(t){let{app:e,isVisible:n,settings:r,propertiesSectionActive:o,itemsWithMetadata:a,includeDescendantNotes:i,visibleTaggedCount:s,untaggedCount:l,renderPropertyTree:c,propertyCollectionCount:u,effectiveFrontmatterExclusions:p,hiddenFolders:m,hiddenFileTags:g,showHiddenItems:f,folderCountFileNameMatcher:h,fileVisibility:b,vaultChangeVersion:v,metadataVisibilityVersion:y,tagDataVersion:S}=t,w=(0,Fs.useRef)(new Map),k=(0,Fs.useRef)(new Map),F=(0,Fs.useRef)(new Map),P=!f&&g.length>0?S:0,T=(0,Fs.useMemo)(()=>{if(!n||!r.showTags||!r.showNoteCount)return null;let X=new Map,L=i?s:0;return X.set(zt,{current:L,descendants:0,total:L}),r.showUntagged&&X.set(bt,{current:l,descendants:0,total:l}),a.forEach(V=>{if(V.type!==he.TAG)return;let D=V.data;if(V.noteCount){X.set(D.path,V.noteCount);return}X.set(D.path,pN(D,i))}),X},[i,n,a,r.showNoteCount,r.showTags,r.showUntagged,l,s]),I=(0,Fs.useMemo)(()=>!r.showTags||!r.showNoteCount?new Map:T??w.current,[T,r.showNoteCount,r.showTags]);(0,Fs.useEffect)(()=>{if(!r.showTags||!r.showNoteCount){w.current=new Map;return}T&&(w.current=T)},[T,r.showNoteCount,r.showTags]);let N=(0,Fs.useMemo)(()=>{if(!n||!o||!r.showNoteCount)return null;let X=new Map;u&&X.set(Oe,u);let L=new Map;return a.forEach(V=>{(V.type===he.PROPERTY_KEY||V.type===he.PROPERTY_VALUE)&&L.set(V.data.id,V.data)}),L.size===0||L.forEach(V=>{if(V.kind==="key"){let R=jc(V);if(!i){X.set(V.id,{current:R,descendants:0,total:R});return}let M=V.notesWithValue.size,C=Math.max(M-R,0);X.set(V.id,{current:R,descendants:C,total:M});return}let D=V.notesWithValue.size;if(!i||!V.valuePath){X.set(V.id,{current:D,descendants:0,total:D});return}let A=c.get(V.key);if(!A){X.set(V.id,{current:D,descendants:0,total:D});return}let _=Pm(A,V.valuePath),E=Math.max(_-D,0);X.set(V.id,{current:D,descendants:E,total:_})}),X},[i,n,a,o,u,c,r.showNoteCount]),O=(0,Fs.useMemo)(()=>!o||!r.showNoteCount?new Map:N??k.current,[N,o,r.showNoteCount]);(0,Fs.useEffect)(()=>{if(!o||!r.showNoteCount){k.current=new Map;return}N&&(k.current=N)},[N,o,r.showNoteCount]);let K=(0,Fs.useMemo)(()=>{if(!n||!r.showNoteCount)return null;let X=new Map,L=p,V=po(L),D=m,A=f?null:Br(g,!1),_=A&&A.hasHiddenRules?Sr():null,E=No({enableFolderNotes:r.enableFolderNotes,folderNoteName:r.folderNoteName,folderNoteNamePattern:r.folderNoteNamePattern}),C={app:e,db:_,fileVisibility:b,excludedFiles:L,excludedFileMatcher:V,excludedFolders:D,fileNameMatcher:h,hiddenFileTagVisibility:A,includeDescendants:i,showHiddenFolders:f,hideFolderNoteInList:r.hideFolderNoteInList,folderNoteSettings:E,cache:X};return a.forEach(x=>{x.type===he.FOLDER&&x.data instanceof xre.TFolder&&IP(x.data,C)}),X},[e,p,b,h,P,g,m,i,n,a,y,r.enableFolderNotes,r.folderNoteName,r.folderNoteNamePattern,r.hideFolderNoteInList,r.showNoteCount,f,v]),G=(0,Fs.useMemo)(()=>r.showNoteCount?K??F.current:new Map,[K,r.showNoteCount]);return(0,Fs.useEffect)(()=>{if(!r.showNoteCount){F.current=new Map;return}K&&(F.current=K)},[K,r.showNoteCount]),{tagCounts:I,propertyCounts:O,folderCounts:G}}var Fs,xre,Mre=U(()=>{Fs=ue(ze()),xre=require("obsidian");Ue();Ba();Yr();Dr();zn();_a();YV();cn()});function Dre(t){return typeof t!="string"?null:Rre.has(t)?t:null}function HS(t){let e=new Set,n=[];return t.forEach(r=>{Rre.has(r)&&(e.has(r)||(e.add(r),n.push(r)))}),jP.forEach(r=>{e.has(r)||(e.add(r),n.push(r))}),n}function $V(t){if(!Array.isArray(t))return[...jP];let e=t.map(Dre).filter(n=>!!n);return HS(e)}function Are(t,e){let n=[],r=new Set;return t.forEach(o=>{let a=Dre(o);a&&(r.has(a)||(r.add(a),n.push(a)))}),e.forEach(o=>{r.has(o)||(r.add(o),n.push(o))}),HS(n)}var Rre,ID=U(()=>{Ue();Rre=new Set(jP)});function Ore(t){let{app:e,settings:n,navRainbow:r,fileNameIconNeedles:o,getFileDisplayName:a,metadataService:i,parsedExcludedFolders:s,folderDecorationModel:l,navRainbowPalettes:c,navRainbowColors:u}=t,p=new Map,m=T=>{let I=p.get(T);if(I)return I;let N=i.getFolderDisplayData(T);return p.set(T,N),N},g={showFilenameMatchIcons:n.showFilenameMatchIcons,fileNameIconMap:n.fileNameIconMap,showCategoryIcons:!0,fileTypeIconMap:n.fileTypeIconMap,fileTypeIconPreset:n.fileTypeIconPreset,externalIconProviders:n.externalIconProviders},f="file",h=T=>{if(n.showFilenameMatchIcons)return a(T)},b=r.mode,v=b!=="none",y=n.showAllTagsFolder?1:0,S=n.showAllPropertiesFolder?1:0,w=c.tag,k=c.property,F=c.shortcut,P=c.recent;return{app:e,settings:n,metadataService:i,parsedExcludedFolders:s,getFolderDisplayData:m,folderDecorationModel:l,fileIcons:{settings:g,fallbackMode:f,fileNameIconNeedles:o,getFileNameForMatch:h},rainbow:{mode:b,isEnabled:v,tag:{isEnabled:!!w,scope:r.tags.scope,rootLevel:y,colors:u.tag},property:{isEnabled:!!k,scope:r.properties.scope,rootLevel:S,colors:u.property},shortcut:{isEnabled:!!F,colors:u.shortcut},recent:{isEnabled:!!P,colors:u.recent}}}}function Lre(t){let{ctx:e,folderPath:n,color:r,backgroundColor:o}=t;return xf({model:e.folderDecorationModel,folderPath:n,color:r,backgroundColor:o})}function zre(t){let{ctx:e,rainbowColor:n,color:r,backgroundColor:o}=t;return!e.rainbow.isEnabled||!n?{color:r,backgroundColor:o}:Ey({mode:e.rainbow.mode,rainbowColor:n,color:r,backgroundColor:o})}function xP(t){let{ctx:e,shouldApply:n,rainbowColor:r,colors:o}=t;if(!n||!r)return o;let a=zre({ctx:e,rainbowColor:r,color:o.color,backgroundColor:o.backgroundColor});return{color:a.color,backgroundColor:a.backgroundColor}}function EP(t){let{ctx:e,enabled:n,virtualFolderId:r,color:o,backgroundColor:a}=t;if(!n||o&&a)return null;let i=o?void 0:e.settings.virtualFolderColors[r],s=a?void 0:e.settings.virtualFolderBackgroundColors[r];return!i&&!s?null:{color:o??i,backgroundColor:a??s}}function FCe(t,e,n){return EP({ctx:t,enabled:!0,virtualFolderId:yi,color:e,backgroundColor:n})}function PCe(t,e,n){return EP({ctx:t,enabled:!0,virtualFolderId:bi,color:e,backgroundColor:n})}function Bre(t,e,n){if(!t.rainbow.isEnabled||!n)return e;let r=e.color??void 0,o=e.backgroundColor??void 0,a=zre({ctx:t,rainbowColor:n,color:r,backgroundColor:o});return a.color===r&&a.backgroundColor===o?e:{...e,...a}}function xD(t,e,n){let r=!rl(e,Er.SUPPORTED,t.app);return OM(e,t.fileIcons.settings,{customIconId:n,metadataCache:t.app.metadataCache,isExternalFile:r,fallbackMode:t.fileIcons.fallbackMode,fileNameNeedles:t.fileIcons.fileNameIconNeedles,fileNameForMatch:t.fileIcons.getFileNameForMatch(e)})??void 0}function CCe(t,e){if(t.rainbow.shortcut.isEnabled)return t.rainbow.shortcut.colors.colorsByKey.get(e)}function NCe(t,e){if(t.rainbow.recent.isEnabled)return t.rainbow.recent.colors.colorsByKey.get(e)}function VS(t){let{ctx:e,itemKey:n,color:r,backgroundColor:o,allowRainbow:a=!0}=t,i=r,s=o,l=FCe(e,i,s);return l&&(i=l.color,s=l.backgroundColor),a?xP({ctx:e,shouldApply:!0,rainbowColor:CCe(e,n),colors:{color:i,backgroundColor:s}}):{color:i,backgroundColor:s}}function _re(t){let{ctx:e,itemKey:n,color:r,backgroundColor:o}=t,a=r,i=o,s=PCe(e,a,i);return s&&(a=s.color,i=s.backgroundColor),xP({ctx:e,shouldApply:!0,rainbowColor:NCe(e,n),colors:{color:a,backgroundColor:i}})}var XV=U(()=>{Ue();Mr();LM();Gm();JR()});function ICe(t,e){if(e===Oe)return Qe(t.settings.interfaceIcons,"nav-properties");let n=kn(e);return t.metadataService.getPropertyIcon(e)||(n?.valuePath?Qe(t.settings.interfaceIcons,"nav-property-value"):Qe(t.settings.interfaceIcons,"nav-property"))}function xCe(t,e){let n=e.folder?.path,r=n?t.getFolderDisplayData(n):void 0,o=n==="/"?"vault":"lucide-folder",a=VS({ctx:t,itemKey:e.key,color:r?.color,backgroundColor:void 0,allowRainbow:!e.isExcluded});return{...e,displayName:r?.displayName,icon:r?.icon||o,color:a.color,backgroundColor:a.backgroundColor}}function ECe(t,e){let n=t.metadataService.getTagColorData(e.tagPath),r=VS({ctx:t,itemKey:e.key,color:n.color,backgroundColor:void 0});return{...e,icon:t.metadataService.getTagIcon(e.tagPath)||Qe(t.settings.interfaceIcons,"nav-tag"),color:r.color,backgroundColor:r.backgroundColor}}function MCe(t,e){let n=e.propertyNodeId,r=t.metadataService.getPropertyColorData(n),o=VS({ctx:t,itemKey:e.key,color:r.color,backgroundColor:void 0});return{...e,icon:ICe(t,n),color:o.color,backgroundColor:o.backgroundColor}}function RCe(t,e){let n=e.note;if(!n)return e;let r=t.metadataService.getFileColor(n.path),o=t.metadataService.getFileIcon(n.path),a=xD(t,n,o),i=VS({ctx:t,itemKey:e.key,color:r,backgroundColor:void 0});return{...e,icon:a??void 0,color:i.color,backgroundColor:i.backgroundColor}}function DCe(t,e){let n=VS({ctx:t,itemKey:e.key,color:e.color,backgroundColor:void 0});return n.color===e.color&&n.backgroundColor===e.backgroundColor?e:{...e,color:n.color,backgroundColor:n.backgroundColor}}function Hre(t,e){switch(e.type){case he.SHORTCUT_FOLDER:return xCe(t,e);case he.SHORTCUT_TAG:return ECe(t,e);case he.SHORTCUT_PROPERTY:return MCe(t,e);case he.SHORTCUT_NOTE:return RCe(t,e);case he.SHORTCUT_SEARCH:return DCe(t,e);default:return null}}var Vre=U(()=>{Ue();cn();pr();XV()});function ACe(t,e){let n=t.getFolderDisplayData(e.data.path),r={color:n.color,backgroundColor:n.backgroundColor};return r=Lre({ctx:t,folderPath:e.data.path,color:r.color,backgroundColor:r.backgroundColor}),{...e,displayName:n.displayName,color:r.color,backgroundColor:r.backgroundColor,icon:n.icon,parsedExcludedFolders:t.parsedExcludedFolders}}function OCe(t,e){let n=e.data,r=t.metadataService.getTagColorData(n.path),o={color:r.color,backgroundColor:r.background},a=EP({ctx:t,enabled:t.settings.showAllTagsFolder&&t.settings.inheritTagColors,virtualFolderId:_n,color:o.color,backgroundColor:o.backgroundColor});a&&(o={color:a.color,backgroundColor:a.backgroundColor});let i=t.rainbow.tag;if(i.isEnabled){let s=i.colors.colorsByPath.get(n.path),l=s?void 0:i.colors.getInheritedColor(n.path),c=s??l,u=i.scope==="all"?!0:i.scope==="root"?e.level===i.rootLevel||!!l:e.level>i.rootLevel;o=xP({ctx:t,shouldApply:u,rainbowColor:c,colors:o})}return{...e,color:o.color,backgroundColor:o.backgroundColor,icon:t.metadataService.getTagIcon(n.path)}}function LCe(t,e){let n=e.data,r=n.id,o=t.metadataService.getPropertyColorData(r),a=t.metadataService.getPropertyIcon(r)||(n.kind==="value"?Qe(t.settings.interfaceIcons,"nav-property-value"):void 0),i={color:o.color,backgroundColor:o.background},s=EP({ctx:t,enabled:t.settings.showAllPropertiesFolder&&t.settings.inheritPropertyColors,virtualFolderId:Oe,color:i.color,backgroundColor:i.backgroundColor});s&&(i={color:s.color,backgroundColor:s.backgroundColor});let l=t.rainbow.property;if(l.isEnabled){let c=l.colors.colorsByNodeId.get(n.id),u=c||l.scope!=="root"||!t.settings.inheritPropertyColors||n.kind!=="value"?void 0:l.colors.rootColorsByKey.get(n.key),p=c??u,m=n.kind==="key"&&e.level===l.rootLevel,g=l.scope==="all"?!0:l.scope==="root"?m||!!u:!m;i=xP({ctx:t,shouldApply:g,rainbowColor:p,colors:i})}return{...e,color:i.color,backgroundColor:i.backgroundColor,icon:a}}function zCe(t,e){let n=e.data.id,r=t.settings.virtualFolderColors[n],o=t.settings.virtualFolderBackgroundColors[n],a=r||o?{...e,color:r??void 0,backgroundColor:o??void 0}:e,i;return e.data.id===_n?i=t.rainbow.tag.colors.rootColor:e.data.id===Oe?i=t.rainbow.property.colors.rootColor:e.data.id===yi?i=t.rainbow.shortcut.colors.rootColor:e.data.id===bi&&(i=t.rainbow.recent.colors.rootColor),Bre(t,a,i)}function BCe(t,e){let n=e.note,r=t.metadataService.getFileIcon(n.path),o=t.metadataService.getFileColor(n.path),a=_re({ctx:t,itemKey:e.key,color:o,backgroundColor:e.backgroundColor}),i=xD(t,n,r);return{...e,icon:i??void 0,color:a.color,backgroundColor:a.backgroundColor}}function _Ce(t,e){switch(e.type){case he.FOLDER:return ACe(t,e);case he.TAG:case he.UNTAGGED:return OCe(t,e);case he.PROPERTY_KEY:case he.PROPERTY_VALUE:return LCe(t,e);case he.VIRTUAL_FOLDER:return zCe(t,e);case he.RECENT_NOTE:return BCe(t,e);case he.SHORTCUT_FOLDER:case he.SHORTCUT_TAG:case he.SHORTCUT_PROPERTY:case he.SHORTCUT_NOTE:case he.SHORTCUT_SEARCH:return Hre(t,e)??e;default:return e}}function Ure(t){let{app:e,settings:n,navRainbow:r,fileNameIconNeedles:o,getFileDisplayName:a,metadataService:i,parsedExcludedFolders:s,folderDecorationModel:l,navRainbowPalettes:c,navRainbowColors:u}=t,p=Ore({app:e,settings:n,navRainbow:r,fileNameIconNeedles:o,getFileDisplayName:a,metadataService:i,parsedExcludedFolders:s,folderDecorationModel:l,navRainbowPalettes:c,navRainbowColors:u});return m=>_Ce(p,m)}var Kre=U(()=>{Ue();pr();XV();Vre()});function jre(t,e,n){if(e<=0)return t;let r=[],o=0,a=0,i=l=>l.type!==he.VIRTUAL_FOLDER?!1:l.data.id===_n?n.tagRootLevel>0:l.data.id===Oe?n.propertyRootLevel>0:!1,s=l=>l.type===he.TOP_SPACER||l.type===he.BOTTOM_SPACER||l.type===he.VIRTUAL_FOLDER?!0:l.type===he.LIST_SPACER?!HCe(l.key):!1;for(let l of t){if(s(l)){o=i(l)?1:0,r.push(l);continue}if(VCe(l,n)){o>0&&r.push({type:he.ROOT_SPACER,key:`root-spacer-${a++}`,spacing:e}),o+=1,r.push(l);continue}r.push(l)}return r}var Wre,HCe,VCe,Gre=U(()=>{Ue();JT();Wre=new Set([he.TOP_SPACER,he.LIST_SPACER,he.BOTTOM_SPACER,he.ROOT_SPACER]),HCe=t=>{let e=qh(t);return e?.type==="folder"||e?.type==="tag"||e?.type==="property"},VCe=(t,e)=>{if(t.type===he.FOLDER){if(e.showRootFolder&&t.data.path==="/")return!0;let n=e.showRootFolder?1:0;return t.level===n}return t.type===he.TAG||t.type===he.UNTAGGED?t.level===e.tagRootLevel:t.type===he.PROPERTY_KEY?t.level===e.propertyRootLevel:!1}});function Yre({app:t,settings:e,metadataService:n,fileNameIconNeedles:r,getFileDisplayName:o,folderDecorationModel:a,navRainbowState:i,sectionOrder:s,showHiddenItems:l,pinShortcuts:c,shouldPinRecentNotes:u,propertiesSectionActive:p,folderItems:m,tagItems:g,propertyItems:f,shortcutItems:h,recentNotesItems:b,parsedExcludedFolders:v,metadataDecorationVersion:y}){let S=(0,yo.useMemo)(()=>HS(s),[s]),{navRainbow:w,navRainbowPalettes:k}=i,{items:F,sectionSpacerMap:P,firstSectionId:T}=(0,yo.useMemo)(()=>{let $=[],j=new Map,J=null;$.push({type:he.TOP_SPACER,key:"top-spacer"});let re=e.showShortcuts&&h.length>0&&!c,oe=e.showRecentNotes&&b.length>0&&!u,Z=m.length>0,ce=e.showTags&&g.length>0,ae=p&&f.length>0,se=[];S.forEach(B=>{switch(B){case Dt.SHORTCUTS:re&&se.push({id:B,items:h});break;case Dt.RECENT:oe&&se.push({id:B,items:b});break;case Dt.FOLDERS:Z&&se.push({id:B,items:m});break;case Dt.TAGS:ce&&se.push({id:B,items:g});break;case Dt.PROPERTIES:ae&&se.push({id:B,items:f});break;default:break}});let ne=se.filter(B=>B.items.length>0);return ne.length>0&&(J=ne[0].id,j.set(ne[0].id,"top-spacer")),ne.forEach((B,q)=>{if($.push(...B.items),q<ne.length-1){let ie=ne[q+1],le=QT(ie.id);j.set(ie.id,le),$.push({type:he.LIST_SPACER,key:le})}}),$.push({type:he.BOTTOM_SPACER,key:"bottom-spacer"}),{items:$,sectionSpacerMap:j,firstSectionId:J}},[m,S,c,p,f,b,e.showRecentNotes,e.showShortcuts,e.showTags,h,u,g]),[I,N]=(0,yo.useState)(()=>n.getNavigationSeparatorsVersion());(0,yo.useEffect)(()=>n.subscribeToNavigationSeparatorChanges($=>{N($)}),[n]);let O=(0,yo.useMemo)(()=>({version:I,record:e.navigationSeparators||{}}),[I,e.navigationSeparators]),K=(0,yo.useMemo)(()=>{let $=O.record,j=new Set,J=new Set,re=new Set,oe=new Set,Z=!1;Object.entries($||{}).forEach(([ae,se])=>{if(!se)return;let ne=qh(ae);if(ne){if(ne.type==="section"){if(ne.id===Dt.TAGS&&!e.showAllTagsFolder||ne.id===Dt.PROPERTIES&&!p)return;oe.add(ne.id);return}if(ne.type==="folder"){ne.path==="/"?Z=e.showRootFolder:j.add(ne.path);return}if(ne.type==="tag"){J.add(ne.path);return}if(ne.type==="property"){let B=Gt(ne.nodeId);B&&re.add(B)}}});let ce=j.size>0||J.size>0||re.size>0||oe.size>0||Z;return{folderSeparators:j,tagSeparators:J,propertySeparators:re,sectionSeparatorIds:oe,useSectionSpacerForRootFolder:Z,hasAnySeparators:ce}},[O,p,e.showAllTagsFolder,e.showRootFolder]),G=(0,yo.useMemo)(()=>{let{folderSeparators:$,tagSeparators:j,propertySeparators:J,sectionSeparatorIds:re,useSectionSpacerForRootFolder:oe,hasAnySeparators:Z}=K;if(!Z)return F;let ce=new Set,ae=new Set(re);if(c&&(ae.delete(Dt.SHORTCUTS),T&&ae.delete(T)),ae.forEach(q=>{let ie=P.get(q);ie&&ce.add(ie)}),oe&&(!c||T!==Dt.FOLDERS)){let q=P.get(Dt.FOLDERS);q&&ce.add(q)}if(ce.size===0&&$.size===0&&j.size===0&&J.size===0)return F;let ne=q=>({type:he.LIST_SPACER,key:q,hasSeparator:!0}),B=[];return F.forEach(q=>{if(q.type===he.TOP_SPACER||q.type===he.LIST_SPACER){ce.has(q.key)?B.push({...q,hasSeparator:!0}):B.push(q);return}let ie=q.type===he.FOLDER&&q.isExcluded&&!l;q.type===he.FOLDER?!ie&&$.has(q.data.path)&&B.push(ne(Oy(q.data.path))):(q.type===he.TAG||q.type===he.UNTAGGED)&&j.has(q.data.path)?B.push(ne(ZT(q.data.path))):(q.type===he.PROPERTY_KEY||q.type===he.PROPERTY_VALUE)&&J.has(q.data.id)&&B.push(ne(Ly(q.data.id))),B.push(q)}),B},[T,F,K,c,P,l]),X=(0,yo.useMemo)(()=>{let $=k.tag;return $?VI({items:g,palette:$,scope:w.tags.scope,rootLevel:e.showAllTagsFolder?1:0,showAllTagsFolder:e.showAllTagsFolder,inheritColors:e.inheritTagColors}):{colorsByPath:new Map,rootColor:void 0,getInheritedColor:j=>{}}},[w.tags.scope,k.tag,e.inheritTagColors,e.showAllTagsFolder,g]),L=(0,yo.useMemo)(()=>{let $=k.property;return $?UI({items:f,palette:$,scope:w.properties.scope,showAllPropertiesFolder:e.showAllPropertiesFolder}):{colorsByNodeId:new Map,rootColor:void 0,rootColorsByKey:new Map}},[w.properties.scope,k.property,f,e.showAllPropertiesFolder]),V=(0,yo.useMemo)(()=>{let $=k.shortcut;return $?r$({items:h,palette:$}):{colorsByKey:new Map,rootColor:void 0}},[k.shortcut,h]),D=(0,yo.useMemo)(()=>{let $=k.recent;return $?o$({items:b,palette:$}):{colorsByKey:new Map,rootColor:void 0}},[k.recent,b]),A=(0,yo.useMemo)(()=>({tag:X,property:L,shortcut:V,recent:D}),[L,D,V,X]),_=(0,yo.useMemo)(()=>Ure({app:t,settings:e,navRainbow:w,fileNameIconNeedles:r,getFileDisplayName:o,metadataService:n,parsedExcludedFolders:v,folderDecorationModel:a,navRainbowPalettes:k,navRainbowColors:A}),[t,r,o,y,n,a,w,A,k,v,e]),E=(0,yo.useMemo)(()=>G.map(_),[_,G]),R=(0,yo.useMemo)(()=>E.filter(qre),[E]),M=(0,yo.useMemo)(()=>c?h.map(_):[],[_,c,h]),C=(0,yo.useMemo)(()=>u?R.length>0?R:b.map(_):[],[_,R,b,u]),x=(0,yo.useMemo)(()=>{let $=E.filter(j=>!(c&&UCe(j)||u&&qre(j)));return l?$:$.filter(j=>!(j.type===he.FOLDER&&j.isExcluded))},[E,c,u,l]),z=(0,yo.useMemo)(()=>{if(!c)return null;let $=null;for(let j of x)if(!Wre.has(j.type)){$=j;break}return $&&$.type===he.FOLDER?$.data.path:null},[x,c]),H=(0,yo.useMemo)(()=>{if(!c||!z)return x;let{folderSeparators:$}=K;if(!$.has(z))return x;let J=Oy(z),re=-1;for(let Z=0;Z<x.length;Z+=1){let ce=x[Z];if(ce.type===he.LIST_SPACER&&ce.key===J){re=Z;break}}if(re===-1)return x;let oe=x.slice();return oe.splice(re,1),oe},[x,z,K,c]),Y=(0,yo.useMemo)(()=>{let $=e.showAllTagsFolder?1:0,j=e.showAllPropertiesFolder?1:0;return jre(H,e.rootLevelSpacing,{showRootFolder:e.showRootFolder,tagRootLevel:$,propertyRootLevel:j})},[H,e.rootLevelSpacing,e.showAllPropertiesFolder,e.showAllTagsFolder,e.showRootFolder]),ee=(0,yo.useMemo)(()=>eZ(Y),[Y]);return{items:Y,itemsWithMetadata:E,firstSectionId:T,firstInlineFolderPath:z,shortcutItemsWithMetadata:M,pinnedRecentNotesItems:C,pathToIndex:ee}}var yo,UCe,qre,$re=U(()=>{yo=ue(ze());Ue();Mg();Gm();ID();JT();cn();Kre();Gre();UCe=t=>t.type===he.VIRTUAL_FOLDER?t.data.id===yi:t.type===he.SHORTCUT_FOLDER||t.type===he.SHORTCUT_NOTE||t.type===he.SHORTCUT_SEARCH||t.type===he.SHORTCUT_TAG||t.type===he.SHORTCUT_PROPERTY||t.type===he.SHORTCUT_HEADER,qre=t=>t.type===he.VIRTUAL_FOLDER?t.data.id===bi:t.type===he.RECENT_NOTE});function Xre({app:t,settings:e,sourceState:n,hydratedShortcuts:r,recentNotes:o,shortcutsExpanded:a,recentNotesExpanded:i,pinShortcuts:s,propertiesSectionActive:l}){let{hiddenFileNames:c,hiddenFilePropertyMatcher:u,hiddenFileTags:p,hiddenFolders:m,hiddenMatcherHasRules:g,hiddenTagMatcher:f,metadataVisibilityVersion:h,propertyTree:b,recentNotesHiddenFileMatcher:v,tagDataVersion:y,tagTreeForOrdering:S}=n,w=(0,QV.useMemo)(()=>{if(!e.showShortcuts)return[];let P=0,T=P+1,I=new Map,N=new Map,O=Br(p,!1),K=O.hasHiddenRules,G=K?kt():null,X=[{type:he.VIRTUAL_FOLDER,key:yi,level:P,data:{id:yi,name:d.navigationPane.shortcutsHeader,icon:Qe(e.interfaceIcons,"nav-shortcuts")},hasChildren:r.length>0}];if(!a)return X;let L=D=>{if(I.has(D))return I.get(D)??!1;let A=t.vault.getAbstractFileByPath(D);return!(A instanceof ZV.TFile)||A.extension!=="md"||u.hasCriteria&&Xo(A,u,t)||c.length>0&&pT(A,c)||K&&Pr({app:t,file:A,db:G}).some(_=>!O.isTagVisible(_))||m.length>0&&A.parent!==null&&ei(A.parent,m)?(I.set(D,!1),!1):(I.set(D,!0),!0)},V=D=>{if(N.has(D))return N.get(D)??!1;if(Vs(D))return N.set(D,!0),!0;let A=Li(S,D);if(!A)return N.set(D,!1),!1;let _=[A],E=new Set;for(;_.length>0;){let R=_.pop();if(R&&!E.has(R)&&(E.add(R),!(g&&!Vs(R.path)&&ss(R.path,R.name,f)))){for(let M of R.notesWithTag)if(L(M))return N.set(D,!0),!0;for(let M of R.children.values())_.push(M)}}return N.set(D,!1),!1};return r.forEach(D=>{let{key:A,shortcut:_,folder:E,note:R,search:M,tagPath:C,propertyNodeId:x}=D;if(Zo(_)){if(!E){X.push({type:he.SHORTCUT_FOLDER,key:A,level:T,shortcut:_,folder:null,isMissing:!0,missingLabel:_.path});return}let z=m.length>0&&ei(E,m);X.push({type:he.SHORTCUT_FOLDER,key:A,level:T,shortcut:_,folder:E,isExcluded:z});return}if(Po(_)){if(!R){X.push({type:he.SHORTCUT_NOTE,key:A,level:T,shortcut:_,note:null,isMissing:!0,missingLabel:_.path});return}let z=R.extension==="md"&&u.hasCriteria&&Xo(R,u,t)||R.extension==="md"&&K&&Pr({app:t,file:R,db:G}).some(H=>!O.isTagVisible(H))||c.length>0&&pT(R,c)||m.length>0&&R.parent!==null&&ei(R.parent,m);X.push({type:he.SHORTCUT_NOTE,key:A,level:T,shortcut:_,note:R,isExcluded:z});return}if(Bi(_)){X.push({type:he.SHORTCUT_SEARCH,key:A,level:T,shortcut:_,searchShortcut:M??_});return}if(Co(_)){let z=C??_.tagPath;if(!z)return;let H=Vc(z,S);if(!H)return;let Y=Li(S,H),ee=Y?.displayPath??z,$=!Y,j=!V(H);Vs(H)&&(ee=rc(H).getLabel(),$=!1),X.push({type:he.SHORTCUT_TAG,key:A,level:T,shortcut:_,tagPath:H,displayName:ee,isMissing:$,isExcluded:j,missingLabel:$?z:void 0});return}if(la(_)){let z=x??_.nodeId,H=Kv(x,_.nodeId);if(H===Oe){let j=!l;X.push({type:he.SHORTCUT_PROPERTY,key:A,level:T,shortcut:_,propertyNodeId:Oe,displayName:d.navigationPane.properties,isMissing:j,missingLabel:j?d.navigationPane.properties:void 0});return}let Y=H?kn(H):null;if(!H||!Y){X.push({type:he.SHORTCUT_PROPERTY,key:A,level:T,shortcut:_,propertyNodeId:z,displayName:z,isMissing:!0,missingLabel:z});return}let ee=MN({nodeId:H,propertyTree:b});if(!ee){let j=b.get(Y.key);if(!j){let oe=Y.valuePath?.trim(),Z=oe&&oe.length>0?oe:Y.key;X.push({type:he.SHORTCUT_PROPERTY,key:A,level:T,shortcut:_,propertyNodeId:H,displayName:Z,isMissing:!0,missingLabel:Z});return}let J=Y.valuePath?.trim(),re=J&&J.length>0?J:j.name;X.push({type:he.SHORTCUT_PROPERTY,key:A,level:T,shortcut:_,propertyNodeId:H,displayName:re,isMissing:!0,missingLabel:re});return}let $=ee.node;X.push({type:he.SHORTCUT_PROPERTY,key:A,level:T,shortcut:_,propertyNodeId:$.id,displayName:$.name})}}),X},[t,c,u,p,m,g,f,r,h,b,l,e.interfaceIcons,e.showShortcuts,a,y,S]),k=(0,QV.useMemo)(()=>{if(!e.showRecentNotes)return[];let P=0,T=P+1,I=Math.max(1,e.recentNotesCount??1),N=o.slice(0,I),O=L=>{let V=t.vault.getAbstractFileByPath(L);return V instanceof ZV.TFile?v(V)?null:V:null},K=d.navigationPane.recentFilesHeader;if(!i){let L=!1;for(let V of N)if(O(V)){L=!0;break}return[{type:he.VIRTUAL_FOLDER,key:bi,level:P,data:{id:bi,name:K,icon:Qe(e.interfaceIcons,"nav-recent-files")},hasChildren:L}]}let G=[];N.forEach(L=>{let V=O(L);V&&G.push({type:he.RECENT_NOTE,key:`recent-${L}`,level:T,note:V})});let X=[{type:he.VIRTUAL_FOLDER,key:bi,level:P,data:{id:bi,name:K,icon:Qe(e.interfaceIcons,"nav-recent-files")},hasChildren:G.length>0}];return G.length===0||X.push(...G),X},[t,h,o,i,v,e.interfaceIcons,e.recentNotesCount,e.showRecentNotes,y]),F=s&&e.pinRecentNotesWithShortcuts&&e.showRecentNotes;return{shortcutItems:w,recentNotesItems:k,shouldPinRecentNotes:F}}var QV,ZV,Qre=U(()=>{QV=ue(ze()),ZV=require("obsidian");Ee();Ue();Ia();Yr();zn();Jm();Dr();Ba();Sn();cn();pr()});function Zre({settings:t,isVisible:e,sourceState:n,treeSections:r,folderDecorationModel:o,navRainbowState:a,shortcutsExpanded:i,recentNotesExpanded:s,pinShortcuts:l,sectionOrder:c}){let{app:u}=gt(),{fileNameIconNeedles:p}=_M(),{recentNotes:m}=Nre(),g=Ho(),{getFileDisplayName:f}=xo(),{hydratedShortcuts:h}=Td(),b=Xt(),v=b.includeDescendantNotes,y=b.showHiddenItems,{effectiveFrontmatterExclusions:S,hiddenFolders:w,hiddenFileTags:k,fileVisibility:F,navigationBannerPath:P,folderCountFileNameMatcher:T,rootLevelFolders:I,missingRootFolderPaths:N,untaggedCount:O,visibleTaggedCount:K,rootTagOrderMap:G,missingRootTagPaths:X,rootPropertyOrderMap:L,missingRootPropertyKeys:V,metadataDecorationVersion:D,metadataVisibilityVersion:A,tagDataVersion:_,fileChangeVersion:E}=n,{folderItems:R,tagItems:M,rootOrderingTagTree:C,resolvedRootTagKeys:x,tagsVirtualFolderHasChildren:z,renderPropertyTree:H,rootOrderingPropertyTree:Y,propertyItems:ee,propertiesSectionActive:$,resolvedRootPropertyKeys:j,propertyCollectionCount:J}=r,re=w,{shortcutItems:oe,recentNotesItems:Z,shouldPinRecentNotes:ce}=Xre({app:u,settings:t,sourceState:n,hydratedShortcuts:h,recentNotes:m,shortcutsExpanded:i,recentNotesExpanded:s,pinShortcuts:l,propertiesSectionActive:$}),{items:ae,itemsWithMetadata:se,firstSectionId:ne,firstInlineFolderPath:B,shortcutItemsWithMetadata:q,pinnedRecentNotesItems:ie,pathToIndex:le}=Yre({app:u,settings:t,metadataService:g,fileNameIconNeedles:p,getFileDisplayName:f,folderDecorationModel:o,navRainbowState:a,sectionOrder:c,showHiddenItems:y,pinShortcuts:l,shouldPinRecentNotes:ce,propertiesSectionActive:$,folderItems:R,tagItems:M,propertyItems:ee,shortcutItems:oe,recentNotesItems:Z,parsedExcludedFolders:re,metadataDecorationVersion:D}),{tagCounts:Te,propertyCounts:ke,folderCounts:Fe}=Ere({app:u,isVisible:e,settings:t,propertiesSectionActive:$,itemsWithMetadata:se,includeDescendantNotes:v,visibleTaggedCount:K,untaggedCount:O,renderPropertyTree:H,propertyCollectionCount:J,effectiveFrontmatterExclusions:S,hiddenFolders:w,hiddenFileTags:k,showHiddenItems:y,folderCountFileNameMatcher:T,fileVisibility:F,vaultChangeVersion:E,metadataVisibilityVersion:A,tagDataVersion:_});return{items:ae,firstSectionId:ne,firstInlineFolderPath:B,shortcutItems:q,pinnedRecentNotesItems:ie,shouldPinRecentNotes:ce,tagsVirtualFolderHasChildren:z,propertiesSectionActive:$,pathToIndex:le,tagCounts:Te,propertyCounts:ke,folderCounts:Fe,rootLevelFolders:I,missingRootFolderPaths:N,resolvedRootTagKeys:x,rootOrderingTagTree:C,rootTagOrderMap:G,missingRootTagPaths:X,resolvedRootPropertyKeys:j,rootOrderingPropertyTree:Y,rootPropertyOrderMap:L,missingRootPropertyKeys:V,vaultChangeVersion:E,navigationBannerPath:P}}var Jre=U(()=>{mn();qV();Xi();xg();Tr();on();Mre();$re();Qre()});function KCe(t,e){if(t===e)return!0;if(t.size!==e.size)return!1;for(let[n,r]of e)if(t.get(n)!==r)return!1;return!0}function WCe(t){return t.map(e=>e.type===he.ROOT_SPACER?`${e.type}:${e.spacing}`:e.type).join("")}function eoe({items:t,pathToIndex:e,isVisible:n,activeShortcutKey:r,scrollMargin:o,scrollPaddingEnd:a}){let{isMobile:i}=gt(),s=Ml(),l=d9(),c=Yn(),u=pt(),m=Xt().showHiddenItems,g=(0,Bn.useRef)(null),[f,h]=(0,Bn.useState)(null),[b,v]=(0,Bn.useState)(!1),y=(0,Bn.useCallback)(j=>{g.current=j,h(j),j||v(!1)},[]);(0,Bn.useEffect)(()=>{let j=f;if(!j){v(!1);return}let J=()=>{let oe=j.getBoundingClientRect(),Z=oe.width>0&&oe.height>0;v(ce=>ce===Z?ce:Z)};if(J(),typeof ResizeObserver>"u"){let oe=()=>J();return window.addEventListener("resize",oe),()=>{window.removeEventListener("resize",oe)}}let re=new ResizeObserver(oe=>{let Z=oe[0];if(!Z)return;let{width:ce,height:ae}=Z.contentRect,se=ce>0&&ae>0;v(ne=>ne===se?ne:se)});return re.observe(j),()=>re.disconnect()},[f]);let S=n&&b,w=(0,Bn.useCallback)((j,J)=>{if(!j)return;if(J)return Rl(e,J,j);let re=Rl(e,W.FOLDER,j);if(re!==void 0)return re;let oe=Rl(e,W.TAG,j);return oe!==void 0?oe:Rl(e,W.PROPERTY,j)},[e]),k=(0,Bn.useRef)(null),[F,P]=(0,Bn.useState)(0),T=(0,Bn.useRef)(0),I=(0,Bn.useRef)(null),N=(0,Bn.useRef)(null),O=(0,Bn.useRef)(!1),K=(0,Bn.useRef)(null),G=(0,Bn.useRef)(null),X=(0,Bn.useRef)(""),L=(0,Bn.useRef)(m),V=(0,Bn.useRef)(e.size),D=(0,Bn.useRef)(""),A=Number.isFinite(o)&&o>0?o:0,_=Number.isFinite(a)&&a>0?a:0,E=(0,Bn.useCallback)(j=>{let J=t[j];return J?vc(J):j},[t]),R=(0,Bn.useCallback)(j=>{let J=g.current;if(!J||_<=0)return;let re=J.querySelector(`[data-index="${j}"]`);if(!(re instanceof HTMLElement))return;let oe=J.getBoundingClientRect(),Z=re.getBoundingClientRect(),ce=oe.bottom-_;Z.bottom>ce&&(J.scrollTop+=Math.round(Z.bottom-ce))},[_]),M=kR({count:t.length,getItemKey:E,getScrollElement:()=>g.current,scrollMargin:A,scrollPaddingEnd:_,estimateSize:j=>{let J=t[j],re=i?u.navItemHeight+ol.mobileHeightIncrement:u.navItemHeight;switch(J.type){case he.TOP_SPACER:return ol.topSpacer;case he.BOTTOM_SPACER:return ol.bottomSpacer;case he.LIST_SPACER:return ol.listSpacer;case he.ROOT_SPACER:return J.spacing;case he.FOLDER:case he.VIRTUAL_FOLDER:return re;case he.TAG:case he.UNTAGGED:return re;default:return re}},overscan:GP}),C=(0,Bn.useMemo)(()=>WCe(t),[t]);(0,Bn.useEffect)(()=>{let j=I.current,J=j===null||!KCe(j,e),re=D.current!==C;if(J){let oe=T.current;T.current=oe+1,V.current=e.size,I.current=e,D.current=C,M.measure();return}re&&(D.current=C,M.measure()),(V.current!==e.size||I.current!==e)&&(V.current=e.size,I.current=e)},[C,e,e.size,M]);let x=(0,Bn.useCallback)((j,J)=>{M.scrollToIndex(j,{align:J});let re=0,oe=()=>{re+=1,R(j),re<3&&window.requestAnimationFrame(oe)};window.requestAnimationFrame(oe)},[R,M]),z=(0,Bn.useCallback)(()=>{i&&g.current&&g.current.scrollTo({top:0,behavior:"smooth"})},[i]),H=(0,Bn.useCallback)((j,J)=>{let re=Lp(J.itemType,j);k.current={path:re,align:J.align,intent:"external",minIndexVersion:T.current,itemType:J.itemType},P(oe=>oe+1)},[]),Y=s.selectionType===W.TAG?W.TAG:s.selectionType===W.PROPERTY?W.PROPERTY:s.selectionType===W.FOLDER?W.FOLDER:null,ee=s.selectionType===W.FOLDER&&s.selectedFolder?Lp(W.FOLDER,s.selectedFolder.path):s.selectionType===W.TAG&&s.selectedTag?Lp(W.TAG,s.selectedTag):s.selectionType===W.PROPERTY&&s.selectedProperty?s.selectedProperty:null;(0,Bn.useEffect)(()=>{if(!ee||!M||!S)return;if(l.isRevealOperation){N.current=ee,O.current=S,K.current=c.focusedPane;return}let j=Y??W.FOLDER,J=u.skipAutoScroll&&l.revealSource==="shortcut",re=N.current!==ee,oe=!O.current&&S,Z=K.current!=="navigation"&&c.focusedPane==="navigation";if(N.current=ee,O.current=S,K.current=c.focusedPane,J||!re&&!oe&&!Z||r)return;if(L.current!==m){k.current={path:ee,align:"auto",intent:"visibilityToggle",minIndexVersion:T.current+1,itemType:j},P(ae=>ae+1);return}let ce=w(ee,j);ce!==void 0&&ce>=0&&x(ce,FR("selection"))},[ee,M,S,l.isRevealOperation,c.focusedPane,m,Y,l.revealSource,w,r,u.skipAutoScroll,x]),(0,Bn.useEffect)(()=>{if(!ee||!Y||!M||!S)return;if(l.isRevealOperation){G.current=ee;return}if(Y!==W.TAG&&Y!==W.PROPERTY)return;if(r){G.current=ee;return}if(u.skipAutoScroll&&l.revealSource==="shortcut"){G.current=ee;return}let J=G.current!==ee;if(G.current=ee,!J)return;if(L.current!==m){k.current={path:ee,align:"auto",intent:"visibilityToggle",minIndexVersion:T.current+1,itemType:Y},P(oe=>oe+1);return}let re=w(ee,Y);re!==void 0&&re>=0&&x(re,FR("selection"))},[e,Y,ee,M,S,l.isRevealOperation,m,w,r,l.revealSource,u.skipAutoScroll,x]),(0,Bn.useEffect)(()=>{if(!M||!k.current||!S)return;let{path:j,align:J,intent:re,minIndexVersion:oe,itemType:Z}=k.current;if(L.current!==m&&re!=="visibilityToggle")return;let ce=oe??T.current;if(T.current<ce)return;let ae=w(j,Z);if(ae!==void 0&&ae!==-1){let se=J??FR(re);if(x(ae,se),k.current=null,re==="visibilityToggle"){let ne=ae,B=j;window.requestAnimationFrame(()=>{let q=w(B,Z);q!==void 0&&q!==ne&&(k.current={path:B,align:"auto",intent:"visibilityToggle",minIndexVersion:T.current+1,itemType:Z},P(ie=>ie+1))})}}},[M,S,F,m,w,x]),(0,Bn.useEffect)(()=>{if(!i)return;let j=()=>{if(r||!ee)return;let J=Y??W.FOLDER;if(M&&S){let re=w(ee,J);if(re!==void 0&&re>=0){x(re,"auto");return}}k.current={path:ee,align:"auto",intent:"mobile-visibility",minIndexVersion:T.current,itemType:J},P(re=>re+1)};return window.addEventListener("notebook-navigator-visible",j),()=>window.removeEventListener("notebook-navigator-visible",j)},[i,ee,M,Y,w,r,S,x]),(0,Bn.useEffect)(()=>{M&&M.measure()},[u.navItemHeight,u.rootLevelSpacing,M]),(0,Bn.useEffect)(()=>{let j=`${u.navItemHeight}-${u.rootLevelSpacing}`,J=X.current&&X.current!==j;if(r){X.current=j;return}if(J&&ee&&S&&M){let re=w(ee,Y??W.FOLDER);re!==void 0&&re>=0&&window.requestAnimationFrame(()=>{x(re,"auto")})}X.current=j},[u.navItemHeight,u.rootLevelSpacing,ee,S,M,w,Y,r,x]);let $=(0,Bn.useRef)(null);return(0,Bn.useEffect)(()=>{if(!S)return;let j=$.current,J={top:A,bottom:_};if($.current=J,!j||j.top===J.top&&j.bottom===J.bottom||r||!ee)return;let re=Y??W.FOLDER,oe=w(ee,re);oe===void 0||oe<0||window.requestAnimationFrame(()=>{x(oe,"auto")})},[r,A,_,S,w,x,ee,Y]),(0,Bn.useEffect)(()=>{L.current!==m&&(ee&&(Y===W.TAG||Y===W.PROPERTY)&&S&&M&&(k.current={path:ee,align:"auto",intent:"visibilityToggle",minIndexVersion:T.current+1,itemType:Y??W.FOLDER},P(j=>j+1)),L.current=m)},[Y,m,ee,S,M]),{rowVirtualizer:M,scrollContainerRef:g,scrollContainerRefCallback:y,handleScrollToTop:z,requestScroll:H,pendingScrollVersion:F}}var Bn,toe=U(()=>{Bn=ue(ze());QH();mn();Ur();pa();on();Tr();Ue();JH();Mg()});function noe(t){let{app:e,items:n,settings:r,showHiddenItems:o,updateSettings:a,sectionOrder:i,setSectionOrder:s,rootLevelFolders:l,missingRootFolderPaths:c,resolvedRootTagKeys:u,rootOrderingTagTree:p,missingRootTagPaths:m,resolvedRootPropertyKeys:g,rootOrderingPropertyTree:f,missingRootPropertyKeys:h,metadataService:b,foldersSectionExpanded:v,tagsSectionExpanded:y,propertiesSectionExpanded:S,propertiesSectionActive:w,handleToggleFoldersSection:k,handleToggleTagsSection:F,handleTogglePropertiesSection:P,activeProfile:T}=t,{showRootFolder:I,rootFolderOrder:N,rootTagOrder:O,rootPropertyOrder:K,showUntagged:G,tagSortOrder:X,propertySortOrder:L,showShortcuts:V,showRecentNotes:D,showTags:A,customVaultName:_}=r,{hiddenFolders:E,hiddenTags:R}=T,M=(0,lr.useMemo)(()=>Fm(R),[R]),C=(0,lr.useMemo)(()=>M.pathPatterns.length>0||M.prefixes.length>0||M.startsWithNames.length>0||M.endsWithNames.length>0,[M]),x=(0,lr.useMemo)(()=>{let ge=[];if(I){let Re=e.vault.getRoot();ge.push({key:Re.path,folder:Re,isVault:!0})}let be=new Map;l.forEach(Re=>{be.set(Re.path,Re)});let me=new Set(c),fe=N.length>0?N:l.map(Re=>Re.path),we=new Set;return fe.forEach(Re=>{if(we.has(Re))return;we.add(Re);let nt=be.get(Re);nt?ge.push({key:Re,folder:nt}):me.has(Re)&&ge.push({key:Re,folder:null,isMissing:!0})}),l.forEach(Re=>{we.has(Re.path)||ge.push({key:Re.path,folder:Re})}),ge},[e.vault,c,N,l,I]),z=(0,lr.useMemo)(()=>X==="frequency-asc"||X==="frequency-desc"?d.navigationPane.resetRootToFrequency:d.navigationPane.resetRootToAlpha,[X]),H=(0,lr.useMemo)(()=>L==="frequency-asc"||L==="frequency-desc"?d.navigationPane.resetRootToFrequency:d.navigationPane.resetRootToAlpha,[L]),Y=(0,lr.useMemo)(()=>{let ge=[],be=new Map;p.forEach((we,Re)=>{be.set(Re,we)});let me=new Set,fe=we=>{me.has(we.key)||(me.add(we.key),ge.push(we))};return be.size>0&&fe({key:jCe,tag:null,isVirtualRoot:!0}),u.forEach(we=>{if(we===bt){G&&fe({key:bt,tag:null,isUntagged:!0});return}let Re=be.get(we);Re&&fe({key:Re.path,tag:Re})}),O.forEach(we=>{we!==bt&&(me.has(we)||be.has(we)||fe({key:we,tag:null,isMissing:!0}))}),m.forEach(we=>{we!==bt&&(me.has(we)||fe({key:we,tag:null,isMissing:!0}))}),ge},[m,u,p,O,G]),ee=(0,lr.useMemo)(()=>{let ge=[],be=new Map;f.forEach((we,Re)=>{be.set(Re,we)});let me=new Set,fe=we=>{me.has(we.key)||(me.add(we.key),ge.push(we))};return g.forEach(we=>{let Re=be.get(we);Re&&fe({key:Re.key,node:Re})}),K.forEach(we=>{me.has(we)||be.has(we)||fe({key:we,node:null,isMissing:!0})}),h.forEach(we=>{me.has(we)||fe({key:we,node:null,isMissing:!0})}),ge},[h,g,f,K]),$=(0,lr.useMemo)(()=>x.filter(ge=>{if(ge.isVault)return!1;if(!o){let be=ge.folder?ge.folder.name:zc(ge.key);if(E.length>0&&qd(be,E,ge.key))return!1}return!0}),[E,x,o]),j=(0,lr.useMemo)(()=>Y.filter(ge=>!(ge.isVirtualRoot||!o&&C&&ge.tag&&ss(ge.tag.path,ge.tag.name,M))),[C,M,Y,o]),J=(0,lr.useMemo)(()=>ee.slice(),[ee]),re=(0,lr.useMemo)(()=>HS(i),[i]),oe=(0,lr.useMemo)(()=>o?re:re.filter(ge=>ge===Dt.SHORTCUTS?V:ge===Dt.RECENT?D:ge===Dt.FOLDERS?$.length>0:ge===Dt.TAGS?A&&j.length>0:ge===Dt.PROPERTIES?w:!0),[$.length,j.length,w,re,o,D,V,A]),Z=oe.length>1,ce=(0,lr.useCallback)(async ge=>{let be=Are(ge,re);go(be,re)||(s(be),ye.set(ut.navigationSectionOrderKey,be))},[re,s]),ae=$.length>1,se=j.length>1,ne=J.length>1,B=Z||ae||se||ne,q=$.length>0,ie=j.length>0,le=J.length>0,Te=(0,lr.useMemo)(()=>{let ge=new Map,be=new Map,me=new Map,fe=new Map,we=new Map,Re=new Map,nt=new Map;return n.forEach(ct=>{if(ct.type===he.FOLDER){let yt=ct.data.path;ge.set(yt,ct.icon),be.set(yt,ct.color),me.set(yt,ct.displayName);return}if(ct.type===he.TAG){let yt=ct.data.path;fe.set(yt,ct.icon),we.set(yt,ct.color);return}if(ct.type===he.PROPERTY_KEY){let yt=ct.data.key;Re.set(yt,ct.icon),nt.set(yt,ct.color)}}),{rootFolderIconMap:ge,rootFolderColorMap:be,rootFolderDisplayNameMap:me,rootTagIconMap:fe,rootTagColorMap:we,rootPropertyIconMap:Re,rootPropertyColorMap:nt}},[n]),{rootFolderIconMap:ke,rootFolderColorMap:Fe,rootFolderDisplayNameMap:te,rootTagIconMap:pe,rootTagColorMap:ve,rootPropertyIconMap:Ie,rootPropertyColorMap:qe}=Te,xe=(0,lr.useMemo)(()=>x.find(ge=>ge.isVault),[x]),Ce=(0,lr.useCallback)(async ge=>{let be=ge.slice();go(be,N)||await a(me=>{me.rootFolderOrder=be})},[N,a]),vt=(0,lr.useCallback)(async ge=>{let be=ge.slice();go(be,O)||await a(me=>{me.rootTagOrder=be})},[O,a]),Rt=(0,lr.useCallback)(async ge=>{let be=ge.slice();go(be,K)||await a(me=>{me.rootPropertyOrder=be})},[K,a]),Ve=(0,lr.useCallback)(async ge=>{await Ce(ge)},[Ce]),Ae=(0,lr.useCallback)(async ge=>{await vt(ge)},[vt]),Ke=(0,lr.useCallback)(async ge=>{await Rt(ge)},[Rt]),Be=(0,lr.useCallback)(async ge=>{ge&&await a(be=>{if(!Array.isArray(be.rootFolderOrder)){be.rootFolderOrder=[];return}be.rootFolderOrder.includes(ge)&&(be.rootFolderOrder=be.rootFolderOrder.filter(me=>me!==ge))})},[a]),wt=(0,lr.useCallback)(async ge=>{ge&&await a(be=>{if(!Array.isArray(be.rootTagOrder)){be.rootTagOrder=[];return}be.rootTagOrder.includes(ge)&&(be.rootTagOrder=be.rootTagOrder.filter(me=>me!==ge))})},[a]),Ct=(0,lr.useCallback)(async ge=>{ge&&await a(be=>{if(!Array.isArray(be.rootPropertyOrder)){be.rootPropertyOrder=[];return}be.rootPropertyOrder.includes(ge)&&(be.rootPropertyOrder=be.rootPropertyOrder.filter(me=>me!==ge))})},[a]),qt=(0,lr.useCallback)((ge,be)=>{let me=()=>{Q(()=>be(ge))};return(0,roe.jsx)("span",{role:"button",tabIndex:0,className:"nn-root-reorder-remove",onClick:fe=>{fe.preventDefault(),fe.stopPropagation(),me()},onKeyDown:fe=>{(fe.key==="Enter"||fe.key===" ")&&(fe.preventDefault(),fe.stopPropagation(),me())},children:GCe})},[]),lt=(0,lr.useMemo)(()=>$.map(ge=>{let be=ge.isMissing===!0,me=ge.folder?ge.folder.name:zc(ge.key),fe=E.length>0&&qd(me,E,ge.key),we=ge.folder===null?zc(ge.key):te.get(ge.key)||_s({app:e,metadataService:b,settings:{customVaultName:_},folderPath:ge.key,fallbackName:ge.folder.name}),Re=ke.get(ge.key)??(be?void 0:b.getFolderIcon(ge.key)),nt=Fe.get(ge.key)??(be?void 0:b.getFolderColor(ge.key)),ct=Qe(r.interfaceIcons,"nav-folder-closed");be?ct="lucide-folder-off":Re&&(ct=Re);let yt=be?qt(ge.key,Be):void 0;return{key:ge.key,props:{icon:ct,color:nt,label:we,level:1,dragHandlers:void 0,isDragSource:!1,isMissing:be,itemType:"folder",className:o&&fe?"nn-excluded":void 0,trailingAccessory:yt}}}),[e,$,ke,Fe,te,b,r.interfaceIcons,_,qt,Be,E,o]),Zt=(0,lr.useMemo)(()=>j.map(ge=>{let be=ge.isUntagged===!0,me=ge.isMissing===!0,fe=!be&&C&&ge.tag&&ss(ge.tag.path,ge.tag.name,M),we,Re;if(be)we=b.getTagIcon(ge.key)??Qe(r.interfaceIcons,"nav-tag"),Re=d.tagList.untaggedLabel;else{let bn=pe.get(ge.key),Kn=b.getTagIcon(ge.key);we=bn??Kn??(me?"lucide-tag-off":Qe(r.interfaceIcons,"nav-tag")),Re=ge.tag?`#${ge.tag.displayPath}`:`#${ge.key}`}let nt=be?void 0:b.getTagColor(ge.key),ct=ve.get(ge.key)??nt,yt=me?qt(ge.key,wt):void 0;return{key:ge.key,props:{icon:we,color:ct,label:Re,level:1,dragHandlers:void 0,isDragSource:!1,isMissing:me,itemType:"tag",className:o&&fe?"nn-excluded":void 0,trailingAccessory:yt}}}),[j,pe,ve,b,r.interfaceIcons,qt,wt,C,M,o]),Kt=(0,lr.useMemo)(()=>J.map(ge=>{let be=ge.isMissing===!0,me=ge.node?.id??Gn(ge.key),fe=Ie.get(ge.key),we=qe.get(ge.key),Re=b.getPropertyIcon(me),nt=b.getPropertyColor(me),ct=fe??Re??Qe(r.interfaceIcons,"nav-property"),yt=we??nt,bn=ge.node?ge.node.name:ge.key,Kn=be?qt(ge.key,Ct):void 0;return{key:ge.key,props:{icon:ct,color:yt,label:bn,level:1,dragHandlers:void 0,isDragSource:!1,isMissing:be,itemType:"property",trailingAccessory:Kn}}}),[J,Ie,qe,b,r.interfaceIcons,qt,Ct]),gn=(0,lr.useMemo)(()=>oe.map(ge=>{let be=ge===Dt.SHORTCUTS&&!V||ge===Dt.RECENT&&!D||ge===Dt.FOLDERS&&x.length===0||ge===Dt.TAGS&&!A||ge===Dt.PROPERTIES&&!w,me="lucide-circle",fe="",we,Re,nt;if(ge===Dt.SHORTCUTS)me=Qe(r.interfaceIcons,"nav-shortcuts"),fe=d.navigationPane.shortcutsHeader;else if(ge===Dt.RECENT)me=Qe(r.interfaceIcons,"nav-recent-files"),fe=d.navigationPane.recentFilesHeader;else if(ge===Dt.FOLDERS){if(xe){let ct=ke.get(xe.key);nt=Fe.get(xe.key),ct?me=ct:me=v?"open-vault":"vault",fe=_s({app:e,metadataService:b,settings:{customVaultName:_},folderPath:xe.key,fallbackName:xe.folder?.name??e.vault.getRoot().name})}else me=vi,fe=d.settings.sections.folders;we=v?"lucide-chevron-down":"lucide-chevron-right",Re=k}else ge===Dt.TAGS?(me=Qe(r.interfaceIcons,"nav-tags"),fe=d.settings.sections.tags,we=y?"lucide-chevron-down":"lucide-chevron-right",Re=F):ge===Dt.PROPERTIES&&(me=Qe(r.interfaceIcons,"nav-properties"),fe=d.navigationPane.properties,we=S?"lucide-chevron-down":"lucide-chevron-right",Re=P);return{key:ge,sectionId:ge,props:{icon:me,label:fe,level:0,dragHandlers:void 0,isDragSource:!1,color:nt,onClick:Re,chevronIcon:we,itemType:"section",className:be?"nn-excluded":void 0}}}),[oe,V,D,A,w,x.length,xe,ke,Fe,_,e,b,r.interfaceIcons,v,y,k,F,S,P]),fn=(0,lr.useCallback)(async()=>{await a(ge=>{ge.rootFolderOrder=[]})},[a]),an=(0,lr.useCallback)(async()=>{await a(ge=>{ge.rootTagOrder=[]})},[a]),Pe=(0,lr.useCallback)(async()=>{await a(ge=>{ge.rootPropertyOrder=[]})},[a]);return{reorderableRootFolders:$,reorderableRootTags:j,reorderableRootProperties:J,sectionReorderItems:gn,folderReorderItems:lt,tagReorderItems:Zt,propertyReorderItems:Kt,canReorderSections:Z,canReorderRootFolders:ae,canReorderRootTags:se,canReorderRootProperties:ne,canReorderRootItems:B,showRootFolderSection:q,showRootTagSection:ie,showRootPropertySection:le,resetRootTagOrderLabel:z,resetRootPropertyOrderLabel:H,vaultRootDescriptor:xe,handleResetRootFolderOrder:fn,handleResetRootTagOrder:an,handleResetRootPropertyOrder:Pe,reorderSectionOrder:ce,reorderRootFolderOrder:Ve,reorderRootTagOrder:Ae,reorderRootPropertyOrder:Ke}}var lr,roe,jCe,GCe,ooe=U(()=>{lr=ue(ze());Ue();Ee();Jr();Sl();ot();ID();$o();Yr();Dr();Ru();pr();Vm();cn();roe=ue(Ge()),jCe="__nn-tags-root__",GCe=d.common.remove});function aoe(t,e){let n=e?.enabled??!0,[r,o]=(0,ED.useState)(0);return(0,ED.useLayoutEffect)(()=>{if(!n){o(l=>l===0?l:0);return}let a=t.current;if(!a){o(l=>l===0?l:0);return}let i=()=>{let l=a.offsetHeight;o(c=>c===l?c:l)};if(i(),typeof ResizeObserver>"u"){let l=()=>i();return window.addEventListener("resize",l),()=>{window.removeEventListener("resize",l)}}let s=new ResizeObserver(()=>{i()});return s.observe(a),()=>{s.disconnect()}},[n,t]),r}var ED,ioe=U(()=>{ED=ue(ze())});function soe({app:t,commandQueue:e,isMobile:n,rootContainerRef:r,settings:o,uiState:a,uiDispatch:i,selectionType:s,selectedFolder:l,selectionDispatch:c,setActiveShortcut:u,onExecuteSearchShortcut:p,onNavigateToFolder:m,onRevealTag:g,onRevealProperty:f,onRevealFile:h,onRevealShortcutFile:b,openFolderNoteInRightSidebar:v,tagTree:y,hydratedShortcuts:S}){let w=(0,Js.useCallback)(D=>{!a.singlePane||D!=="right-sidebar"||(i({type:"SET_SINGLE_PANE_VIEW",view:"files"}),i({type:"SET_FOCUSED_PANE",pane:"files"}))},[i,a.singlePane]),k=(0,Js.useCallback)(()=>{let D=()=>u(null);if(typeof requestAnimationFrame<"u"){window.requestAnimationFrame(()=>{window.requestAnimationFrame(D)});return}window.setTimeout(D,0)},[u]),F=(0,Js.useCallback)(D=>{let A=()=>t.workspace.getLeaf(!1),_=async E=>{E&&await E.openFile(D,{active:!1})};if(e){Q(()=>e.executeOpenActiveFile(D,_,{active:!1,getLeaf:A}));return}Q(()=>_(A()))},[t.workspace,e]),P=(0,Js.useCallback)((D,A)=>{u(A),m(D.path,{skipScroll:o.skipAutoScroll,source:"shortcut"}),k();let _=r.current;_&&!a.singlePane&&_.focus()},[m,r,k,u,o.skipAutoScroll,a.singlePane]),T=(0,Js.useCallback)((D,A,_)=>{if(u(A),!o.enableFolderNotes||!o.enableFolderNoteLinks){P(D,A);return}let E=Pn(D,o);if(!E){P(D,A);return}let R=s===W.FOLDER&&l?.path===D.path;c({type:"SET_SELECTED_FOLDER",folder:D,autoSelectedFile:null});let M=Hc(_,o.folderNoteOpenLocation,o.multiSelectModifier,n);if(w(M),M==="right-sidebar"&&o.showNearestFolderNoteInSidebar&&!R){k();return}Q(()=>ri({app:t,commandQueue:e,folder:D,folderNote:E,context:M,openInRightSidebar:v})),k()},[t,e,w,P,n,v,k,l,c,u,s,o]),I=(0,Js.useCallback)((D,A)=>{if(A.button!==1||!o.enableFolderNotes||!o.enableFolderNoteLinks)return;let _=Pn(D,o);_&&(A.preventDefault(),A.stopPropagation(),c({type:"SET_SELECTED_FOLDER",folder:D,autoSelectedFile:null}),Q(()=>ri({app:t,commandQueue:e,folder:D,folderNote:_,context:"tab"})))},[t,e,c,o]),N=(0,Js.useCallback)((D,A)=>{u(A),s===W.TAG&&b?b(D):h(D),F(D),n&&t.workspace.leftSplit&&t.workspace.leftSplit.collapse();let _=a.singlePane?a.currentSinglePaneView:"files";i({type:"SET_FOCUSED_PANE",pane:_}),k()},[t,n,h,b,F,k,s,u,i,a.currentSinglePaneView,a.singlePane]),O=(0,Js.useCallback)((D,A)=>{D.button===1&&(D.preventDefault(),D.stopPropagation(),Q(()=>no({app:t,commandQueue:e,file:A,context:"tab"})))},[t,e]),K=(0,Js.useCallback)(D=>{s===W.TAG&&b?b(D):h(D),F(D),n&&t.workspace.leftSplit&&t.workspace.leftSplit.collapse();let A=a.singlePane?a.currentSinglePaneView:"files";i({type:"SET_FOCUSED_PANE",pane:A})},[t.workspace,n,h,b,F,s,i,a.currentSinglePaneView,a.singlePane]),G=(0,Js.useCallback)((D,A)=>{u(D),p&&Q(()=>p(D,A)),k()},[p,k,u]),X=(0,Js.useCallback)((D,A)=>{u(A);let _=Vc(D,y);if(!_){k();return}if(g(_,{skipScroll:o.skipAutoScroll,source:"shortcut"}),!a.singlePane){i({type:"SET_FOCUSED_PANE",pane:"navigation"});let E=r.current;E&&E.focus()}c({type:"SET_KEYBOARD_NAVIGATION",isKeyboardNavigation:!0}),k()},[g,r,k,c,u,o.skipAutoScroll,y,i,a.singlePane]),L=(0,Js.useCallback)((D,A)=>{if(u(A),!f(D,{skipScroll:o.skipAutoScroll,source:"shortcut"}))return k(),!1;if(!a.singlePane){i({type:"SET_FOCUSED_PANE",pane:"navigation"});let E=r.current;E&&E.focus()}return c({type:"SET_KEYBOARD_NAVIGATION",isKeyboardNavigation:!0}),k(),!0},[f,r,k,c,u,o.skipAutoScroll,i,a.singlePane]),V=(0,Js.useCallback)(async D=>{if(!Number.isInteger(D)||D<1)return!1;let A=S[D-1];if(!A||A.isMissing)return!1;let{key:_,shortcut:E,folder:R,note:M,search:C,tagPath:x,propertyNodeId:z}=A;if(Zo(E)&&R)return P(R,_),!0;if(Po(E)&&M)return N(M,_),!0;if(Bi(E))return G(_,C??E),!0;if(Co(E)){let H=x??E.tagPath;return H?(X(H,_),!0):!1}if(la(E)){let H=Kv(z,E.nodeId);return H?L(H,_):!1}return!1},[P,N,L,G,X,S]);return{handleShortcutFolderActivate:P,handleShortcutFolderNoteClick:T,handleShortcutFolderNoteMouseDown:I,handleShortcutNoteActivate:N,handleShortcutNoteMouseDown:O,handleRecentNoteActivate:K,handleShortcutSearchActivate:G,handleShortcutTagActivate:X,handleShortcutPropertyActivate:L,openShortcutByNumber:V}}var Js,loe=U(()=>{Js=ue(ze());Ia();cn();Sn();ot();Zc();Jc();td();Ue()});function doe({app:t,settings:e,includeDescendantNotes:n,showHiddenItems:r,fileVisibility:o,noteCountDB:a,hiddenFolders:i,effectiveFrontmatterExclusions:s,effectiveFrontmatterExclusionMatcher:l,folderCountFileNameMatcher:c,hiddenFileTagVisibility:u,getFolderCounts:p,getTagCounts:m,getPropertyCounts:g,tagTree:f,propertyTree:h,propertyTreeService:b,onToggleShortcutsPin:v,isShortcutsPinned:y,onConfigurePropertyKeys:S}){let w=e.pinRecentNotesWithShortcuts&&e.showRecentNotes,k=w?d.navigationPane.pinShortcutsAndRecentFiles:d.navigationPane.pinShortcuts,F=w?d.navigationPane.unpinShortcutsAndRecentFiles:d.navigationPane.unpinShortcuts,P=y?F:k,T=(0,Ug.useMemo)(()=>({actionLabel:P,icon:y?"lucide-pin-off":"lucide-pin",onClick:v}),[y,v,P]),I=(0,Ug.useMemo)(()=>({actionLabel:d.contextMenu.property.addKey,icon:"lucide-settings-2",onClick:S,labelMode:"note-count"}),[S]),N=(0,Ug.useCallback)(X=>{if(!e.showNoteCount)return US;let L=p().get(X.path);if(L)return L;let V=No({enableFolderNotes:e.enableFolderNotes,folderNoteName:e.folderNoteName,folderNoteNamePattern:e.folderNoteNamePattern});return IP(X,{app:t,db:a,fileVisibility:o,excludedFiles:s,excludedFileMatcher:l,excludedFolders:i,fileNameMatcher:c,hiddenFileTagVisibility:u,includeDescendants:n,showHiddenFolders:r,hideFolderNoteInList:e.hideFolderNoteInList,folderNoteSettings:V})},[t,l,s,o,c,p,u,i,n,a,e,r]),O=(0,Ug.useCallback)(X=>{let L=Vc(X,f);if(!L||!e.showNoteCount)return US;let V=m().get(L);if(V)return V;let D=Li(f,L);return D?pN(D,n):US},[m,n,e.showNoteCount,f]),K=(0,Ug.useCallback)(X=>{if(!e.showNoteCount)return US;let L=g().get(X);if(L)return L;if(X===Oe)return US;let D=MN({nodeId:X,propertyTreeService:b,propertyTree:h})?.node??null;if(!D)return US;if(D.kind==="key"){let M=jc(D);if(!n)return{current:M,descendants:0,total:M};let C=D.notesWithValue.size,x=Math.max(C-M,0);return{current:M,descendants:x,total:C}}let A=D.notesWithValue.size;if(!n||!D.valuePath)return{current:A,descendants:0,total:A};let _=b?.getKeyNode(D.key)??h.get(D.key)??null;if(!_)return{current:A,descendants:0,total:A};let E=Pm(_,D.valuePath),R=Math.max(E-A,0);return{current:A,descendants:R,total:E}},[g,n,h,b,e.showNoteCount]),G=(0,Ug.useCallback)(X=>{let L=zc(X);if(!L)return"";let V=L.lastIndexOf(".");if(V<=0)return L;let D=L.substring(0,V);return L.substring(V+1).toLowerCase()==="md"?D:L},[]);return{pinToggleLabel:P,shortcutHeaderTrailingAction:T,propertiesHeaderTrailingAction:I,getFolderShortcutCount:N,getTagShortcutCount:O,getPropertyShortcutCount:K,getMissingNoteLabel:G}}var Ug,US,coe=U(()=>{Ug=ue(ze());Ee();_a();YV();Ba();Ue();cn();$o();Sn();US={current:0,descendants:0,total:0}});function uoe({app:t,isMobile:e,isRootReorderMode:n,isShortcutContextMenuOpen:r,shortcutsExpanded:o,showShortcuts:a,hydratedShortcuts:i,hasFolderShortcut:s,hasNoteShortcut:l,reorderShortcuts:c,addTagShortcut:u,addPropertyShortcut:p,addShortcutsBatch:m}){let g=i.length,f=o&&g>0&&a,h=(0,Ni.useMemo)(()=>i.map(E=>E.key),[i]),b=RS(Vg(MS,{activationConstraint:lre})),v=f&&h.length>1&&!n&&!r,[y,S]=(0,Ni.useState)(null),w=v&&!!y,k=e&&f,F=(0,Ni.useMemo)(()=>{if(k)return{visible:!0,only:!0}},[k]),P=(0,Ni.useMemo)(()=>{let E=new Map;return i.forEach((R,M)=>{E.set(R.key,M)}),E},[i]),T=(0,Ni.useCallback)(E=>{S(String(E.active.id))},[]),I=(0,Ni.useCallback)(E=>{let R=String(E.active.id),M=E.over?String(E.over.id):void 0;if(S(null),!M||R===M)return;let C=h.indexOf(R),x=h.indexOf(M);if(C===-1||x===-1)return;let z=Kp(h,C,x);Q(async()=>{await c(z)})},[c,h]),N=(0,Ni.useCallback)(()=>{S(null)},[]),O=(0,Ni.useCallback)((E,R)=>{let M=P.get(R);if(M===void 0)return i.length;let C=E.currentTarget;if(!(C instanceof HTMLElement))return M;let x=C.getBoundingClientRect();return E.clientY-x.top<x.height/2?M:M+1},[i.length,P]),K="__shortcuts-root__",G=(0,Ni.useCallback)(E=>{let{dataTransfer:R}=E;if(!R||!o||!a)return!1;let M=Array.from(R.types??[]);if(M.includes(Gv))return!1;let C=Vb(M),x=M.includes(Jg),z=M.includes(lw);return!C&&!x&&!z?!1:(E.preventDefault(),R.dropEffect="copy",!0)},[o,a]),X=(0,Ni.useCallback)(E=>{let R=t.vault.getAbstractFileByPath(E);return R instanceof KS.TFile?"file":R instanceof KS.TFolder?"folder":null},[t.vault]),L=(0,Ni.useCallback)((E,R)=>{let{dataTransfer:M}=E;if(!M||!o||!a||Array.from(M.types??[]).includes(Gv))return!1;let x=M.getData(Jg);if(x){let oe=w9(x);if(oe){E.preventDefault(),E.stopPropagation();let Z=O(E,R);return Q(async()=>{await u(oe,{index:Math.max(0,Z)})}),!0}}let z=M.getData(lw);if(z){let oe=T9(z);if(oe){E.preventDefault(),E.stopPropagation();let Z=O(E,R);return Q(async()=>{await p(oe,{index:Math.max(0,Z)})}),!0}}let H=xF(M,{getPathType:X,vaultName:t.vault.getName()});if(!H||H.length===0)return!1;let Y=new Set,ee=H.filter(oe=>Y.has(oe)?!1:(Y.add(oe),!0));if(ee.length===0)return!1;let $=[],j=0,J=0;if(ee.forEach(oe=>{let Z=t.vault.getAbstractFileByPath(oe);if(Z instanceof KS.TFolder){if(Z.path==="/")return;if(s(Z.path)){j+=1;return}$.push({type:Dn.FOLDER,path:Z.path})}else if(Z instanceof KS.TFile){if(l(Z.path)){J+=1;return}$.push({type:Dn.NOTE,path:Z.path})}}),j>0&&de(d.shortcuts.folderExists,{variant:"warning"}),J>0&&de(d.shortcuts.noteExists,{variant:"warning"}),$.length===0)return!1;E.preventDefault(),E.stopPropagation();let re=O(E,R);return Q(async()=>{await m($,{index:Math.max(0,re)})}),!0},[p,m,u,t.vault,O,X,s,l,a,o]),V=o&&a&&i.length===0,D=(0,Ni.useCallback)(E=>{V&&G(E)},[V,G]),A=(0,Ni.useCallback)(E=>{V&&L(E,K)},[V,L]),_=(0,Ni.useCallback)(E=>({onDragOver:R=>{G(R)},onDrop:R=>{L(R,E)}}),[G,L]);return{activeShortcutId:y,shouldUseShortcutDnd:v,allowEmptyShortcutDrop:V,shortcutDragHandleConfig:F,shortcutIds:h,shortcutSensors:b,handleShortcutDragStart:T,handleShortcutDragEnd:I,handleShortcutDragCancel:N,isShortcutSorting:w,handleShortcutRootDragOver:D,handleShortcutRootDrop:A,buildShortcutExternalHandlers:_}}var Ni,KS,poe=U(()=>{Ni=ue(ze()),KS=require("obsidian");Uf();zS();Fn();jM();ot();jr();FP();Ia();Ee()});function moe({settings:t,menuServices:e,selectionStateRef:n,expansionState:r,selectionDispatch:o,expansionDispatch:a,uiDispatch:i,removeShortcut:s,renameShortcut:l,setIsShortcutContextMenuOpen:c}){let u=(0,JV.useCallback)((m,g)=>{if(!t.showShortcuts)return;let f=m.target;if(f instanceof HTMLElement&&f.closest(".nn-drag-handle")){m.preventDefault(),m.stopPropagation();return}m.preventDefault(),m.stopPropagation();let h=new e1.Menu;if(h.onHide(()=>{c(!1)}),c(!0),g.type==="search"){Tu({app:e.app,menu:h,shortcutKey:g.key,defaultLabel:g.searchShortcut.name,existingShortcut:g.searchShortcut,title:d.shortcuts.rename,placeholder:d.searchInput.shortcutNamePlaceholder,renameShortcut:l,closeOnSubmit:!1}),h.addItem(y=>{y.setTitle(d.shortcuts.remove).setIcon(Hr(t.interfaceIcons,"nav-shortcuts","lucide-star-off")).onClick(()=>{Q(()=>s(g.key))})}),h.showAtMouseEvent(m.nativeEvent);return}if(g.type==="missing"){h.addItem(y=>{y.setTitle(d.shortcuts.remove).setIcon(Hr(t.interfaceIcons,"nav-shortcuts","lucide-star-off")).onClick(()=>{Q(()=>s(g.key))})}),h.showAtMouseEvent(m.nativeEvent);return}let b={selectionState:n.current,expandedFolders:r.expandedFolders,expandedTags:r.expandedTags,expandedProperties:r.expandedProperties},v={selectionDispatch:o,expansionDispatch:a,uiDispatch:i};g.type==="folder"?XF({folder:g.folder,menu:h,services:e,settings:t,state:b,dispatchers:v,options:{disableNavigationSeparatorActions:!0}}):g.type==="note"?(fS({file:g.file,menu:h,services:e,settings:t,state:b,dispatchers:v}),g.file.extension!=="md"&&(h.addSeparator(),h.addItem(y=>{y.setTitle(d.shortcuts.remove).setIcon(Hr(t.interfaceIcons,"nav-shortcuts","lucide-star-off")).onClick(()=>{Q(()=>s(g.key))})}))):g.type==="tag"?QF({tagPath:g.tagPath,menu:h,services:e,settings:t,state:b,dispatchers:v,options:{disableNavigationSeparatorActions:!0}}):g.type==="property"&&ZF({propertyNodeId:g.propertyNodeId,menu:h,services:e,settings:t,state:b,dispatchers:v,options:{disableNavigationSeparatorActions:!0}}),h.showAtMouseEvent(m.nativeEvent)},[a,r.expandedFolders,r.expandedProperties,r.expandedTags,e,s,l,o,n,c,t,i]),p=(0,JV.useCallback)((m,g)=>{m.preventDefault(),m.stopPropagation();let f=new e1.Menu,h={selectionState:n.current,expandedFolders:r.expandedFolders,expandedTags:r.expandedTags,expandedProperties:r.expandedProperties};fS({file:g,menu:f,services:e,settings:t,state:h,dispatchers:{selectionDispatch:o,expansionDispatch:a,uiDispatch:i}}),f.showAtMouseEvent(m.nativeEvent)},[a,r.expandedFolders,r.expandedProperties,r.expandedTags,e,o,n,t,i]);return{handleShortcutContextMenu:u,handleRecentFileContextMenu:p}}var JV,e1,goe=U(()=>{JV=ue(ze()),e1=require("obsidian");Ee();ot();pr();JF();dS()});function foe({app:t,settings:e,hydratedShortcuts:n,shortcutMap:r,selectionState:o,selectionStateRef:a,subscribeSelectionState:i}){let s=e.shortcutBadgeDisplay,l=s==="count",c=(0,Ps.useMemo)(()=>{if(s!=="index")return new Map;let w=new Map;return n.slice(0,9).forEach((k,F)=>{w.set(k.key,String(F+1))}),w},[s,n]),[u,p]=(0,Ps.useState)(null),m=(0,Ps.useCallback)(()=>{p(null)},[]),[g,f]=(0,Ps.useState)(!1),[h,b]=(0,Ps.useState)(()=>ye.get(ut.shortcutsExpandedKey)!=="0"),[v,y]=(0,Ps.useState)(()=>{let w=ye.get(ut.recentNotesExpandedKey);return w==="1"}),[,S]=(0,Ps.useReducer)(w=>w+1,0);return(0,Ps.useEffect)(()=>{if(!e.useFrontmatterMetadata)return;let w=t.metadataCache,k=new Set(n.map(N=>N.note?.path).filter(N=>!!N));if(k.size===0)return;let F=()=>{S()},P=N=>{k.has(N.path)&&S()},T=w.on("resolved",F),I=w.on("changed",N=>{N instanceof hoe.TFile&&P(N)});return()=>{w.offref(T),w.offref(I)}},[t.metadataCache,n,e.useFrontmatterMetadata]),(0,Ps.useEffect)(()=>{if(!u)return;let w=r.get(u);if(!w){p(null);return}if(w.type===Dn.FOLDER){let k=o.selectedFolder?.path;(!k||k!==w.path)&&p(null);return}if(w.type===Dn.NOTE){let k=a.current.selectedFile?.path;(!k||k!==w.path)&&p(null);return}if(w.type===Dn.TAG){let k=o.selectedTag;(!k||k!==w.tagPath)&&p(null);return}if(w.type===Dn.PROPERTY){let k=o.selectedProperty,F=Kv(null,w.nodeId);(!k||!F||k!==F)&&p(null)}},[u,o.selectedFolder,o.selectedProperty,o.selectedTag,a,r]),(0,Ps.useEffect)(()=>{if(!u)return;let w=r.get(u);if(!(!w||w.type!==Dn.NOTE))return i(k=>{let F=k.selectedFile?.path;(!F||F!==w.path)&&p(null)})},[u,r,i]),{activeShortcutKey:u,setActiveShortcut:p,clearActiveShortcut:m,isShortcutContextMenuOpen:g,setIsShortcutContextMenuOpen:f,shortcutsExpanded:h,setShortcutsExpanded:b,recentNotesExpanded:v,setRecentNotesExpanded:y,shortcutNumberBadgesByKey:c,shouldShowShortcutCounts:l}}var Ps,hoe,voe=U(()=>{Ps=ue(ze()),hoe=require("obsidian");Ue();Jr();Ia();cn()});function yoe({rootContainerRef:t,isRootReorderMode:e,onExecuteSearchShortcut:n,onNavigateToFolder:r,onRevealTag:o,onRevealProperty:a,onRevealFile:i,onRevealShortcutFile:s,getFolderCounts:l,getTagCounts:c,getPropertyCounts:u,onConfigurePropertyKeys:p}){let{app:m,isMobile:g,plugin:f,tagTreeService:h,propertyTreeService:b}=gt(),v=qs(),y=li(),S=Ho(),w=_b(),k=AM(),F=ta(),P=Ra(),T=Ml(),I=c9(),N=u9(),O=gr(),K=pt(),G=$s(),X=Xt(),L=Yn(),V=Vr(),{fileData:D}=xo(),A=Td(),{shortcuts:_,shortcutMap:E,tagShortcutKeysByPath:R,propertyShortcutKeysByNodeId:M,hydratedShortcuts:C,reorderShortcuts:x,addTagShortcut:z,addPropertyShortcut:H,addShortcutsBatch:Y,clearShortcuts:ee,removeShortcut:$,renameShortcut:j,hasFolderShortcut:J,hasNoteShortcut:re}=A,oe=X.includeDescendantNotes,Z=X.showHiddenItems,{hiddenFolders:ce,hiddenFileNames:ae,hiddenFileTags:se,fileVisibility:ne}=G,B=ng(K,Z),q=(0,Wp.useMemo)(()=>po(B),[B]),ie=(0,Wp.useMemo)(()=>Gd(ae,Z),[ae,Z]),le=(0,Wp.useMemo)(()=>Z?null:Br(se,!1),[se,Z]),Te=(0,Wp.useMemo)(()=>Z||!le||!le.hasHiddenRules?null:Sr(),[le,Z]),ke=(0,Wp.useMemo)(()=>({app:m,plugin:f,isMobile:g,fileSystemOps:y,metadataService:S,tagOperations:w,propertyOperations:k,tagTreeService:h,propertyTreeService:b,commandQueue:v,shortcuts:A,visibility:{includeDescendantNotes:oe,showHiddenItems:Z}}),[m,v,y,oe,g,S,f,k,b,A,Z,w,h]),Fe=foe({app:m,settings:K,hydratedShortcuts:C,shortcutMap:E,selectionState:T,selectionStateRef:I,subscribeSelectionState:N.subscribe}),te=uoe({app:m,isMobile:g,isRootReorderMode:e,isShortcutContextMenuOpen:Fe.isShortcutContextMenuOpen,shortcutsExpanded:Fe.shortcutsExpanded,showShortcuts:K.showShortcuts,hydratedShortcuts:C,hasFolderShortcut:J,hasNoteShortcut:re,reorderShortcuts:x,addTagShortcut:z,addPropertyShortcut:H,addShortcutsBatch:Y}),pe=(0,Wp.useCallback)(()=>{V({type:"SET_PIN_SHORTCUTS",value:!L.pinShortcuts})},[V,L.pinShortcuts]),ve=soe({app:m,commandQueue:v,isMobile:g,rootContainerRef:t,settings:K,uiState:L,uiDispatch:V,selectionType:T.selectionType,selectedFolder:T.selectedFolder,selectionDispatch:O,setActiveShortcut:Fe.setActiveShortcut,onExecuteSearchShortcut:n,onNavigateToFolder:r,onRevealTag:o,onRevealProperty:a,onRevealFile:i,onRevealShortcutFile:s,openFolderNoteInRightSidebar:xe=>f.openFolderNoteInRightSidebar(xe),tagTree:D.tagTree,hydratedShortcuts:C}),Ie=doe({app:m,settings:K,includeDescendantNotes:oe,showHiddenItems:Z,fileVisibility:ne,noteCountDB:Te,hiddenFolders:ce,effectiveFrontmatterExclusions:B,effectiveFrontmatterExclusionMatcher:q,folderCountFileNameMatcher:ie,hiddenFileTagVisibility:le,getFolderCounts:l,getTagCounts:c,getPropertyCounts:u,tagTree:D.tagTree,propertyTree:D.propertyTree,propertyTreeService:b,onToggleShortcutsPin:pe,isShortcutsPinned:L.pinShortcuts,onConfigurePropertyKeys:p}),qe=moe({settings:K,menuServices:ke,selectionStateRef:I,expansionState:F,selectionDispatch:O,expansionDispatch:P,uiDispatch:V,removeShortcut:$,renameShortcut:j,setIsShortcutContextMenuOpen:Fe.setIsShortcutContextMenuOpen});return(0,Wp.useMemo)(()=>({shortcutsExpanded:Fe.shortcutsExpanded,setShortcutsExpanded:Fe.setShortcutsExpanded,recentNotesExpanded:Fe.recentNotesExpanded,setRecentNotesExpanded:Fe.setRecentNotesExpanded,activeShortcutKey:Fe.activeShortcutKey,clearActiveShortcut:Fe.clearActiveShortcut,pinToggleLabel:Ie.pinToggleLabel,handleShortcutSplitToggle:pe,isShortcutSorting:te.isShortcutSorting,shortcutIds:te.shortcutIds,shortcutSensors:te.shortcutSensors,handleShortcutDragStart:te.handleShortcutDragStart,handleShortcutDragEnd:te.handleShortcutDragEnd,handleShortcutDragCancel:te.handleShortcutDragCancel,shortcutsCount:_.length,tagShortcutKeysByPath:R,propertyShortcutKeysByNodeId:M,clearShortcuts:ee,addTagShortcut:z,addPropertyShortcut:H,openShortcutByNumber:ve.openShortcutByNumber,activeShortcutId:te.activeShortcutId,shouldUseShortcutDnd:te.shouldUseShortcutDnd,allowEmptyShortcutDrop:te.allowEmptyShortcutDrop,shortcutDragHandleConfig:te.shortcutDragHandleConfig,shortcutHeaderTrailingAction:Ie.shortcutHeaderTrailingAction,propertiesHeaderTrailingAction:Ie.propertiesHeaderTrailingAction,shortcutNumberBadgesByKey:Fe.shortcutNumberBadgesByKey,shouldShowShortcutCounts:Fe.shouldShowShortcutCounts,removeShortcut:$,handleShortcutFolderActivate:ve.handleShortcutFolderActivate,handleShortcutFolderNoteClick:ve.handleShortcutFolderNoteClick,handleShortcutFolderNoteMouseDown:ve.handleShortcutFolderNoteMouseDown,handleShortcutNoteActivate:ve.handleShortcutNoteActivate,handleShortcutNoteMouseDown:ve.handleShortcutNoteMouseDown,handleRecentNoteActivate:ve.handleRecentNoteActivate,handleShortcutSearchActivate:ve.handleShortcutSearchActivate,handleShortcutTagActivate:ve.handleShortcutTagActivate,handleShortcutPropertyActivate:ve.handleShortcutPropertyActivate,handleShortcutContextMenu:qe.handleShortcutContextMenu,handleRecentFileContextMenu:qe.handleRecentFileContextMenu,handleShortcutRootDragOver:te.handleShortcutRootDragOver,handleShortcutRootDrop:te.handleShortcutRootDrop,buildShortcutExternalHandlers:te.buildShortcutExternalHandlers,getFolderShortcutCount:Ie.getFolderShortcutCount,getTagShortcutCount:Ie.getTagShortcutCount,getPropertyShortcutCount:Ie.getPropertyShortcutCount,getMissingNoteLabel:Ie.getMissingNoteLabel}),[H,z,ee,pe,M,$,ve.handleRecentNoteActivate,ve.handleShortcutFolderActivate,ve.handleShortcutFolderNoteClick,ve.handleShortcutFolderNoteMouseDown,ve.handleShortcutNoteActivate,ve.handleShortcutNoteMouseDown,ve.handleShortcutPropertyActivate,ve.handleShortcutSearchActivate,ve.handleShortcutTagActivate,ve.openShortcutByNumber,Ie.getFolderShortcutCount,Ie.getMissingNoteLabel,Ie.getPropertyShortcutCount,Ie.getTagShortcutCount,Ie.pinToggleLabel,Ie.propertiesHeaderTrailingAction,Ie.shortcutHeaderTrailingAction,te.activeShortcutId,te.allowEmptyShortcutDrop,te.buildShortcutExternalHandlers,te.handleShortcutDragCancel,te.handleShortcutDragEnd,te.handleShortcutDragStart,te.handleShortcutRootDragOver,te.handleShortcutRootDrop,te.isShortcutSorting,te.shortcutDragHandleConfig,te.shortcutIds,te.shortcutSensors,te.shouldUseShortcutDnd,qe.handleRecentFileContextMenu,qe.handleShortcutContextMenu,Fe.activeShortcutKey,Fe.clearActiveShortcut,Fe.recentNotesExpanded,Fe.setRecentNotesExpanded,Fe.setShortcutsExpanded,Fe.shortcutNumberBadgesByKey,Fe.shortcutsExpanded,Fe.shouldShowShortcutCounts,_.length,R])}var Wp,boe=U(()=>{Wp=ue(ze());mn();Qs();Ur();on();xg();Xi();pa();Tr();Yr();qy();Dr();zn();loe();coe();poe();goe();voe()});function Soe({app:t,commandQueue:e,isMobile:n,settings:r,uiState:o,expansionState:a,expansionDispatch:i,selectionState:s,selectionDispatch:l,uiDispatch:c,propertyTreeService:u,tagTree:p,propertyTree:m,tagsVirtualFolderHasChildren:g,setShortcutsExpanded:f,setRecentNotesExpanded:h,clearActiveShortcut:b,openFolderNoteInRightSidebar:v,onModifySearchWithTag:y,onModifySearchWithProperty:S}){let w=(0,ra.useCallback)(C=>{!o.singlePane||C!=="right-sidebar"||(c({type:"SET_SINGLE_PANE_VIEW",view:"files"}),c({type:"SET_FOCUSED_PANE",pane:"files"}))},[c,o.singlePane]),k=(0,ra.useCallback)(C=>{if(r.collapseOtherBranchesOnExpand){let x=t.vault.getFolderByPath(C);if(x){Fd({type:"folder",id:C,hasChildren:x.children.some(z=>z instanceof MD.TFolder),ancestorIds:Dp(x)},a,i,"toggle",{collapseOtherBranches:!0});return}}i({type:"TOGGLE_FOLDER_EXPANDED",folderPath:C})},[t.vault,i,a,r.collapseOtherBranchesOnExpand]),F=(0,ra.useCallback)((C,x)=>{x?.fromShortcut||b();let z=C.children.some(j=>j instanceof MD.TFolder),H=a.expandedFolders.has(C.path),Y=s.selectionType===W.FOLDER&&s.selectedFolder?.path===C.path,ee=r.autoExpandNavItems&&!o.singlePane&&z&&H&&Y,$=o.singlePane&&r.autoExpandNavItems&&z&&!H;if(l({type:"SET_SELECTED_FOLDER",folder:C}),ee){k(C.path),c({type:"SET_FOCUSED_PANE",pane:"navigation"});return}if(r.autoExpandNavItems&&z&&!H&&k(C.path),o.singlePane){$?c({type:"SET_FOCUSED_PANE",pane:"navigation"}):(c({type:"SET_SINGLE_PANE_VIEW",view:"files"}),c({type:"SET_FOCUSED_PANE",pane:"files"}));return}c({type:"SET_FOCUSED_PANE",pane:"navigation"})},[b,a.expandedFolders,k,l,s.selectedFolder,s.selectionType,r,c,o.singlePane]),P=(0,ra.useCallback)((C,x)=>{if(!r.enableFolderNotes||!r.enableFolderNoteLinks){F(C);return}let z=Pn(C,r);if(!z){F(C);return}let H=s.selectionType===W.FOLDER&&s.selectedFolder?.path===C.path;l({type:"SET_SELECTED_FOLDER",folder:C,autoSelectedFile:null});let Y=x?Hc(x,r.folderNoteOpenLocation,r.multiSelectModifier,n):lN(r.folderNoteOpenLocation);w(Y),!(Y==="right-sidebar"&&r.showNearestFolderNoteInSidebar&&!H)&&Q(()=>ri({app:t,commandQueue:e,folder:C,folderNote:z,context:Y,openInRightSidebar:v}))},[t,e,w,F,n,v,l,s.selectedFolder,s.selectionType,r]),T=(0,ra.useCallback)((C,x)=>{if(x.button!==1||!r.enableFolderNotes||!r.enableFolderNoteLinks)return;let z=Pn(C,r);z&&(x.preventDefault(),x.stopPropagation(),l({type:"SET_SELECTED_FOLDER",folder:C,autoSelectedFile:null}),Q(()=>ri({app:t,commandQueue:e,folder:C,folderNote:z,context:"tab"})))},[t,e,l,r]),I=(0,ra.useCallback)(C=>{if(r.collapseOtherBranchesOnExpand){let x=Li(p,C);if(x){Fd({type:"tag",id:x.path,hasChildren:x.children.size>0,ancestorIds:EF(x.path)},a,i,"toggle",{collapseOtherBranches:!0});return}}i({type:"TOGGLE_TAG_EXPANDED",tagPath:C})},[i,a,r.collapseOtherBranchesOnExpand,p]),N=(0,ra.useCallback)(C=>{if(r.collapseOtherBranchesOnExpand){let x=u?.findNode(C)??Array.from(m.values()).find(H=>H.id===C||H.children.has(C))??null,z=x?.id===C?x:x?.children.get(C);if(z){Fd({type:"property",id:z.id,hasChildren:z.children.size>0,ancestorIds:iH(z.id)},a,i,"toggle",{collapseOtherBranches:!0});return}}i({type:"TOGGLE_PROPERTY_EXPANDED",propertyNodeId:C})},[i,a,m,u,r.collapseOtherBranchesOnExpand]),O=(0,ra.useCallback)(C=>{if(C===yi){f(x=>{let z=!x;return ye.set(ut.shortcutsExpandedKey,z?"1":"0"),z});return}if(C===bi){h(x=>{let z=!x;return ye.set(ut.recentNotesExpandedKey,z?"1":"0"),z});return}i({type:"TOGGLE_VIRTUAL_FOLDER_EXPANDED",folderId:C})},[i,h,f]),K=(0,ra.useCallback)(C=>{let x=[],z=H=>{H.children.forEach(Y=>{Y instanceof MD.TFolder&&(x.push(Y.path),z(Y))})};return z(C),x},[]),G=(0,ra.useCallback)(()=>{let C=[],x=new Set,z=H=>{x.has(H)||(x.add(H),C.push(H.path),H.children.forEach(Y=>z(Y)))};return p.forEach(H=>z(H)),C},[p]),X=(0,ra.useCallback)(C=>{let x=[],z=Li(p,C);if(!z)return x;let H=Y=>{Y.children.forEach(ee=>{x.push(ee.path),H(ee)})};return H(z),x},[p]),L=(0,ra.useCallback)(()=>{let C=[],x=new Set,z=H=>{x.has(H)||(x.add(H),C.push(H.id),H.children.forEach(Y=>z(Y)))};return m.forEach(H=>z(H)),C},[m]),V=(0,ra.useCallback)(C=>{if((u?.findNode(C.id)??null)===C)return Array.from(u?.collectDescendantNodeIds(C.id)??[]);let z=[],H=Y=>{Y.children.forEach(ee=>{z.push(ee.id),H(ee)})};return H(C),z},[u]),D=(0,ra.useCallback)(C=>{if(o.singlePane){C?c({type:"SET_FOCUSED_PANE",pane:"navigation"}):(c({type:"SET_SINGLE_PANE_VIEW",view:"files"}),c({type:"SET_FOCUSED_PANE",pane:"files"}));return}c({type:"SET_FOCUSED_PANE",pane:"navigation"})},[c,o.singlePane]),A=(0,ra.useCallback)(C=>{let{hasChildren:x,isExpanded:z,isSelected:H,fromShortcut:Y,onSelect:ee,onToggleExpand:$}=C;if(Y||b(),ee(),r.autoExpandNavItems&&!o.singlePane&&x&&z&&H){$(),c({type:"SET_FOCUSED_PANE",pane:"navigation"});return}let J=o.singlePane&&r.autoExpandNavItems&&x&&!z;r.autoExpandNavItems&&x&&!z&&$(),D(J)},[b,D,r.autoExpandNavItems,c,o.singlePane]),_=(0,ra.useCallback)((C,x,z)=>{let H=Li(p,C),Y=Vc(C,p);if(!Y)return;let ee=Vs(Y),$=Av(x??null,r.multiSelectModifier,n);if($&&!ee&&Y!==bt){x&&(x.preventDefault(),x.stopPropagation()),y(Y,$);return}let j=r.showAllTagsFolder&&Y===zt,J=j?a.expandedVirtualFolders.has(_n):!!(H&&a.expandedTags.has(H.path)),re=s.selectionType===W.TAG&&s.selectedTag===Y,oe=j?g:!!(H&&H.children.size>0);A({hasChildren:oe,isExpanded:J,isSelected:re,fromShortcut:z?.fromShortcut,onSelect:()=>{l({type:"SET_SELECTED_TAG",tag:Y})},onToggleExpand:()=>{j?i({type:"TOGGLE_VIRTUAL_FOLDER_EXPANDED",folderId:_n}):H&&I(H.path)}})},[A,i,a.expandedTags,a.expandedVirtualFolders,I,n,y,l,s.selectedTag,s.selectionType,r.multiSelectModifier,r.showAllTagsFolder,p,g]),E=(0,ra.useCallback)((C,x)=>{_(C,x)},[_]),R=(0,ra.useCallback)(C=>{let x=Oe,z=s.selectionType===W.PROPERTY?s.selectedProperty:null;A({hasChildren:m.size>0,isExpanded:a.expandedVirtualFolders.has(x),isSelected:z===x,onSelect:()=>{l({type:"SET_SELECTED_PROPERTY",nodeId:x})},onToggleExpand:()=>{O(x)}})},[A,a.expandedVirtualFolders,O,m,l,s.selectedProperty,s.selectionType]),M=(0,ra.useCallback)((C,x,z)=>{let H=Av(x??null,r.multiSelectModifier,n);if(H){x&&(x.preventDefault(),x.stopPropagation());let j=C.kind==="value"&&C.valuePath?C.valuePath:null;S(C.key,j,H);return}let Y=C.children.size>0,ee=a.expandedProperties.has(C.id),$=s.selectionType===W.PROPERTY?s.selectedProperty:null;A({hasChildren:Y,isExpanded:ee,isSelected:$===C.id,fromShortcut:z?.fromShortcut,onSelect:()=>{l({type:"SET_SELECTED_PROPERTY",nodeId:C.id,source:z?.fromShortcut?"shortcut":void 0})},onToggleExpand:()=>{N(C.id)}})},[A,a.expandedProperties,N,n,S,l,s.selectedProperty,s.selectionType,r.multiSelectModifier]);return(0,ra.useMemo)(()=>({handleFolderToggle:k,handleFolderClick:F,handleFolderNameClick:P,handleFolderNameMouseDown:T,handleTagToggle:I,handlePropertyToggle:N,handleVirtualFolderToggle:O,getAllDescendantFolders:K,getAllTagPaths:G,getAllDescendantTags:X,getAllPropertyNodeIds:L,getAllDescendantPropertyNodeIds:V,handleTagClick:_,handleTagCollectionClick:E,handlePropertyCollectionClick:R,handlePropertyClick:M}),[K,V,X,L,G,F,P,T,k,M,R,N,_,E,I,O])}var ra,MD,woe=U(()=>{ra=ue(ze()),MD=require("obsidian");Jr();Ue();Jc();ot();td();Ba();Sn();Sn();Jm();hu()});function Poe({searchNavFilters:t}){let e=(0,Eo.useMemo)(()=>{let k=t?.tags.include;return!k||k.length===0?Toe:k},[t]),n=(0,Eo.useMemo)(()=>{let k=t?.tags.exclude;return!k||k.length===0?Toe:k},[t]),r=t?.tags.requireTagged??!1,o=t?.tags.excludeTagged??!1,a=t?.tags.includeUntagged??!1,i=(0,Eo.useMemo)(()=>RD(e,To),[e]),s=(0,Eo.useMemo)(()=>RD(n,To),[n]),l=(0,Eo.useMemo)(()=>RD(t?.properties.include,t1),[t]),c=(0,Eo.useMemo)(()=>RD(t?.properties.exclude,t1),[t]),u=(0,Eo.useMemo)(()=>t?.tags.includeOperators??koe,[t]),p=(0,Eo.useMemo)(()=>t?.properties.includeOperators??koe,[t]),m=(0,Eo.useRef)(new Map),g=(0,Eo.useRef)(new Map),f=(0,Eo.useCallback)(k=>{let F=m.current.get(k);if(F!==void 0)return F;let P=To(k);return Foe(m.current,k,P),P},[]),h=(0,Eo.useCallback)(k=>{let F=g.current.get(k);if(F!==void 0)return F;let P=t1(k);return Foe(g.current,k,P),P},[]);(0,Eo.useEffect)(()=>{m.current.clear()},[i,s]),(0,Eo.useEffect)(()=>{g.current.clear()},[l,c]);let b=(0,Eo.useCallback)(k=>{if(k===bt)return a?"include":o?"exclude":void 0;if(!i&&!s)return;let F=f(k);if(s?.has(F))return"exclude";if(i?.has(F))return"include"},[f,o,a,s,i]),v=(0,Eo.useCallback)(k=>{if(k===zt){if(o)return"exclude";if(r)return"include"}},[o,r]),y=(0,Eo.useCallback)(k=>{if(k===Oe||!l&&!c)return;let F=h(k);if(c?.has(F))return"exclude";if(l?.has(F))return"include"},[h,c,l]),S=(0,Eo.useCallback)(k=>{let F=f(k);return u[F]},[f,u]),w=(0,Eo.useCallback)(k=>{if(k===Oe)return;let F=h(k);return p[F]},[h,p]);return(0,Eo.useMemo)(()=>({getTagSearchMatch:b,getPropertySearchMatch:y,getTagCollectionSearchMatch:v,getTagInclusionOperator:S,getPropertyInclusionOperator:w}),[w,y,v,S,b])}var Eo,Toe,qCe,koe,RD,Foe,t1,Coe=U(()=>{Eo=ue(ze());Ue();Ot();cn();Toe=[],qCe=2048,koe=Object.freeze({}),RD=(t,e)=>{if(!t||t.length===0)return null;let n=new Set;return t.forEach(r=>{let o=e(r);o&&n.add(o)}),n.size>0?n:null},Foe=(t,e,n)=>{if(!t.has(e)&&t.size>=qCe)for(let r of t.keys()){t.delete(r);break}t.set(e,n)},t1=t=>{let e=kn(t);if(!e)return To(t);let n=To(e.key);return e.valuePath?sa(n,To(e.valuePath)):Gn(n)}});function Ioe({path:t,onHeightChange:e}){let{app:n}=gt(),r=(0,WS.useRef)(null),o=(0,WS.useMemo)(()=>{let a=n.vault.getAbstractFileByPath(t);if(a instanceof Noe.TFile)try{return{resourcePath:n.vault.getResourcePath(a),missing:!1}}catch{return{resourcePath:null,missing:!0}}return{resourcePath:null,missing:!0}},[n,t]);return(0,WS.useLayoutEffect)(()=>{let a=r.current;if(!a||!e)return;let i=()=>{e(a.getBoundingClientRect().height)};if(i(),typeof ResizeObserver>"u")return;let s=new ResizeObserver(()=>{i()});return s.observe(a),()=>{s.disconnect()}},[e,t]),o.resourcePath?(0,n1.jsx)("div",{className:"nn-nav-banner","aria-hidden":"true",ref:r,children:(0,n1.jsx)("img",{className:"nn-nav-banner-image",src:o.resourcePath,alt:""})}):null}var WS,Noe,n1,xoe=U(()=>{WS=ue(ze()),Noe=require("obsidian");mn();n1=ue(Ge())});function DD({icon:t,color:e,backgroundColor:n,label:r,level:o,itemType:a,description:i,isDisabled:s,isExcluded:l,onClick:c,onMouseDown:u,onContextMenu:p,dragHandlers:m,isDragSource:g,showCount:f,showCountLeader:h,count:b,countSlot:v,dragHandleConfig:y,className:S,chevronIcon:w,role:k="treeitem",tabIndex:F,ariaDisabled:P,labelClassName:T,onLabelClick:I,onLabelMouseDown:N,trailingAccessory:O,showIcon:K=!0,tooltip:G,dragRef:X,dragHandleRef:L,dragAttributes:V,dragListeners:D,dragStyle:A,isSorting:_,nativeDragData:E}){let R=pt(),M=(0,Aa.useRef)(null),C=(0,Aa.useRef)(null),x=(0,Aa.useRef)(null),z=Ki(),H=!!e&&!R.colorIconOnly,Y=(0,Aa.useMemo)(()=>H&&e?{color:e}:void 0,[H,e]),ee=(0,Aa.useMemo)(()=>{let xe=["nn-navitem","nn-drag-item"];return S&&xe.push(S),s&&xe.push("nn-shortcut-disabled"),l&&xe.push("nn-excluded"),y?.visible&&xe.push("nn-drag-item-has-handle"),n&&xe.push("nn-has-custom-background"),xe.join(" ")},[n,S,y?.visible,s,l]),$=(0,Aa.useMemo)(()=>{let xe=["nn-navitem-name"];return T&&xe.push(T),H&&e&&xe.push("nn-has-custom-color"),xe.join(" ")},[H,e,T]);(0,Aa.useEffect)(()=>{if(C.current){if(!w){C.current.empty();return}C.current.empty(),(0,jf.setIcon)(C.current,w)}},[w]),(0,Aa.useEffect)(()=>{if(!x.current)return;if(!K){x.current.textContent="";return}yn().renderIcon(x.current,t)},[t,z,K]);let j=!!D,J=!!y?.visible,re=y?.only===!0,oe=y?.disabled===!0,ce=J&&!oe&&j||y?.interactive===!0,se=re&&j,ne=typeof b=="number"?b>0:typeof b=="string"?b.length>0:!1,B=v!=null,q=!!(f&&(ne||B)),ie=h??!!f,le=(0,Aa.useCallback)(xe=>{I&&(xe.stopPropagation(),I(xe))},[I]),Te=(0,Aa.useCallback)(xe=>{N&&(xe.stopPropagation(),N(xe))},[N]),ke=(0,Aa.useMemo)(()=>n?{"--level":o,"--nn-navitem-custom-bg-color":n}:{"--level":o},[n,o]),Fe=(0,Aa.useMemo)(()=>A?{...ke,...A}:ke,[A,ke]),te=(0,Aa.useMemo)(()=>{if(!V)return;let{role:xe,tabIndex:Ce,...vt}=V;return vt},[V]),pe=(0,Aa.useCallback)(xe=>{M.current=xe,X&&X(xe)},[X]);(0,Aa.useEffect)(()=>{let xe=M.current;if(xe){if(jf.Platform.isMobile||!R.showTooltips||!G){(0,jf.setTooltip)(xe,"");return}(0,jf.setTooltip)(xe,G,{placement:Sm()})}},[R.showTooltips,G]);let ve=(0,Aa.useCallback)(xe=>{L&&L(xe)},[L]),Ie=g||_,qe=!!E?.path;return(0,el.jsx)("div",{ref:pe,className:ee,role:k,tabIndex:F,"aria-disabled":P||void 0,"data-nav-item-type":a,"data-nav-item-disabled":s?"true":void 0,"data-nav-item-excluded":l?"true":void 0,"data-nav-item-level":o,"data-drag-path":E?.path,"data-drag-type":E?.type,"data-draggable":qe?"true":void 0,"data-drag-icon":E?.icon,"data-drag-fallback-icon":E?.fallbackIcon,"data-drag-base-icon":E?.baseIcon,"data-drag-icon-color":E?.iconColor,"data-drag-allow-multi-file":E?.allowMultiFileDrag===!1?"false":void 0,"data-level":o,"aria-level":o+1,draggable:qe||void 0,onClick:c,onMouseDown:u,onContextMenu:p,onDragOver:m?.onDragOver,onDragLeave:m?.onDragLeave,onDrop:m?.onDrop,style:Fe,...se?void 0:te,...se?void 0:D,children:(0,el.jsxs)("div",{className:"nn-navitem-content",children:[(0,el.jsx)("span",{ref:C,className:`nn-navitem-chevron${w?"":" nn-navitem-chevron--no-children"}`,"aria-hidden":"true"}),K?(0,el.jsx)("span",{ref:x,className:"nn-navitem-icon","aria-hidden":"true","data-has-color":e?"true":"false",style:e?{color:e}:void 0}):null,(0,el.jsxs)("span",{className:$,onClick:I?le:void 0,onMouseDown:N?Te:void 0,children:[(0,el.jsx)("span",{className:"nn-shortcut-label","data-has-color":H?"true":void 0,style:Y,children:r}),i?(0,el.jsx)("span",{className:"nn-shortcut-description",children:i}):null]}),(0,el.jsx)("span",{className:`nn-navitem-spacer${ie?" nn-navitem-spacer--leader":""}`}),q?v??(0,el.jsx)("span",{className:"nn-navitem-count",children:b}):null,O?(0,el.jsx)("div",{className:"nn-navitem-accessory",children:O}):null,J?(0,el.jsx)("span",{className:`nn-drag-handle${ce?"":" nn-drag-handle-disabled"}${Ie?" nn-drag-handle-active":""}`,role:"button",tabIndex:-1,ref:ve,onClick:y?.events?.onClick,onContextMenu:y?.events?.onContextMenu,...se?V:void 0,...se?D:void 0,children:(0,el.jsx)(Bl,{name:y?.icon??"lucide-grip-horizontal"})}):null]})})}var Aa,jf,el,r1=U(()=>{Aa=ue(ze());on();Ha();Kf();jf=require("obsidian");os();el=ue(Ge())});function o1({icon:t,label:e,level:n,dragHandlers:r,isDragSource:o,onClick:a,chevronIcon:i,isMissing:s,color:l,itemType:c="folder",className:u,dragHandleConfig:p,trailingAccessory:m,dragRef:g,dragHandleRef:f,dragAttributes:h,dragListeners:b,dragStyle:v,isSorting:y}){let S=pt(),w=T=>{T.preventDefault(),T.stopPropagation(),a&&a(T)},k=p??(r?{visible:!0,icon:"lucide-grip-horizontal"}:void 0),F=(()=>{let T=["nn-root-reorder-item"];return c==="folder"?T.push("nn-folder"):c==="tag"?T.push("nn-tag"):c==="property"?T.push("nn-property"):c==="section"&&T.push("nn-section"),s&&T.push("nn-root-reorder-item--missing"),u&&T.push(u),T.join(" ")})(),P=(0,Eoe.useMemo)(()=>c==="section"?!0:c==="folder"?S.showFolderIcons:c==="tag"?S.showTagIcons:c==="property"?S.showPropertyIcons:!0,[c,S.showFolderIcons,S.showPropertyIcons,S.showTagIcons]);return(0,Moe.jsx)(DD,{icon:t,color:l,label:e,level:n,itemType:c,role:"listitem",onClick:w,dragHandlers:r,isDragSource:o,showCount:!1,className:F,tabIndex:-1,dragHandleConfig:k,chevronIcon:i,trailingAccessory:m,showIcon:P,dragRef:g,dragHandleRef:f,dragAttributes:h,dragListeners:b,dragStyle:v,isSorting:y})}var Eoe,Moe,Roe=U(()=>{Eoe=ue(ze());r1();on();Moe=ue(Ge())});function YCe({entry:t,canReorder:e,isMobile:n}){let{item:r,sortableId:o}=t,{attributes:a,listeners:i,setNodeRef:s,transform:l,transition:c,isSorting:u}=LS({id:o,disabled:!e,data:{type:r.props.itemType}}),p=l?{transform:Nd.Transform.toString(l),transition:c}:void 0,m=(0,va.useMemo)(()=>({visible:n&&e,icon:"lucide-grip-horizontal",interactive:n&&e,only:n}),[e,n]);return(0,Nn.jsx)(o1,{...r.props,dragRef:s,dragAttributes:a,dragListeners:i,dragStyle:p,isSorting:u,dragHandleConfig:m})}function jS({entries:t,canReorder:e,children:n,isMobile:r}){let o=(0,va.useMemo)(()=>t.map(a=>a.sortableId),[t]);return(0,Nn.jsxs)(Nn.Fragment,{children:[(0,Nn.jsx)(OS,{items:o,strategy:AS,children:t.map(a=>(0,Nn.jsx)(YCe,{entry:a,canReorder:e,isMobile:r},a.sortableId))}),n]})}function GS({label:t,onClick:e}){return(0,Nn.jsx)("div",{className:"nn-root-reorder-actions",children:(0,Nn.jsxs)("button",{type:"button",className:"nn-root-reorder-reset nn-support-button",onClick:e,children:[(0,Nn.jsx)("span",{className:"nn-root-reorder-reset-icon","aria-hidden":"true",children:"Aa"}),(0,Nn.jsx)("span",{children:t})]})})}function Aoe({sectionItems:t,folderItems:e,tagItems:n,propertyItems:r,isMobile:o,showRootFolderSection:a,showRootTagSection:i,showRootPropertySection:s,foldersSectionExpanded:l,tagsSectionExpanded:c,propertiesSectionExpanded:u,showRootFolderReset:p,showRootTagReset:m,showRootPropertyReset:g,resetRootTagOrderLabel:f,resetRootPropertyOrderLabel:h,onResetRootFolderOrder:b,onResetRootTagOrder:v,onResetRootPropertyOrder:y,onReorderSections:S,onReorderFolders:w,onReorderTags:k,onReorderProperties:F,canReorderSections:P,canReorderFolders:T,canReorderTags:I,canReorderProperties:N}){let O=(0,va.useCallback)(j=>{j.preventDefault(),j.stopPropagation(),Q(async()=>{await b()})},[b]),K=(0,va.useCallback)(j=>{j.preventDefault(),j.stopPropagation(),Q(async()=>{await v()})},[v]),G=(0,va.useCallback)(j=>{j.preventDefault(),j.stopPropagation(),Q(async()=>{await y()})},[y]),X=(0,va.useMemo)(()=>t.map(j=>({id:j.key,item:j})),[t]),L=(0,va.useMemo)(()=>e.map(j=>({sortableId:`folder:${j.key}`,item:j})),[e]),V=(0,va.useMemo)(()=>n.map(j=>({sortableId:`tag:${j.key}`,item:j})),[n]),D=(0,va.useMemo)(()=>r.map(j=>({sortableId:`property:${j.key}`,item:j})),[r]),A=(0,va.useMemo)(()=>{let j=new Map;return L.forEach(J=>{j.set(J.sortableId,{type:"folder",key:J.item.key})}),V.forEach(J=>{j.set(J.sortableId,{type:"tag",key:J.item.key})}),D.forEach(J=>{j.set(J.sortableId,{type:"property",key:J.item.key})}),j},[L,D,V]),_=(0,va.useMemo)(()=>X.map(j=>j.id),[X]),E=(0,va.useMemo)(()=>L.map(j=>j.item.key),[L]),R=(0,va.useMemo)(()=>V.map(j=>j.item.key),[V]),M=(0,va.useMemo)(()=>D.map(j=>j.item.key),[D]),C=(0,va.useMemo)(()=>new Map(_.map((j,J)=>[j,J])),[_]),x=RS(Vg(_f,{activationConstraint:dre}),Vg(Hf,{activationConstraint:cre})),z=(0,va.useCallback)((j,J)=>{if(!P)return;let re=_.indexOf(j),oe=re+J;if(re===-1||oe<0||oe>=_.length)return;let Z=Kp(_,re,oe);Q(async()=>{await S(Z)})},[P,S,_]),H=(0,va.useCallback)((j,J)=>re=>{re.preventDefault(),re.stopPropagation(),z(j,J)},[z]),Y=(0,va.useCallback)((j,J)=>{if(!N)return;let re=M.indexOf(j),oe=M.indexOf(J);if(re===-1||oe===-1||re===oe)return;let Z=Kp(M,re,oe);Q(async()=>{await F(Z)})},[N,F,M]),ee=X.length>0||a&&L.length>0||i&&V.length>0||s&&D.length>0,$=(0,va.useCallback)(j=>{let J=j.active.id,re=j.over?.id;if(!re)return;let oe=A.get(J),Z=A.get(re);if(!(!oe||!Z)&&oe.type===Z.type){if(oe.type==="folder"){if(!T)return;let ce=E.indexOf(oe.key),ae=E.indexOf(Z.key);if(ce===-1||ae===-1||ce===ae)return;let se=Kp(E,ce,ae);Q(async()=>{await w(se)});return}if(oe.type==="tag"){if(!I)return;let ce=R.indexOf(oe.key),ae=R.indexOf(Z.key);if(ce===-1||ae===-1||ce===ae)return;let se=Kp(R,ce,ae);Q(async()=>{await k(se)});return}Y(oe.key,Z.key)}},[T,I,E,Y,w,k,A,R]);return(0,Nn.jsxs)("div",{className:"nn-root-reorder-panel",children:[(0,Nn.jsxs)("div",{className:"nn-root-reorder-header",children:[(0,Nn.jsx)("span",{className:"nn-root-reorder-title",children:d.navigationPane.reorderRootFoldersTitle}),(0,Nn.jsx)("span",{className:"nn-root-reorder-hint",children:d.navigationPane.reorderRootFoldersHint})]}),(0,Nn.jsx)("div",{className:"nn-root-reorder-list",role:"presentation",children:ee?(0,Nn.jsx)(DS,{sensors:x,collisionDetection:TD,modifiers:[BS],onDragEnd:$,children:X.length>0?X.map(j=>{let J=j.item,re=j.id,oe=C.get(re)??-1,Z=P&&oe>0,ce=P&&oe>=0&&oe<_.length-1,se=P&&_.length>1?(0,Nn.jsxs)("div",{className:"nn-root-reorder-section-controls",children:[(0,Nn.jsx)("button",{type:"button",className:"nn-icon-button nn-root-reorder-section-button","aria-label":d.settings.items.vaultProfiles.moveUp,onClick:H(re,-1),disabled:!Z,children:(0,Nn.jsx)(Bl,{name:"lucide-arrow-up"})}),(0,Nn.jsx)("button",{type:"button",className:"nn-icon-button nn-root-reorder-section-button","aria-label":d.settings.items.vaultProfiles.moveDown,onClick:H(re,1),disabled:!ce,children:(0,Nn.jsx)(Bl,{name:"lucide-arrow-down"})})]}):void 0,ne=J.sectionId===Dt.FOLDERS&&l&&a,B=J.sectionId===Dt.TAGS&&c&&i,q=J.sectionId===Dt.PROPERTIES&&u&&s;return(0,Nn.jsxs)("div",{className:"nn-root-reorder-section",children:[(0,Nn.jsx)(o1,{...J.props,trailingAccessory:se}),ne&&L.length>0?(0,Nn.jsx)(jS,{entries:L,canReorder:T,isMobile:o,children:p?(0,Nn.jsx)(GS,{label:Doe,onClick:O}):null}):null,B&&V.length>0?(0,Nn.jsx)(jS,{entries:V,canReorder:I,isMobile:o,children:m?(0,Nn.jsx)(GS,{label:f,onClick:K}):null}):null,q&&D.length>0?(0,Nn.jsx)(jS,{entries:D,canReorder:N,isMobile:o,children:g?(0,Nn.jsx)(GS,{label:h,onClick:G}):null}):null]},`section:${J.key}`)}):(0,Nn.jsxs)(Nn.Fragment,{children:[a&&L.length>0?(0,Nn.jsx)("div",{className:"nn-root-reorder-section",children:(0,Nn.jsx)(jS,{entries:L,canReorder:T,isMobile:o,children:p?(0,Nn.jsx)(GS,{label:Doe,onClick:O}):null})}):null,i&&V.length>0?(0,Nn.jsx)("div",{className:"nn-root-reorder-section",children:(0,Nn.jsx)(jS,{entries:V,canReorder:I,isMobile:o,children:m?(0,Nn.jsx)(GS,{label:f,onClick:K}):null})}):null,s&&D.length>0?(0,Nn.jsx)("div",{className:"nn-root-reorder-section",children:(0,Nn.jsx)(jS,{entries:D,canReorder:N,isMobile:o,children:g?(0,Nn.jsx)(GS,{label:h,onClick:G}):null})}):null]})}):null})]})}var va,Nn,Doe,Ooe=U(()=>{va=ue(ze());Uf();zS();ES();Roe();Ee();Ue();ot();Kf();FP();Nn=ue(Ge()),Doe=d.navigationPane.resetRootToAlpha});function Loe({onTreeUpdateComplete:t,onToggleRootFolderReorder:e,rootReorderActive:n,rootReorderDisabled:r,useFloatingLayout:o=!1}){let a=pt(),i=Xt(),{toggleShowCalendar:s}=wd(),l=i.showHiddenItems,c=i.showCalendar,u=ar(),p=a.toolbarVisibility.navigation,{shouldCollapseItems:m,handleExpandCollapseAll:g,handleNewFolder:f,handleToggleShowExcludedFolders:h}=Gb(),b=p.expandCollapse,v=p.calendar&&a.calendarEnabled&&a.calendarPlacement!=="right-sidebar",y=p.hiddenItems,S=p.rootReorder,w=p.newFolder,k=[b,v,y,S].filter(Boolean).length,F=k+(w?1:0),P=k===1?"nn-mobile-toolbar-circle":"nn-mobile-toolbar-pill",T=k===1?"nn-mobile-toolbar-button nn-mobile-toolbar-button-circle":"nn-mobile-toolbar-button";if(F===0)return null;let I=[b?(0,ui.jsx)("button",{className:T,"aria-label":m()?d.paneHeader.collapseAllFolders:d.paneHeader.expandAllFolders,onClick:()=>{g(),t&&window.requestAnimationFrame(()=>{t()})},tabIndex:-1,children:(0,ui.jsx)(Qt,{iconId:Qe(a.interfaceIcons,m()?"nav-collapse-all":"nav-expand-all")})},"expand-collapse"):null,y?(0,ui.jsx)("button",{className:`${T}${l?" nn-mobile-toolbar-button-active":""}`,"aria-label":l?d.paneHeader.hideExcludedItems:d.paneHeader.showExcludedItems,onClick:()=>{h(),t&&window.requestAnimationFrame(()=>{t()})},tabIndex:-1,children:(0,ui.jsx)(Qt,{iconId:Qe(a.interfaceIcons,"nav-hidden-items")})},"hidden-items"):null,v?(0,ui.jsx)("button",{className:`${T}${c?" nn-mobile-toolbar-button-active":""}`,"aria-label":c?d.paneHeader.hideCalendar:d.paneHeader.showCalendar,onClick:s,tabIndex:-1,children:(0,ui.jsx)(Qt,{iconId:Qe(a.interfaceIcons,"nav-calendar")})},"calendar"):null,S?(0,ui.jsx)("button",{className:`${T}${n?" nn-mobile-toolbar-button-active":""}`,"aria-label":n?d.paneHeader.finishRootFolderReorder:d.paneHeader.reorderRootFolders,onClick:e,disabled:r,tabIndex:-1,children:(0,ui.jsx)(Qt,{iconId:Qe(a.interfaceIcons,"nav-root-reorder")})},"root-reorder"):null].filter(Boolean),N=w?(0,ui.jsx)("button",{className:"nn-mobile-toolbar-button nn-mobile-toolbar-button-circle","aria-label":d.paneHeader.newFolder,onClick:()=>{Q(()=>f())},disabled:!u.selectedFolder,tabIndex:-1,children:(0,ui.jsx)(Qt,{iconId:Qe(a.interfaceIcons,"nav-new-folder")})},"new-folder"):null;return o?(0,ui.jsxs)("div",{className:"nn-mobile-toolbar",children:[(0,ui.jsx)("div",{className:"nn-mobile-toolbar-left",children:k>0?(0,ui.jsx)("div",{className:P,children:I}):null}),w?(0,ui.jsx)("div",{className:"nn-mobile-toolbar-right",children:(0,ui.jsx)("div",{className:"nn-mobile-toolbar-circle",children:N})}):null]}):(0,ui.jsxs)("div",{className:"nn-mobile-toolbar",children:[I,N]})}var ui,zoe=U(()=>{Ur();on();Tr();Ee();Al();QM();ot();pr();ui=ue(Ge())});function Cu(t,e,n,r="•"){let o=Math.max(0,t?.current??0),a=e?Math.max(0,t?.descendants??0):0,i=o+a;if(n&&e){let c;return o===0&&a===0?c="":a===0?c=`${o}`:o===0?c=`${r} ${a}`:c=`${o} ${r} ${a}`,{shouldDisplay:c.length>0,label:c}}let s=e?i:o,l=s>0;return{shouldDisplay:l,label:l?`${s}`:""}}function qS(t,e){return e?t.shouldDisplay?{shouldDisplay:!0,label:`${e} ${t.label}`}:{shouldDisplay:!0,label:e}:t}var YS=U(()=>{});function OD({label:t,actionLabel:e,icon:n,onClick:r,reserveSpaceWhenHidden:o=!0}){let a=typeof t=="string"&&t.length>0,i=!a&&o,s=!a&&!o?"nn-navitem-hover-action-slot nn-navitem-hover-action-slot--overlay":"nn-navitem-hover-action-slot",l=(0,AD.useCallback)(p=>{p.preventDefault(),p.stopPropagation()},[]),c=(0,AD.useCallback)(p=>{p.preventDefault(),p.stopPropagation()},[]),u=(0,AD.useCallback)(p=>{p.preventDefault(),p.stopPropagation(),r()},[r]);return(0,Gf.jsxs)("span",{className:s,children:[a?(0,Gf.jsx)("span",{className:"nn-navitem-count nn-navitem-hover-action-count",children:t}):i?(0,Gf.jsx)("span",{className:"nn-navitem-count nn-navitem-hover-action-placeholder","aria-hidden":!0}):null,(0,Gf.jsx)("button",{type:"button",className:"nn-icon-button nn-navitem-hover-action-button","aria-label":e,tabIndex:-1,onPointerDown:l,onMouseDown:c,onClick:u,children:(0,Gf.jsx)(Bl,{name:n,"aria-hidden":!0})})]})}var AD,Gf,a1=U(()=>{AD=ue(ze());Kf();Gf=ue(Ge())});var jp,i1,Kg,Boe=U(()=>{jp=ue(ze());on();Tr();r1();YS();Ee();a1();i1=ue(Ge()),Kg=jp.default.memo(function({icon:e,color:n,backgroundColor:r,adjacentFilledClassName:o,label:a,description:i,level:s,isDisabled:l,isMissing:c,type:u,countInfo:p,badge:m,forceShowCount:g,isExcluded:f,onClick:h,onRemove:b,onMouseDown:v,onContextMenu:y,dragHandlers:S,isDragSource:w,dragHandleConfig:k,hasFolderNote:F,tooltip:P,onLabelClick:T,onLabelMouseDown:I,dragRef:N,dragHandleRef:O,dragAttributes:K,dragListeners:G,dragStyle:X,isSorting:L,nativeDragData:V}){let D=pt(),_=Xt().includeDescendantNotes,E=Cu(p,_,_&&D.separateNoteCounts),R=u==="folder"||u==="tag"||u==="property",M=typeof m=="string"&&m.length>0,C=!!b,x=M||R&&E.shouldDisplay&&(!!g||D.showNoteCount),z=M?m:E.label,H=!!l&&!c,Y=(0,jp.useMemo)(()=>{let oe=["nn-shortcut-item"];return c&&oe.push("nn-shortcut-item--missing"),C&&oe.push("nn-shortcut-item--removable"),o&&oe.push(o),oe.join(" ")},[o,C,c]),ee=(0,jp.useMemo)(()=>{if(!(H||c))return T},[c,T,H]),$=(0,jp.useMemo)(()=>{if(!(H||c))return I},[c,I,H]),j=(0,jp.useMemo)(()=>{if(!c)return r},[r,c]),J=(0,jp.useMemo)(()=>D.showSectionIcons,[D.showSectionIcons]),re=(0,jp.useMemo)(()=>{if(b)return(0,i1.jsx)(OD,{label:x?z:void 0,reserveSpaceWhenHidden:x,actionLabel:d.shortcuts.remove,icon:"lucide-x",onClick:b})},[z,b,x]);return(0,i1.jsx)(DD,{icon:e,color:n,backgroundColor:j,label:a,description:i,level:s,itemType:u,isDisabled:H,isExcluded:f,onClick:oe=>{if(H||c){oe.preventDefault();return}h(oe)},onMouseDown:oe=>{H||c||v?.(oe)},onContextMenu:y,dragHandlers:S,isDragSource:w,showCount:x||C,showCountLeader:M,count:z,countSlot:re,className:Y,tabIndex:-1,ariaDisabled:H||c,dragHandleConfig:k,labelClassName:F?"nn-has-folder-note":void 0,tooltip:P,onLabelClick:ee,onLabelMouseDown:$,showIcon:J,dragRef:N,dragHandleRef:O,dragAttributes:K,dragListeners:G,dragStyle:X,isSorting:L,nativeDragData:V})})});function MP({sortableId:t,canReorder:e,...n}){let{attributes:r,listeners:o,setNodeRef:a,setActivatorNodeRef:i,transform:s,transition:l,isSorting:c}=LS({id:t,disabled:!e}),u=s?{transform:Nd.Transform.toString(s),transition:l}:void 0;return(0,_l.jsx)(Kg,{...n,dragRef:a,dragHandleRef:i,dragAttributes:r,dragListeners:o,dragStyle:u,isSorting:c})}function _oe({item:t,context:e,adjacentFilledClassName:n}){let{app:r,settings:o,showHiddenItems:a,getFileDisplayName:i,getSolidBackground:s,shortcuts:l}=e,c=!e.isMobile&&o.showTooltips;switch(t.type){case he.SHORTCUT_FOLDER:{let u=t.folder,p=!!t.isMissing,m=!!u&&!p;if(!m&&!p)return null;let g=Zo(t.shortcut)?t.shortcut.path:"",h=g==="/"?t.displayName||o.customVaultName||r.vault.getName():m&&u?t.displayName||u.name:zc(g),b=m&&u&&l.shouldShowShortcutCounts?l.getFolderShortcutCount(u):void 0,v=m&&u&&o.enableFolderNotes&&o.enableFolderNoteLinks?Pn(u,o):null,y=Zo(t.shortcut)?t.shortcut.alias:void 0,S=y&&y.length>0?y:h,w=m&&u?{type:"folder",key:t.key,folder:u}:{type:"missing",key:t.key,kind:"folder"},k=l.shouldUseShortcutDnd&&l.activeShortcutId===t.key,F=p?void 0:s(t.backgroundColor),P=m&&u&&c?tD({app:r,folder:u,displayName:S,fileVisibility:e.fileVisibility,hiddenFolders:e.hiddenFolders,settings:o,showHiddenItems:a}):void 0,T={icon:p?"lucide-alert-triangle":t.isExcluded&&!a?"lucide-eye-off":t.icon??"lucide-folder",color:p?void 0:t.color,backgroundColor:F,adjacentFilledClassName:n,label:S,description:void 0,level:t.level,type:"folder",countInfo:p?void 0:b,badge:l.shortcutNumberBadgesByKey.get(t.key),tooltip:P,forceShowCount:l.shouldShowShortcutCounts,isExcluded:p?void 0:t.isExcluded,isDisabled:p,isMissing:p,onClick:()=>{u&&l.handleShortcutFolderActivate(u,t.key)},onRemove:()=>{Q(()=>l.removeShortcut(t.key))},onContextMenu:I=>l.handleShortcutContextMenu(I,w),dragHandlers:l.buildShortcutExternalHandlers(t.key),dragHandleConfig:l.shortcutDragHandleConfig,hasFolderNote:!p&&!!v,onLabelClick:u&&v?I=>{l.handleShortcutFolderNoteClick(u,t.key,I)}:void 0,onLabelMouseDown:u&&v?I=>l.handleShortcutFolderNoteMouseDown(u,I):void 0};return l.shouldUseShortcutDnd?(0,_l.jsx)(MP,{sortableId:t.key,canReorder:l.shouldUseShortcutDnd,isDragSource:k,...T}):(0,_l.jsx)(Kg,{...T,isDragSource:k})}case he.SHORTCUT_NOTE:{let u=t.note,p=!!t.isMissing,m=!!u&&!p,g=Po(t.shortcut)?t.shortcut.path:"",f=m&&u?i(u):"",h=m&&u&&tv(u)?ah(u):"",b=!u||!m?l.getMissingNoteLabel(g):h?`${f}${h}`:f,v=Po(t.shortcut)?t.shortcut.alias:void 0,y=v&&v.length>0?v:b,S=m&&u?{type:"note",key:t.key,file:u}:{type:"missing",key:t.key,kind:"note"},w=l.shouldUseShortcutDnd&&l.activeShortcutId===t.key,k=p?void 0:s(t.backgroundColor),F=m&&u&&c?uP({file:u,displayName:f,extensionSuffix:h,settings:o,getFileTimestamps:e.getFileTimestamps,wordCount:e.getFileWordCount(u)}):void 0,P={icon:p?"lucide-alert-triangle":t.isExcluded&&!a?"lucide-eye-off":t.icon??"lucide-file-text",color:p?void 0:t.color,backgroundColor:k,adjacentFilledClassName:n,label:y,description:void 0,level:t.level,type:"note",badge:l.shortcutNumberBadgesByKey.get(t.key),tooltip:F,forceShowCount:l.shouldShowShortcutCounts,isExcluded:p?void 0:t.isExcluded,isDisabled:p,isMissing:p,onClick:()=>{u&&l.handleShortcutNoteActivate(u,t.key)},onRemove:()=>{Q(()=>l.removeShortcut(t.key))},onMouseDown:T=>{!u||!m||l.handleShortcutNoteMouseDown(T,u)},onContextMenu:T=>l.handleShortcutContextMenu(T,S),dragHandlers:l.buildShortcutExternalHandlers(t.key),dragHandleConfig:l.shortcutDragHandleConfig};return l.shouldUseShortcutDnd?(0,_l.jsx)(MP,{sortableId:t.key,canReorder:l.shouldUseShortcutDnd,isDragSource:w,...P}):(0,_l.jsx)(Kg,{...P,isDragSource:w})}case he.SHORTCUT_SEARCH:{let u=t.searchShortcut,p=l.shouldUseShortcutDnd&&l.activeShortcutId===t.key,m={icon:"lucide-search",color:t.color,backgroundColor:s(t.backgroundColor),adjacentFilledClassName:n,label:u.name,level:t.level,type:"search",badge:l.shortcutNumberBadgesByKey.get(t.key),forceShowCount:l.shouldShowShortcutCounts,onRemove:()=>{Q(()=>l.removeShortcut(t.key))},onClick:()=>l.handleShortcutSearchActivate(t.key,u),onContextMenu:g=>l.handleShortcutContextMenu(g,{type:"search",key:t.key,searchShortcut:u}),dragHandlers:l.buildShortcutExternalHandlers(t.key),dragHandleConfig:l.shortcutDragHandleConfig};return l.shouldUseShortcutDnd?(0,_l.jsx)(MP,{sortableId:t.key,canReorder:l.shouldUseShortcutDnd,isDragSource:p,...m}):(0,_l.jsx)(Kg,{...m,isDragSource:p})}case he.SHORTCUT_TAG:{let u=!!t.isMissing,p=Co(t.shortcut)?t.shortcut.tagPath:t.tagPath,m=!u&&l.shouldShowShortcutCounts?l.getTagShortcutCount(p):void 0,g=Co(t.shortcut)?t.shortcut.alias:void 0,f=g&&g.length>0?g:t.displayName,h=u?{type:"missing",key:t.key,kind:"tag"}:{type:"tag",key:t.key,tagPath:p},b=l.shouldUseShortcutDnd&&l.activeShortcutId===t.key,v=u?void 0:s(t.backgroundColor),y={icon:u?"lucide-alert-triangle":t.isExcluded&&!a?"lucide-eye-off":t.icon??"lucide-tags",color:u?void 0:t.color,backgroundColor:v,adjacentFilledClassName:n,label:f,description:void 0,level:t.level,type:"tag",countInfo:m,badge:l.shortcutNumberBadgesByKey.get(t.key),forceShowCount:l.shouldShowShortcutCounts,isExcluded:u?void 0:t.isExcluded,isDisabled:u,isMissing:u,onClick:()=>{u||l.handleShortcutTagActivate(p,t.key)},onRemove:()=>{Q(()=>l.removeShortcut(t.key))},onContextMenu:S=>l.handleShortcutContextMenu(S,h),dragHandlers:l.buildShortcutExternalHandlers(t.key),dragHandleConfig:l.shortcutDragHandleConfig};return l.shouldUseShortcutDnd?(0,_l.jsx)(MP,{sortableId:t.key,canReorder:l.shouldUseShortcutDnd,isDragSource:b,...y}):(0,_l.jsx)(Kg,{...y,isDragSource:b})}case he.SHORTCUT_PROPERTY:{let u=!!t.isMissing,p=t.propertyNodeId,m=!u&&l.shouldShowShortcutCounts?l.getPropertyShortcutCount(p):void 0,g=la(t.shortcut)?t.shortcut.alias:void 0,f=g&&g.length>0?g:t.displayName,h=u?{type:"missing",key:t.key,kind:"property"}:{type:"property",key:t.key,propertyNodeId:p},b=l.shouldUseShortcutDnd&&l.activeShortcutId===t.key,v={icon:u?"lucide-alert-triangle":t.icon??Qe(o.interfaceIcons,"nav-property"),color:u?void 0:t.color,backgroundColor:u?void 0:s(t.backgroundColor),adjacentFilledClassName:n,label:f,description:void 0,level:t.level,type:"property",countInfo:m,badge:l.shortcutNumberBadgesByKey.get(t.key),forceShowCount:l.shouldShowShortcutCounts,isDisabled:u,isMissing:u,onClick:()=>{u||l.handleShortcutPropertyActivate(p,t.key)},onRemove:()=>{Q(()=>l.removeShortcut(t.key))},onContextMenu:y=>l.handleShortcutContextMenu(y,h),dragHandlers:l.buildShortcutExternalHandlers(t.key),dragHandleConfig:l.shortcutDragHandleConfig};return l.shouldUseShortcutDnd?(0,_l.jsx)(MP,{sortableId:t.key,canReorder:l.shouldUseShortcutDnd,isDragSource:b,...v}):(0,_l.jsx)(Kg,{...v,isDragSource:b})}case he.RECENT_NOTE:{let u=t.note,p=i(u),m=tv(u)?ah(u):"",g=m?`${p}${m}`:p,f=c?uP({file:u,displayName:p,extensionSuffix:m,settings:o,getFileTimestamps:e.getFileTimestamps,wordCount:e.getFileWordCount(u)}):void 0;return(0,_l.jsx)(Kg,{icon:t.icon??"lucide-file-text",color:t.color,backgroundColor:s(t.backgroundColor),adjacentFilledClassName:n,label:g,tooltip:f,level:t.level,type:"note",onClick:()=>l.handleRecentNoteActivate(u),onMouseDown:h=>l.handleShortcutNoteMouseDown(h,u),onContextMenu:h=>l.handleRecentFileContextMenu(h,u),nativeDragData:e.isMobile?void 0:{path:u.path,type:W.FILE,icon:t.icon??"lucide-file-text",fallbackIcon:"file-text",baseIcon:"file",iconColor:t.color,allowMultiFileDrag:!1}})}default:return null}}var _l,Hoe=U(()=>{ES();zS();Ue();Ia();ot();pr();_a();Mr();$o();nD();Boe();_l=ue(Ge())});function $Ce(t){let e=Voe.get(t);if(e)return e;let n={"--nn-indent-guide-level":t};return Voe.set(t,n),n}var Uoe,RP,Voe,Wg,DP=U(()=>{Uoe=ue(ze()),RP=ue(Ge()),Voe=new Map;Wg=Uoe.default.memo(function({levels:e}){return!e||e.length===0?null:(0,RP.jsx)(RP.Fragment,{children:e.map(n=>(0,RP.jsx)("span",{className:"nn-navitem-indent-guide",style:$Ce(n),"aria-hidden":"true"},n))})})});var Uo,LD,wc,Koe,Woe=U(()=>{Uo=ue(ze()),LD=require("obsidian");mn();on();Tr();eP();Ha();os();_a();Yr();DP();YS();on();pr();Ue();nD();mP();wc=ue(Ge()),Koe=Uo.default.memo(function({folder:e,displayName:n,level:r,indentGuideLevels:o,isExpanded:a,isSelected:i,isExcluded:s,onToggle:l,onClick:c,onNameClick:u,onNameMouseDown:p,onToggleAllSiblings:m,icon:g,color:f,backgroundColor:h,adjacentFilledClassName:b,countInfo:v,excludedFolders:y,vaultChangeVersion:S,disableContextMenu:w,disableNavigationSeparatorActions:k,inlineRename:F}){let{app:P,fileSystemOps:T,isMobile:I}=gt(),N=pt(),{fileVisibility:O}=$s(),K=Xt(),G=K.includeDescendantNotes,X=K.showHiddenItems,L=(0,Uo.useRef)(null),V=Uo.default.useRef(null),D=Uo.default.useRef(null),A=Ki(),_=v??{current:0,descendants:0,total:0},E=N.folderTreeSortOverrides,M=!!(E&&Object.prototype.hasOwnProperty.call(E,e.path))?E?.[e.path]:void 0,C=M==="alpha-desc"?"↓":M==="alpha-asc"?"↑":void 0,x=G&&N.separateNoteCounts,z=qS(Cu(_,G,x,"•"),C),H=z.label,Y=N.showNoteCount&&z.shouldDisplay,$=zv(e,y,X),j=f,J=!!j&&!N.colorIconOnly,re=N.enableFolderNotes&&N.enableFolderNoteLinks,oe=(0,Uo.useMemo)(()=>re?Pn(e,N)!==null:!1,[e,N,re,_.current,S]),Z=e.path==="/",ce=n||(Z?N.customVaultName||P.vault.getName():e.name),ae=N.showFolderIcons||Z,se=(0,Uo.useMemo)(()=>{if(!(I||!N.showTooltips))return tD({app:P,folder:e,displayName:ce,fileVisibility:O,hiddenFolders:y,settings:N,showHiddenItems:X})},[P,ce,y,O,e,I,N,X,S]),ne=(0,Uo.useMemo)(()=>Z?$&&a?"open-vault":"vault":$&&a?Qe(N.interfaceIcons,"nav-folder-open"):Qe(N.interfaceIcons,"nav-folder-closed"),[$,a,Z,N.interfaceIcons]),B=g??ne,q=h,ie=(0,Uo.useMemo)(()=>{let Ce=["nn-navitem","nn-folder"];return i&&Ce.push("nn-selected"),s&&Ce.push("nn-excluded"),q&&Ce.push("nn-has-custom-background"),b&&Ce.push(b),Ce.join(" ")},[b,q,i,s]),le=(0,Uo.useMemo)(()=>{let Ce=["nn-navitem-name"];return oe&&Ce.push("nn-has-folder-note"),J&&Ce.push("nn-has-custom-color"),Ce.join(" ")},[J,oe]),Te=(0,Uo.useMemo)(()=>F?T.getFolderDisplayNameRenameInput(e):null,[T,e,F]),ke=(0,Uo.useCallback)(()=>{$&&l()},[$,l]),Fe=(0,Uo.useCallback)(Ce=>{Ce.stopPropagation(),$&&(Ce.altKey&&m?m():l())},[$,l,m]),te=(0,Uo.useCallback)(Ce=>{Ce.stopPropagation(),Ce.preventDefault()},[]),pe=(0,Uo.useCallback)(Ce=>{u&&(Ce.stopPropagation(),u(Ce))},[u]),ve=(0,Uo.useCallback)(Ce=>{fV(),p&&(Ce.stopPropagation(),p(Ce))},[p]);(0,Uo.useEffect)(()=>{if(L.current&&!I){if(!N.showTooltips){(0,LD.setTooltip)(L.current,"");return}if(!se){(0,LD.setTooltip)(L.current,"");return}(0,LD.setTooltip)(L.current,se,{placement:Sm()})}},[N.showTooltips,I,se]),(0,Uo.useEffect)(()=>{if(V.current){let Ce=yn(),vt=Qe(N.interfaceIcons,a?"nav-tree-collapse":"nav-tree-expand");Ce.renderIcon(V.current,vt)}},[A,a,N.interfaceIcons]),(0,Uo.useEffect)(()=>{if(D.current&&ae){let Ce=yn();if(g)Ce.renderIcon(D.current,g);else if(Z){let vt=$&&a?"open-vault":"vault";Ce.renderIcon(D.current,vt)}else{let vt=$&&a?Qe(N.interfaceIcons,"nav-folder-open"):Qe(N.interfaceIcons,"nav-folder-closed");Ce.renderIcon(D.current,vt)}}},[$,g,A,a,Z,N.interfaceIcons,ae]);let Ie=w?null:{type:W.FOLDER,item:e,options:k?{disableNavigationSeparatorActions:!0}:void 0};Og(L,Ie);let qe=!I&&!Z,xe={"--level":r,...q?{"--nn-navitem-custom-bg-color":q}:{}};return(0,wc.jsx)("div",{ref:L,className:ie,"data-path":e.path,"data-drag-path":e.path,"data-drag-type":"folder","data-draggable":qe?"true":void 0,"data-drag-icon":B,"data-drag-fallback-icon":ne,"data-drag-icon-color":j||void 0,draggable:qe,"data-drop-zone":"folder","data-drop-path":e.path,"data-clickable":"folder","data-level":r,onClick:c,onDoubleClick:ke,style:xe,role:"treeitem","aria-expanded":$?a:void 0,"aria-level":r+1,children:(0,wc.jsxs)("div",{className:"nn-navitem-content",children:[(0,wc.jsx)(Wg,{levels:o}),(0,wc.jsx)("div",{className:`nn-navitem-chevron ${$?"nn-navitem-chevron--has-children":"nn-navitem-chevron--no-children"}`,ref:V,onClick:Fe,onDoubleClick:te,tabIndex:-1}),ae&&(0,wc.jsx)("span",{className:"nn-navitem-icon",ref:D,style:j?{color:j}:void 0}),F&&Te?(0,wc.jsx)(_g,{...F,...Te,className:"nn-navitem-inline-rename"}):(0,wc.jsx)("span",{className:le,style:J?{color:j}:void 0,onClick:pe,onMouseDown:ve,children:ce}),(0,wc.jsx)("span",{className:"nn-navitem-spacer nn-navitem-spacer--leader"}),Y&&(0,wc.jsx)("span",{className:"nn-navitem-count",children:H})]})})})});function $S(t,e){let n=[...t];return e==="include"?n.push(XCe):e==="exclude"&&n.push(QCe),n.join(" ")}var XCe,QCe,zD=U(()=>{XCe="nn-navitem-content--search-include",QCe="nn-navitem-content--search-exclude"});var Mo,Hl,joe,Goe=U(()=>{Mo=ue(ze());on();Tr();eP();Ha();Ue();YS();zD();pr();DP();Kf();mP();Hl=ue(Ge()),joe=Mo.default.memo((0,Mo.forwardRef)(function({propertyNode:e,level:n,indentGuideLevels:r,isExpanded:o,isSelected:a,onToggle:i,onClick:s,onToggleAllSiblings:l,countInfo:c,showFileCount:u,color:p,backgroundColor:m,adjacentFilledClassName:g,icon:f,searchMatch:h,inclusionOperator:b,isDraggable:v,inlineRename:y},S){let w=pt(),F=Xt().includeDescendantNotes,P=(0,Mo.useRef)(null),T=(0,Mo.useRef)(null),I=Ki(),N=(0,Mo.useRef)(null),O=(0,Mo.useMemo)(()=>{if(c)return c;let Z=e.notesWithValue.size;return{current:Z,descendants:0,total:Z}},[c,e.notesWithValue.size]),K=w.propertyTreeSortOverrides,X=e.kind==="key"&&!!(K&&Object.prototype.hasOwnProperty.call(K,e.id))?K?.[e.id]:void 0,L=X==="alpha-desc"?"↓":X==="alpha-asc"?"↑":void 0,V=F&&w.separateNoteCounts,D=qS(Cu(O,F,V,"•"),L),A=D.label,_=u&&D.shouldDisplay,E=b==="OR"?"lucide-squares-unite":b==="AND"?"lucide-squares-intersect":null,R=h==="include"&&E!==null,M=(0,Mo.useMemo)(()=>e.children.size>0,[e.children.size]),C=!!p&&!w.colorIconOnly,x=(0,Mo.useMemo)(()=>e.kind==="value"?Qe(w.interfaceIcons,"nav-property-value"):Qe(w.interfaceIcons,"nav-property"),[e.kind,w.interfaceIcons]),z=f??x,H=e.kind==="value"?"equal":"align-left",Y=(0,Mo.useMemo)(()=>{let Z=["nn-navitem","nn-property"];return a&&Z.push("nn-selected"),m&&Z.push("nn-has-custom-background"),h&&Z.push("nn-has-search-match"),g&&Z.push(g),Z.join(" ")},[g,m,a,h]),ee=(0,Mo.useMemo)(()=>{let Z=["nn-navitem-name"];return C&&Z.push("nn-has-custom-color"),Z.join(" ")},[C]),$=(0,Mo.useMemo)(()=>$S(["nn-navitem-content"],h),[h]),j=(0,Mo.useCallback)(Z=>{Z.preventDefault(),M&&i()},[M,i]),J=(0,Mo.useCallback)(Z=>{if(Z.stopPropagation(),!!M){if(Z.altKey&&l){l();return}i()}},[M,i,l]),re=(0,Mo.useCallback)(Z=>{Z.stopPropagation(),Z.preventDefault()},[]);(0,Mo.useEffect)(()=>{if(P.current){if(!M){P.current.empty();return}P.current.empty(),yn().renderIcon(P.current,Qe(w.interfaceIcons,o?"nav-tree-collapse":"nav-tree-expand"))}},[M,I,o,w.interfaceIcons]),(0,Mo.useEffect)(()=>{if(!T.current||!w.showPropertyIcons)return;T.current.empty();let Z=f??(e.kind==="value"?Qe(w.interfaceIcons,"nav-property-value"):Qe(w.interfaceIcons,"nav-property"));yn().renderIcon(T.current,Z)},[f,I,e.kind,w.interfaceIcons,w.showPropertyIcons]),(0,Mo.useImperativeHandle)(S,()=>N.current),Og(N,{type:W.PROPERTY,item:e.id});let oe={"--level":n,...m?{"--nn-navitem-custom-bg-color":m}:{}};return(0,Hl.jsx)("div",{ref:N,className:Y,"data-property-node":e.id,"data-drag-path":e.id,"data-drag-type":"property","data-draggable":v?"true":void 0,"data-drag-icon":z,"data-drag-fallback-icon":x,"data-drag-base-icon":H,"data-drag-icon-color":p||void 0,draggable:v,"data-drop-zone":"property","data-drop-path":e.id,"data-allow-external-drop":"false","data-search-match":h??void 0,"data-level":n,style:oe,role:"treeitem","aria-expanded":M?o:void 0,"aria-level":n+1,children:(0,Hl.jsxs)("div",{className:$,onClick:s,onDoubleClick:j,children:[(0,Hl.jsx)(Wg,{levels:r}),(0,Hl.jsx)("div",{ref:P,className:`nn-navitem-chevron ${M?"nn-navitem-chevron--has-children":"nn-navitem-chevron--no-children"}`,onClick:J,onDoubleClick:re,tabIndex:-1}),w.showPropertyIcons&&(0,Hl.jsx)("span",{className:"nn-navitem-icon",ref:T,style:p?{color:p}:void 0}),y?(0,Hl.jsx)(_g,{...y,className:"nn-navitem-inline-rename"}):(0,Hl.jsx)("span",{className:ee,style:C?{color:p}:void 0,children:e.name}),(0,Hl.jsx)("span",{className:"nn-navitem-spacer nn-navitem-spacer--leader"}),R?(0,Hl.jsx)("span",{className:"nn-navitem-count nn-navitem-operator-indicator","data-operator":b,children:(0,Hl.jsx)(Bl,{name:E,className:"nn-navitem-operator-icon","aria-hidden":!0})}):_?(0,Hl.jsx)("span",{className:"nn-navitem-count",children:A}):null]})})}))});var Oa,Vl,qoe,Yoe=U(()=>{Oa=ue(ze());on();Tr();eP();Ha();Ue();YS();zD();Ba();pr();DP();Kf();mP();Vl=ue(Ge()),qoe=Oa.default.memo((0,Oa.forwardRef)(function({tagNode:e,level:n,indentGuideLevels:r,isExpanded:o,isSelected:a,isHidden:i,onToggle:s,onClick:l,onToggleAllSiblings:c,countInfo:u,showFileCount:p,color:m,backgroundColor:g,adjacentFilledClassName:f,icon:h,searchMatch:b,inclusionOperator:v,isDraggable:y,inlineRename:S},w){let k=pt(),P=Xt().includeDescendantNotes,T=Oa.default.useRef(null),I=Oa.default.useRef(null),N=Ki(),O=Oa.default.useRef(null),K=Oa.default.useMemo(()=>{if(u)return u;let se=e.notesWithTag.size;if(!P)return{current:se,descendants:0,total:se};let ne=rT(e),B=Math.max(ne-se,0);return{current:se,descendants:B,total:ne}},[u,e,P]),G=k.tagTreeSortOverrides,L=!!(G&&Object.prototype.hasOwnProperty.call(G,e.path))?G?.[e.path]:void 0,V=L==="alpha-desc"?"↓":L==="alpha-asc"?"↑":void 0,D=P&&k.separateNoteCounts,A=qS(Cu(K,P,D,"•"),V),_=A.label,E=p&&A.shouldDisplay,R=v==="OR"?"lucide-squares-unite":v==="AND"?"lucide-squares-intersect":null,M=b==="include"&&R!==null,C=(0,Oa.useMemo)(()=>e.children.size>0,[e.children.size]),x=m,z=g,H=h,Y=!!x&&!k.colorIconOnly,ee=Qe(k.interfaceIcons,"nav-tag"),$=H||ee,j=(0,Oa.useMemo)(()=>{let se=["nn-navitem","nn-tag"];return a&&se.push("nn-selected"),i&&se.push("nn-excluded"),z&&se.push("nn-has-custom-background"),b&&se.push("nn-has-search-match"),f&&se.push(f),se.join(" ")},[f,a,i,z,b]),J=(0,Oa.useMemo)(()=>{let se=["nn-navitem-name"];return Y&&se.push("nn-has-custom-color"),se.join(" ")},[Y]),re=(0,Oa.useMemo)(()=>$S(["nn-navitem-content"],b),[b]),oe=(0,Oa.useCallback)(se=>{se.preventDefault(),C&&s()},[C,s]),Z=(0,Oa.useCallback)(se=>{se.stopPropagation(),C&&(se.altKey&&c?c():s())},[C,s,c]),ce=(0,Oa.useCallback)(se=>{se.stopPropagation(),se.preventDefault()},[]);Oa.default.useEffect(()=>{if(T.current){if(!C){T.current.empty();return}T.current.empty(),yn().renderIcon(T.current,Qe(k.interfaceIcons,o?"nav-tree-collapse":"nav-tree-expand"))}},[C,N,o,k.interfaceIcons]),Oa.default.useEffect(()=>{I.current&&k.showTagIcons&&yn().renderIcon(I.current,H||Qe(k.interfaceIcons,"nav-tag"))},[H,k.showTagIcons,N,k.interfaceIcons]),Oa.default.useImperativeHandle(w,()=>O.current),Og(O,{type:W.TAG,item:e.path});let ae={"--level":n,...z?{"--nn-navitem-custom-bg-color":z}:{}};return(0,Vl.jsx)("div",{ref:O,className:j,"data-tag":e.path,"data-search-match":b??void 0,"data-drop-zone":"tag","data-drop-path":e.displayPath,"data-drag-path":e.displayPath,"data-drag-canonical":e.path,"data-drag-type":"tag","data-draggable":y?"true":void 0,"data-drag-icon":$,"data-drag-fallback-icon":ee,"data-drag-icon-color":x||void 0,"data-level":n,draggable:y,style:ae,role:"treeitem","aria-expanded":C?o:void 0,"aria-level":n+1,children:(0,Vl.jsxs)("div",{className:re,onClick:l,onDoubleClick:oe,children:[(0,Vl.jsx)(Wg,{levels:r}),(0,Vl.jsx)("div",{ref:T,className:`nn-navitem-chevron ${C?"nn-navitem-chevron--has-children":"nn-navitem-chevron--no-children"}`,onClick:Z,onDoubleClick:ce,tabIndex:-1}),k.showTagIcons&&(0,Vl.jsx)("span",{className:"nn-navitem-icon",ref:I,style:x?{color:x}:void 0}),S?(0,Vl.jsx)(_g,{...S,className:"nn-navitem-inline-rename"}):(0,Vl.jsx)("span",{className:J,style:Y?{color:x}:void 0,children:e.name}),(0,Vl.jsx)("span",{className:"nn-navitem-spacer nn-navitem-spacer--leader"}),M?(0,Vl.jsx)("span",{className:"nn-navitem-count nn-navitem-operator-indicator","data-operator":v,children:(0,Vl.jsx)(Bl,{name:R,className:"nn-navitem-operator-icon","aria-hidden":!0})}):E?(0,Vl.jsx)("span",{className:"nn-navitem-count",children:_}):null]})})}))});var oa,Tc,$oe,Xoe=U(()=>{oa=ue(ze());on();Ha();Ue();Tr();YS();zD();pr();DP();a1();Tc=ue(Ge()),$oe=oa.default.memo(function({virtualFolder:e,level:n,color:r,backgroundColor:o,adjacentFilledClassName:a,indentGuideLevels:i,isExpanded:s,hasChildren:l,onToggleAllSiblings:c,onSelect:u,isSelected:p=!1,showFileCount:m=!1,showCountLeader:g=!0,countInfo:f,searchMatch:h,trailingAction:b,onToggle:v,onDragOver:y,onDrop:S,onDragLeave:w,dropConfig:k,onContextMenu:F}){let P=pt(),T=Xt(),I=(0,oa.useRef)(null),N=(0,oa.useRef)(null),O=(0,oa.useRef)(null),K=Ki(),G=T.includeDescendantNotes,X=!!r&&!P.colorIconOnly,L=(0,oa.useMemo)(()=>{if(!f)return null;let $=G&&P.separateNoteCounts;return Cu(f,G,$)},[f,G,P.separateNoteCounts]),V=(0,oa.useMemo)(()=>!m||!L||(e.id===_n||e.id===Oe)&&!G?!1:L.shouldDisplay,[G,L,m,e.id]),D=b?.labelMode,A=(0,oa.useMemo)(()=>{if(D==="note-count"&&!(!V||!L))return L.label},[L,V,D]),_=(0,oa.useMemo)(()=>!V||!L?!1:D!=="note-count",[L,V,D]),E=D!=="note-count"||typeof A=="string",R=(0,oa.useMemo)(()=>{let $=["nn-navitem"];return e.id===yi&&$.push("nn-shortcut-header-item"),e.id===Oe&&$.push("nn-properties-header-item"),p&&$.push("nn-selected"),o&&$.push("nn-has-custom-background"),h&&$.push("nn-has-search-match"),a&&$.push(a),$.join(" ")},[a,o,p,h,e.id]),M=(0,oa.useMemo)(()=>$S(["nn-navitem-content"],h),[h]),C=(0,oa.useMemo)(()=>{let $=["nn-navitem-name"];return X&&r&&$.push("nn-has-custom-color"),$.join(" ")},[X,r]),x=(0,oa.useCallback)(()=>{l&&v()},[l,v]),z=(0,oa.useCallback)($=>{if($.stopPropagation(),!!l){if($.altKey&&c){c();return}v()}},[l,v,c]),H=(0,oa.useCallback)($=>{$.stopPropagation(),$.preventDefault()},[]),Y=(0,oa.useCallback)($=>{if(u){$.preventDefault(),$.stopPropagation(),u($);return}v()},[u,v]);(0,oa.useEffect)(()=>{let $=N.current;if($){if(!l){$.replaceChildren();return}yn().renderIcon($,Qe(P.interfaceIcons,s?"nav-tree-collapse":"nav-tree-expand"))}},[l,K,s,P.interfaceIcons]),(0,oa.useEffect)(()=>{O.current&&e.icon&&yn().renderIcon(O.current,e.icon)},[e.icon,K]);let ee={"--level":n,...o?{"--nn-navitem-custom-bg-color":o}:{}};return(0,Tc.jsx)("div",{ref:I,className:R,"data-search-match":h??void 0,"data-path":e.id,"data-drop-zone":k?.zone,"data-drop-path":k?.path,"data-tag":k?.tag,"data-allow-internal-drop":k?.allowInternalDrop===!1?"false":void 0,"data-allow-external-drop":k?.allowExternalDrop===!1?"false":void 0,"data-level":n,style:ee,role:"treeitem","aria-expanded":l?s:void 0,"aria-selected":u?p:void 0,"aria-level":n+1,onDragOver:y,onDrop:S,onDragLeave:w,onContextMenu:F,children:(0,Tc.jsxs)("div",{className:M,onClick:Y,onDoubleClick:x,children:[(0,Tc.jsx)(Wg,{levels:i}),(0,Tc.jsx)("div",{className:`nn-navitem-chevron ${l?"nn-navitem-chevron--has-children":"nn-navitem-chevron--no-children"}`,ref:N,onClick:z,onDoubleClick:H,tabIndex:-1}),e.icon&&(0,Tc.jsx)("span",{className:"nn-navitem-icon",ref:O,style:r?{color:r}:void 0}),(0,Tc.jsx)("span",{className:C,style:X?{color:r}:void 0,children:e.name}),(0,Tc.jsx)("span",{className:`nn-navitem-spacer${g?" nn-navitem-spacer--leader":""}`}),_&&L&&(0,Tc.jsx)("span",{className:"nn-navitem-count",children:L.label}),b&&(0,Tc.jsx)(OD,{label:A,actionLabel:b.actionLabel,icon:b.icon,onClick:b.onClick,reserveSpaceWhenHidden:E})]})})})});function AP(t,e){switch(t.type){case he.VIRTUAL_FOLDER:return e.getTagCollectionSearchMatch(t.tagCollectionId??null);case he.TAG:case he.UNTAGGED:return e.getTagSearchMatch(t.data.path);case he.PROPERTY_KEY:case he.PROPERTY_VALUE:return e.getPropertySearchMatch(t.data.id);default:return}}function XS(t,e){switch(t.type){case he.FOLDER:return e.selectionType===W.FOLDER&&e.selectedFolder?.path===t.data.path;case he.VIRTUAL_FOLDER:{let n=t.tagCollectionId??null,r=t.propertyCollectionId??null;return n!==null&&e.selectionType===W.TAG&&e.selectedTag===n||r!==null&&e.selectionType===W.PROPERTY&&e.selectedProperty===r}case he.TAG:case he.UNTAGGED:return e.selectionType===W.TAG&&e.selectedTag===t.data.path;case he.PROPERTY_KEY:case he.PROPERTY_VALUE:return e.selectionType===W.PROPERTY&&e.selectedProperty===t.data.id;default:return!1}}function Qoe({item:t,selectionState:e,searchHighlights:n,getSolidBackground:r}){return(t.type===he.SHORTCUT_FOLDER||t.type===he.SHORTCUT_NOTE||t.type===he.SHORTCUT_TAG||t.type===he.SHORTCUT_PROPERTY)&&t.isMissing?!1:"backgroundColor"in t&&!!r(t.backgroundColor)||XS(t,e)||!!AP(t,n)}var s1=U(()=>{Ue()});function Zoe({item:t,context:e,adjacentFilledClassName:n}){let{settings:r,isMobile:o,expansionState:a,expansionDispatch:i,selectionState:s,indentGuideLevelsByKey:l,firstSectionId:c,firstInlineFolderPath:u,shouldPinShortcuts:p,shortcutsExpanded:m,recentNotesExpanded:g,folderCounts:f,tagCounts:h,propertyCounts:b,vaultChangeVersion:v,getSolidBackground:y,shortcuts:S,tree:w,searchHighlights:k,inlineRename:F,onSectionContextMenu:P}=e;switch(t.type){case he.FOLDER:{let T=t.data.path,I=f.get(T),N=l.get(vc(t)),O=p&&u!==null&&T===u,K=F.target?.type==="folder"&&F.target.id===T?F.target:null;return(0,Gp.jsx)(Koe,{folder:t.data,displayName:t.displayName,level:t.level,indentGuideLevels:N,isExpanded:a.expandedFolders.has(t.data.path),isSelected:XS(t,s),isExcluded:t.isExcluded,onToggle:()=>w.handleFolderToggle(t.data.path),onClick:()=>w.handleFolderClick(t.data),onNameClick:G=>w.handleFolderNameClick(t.data,G),onNameMouseDown:G=>w.handleFolderNameMouseDown(t.data,G),onToggleAllSiblings:()=>{let G=a.expandedFolders.has(t.data.path);w.handleFolderToggle(t.data.path);let X=w.getAllDescendantFolders(t.data);X.length>0&&i({type:"TOGGLE_DESCENDANT_FOLDERS",descendantPaths:X,expand:!G})},icon:t.icon,color:t.color,backgroundColor:y(t.backgroundColor),adjacentFilledClassName:n,countInfo:I,excludedFolders:t.parsedExcludedFolders||[],vaultChangeVersion:v,disableNavigationSeparatorActions:O,inlineRename:K?{initialValue:K.initialValue,ariaLabel:d.contextMenu.folder.renameFolder,onCommit:G=>F.commit(K,G),onCancel:F.cancel,onRestoreFocus:F.restoreFocus}:void 0})}case he.VIRTUAL_FOLDER:{let T=t.data,I=l.get(vc(t)),N=T.id===yi,O=T.id===bi,K=t.hasChildren??!1,G=N?m:O?g:a.expandedVirtualFolders.has(T.id),X=t.tagCollectionId??null,L=t.propertyCollectionId??null,V=!!X,D=!!L,A=XS(t,s),_=t.noteCount??(X?h.get(X):void 0),E=t.showFileCount??!1,R=AP(t,k),M=T.id===_n?{zone:"tag-root",path:"__nn-tag-root__",allowExternalDrop:!1}:void 0,C=N?Dt.SHORTCUTS:O?Dt.RECENT:T.id===_n?Dt.TAGS:T.id===Oe?Dt.PROPERTIES:null,H=(!N||!p)&&!(p&&C!==null&&c!==null&&C===c),Y=C!==null?J=>P(J,C,{allowSeparator:H}):void 0,ee=T.id===Oe,$=T.id===_n,j=N?S.shortcutHeaderTrailingAction:ee?S.propertiesHeaderTrailingAction:void 0;return(0,Gp.jsx)($oe,{virtualFolder:T,level:t.level,color:t.color,backgroundColor:y(t.backgroundColor),adjacentFilledClassName:n,indentGuideLevels:I,isExpanded:G,hasChildren:K,isSelected:!!A,showFileCount:E,showCountLeader:!N&&!O,countInfo:_,searchMatch:R,trailingAction:j,onSelect:V&&X?J=>w.handleTagCollectionClick(X,J):D?w.handlePropertyCollectionClick:void 0,onToggle:()=>w.handleVirtualFolderToggle(T.id),onToggleAllSiblings:$?()=>{let J=a.expandedVirtualFolders.has(T.id);w.handleVirtualFolderToggle(T.id);let re=w.getAllTagPaths();re.length>0&&i({type:"TOGGLE_DESCENDANT_TAGS",descendantPaths:re,expand:!J})}:ee?()=>{let J=a.expandedVirtualFolders.has(T.id);w.handleVirtualFolderToggle(T.id);let re=w.getAllPropertyNodeIds();re.length>0&&i({type:"TOGGLE_DESCENDANT_PROPERTIES",descendantNodeIds:re,expand:!J})}:void 0,onDragOver:N&&S.allowEmptyShortcutDrop?S.handleShortcutRootDragOver:void 0,onDrop:N&&S.allowEmptyShortcutDrop?S.handleShortcutRootDrop:void 0,dropConfig:M,onContextMenu:Y})}case he.TAG:case he.UNTAGGED:{let T=t.data,I=l.get(vc(t)),N=AP(t,k),O=N==="include"?k.getTagInclusionOperator(T.path):void 0,K=F.target?.type==="tag"&&F.target.id===T.path?F.target:null;return(0,Gp.jsx)(qoe,{tagNode:T,level:t.level??0,indentGuideLevels:I,isExpanded:a.expandedTags.has(T.path),isSelected:XS(t,s),isHidden:"isHidden"in t?t.isHidden:!1,onToggle:()=>w.handleTagToggle(T.path),onClick:G=>w.handleTagClick(T.path,G),color:t.color,backgroundColor:y(t.backgroundColor),adjacentFilledClassName:n,icon:t.icon,searchMatch:N,inclusionOperator:O,isDraggable:!o&&T.path!==bt&&T.path!==zt,onToggleAllSiblings:()=>{let G=a.expandedTags.has(T.path);w.handleTagToggle(T.path);let X=w.getAllDescendantTags(T.path);X.length>0&&i({type:"TOGGLE_DESCENDANT_TAGS",descendantPaths:X,expand:!G})},countInfo:t.noteCount??h.get(T.path),showFileCount:r.showNoteCount,inlineRename:K?{initialValue:K.initialValue,ariaLabel:d.modals.tagOperation.confirmRename,onCommit:G=>F.commit(K,G),onCancel:F.cancel,onRestoreFocus:F.restoreFocus}:void 0})}case he.PROPERTY_KEY:case he.PROPERTY_VALUE:{let T=t.data,I=l.get(vc(t)),N=AP(t,k),O=N==="include"?k.getPropertyInclusionOperator(T.id):void 0,K=F.target?.type==="property"&&F.target.id===T.id?F.target:null;return(0,Gp.jsx)(joe,{propertyNode:T,level:t.level??0,indentGuideLevels:I,isExpanded:a.expandedProperties.has(T.id),isSelected:XS(t,s),onToggle:()=>w.handlePropertyToggle(T.id),onClick:G=>w.handlePropertyClick(T,G),onToggleAllSiblings:()=>{let G=a.expandedProperties.has(T.id);w.handlePropertyToggle(T.id);let X=w.getAllDescendantPropertyNodeIds(T);X.length>0&&i({type:"TOGGLE_DESCENDANT_PROPERTIES",descendantNodeIds:X,expand:!G})},color:t.color,backgroundColor:y(t.backgroundColor),adjacentFilledClassName:n,icon:t.icon,searchMatch:N,inclusionOperator:O,isDraggable:!o,countInfo:b.get(T.id),showFileCount:r.showNoteCount,inlineRename:K?{initialValue:K.initialValue,ariaLabel:d.contextMenu.property.renameKey,onCommit:G=>F.commit(K,G),onCancel:F.cancel,onRestoreFocus:F.restoreFocus}:void 0})}case he.TOP_SPACER:{let T=t.hasSeparator?"nn-nav-top-spacer nn-nav-spacer--with-separator":"nn-nav-top-spacer";return(0,Gp.jsx)("div",{className:T})}case he.BOTTOM_SPACER:return(0,Gp.jsx)("div",{className:"nn-nav-bottom-spacer"});case he.LIST_SPACER:{let T=t.hasSeparator?"nn-nav-list-spacer nn-nav-spacer--with-separator":"nn-nav-list-spacer";return(0,Gp.jsx)("div",{className:T})}case he.ROOT_SPACER:return(0,Gp.jsx)("div",{className:"nn-nav-root-spacer",style:{height:`${t.spacing}px`},"aria-hidden":"true"});default:return null}}var Gp,Joe=U(()=>{Ue();Woe();Goe();Yoe();Xoe();s1();Mg();Ee();Gp=ue(Ge())});function eae({item:t,context:e,adjacentFilledClassName:n}){switch(t.type){case he.SHORTCUT_FOLDER:case he.SHORTCUT_NOTE:case he.SHORTCUT_SEARCH:case he.SHORTCUT_TAG:case he.SHORTCUT_PROPERTY:case he.RECENT_NOTE:return(0,l1.jsx)(_oe,{item:t,context:e,adjacentFilledClassName:n});default:return(0,l1.jsx)(Zoe,{item:t,context:e,adjacentFilledClassName:n})}}var l1,tae=U(()=>{Ue();Hoe();Joe();l1=ue(Ge())});function _D({plugin:t,vaultProfiles:e,activeProfileId:n}){let r=qc(),o=e.length>0,a=e.length>1,i=e.find(m=>m.id===n)??e[0]??null,s=i?.id??"",l=i?.name?.trim().length?i.name:r,c=(0,BD.useCallback)(()=>{let m=new nae.Menu;return e.forEach(g=>{m.addItem(f=>{let h=g.name?.trim().length?g.name:r;f.setTitle(h).setIcon(g.id===s?"lucide-check":"lucide-user").setDisabled(g.id===s).onClick(()=>{Q(()=>{t.setVaultProfile(g.id)})})})}),m},[t,r,s,e]),u=(0,BD.useCallback)(m=>{if(m.preventDefault(),m.stopPropagation(),!a)return;c().showAtMouseEvent(m.nativeEvent)},[c,a]),p=(0,BD.useCallback)(m=>{if(m.key!=="Enter"&&m.key!==" "||(m.preventDefault(),m.stopPropagation(),!a))return;let g=m.currentTarget.getBoundingClientRect();c().showAtPosition({x:g.left+g.width/2,y:g.bottom})},[c,a]);return{hasProfiles:o,hasMultipleProfiles:a,activeProfileName:l,handleTriggerClick:u,handleTriggerKeyDown:p}}var nae,BD,d1=U(()=>{nae=require("obsidian"),BD=ue(ze());ot();dn()});function rae({onTreeUpdateComplete:t,onToggleRootFolderReorder:e,rootReorderActive:n,rootReorderDisabled:r,showVaultTitleInHeader:o}){let{isMobile:a,plugin:i}=gt(),s=pt(),l=Xt(),{toggleShowCalendar:c}=wd(),u=l.showHiddenItems,p=l.showCalendar,m=Yn(),g=ar(),{hasProfiles:f,hasMultipleProfiles:h,activeProfileName:b,handleTriggerClick:v,handleTriggerKeyDown:y}=_D({plugin:i,vaultProfiles:s.vaultProfiles??[],activeProfileId:s.vaultProfile}),{shouldCollapseItems:S,handleExpandCollapseAll:w,handleNewFolder:k,handleToggleShowExcludedFolders:F}=Gb(),P=s.toolbarVisibility.navigation,T=P.toggleDualPane,I=P.expandCollapse,N=P.calendar&&s.calendarEnabled&&s.calendarPlacement!=="right-sidebar",O=P.hiddenItems,K=P.rootReorder,G=P.newFolder;if(!f)return null;let X=h&&(a||o),L=(0,$r.jsxs)($r.Fragment,{children:[(0,$r.jsx)("span",{className:"nn-pane-header-text",children:b}),(0,$r.jsx)(Qt,{className:"nn-pane-header-profile-chevron",iconId:Qe(s.interfaceIcons,"nav-profile-chevron"),"aria-hidden":!0})]}),V=X?a?(0,$r.jsx)("div",{className:"nn-pane-header-title nn-pane-header-profile","aria-label":d.navigationPane.profileMenuAria,role:"button",tabIndex:0,onClick:v,onKeyDown:y,children:L}):(0,$r.jsx)("div",{className:"nn-pane-header-title nn-pane-header-profile",children:(0,$r.jsx)("div",{className:"nn-pane-header-profile","aria-label":d.navigationPane.profileMenuAria,role:"button",tabIndex:0,onClick:v,onKeyDown:y,children:L})}):null;if(a)return V?(0,$r.jsx)("div",{className:"nn-pane-header nn-pane-header-simple",children:V}):null;if(!(!!V||T||I||O||N||K||G))return null;let A=i.useDualPane(),_=A&&m.singlePane;return(0,$r.jsx)("div",{className:"nn-pane-header",children:(0,$r.jsxs)("div",{className:"nn-header-actions nn-header-actions--space-between",children:[(0,$r.jsxs)("div",{className:"nn-header-actions nn-header-actions-profile",children:[T?(0,$r.jsx)("button",{className:"nn-icon-button","aria-label":A?d.paneHeader.showSinglePane:d.paneHeader.showDualPane,onClick:()=>{if(_){de(d.paneHeader.dualPaneAutoFallbackNotice,{variant:"warning"});return}i.setDualPanePreference(!A)},tabIndex:-1,type:"button",children:(0,$r.jsx)(Qt,{iconId:Qe(s.interfaceIcons,A?"nav-show-single-pane":"nav-show-dual-pane")})}):null,V]}),(0,$r.jsxs)("div",{className:"nn-header-actions",children:[I?(0,$r.jsx)("button",{className:"nn-icon-button","aria-label":S()?d.paneHeader.collapseAllFolders:d.paneHeader.expandAllFolders,onClick:()=>{w(),t&&window.requestAnimationFrame(()=>{t()})},tabIndex:-1,children:(0,$r.jsx)(Qt,{iconId:Qe(s.interfaceIcons,S()?"nav-collapse-all":"nav-expand-all")})}):null,O?(0,$r.jsx)("button",{className:`nn-icon-button ${u?"nn-icon-button-active":""}`,"aria-label":u?d.paneHeader.hideExcludedItems:d.paneHeader.showExcludedItems,onClick:()=>{F(),t&&window.requestAnimationFrame(()=>{t()})},tabIndex:-1,children:(0,$r.jsx)(Qt,{iconId:Qe(s.interfaceIcons,"nav-hidden-items")})}):null,N?(0,$r.jsx)("button",{className:`nn-icon-button ${p?"nn-icon-button-active":""}`,"aria-label":p?d.paneHeader.hideCalendar:d.paneHeader.showCalendar,onClick:c,tabIndex:-1,type:"button",children:(0,$r.jsx)(Qt,{iconId:Qe(s.interfaceIcons,"nav-calendar")})}):null,K?(0,$r.jsx)("button",{className:`nn-icon-button ${n?"nn-icon-button-active":""}`,"aria-label":n?d.paneHeader.finishRootFolderReorder:d.paneHeader.reorderRootFolders,onClick:e,disabled:r,tabIndex:-1,children:(0,$r.jsx)(Qt,{iconId:Qe(s.interfaceIcons,"nav-root-reorder")})}):null,G?(0,$r.jsx)("button",{className:"nn-icon-button","aria-label":d.paneHeader.newFolder,onClick:()=>{Q(()=>k())},disabled:!g.selectedFolder,tabIndex:-1,children:(0,$r.jsx)(Qt,{iconId:Qe(s.interfaceIcons,"nav-new-folder")})}):null]})]})})}var $r,oae=U(()=>{Ur();mn();on();Tr();pa();d1();Ee();Al();QM();ot();Fn();pr();$r=ue(Ge())});function aae(){let{isMobile:t,plugin:e}=gt(),n=pt(),{hasProfiles:r,hasMultipleProfiles:o,activeProfileName:a,handleTriggerClick:i,handleTriggerKeyDown:s}=_D({plugin:e,vaultProfiles:n.vaultProfiles??[],activeProfileId:n.vaultProfile});return t||!r||!o?null:(0,QS.jsx)("div",{className:"nn-vault-title-area",children:(0,QS.jsxs)("div",{className:"nn-vault-title-content nn-vault-title-trigger","aria-label":d.navigationPane.profileMenuAria,role:"button",tabIndex:0,onClick:i,onKeyDown:s,children:[(0,QS.jsx)("span",{className:"nn-vault-title-text",children:a}),(0,QS.jsx)(Qt,{className:"nn-vault-title-chevron",iconId:Qe(n.interfaceIcons,"nav-profile-chevron"),"aria-hidden":!0})]})})}var QS,iae=U(()=>{mn();on();d1();Ee();pr();Al();QS=ue(Ge())});function sae(t,e,n,r){if(!r(t))return;let o=[],a=e>0?n[e-1]:void 0,i=e<n.length-1?n[e+1]:void 0;return a&&r(a)&&o.push("nn-navitem-has-filled-previous"),i&&r(i)&&o.push("nn-navitem-has-filled-next"),o.length>0?o.join(" "):void 0}function dae({navigationPaneRef:t,navigationPaneStyle:e,shouldRenderCalendarOverlay:n,isShortcutSorting:r,isMobile:o,isPinnedShortcutsResizing:a,onTreeUpdateComplete:i,onToggleRootReorder:s,rootReorderActive:l,rootReorderDisabled:c,showVaultTitleInHeader:u,shouldShowVaultTitleInNavigationPane:p,showAndroidToolbar:m,navigationToolbar:g,pinNavigationBanner:f,navigationBannerContent:h,shouldRenderPinnedShortcuts:b,pinnedShortcutsContainerRef:v,pinnedShortcutsHasOverflow:y,pinnedShortcutsMaxHeight:S,allowEmptyShortcutDrop:w,onShortcutRootDragOver:k,onShortcutRootDrop:F,pinnedShortcutsScrollRefCallback:P,pinnedNavigationItems:T,renderNavigationItem:I,isNavigationItemFilled:N,onPinnedShortcutsResizePointerDown:O,scrollContainerRefCallback:K,hasNavigationBannerConfigured:G,navigationBannerRef:X,rootReorderContent:L,isRootReorderMode:V,items:D,rowVirtualizer:A,navigationScrollMargin:_,shouldRenderBottomToolbarInsidePanel:E,shouldRenderBottomToolbarOutsidePanel:R,calendarOverlay:M}){return(0,La.jsxs)("div",{ref:t,className:"nn-navigation-pane",style:e,"data-calendar":n?"true":void 0,"data-shortcut-sorting":r?"true":void 0,"data-shortcuts-resizing":!o&&a?"true":void 0,children:[(0,La.jsxs)("div",{className:"nn-navigation-pane-chrome",children:[(0,La.jsx)(rae,{onTreeUpdateComplete:i,onToggleRootFolderReorder:s,rootReorderActive:l,rootReorderDisabled:c,showVaultTitleInHeader:u}),p?(0,La.jsx)(aae,{}):null,m?g:null,f?h:null,b?(0,La.jsxs)("div",{className:"nn-shortcut-pinned",ref:v,role:"presentation","data-scroll":y?"true":void 0,style:S!==null?{maxHeight:S}:void 0,onDragOver:w?k:void 0,onDrop:w?F:void 0,children:[(0,La.jsx)("div",{className:"nn-shortcut-pinned-scroll",ref:P,children:(0,La.jsx)("div",{className:"nn-shortcut-pinned-inner",children:T.map((C,x)=>(0,La.jsx)(lae.default.Fragment,{children:I(C,sae(C,x,T,N))},vc(C)))})}),(0,La.jsx)("div",{className:"nn-shortcuts-resize-handle",role:"separator","aria-orientation":"horizontal","aria-label":"Resize pinned shortcuts",onPointerDown:O})]}):null]}),(0,La.jsxs)("div",{className:"nn-navigation-pane-panel",children:[(0,La.jsx)("div",{ref:K,className:"nn-navigation-pane-scroller","data-banner":G?"true":void 0,"data-pane":"navigation",tabIndex:-1,children:(0,La.jsxs)("div",{className:"nn-navigation-pane-content",children:[!f&&h?(0,La.jsx)("div",{className:"nn-navigation-pane-banner",ref:X,children:h}):null,(0,La.jsx)("div",{role:V?"list":"tree",children:V?L:D.length>0&&(0,La.jsx)("div",{className:"nn-virtual-container",style:{height:`${A.getTotalSize()}px`},children:A.getVirtualItems().map(C=>{let x=C.index>=0&&C.index<D.length?D[C.index]:null;return x?(0,La.jsx)("div",{"data-index":C.index,className:"nn-virtual-nav-item",style:{transform:`translateY(${Math.max(0,C.start-_)}px)`},children:I(x,sae(x,C.index,D,N))},C.key):null})})})]})}),E?(0,La.jsx)("div",{className:"nn-pane-bottom-toolbar",children:g}):null]}),M,R?(0,La.jsx)("div",{className:"nn-pane-bottom-toolbar",children:g}):null]})}var lae,La,cae=U(()=>{lae=ue(ze());Mg();oae();iae();La=ue(Ge())});function JCe(t){let e=t.lastIndexOf("/");return e>=0?t.slice(e+1):t}function eNe(t,e){let n=e.trim(),r=t.lastIndexOf("/");return r>=0?`${t.slice(0,r)}/${n}`:n}var Tt,ZS,Nu,ZCe,c1,uae=U(()=>{Tt=ue(ze());Uf();zS();ZS=require("obsidian");Qs();Ur();mn();on();Tr();Xi();pa();Fre();Jre();toe();ooe();ioe();cH();UV();boe();woe();Coe();Ue();Ue();lP();xoe();Ooe();zoe();Jr();ai();Mg();Ba();hu();ID();pp();dn();EO();KV();JF();FP();tae();cae();s1();os();Nu=ue(Ge()),ZCe=new Map;c1=Tt.default.memo((0,Tt.forwardRef)(function(e,n){let{app:r,isMobile:o,plugin:a,fileSystemOps:i,propertyTreeService:s,tagOperations:l,propertyOperations:c}=gt(),u=qs(),p=Ho(),m=ta(),g=Ra(),f=Ml(),h=gr(),b=pt(),v=$s(),y=Ys(),S=Xt(),w=Yn(),k=Vr(),{fileData:F,getFile:P,getFileDisplayName:T,getFileTimestamps:I,isStorageReady:N}=xo(),O=(0,Tt.useCallback)(Ye=>P(Ye.path)?.wordCount??null,[P]),{startPointerDrag:K}=$M(),{searchNavFilters:G,onExecuteSearchShortcut:X,rootContainerRef:L,onNavigateToFolder:V,onRevealTag:D,onRevealProperty:A,onRevealFile:_,onRevealShortcutFile:E,onModifySearchWithTag:R,onModifySearchWithProperty:M,onModifySearchWithDateFilter:C,uiScale:x}=e,z=S.showHiddenItems,H=S.showCalendar,Y=!w.singlePane&&w.effectiveDualPaneOrientation==="vertical",ee=b.calendarEnabled&&b.calendarPlacement==="left-sidebar"&&H&&(!w.singlePane&&!Y||w.singlePane&&b.calendarLeftPlacement==="navigation"&&w.currentSinglePaneView==="navigation"),[$,j]=(0,Tt.useState)(()=>b.calendarWeeksToShow);(0,Tt.useEffect)(()=>{b.calendarWeeksToShow!==6&&j(b.calendarWeeksToShow)},[b.calendarWeeksToShow]);let J=(0,Tt.useRef)(null),re=(0,Tt.useRef)(null),oe=(0,Tt.useRef)(null),[Z,ce]=(0,Tt.useState)(null),[ae,se]=(0,Tt.useState)(!1),ne=(0,Tt.useRef)(null),B=(0,Tt.useRef)(0),q=Number.isFinite(x)&&x>0?x:1,ie=(0,Tt.useCallback)(Ye=>{ce(Ye)},[]),[le,Te]=(0,Tt.useState)(()=>{let Ye=ye.get(ut.pinnedShortcutsMaxHeightKey);return typeof Ye!="number"||!Number.isFinite(Ye)||Ye<=0?null:Math.max(Ld.pinnedShortcutsMinHeight,Math.round(Ye))}),[ke,Fe]=(0,Tt.useState)(!1),te=(0,Tt.useCallback)(Ye=>{let xt=Ye??Z;if(!xt){se(!1);return}let Vn=xt.scrollHeight-xt.clientHeight>1;se(Qn=>Qn===Vn?Qn:Vn)},[Z]),pe=(0,Tt.useCallback)(Ye=>{B.current=Ye,ne.current===null&&(ne.current=window.requestAnimationFrame(()=>{ne.current=null,Te(B.current)}))},[]);(0,Tt.useEffect)(()=>()=>{ne.current!==null&&(cancelAnimationFrame(ne.current),ne.current=null)},[]),(0,Tt.useLayoutEffect)(()=>{let Ye=Z;if(!Ye){se(!1);return}if(te(Ye),typeof ResizeObserver>"u")return;let xt=new ResizeObserver(()=>{te(Ye)});return xt.observe(Ye),()=>{xt.disconnect()}},[Z,te]);let ve=(0,Tt.useCallback)(Ye=>{if(Ye.pointerType==="mouse"&&Ye.button!==0)return;let xt=oe.current,Vn=Z;if(!xt||!Vn)return;let Qn=!o,Or=Math.round(Ye.currentTarget.getBoundingClientRect().height/q),za=Math.round(Vn.scrollHeight+Or),om=Math.min(Ld.pinnedShortcutsMinHeight,za),Xg=Math.min(Math.round(xt.getBoundingClientRect().height/q),za),Qg=Ye.clientY,xc=Xg;Ye.preventDefault(),Ye.stopPropagation(),Qn&&Fe(!0);let rw=Ec=>Math.min(Math.max(Ec,om),za);pe(xc),K({event:Ye,onMove:Ec=>{let ow=(Ec.clientY-Qg)/q;xc=rw(Xg+ow),pe(xc)},onEnd:()=>{ne.current!==null&&(cancelAnimationFrame(ne.current),ne.current=null);let Ec=Math.round(Vn.scrollHeight+Or);xc>=Ec-2?(Te(null),ye.remove(ut.pinnedShortcutsMaxHeightKey)):(ye.set(ut.pinnedShortcutsMaxHeightKey,xc),Te(xc)),Qn&&Fe(!1)}})},[o,Z,q,pe,K]),[Ie,qe]=(0,Tt.useState)(()=>{let Ye=ye.get(ut.navigationSectionOrderKey);return $V(Ye)}),[xe,Ce]=(0,Tt.useState)(!0),[vt,Rt]=(0,Tt.useState)(!0),[Ve,Ae]=(0,Tt.useState)(!0),[Ke,Be]=(0,Tt.useState)(null),wt=(0,Tt.useCallback)(()=>{Ce(Ye=>!Ye)},[]),Ct=(0,Tt.useCallback)(()=>{Rt(Ye=>!Ye)},[]),qt=(0,Tt.useCallback)(()=>{Ae(Ye=>!Ye)},[]),[lt,Zt]=(0,Tt.useState)(!1),Kt=(0,Tt.useCallback)(()=>{let Ye=nn(a.settings);new $v(r,{initialKeys:Ye.propertyKeys,onSave:async Vn=>{Ye.propertyKeys=Vn,await a.saveSettingsAndUpdate()}}).open()},[r,a]),gn=(0,Tt.useRef)(new Map),fn=(0,Tt.useRef)(new Map),an=(0,Tt.useRef)(new Map),Pe=yoe({rootContainerRef:L,isRootReorderMode:lt,onExecuteSearchShortcut:X,onNavigateToFolder:V,onRevealTag:D,onRevealProperty:A,onRevealFile:_,onRevealShortcutFile:E,getFolderCounts:()=>gn.current,getTagCounts:()=>fn.current,getPropertyCounts:()=>an.current,onConfigurePropertyKeys:Kt}),ge=w.dualPane||w.currentSinglePaneView==="navigation",{items:be,firstSectionId:me,firstInlineFolderPath:fe,shortcutItems:we,pinnedRecentNotesItems:Re,shouldPinRecentNotes:nt,tagsVirtualFolderHasChildren:ct,propertiesSectionActive:yt,pathToIndex:bn,tagCounts:Kn,propertyCounts:kr,folderCounts:Wo,rootLevelFolders:co,missingRootFolderPaths:wn,resolvedRootTagKeys:Jt,rootOrderingTagTree:$n,missingRootTagPaths:Xn,resolvedRootPropertyKeys:Zn,rootOrderingPropertyTree:Ir,missingRootPropertyKeys:Jn,vaultChangeVersion:er,navigationBannerPath:On}=Zre({settings:b,isVisible:ge,sourceState:e.navigationSourceState,treeSections:e.navigationTreeSections,folderDecorationModel:e.folderDecorationModel,navRainbowState:e.navRainbowState,shortcutsExpanded:Pe.shortcutsExpanded,recentNotesExpanded:Pe.recentNotesExpanded,pinShortcuts:w.pinShortcuts&&b.showShortcuts,sectionOrder:Ie});gn.current=Wo,fn.current=Kn,an.current=kr;let Ro=Soe({app:r,commandQueue:u,isMobile:o,settings:b,uiState:w,expansionState:m,expansionDispatch:g,selectionState:f,selectionDispatch:h,uiDispatch:k,propertyTreeService:s,tagTree:e.navigationTreeSections.renderTagTree,propertyTree:e.navigationTreeSections.renderPropertyTree,tagsVirtualFolderHasChildren:ct,setShortcutsExpanded:Pe.setShortcutsExpanded,setRecentNotesExpanded:Pe.setRecentNotesExpanded,clearActiveShortcut:Pe.clearActiveShortcut,openFolderNoteInRightSidebar:Ye=>a.openFolderNoteInRightSidebar(Ye),onModifySearchWithTag:R,onModifySearchWithProperty:M}),je=Poe({searchNavFilters:G});(0,Tt.useEffect)(()=>{if(!N)return;let Ye=m.expandedTags.size>0,xt=m.expandedProperties.size>0;if(!Ye&&!xt)return;let Vn=Ye?new Set:null,Qn=xt?new Set:null;if(Vn){let Or=new Set;F.tagTree.forEach(za=>{ml(za,Vn,Or)})}Qn&&F.propertyTree.forEach(Or=>{Qn.add(Or.id),Or.children.forEach(za=>{Qn.add(za.id)})}),Vn&&g({type:"CLEANUP_DELETED_TAGS",existingTags:Vn}),Qn&&g({type:"CLEANUP_DELETED_PROPERTIES",existingPropertyNodeIds:Qn})},[g,m.expandedProperties.size,m.expandedTags.size,F.propertyTree,F.tagTree,N]);let rt=(0,Tt.useMemo)(()=>b.showIndentGuides?tZ(be,vc):ZCe,[be,b.showIndentGuides]),Et=(0,Tt.useMemo)(()=>{let Ye=w.pinShortcuts&&b.showShortcuts?we:[],xt=nt?Re:[],Vn=$V(Ie),Qn=[];return Vn.forEach(Or=>{Or===Dt.RECENT&&nt&&Qn.push(...xt),Or===Dt.SHORTCUTS&&w.pinShortcuts&&b.showShortcuts&&Qn.push(...Ye)}),Qn},[Re,Ie,b.showShortcuts,we,nt,w.pinShortcuts]),Ht=!!(On&&!lt)&&On?(0,Nu.jsx)(Ioe,{path:On}):null,vn=Et.length>0&&!lt;(0,Tt.useLayoutEffect)(()=>{te(Z)},[Et,Z,te]);let Yt=aoe(re,{enabled:!!Ht&&!b.pinNavigationBanner}),fr=!!On,{color:Do,version:ba}=PD(J,{app:r,rootContainerRef:L,variables:bre}),nl=e.navRainbowState.navRainbow,Cc=(0,Tt.useRef)(new Map);(0,Tt.useEffect)(()=>{Cc.current.clear()},[nl,Do,ba]);let Sa=(0,Tt.useCallback)(Ye=>{if(!Ye)return;let xt=Ye.trim();if(!xt)return;let Vn=Cc.current;if(Vn.has(xt))return Vn.get(xt);let Qn=J.current,Or=xy(Do,xt,{container:Qn??null});return Vn.set(xt,Or),Or},[Do]),{reorderableRootFolders:So,reorderableRootTags:qa,reorderableRootProperties:Iu,sectionReorderItems:Ul,folderReorderItems:Ya,tagReorderItems:Md,propertyReorderItems:$p,canReorderSections:$a,canReorderRootFolders:vr,canReorderRootTags:jo,canReorderRootProperties:Xr,canReorderRootItems:Wr,showRootFolderSection:Nc,showRootTagSection:pi,showRootPropertySection:Xp,resetRootTagOrderLabel:Qp,resetRootPropertyOrderLabel:Ns,handleResetRootFolderOrder:Yg,handleResetRootTagOrder:Qi,handleResetRootPropertyOrder:Zp,reorderSectionOrder:Jp,reorderRootFolderOrder:xu,reorderRootTagOrder:mi,reorderRootPropertyOrder:Ic}=noe({app:r,items:be,settings:b,showHiddenItems:z,updateSettings:y,sectionOrder:Ie,setSectionOrder:qe,rootLevelFolders:co,missingRootFolderPaths:wn,resolvedRootTagKeys:Jt,rootOrderingTagTree:$n,missingRootTagPaths:Xn,resolvedRootPropertyKeys:Zn,rootOrderingPropertyTree:Ir,missingRootPropertyKeys:Jn,metadataService:p,foldersSectionExpanded:xe,tagsSectionExpanded:vt,propertiesSectionExpanded:Ve,propertiesSectionActive:yt,handleToggleFoldersSection:wt,handleToggleTagsSection:Ct,handleTogglePropertiesSection:qt,activeProfile:v});(0,Tt.useEffect)(()=>{lt&&!Wr&&Zt(!1)},[Wr,lt]);let Rd=(0,Tt.useCallback)(()=>{Wr&&Zt(Ye=>!Ye)},[Wr]),Dd=ZS.Platform.isAndroidApp,Is=o&&ZS.Platform.isIosApp&&b.useFloatingToolbars,xs=(0,Tt.useMemo)(()=>Is?YP:0,[Is]),{rowVirtualizer:Ao,scrollContainerRef:Kl,scrollContainerRefCallback:$g,requestScroll:gi}=eoe({items:be,pathToIndex:bn,isVisible:ge,activeShortcutKey:Pe.activeShortcutKey,scrollMargin:Yt,scrollPaddingEnd:xs}),em=(0,Tt.useCallback)(()=>{let Ye=()=>{let xt=Kl.current??J.current??e.rootContainerRef.current;xt&&Di(xt)};if(typeof window.requestAnimationFrame=="function"){window.requestAnimationFrame(Ye);return}window.setTimeout(Ye,0)},[e.rootContainerRef,Kl]);(0,Tt.useEffect)(()=>{lt||Ao.measure()},[lt,Yt,So,Iu,qa,Ao,Ie]),(0,Tt.useEffect)(()=>{if(!lt)return;Ao.scrollToOffset(0,{align:"start",behavior:"auto"});let Ye=Kl.current;Ye&&Ye.scrollTo({top:0,behavior:"auto"})},[lt,Ao,Kl]);let Zi=(0,Tt.useCallback)(()=>{let Ye=yx(f);if(!Ye)return;let xt=f.selectionType===W.TAG?W.TAG:f.selectionType===W.PROPERTY?W.PROPERTY:W.FOLDER;gi(Lp(xt,Ye),{align:"auto",itemType:xt})},[gi,f]),tm=(0,Tt.useRef)(ee),nm=(0,Tt.useRef)($),rm=(0,Tt.useRef)(b.showAllTagsFolder);(0,Tt.useEffect)(()=>{let Ye=tm.current,xt=nm.current,Vn=ee&&!Ye,Qn=ee&&$!==xt;if(tm.current=ee,nm.current=$,!Vn&&!Qn)return;let Or=()=>Zi();if(typeof requestAnimationFrame<"u"){window.requestAnimationFrame(()=>{window.requestAnimationFrame(Or)});return}window.setTimeout(Or,0)},[$,Zi,ee]),(0,Tt.useEffect)(()=>{b.showAllTagsFolder&&!rm.current&&b.showAllTagsFolder&&!m.expandedVirtualFolders.has(_n)&&g({type:"TOGGLE_VIRTUAL_FOLDER_EXPANDED",folderId:_n}),rm.current=b.showAllTagsFolder},[g,m.expandedVirtualFolders,b.showAllTagsFolder]);let Es=(0,Tt.useCallback)(()=>{if(lt)return null;let Ye=(xt,Vn)=>{let Qn=Rl(bn,xt,Vn);return Qn===void 0?null:be[Qn]??null};return f.selectionType===W.FOLDER&&f.selectedFolder?.path?Ye(W.FOLDER,f.selectedFolder.path):f.selectionType===W.TAG&&f.selectedTag?Ye(W.TAG,f.selectedTag):f.selectionType===W.PROPERTY&&f.selectedProperty?Ye(W.PROPERTY,f.selectedProperty):null},[lt,be,bn,f.selectedFolder,f.selectedProperty,f.selectedTag,f.selectionType]),Se=(0,Tt.useCallback)(Ye=>{if(Ye.type===he.FOLDER){if(!(Ye.data instanceof ZS.TFolder))return null;let xt=Ye.data;return{type:"folder",id:xt.path,initialValue:i.getFolderDisplayNameRenameInput(xt).initialValue}}if(Ye.type===he.TAG){let xt=Ye.data;return xt.path===zt||xt.path===bt?null:{type:"tag",id:xt.path,displayPath:xt.displayPath,initialValue:JCe(xt.displayPath)}}if(Ye.type===he.PROPERTY_KEY){let xt=Ye.data;return xt.kind!=="key"||xt.notesWithValue.size===0?null:{type:"property",id:xt.id,normalizedKey:xt.key,initialValue:xt.name}}return null},[i]),Ne=(0,Tt.useCallback)(()=>{let Ye=Es();if(!Ye)return!1;let xt=Se(Ye);return xt?(Be(xt),!0):!1},[Se,Es]),He=(0,Tt.useCallback)(()=>{Be(null)},[]),ht=(0,Tt.useCallback)(async(Ye,xt)=>{let Vn=xt.trim();if(Ye.type==="folder"){let Or=Ye.id==="/"?r.vault.getRoot():r.vault.getFolderByPath(Ye.id);if(!(Or instanceof ZS.TFolder))return Be(null),!0;let za=await i.renameFolderDisplayName(Or,xt,b);return za&&Be(null),za}if(Ye.type==="tag"){if(!l)return!1;if(Vn===Ye.initialValue.trim())return Be(null),!0;let Or=await l.renameTag(Ye.id,eNe(Ye.displayPath,Vn));return Or&&Be(null),Or}if(!c)return!1;if(Vn===Ye.initialValue.trim())return Be(null),!0;let Qn=await c.renamePropertyKey(Ye.normalizedKey,xt);return Qn&&Be(null),Qn},[r.vault,i,c,b,l]);(0,Tt.useEffect)(()=>{lt&&Be(null)},[lt]);let sn=(0,Tt.useCallback)(()=>{let Ye=Es();if(!Ye)return!1;let xt=Eg(Ye,{showHiddenItems:z});return xt?Fd(xt,m,g,"toggle",{collapseOtherBranches:b.collapseOtherBranchesOnExpand}):!1},[g,m,Es,b.collapseOtherBranchesOnExpand,z]);(0,Tt.useImperativeHandle)(n,()=>({getIndexOfPath:(Ye,xt)=>Rl(bn,Ye,xt)??-1,virtualizer:Ao,scrollContainerRef:Kl.current,requestScroll:gi,triggerSelectedItemCollapse:sn,openShortcutByNumber:Pe.openShortcutByNumber}),[bn,gi,Ao,Kl,Pe.openShortcutByNumber,sn]);let yr=lt?[]:be,Qr=lt?new Map:bn;kre({items:yr,virtualizer:Ao,containerRef:e.rootContainerRef,pathToIndex:Qr,onStartRename:Ne});let hi=(0,Tt.useMemo)(()=>({...e.style??{},"--nn-calendar-week-count":$}),[$,e.style]),fi=(0,Tt.useMemo)(()=>(0,Nu.jsx)(Loe,{onTreeUpdateComplete:Zi,onToggleRootFolderReorder:Rd,rootReorderActive:lt,rootReorderDisabled:!Wr,useFloatingLayout:Is}),[Wr,Rd,Zi,lt,Is]),Fr=!o&&(b.vaultProfiles??[]).length>1&&(b.vaultTitle??"navigation")==="header",aa=!o&&(b.vaultProfiles??[]).length>1&&(b.vaultTitle??"navigation")==="navigation",Wn=(0,Tt.useCallback)((Ye,xt,Vn)=>{hV({app:r,event:Ye,sectionId:xt,allowSeparator:Vn?.allowSeparator,metadataService:p,settings:b,plugin:a,pinToggleLabel:Pe.pinToggleLabel,isShortcutsPinned:w.pinShortcuts,onToggleShortcutsPin:Pe.handleShortcutSplitToggle,onConfigurePropertyKeys:Kt,shortcutActions:{shortcutsCount:Pe.shortcutsCount,tagShortcutKeysByPath:Pe.tagShortcutKeysByPath,propertyShortcutKeysByNodeId:Pe.propertyShortcutKeysByNodeId,addTagShortcut:Pe.addTagShortcut,addPropertyShortcut:Pe.addPropertyShortcut,removeShortcut:Pe.removeShortcut,clearShortcuts:Pe.clearShortcuts}})},[r,Kt,p,a,b,Pe,w.pinShortcuts]),Ji=(0,Tt.useMemo)(()=>({app:r,settings:b,isMobile:o,expansionState:m,expansionDispatch:g,selectionState:f,indentGuideLevelsByKey:rt,firstSectionId:me,firstInlineFolderPath:fe,shouldPinShortcuts:w.pinShortcuts&&b.showShortcuts,showHiddenItems:z,shortcutsExpanded:Pe.shortcutsExpanded,recentNotesExpanded:Pe.recentNotesExpanded,folderCounts:Wo,tagCounts:Kn,propertyCounts:kr,vaultChangeVersion:er,fileVisibility:v.fileVisibility,hiddenFolders:v.hiddenFolders,getFileDisplayName:T,getFileTimestamps:I,getFileWordCount:O,getSolidBackground:Sa,shortcuts:Pe,tree:Ro,searchHighlights:je,inlineRename:{target:Ke,commit:ht,cancel:He,restoreFocus:em},onSectionContextMenu:Wn}),[r,g,m,fe,me,Wo,v.fileVisibility,v.hiddenFolders,T,I,O,Sa,Wn,He,ht,rt,Ke,o,kr,je,f,b,Pe,z,Kn,Ro,w.pinShortcuts,em,er]),Go=(0,Tt.useCallback)(Ye=>Qoe({item:Ye,selectionState:f,searchHighlights:je,getSolidBackground:Sa}),[Sa,je,f]),Ii=(0,Tt.useCallback)((Ye,xt)=>(0,Nu.jsx)(eae,{item:Ye,context:Ji,adjacentFilledClassName:xt}),[Ji]),es=(0,Nu.jsx)(Aoe,{sectionItems:Ul,folderItems:Ya,tagItems:Md,propertyItems:$p,showRootFolderSection:Nc,showRootTagSection:pi,showRootPropertySection:Xp,foldersSectionExpanded:xe,tagsSectionExpanded:vt,propertiesSectionExpanded:Ve,showRootFolderReset:b.rootFolderOrder.length>0,showRootTagReset:b.rootTagOrder.length>0,showRootPropertyReset:b.rootPropertyOrder.length>0,resetRootTagOrderLabel:Qp,resetRootPropertyOrderLabel:Ns,onResetRootFolderOrder:Yg,onResetRootTagOrder:Qi,onResetRootPropertyOrder:Zp,onReorderSections:Jp,onReorderFolders:xu,onReorderTags:mi,onReorderProperties:Ic,canReorderSections:$a,canReorderFolders:vr,canReorderTags:jo,canReorderProperties:Xr,isMobile:o});return(0,Nu.jsx)(DS,{sensors:Pe.shouldUseShortcutDnd?Pe.shortcutSensors:[],collisionDetection:Pe.shouldUseShortcutDnd?kP:void 0,modifiers:Pe.shouldUseShortcutDnd?[BS]:void 0,onDragStart:Pe.shouldUseShortcutDnd?Pe.handleShortcutDragStart:void 0,onDragEnd:Pe.shouldUseShortcutDnd?Pe.handleShortcutDragEnd:void 0,onDragCancel:Pe.shouldUseShortcutDnd?Pe.handleShortcutDragCancel:void 0,autoScroll:Pe.shouldUseShortcutDnd?!1:void 0,children:(0,Nu.jsx)(OS,{items:Pe.shouldUseShortcutDnd?Pe.shortcutIds:[],strategy:AS,children:(0,Nu.jsx)(dae,{navigationPaneRef:J,navigationPaneStyle:hi,shouldRenderCalendarOverlay:ee,isShortcutSorting:Pe.isShortcutSorting,isMobile:o,isPinnedShortcutsResizing:ke,onTreeUpdateComplete:Zi,onToggleRootReorder:Rd,rootReorderActive:lt,rootReorderDisabled:!Wr,showVaultTitleInHeader:Fr,shouldShowVaultTitleInNavigationPane:aa,showAndroidToolbar:o&&Dd,navigationToolbar:fi,pinNavigationBanner:b.pinNavigationBanner,navigationBannerContent:Ht,shouldRenderPinnedShortcuts:vn,pinnedShortcutsContainerRef:oe,pinnedShortcutsHasOverflow:ae,pinnedShortcutsMaxHeight:le,allowEmptyShortcutDrop:Pe.allowEmptyShortcutDrop,onShortcutRootDragOver:Pe.handleShortcutRootDragOver,onShortcutRootDrop:Pe.handleShortcutRootDrop,pinnedShortcutsScrollRefCallback:ie,pinnedNavigationItems:Et,renderNavigationItem:Ii,isNavigationItemFilled:Go,onPinnedShortcutsResizePointerDown:ve,scrollContainerRefCallback:$g,hasNavigationBannerConfigured:fr,navigationBannerRef:re,rootReorderContent:es,isRootReorderMode:lt,items:be,rowVirtualizer:Ao,navigationScrollMargin:Yt,shouldRenderBottomToolbarInsidePanel:o&&!Dd&&Is,shouldRenderBottomToolbarOutsidePanel:o&&!Dd&&!Is,calendarOverlay:ee?(0,Nu.jsx)("div",{className:"nn-navigation-calendar-overlay",children:(0,Nu.jsx)(Up,{onWeekCountChange:j,onAddDateFilter:C})}):null})})})}))});var pae=U(()=>{uae()});var mae=U(()=>{});function gae({isActive:t,resetKey:e,onDismiss:n}){let[r,o]=(0,JS.useState)(!1),[a,i]=(0,JS.useState)(!1);return(0,JS.useEffect)(()=>{if(!t){o(!1),i(!1);return}o(!0),i(!1);let s=window.setTimeout(()=>{i(!0)},5e3);return()=>{window.clearTimeout(s)}},[t,e]),(0,JS.useEffect)(()=>{if(!r||!a)return;let s=window.setTimeout(()=>{n&&n(),o(!1),i(!1)},500);return()=>{window.clearTimeout(s)}},[r,a,n]),{isVisible:r,isFading:a}}var JS,hae=U(()=>{JS=ue(ze());mae()});function fae({notice:t,onDismiss:e}){let[n,r]=(0,qf.useState)(null);(0,qf.useEffect)(()=>{t&&r(t)},[t]);let o=(0,qf.useCallback)(()=>{n&&(e(n.version),r(null))},[n,e]),a=(0,qf.useCallback)(()=>{window.open("obsidian://show-plugin?id=notebook-navigator"),o()},[o]),{isVisible:i,isFading:s}=gae({isActive:n!==null,resetKey:n?.version??null,onDismiss:o});return!i||!n?null:(0,ew.jsx)("button",{type:"button",className:`nn-update-banner${s?" fade-out":""}`,onClick:a,"aria-label":d.common.updateBannerTitle,title:d.common.updateBannerInstruction,children:(0,ew.jsxs)("div",{className:"nn-update-banner__text",children:[(0,ew.jsx)("span",{className:"nn-update-banner__label",children:d.common.updateBannerTitle}),(0,ew.jsx)("span",{className:"nn-update-banner__instruction",children:d.common.updateBannerInstruction})]})})}var qf,ew,vae=U(()=>{qf=ue(ze());Ee();hae();ew=ue(Ge())});function yae(t){if(!t)return!1;let e=cl(t);return e===u1?!1:!e.includes("/")}function rNe(t,e){let n=new Map;e.forEach(s=>{n.set(cl(s.path),s)});let r=new Set,o=[],a=[];return t.forEach(s=>{let l=cl(s);!l||l===u1||r.has(l)||(r.add(l),o.push(l),n.has(l)||a.push(l))}),e.filter(s=>!r.has(cl(s.path))).sort((s,l)=>Mt(s.name,l.name)).map(s=>cl(s.path)).forEach(s=>{r.has(s)||(r.add(s),o.push(s))}),{normalizedOrder:o,missingPaths:a}}function oNe(t,e){return t.slice().sort((n,r)=>NV(n,r,e))}function bae({settings:t,onFileChange:e}){let{app:n}=gt(),r=Ys(),[o,a]=(0,kc.useState)([]),[i,s]=(0,kc.useState)([]),[l,c]=(0,kc.useState)(new Map),[u,p]=(0,kc.useState)([]),m=(0,kc.useRef)({renames:new Map,removals:new Set,additions:new Set}),g=(0,kc.useRef)(t.rootFolderOrder);return(0,kc.useEffect)(()=>{g.current=t.rootFolderOrder.slice()},[t.rootFolderOrder]),(0,kc.useEffect)(()=>{let f=m.current,h=()=>{let P=n.vault.getRoot(),T=P.children.filter(X=>X instanceof Fc.TFolder),I=g.current.slice();if((f.renames.size>0||f.removals.size>0||f.additions.size>0)&&(f.renames.forEach((X,L)=>{let V=I.indexOf(L);V!==-1&&(I[V]=X)}),f.removals.size>0&&(I=I.filter(X=>!f.removals.has(X))),f.additions.forEach(X=>{I.includes(X)||I.push(X)}),f.renames.clear(),f.removals.clear(),f.additions.clear()),g.current.length===0){let X=t.folderSortOrder==="alpha-desc"?-1:1,L=T.slice().sort((V,D)=>Mt(V.name,D.name)*X);f.renames.clear(),f.removals.clear(),f.additions.clear(),s(L),t.showRootFolder?a([P]):a(L),c(new Map),p(V=>V.length===0?V:[]);return}let{normalizedOrder:N,missingPaths:O}=rNe(I,T),K=Ym(N),G=oNe(T,K);go(N,g.current)||(g.current=N,Q(async()=>{await r(X=>{X.rootFolderOrder=N})})),p(X=>go(X,O)?X:O),s(G),t.showRootFolder?a([P]):a(G),c(K)},b=F=>{e&&e(F)};h();let v=(0,Fc.debounce)(h,Lt.FILE_OPERATION_DELAY,!0),y=F=>{let P=cl(F.path);F.parent===n.vault.getRoot()&&P!==u1&&f.additions.add(P),v()},S=F=>{let P=cl(F.path);yae(P)&&f.removals.add(P),v()},w=(F,P)=>{let T=cl(P),I=cl(F.path),N=F.parent===n.vault.getRoot(),O=yae(T);O&&N?T!==I&&f.renames.set(T,I):O&&!N?f.removals.add(T):!O&&N&&f.additions.add(I),v()},k=[n.vault.on("create",F=>{F instanceof Fc.TFolder&&y(F),F instanceof Fc.TFile&&b({type:"create",path:F.path})}),n.vault.on("delete",F=>{F instanceof Fc.TFolder&&S(F),F instanceof Fc.TFile&&b({type:"delete",path:F.path})}),n.vault.on("rename",(F,P)=>{F instanceof Fc.TFolder&&w(F,P),F instanceof Fc.TFile&&b({type:"rename",path:F.path,oldPath:P})})];return()=>{k.forEach(F=>n.vault.offref(F)),v.cancel()}},[n,e,t.showRootFolder,t.rootFolderOrder,t.folderSortOrder,r]),{rootFolders:o,rootLevelFolders:i,rootFolderOrderMap:l,missingRootFolderPaths:u}}var kc,Fc,u1,Sae=U(()=>{kc=ue(ze()),Fc=require("obsidian");mn();on();Rn();Sl();PS();jr();$o();ot();u1="/"});function wae({app:t,settings:e,activeProfile:n,metadataService:r,onFileChange:o}){let{hiddenFolders:a,hiddenFileProperties:i,hiddenFileNames:s,hiddenFileTags:l}=n,c=(0,lo.useMemo)(()=>Gd(s,!1),[s]),u=(0,lo.useMemo)(()=>po(i),[i]),p=(0,lo.useMemo)(()=>No({enableFolderNotes:e.enableFolderNotes,folderNoteName:e.folderNoteName,folderNoteNamePattern:e.folderNoteNamePattern}),[e.enableFolderNotes,e.folderNoteName,e.folderNoteNamePattern]),m=(0,lo.useMemo)(()=>e.enableFolderNotes&&(u.hasCriteria||c!==null||l.length>0),[e.enableFolderNotes,u,l,c]),g=(0,lo.useCallback)(C=>{if(!m)return!1;let x=Ds(C);if(x==="/")return!1;let z=C.split("/").pop();if(!z)return!1;let H=z.lastIndexOf(".");if(H<=0||H===z.length-1)return!1;let Y=z.slice(0,H),ee=z.slice(H+1).toLowerCase(),$=zc(x),j=Xd($,p);return Y===j&&iNe.has(ee)?!0:ee==="md"&&Y===`${j}${Fa}`},[p,m]),[f,h]=(0,lo.useState)(0),[b,v]=(0,lo.useState)(0),y=(0,lo.useCallback)(()=>{v(C=>C+1)},[]),S=(0,lo.useCallback)(C=>{y(),o?.(C),(g(C.path)||C.oldPath!==void 0&&g(C.oldPath))&&h(x=>x+1)},[y,g,o]),{rootFolders:w,rootLevelFolders:k,rootFolderOrderMap:F,missingRootFolderPaths:P}=bae({settings:e,onFileChange:S}),[T,I]=(0,lo.useState)(()=>r.getFolderDisplayVersion()),[N,O]=(0,lo.useState)(()=>r.getFolderDisplayNameVersion());(0,lo.useEffect)(()=>{I(r.getFolderDisplayVersion());let C=(0,Yf.debounce)(z=>{I(z)},Lt.FILE_OPERATION_DELAY,!0),x=r.subscribeToFolderDisplayChanges(z=>{C(z)});return()=>{x(),C.cancel()}},[r]),(0,lo.useEffect)(()=>{O(r.getFolderDisplayNameVersion());let C=(0,Yf.debounce)(z=>{O(z)},Lt.FILE_OPERATION_DELAY,!0),x=r.subscribeToFolderDisplayNameChanges(z=>{C(z)});return()=>{x(),C.cancel()}},[r]);let[K,G]=(0,lo.useState)(0),[X,L]=(0,lo.useState)(0),[V,D]=(0,lo.useState)(0),[A,_]=(0,lo.useState)(0);(0,lo.useEffect)(()=>{let C=kt(),x=(0,Yf.debounce)(()=>{h(H=>H+1)},Lt.FILE_OPERATION_DELAY,!0),z=C.onContentChange(H=>{let Y=!1,ee=!1,$=!1,j=!1,J=!1,re=new Map;for(let oe of H){let Z=oe.changes.tags!==void 0,ce=oe.changes.properties!==void 0,ae=oe.metadataHiddenChanged===!0;if(oe.metadataDecorationChanged===!0&&(Y=!0),ae&&(ee=!0),Z&&($=!0),ce&&(j=!0),!m||J||!(u.hasCriteria&&ae||l.length>0&&Z))continue;let ne=Ds(oe.path),B=re.get(ne);if(B===void 0){let q=t.vault.getFolderByPath(ne);B=q?Pn(q,p)?.path??null:null,re.set(ne,B)}B===oe.path&&(J=!0)}Y&&G(oe=>oe+1),ee&&L(oe=>oe+1),$&&D(oe=>oe+1),j&&_(oe=>oe+1),J&&x()});return()=>{z(),x.cancel()}},[t,p,u.hasCriteria,l.length,m]);let E=(0,lo.useMemo)(()=>{let C=new Map,x=(z,H)=>(C.size>=aNe&&C.clear(),C.set(z,H),H);return z=>{let H=C.get(z.path);if(H!==void 0)return H;if(!e.useFrontmatterMetadata)return x(z.path,z.name);let Y=_s({app:t,metadataService:r,settings:{customVaultName:e.customVaultName},folderPath:z.path,fallbackName:z.name});return x(z.path,Y)}},[t,e.customVaultName,e.useFrontmatterMetadata,r,N]),R=(0,lo.useMemo)(()=>{if(!m)return;let C=Br(l,!1),x=C.hasHiddenRules,z=x?Sr():null,H=new Map,Y=new Map,ee=new Set,$=J=>{let re=H.get(J.path);if(re!==void 0)return re;let oe=Pn(J,p);if(!oe)return H.set(J.path,!1),!1;let Z=!1;return u.hasCriteria&&Xo(oe,u,t)&&(Z=!0),!Z&&c&&c.matches(oe)&&(Z=!0),!Z&&x&&Pr({app:t,file:oe,db:z}).some(ae=>!C.isTagVisible(ae))&&(Z=!0),H.set(J.path,Z),Z},j=J=>{if(J.path==="/")return!1;let re=Y.get(J.path);if(re!==void 0)return re;if(ee.has(J.path))return!1;ee.add(J.path);let oe=$(J);return!oe&&J.parent instanceof Yf.TFolder&&(oe=j(J.parent)),ee.delete(J.path),Y.set(J.path,oe),oe};return J=>j(J)},[t,f,p,c,u,l,m]),M=(0,lo.useCallback)(C=>{if(C==="/")return!1;let x=t.vault.getFolderByPath(C);return x instanceof Yf.TFolder?a.length>0&&ei(x,a)?!0:R?R(x):!1:!1},[t,R,a]);return(0,lo.useMemo)(()=>({hiddenFolders:a,rootFolders:w,rootLevelFolders:k,rootFolderOrderMap:F,missingRootFolderPaths:P,fileChangeVersion:b,folderDisplayVersion:T,metadataDecorationVersion:K,metadataVisibilityVersion:X,tagDataVersion:V,propertyDataVersion:A,getFolderSortName:E,folderExclusionByFolderNote:R,isFolderExcluded:M}),[R,T,b,E,a,M,K,X,P,A,w,F,k,V])}var lo,Yf,aNe,iNe,Tae=U(()=>{lo=ue(ze()),Yf=require("obsidian");zn();cy();jr();Yr();Vm();ap();_a();rs();$o();Sn();Dr();Sae();aNe=2e3,iNe=new Set(Object.values(Qd))});function kae(t,e){let n=(0,tw.useRef)(null),r=(0,tw.useMemo)(()=>{let a=jj(t),i=n.current;return i&&zN(i,a)?i:(n.current=a,a)},[t]),o=(0,tw.useMemo)(()=>e$(r,e),[e,r]);return(0,tw.useMemo)(()=>({navRainbow:r,navRainbowPalettes:o}),[r,o])}var tw,Fae=U(()=>{tw=ue(ze());Gm();dn()});function sNe({settings:t,navRainbowState:e,source:n}){let{navRainbow:r,navRainbowPalettes:o}=e,a=n.isFolderExcluded,i=n.folderDisplayVersion,s=o.folder!==null,l=r.folders.scope!=="root",c=(0,OP.useMemo)(()=>s?Bte({rootFolders:n.rootFolders,excludePatterns:n.hiddenFolders,rootOrderMap:n.rootFolderOrderMap,defaultSortOrder:t.folderSortOrder,childSortOrderOverrides:t.folderTreeSortOverrides,getFolderSortName:n.getFolderSortName,isFolderExcluded:n.folderExclusionByFolderNote,includeDescendantSiblingGroups:l}):{siblingPathsByParent:new Map},[t.folderSortOrder,t.folderTreeSortOverrides,n.folderExclusionByFolderNote,n.getFolderSortName,n.hiddenFolders,n.rootFolderOrderMap,n.rootFolders,s,l]),u=(0,OP.useMemo)(()=>{let p=new Map;return m=>{let g=p.get(m);if(g!==void 0)return g;let f=a(m);return p.set(m,f),f}},[a]);return(0,OP.useMemo)(()=>{let p=o.folder!==null?n$({siblingPathsByParent:c.siblingPathsByParent,palette:o.folder,scope:r.folders.scope,showRootFolder:t.showRootFolder,inheritColors:t.inheritFolderColors}):{colorsByPath:new Map,rootColor:void 0,getInheritedColor:m=>{}};return{isExcludedPath:u,folderRainbowColors:p,navRainbowMode:r.mode,folderRainbowScope:r.folders.scope,showRootFolder:t.showRootFolder}},[r.folders.scope,r.mode,o.folder,u,t.inheritFolderColors,t.showRootFolder,i,c])}function Pae(){let{app:t}=gt(),e=Ho(),n=pt(),r=$s(),o=wae({app:t,settings:n,activeProfile:r,metadataService:e}),a=sS(t)==="dark",i=kae(n,a),s=sNe({settings:n,navRainbowState:i,source:o});return(0,OP.useMemo)(()=>({folderNavigationSource:o,folderDecorationModel:s,navRainbowState:i}),[s,i,o])}var OP,Cae=U(()=>{OP=ue(ze());mn();on();Tae();Gm();PS();Fae();MR()});function Nae({sourceState:t,treeSections:e,includeDescendantNotes:n,navRainbowState:r}){let o=pt(),{navRainbow:a,navRainbowPalettes:i}=r,s=(0,HD.useMemo)(()=>{let c=i.tag;return c?Vte({visibleTagTree:e.renderTagTree,rootTagKeys:e.renderedRootTagKeys,rootTagOrderMap:t.rootTagOrderMap,tagComparator:t.tagComparator,palette:c,scope:a.tags.scope,showAllTagsFolder:o.showAllTagsFolder,inheritColors:o.inheritTagColors,childSortOrderOverrides:o.tagTreeSortOverrides}):{colorsByPath:new Map,rootColor:void 0,getInheritedColor:u=>{}}},[a.tags.scope,i.tag,o.inheritTagColors,o.showAllTagsFolder,o.tagTreeSortOverrides,e.renderedRootTagKeys,e.renderTagTree,t.rootTagOrderMap,t.tagComparator]),l=(0,HD.useMemo)(()=>{let c=i.property;return c?Ute({propertyTree:t.propertyTree,visiblePropertyNavigationKeySet:t.visiblePropertyNavigationKeySet,rootPropertyOrderMap:t.rootPropertyOrderMap,propertyKeyComparator:t.propertyKeyComparator,palette:c,scope:a.properties.scope,showAllPropertiesFolder:o.showAllPropertiesFolder,propertySortOrder:o.propertySortOrder,propertyTreeSortOverrides:o.propertyTreeSortOverrides,includeDescendantNotes:n}):{colorsByNodeId:new Map,rootColor:void 0,rootColorsByKey:new Map}},[n,a.properties.scope,i.property,o.propertySortOrder,o.propertyTreeSortOverrides,o.showAllPropertiesFolder,t.propertyKeyComparator,t.propertyTree,t.rootPropertyOrderMap,t.visiblePropertyNavigationKeySet]);return(0,HD.useMemo)(()=>({navRainbowMode:a.mode,tagRainbowColors:s,propertyRainbowColors:l,inheritPropertyColors:o.inheritPropertyColors}),[a.mode,l,o.inheritPropertyColors,s])}var HD,Iae=U(()=>{HD=ue(ze());on();IV()});function xae(t){return(e,n)=>-t(e,n)}function Eae(t){let{order:e,compareAlphabetically:n,getFrequency:r}=t;if(e==="alpha-asc")return;if(e==="alpha-desc")return xae(n);let o=(a,i)=>{let s=r(a)-r(i);return s!==0?s:n(a,i)};return e==="frequency-asc"?o:xae(o)}function Mae(t,e){return Eae({order:t,compareAlphabetically:LP,getFrequency:e?r=>rT(r):r=>r.notesWithTag.size})}function VD(t){let{order:e,compareAlphabetically:n,getFrequency:r}=t;return Eae({order:e,compareAlphabetically:n,getFrequency:r})??n}var LP,Rae,Dae,p1=U(()=>{Rn();Ba();LP=(t,e)=>{let n=Mt(t.name,e.name);return n!==0?n:t.path.localeCompare(e.path)};Rae=(t,e)=>{let n=Mt(t.name,e.name);return n!==0?n:t.key.localeCompare(e.key)},Dae=(t,e)=>{let n=Mt(t.name,e.name);return n!==0?n:(t.valuePath??"").localeCompare(e.valuePath??"")}});function lNe(t){let e=t.tagComparator??LP;return t.rootTagOrderMap.size===0?e:(n,r)=>kS(n,r,t.rootTagOrderMap,e)}function Aae(t){let e=Array.from(t.visibleTagTree.values()),n=e.length>0?e.slice().sort(t.comparator):e,r=new Map;n.forEach(s=>{r.set(s.path,s)}),t.hiddenRootTagNodes?.forEach((s,l)=>{r.set(l,s)});let o=n.map(s=>s.path),a=new Set(o);t.shouldIncludeUntagged&&a.add(bt),t.hiddenRootTagNodes?.forEach((s,l)=>{a.add(l),o.includes(l)||o.push(l)});let i=[];return t.rootTagOrder.forEach(s=>{!a.has(s)||i.includes(s)||i.push(s)}),o.forEach(s=>{i.includes(s)||i.push(s)}),t.shouldIncludeUntagged&&!i.includes(bt)&&i.push(bt),{rootNodeMap:r,resolvedRootTagKeys:i,hasVisibleTags:n.length>0}}function dNe(t){return t.rootPropertyOrderMap.size===0?t.propertyKeyComparator:(e,n)=>rD(e,n,t.rootPropertyOrderMap,t.propertyKeyComparator)}function Oae(t){let e=Array.from(t.propertyTree.values()),n=e.length>0?e.slice().sort(t.comparator):e,r=new Map;return n.forEach(o=>{r.set(o.key,o)}),{rootNodeMap:r,resolvedRootPropertyKeys:n.map(o=>o.key)}}function Lae({app:t,settings:e,expansionState:n,showHiddenItems:r,includeDescendantNotes:o,sourceState:a,selectionScope:i,tagTreeService:s,propertyTreeService:l}){let c=(0,Ko.useMemo)(()=>zte(a.rootFolders,n.expandedFolders,a.hiddenFolders,0,new Set,{rootOrderMap:a.rootFolderOrderMap,defaultSortOrder:e.folderSortOrder,childSortOrderOverrides:e.folderTreeSortOverrides,getFolderSortName:a.getFolderSortName,isFolderExcluded:a.folderExclusionByFolderNote}),[n.expandedFolders,e.folderSortOrder,e.folderTreeSortOverrides,a.folderExclusionByFolderNote,a.getFolderSortName,a.hiddenFolders,a.rootFolderOrderMap,a.rootFolders]),u=(0,Ko.useMemo)(()=>!e.showTags||!e.scopeTagsToCurrentContext?!1:i.selectionType===W.FOLDER?!!i.selectedFolder:i.selectionType===W.PROPERTY?!!i.selectedProperty:!1,[i.selectedFolder,i.selectedProperty,i.selectionType,e.scopeTagsToCurrentContext,e.showTags]),p=i.selectionType===W.PROPERTY?a.propertyDataVersion:0,m=i.selectionType===W.PROPERTY?a.propertyTree:null,g=(0,Ko.useMemo)(()=>{if(a.fileChangeVersion,a.tagDataVersion,a.metadataVisibilityVersion,!u)return null;let Y=Sr();if(!Y)return null;let $=ca(i,e,{includeDescendantNotes:o,showHiddenItems:r},t,s,l,{orderResults:!1}).filter(Z=>Z.extension==="md").map(Z=>Z.path),{tagTree:j,tagged:J,untagged:re}=UW(Y,$,a.hiddenTags,r,!1);return{visibleTagTree:r||!a.hiddenMatcherHasRules?j:mN(j,a.hiddenTagMatcher),visibleTaggedCount:J,untaggedCount:re}},[t,o,u,l,i,e,r,a.fileChangeVersion,a.hiddenMatcherHasRules,a.hiddenTagMatcher,a.hiddenTags,a.metadataVisibilityVersion,a.tagDataVersion,p,m,s]),f=(0,Ko.useMemo)(()=>e.showTags?g?.visibleTagTree??a.visibleTagTree:new Map,[g,e.showTags,a.visibleTagTree]),h=(0,Ko.useMemo)(()=>lNe({rootTagOrderMap:a.rootTagOrderMap,tagComparator:a.tagComparator}),[a.rootTagOrderMap,a.tagComparator]),b=(0,Ko.useMemo)(()=>e.showTags?Aae({visibleTagTree:a.visibleTagTree,hiddenRootTagNodes:a.hiddenRootTagNodes,shouldIncludeUntagged:e.showUntagged&&a.untaggedCount>0,rootTagOrder:e.rootTagOrder,comparator:h}):{rootNodeMap:new Map,resolvedRootTagKeys:[],hasVisibleTags:!1},[h,e.rootTagOrder,e.showTags,e.showUntagged,a.hiddenRootTagNodes,a.untaggedCount,a.visibleTagTree]),v=(0,Ko.useMemo)(()=>g?Aae({visibleTagTree:f,hiddenRootTagNodes:new Map,shouldIncludeUntagged:e.showUntagged&&g.untaggedCount>0,rootTagOrder:e.rootTagOrder,comparator:h}):b,[h,b,f,g,e.rootTagOrder,e.showUntagged]),y=(0,Ko.useMemo)(()=>b.rootNodeMap,[b.rootNodeMap]),S=(0,Ko.useMemo)(()=>b.resolvedRootTagKeys,[b.resolvedRootTagKeys]),w=g!==null,F=g?.untaggedCount??a.untaggedCount,P=w?void 0:a.hiddenRootTagNodes,T=v.rootNodeMap,I=v.resolvedRootTagKeys,N=(0,Ko.useMemo)(()=>{if(!e.showTags)return[];let Y=e.showUntagged&&F>0;return I.filter(ee=>P?.has(ee)&&!r?!1:ee===bt?Y:T.has(ee))},[P,T,F,I,e.showTags,e.showUntagged,r]),{tagItems:O,tagsVirtualFolderHasChildren:K}=(0,Ko.useMemo)(()=>{if(!e.showTags)return{tagItems:[],tagsVirtualFolderHasChildren:!1};let Y=[],ee=!r,$=a.hiddenMatcherHasRules,j=g,J=f,re=j?.visibleTaggedCount??a.visibleTaggedCount,oe=j?.untaggedCount??a.untaggedCount,Z=j?new Map:a.hiddenRootTagNodes,ce=v.resolvedRootTagKeys,ae=e.showUntagged&&oe>0,se=!ee&&$?a.hiddenTagMatcher:void 0,{rootNodeMap:ne,hasVisibleTags:B}=v,q=o?{current:re,descendants:0,total:re}:{current:0,descendants:0,total:0},ie=pe=>{if(!ae)return;let ve={path:bt,displayPath:bt,name:rc(Tl.UNTAGGED).getLabel(),children:new Map,notesWithTag:new Set};Y.push({type:he.UNTAGGED,data:ve,key:bt,level:pe,noteCount:{current:oe,descendants:0,total:oe}})},le=(pe,ve,Ie,qe)=>{let xe={id:pe,name:ve,icon:Ie};Y.push({type:he.VIRTUAL_FOLDER,data:xe,level:0,key:pe,isSelectable:!!(qe?.tagCollectionId||qe?.propertyCollectionId),tagCollectionId:qe?.tagCollectionId,propertyCollectionId:qe?.propertyCollectionId,hasChildren:qe?.hasChildren,showFileCount:qe?.showFileCount,noteCount:qe?.noteCount})};if(J.size===0){if(e.showAllTagsFolder){let pe=_n;return le(pe,d.tagList.tags,Qe(e.interfaceIcons,"nav-tags"),{tagCollectionId:zt,hasChildren:ae,showFileCount:e.showNoteCount,noteCount:q}),n.expandedVirtualFolders.has(pe)&&ae&&ie(1),{tagItems:Y,tagsVirtualFolderHasChildren:ae}}return ae?(ie(0),{tagItems:Y,tagsVirtualFolderHasChildren:!0}):{tagItems:Y,tagsVirtualFolderHasChildren:!1}}let Te=re>0,ke=B||ae||Te,Fe=B||ae,te=(pe,ve)=>{let Ie=FS([pe],n.expandedTags,ve,{hiddenMatcher:se,comparator:h,childSortOrderOverrides:e.tagTreeSortOverrides});Y.push(...Ie)};if(e.showAllTagsFolder){if(ke){let pe=_n;le(pe,d.tagList.tags,Qe(e.interfaceIcons,"nav-tags"),{tagCollectionId:zt,hasChildren:Fe,showFileCount:e.showNoteCount,noteCount:q}),n.expandedVirtualFolders.has(pe)&&ce.forEach(ve=>{if(Z.has(ve)&&!r)return;if(ve===bt){ie(1);return}let Ie=ne.get(ve);Ie&&te(Ie,1)})}}else ce.forEach(pe=>{if(Z.has(pe)&&!r)return;if(pe===bt){ie(0);return}let ve=ne.get(pe);ve&&te(ve,0)});return{tagItems:Y,tagsVirtualFolderHasChildren:Fe}},[h,n.expandedTags,n.expandedVirtualFolders,o,f,v,g,e.interfaceIcons,e.showAllTagsFolder,e.showNoteCount,e.showTags,e.showUntagged,e.tagTreeSortOverrides,r,a.hiddenMatcherHasRules,a.hiddenRootTagNodes,a.hiddenTagMatcher,a.untaggedCount,a.visibleTaggedCount]),G=(0,Ko.useMemo)(()=>{if(!e.showProperties)return new Map;let Y=new Map;return a.propertyTree.forEach((ee,$)=>{a.visiblePropertyNavigationKeySet.has(ee.key)&&Y.set($,ee)}),Y},[e.showProperties,a.propertyTree,a.visiblePropertyNavigationKeySet]),X=(0,Ko.useMemo)(()=>!e.showProperties||!e.scopePropertiesToCurrentContext?!1:i.selectionType===W.FOLDER?!!i.selectedFolder:i.selectionType===W.TAG?!!i.selectedTag:!1,[i.selectedFolder,i.selectedTag,i.selectionType,e.scopePropertiesToCurrentContext,e.showProperties]),L=i.selectionType===W.TAG||i.selectionType===W.FOLDER&&!r&&a.hiddenFileTags.length>0?a.tagDataVersion:0,V=i.selectionType===W.TAG?a.tagTree:null,D=(0,Ko.useMemo)(()=>{if(a.fileChangeVersion,a.propertyDataVersion,a.metadataVisibilityVersion,!X)return null;let Y=Sr();if(!Y)return null;let $=ca(i,e,{includeDescendantNotes:o,showHiddenItems:r},t,s,l,{orderResults:!1}).filter(j=>j.extension==="md").map(j=>j.path);return a.visiblePropertyNavigationKeySet.size===0?{propertyTree:new Map}:{propertyTree:Ij(Y,$,{includedPropertyKeys:a.visiblePropertyNavigationKeySet})}},[t,o,X,l,i,e,r,a.fileChangeVersion,a.metadataVisibilityVersion,a.propertyDataVersion,a.visiblePropertyNavigationKeySet,L,V,s]),A=(0,Ko.useMemo)(()=>e.showProperties?D?.propertyTree??G:new Map,[G,D,e.showProperties]),_=(0,Ko.useMemo)(()=>dNe({propertyKeyComparator:a.propertyKeyComparator,rootPropertyOrderMap:a.rootPropertyOrderMap}),[a.propertyKeyComparator,a.rootPropertyOrderMap]),E=(0,Ko.useMemo)(()=>e.showProperties?Oae({propertyTree:G,comparator:_}):{rootNodeMap:new Map,resolvedRootPropertyKeys:[]},[_,G,e.showProperties]),R=(0,Ko.useMemo)(()=>D?Oae({propertyTree:A,comparator:_}):E,[_,E,A,D]),M=(0,Ko.useMemo)(()=>E.rootNodeMap,[E.rootNodeMap]),C=(0,Ko.useMemo)(()=>E.resolvedRootPropertyKeys,[E.resolvedRootPropertyKeys]),x=(0,Ko.useMemo)(()=>{if(!e.showProperties)return{propertiesSectionActive:!1,keyNodes:[],collectionCount:void 0};let Y=R.resolvedRootPropertyKeys.map(J=>R.rootNodeMap.get(J)??null).filter(J=>J!==null),ee,$=e.showAllPropertiesFolder;if(e.showNoteCount&&($||a.hasRootPropertyShortcut))if(!o||Y.length===0)ee={current:0,descendants:0,total:0};else{let J=new Set;Y.forEach(oe=>{oe.notesWithValue.forEach(Z=>J.add(Z))});let re=J.size;ee={current:re,descendants:0,total:re}}return{propertiesSectionActive:!0,keyNodes:Y,collectionCount:ee}},[o,R,e.showAllPropertiesFolder,e.showNoteCount,e.showProperties,a.hasRootPropertyShortcut]),{propertyItems:z,propertiesSectionActive:H}=(0,Ko.useMemo)(()=>{if(!x.propertiesSectionActive)return{propertyItems:[],propertiesSectionActive:!1};let Y=Oe,ee=x.keyNodes,$=x.collectionCount,j=e.showAllPropertiesFolder,J=j?1:0,re=J+1,oe=[];if(j&&(oe.push({type:he.VIRTUAL_FOLDER,data:{id:Y,name:d.navigationPane.properties,icon:Qe(e.interfaceIcons,"nav-properties")},level:0,key:Y,isSelectable:!0,propertyCollectionId:Oe,hasChildren:ee.length>0,showFileCount:e.showNoteCount,noteCount:$}),!n.expandedVirtualFolders.has(Y)))return{propertyItems:oe,propertiesSectionActive:!0};let Z=(ce,ae)=>{let se=Array.from(ae);if(se.length<=1)return se;let ne=e.propertyTreeSortOverrides,q=!!(ne&&Object.prototype.hasOwnProperty.call(ne,ce.id))?ne?.[ce.id]:void 0,ie=VD({order:q??e.propertySortOrder,compareAlphabetically:Dae,getFrequency:le=>o&&le.valuePath?Pm(ce,le.valuePath):le.notesWithValue.size});return se.sort(ie)};return ee.forEach(ce=>{oe.push({type:he.PROPERTY_KEY,data:ce,level:J,key:ce.id}),n.expandedProperties.has(ce.id)&&ce.children.size>0&&Z(ce,ce.children.values()).forEach(ae=>{oe.push({type:he.PROPERTY_VALUE,data:ae,level:re,key:ae.id})})}),{propertyItems:oe,propertiesSectionActive:!0}},[n.expandedProperties,n.expandedVirtualFolders,o,x.collectionCount,x.keyNodes,x.propertiesSectionActive,e.interfaceIcons,e.propertySortOrder,e.propertyTreeSortOverrides,e.showAllPropertiesFolder,e.showNoteCount]);return{folderItems:c,tagItems:O,renderTagTree:f,renderedRootTagKeys:N,rootOrderingTagTree:y,resolvedRootTagKeys:S,tagsVirtualFolderHasChildren:K,renderPropertyTree:A,rootOrderingPropertyTree:M,propertyItems:z,propertiesSectionActive:H,resolvedRootPropertyKeys:C,propertyCollectionCount:x.collectionCount}}var Ko,zae=U(()=>{Ko=ue(ze());Ee();Ue();zn();ai();Ba();cn();PS();pr();Jm();p1()});function cNe(t,e){let n=Mt(t.name,e.name);return n!==0?n:t.key.localeCompare(e.key)}function uNe(t,e,n){let r=new Map;e.forEach(l=>{r.set(l.key,l)});let o=new Set,a=[],i=[];return t.forEach(l=>{let c=Me(l);c&&(o.has(c)||(o.add(c),a.push(c),r.has(c)||i.push(c)))}),e.filter(l=>!o.has(l.key)).slice().sort(n).forEach(l=>{o.has(l.key)||(o.add(l.key),a.push(l.key))}),{normalizedOrder:a,missingKeys:i}}function Bae({settings:t,propertyTree:e,comparator:n}){let r=Ys(),o=(0,jg.useMemo)(()=>n||cNe,[n]),a=(0,jg.useMemo)(()=>!e||e.size===0?[]:Array.from(e.values()),[e]),i=Array.isArray(t.rootPropertyOrder)&&t.rootPropertyOrder.length>0,s=(0,jg.useMemo)(()=>i?uNe(t.rootPropertyOrder,a,o):{normalizedOrder:[],missingKeys:[]},[o,i,a,t.rootPropertyOrder]);(0,jg.useEffect)(()=>{i&&(go(s.normalizedOrder,t.rootPropertyOrder)||Q(async()=>{await r(u=>{u.rootPropertyOrder=s.normalizedOrder})}))},[i,s.normalizedOrder,t.rootPropertyOrder,r]);let l=(0,jg.useMemo)(()=>i?Ym(s.normalizedOrder):new Map,[i,s.normalizedOrder]),c=(0,jg.useMemo)(()=>i?s.missingKeys:[],[i,s.missingKeys]);return{rootPropertyOrderMap:l,missingRootPropertyKeys:c}}var jg,_ae=U(()=>{jg=ue(ze());on();Sl();ot();Ot();Rn()});function pNe(t,e,n){let r=new Map;e.forEach(l=>{r.set(l.path,l)});let o=new Set,a=[],i=[];return t.forEach(l=>{let c=It(l);c.length!==0&&(o.has(c)||(o.add(c),a.push(c),r.has(c)||i.push(c)))}),e.filter(l=>!o.has(l.path)).slice().sort(n).forEach(l=>{o.has(l.path)||(o.add(l.path),a.push(l.path))}),{normalizedOrder:a,missingPaths:i}}function Hae({settings:t,tagTree:e,comparator:n}){let r=Ys(),o=(0,Gg.useMemo)(()=>n||((u,p)=>Mt(u.name,p.name)),[n]),a=(0,Gg.useMemo)(()=>!e||e.size===0?[]:Array.from(e.values()),[e]),i=Array.isArray(t.rootTagOrder)&&t.rootTagOrder.length>0,s=(0,Gg.useMemo)(()=>i?pNe(t.rootTagOrder,a,o):{normalizedOrder:[],missingPaths:[]},[o,i,a,t.rootTagOrder]);(0,Gg.useEffect)(()=>{i&&(go(s.normalizedOrder,t.rootTagOrder)||Q(async()=>{await r(u=>{u.rootTagOrder=s.normalizedOrder})}))},[i,s.normalizedOrder,t.rootTagOrder,r]);let l=(0,Gg.useMemo)(()=>i?Ym(s.normalizedOrder):new Map,[i,s.normalizedOrder]),c=(0,Gg.useMemo)(()=>i?s.missingPaths:[],[i,s.missingPaths]);return{rootTagOrderMap:l,missingRootTagPaths:c}}var Gg,Vae=U(()=>{Gg=ue(ze());on();Sl();Dr();Rn();ot()});function Uae({app:t,settings:e,activeProfile:n,folderNavigationSource:r,fileData:o,hydratedShortcuts:a,showHiddenItems:i,includeDescendantNotes:s}){let{hiddenFolders:l,hiddenFileProperties:c,hiddenFileNames:u,hiddenTags:p,hiddenFileTags:m,fileVisibility:g,navigationBanner:f}=n,h=f,b=ng(e,i),v=(0,Cs.useMemo)(()=>Gd(u,i),[u,i]),y=(0,Cs.useMemo)(()=>po(c),[c]),{hiddenFolders:S,rootFolders:w,rootLevelFolders:k,rootFolderOrderMap:F,missingRootFolderPaths:P,fileChangeVersion:T,metadataDecorationVersion:I,metadataVisibilityVersion:N,tagDataVersion:O,propertyDataVersion:K,getFolderSortName:G,folderExclusionByFolderNote:X}=r,L=(0,Cs.useMemo)(()=>o.tagTree??new Map,[o.tagTree]),V=(0,Cs.useMemo)(()=>o.propertyTree??new Map,[o.propertyTree]),D=o.untagged,A=(0,Cs.useMemo)(()=>Br(p,i),[p,i]),_=A.matcher,E=A.hasHiddenRules,R=(0,Cs.useMemo)(()=>!E||i?L:mN(L,_),[L,E,i,_]),M=o.tagged??0,C=(0,Cs.useMemo)(()=>a.some(({shortcut:Z,propertyNodeId:ce})=>la(Z)?ce===Oe||Z.nodeId===Oe:!1),[a]),x=(0,Cs.useMemo)(()=>Mae(e.tagSortOrder,s),[e.tagSortOrder,s]),z=(0,Cs.useMemo)(()=>!e.showTags||i?new Map:o.hiddenRootTags??new Map,[o.hiddenRootTags,i,e.showTags]),H=(0,Cs.useMemo)(()=>{if(z.size===0)return L;let Z=new Map(L);return z.forEach((ce,ae)=>{Z.has(ae)||Z.set(ae,ce)}),Z},[z,L]),{rootTagOrderMap:Y,missingRootTagPaths:ee}=Hae({settings:e,tagTree:H,comparator:x??LP}),$=(0,Cs.useMemo)(()=>VD({order:e.propertySortOrder,compareAlphabetically:Rae,getFrequency:Z=>s?Z.notesWithValue.size:jc(Z)}),[s,e.propertySortOrder]),{rootPropertyOrderMap:j,missingRootPropertyKeys:J}=Bae({settings:e,propertyTree:V,comparator:$}),re=(0,Cs.useMemo)(()=>qv(n.propertyKeys,"navigation"),[n.propertyKeys]),oe=(0,Cs.useMemo)(()=>Oz({hiddenFileProperties:c,hiddenFolders:l,hiddenFileNames:u,hiddenFileTags:m,hideDrawingPreviewImages:e.hideDrawingPreviewImages},t,i),[t,i,c,l,u,m,e.hideDrawingPreviewImages]);return(0,Cs.useMemo)(()=>({effectiveFrontmatterExclusions:b,hiddenFolders:S,hiddenTags:p,hiddenFileProperties:c,hiddenFileNames:u,hiddenFileTags:m,fileVisibility:g,navigationBannerPath:h,folderCountFileNameMatcher:v,hiddenFilePropertyMatcher:y,rootFolders:w,rootLevelFolders:k,rootFolderOrderMap:F,missingRootFolderPaths:P,tagTree:L,propertyTree:V,untaggedCount:D,visibleTaggedCount:M,hiddenTagMatcher:_,hiddenMatcherHasRules:E,visibleTagTree:R,hasRootPropertyShortcut:C,tagComparator:x,hiddenRootTagNodes:z,tagTreeForOrdering:H,rootTagOrderMap:Y,missingRootTagPaths:ee,propertyKeyComparator:$,rootPropertyOrderMap:j,missingRootPropertyKeys:J,visiblePropertyNavigationKeySet:re,metadataDecorationVersion:I,metadataVisibilityVersion:N,tagDataVersion:O,propertyDataVersion:K,getFolderSortName:G,folderExclusionByFolderNote:X,recentNotesHiddenFileMatcher:oe,fileChangeVersion:T}),[b,S,p,c,u,m,g,h,v,y,w,k,F,P,L,V,D,M,_,E,R,C,x,z,H,Y,ee,$,j,J,re,I,N,O,K,G,X,oe,T])}var Cs,Kae=U(()=>{Cs=ue(ze());Ue();Ia();qy();Yr();cn();Dr();Ba();dn();_ae();Vae();p1()});var Ut,jae,qp,UD,Wae,Gae,qae=U(()=>{Ut=ue(ze()),jae=require("obsidian");Qs();Ur();mn();on();pa();xg();Tr();sH();R9();V9();K9();W9();QM();Y9();Xi();Ee();ot();X9();Tz();Z9();hH();Ue();ai();Mg();Sl();JM();vH();Jv();SH();wH();iR();Sn();Xc();cn();TH();CH();Xb();NH();Tre();pae();lP();vae();Fn();yR();iS();Cae();Iae();GR();zae();Kae();qp=ue(Ge()),UD=(t,e)=>{if(t===e)return!0;if(t.length!==e.length)return!1;for(let n=0;n<t.length;n+=1)if(t[n]!==e[n])return!1;return!0},Wae=(t,e)=>{if(t===e)return!0;let n=Object.keys(t),r=Object.keys(e);if(n.length!==r.length)return!1;for(let o of n)if(t[o]!==e[o])return!1;return!0},Gae=Ut.default.memo((0,Ut.forwardRef)(function(e,n){let{app:r,isMobile:o,fileSystemOps:a,plugin:i,tagTreeService:s,propertyTreeService:l,commandQueue:c,tagOperations:u}=gt(),p=pt(),m=$s(),g=ta(),f=Xt(),h=Yn(),b=Vr(),v=(0,Ut.useRef)(f);(0,Ut.useEffect)(()=>{v.current=f},[f]);let y=h.effectiveDualPaneOrientation,S=p.desktopBackground??"separate",{scale:w,style:k,dataAttr:F}=cR({isMobile:o,desktopScale:p.desktopScale,mobileScale:p.mobileScale}),P=Yd("horizontal"),T=Yd("vertical"),I=y==="vertical"?T:P,N=ar(),O=gr(),K=N.selectionType===W.FOLDER?N.selectedFolder:null,G=bS(r.vault,K,p.enableFolderNotes&&p.folderNoteOpenLocation==="right-sidebar"&&p.showNearestFolderNoteInSidebar,{includeAncestors:!0});(0,Ut.useEffect)(()=>{Q(()=>i.syncFolderNoteSidebarToFolder(K))},[i,G,K,p.enableFolderNotes,p.folderNoteName,p.folderNoteNamePattern,p.folderNoteOpenLocation,p.showNearestFolderNoteInSidebar]);let{folderShortcutKeysByPath:X,noteShortcutKeysByPath:L,tagShortcutKeysByPath:V,propertyShortcutKeysByNodeId:D,addFolderShortcut:A,addNoteShortcut:_,addTagShortcut:E,addPropertyShortcut:R,removeShortcut:M,hydratedShortcuts:C}=Td(),x=(0,Ut.useMemo)(()=>({selectionType:N.selectionType,selectedFolder:N.selectedFolder,selectedTag:N.selectedTag,selectedProperty:N.selectedProperty}),[N.selectedFolder,N.selectedProperty,N.selectedTag,N.selectionType]),{stopAllProcessing:z,rebuildCache:H,fileData:Y}=xo(),{bannerNotice:ee,markAsDisplayed:$}=$9(),j=(0,Ut.useRef)(z);(0,Ut.useEffect)(()=>{j.current=z},[z]);let J=(0,Ut.useRef)(H);(0,Ut.useEffect)(()=>{J.current=H},[H]);let re=(0,Ut.useRef)(null),[oe,Z]=(0,Ut.useState)(!1),[ce,ae]=(0,Ut.useState)(oS),[se,ne]=(0,Ut.useState)(!1),[B,q]=(0,Ut.useState)(!1),ie=(0,Ut.useRef)(null),le=(0,Ut.useRef)(null),Te=(0,Ut.useRef)(h.dualPane),ke=(0,Ut.useRef)({mouseBackForwardAction:p.mouseBackForwardAction,singlePane:h.singlePane,focusedPane:h.focusedPane,currentSinglePaneView:h.currentSinglePaneView,navigateSelectionHistory:()=>!1}),Fe=(0,Ut.useCallback)(je=>{ae(rt=>rt.tags.excludeTagged===je.tags.excludeTagged&&rt.tags.includeUntagged===je.tags.includeUntagged&&rt.tags.requireTagged===je.tags.requireTagged&&UD(rt.tags.include,je.tags.include)&&UD(rt.tags.exclude,je.tags.exclude)&&Wae(rt.tags.includeOperators,je.tags.includeOperators)&&UD(rt.properties.include,je.properties.include)&&UD(rt.properties.exclude,je.properties.exclude)&&Wae(rt.properties.includeOperators,je.properties.includeOperators)?rt:{tags:{include:je.tags.include.slice(),exclude:je.tags.exclude.slice(),includeOperators:{...je.tags.includeOperators},excludeTagged:je.tags.excludeTagged,includeUntagged:je.tags.includeUntagged,requireTagged:je.tags.requireTagged},properties:{include:je.properties.include.slice(),exclude:je.properties.exclude.slice(),includeOperators:{...je.properties.includeOperators}}})},[]),te=(0,Ut.useCallback)(async(je,rt)=>{let Et=le.current;Et&&await Et.executeSearchShortcut({searchShortcut:rt})},[]),pe=(0,Ut.useCallback)(()=>({preserveSinglePaneView:h.singlePane&&h.currentSinglePaneView==="navigation",focusSearch:!1}),[h.currentSinglePaneView,h.singlePane]),ve=(0,Ut.useCallback)((je,rt)=>{le.current?.modifySearchWithTag(je,rt,pe())},[pe]),Ie=(0,Ut.useCallback)((je,rt,Et)=>{le.current?.modifySearchWithProperty(je,rt,Et,pe())},[pe]),qe=(0,Ut.useCallback)(je=>{le.current?.modifySearchWithDateToken(je,pe())},[pe]),xe=uH({orientation:"horizontal",initialSize:P.defaultSize,min:P.minSize,storageKey:P.storageKey,scale:w}),Ce=uH({orientation:"vertical",initialSize:T.defaultSize,min:T.minSize,storageKey:T.storageKey,scale:w}),vt=y==="vertical"?Ce:xe,Rt=vt.paneSize,Ve=vt.isResizing,Ae=vt.resizeHandleProps,Ke=(0,Ut.useCallback)(je=>{re.current=je},[]);(0,Ut.useEffect)(()=>{b({type:"SET_PANE_WIDTH",width:xe.paneSize})},[xe.paneSize,b]),(0,Ut.useLayoutEffect)(()=>{let je=re.current;if(!je)return;let rt=Xe=>{b({type:"SET_CONTAINER_WIDTH",width:Xe})};if(rt(je.offsetWidth),typeof ResizeObserver>"u"){let Xe=()=>rt(je.offsetWidth);return window.addEventListener("resize",Xe),()=>{window.removeEventListener("resize",Xe)}}let Et=new ResizeObserver(Xe=>{let Ht=Xe[0];Ht&&rt(Ht.contentRect.width)});return Et.observe(je),()=>Et.disconnect()},[b]);let Be=["nn-split-container"],wt=(0,Ut.useRef)(!1),Ct=(0,Ut.useRef)(p.startView==="navigation"?"navigation":"files");(0,Ut.useLayoutEffect)(()=>{let je=Te.current;if(Te.current=h.dualPane,o)return;if(h.dualPane){wt.current=!1;return}if(wt.current)return;if(wt.current=!0,je){q(!0);let Et=window.requestAnimationFrame(()=>{q(!1)});return b({type:"SET_SINGLE_PANE_VIEW",view:"files"}),b({type:"SET_FOCUSED_PANE",pane:"files"}),()=>{window.cancelAnimationFrame(Et)}}let rt=Ct.current;b({type:"SET_SINGLE_PANE_VIEW",view:rt}),b({type:"SET_FOCUSED_PANE",pane:rt})},[o,b,h.dualPane]),(0,Ut.useEffect)(()=>{if(!h.singlePane){ne(!1);return}ne(!0);let je=window.setTimeout(()=>{ne(!1)},p.paneTransitionDuration+20);return()=>{window.clearTimeout(je)}},[p.paneTransitionDuration,h.currentSinglePaneView,h.singlePane]),x9(re);let qt=(0,Ut.useCallback)(()=>{h.singlePane&&(b({type:"SET_SINGLE_PANE_VIEW",view:"navigation"}),b({type:"SET_FOCUSED_PANE",pane:"navigation"}))},[b,h.singlePane]),lt=(0,Ut.useCallback)(()=>{h.singlePane&&h.currentSinglePaneView==="navigation"&&(b({type:"SET_SINGLE_PANE_VIEW",view:"files"}),b({type:"SET_FOCUSED_PANE",pane:"files"}))},[b,h.singlePane,h.currentSinglePaneView]);M9({containerRef:re,isMobile:o,isSinglePane:h.singlePane,isFilesView:h.currentSinglePaneView==="files",onActivateNavigation:qt,onRestoreFiles:lt}),q9(re,o),U9({app:r,containerRef:re,setIsNavigatorFocused:Z});let{handleExpandCollapseAll:Zt}=Gb(),Kt=(0,Ut.useCallback)((je,rt)=>{let Et=c?.isOpeningVersionHistory()||!1,Xe=c?.isOpeningInNewContext()||!1;h.singlePane&&rt?.updateSinglePaneView&&h.currentSinglePaneView!==je&&b({type:"SET_SINGLE_PANE_VIEW",view:je}),h.focusedPane!==je&&b({type:"SET_FOCUSED_PANE",pane:je}),!Et&&!Xe&&re.current?.focus()},[c,b,h.singlePane,h.currentSinglePaneView,h.focusedPane]),gn=(0,Ut.useCallback)(je=>{let rt=je?.updateSinglePaneView??h.singlePane;Kt("navigation",{updateSinglePaneView:rt})},[Kt,h.singlePane]),fn=(0,Ut.useCallback)(je=>{let rt=je?.updateSinglePaneView??h.singlePane;Kt("files",{updateSinglePaneView:rt})},[Kt,h.singlePane]),{revealFileInActualFolder:an,revealFileInNearestFolder:Pe,navigateToFolder:ge,navigateToTag:be,navigateToProperty:me,revealTag:fe,revealProperty:we}=H9({app:r,navigationPaneRef:ie,focusNavigationPane:gn,focusFilesPane:fn}),Re=(0,Ut.useCallback)(je=>{if(je.type===W.FOLDER){let rt=r.vault.getFolderByPath(je.value);return rt?{type:W.FOLDER,value:rt.path}:null}if(je.type===W.TAG){if(!p.showTags)return null;let rt=Ze(je.value);if(!rt)return null;if(rt===zt||rt===bt)return{type:W.TAG,value:rt};if(!s)return null;let Et=s.resolveSelectionTagPath(rt);return Et?{type:W.TAG,value:Et}:null}if(je.type===W.PROPERTY){if(!p.showProperties)return null;let rt=je.value===Oe?Oe:Gt(je.value);if(!rt)return null;if(rt===Oe)return{type:W.PROPERTY,value:Oe};if(!l)return null;let Et=l.resolveSelectionNodeId(rt);return Et!==Oe?{type:W.PROPERTY,value:Et}:null}return null},[r.vault,l,p.showProperties,p.showTags,s]),nt=(0,Ut.useCallback)(je=>{let{navigationHistory:rt}=N;if(rt.length===0)return null;let Et=Math.min(Math.max(N.navigationHistoryIndex,0),rt.length-1),Xe=je==="back"?-1:1;for(let Ht=Et+Xe;Ht>=0&&Ht<rt.length;Ht+=Xe){let vn=Re(rt[Ht]);if(vn)return{entry:vn,index:Ht}}return null},[Re,N]),ct=(0,Ut.useCallback)(je=>{let rt=nt(je);if(!rt)return!1;if(rt.entry.type===W.FOLDER){let Et=r.vault.getFolderByPath(rt.entry.value);return Et?ge(Et,{historyIndex:rt.index,skipFocus:!0,source:"manual"}):!1}return rt.entry.type===W.TAG?be(rt.entry.value,{historyIndex:rt.index,skipFocus:!0,source:"manual"})!==null:me(rt.entry.value,{historyIndex:rt.index,skipFocus:!0,source:"manual"})!==null},[r.vault,nt,ge,me,be]),yt=!h.singlePane||h.currentSinglePaneView==="navigation";(0,Ut.useEffect)(()=>{ke.current={mouseBackForwardAction:p.mouseBackForwardAction,singlePane:h.singlePane,focusedPane:h.focusedPane,currentSinglePaneView:h.currentSinglePaneView,navigateSelectionHistory:ct}},[ct,p.mouseBackForwardAction,h.currentSinglePaneView,h.focusedPane,h.singlePane]),(0,Ut.useEffect)(()=>{if(o)return;let je=re.current;if(!je)return;let rt=Et=>{if(Et.button!==3&&Et.button!==4)return;let{mouseBackForwardAction:Xe,singlePane:Ht,focusedPane:vn,currentSinglePaneView:it,navigateSelectionHistory:Yt}=ke.current,fr=Et.button===3?"back":"forward";if(Xe==="none")return;if(Xe==="history"){Et.preventDefault(),Yt(fr);return}if(!Ht||(Et.preventDefault(),vn==="search"))return;let Do=fr==="back"?"navigation":"files";it!==Do&&(b({type:"SET_SINGLE_PANE_VIEW",view:Do}),b({type:"SET_FOCUSED_PANE",pane:Do}))};return je.addEventListener("auxclick",rt),()=>{je.removeEventListener("auxclick",rt)}},[re,o,b]);let bn=(0,Ut.useCallback)(je=>{Pe(je,{source:"shortcut"})},[Pe]),Kn=(0,Ut.useCallback)(()=>{let je=yx(N);if(!je)return;let rt=N.selectionType===W.TAG?W.TAG:N.selectionType===W.PROPERTY?W.PROPERTY:W.FOLDER,Et=Lp(rt,je);ie.current?.requestScroll(Et,{align:"auto",itemType:rt})},[N]),kr=(0,Ut.useCallback)(()=>{let je=le.current;if(!je)return;let rt=fc(r,N);if(!rt)return;let Et=je.getIndexOfPath(rt.path);Et<0||je.virtualizer?.scrollToIndex(Et,{align:"auto"})},[r,N]),Wo=(0,Ut.useCallback)(()=>{let je=()=>{Kn(),kr()};if(typeof requestAnimationFrame<"u"){window.requestAnimationFrame(()=>{window.requestAnimationFrame(je)});return}window.setTimeout(je,0)},[kr,Kn]),co=(0,Ut.useRef)(null),wn=(0,Ut.useCallback)(je=>{if(!h.singlePane)return;let rt=co.current;co.current=je,rt!==je&&Wo()},[Wo,h.singlePane]);(0,Ut.useImperativeHandle)(n,()=>{let je=()=>{let Xe=Array.from(N.selectedFiles).map(Ht=>r.vault.getFileByPath(Ht)).filter(Ht=>!!Ht);return Xe.length===0&&N.selectedFile&&Xe.push(N.selectedFile),Xe},rt=()=>{let Xe=je(),Ht=le.current?.getOrderedFiles()??[];return wx(Xe,Ht)},Et=Xe=>{let Ht=le.current;return Ht?Ht.selectAdjacentFile(Xe):!1};return{navigateToFile:(Xe,Ht)=>an(Xe,Ht),revealFileInNearestFolder:(Xe,Ht)=>{Pe(Xe,Ht)},focusVisiblePane:()=>{h.singlePane?Kt(h.currentSinglePaneView):Kt("files")},focusNavigationPane:gn,stopContentProcessing:()=>{try{j.current?.()}catch(Xe){console.error("Failed to stop content processing:",Xe)}},rebuildCache:async()=>{await J.current?.()},selectNextFile:async()=>Et("next"),selectPreviousFile:async()=>Et("previous"),navigateBack:async()=>ct("back"),navigateForward:async()=>ct("forward"),openShortcutByNumber:Xe=>{let Ht=ie.current;return Ht?Ht.openShortcutByNumber(Xe):Promise.resolve(!1)},isDualPaneAutoFallbackActive:()=>i.useDualPane()&&!o&&h.singlePane,deleteSelectedFiles:()=>{Q(async()=>{!N.selectedFile&&N.selectedFiles.size===0||await ZM({app:r,fileSystemOps:a,settings:p,visibility:{includeDescendantNotes:v.current.includeDescendantNotes,showHiddenItems:v.current.showHiddenItems},selectionState:N,selectionDispatch:O,tagTreeService:s,propertyTreeService:l,orderedFiles:le.current?.getOrderedFiles()??void 0})})},mergeSelectedFiles:async()=>{let Xe=rt(),Ht=zp(Xe);if(Ht.length<2){de(d.fileSystem.notifications.mergeNotesRequireMultipleMarkdown,{variant:"warning"});return}let vn=Ht[0],it=vn.parent instanceof jae.TFolder?vn.parent:r.vault.getRoot();await dR({app:r,commandQueue:c,fileSystemOps:a,files:Ht,outputFolder:it,defaultOutputName:d.modals.mergeNotes.outputNamePlaceholder})},createNoteInSelectedFolder:async(Xe=!1)=>{let Ht=le.current?.getManualSortNewFileContext()??null;if(N.selectedFolder){await a.createNewFile(N.selectedFolder,Xe,Ht);return}if(N.selectionType===W.TAG&&N.selectedTag&&N.selectedTag!==zt&&N.selectedTag!==bt){let vn=N.selectedFile?.path??r.workspace.getActiveFile()?.path??"";await a.createNewFileForTag(N.selectedTag,vn,Xe,Ht);return}if(N.selectionType===W.PROPERTY&&N.selectedProperty&&N.selectedProperty!==Oe){let vn=N.selectedFile?.path??r.workspace.getActiveFile()?.path??"";await a.createNewFileForProperty(N.selectedProperty,vn,Xe,Ht);return}de(d.fileSystem.errors.noFolderSelected,{variant:"warning"})},createNoteFromTemplateInSelectedFolder:async()=>{if(!N.selectedFolder){de(d.fileSystem.errors.noFolderSelected,{variant:"warning"});return}let Xe=ty(r);Xe&&await Xe(N.selectedFolder)},moveSelectedFiles:async()=>{let Xe=je();if(Xe.length===0){de(d.fileSystem.errors.noFileSelected,{variant:"warning"});return}let Ht=N3(N,p,{includeDescendantNotes:v.current.includeDescendantNotes,showHiddenItems:v.current.showHiddenItems},r,s,l);await a.moveFilesWithModal(Xe,{selectedFile:N.selectedFile,dispatch:O,allFiles:Ht})},addShortcutForCurrentSelection:async()=>{let Xe=async(it,Yt)=>{if(it){await M(it);return}await Yt()},Ht=je();if(Ht.length>0){let it=Ht[0].path;await Xe(L.get(it),()=>_(it));return}if(N.selectedTag){let it=N.selectedTag,Yt=Ze(it);await Xe(Yt?V.get(Yt):void 0,()=>E(it));return}if(N.selectedProperty){let it=N.selectedProperty,Yt=it===Oe?Oe:Gt(it);await Xe(Yt?D.get(Yt):void 0,()=>R(it));return}if(N.selectedFolder){let it=N.selectedFolder.path;await Xe(X.get(it),()=>A(it));return}let vn=r.workspace.getActiveFile();if(vn){await Xe(L.get(vn.path),()=>_(vn.path));return}de(d.common.noSelection,{variant:"warning"})},navigateToFolder:ge,navigateToTag:be,navigateToProperty:me,addDateFilterToSearch:qe,navigateToFolderWithModal:()=>{new $h(r,Ht=>{ge(Ht,{preserveNavigationFocus:yt})},d.modals.folderSuggest.navigatePlaceholder,d.modals.folderSuggest.instructions.select,void 0).open()},navigateToTagWithModal:()=>{new Yb(r,i,Ht=>{be(Ht,{preserveNavigationFocus:yt})},d.modals.tagSuggest.navigatePlaceholder,d.modals.tagSuggest.instructions.select,!1).open()},navigateToPropertyWithModal:()=>{let Xe=l?Q9(l.getPropertyTree()):[];new AF(r,Xe,vn=>{me(vn,{preserveNavigationFocus:yt})},d.modals.propertySuggest.navigatePlaceholder,d.modals.propertySuggest.instructions.navigate).open()},addTagToSelectedFiles:async()=>{if(!u){de(d.fileSystem.notifications.tagOperationsNotAvailable,{variant:"warning"});return}let Xe=je();if(Xe.length===0){de(d.fileSystem.notifications.noFilesSelected,{variant:"warning"});return}$b({app:r,plugin:i,tagOperations:u,files:Xe})},setPropertyOnSelectedFiles:async()=>{let Xe=je();if(Xe.length===0){de(d.fileSystem.notifications.noFilesSelected,{variant:"warning"});return}if(!Xe.every(Yt=>Yt.extension==="md")){de(d.fileSystem.notifications.propertiesRequireMarkdown,{variant:"warning"});return}let vn=sR(p,l).map(Yt=>({nodeId:Yt.nodeId,label:Yt.label,searchText:Yt.label,noteCount:0}));if(vn.length===0){de(d.fileSystem.notifications.propertyOperationsNotAvailable,{variant:"warning"});return}new AF(r,vn,async Yt=>{await a.applyPropertyNodeToFiles(Yt,Xe)},d.modals.propertySuggest.placeholder,d.modals.propertySuggest.instructions.select).open()},removeTagFromSelectedFiles:async()=>{if(!u){de(d.fileSystem.notifications.tagOperationsNotAvailable,{variant:"warning"});return}let Xe=je();if(Xe.length===0){de(d.fileSystem.notifications.noFilesSelected,{variant:"warning"});return}await oR({app:r,tagOperations:u,files:Xe})},removeAllTagsFromSelectedFiles:async()=>{if(!u){de(d.fileSystem.notifications.tagOperationsNotAvailable,{variant:"warning"});return}let Xe=je();if(Xe.length===0){de(d.fileSystem.notifications.noFilesSelected,{variant:"warning"});return}aR({app:r,tagOperations:u,files:Xe})},toggleSearch:()=>{le.current?.toggleSearch()},triggerCollapse:()=>{Zt(),window.requestAnimationFrame(()=>{Kn()})},triggerSelectedItemCollapse:()=>{let Xe=ie.current?.triggerSelectedItemCollapse()??!1;return Xe&&window.requestAnimationFrame(()=>{Kn()}),Xe}}},[an,Pe,N,a,c,O,ge,be,me,ct,h.singlePane,h.currentSinglePaneView,yt,o,r,p,i,s,l,Kt,gn,u,Zt,Kn,ie,X,L,V,A,_,E,D,R,M,qe]),o?Be.push("nn-mobile"):(Be.push("nn-desktop"),Be.push(...nR(S))),h.singlePane?(Be.push("nn-single-pane"),Be.push(h.currentSinglePaneView==="navigation"?"show-navigation":"show-files")):(Be.push("nn-dual-pane"),Be.push(`nn-orientation-${y}`)),h.singlePane&&B&&Be.push("nn-suppress-pane-transitions"),h.singlePane&&se&&Be.push("nn-pane-transitioning"),Ve&&Be.push("nn-resizing"),(0,Ut.useEffect)(()=>{if(re.current){let je=p.navItemHeight,rt=ol.defaultItemHeight,Et=ol.defaultFontSize,Xe=p.navItemHeightScaleText,Ht=re.current.closest(".notebook-navigator"),vn=oZ(Ht),it=Et;Xe&&(je<=rt-6?it=Et-2:je<=rt-4&&(it=Et-1));let Yt=je+ol.mobileHeightIncrement,fr=it+ol.mobileFontSizeIncrement,Do=it/vn,ba=fr/vn;re.current.style.setProperty("--nn-setting-nav-item-height",`${je}px`),re.current.style.setProperty("--nn-setting-nav-item-height-mobile",`${Yt}px`),re.current.style.setProperty("--nn-setting-nav-font-size",`${Do}px`),re.current.style.setProperty("--nn-setting-nav-font-size-mobile",`${ba}px`),re.current.style.setProperty("--nn-setting-nav-indent",`${p.navIndent}px`),re.current.style.setProperty("--nn-nav-root-spacing",`${p.rootLevelSpacing}px`);let nl=VJ(p.featureImageSize);re.current.style.setProperty("--nn-file-thumbnail-max-size",`${nl.listMaxSize}px`);let{titleLineHeight:Cc}=aS(o),Sa=eR({compactItemHeight:p.compactItemHeight,scaleText:p.compactItemHeightScaleText,titleLineHeight:Cc}),So=Sa.fontSize/vn,qa=Sa.mobileFontSize/vn;re.current.style.setProperty("--nn-file-padding-vertical-compact",`${Sa.desktopPadding}px`),re.current.style.setProperty("--nn-file-padding-vertical-compact-mobile",`${Sa.mobilePadding}px`),re.current.style.setProperty("--nn-compact-font-size",`${So}px`),re.current.style.setProperty("--nn-compact-font-size-mobile",`${qa}px`)}},[p.navItemHeight,p.navItemHeightScaleText,p.navIndent,p.rootLevelSpacing,p.featureImageSize,p.compactItemHeight,p.compactItemHeightScaleText,o]),(0,Ut.useEffect)(()=>{re.current&&re.current.style.setProperty("--nn-pane-transition-duration",`${p.paneTransitionDuration}ms`)},[re,p.paneTransitionDuration]);let Jt=(0,Ut.useMemo)(()=>h.singlePane?{width:"100%",height:"100%"}:y==="vertical"?{width:"100%",flexBasis:`${Rt}px`,minHeight:`${I.minSize}px`}:{width:`${Rt}px`,height:"100%"},[h.singlePane,y,Rt,I.minSize]),$n=h.singlePane&&p.calendarEnabled&&f.showCalendar&&p.calendarPlacement==="left-sidebar"&&p.calendarLeftPlacement==="below",{folderNavigationSource:Xn,folderDecorationModel:Zn,navRainbowState:Ir}=Pae(),Jn=Uae({app:r,settings:p,activeProfile:m,folderNavigationSource:Xn,fileData:Y,hydratedShortcuts:C,showHiddenItems:f.showHiddenItems,includeDescendantNotes:f.includeDescendantNotes}),er=Lae({app:r,settings:p,expansionState:g,showHiddenItems:f.showHiddenItems,includeDescendantNotes:f.includeDescendantNotes,sourceState:Jn,selectionScope:x,tagTreeService:s,propertyTreeService:l}),On=Nae({sourceState:Jn,treeSections:er,includeDescendantNotes:f.includeDescendantNotes,navRainbowState:Ir}),Ro=(0,Ut.useMemo)(()=>({tagTree:Jn.tagTreeForOrdering,rootTagOrderMap:Jn.rootTagOrderMap,tagComparator:Jn.tagComparator,rootPropertyNavigationOrderMap:Ym(er.resolvedRootPropertyKeys)}),[er.resolvedRootPropertyKeys,Jn.rootTagOrderMap,Jn.tagComparator,Jn.tagTreeForOrdering]);return(0,qp.jsx)("div",{className:"nn-scale-wrapper","data-ui-scale":F,style:k,children:(0,qp.jsxs)("div",{ref:Ke,className:Be.join(" "),"data-focus-pane":h.singlePane?h.currentSinglePaneView==="navigation"?"navigation":"files":h.focusedPane,"data-navigator-focused":o?"true":oe,"data-nav-count-leader-style":p.navCountLeaderStyle,tabIndex:-1,onKeyDown:()=>{},children:[p.checkForUpdatesOnStart&&(0,qp.jsx)(fae,{notice:ee,onDismiss:$}),(0,qp.jsx)(c1,{ref:ie,style:Jt,uiScale:w,rootContainerRef:re,navigationSourceState:Jn,navigationTreeSections:er,folderDecorationModel:Zn,navRainbowState:Ir,searchNavFilters:ce,onExecuteSearchShortcut:te,onNavigateToFolder:ge,onRevealTag:fe,onRevealProperty:we,onRevealFile:Pe,onRevealShortcutFile:bn,onModifySearchWithTag:ve,onModifySearchWithProperty:Ie,onModifySearchWithDateFilter:qe}),(0,qp.jsx)(wre,{ref:le,rootContainerRef:re,folderDecorationModel:Zn,fileItemPillDecorationModel:On,fileItemPillOrderModel:Ro,onSearchTokensChange:Fe,onNavigateToFolder:ge,onRevealTag:fe,onRevealProperty:we,resizeHandleProps:h.singlePane?void 0:Ae}),$n?(0,qp.jsx)("div",{className:"nn-single-pane-calendar",children:(0,qp.jsx)(Up,{onWeekCountChange:wn,onAddDateFilter:qe})}):null]})})}))});var Yae,bo,$ae,Xae=U(()=>{Yae=ue(ze()),bo=ue(Ge()),$ae=Yae.default.memo(function({paneSize:e,singlePane:n,searchActive:r,orientation:o}){let a=r?"nn-skeleton-list-pane nn-search-active":"nn-skeleton-list-pane";return n?(0,bo.jsxs)("div",{className:a,children:[(0,bo.jsx)("div",{className:"nn-skeleton-list-header"}),r&&(0,bo.jsx)("div",{className:"nn-skeleton-search-bar"}),(0,bo.jsx)("div",{className:"nn-skeleton-content"})]}):o==="vertical"?(0,bo.jsxs)(bo.Fragment,{children:[(0,bo.jsxs)("div",{className:"nn-skeleton-navigation-pane nn-skeleton-navigation-pane-vertical",style:{flexBasis:`${e}px`},children:[(0,bo.jsx)("div",{className:"nn-skeleton-nav-header"}),(0,bo.jsx)("div",{className:"nn-skeleton-content"})]}),(0,bo.jsxs)("div",{className:`${a} nn-skeleton-list-pane-vertical`,children:[(0,bo.jsx)("div",{className:"nn-skeleton-list-header"}),r&&(0,bo.jsx)("div",{className:"nn-skeleton-search-bar"}),(0,bo.jsx)("div",{className:"nn-skeleton-content"})]})]}):(0,bo.jsxs)(bo.Fragment,{children:[(0,bo.jsxs)("div",{className:"nn-skeleton-navigation-pane",style:{width:`${e}px`},children:[(0,bo.jsx)("div",{className:"nn-skeleton-nav-header"}),(0,bo.jsx)("div",{className:"nn-skeleton-content"})]}),(0,bo.jsxs)("div",{className:a,children:[(0,bo.jsx)("div",{className:"nn-skeleton-list-header"}),r&&(0,bo.jsx)("div",{className:"nn-skeleton-search-bar"}),(0,bo.jsx)("div",{className:"nn-skeleton-content"})]})]})})});var qg,zP,Qae,Zae=U(()=>{qg=ue(ze());Xi();pa();on();mn();qae();Xae();Jr();Jv();wH();NH();Tr();zP=ue(Ge()),Qae=qg.default.memo((0,qg.forwardRef)(function(e,n){let{isStorageReady:r}=xo(),o=Yn(),a=pt(),i=Xt(),{isMobile:s}=gt(),l=o.effectiveDualPaneOrientation,c=a.desktopBackground??"separate",{style:u,dataAttr:p}=cR({isMobile:s,desktopScale:a.desktopScale,mobileScale:a.mobileScale}),{defaultSize:m,minSize:g,storageKey:f}=Yd(l),[h,b]=(0,qg.useState)(m);if((0,qg.useEffect)(()=>{let v=ye.get(f);if(typeof v=="number"&&Number.isFinite(v)){b(Math.max(g,v));return}if(typeof v=="string"){let y=Number(v);if(!Number.isNaN(y)&&Number.isFinite(y)){b(Math.max(g,y));return}}b(m)},[m,g,f]),!r){let v=["nn-split-container"];return s?v.push("nn-mobile"):(v.push("nn-desktop"),v.push(...nR(c))),o.singlePane?(v.push("nn-single-pane"),v.push(o.currentSinglePaneView==="navigation"?"show-navigation":"show-files")):(v.push("nn-dual-pane"),v.push(`nn-orientation-${l}`)),(0,zP.jsx)("div",{className:"nn-scale-wrapper","data-ui-scale":p,style:u,children:(0,zP.jsx)("div",{className:v.join(" "),children:(0,zP.jsx)($ae,{paneSize:h,singlePane:o.singlePane,searchActive:i.searchActive,orientation:l})})})}return(0,zP.jsx)(Gae,{ref:n})}))});function $f(t){return activeDocument.createElementNS(mNe,t)}function hNe(t){let e=$f("defs");if(!e.instanceOf(SVGDefsElement))return;let n=$f("filter");if(!n.instanceOf(SVGFilterElement))return;let r=n;r.setAttribute("id",gNe),r.setAttribute("x","-20%"),r.setAttribute("y","-20%"),r.setAttribute("width","140%"),r.setAttribute("height","140%"),r.setAttribute("color-interpolation-filters","sRGB");let o=$f("feGaussianBlur");if(!o.instanceOf(SVGFEGaussianBlurElement))return;let a=o;a.setAttribute("in","SourceGraphic"),a.setAttribute("stdDeviation","8"),a.setAttribute("result","blurred");let i=$f("feTurbulence");if(!i.instanceOf(SVGFETurbulenceElement))return;let s=i;s.setAttribute("type","fractalNoise"),s.setAttribute("baseFrequency","0.015"),s.setAttribute("numOctaves","2"),s.setAttribute("seed","2"),s.setAttribute("result","noise");let l=$f("feDisplacementMap");if(!l.instanceOf(SVGFEDisplacementMapElement))return;let c=l;c.setAttribute("in","blurred"),c.setAttribute("in2","noise"),c.setAttribute("scale","25"),c.setAttribute("xChannelSelector","R"),c.setAttribute("yChannelSelector","G"),c.setAttribute("result","displaced");let u=$f("feGaussianBlur");if(!u.instanceOf(SVGFEGaussianBlurElement))return;let p=u;p.setAttribute("in","displaced"),p.setAttribute("stdDeviation","1.5"),r.append(a,s,c,p),e.append(r),t.append(e)}function eie(){if(activeDocument.getElementById(Jae))return;let t=$f("svg");if(!t.instanceOf(SVGSVGElement))return;let e=t;e.setAttribute("id",Jae),e.setAttribute("aria-hidden","true"),e.setAttribute("focusable","false"),e.classList.add("nn-svg-filters"),hNe(e),activeDocument.body.append(e)}var mNe,Jae,gNe,tie=U(()=>{mNe="http://www.w3.org/2000/svg",Jae="notebook-navigator-svg-filters",gNe="notebook-navigator-frosted"});var aie={};In(aie,{IOS_FLOATING_TOOLBARS_CLASS:()=>nw,NotebookNavigatorView:()=>BP,setupNotebookNavigatorViewContainer:()=>KD,teardownNotebookNavigatorViewContainer:()=>WD});function KD(t,e){t.empty(),t.classList.add("notebook-navigator");let n=Yp.Platform.isMobile;return n&&(t.classList.add("notebook-navigator-mobile"),Yp.Platform.isAndroidApp?(t.classList.add("notebook-navigator-android"),rZ(t)):Yp.Platform.isIosApp&&(t.classList.add("notebook-navigator-ios"),(e?.useFloatingToolbars??!0)&&t.classList.add(nw))),eie(),{isMobile:n}}function WD(t){bH(t),t.classList.remove("notebook-navigator"),t.classList.remove("notebook-navigator-mobile"),t.classList.remove("notebook-navigator-android"),t.classList.remove("notebook-navigator-ios"),t.classList.remove(nw),t.empty()}var rie,oie,Yp,Ed,nw,nie,BP,jD=U(()=>{rie=ue(ze()),oie=ue(i_()),Yp=require("obsidian");Zae();Qs();Ur();mn();on();Xi();pa();xg();qV();Ee();Ru();Ue();Tr();SH();tie();Ed=ue(Ge()),nw="notebook-navigator-ios-floating-toolbars",nie=0;BP=class extends Yp.ItemView{constructor(n,r){super(n);this.componentHandle=null;this.root=null;this.viewContainer=null;this.readyWaiters=new Set;this.wasMobileContainerVisible=!1;this.setComponentHandle=n=>{this.componentHandle=n,n&&this.resolveReadyWaiters(!0)};this.plugin=r,nie+=1,this.settingsUpdateListenerId=`notebook-navigator-view-${nie}`}resolveReadyWaiters(n){if(this.readyWaiters.size!==0){for(let r of this.readyWaiters)r(n);this.readyWaiters.clear()}}updatePlatformClasses(){let n=this.viewContainer;if(!n)return;let r=Yp.Platform.isIosApp&&this.plugin.settings.useFloatingToolbars;n.classList.toggle(nw,r)}getViewType(){return wa}getDisplayText(){return d.plugin.viewName}getIcon(){return vi}async onOpen(){let n=this.containerEl.children[1];if(!n.instanceOf(HTMLElement))return;this.componentHandle=null,this.viewContainer=n,this.wasMobileContainerVisible=!1;let{isMobile:r}=KD(n,{useFloatingToolbars:this.plugin.settings.useFloatingToolbars});if(this.plugin.registerSettingsUpdateListener(this.settingsUpdateListenerId,()=>{this.updatePlatformClasses()}),this.updatePlatformClasses(),this.root=(0,oie.createRoot)(n),this.root.render((0,Ed.jsx)(rie.default.StrictMode,{children:(0,Ed.jsx)(BM,{plugin:this.plugin,children:(0,Ed.jsx)(x7,{plugin:this.plugin,children:(0,Ed.jsx)(Cre,{plugin:this.plugin,children:(0,Ed.jsx)(DM,{plugin:this.plugin,children:(0,Ed.jsx)(m9,{children:(0,Ed.jsx)(D7,{app:this.plugin.app,api:this.plugin.api,children:(0,Ed.jsx)(K7,{children:(0,Ed.jsx)(l9,{app:this.plugin.app,api:this.plugin.api,tagTreeService:this.plugin.tagTreeService,propertyTreeService:this.plugin.propertyTreeService,onFileRename:(o,a)=>this.plugin.registerFileRenameListener(o,a),onFileRenameUnsubscribe:o=>this.plugin.unregisterFileRenameListener(o),isMobile:r,children:(0,Ed.jsx)(B7,{isMobile:r,children:(0,Ed.jsx)(Qae,{ref:this.setComponentHandle})})})})})})})})})})})),Yp.Platform.isAndroidApp){let o=()=>n.querySelector(".nn-split-container.nn-mobile")instanceof HTMLElement?(aZ(n),!0):!1,a=()=>!!o();if(!a()){let i=new MutationObserver(()=>{a()&&i.disconnect()});i.observe(n,{childList:!0,subtree:!0}),window.requestAnimationFrame(()=>{a()&&i.disconnect()}),window.setTimeout(()=>{if(a()){i.disconnect();return}window.setTimeout(()=>{if(a()){i.disconnect();return}window.setTimeout(()=>{a(),i.disconnect()},500)},200)},100),window.setTimeout(()=>i.disconnect(),500)}}}async onClose(){let n=this.containerEl.children[1];n.instanceOf(HTMLElement)&&(this.plugin.unregisterSettingsUpdateListener(this.settingsUpdateListenerId),this.viewContainer=null,this.wasMobileContainerVisible=!1,this.root?.unmount(),WD(n),this.componentHandle=null,this.resolveReadyWaiters(!1),this.root=null)}async whenReady(){return this.componentHandle?!0:this.root?new Promise(n=>{this.readyWaiters.add(n)}):!1}stopContentProcessing(){this.componentHandle?.stopContentProcessing()}async rebuildCache(){let n=this.componentHandle;if(!n)throw new Error("Navigator not ready");await n.rebuildCache()}navigateToFile(n,r){return this.componentHandle?.navigateToFile(n,r)??!1}navigateToFolder(n,r){return this.componentHandle?.navigateToFolder(n,r)??!1}navigateToTag(n,r){return this.componentHandle?.navigateToTag(n,r)??null}navigateToProperty(n,r){return this.componentHandle?.navigateToProperty(n,r)??null}revealFileInNearestFolder(n,r){this.componentHandle?.revealFileInNearestFolder(n,r)}focusVisiblePane(){this.componentHandle?.focusVisiblePane()}focusNavigationPane(){this.componentHandle?.focusNavigationPane()}isDualPaneAutoFallbackActive(){return this.componentHandle?.isDualPaneAutoFallbackActive()??!1}deleteSelectedFiles(){this.componentHandle?.deleteSelectedFiles()}async mergeSelectedFiles(){await this.componentHandle?.mergeSelectedFiles()}async createNoteInSelectedFolder(n=!1){await this.componentHandle?.createNoteInSelectedFolder(n)}async createNoteFromTemplateInSelectedFolder(){await this.componentHandle?.createNoteFromTemplateInSelectedFolder()}async moveSelectedFiles(){await this.componentHandle?.moveSelectedFiles()}async navigateBack(){return await this.componentHandle?.navigateBack()??!1}async navigateForward(){return await this.componentHandle?.navigateForward()??!1}async selectNextFileInCurrentView(){return await this.componentHandle?.selectNextFile()??!1}async selectPreviousFileInCurrentView(){return await this.componentHandle?.selectPreviousFile()??!1}async addShortcutForCurrentSelection(){await this.componentHandle?.addShortcutForCurrentSelection()}async openShortcutByNumber(n){return await this.componentHandle?.openShortcutByNumber(n)??!1}async navigateToFolderWithModal(){this.componentHandle?.navigateToFolderWithModal()}async navigateToTagWithModal(){this.componentHandle?.navigateToTagWithModal()}async navigateToPropertyWithModal(){this.componentHandle?.navigateToPropertyWithModal()}addDateFilterToSearch(n){this.componentHandle?.addDateFilterToSearch(n)}async addTagToSelectedFiles(){await this.componentHandle?.addTagToSelectedFiles()}async setPropertyOnSelectedFiles(){await this.componentHandle?.setPropertyOnSelectedFiles()}async removeTagFromSelectedFiles(){await this.componentHandle?.removeTagFromSelectedFiles()}async removeAllTagsFromSelectedFiles(){await this.componentHandle?.removeAllTagsFromSelectedFiles()}toggleSearch(){this.componentHandle?.toggleSearch()}triggerCollapse(){this.componentHandle?.triggerCollapse()}triggerSelectedItemCollapse(){return this.componentHandle?.triggerSelectedItemCollapse()??!1}onResize(){if(!Yp.Platform.isMobile)return;let n=this.containerEl.getBoundingClientRect();if(!(n.width>0&&n.height>0)){this.wasMobileContainerVisible=!1;return}this.wasMobileContainerVisible||(this.wasMobileContainerVisible=!0,window.dispatchEvent(new CustomEvent("notebook-navigator-visible")))}}});function sie(){let{app:t,plugin:e}=gt(),n=pt(),r=(0,ya.useRef)(!0),o=(0,ya.useRef)(n);o.current=n;let a=(0,ya.useRef)(n),i=(0,ya.useRef)(null),s=(0,ya.useRef)([]),l=(0,ya.useRef)(new Set),[c,u]=(0,ya.useState)(()=>Ig()),p=(0,ya.useCallback)(()=>{if(!i.current){let b=new Db(t),v=new Rb;v.registerProvider(new Ob(t,b)),i.current=v}return i.current},[t]),m=(0,ya.useCallback)(b=>{if(c||Ig()||b.length===0)return;let v=b.filter(y=>y.extension==="md");v.length!==0&&p().queueFilesForAllProviders(v,o.current,{include:["markdownPipeline"]})},[p,c]);(0,ya.useEffect)(()=>(r.current=!0,()=>{r.current=!1,i.current?.stopAllProcessing(),i.current=null}),[]),(0,ya.useEffect)(()=>R7(u),[]),(0,ya.useEffect)(()=>{if(c){i.current?.stopAllProcessing();return}m(s.current)},[m,c]),(0,ya.useEffect)(()=>{let b=t.vault.on("modify",v=>{c||!(v instanceof iie.TFile)||v.extension!=="md"||l.current.has(v.path)&&m([v])});return()=>{t.vault.offref(b)}},[t.vault,m,c]),(0,ya.useEffect)(()=>{let b=a.current;if(a.current=n,b===n||c||Ig())return;let{shouldClearFeatureImage:v,shouldClearPreview:y}=CM({oldSettings:b,newSettings:n}),S=b.showFeatureImage!==n.showFeatureImage&&n.showFeatureImage;if(!v&&!y&&!S)return;let w=new Map;s.current.forEach(P=>{P.extension==="md"&&w.set(P.path,P)});let k=Array.from(w.values());if(k.length===0)return;let F=i.current;F?.stopAllProcessing(),Q(async()=>{if(await F?.getProvider("markdownPipeline")?.waitForIdle(),!r.current||Ig())return;let P=kt(),T=k.map(I=>I.path);y&&await P.batchClearFileContent(T,"preview"),v&&await P.batchClearFileContent(T,"featureImage"),!(!r.current||Ig())&&m(k)})},[m,n,c]);let g=(0,ya.useCallback)(b=>{Q(async()=>{let v=e.getNavigatorLeaves(),y=!0;v.length===0&&(await e.activateView(),v=e.getNavigatorLeaves(),y=!1);let S=v[0];if(!S)return;let w=S.view;w instanceof BP&&(w.addDateFilterToSearch(b),y&&await t.workspace.revealLeaf(S))})},[t.workspace,e]),f=(0,ya.useCallback)(b=>{s.current=b,l.current=new Set(b.map(v=>v.path)),m(b)},[m]),h=(0,ya.useCallback)(b=>{Q(async()=>{c||!n.showFeatureImage||b.file.extension!=="md"||(await kt().clearFileContent(b.file.path,"featureImage"),!r.current||Ig())||m([b.file])})},[m,n.showFeatureImage,c]);return(0,GD.jsx)("div",{className:"nn-calendar-right-sidebar nn-list-pane",children:(0,GD.jsx)("div",{className:"nn-calendar-right-sidebar-content",children:(0,GD.jsx)(Up,{weeksToShowOverride:6,onAddDateFilter:g,onMissingFeatureImage:h,onVisibleCalendarNoteFilesChange:f,isRightSidebar:!0})})})}var ya,iie,GD,lie=U(()=>{ya=ue(ze()),iie=require("obsidian");mn();on();Xi();ot();zn();x_();E_();B_();jD();lP();GD=ue(Ge())});var pie={};In(pie,{NotebookNavigatorCalendarView:()=>m1});var cie,uie,qD,_P,die,m1,mie=U(()=>{cie=ue(ze()),uie=ue(i_()),qD=require("obsidian");on();mn();lie();Ru();Ee();Ue();jD();_P=ue(Ge()),die=0,m1=class extends qD.ItemView{constructor(n,r){super(n);this.root=null;this.viewContainer=null;this.plugin=r,die+=1,this.settingsUpdateListenerId=`notebook-navigator-calendar-view-${die}`}updatePlatformClasses(){let n=this.viewContainer;if(!n)return;let r=qD.Platform.isIosApp&&this.plugin.settings.useFloatingToolbars;n.classList.toggle(nw,r)}getViewType(){return Au}getDisplayText(){return d.plugin.calendarViewName}getIcon(){return vi}async onOpen(){if(!this.plugin.settings.calendarEnabled){this.leaf.detach();return}let n=this.containerEl.children[1];n.instanceOf(HTMLElement)&&(this.viewContainer=n,KD(n,{useFloatingToolbars:this.plugin.settings.useFloatingToolbars}),this.plugin.registerSettingsUpdateListener(this.settingsUpdateListenerId,()=>{this.updatePlatformClasses()}),this.updatePlatformClasses(),this.root=(0,uie.createRoot)(n),this.root.render((0,_P.jsx)(cie.default.StrictMode,{children:(0,_P.jsx)(BM,{plugin:this.plugin,children:(0,_P.jsx)(DM,{plugin:this.plugin,children:(0,_P.jsx)(sie,{})})})})))}async onClose(){this.plugin.unregisterSettingsUpdateListener(this.settingsUpdateListenerId),this.viewContainer=null;let n=this.containerEl.children[1];n.instanceOf(HTMLElement)&&(this.root?.unmount(),WD(n),this.root=null)}stopContentProcessing(){this.root?.unmount(),this.root=null}}});var hie={};In(hie,{FolderNoteSidebarPlaceholderView:()=>g1});var gie,g1,fie=U(()=>{gie=require("obsidian");Ru();Ee();Ue();g1=class extends gie.ItemView{constructor(e){super(e)}getViewType(){return ih}getDisplayText(){return d.plugin.folderNoteSidebarViewName}getIcon(){return vi}async onOpen(){let e=this.containerEl.children[1];e.instanceOf(HTMLElement)&&e.empty()}}});var yie={};In(yie,{WelcomeModal:()=>h1});var vie,h1,bie=U(()=>{vie=require("obsidian");jl();Ee();Ql();h1=class extends vie.Modal{constructor(){super(...arguments);this.domDisposers=[];this.openVideoButton=null}onOpen(){let n=d.plugin.viewName,r=hU();this.modalEl.addClass("nn-welcome-modal"),this.titleEl.setText(d.modals.welcome.title.replace("{pluginName}",n)),this.contentEl.empty(),this.attachCloseButtonHandler();let o=this.contentEl.createDiv({cls:"nn-welcome-body"});[d.modals.welcome.introText,d.modals.welcome.continueText,d.modals.welcome.thanksText].forEach(p=>{o.createEl("p",{text:p,cls:"nn-welcome-text"})}),o.createEl("a",{cls:"nn-welcome-thumbnail-link",attr:{href:r,target:"_blank",rel:"noopener noreferrer"}}).createDiv({cls:"nn-welcome-thumbnail-frame"}).createEl("img",{cls:"nn-welcome-thumbnail",attr:{src:fU,alt:d.modals.welcome.videoAlt,width:"1920",height:"1080"}});let l=this.contentEl.createDiv({cls:"nn-welcome-buttons"}),c=l.createEl("button",{text:d.modals.welcome.openVideoButton,cls:"mod-cta"});c.setAttr("type","button"),this.domDisposers.push(St(c,"click",()=>{window.open(r),this.close()})),this.openVideoButton=c;let u=l.createEl("button",{text:d.modals.welcome.closeButton});u.setAttr("type","button"),this.domDisposers.push(St(u,"click",()=>{this.close()}))}open(){super.open(),window.requestAnimationFrame(()=>{this.openVideoButton?.focus()})}onClose(){this.contentEl.empty(),this.modalEl.removeClass("nn-welcome-modal"),this.openVideoButton=null,this.domDisposers.length&&(this.domDisposers.forEach(n=>{try{n()}catch(r){console.error("Error disposing welcome modal listener:",r)}}),this.domDisposers=[])}attachCloseButtonHandler(){let n=this.modalEl.querySelector(".modal-close-button");if(!n)return;let r=o=>{o.preventDefault(),this.close()};this.domDisposers.push(St(n,"click",r)),this.domDisposers.push(St(n,"pointerdown",r))}}});function HP(t,e){return t instanceof Error?t:new Error(e)}function Sie(t){if(!t||typeof t!="object")return!1;let e=t;return typeof e.id=="string"&&typeof e.version=="string"&&typeof e.mimeType=="string"&&e.data instanceof ArrayBuffer&&e.metadataFormat==="json"&&typeof e.metadata=="string"&&typeof e.updated=="number"}var YD,wie=U(()=>{YD=class t{constructor(e){this.db=null;this.initPromise=null;let n=e.appId||"default";this.dbName=`notebooknavigator/icons/${n}`}static{this.STORE_NAME="providers"}async init(){if(!this.db)return this.initPromise?this.initPromise:(this.initPromise=this.openDatabase().catch(e=>{throw this.initPromise=null,e}),this.initPromise)}close(){this.db&&(this.db.close(),this.db=null)}async get(e){return await this.init(),new Promise((n,r)=>{if(!this.db){r(new Error("Icon asset database not initialized"));return}let i=this.db.transaction([t.STORE_NAME],"readonly").objectStore(t.STORE_NAME).get(e);i.onsuccess=()=>{let s=i.result;if(s==null){n(null);return}if(Sie(s)){n(s);return}n(null)},i.onerror=()=>{r(HP(i.error,"Failed to fetch icon asset"))}})}async put(e){return await this.init(),new Promise((n,r)=>{if(!this.db){r(new Error("Icon asset database not initialized"));return}let i=this.db.transaction([t.STORE_NAME],"readwrite").objectStore(t.STORE_NAME).put(e);i.onsuccess=()=>n(),i.onerror=()=>{r(HP(i.error,"Failed to store icon asset"))}})}async delete(e){return await this.init(),new Promise((n,r)=>{if(!this.db){r(new Error("Icon asset database not initialized"));return}let i=this.db.transaction([t.STORE_NAME],"readwrite").objectStore(t.STORE_NAME).delete(e);i.onsuccess=()=>n(),i.onerror=()=>{r(HP(i.error,"Failed to delete icon asset"))}})}async getAll(){return await this.init(),new Promise((e,n)=>{if(!this.db){n(new Error("Icon asset database not initialized"));return}let a=this.db.transaction([t.STORE_NAME],"readonly").objectStore(t.STORE_NAME).getAll();a.onsuccess=()=>{let i=a.result;if(!Array.isArray(i)){e([]);return}let s=[];for(let l of i)Sie(l)&&s.push(l);e(s)},a.onerror=()=>{n(HP(a.error,"Failed to fetch icon assets"))}})}async openDatabase(){return new Promise((e,n)=>{let r=indexedDB.open(this.dbName,1);r.onupgradeneeded=o=>{let a=o.target.result;a.objectStoreNames.contains(t.STORE_NAME)||a.createObjectStore(t.STORE_NAME,{keyPath:"id"})},r.onsuccess=()=>{this.db=r.result,this.db&&(this.db.onversionchange=()=>{try{this.db?.close()}catch{}this.db=null}),e()},r.onerror=()=>{n(HP(r.error,"Failed to open icon asset database"))},r.onblocked=()=>{n(new Error("Icon asset database open blocked"))}})}}});var tl,Xf=U(()=>{Sy();tl=class{constructor(e){this.fontFace=null;this.fontLoadPromise=null;this.iconDefinitions=[];this.iconLookup=new Map;this.fontFamily=e.fontFamily,this.version=e.record?.version??null,this.parseMetadata(e.record.metadata),this.ensureFontLoaded(e.record.data)}dispose(){if(this.fontFace){try{this.removeFontFromDocument(this.fontFace)}catch(e){console.error(`${this.getLogPrefix()} Failed to delete font face`,e)}this.fontFace=null}}isAvailable(){return this.iconDefinitions.length>0}render(e,n,r){let o=this.iconLookup.get(n);return _m(e),o?(e.addClass("nn-iconfont"),e.addClass(this.getCssClass()),e.setText(this.unicodeToGlyph(o.unicode)),r?(e.style.fontSize=`${r}px`,e.style.width=`${r}px`,e.style.height=`${r}px`,e.style.lineHeight=`${r}px`):(e.style.removeProperty("font-size"),e.style.removeProperty("width"),e.style.removeProperty("height"),e.style.removeProperty("line-height")),this.fontLoadPromise?.catch(()=>{}),"rendered"):"not-found"}search(e){let n=e.trim().toLowerCase();if(!n)return[];let r=[];for(let o of this.iconDefinitions){let s=(this.iconLookup.get(o.id)?.keywords??[]).map(p=>p.toLowerCase()),l=o.displayName?.toLowerCase()??"",c=o.id.toLowerCase(),u=this.resolveMatchScore(n,c,l,s);u!==null&&r.push({icon:o,score:u,name:l||c,id:o.id})}return r.sort((o,a)=>{if(o.score!==a.score)return o.score-a.score;let i=o.name.localeCompare(a.name);return i!==0?i:o.id.localeCompare(a.id)}),r.map(o=>o.icon)}getAll(){return this.iconDefinitions}getVersion(){return this.version}setIconData(e,n){this.iconDefinitions=e,this.iconLookup=n}clearIconData(){this.iconDefinitions=[],this.iconLookup.clear()}logParseError(e,n){console.error(`${this.getLogPrefix()} ${e}`,n)}ensureFontLoaded(e){if(typeof document>"u"||typeof FontFace>"u")return;let n=new FontFace(this.fontFamily,e);this.fontLoadPromise=n.load().then(r=>(this.addFontToDocument(r),this.fontFace=r,r)).catch(r=>{throw console.error(`${this.getLogPrefix()} Failed to load font`,r),r})}unicodeToGlyph(e){try{return String.fromCodePoint(parseInt(e,16))}catch{return""}}addFontToDocument(e){if(typeof document>"u")return;activeDocument.fonts.add?.(e)}removeFontFromDocument(e){if(typeof document>"u")return;activeDocument.fonts.delete?.(e)}resolveMatchScore(e,n,r,o){return n===e?0:r&&r===e?1:o.includes(e)?2:n.startsWith(e)?3:r&&r.startsWith(e)?4:o.some(a=>a.startsWith(e))?5:n.includes(e)?6:r&&r.includes(e)?7:o.some(a=>a.includes(e))?8:null}getLogPrefix(){return`[${this.name}]`}}});var $D,Tie=U(()=>{Xf();$D=class extends tl{constructor(n){super(n);this.id="fontawesome-solid";this.name="Font Awesome"}getCssClass(){return"nn-iconfont-fa-solid"}parseMetadata(n){try{let r=JSON.parse(n),o=[],a=new Map;for(let[i,s]of Object.entries(r)){if(!s||!s.unicode||Array.isArray(s.styles)&&!s.styles.includes("solid"))continue;let l=new Set;l.add(i),s.search?.terms?.forEach(u=>l.add(u.toLowerCase())),s.aliases?.names?.forEach(u=>l.add(u.toLowerCase()));let c=s.label||this.formatDisplayName(i);o.push({id:i,displayName:c,keywords:Array.from(l)}),a.set(i,{unicode:s.unicode,keywords:Array.from(l)})}this.setIconData(o,a)}catch(r){this.logParseError("Failed to parse metadata",r),this.clearIconData()}}formatDisplayName(n){return n.split("-").map(r=>r.charAt(0).toUpperCase()+r.slice(1)).join(" ")}}});var XD,kie=U(()=>{Xf();XD=class extends tl{constructor(n){super(n);this.id="rpg-awesome";this.name="RPG Awesome"}getCssClass(){return"nn-iconfont-rpg-awesome"}parseMetadata(n){try{let r=JSON.parse(n),o=[],a=new Map;Array.isArray(r)?r.forEach(i=>this.addEntry(i,o,a)):Object.entries(r).forEach(([i,s])=>{if(typeof s=="string"){this.addEntry({id:i,unicode:s},o,a);return}let l=s;this.addEntry({id:l.id??i,name:l.name,unicode:l.unicode||"",keywords:l.keywords,categories:l.categories},o,a)}),this.setIconData(o,a)}catch(r){this.logParseError("Failed to parse metadata",r),this.clearIconData()}}addEntry(n,r,o){if(!n||!n.id||!n.unicode)return;let a=new Set;a.add(n.id),n.keywords?.forEach(s=>a.add(s.toLowerCase())),n.categories?.forEach(s=>a.add(s.toLowerCase()));let i=n.name||this.formatDisplayName(n.id);r.push({id:n.id,displayName:i,keywords:Array.from(a)}),o.set(n.id,{unicode:n.unicode,keywords:Array.from(a)})}formatDisplayName(n){return n.replace(/^ra-/,"").split("-").map(r=>r.charAt(0).toUpperCase()+r.slice(1)).join(" ")}}});var QD,Fie=U(()=>{Xf();QD=class extends tl{constructor(n){super(n);this.id="bootstrap-icons";this.name="Bootstrap Icons"}getCssClass(){return"nn-iconfont-bootstrap-icons"}parseMetadata(n){try{let r=JSON.parse(n),o=[],a=new Map;Object.entries(r).forEach(([i,s])=>{let l=this.normalizeUnicodeValue(s);if(!l)return;let c=new Set;c.add(i),i.split("-").forEach(p=>{p&&c.add(p.toLowerCase())});let u=this.formatDisplayName(i);o.push({id:i,displayName:u,keywords:Array.from(c)}),a.set(i,{unicode:l,keywords:Array.from(c)})}),this.setIconData(o,a)}catch(r){this.logParseError("Failed to parse metadata",r),this.clearIconData()}}normalizeUnicodeValue(n){if(typeof n=="number")return!Number.isFinite(n)||n<=0?null:n.toString(16);let r=n.trim();if(!r)return null;if(/^[0-9]+$/.test(r)){let o=parseInt(r,10);return Number.isNaN(o)||o<=0?null:o.toString(16)}return/^0x[0-9a-f]+$/i.test(r)?r.slice(2).toLowerCase():/^[0-9a-f]+$/i.test(r)?r.toLowerCase():null}formatDisplayName(n){return n.split("-").map(r=>r.charAt(0).toUpperCase()+r.slice(1)).join(" ")}}});var ZD,Pie=U(()=>{Xf();ZD=class extends tl{constructor(n){super(n);this.id="material-icons";this.name="Material Icons"}getCssClass(){return"nn-iconfont-material-icons"}parseMetadata(n){try{let r=JSON.parse(n),o=[],a=new Map;Object.entries(r).forEach(([i,s])=>{if(!s||!s.unicode)return;let l=new Set;l.add(i),s.search?.forEach(u=>l.add(u.toLowerCase())),i.split(/[-_]/g).forEach(u=>{u&&l.add(u.toLowerCase())}),s.label&&l.add(s.label.toLowerCase());let c=s.label||this.formatDisplayName(i);o.push({id:i,displayName:c,keywords:Array.from(l)}),a.set(i,{unicode:s.unicode,keywords:Array.from(l)})}),this.setIconData(o,a)}catch(r){this.logParseError("Failed to parse metadata",r),this.clearIconData()}}formatDisplayName(n){return n.split(/[-_]/g).map(r=>r.charAt(0).toUpperCase()+r.slice(1)).join(" ")}}});var JD,Cie=U(()=>{Xf();JD=class extends tl{constructor(n){super(n);this.id="phosphor";this.name="Phosphor Icons"}getCssClass(){return"nn-iconfont-phosphor"}parseMetadata(n){try{let r=JSON.parse(n),o=[],a=new Map;r.forEach(i=>{if(!i||!i.id||!i.unicode)return;let s=new Set;s.add(i.id),i.keywords?.forEach(c=>s.add(c.toLowerCase())),i.categories?.forEach(c=>s.add(c.toLowerCase()));let l=i.name||this.formatDisplayName(i.id);o.push({id:i.id,displayName:l,keywords:Array.from(s)}),a.set(i.id,{unicode:i.unicode,keywords:Array.from(s)})}),this.setIconData(o,a)}catch(r){this.logParseError("Failed to parse metadata",r),this.clearIconData()}}formatDisplayName(n){return n.replace(/^ph-/,"").split("-").map(r=>r.charAt(0).toUpperCase()+r.slice(1)).join(" ")}}});var eA,Nie=U(()=>{Xf();eA=class extends tl{constructor(n){super(n);this.id="simple-icons";this.name="Simple Icons"}getCssClass(){return"nn-iconfont-simple-icons"}parseMetadata(n){try{let r=JSON.parse(n),o=[],a=new Map;Object.entries(r).forEach(([i,s])=>{if(!this.isValidRecord(s))return;let l=s.unicode.trim();if(!l)return;let c=new Set;c.add(i);let u=this.normalizeLabel(s.label);u&&c.add(u.toLowerCase()),this.normalizeSearchTerms(s.search).forEach(g=>{c.add(g.toLowerCase())}),i.split("-").forEach(g=>{let f=g.trim().toLowerCase();f&&c.add(f)});let p=u||this.formatDisplayName(i),m=Array.from(c);o.push({id:i,displayName:p,keywords:m}),a.set(i,{unicode:l,keywords:m})}),this.setIconData(o,a)}catch(r){this.logParseError("Failed to parse metadata",r),this.clearIconData()}}formatDisplayName(n){return n.split("-").map(r=>r.charAt(0).toUpperCase()+r.slice(1)).join(" ")}isValidRecord(n){return n?typeof n.unicode=="string":!1}normalizeLabel(n){if(n==null||typeof n!="string")return null;let r=n.trim();return r||null}normalizeSearchTerms(n){if(n==null)return[];if(typeof n=="string"||typeof n=="number"||typeof n=="boolean"){let r=String(n).trim();return r?[r]:[]}return Array.isArray(n)?this.collectKeywordsFromArray(n):typeof n=="object"?this.collectKeywordsFromObject(n):[]}collectKeywordsFromArray(n){let r=[];return n.forEach(o=>{if(Array.isArray(o)){o.forEach(i=>{let s=this.normalizePrimitiveValue(i);s&&r.push(s)});return}let a=this.normalizePrimitiveValue(o);a&&r.push(a)}),r}collectKeywordsFromObject(n){let r=[];return Object.values(n).forEach(o=>{if(Array.isArray(o)){o.forEach(i=>{let s=this.normalizePrimitiveValue(i);s&&r.push(s)});return}let a=this.normalizePrimitiveValue(o);a&&r.push(a)}),r}normalizePrimitiveValue(n){return n===null?null:String(n).trim()||null}}});var Iie,xie=U(()=>{Iie={"bootstrap-icons":{version:"1.13.1",font:"https://raw.githubusercontent.com/johansan/notebook-navigator/main/icon-assets/bootstrap-icons/bootstrap-icons.woff2",metadata:"https://raw.githubusercontent.com/johansan/notebook-navigator/main/icon-assets/bootstrap-icons/bootstrap-icons.json",fontMimeType:"font/woff2",metadataFormat:"json"},"fontawesome-solid":{version:"7.2.0",font:"https://raw.githubusercontent.com/johansan/notebook-navigator/main/icon-assets/fontawesome/fa-solid-900.woff2",metadata:"https://raw.githubusercontent.com/johansan/notebook-navigator/main/icon-assets/fontawesome/icons-solid.json",fontMimeType:"font/woff2",metadataFormat:"json"},"material-icons":{version:"145",font:"https://raw.githubusercontent.com/johansan/notebook-navigator/main/icon-assets/material-icons/MaterialIcons-Regular.woff2",metadata:"https://raw.githubusercontent.com/johansan/notebook-navigator/main/icon-assets/material-icons/icons.json",fontMimeType:"font/woff2",metadataFormat:"json"},phosphor:{version:"2.1.2",font:"https://raw.githubusercontent.com/johansan/notebook-navigator/main/icon-assets/phosphor/phosphor-regular.woff2",metadata:"https://raw.githubusercontent.com/johansan/notebook-navigator/main/icon-assets/phosphor/icons.json",fontMimeType:"font/woff2",metadataFormat:"json"},"rpg-awesome":{version:"0.2.0",font:"https://raw.githubusercontent.com/johansan/notebook-navigator/main/icon-assets/rpg-awesome/rpgawesome-webfont.woff",metadata:"https://raw.githubusercontent.com/johansan/notebook-navigator/main/icon-assets/rpg-awesome/icons.json",fontMimeType:"font/woff",metadataFormat:"json"},"simple-icons":{version:"16.22.0",font:"https://raw.githubusercontent.com/johansan/notebook-navigator/main/icon-assets/simple-icons/SimpleIcons.woff2",metadata:"https://raw.githubusercontent.com/johansan/notebook-navigator/main/icon-assets/simple-icons/simple-icons.json",fontMimeType:"font/woff2",metadataFormat:"json"}}});var Eie={};In(Eie,{ExternalIconProviderController:()=>f1});var tA,f1,Mie=U(()=>{tA=require("obsidian");wie();Mh();Tie();kie();Fie();Pie();Cie();Nie();Ee();Kw();xie();Fn();Ot();f1=class{constructor(e,n,r){this.downloadChain=Promise.resolve();this.downloadTasks=new Map;this.installedProviders=new Set;this.providerVersions=new Map;this.activeProviders=new Map;this.failedActivationNoticeProviders=new Set;this.removalNoticeProviders=new Set;this.recoveryTasks=new Map;this.recoveryAttempts=new Map;this.updateNoticeProviders=new Set;this.isInitialized=!1;this.iconService=n,this.settingsProvider=r,this.database=new YD(e)}async initialize(){if(this.isInitialized)return;await this.database.init(),(await this.database.getAll()).forEach(n=>{let r=n.id;Bs[r]&&(this.installedProviders.add(r),this.providerVersions.set(r,n.version))}),await this.removeDisabledProviders(),this.isInitialized=!0,await this.applyBundledUpdates()}dispose(){this.activeProviders.forEach(e=>{e.provider.dispose?.()}),this.activeProviders.clear(),this.database.close(),this.isInitialized=!1}isProviderInstalled(e){return this.installedProviders.has(e)}isProviderDownloading(e){return this.downloadTasks.has(e)}getProviderVersion(e){return this.providerVersions.get(e)??null}async installProvider(e,n={}){await this.ensureInitialized();let r=this.downloadTasks.get(e);if(r)return r;let o=this.enqueue(async()=>{let a=this.requireProviderConfig(e),i=n.manifest??await this.fetchManifest(a),s=await this.downloadAssets(a,i);await this.database.put(s),this.installedProviders.add(e),this.providerVersions.set(e,s.version),this.removalNoticeProviders.delete(e),n.persistSetting!==!1&&this.markProviderSetting(e,!0);let l=await this.activateIfEnabled(a,s);l&&!n.suppressDownloadNotice&&this.showDownloadNotice(a),n.persistSetting!==!1?await this.settingsProvider.saveSettingsAndUpdate():l&&this.settingsProvider.notifySettingsUpdate()});this.downloadTasks.set(e,o);try{await o}finally{this.downloadTasks.delete(e)}}async applyBundledUpdates(){let e=[];Object.entries(Iie).forEach(([n,r])=>{if(!this.installedProviders.has(n))return;let o=this.providerVersions.get(n);if(!o||_d(r.version,o)<=0)return;let a=this.requireProviderConfig(n);e.push(this.installProvider(n,{persistSetting:!1,manifest:r,suppressDownloadNotice:!0}).then(async()=>{let i=this.providerVersions.get(n);!i||_d(i,o)<=0||this.updateNoticeProviders.has(n)||(this.updateNoticeProviders.add(n),this.showUpdateNotice(a,i))}).catch(i=>{console.error(`[IconProviders] Failed to update ${n} to version ${r.version}:`,i)}))}),e.length!==0&&await Promise.all(e)}async removeProvider(e,n={}){await this.ensureInitialized();let r=this.requireProviderConfig(e),o=this.downloadTasks.get(e);if(o)try{await o}catch{}await this.enqueue(async()=>{let a=this.deactivateProvider(r.id);await this.database.delete(r.id),this.installedProviders.delete(r.id),this.providerVersions.delete(r.id),this.updateNoticeProviders.delete(r.id),this.showRemovalNotice(r),n.persistSetting!==!1?(this.markProviderSetting(r.id,!1),await this.settingsProvider.saveSettingsAndUpdate()):a&&this.settingsProvider.notifySettingsUpdate()})}async syncWithSettings(){await this.ensureInitialized();let e=this.settingsProvider.settings,n=De(e.externalIconProviders),r=[],o=!1;Object.keys(Bs).forEach(a=>{if(!!n[a]){let s=this.requireProviderConfig(a);r.push(this.ensureProviderAvailable(s,{persistSetting:!1}).catch(l=>{console.error(`[IconProviders] Failed to initialize provider ${a}:`,l)}))}else this.installedProviders.has(a)?(o=!0,r.push(this.removeProvider(a,{persistSetting:!1}).catch(s=>{console.error(`[IconProviders] Failed to remove provider ${a}:`,s)}))):this.deactivateProvider(a)&&(o=!0)}),await Promise.all(r),o&&this.settingsProvider.notifySettingsUpdate()}async ensureProviderAvailable(e,n){if(!this.isProviderInstalled(e.id)){await this.installProvider(e.id,n);return}let r=await this.database.get(e.id);if(!r){this.installedProviders.delete(e.id),this.providerVersions.delete(e.id),await this.installProvider(e.id,n);return}this.providerVersions.set(e.id,r.version),await this.activateIfEnabled(e,r)&&n.persistSetting===!1&&this.settingsProvider.notifySettingsUpdate()}markProviderSetting(e,n){let{settings:r}=this.settingsProvider,o=De(r.externalIconProviders);o[e]=n,r.externalIconProviders=o}deactivateProvider(e){let n=this.activeProviders.get(e),r=!1;return n&&(n.provider.dispose?.(),this.activeProviders.delete(e),r=!0),this.iconService.unregisterProvider(e),r}async activateIfEnabled(e,n){let r=this.settingsProvider.settings;if(!r.externalIconProviders||!r.externalIconProviders[e.id])return!1;let o=this.activeProviders.get(e.id);if(o&&o.version===n.version)return!1;o&&this.deactivateProvider(e.id);let a=this.createProvider(e,n);return a?a.isAvailable()?(this.iconService.registerProvider(a),this.iconService.getProvider(e.id)!==a?(a.dispose?.(),this.showActivationFailureNotice(e),this.scheduleRecovery(e),!1):(this.activeProviders.set(e.id,{provider:a,version:n.version}),this.failedActivationNoticeProviders.delete(e.id),this.recoveryAttempts.delete(e.id),this.removalNoticeProviders.delete(e.id),!0)):(a.dispose?.(),this.showActivationFailureNotice(e),this.scheduleRecovery(e),!1):(this.showActivationFailureNotice(e),this.scheduleRecovery(e),!1)}createProvider(e,n){switch(e.id){case"bootstrap-icons":return new QD({record:n,fontFamily:e.fontFamily});case"fontawesome-solid":return new $D({record:n,fontFamily:e.fontFamily});case"material-icons":return new ZD({record:n,fontFamily:e.fontFamily});case"phosphor":return new JD({record:n,fontFamily:e.fontFamily});case"rpg-awesome":return new XD({record:n,fontFamily:e.fontFamily});case"simple-icons":return new eA({record:n,fontFamily:e.fontFamily});default:return null}}async fetchManifest(e){let n=await(0,tA.requestUrl)({url:e.manifestUrl,method:"GET",headers:{"User-Agent":"NotebookNavigator/1.0 (Obsidian Plugin)",Accept:"application/json"},throw:!1});if(n.status!==200)throw new Error(`Manifest request for ${e.id} failed with status ${n.status}`);if(!n.json)throw new Error(`Manifest response for ${e.id} is empty`);return n.json}async downloadAssets(e,n){let r=await(0,tA.requestUrl)({url:n.font,method:"GET",headers:{"User-Agent":"NotebookNavigator/1.0 (Obsidian Plugin)"},throw:!1}),o=await(0,tA.requestUrl)({url:n.metadata,method:"GET",headers:{"User-Agent":"NotebookNavigator/1.0 (Obsidian Plugin)",Accept:"application/json"},throw:!1});if(r.status!==200)throw new Error(`Font download for ${e.id} failed with status ${r.status}`);if(o.status!==200)throw new Error(`Metadata download for ${e.id} failed with status ${o.status}`);let a=r.arrayBuffer,i=o.text;if(!a)throw new Error(`Failed to download font for provider ${e.id}`);if(!i)throw new Error(`Failed to download metadata for provider ${e.id}`);return{id:e.id,version:n.version,mimeType:n.fontMimeType??"font/woff2",data:a,metadataFormat:n.metadataFormat??"json",metadata:i,updated:Date.now()}}async ensureInitialized(){this.isInitialized||await this.initialize()}async removeDisabledProviders(){if(this.installedProviders.size===0)return;let n=this.settingsProvider.settings.externalIconProviders||{},r=[];this.installedProviders.forEach(o=>{n[o]||r.push(o)}),r.length!==0&&await Promise.all(r.map(async o=>{this.deactivateProvider(o),this.installedProviders.delete(o),this.providerVersions.delete(o),this.updateNoticeProviders.delete(o);try{await this.database.delete(o)}catch(a){console.error(`[IconProviders] Failed to delete cached assets for ${o}:`,a)}}))}enqueue(e){let n=async()=>{await e()},r=this.downloadChain.then(n);return this.downloadChain=r.then(()=>{}).catch(()=>{}),r}requireProviderConfig(e){let n=Bs[e];if(!n)throw new Error(`Unknown external icon provider: ${e}`);return n}showActivationFailureNotice(e){if(this.failedActivationNoticeProviders.has(e.id))return;this.failedActivationNoticeProviders.add(e.id);let n=d.fileSystem.notifications.iconPackLoadFailed.replace("{provider}",e.name);de(n,{variant:"warning"})}scheduleRecovery(e){let n=this.recoveryAttempts.get(e.id)??0;if(n>=1||this.recoveryTasks.has(e.id))return;this.recoveryAttempts.set(e.id,n+1);let r=this.enqueue(async()=>{this.deactivateProvider(e.id),this.installedProviders.delete(e.id),this.providerVersions.delete(e.id);try{await this.database.delete(e.id)}catch(o){console.error(`[IconProviders] Failed to delete cached assets for ${e.id} during recovery:`,o)}try{await this.installProvider(e.id,{persistSetting:!1})}catch(o){console.error(`[IconProviders] Failed to reinstall provider ${e.id} after activation failure:`,o)}}).catch(o=>{console.error(`[IconProviders] Recovery task for ${e.id} failed:`,o)}).finally(()=>{this.recoveryTasks.delete(e.id)});this.recoveryTasks.set(e.id,r)}showDownloadNotice(e){let n=d.fileSystem.notifications.iconPackDownloaded.replace("{provider}",e.name);de(n,{variant:"success"})}showRemovalNotice(e){if(this.removalNoticeProviders.has(e.id))return;this.removalNoticeProviders.add(e.id);let n=d.fileSystem.notifications.iconPackRemoved.replace("{provider}",e.name);de(n)}showUpdateNotice(e,n){let r=d.fileSystem.notifications.iconPackUpdated.replace("{provider}",e.name).replace("{version}",n);de(r,{variant:"success"})}}});var vNe={};In(vNe,{default:()=>nA});module.exports=Lr(vNe);var Pc=require("obsidian");var WI=require("obsidian");Ru();var KI=class extends WI.PluginSettingTab{constructor(n,r){super(n,r);this.delegate=null;this.plugin=r,this.icon=vi}getSettingDefinitions(){return(0,WI.requireApiVersion)("1.13.0")?this.getDelegate().getSettingDefinitions():[]}getControlValue(n){return this.getDelegate().getControlValue(n)}async setControlValue(n,r){await this.getDelegate().setControlValue(n,r)}display(){this.getDelegate().display()}hide(){if(this.delegate){this.syncDelegateContainer(),this.delegate.hide();return}super.hide()}getDelegate(){return this.delegate||(this.delegate=this.createDelegate()),this.syncDelegateContainer(),this.delegate}createDelegate(){let{NotebookNavigatorSettingTab:n}=(S$(),Lr(b$));return new n(this.app,this.plugin)}syncDelegateContainer(){this.delegate&&(this.delegate.containerEl=this.containerEl)}};Ue();var D$=require("obsidian");var tz=require("obsidian");zn();Ue();Ia();Si();$o();Ay();Ot();xn();Ue();dn();Si();Ot();var pd=class{constructor(e,n){this.app=e;this.updateQueue=Promise.resolve();this.settingsProvider=n}async saveAndUpdate(e){return this.updateQueue=this.updateQueue.then(async()=>{e(this.settingsProvider.settings)!==!1&&await this.settingsProvider.saveSettingsAndUpdate()}).catch(n=>{throw console.error("Failed to save metadata:",n),n}),this.updateQueue}updateShortcuts(e,n){return _N(e.vaultProfiles,r=>{let o=!1,a=[];for(let i of r){let s=n(i);if(s===void 0){a.push(i);continue}o=!0,s!==null&&a.push(s)}return o?a:null})}validateColor(e){return/^(#[0-9A-Fa-f]{3,8}|rgb\(|rgba\(|hsl\(|hsla\(|[a-zA-Z]+)$/.test(e)}async setEntityColor(e,n,r){await this.setEntityColorVariant(e,n,r,"color")}async removeEntityColor(e,n){await this.removeEntityColorVariant(e,n,"color")}getEntityColor(e,n){return this.getEntityColorVariant(e,n,"color")}async setEntityBackgroundColor(e,n,r){await this.setEntityColorVariant(e,n,r,"background")}async removeEntityBackgroundColor(e,n){await this.removeEntityColorVariant(e,n,"background")}getEntityBackgroundColor(e,n){return this.getEntityColorVariant(e,n,"background")}getColorRecordKey(e,n){return e===W.FOLDER?n==="color"?"folderColors":"folderBackgroundColors":e===W.TAG?n==="color"?"tagColors":"tagBackgroundColors":e===W.PROPERTY?n==="color"?"propertyColors":"propertyBackgroundColors":n==="color"?"fileColors":"fileBackgroundColors"}ensureColorRecord(e,n){let r=ln(e[n],Ln);return e[n]=r,r}async setEntityColorVariant(e,n,r,o){this.validateColor(r)&&await this.saveAndUpdate(a=>{let i=this.getColorRecordKey(e,o),s=this.ensureColorRecord(a,i);s[n]=r})}async removeEntityColorVariant(e,n,r){let o=this.getColorRecordKey(e,r),a=this.settingsProvider.settings[o];!a||!(n in a)||await this.saveAndUpdate(i=>{let s=i[o];s&&delete s[n]})}getEntityColorVariant(e,n,r){let o=this.getColorRecordKey(e,r);return this.settingsProvider.settings[o]?.[n]}async setEntityIcon(e,n,r){let o=qn(r);o&&await this.saveAndUpdate(a=>{if(e===W.FOLDER){let i=ln(a.folderIcons,Ln);i[n]=o,a.folderIcons=i}else if(e===W.TAG){let i=ln(a.tagIcons,Ln);i[n]=o,a.tagIcons=i}else if(e===W.PROPERTY){let i=ln(a.propertyIcons,Ln);i[n]=o,a.propertyIcons=i}else{let i=ln(a.fileIcons,Ln);i[n]=o,a.fileIcons=i}})}async removeEntityIcon(e,n){e===W.FOLDER&&this.settingsProvider.settings.folderIcons?.[n]?await this.saveAndUpdate(r=>{r.folderIcons&&delete r.folderIcons[n]}):e===W.TAG&&this.settingsProvider.settings.tagIcons?.[n]?await this.saveAndUpdate(r=>{r.tagIcons&&delete r.tagIcons[n]}):e===W.PROPERTY&&this.settingsProvider.settings.propertyIcons?.[n]?await this.saveAndUpdate(r=>{r.propertyIcons&&delete r.propertyIcons[n]}):e===W.FILE&&this.settingsProvider.settings.fileIcons?.[n]&&await this.saveAndUpdate(r=>{r.fileIcons&&delete r.fileIcons[n]})}readIconRecord(e,n){if(!e||!Object.prototype.hasOwnProperty.call(e,n))return;let r=e[n];if(typeof r=="string")return qn(r)}getEntityIcon(e,n){return e===W.FOLDER?this.readIconRecord(this.settingsProvider.settings.folderIcons,n):e===W.TAG?this.readIconRecord(this.settingsProvider.settings.tagIcons,n):e===W.PROPERTY?this.readIconRecord(this.settingsProvider.settings.propertyIcons,n):this.readIconRecord(this.settingsProvider.settings.fileIcons,n)}async setEntitySortOverride(e,n,r){await this.saveAndUpdate(o=>{let a=Oc(r);if(!a)return!1;if(e===W.FOLDER){let i=ln(o.folderSortOverrides),s=De(i);s[n]=a,o.folderSortOverrides=s;return}if(e===W.TAG){let i=ln(o.tagSortOverrides),s=De(i);s[n]=a,o.tagSortOverrides=s;return}if(e===W.PROPERTY){let i=ln(o.propertySortOverrides),s=De(i);s[n]=a,o.propertySortOverrides=s;return}return!1})}async removeEntitySortOverride(e,n){e===W.FOLDER&&this.settingsProvider.settings.folderSortOverrides?.[n]?await this.saveAndUpdate(r=>{let o=ln(r.folderSortOverrides),a=De(o);delete a[n],r.folderSortOverrides=a}):e===W.TAG&&this.settingsProvider.settings.tagSortOverrides?.[n]?await this.saveAndUpdate(r=>{let o=ln(r.tagSortOverrides),a=De(o);delete a[n],r.tagSortOverrides=a}):e===W.PROPERTY&&this.settingsProvider.settings.propertySortOverrides?.[n]&&await this.saveAndUpdate(r=>{let o=ln(r.propertySortOverrides),a=De(o);delete a[n],r.propertySortOverrides=a})}getEntitySortOverride(e,n){if(e===W.FOLDER)return this.settingsProvider.settings.folderSortOverrides?.[n];if(e===W.TAG)return this.settingsProvider.settings.tagSortOverrides?.[n];if(e===W.PROPERTY)return this.settingsProvider.settings.propertySortOverrides?.[n]}async setEntityChildSortOrderOverride(e,n,r){await this.saveAndUpdate(o=>{if(e===W.FOLDER){let a=ln(o.folderTreeSortOverrides),i=De(a);i[n]=r,o.folderTreeSortOverrides=i}else if(e===W.TAG){let a=ln(o.tagTreeSortOverrides),i=De(a);i[n]=r,o.tagTreeSortOverrides=i}else{let a=ln(o.propertyTreeSortOverrides),i=De(a);i[n]=r,o.propertyTreeSortOverrides=i}})}async removeEntityChildSortOrderOverride(e,n){if(e===W.FOLDER){let o=this.settingsProvider.settings.folderTreeSortOverrides;if(!o||!Object.prototype.hasOwnProperty.call(o,n))return;await this.saveAndUpdate(a=>{let i=ln(a.folderTreeSortOverrides),s=De(i);delete s[n],a.folderTreeSortOverrides=s});return}if(e===W.TAG){let o=this.settingsProvider.settings.tagTreeSortOverrides;if(!o||!Object.prototype.hasOwnProperty.call(o,n))return;await this.saveAndUpdate(a=>{let i=ln(a.tagTreeSortOverrides),s=De(i);delete s[n],a.tagTreeSortOverrides=s});return}let r=this.settingsProvider.settings.propertyTreeSortOverrides;!r||!Object.prototype.hasOwnProperty.call(r,n)||await this.saveAndUpdate(o=>{let a=ln(o.propertyTreeSortOverrides),i=De(a);delete i[n],o.propertyTreeSortOverrides=i})}getEntityChildSortOrderOverride(e,n){if(e===W.FOLDER){let o=this.settingsProvider.settings.folderTreeSortOverrides;return o&&Object.prototype.hasOwnProperty.call(o,n)?o[n]:void 0}if(e===W.TAG){let o=this.settingsProvider.settings.tagTreeSortOverrides;return o&&Object.prototype.hasOwnProperty.call(o,n)?o[n]:void 0}let r=this.settingsProvider.settings.propertyTreeSortOverrides;return r&&Object.prototype.hasOwnProperty.call(r,n)?r[n]:void 0}async cleanupMetadata(e,n,r){let o=e[n];if(!o||typeof o!="object"||Array.isArray(o))return!1;let a=!1,i=o,s=Object.keys(i);for(let l of s)r(l)||(delete i[l],a=!0);return a}updateNestedPaths(e,n,r,o=!1){if(!e)return!1;let a=`${n}/`,i=[];Object.prototype.hasOwnProperty.call(e,n)&&i.push({oldPath:n,newPath:r,value:e[n]});let s=Object.keys(e);for(let c of s)if(c.startsWith(a)){let u=`${r}/${c.slice(a.length)}`;i.push({oldPath:c,newPath:u,value:e[c]})}let l=!1;for(let c of i){if(c.oldPath===c.newPath)continue;if(!!Object.prototype.hasOwnProperty.call(e,c.newPath)&&o){c.oldPath!==c.newPath&&(delete e[c.oldPath],l=!0);continue}e[c.newPath]=c.value,delete e[c.oldPath],l=!0}return l}deleteNestedPaths(e,n){if(!e)return!1;let r=!1;for(let o in e)(o===n||o.startsWith(`${n}/`))&&(delete e[o],r=!0);return r}};Ot();var Fge=1e3,jI=class{constructor(){this.dataByKey=new Map;this.keysByFolderPath=new Map;this.folderPathByKey=new Map;this.folderNotePathByFolderPath=new Map;this.folderPathsByFolderNotePath=new Map;this.settingsSnapshot=null;this.styleSnapshot={icons:null,colors:null,backgrounds:null};this.styleSnapshotInitialized=!1}hasEntries(){return this.dataByKey.size>0}hasTrackedFolderNotePath(e){return this.folderPathsByFolderNotePath.has(e)}getTrackedFolderPaths(e){return this.folderPathsByFolderNotePath.get(e)}clear(){this.dataByKey.clear(),this.keysByFolderPath.clear(),this.folderPathByKey.clear(),this.folderNotePathByFolderPath.clear(),this.folderPathsByFolderNotePath.clear(),this.resetStyleSnapshot()}hasSettingsSnapshotChanged(e){return this.settingsSnapshot?this.settingsSnapshot.useFrontmatterMetadata!==e.useFrontmatterMetadata||this.settingsSnapshot.enableFolderNotes!==e.enableFolderNotes||this.settingsSnapshot.inheritFolderColors!==e.inheritFolderColors||this.settingsSnapshot.folderNoteName!==e.folderNoteName||this.settingsSnapshot.folderNoteNamePattern!==e.folderNoteNamePattern||this.settingsSnapshot.frontmatterNameField!==e.frontmatterNameField||this.settingsSnapshot.frontmatterIconField!==e.frontmatterIconField||this.settingsSnapshot.frontmatterColorField!==e.frontmatterColorField||this.settingsSnapshot.frontmatterBackgroundField!==e.frontmatterBackgroundField:!0}hasDisplayNameSettingsSnapshotChanged(e){return this.settingsSnapshot?this.settingsSnapshot.useFrontmatterMetadata!==e.useFrontmatterMetadata||this.settingsSnapshot.enableFolderNotes!==e.enableFolderNotes||this.settingsSnapshot.folderNoteName!==e.folderNoteName||this.settingsSnapshot.folderNoteNamePattern!==e.folderNoteNamePattern||this.settingsSnapshot.frontmatterNameField!==e.frontmatterNameField:!0}captureSettingsSnapshot(e){this.settingsSnapshot={...e}}isStyleSnapshotInitialized(){return this.styleSnapshotInitialized}hasStyleSnapshotChanged(e){return!this.areStringRecordsEqual(this.styleSnapshot.icons,e.icons)||!this.areStringRecordsEqual(this.styleSnapshot.colors,e.colors)||!this.areStringRecordsEqual(this.styleSnapshot.backgrounds,e.backgrounds)}captureStyleSnapshot(e){this.styleSnapshot={icons:this.cloneStringRecord(e.icons),colors:this.cloneStringRecord(e.colors),backgrounds:this.cloneStringRecord(e.backgrounds)},this.styleSnapshotInitialized=!0}get(e,n){let r=this.createCacheKey(e,n),o=this.dataByKey.get(r);if(o)return this.dataByKey.delete(r),this.dataByKey.set(r,o),o}set(e,n,r,o){let a=this.createCacheKey(e,n);this.removeEntry(a),this.dataByKey.set(a,r),this.styleSnapshotInitialized||this.captureStyleSnapshot(o);let i=this.keysByFolderPath.get(e);if(i?i.add(a):this.keysByFolderPath.set(e,new Set([a])),this.folderPathByKey.set(a,e),this.dataByKey.size<=Fge)return;let s=this.dataByKey.entries().next();if(!s.done){let[l]=s.value;this.removeEntry(l)}}trackFolderNotePath(e,n){let r=this.folderNotePathByFolderPath.get(e);r!==n&&(r!==void 0&&(this.folderNotePathByFolderPath.delete(e),r&&this.removeFolderPathFromTrackedFolderNotePath(r,e)),this.folderNotePathByFolderPath.set(e,n),n&&this.addFolderPathForTrackedFolderNotePath(n,e))}untrackFolderNotePathForFolder(e){let n=this.folderNotePathByFolderPath.get(e);n!==void 0&&(this.folderNotePathByFolderPath.delete(e),n&&this.removeFolderPathFromTrackedFolderNotePath(n,e))}invalidateFolder(e){let n=this.keysByFolderPath.get(e);if(!n||n.size===0){this.untrackFolderNotePathForFolder(e);return}Array.from(n).forEach(r=>{this.removeEntry(r)})}invalidateFolderAndDescendants(e){if(e==="/"){this.clear();return}Array.from(this.keysByFolderPath.keys()).forEach(n=>{this.isFolderPathWithinSubtree(e,n)&&this.invalidateFolder(n)})}resetStyleSnapshot(){this.styleSnapshot={icons:null,colors:null,backgrounds:null},this.styleSnapshotInitialized=!1}createCacheKey(e,n){return[e,n.includeDisplayName?"1":"0",n.includeColor?"1":"0",n.includeBackgroundColor?"1":"0",n.includeIcon?"1":"0",n.includeInheritedColors?"1":"0"].join("|")}removeEntry(e){this.dataByKey.delete(e),this.dataByKey.size===0&&this.resetStyleSnapshot();let n=this.folderPathByKey.get(e);if(!n)return;this.folderPathByKey.delete(e);let r=this.keysByFolderPath.get(n);r&&(r.delete(e),r.size===0&&(this.keysByFolderPath.delete(n),this.untrackFolderNotePathForFolder(n)))}addFolderPathForTrackedFolderNotePath(e,n){let r=this.folderPathsByFolderNotePath.get(e);if(r){r.add(n);return}this.folderPathsByFolderNotePath.set(e,new Set([n]))}removeFolderPathFromTrackedFolderNotePath(e,n){let r=this.folderPathsByFolderNotePath.get(e);r&&(r.delete(n),r.size===0&&this.folderPathsByFolderNotePath.delete(e))}cloneStringRecord(e){if(!e)return null;let n=Object.keys(e);if(n.length===0)return null;let r=De(void 0);return n.forEach(o=>{r[o]=e[o]}),r}areStringRecordsEqual(e,n){let r=n?Object.keys(n):[],o=e?Object.keys(e):[];return o.length!==r.length?!1:o.length===0&&r.length===0?!0:!e||!n?!1:r.every(a=>e[a]===n[a])}isFolderPathWithinSubtree(e,n){return e==="/"?!0:n===e||n.startsWith(`${e}/`)}};zn();Si();$o();Ot();_a();ap();var Pge=new Set(["md","canvas","base"]),Cge=".excalidraw",GI=class{constructor(e,n){this.app=e;this.settingsProvider=n}getFolderFrontmatterFields(){let e=this.settingsProvider.settings,n=e.frontmatterIconField.trim(),r=e.frontmatterColorField.trim(),o=e.frontmatterBackgroundField.trim();return{iconField:n.length>0?n:void 0,colorField:r.length>0?r:void 0,backgroundField:o.length>0?o:void 0}}getFolderNoteFile(e){let n=this.settingsProvider.settings;if(!n.enableFolderNotes)return null;let r=this.getFolderByPath(e);if(!r)return null;let o=No(n),a=Pn(r,o);return!a||a.extension!=="md"?null:a}getCurrentFolderNotePath(e){let n=this.getFolderNoteFile(e);return n?n.path:null}getFolderNoteMetadata(e){let n=this.getFolderNoteFile(e);if(!n)return null;let r=Sr();if(!r)return null;let o=r.getFile(n.path);if(!o||!o.metadata)return null;let a=typeof o.metadata.name=="string"?o.metadata.name.trim():void 0,i=typeof o.metadata.icon=="string"?qn(o.metadata.icon.trim()):void 0,s=typeof o.metadata.color=="string"?o.metadata.color.trim():void 0,l=typeof o.metadata.background=="string"?o.metadata.background.trim():void 0;return!a&&!i&&!s&&!l?null:{name:a||void 0,icon:i||void 0,color:s||void 0,backgroundColor:l||void 0}}async writeFolderStyleToFrontmatter(e,n,r){if(!this.settingsProvider.settings.useFrontmatterMetadata)return{icon:!1,color:!1,backgroundColor:!1};let a=this.getFolderNoteFile(e);if(!a)return{icon:!1,color:!1,backgroundColor:!1};let i=this.getFolderFrontmatterFields(),s=n.icon!==void 0&&!!i.iconField,l=n.color!==void 0&&!!i.colorField,c=n.backgroundColor!==void 0&&!!i.backgroundField;if(!s&&!l&&!c)return{icon:!1,color:!1,backgroundColor:!1};let u={icon:r.icon,color:r.color,backgroundColor:r.backgroundColor};if(s){if(n.icon===null)u.icon=void 0;else if(typeof n.icon=="string"){let F=qn(n.icon.trim());u.icon=F||void 0}}if(l){if(n.color===null)u.color=void 0;else if(typeof n.color=="string"){let F=n.color.trim();u.color=F.length>0?F:void 0}}if(c){if(n.backgroundColor===null)u.backgroundColor=void 0;else if(typeof n.backgroundColor=="string"){let F=n.backgroundColor.trim();u.backgroundColor=F.length>0?F:void 0}}let p=u.icon?oi(u.icon):null,m=u.color?.trim()||null,g=u.backgroundColor?.trim()||null,f=i.iconField,h=i.colorField,b=i.backgroundField,v=!!f&&(s||r.icon!==void 0),y=!!h&&(l||r.color!==void 0),S=!!b&&(c||r.backgroundColor!==void 0);try{await this.app.fileManager.processFrontMatter(a,F=>{f&&v&&this.updateFrontmatterField(F,f,p),h&&y&&this.updateFrontmatterField(F,h,m),b&&S&&this.updateFrontmatterField(F,b,g)})}catch(F){return console.error("Failed to update folder note frontmatter metadata",{folderPath:e,folderNotePath:a.path,error:F}),{icon:!1,color:!1,backgroundColor:!1}}let w={};v&&(w.icon=u.icon&&u.icon.length>0?u.icon:void 0),y&&(w.color=m??void 0),S&&(w.background=g??void 0);let k=Sr();if(k)try{await k.updateFileMetadata(a.path,w)}catch(F){console.error("Failed to sync folder note metadata to IndexedDB cache",{folderPath:e,folderNotePath:a.path,error:F})}return{icon:v,color:y,backgroundColor:S}}hasFolderDisplayNameMetadataChanges(e,n){let r=this.settingsProvider.settings;if(!r.useFrontmatterMetadata||!r.enableFolderNotes)return!1;let o=No(r),a=new Set,i=new Map;for(let s of e){if(s.changes.metadata===void 0||s.metadataNameChanged!==!0)continue;if(n(s.path))return!0;if(!this.isFolderNoteCandidatePath(s.path)||a.has(s.path))continue;a.add(s.path);let l=Ds(s.path),c=i.get(l);if(c===void 0){let u=this.getFolderNoteSourceNameFromPath(l);c=Xd(u,o),i.set(l,c)}if(this.isFolderNotePathForExpectedName(s.path,c))return!0}return!1}isFolderNotePathForFolder(e,n){let r=this.getFolderByPath(n);if(!r)return!1;let o=ip(r,No(this.settingsProvider.settings));return this.isFolderNotePathForExpectedName(e,o)}updateFrontmatterField(e,n,r){let o=Yo(e,n)??n;if(r!==null){e[o]!==r&&(e[o]=r);return}Reflect.has(e,o)&&delete e[o]}getFolderByPath(e){return e==="/"?this.app.vault.getRoot():this.app.vault.getFolderByPath(e)}getFolderNoteSourceNameFromPath(e){if(e==="/")return uy(this.app.vault.getRoot(),this.app.vault);let n=e.lastIndexOf("/");return n===-1?e:e.slice(n+1)}getPathExtension(e){let n=e.split("/").pop()??"",r=n.lastIndexOf(".");return r===-1||r===n.length-1?"":n.slice(r+1).toLowerCase()}getPathBasename(e){let n=e.split("/").pop()??"",r=n.lastIndexOf(".");return r===-1?n:n.slice(0,r)}isFolderNoteCandidatePath(e){return Pge.has(this.getPathExtension(e))}isFolderNotePathForExpectedName(e,n){if(!this.isFolderNoteCandidatePath(e))return!1;let r=this.getPathExtension(e),o=this.getPathBasename(e);return o===n?!0:r==="md"&&o===`${n}${Cge}`}};function C$({folderPath:t,inheritFolderColors:e,needs:n,getFolderDisplayData:r}){if(!e||!n.color&&!n.backgroundColor||t==="/")return{};let o,a,i=t.split("/");for(let l=i.length-1;l>0;l-=1){let c=i.slice(0,l).join("/");if(!c)continue;let u=r(c,{includeDisplayName:!1,includeColor:n.color&&!o,includeBackgroundColor:n.backgroundColor&&!a,includeIcon:!1,includeInheritedColors:!1});if(!o&&u.color&&(o=u.color),!a&&u.backgroundColor&&(a=u.backgroundColor),(!n.color||o)&&(!n.backgroundColor||a))return{color:o,backgroundColor:a}}let s=r("/",{includeDisplayName:!1,includeColor:n.color&&!o,includeBackgroundColor:n.backgroundColor&&!a,includeIcon:!1,includeInheritedColors:!1});return!o&&s.color&&(o=s.color),!a&&s.backgroundColor&&(a=s.backgroundColor),{color:o,backgroundColor:a}}function N$({folderPath:t,resolveOptions:e,useFrontmatterMetadata:n,directStyle:r,frontmatterFields:o,getFolderNoteMetadata:a,resolveInheritedFolderStyleValues:i}){let s=e.includeDisplayName&&n,l=e.includeIcon&&n&&!!o.iconField,c=e.includeColor&&n&&!!o.colorField,u=e.includeBackgroundColor&&n&&!!o.backgroundField,m=s||l||c||u?a(t):null,g=l?m?.icon:void 0,f=c?m?.color:void 0,h=u?m?.backgroundColor:void 0,b=e.includeColor?f||r.color:void 0,v=e.includeBackgroundColor?h||r.backgroundColor:void 0;if(e.includeInheritedColors&&(e.includeColor&&!b||e.includeBackgroundColor&&!v)){let y=i({color:e.includeColor&&!b,backgroundColor:e.includeBackgroundColor&&!v});b||(b=y.color),v||(v=y.backgroundColor)}return{displayName:s?m?.name:void 0,color:b,backgroundColor:v,icon:e.includeIcon?g||r.icon:void 0}}function Nge(t){return typeof t!="object"||t===null?!1:typeof Reflect.get(t,"registerSettingsUpdateListener")=="function"&&typeof Reflect.get(t,"unregisterSettingsUpdateListener")=="function"}var qT=class t extends pd{constructor(...n){super(...n);this.folderStyleChangeListener=null;this.folderDisplayCache=new jI;this.folderDisplayCacheVaultEventRefs=[];this.folderDisplayCacheSettingsListenerProvider=null;this.folderDisplayCacheUnsubscribe=null;this.folderDisplayVersion=0;this.folderDisplayListeners=new Set;this.folderDisplayNameVersion=0;this.folderDisplayNameListeners=new Set;this.folderNoteMetadataAdapter=new GI(this.app,this.settingsProvider),t.folderDisplayCacheSettingsListenerCounter+=1,this.folderDisplayCacheSettingsListenerId=`folder-display-cache-${t.folderDisplayCacheSettingsListenerCounter}`}static{this.folderDisplayCacheSettingsListenerCounter=0}getCurrentFolderDisplayCacheSettingsSnapshot(){let n=this.settingsProvider.settings;return{useFrontmatterMetadata:n.useFrontmatterMetadata,enableFolderNotes:n.enableFolderNotes,inheritFolderColors:n.inheritFolderColors,folderNoteName:n.folderNoteName.trim(),folderNoteNamePattern:n.folderNoteNamePattern.trim(),frontmatterNameField:n.frontmatterNameField.trim(),frontmatterIconField:n.frontmatterIconField.trim(),frontmatterColorField:n.frontmatterColorField.trim(),frontmatterBackgroundField:n.frontmatterBackgroundField.trim()}}getCurrentFolderStyleRecordSource(){let n=this.settingsProvider.settings;return{icons:n.folderIcons,colors:n.folderColors,backgrounds:n.folderBackgroundColors}}getSettingsUpdateListenerProvider(){return Nge(this.settingsProvider)?this.settingsProvider:null}handleFolderDisplayCacheSettingsUpdate(){let n=!1,r=this.getCurrentFolderDisplayCacheSettingsSnapshot(),o=this.folderDisplayCache.hasDisplayNameSettingsSnapshotChanged(r);this.folderDisplayCache.hasSettingsSnapshotChanged(r)&&(this.folderDisplayCache.captureSettingsSnapshot(r),n=!0),this.folderDisplayCache.hasEntries()&&this.folderDisplayCache.isStyleSnapshotInitialized()&&this.hasFolderStyleRecordSnapshotChanged()&&(n=!0),n&&this.folderDisplayCache.clear(),o?this.markFolderDisplayNamesChanged():n&&this.markFolderDisplayChanged()}ensureFolderDisplayCacheSettingsListener(){if(this.folderDisplayCacheSettingsListenerProvider)return;let n=this.getSettingsUpdateListenerProvider();n&&(n.registerSettingsUpdateListener(this.folderDisplayCacheSettingsListenerId,()=>{this.handleFolderDisplayCacheSettingsUpdate()}),this.folderDisplayCacheSettingsListenerProvider=n)}invalidateFolderDisplayCacheForContentChanges(n){let r=this.settingsProvider.settings;if(!r.useFrontmatterMetadata||!r.enableFolderNotes)return{hasFolderDisplayChanges:!1,hasFolderDisplayNameChanges:!1};let o=this.hasFolderDisplayNameMetadataChanges(n);if(!this.folderDisplayCache.hasEntries())return{hasFolderDisplayChanges:o,hasFolderDisplayNameChanges:o};let a=new Set;return n.forEach(i=>{let s=this.folderDisplayCache.getTrackedFolderPaths(i.path);s&&s.forEach(l=>{a.add(l)})}),a.forEach(i=>{this.folderDisplayCache.invalidateFolderAndDescendants(i)}),{hasFolderDisplayChanges:a.size>0||o,hasFolderDisplayNameChanges:o}}hasFolderDisplayNameMetadataChanges(n){return this.folderNoteMetadataAdapter.hasFolderDisplayNameMetadataChanges(n,r=>this.folderDisplayCache.hasTrackedFolderNotePath(r))}invalidateFolderDisplayCacheForVaultFilePath(n){this.invalidateFolderDisplayCacheForContentChanges([{path:n,changes:{}}]);let r=Ds(n);this.folderNoteMetadataAdapter.isFolderNotePathForFolder(n,r)&&this.folderDisplayCache.invalidateFolderAndDescendants(r)}handleFolderDisplayCacheVaultCreateOrDelete(n){if(!(n instanceof tz.TFile))return;let r=this.settingsProvider.settings;if(!r.useFrontmatterMetadata||!r.enableFolderNotes)return;let o=Ds(n.path),a=this.folderDisplayCache.hasTrackedFolderNotePath(n.path),i=this.folderNoteMetadataAdapter.isFolderNotePathForFolder(n.path,o);this.invalidateFolderDisplayCacheForVaultFilePath(n.path),(a||i)&&this.markFolderDisplayNamesChanged()}handleFolderDisplayCacheVaultRename(n,r){if(!(n instanceof tz.TFile)||typeof r!="string")return;let o=this.settingsProvider.settings;if(!o.useFrontmatterMetadata||!o.enableFolderNotes)return;let a=Ds(r),i=Ds(n.path),s=this.folderDisplayCache.hasTrackedFolderNotePath(r),l=this.folderDisplayCache.hasTrackedFolderNotePath(n.path),c=this.folderNoteMetadataAdapter.isFolderNotePathForFolder(r,a),u=this.folderNoteMetadataAdapter.isFolderNotePathForFolder(n.path,i);this.invalidateFolderDisplayCacheForVaultFilePath(r),this.invalidateFolderDisplayCacheForVaultFilePath(n.path),(s||l||c||u)&&this.markFolderDisplayNamesChanged()}ensureFolderDisplayCacheVaultListeners(){if(this.folderDisplayCacheVaultEventRefs.length>0)return;let n=this.app.vault.on("create",a=>{this.handleFolderDisplayCacheVaultCreateOrDelete(a)}),r=this.app.vault.on("delete",a=>{this.handleFolderDisplayCacheVaultCreateOrDelete(a)}),o=this.app.vault.on("rename",(a,i)=>{this.handleFolderDisplayCacheVaultRename(a,i)});this.folderDisplayCacheVaultEventRefs.push(n,r,o)}ensureFolderDisplayCacheState(){let n=this.getCurrentFolderDisplayCacheSettingsSnapshot();if(this.folderDisplayCache.hasSettingsSnapshotChanged(n)&&(this.folderDisplayCache.captureSettingsSnapshot(n),this.folderDisplayCache.clear()),this.ensureFolderDisplayCacheSettingsListener(),!this.folderDisplayCacheUnsubscribe){let r=Sr();r&&(this.folderDisplayCacheUnsubscribe=r.onContentChange(o=>{let{hasFolderDisplayChanges:a,hasFolderDisplayNameChanges:i}=this.invalidateFolderDisplayCacheForContentChanges(o);i?this.markFolderDisplayNamesChanged():a&&this.markFolderDisplayChanged()}))}this.ensureFolderDisplayCacheVaultListeners()}markFolderDisplayChanged(){this.folderDisplayVersion+=1,this.folderDisplayListeners.forEach(n=>n(this.folderDisplayVersion))}markFolderDisplayNamesChanged(){this.markFolderDisplayChanged(),this.folderDisplayNameVersion+=1,this.folderDisplayNameListeners.forEach(n=>n(this.folderDisplayNameVersion))}getFolderDisplayVersion(){return this.folderDisplayVersion}subscribeToFolderDisplayChanges(n){return this.folderDisplayListeners.add(n),()=>this.folderDisplayListeners.delete(n)}getFolderDisplayNameVersion(){return this.folderDisplayNameVersion}subscribeToFolderDisplayNameChanges(n){return this.folderDisplayNameListeners.add(n),()=>this.folderDisplayNameListeners.delete(n)}dispose(){this.folderDisplayCacheUnsubscribe&&(this.folderDisplayCacheUnsubscribe(),this.folderDisplayCacheUnsubscribe=null),this.folderDisplayListeners.size>0&&this.folderDisplayListeners.clear(),this.folderDisplayNameListeners.size>0&&this.folderDisplayNameListeners.clear(),this.folderDisplayCacheSettingsListenerProvider&&(this.folderDisplayCacheSettingsListenerProvider.unregisterSettingsUpdateListener(this.folderDisplayCacheSettingsListenerId),this.folderDisplayCacheSettingsListenerProvider=null),this.folderDisplayCacheVaultEventRefs.length>0&&(this.folderDisplayCacheVaultEventRefs.forEach(n=>{this.app.vault.offref(n)}),this.folderDisplayCacheVaultEventRefs.length=0),this.folderDisplayCache.clear()}setFolderStyleChangeListener(n){this.folderStyleChangeListener=n}isFolderStyleEventBridgeEnabled(){return this.folderStyleChangeListener!==null}hasFolderDisplayStyleChanged(n,r){return n.color!==r.color||n.backgroundColor!==r.backgroundColor||n.icon!==r.icon}validateFolder(n){return this.getFolderByPath(n)!==null}getFolderByPath(n){return n==="/"?this.app.vault.getRoot():this.app.vault.getFolderByPath(n)}getFolderStyleFromSettings(n){return{icon:this.getEntityIcon(W.FOLDER,n),color:this.getEntityColor(W.FOLDER,n),backgroundColor:this.getEntityBackgroundColor(W.FOLDER,n)}}trackFolderNotePathForCachedFolder(n){let r=this.settingsProvider.settings;if(!r.useFrontmatterMetadata||!r.enableFolderNotes){this.folderDisplayCache.untrackFolderNotePathForFolder(n);return}this.folderDisplayCache.trackFolderNotePath(n,this.folderNoteMetadataAdapter.getCurrentFolderNotePath(n))}hasOwnFolderStyleEntry(n,r){return!!(n&&Object.prototype.hasOwnProperty.call(n,r))}hasFolderStyleRecordSnapshotChanged(){return this.folderDisplayCache.hasStyleSnapshotChanged(this.getCurrentFolderStyleRecordSource())}async syncFolderStyleSettings(n,r,o){if(r.icon===void 0&&r.color===void 0&&r.backgroundColor===void 0&&!o.icon&&!o.color&&!o.backgroundColor)return!1;let a=!1;return await this.saveAndUpdate(i=>{let s=!1;if(o.icon)this.hasOwnFolderStyleEntry(i.folderIcons,n)&&(delete i.folderIcons[n],s=!0);else if(r.icon!==void 0){let l=this.hasOwnFolderStyleEntry(i.folderIcons,n)?i.folderIcons[n]:void 0,c=r.icon===null?void 0:typeof r.icon=="string"?qn(r.icon)??void 0:void 0;if(c!==l){let u=ln(i.folderIcons,Ln);c===void 0?delete u[n]:u[n]=c,i.folderIcons=u,s=!0}}if(o.color)this.hasOwnFolderStyleEntry(i.folderColors,n)&&(delete i.folderColors[n],s=!0);else if(r.color!==void 0){let l=this.hasOwnFolderStyleEntry(i.folderColors,n)?i.folderColors[n]:void 0,c=r.color===null?void 0:r.color;if(c!==l){let u=ln(i.folderColors,Ln);c===void 0?delete u[n]:u[n]=c,i.folderColors=u,s=!0}}if(o.backgroundColor)this.hasOwnFolderStyleEntry(i.folderBackgroundColors,n)&&(delete i.folderBackgroundColors[n],s=!0);else if(r.backgroundColor!==void 0){let l=this.hasOwnFolderStyleEntry(i.folderBackgroundColors,n)?i.folderBackgroundColors[n]:void 0,c=r.backgroundColor===null?void 0:r.backgroundColor;if(c!==l){let u=ln(i.folderBackgroundColors,Ln);c===void 0?delete u[n]:u[n]=c,i.folderBackgroundColors=u,s=!0}}return a=s,s}),a}async setFolderStyle(n,r){if(!this.validateFolder(n))return;let o={icon:r.icon,color:r.color,backgroundColor:r.backgroundColor};typeof o.color=="string"&&!this.validateColor(o.color)&&(o.color=void 0),typeof o.backgroundColor=="string"&&!this.validateColor(o.backgroundColor)&&(o.backgroundColor=void 0);let a=o.icon!==void 0,i=o.color!==void 0,s=o.backgroundColor!==void 0;if(!a&&!i&&!s)return;let l=this.folderStyleChangeListener!==null?this.resolveFolderDisplayData(n,{includeDisplayName:!1,includeColor:!0,includeBackgroundColor:!0,includeIcon:!0,includeInheritedColors:!1}):null,c=()=>{if(i||s){this.folderDisplayCache.invalidateFolderAndDescendants(n);return}this.folderDisplayCache.invalidateFolder(n)};c();let u=await this.folderNoteMetadataAdapter.writeFolderStyleToFrontmatter(n,o,this.getFolderStyleFromSettings(n)),p=await this.syncFolderStyleSettings(n,o,u),m=u.icon||u.color||u.backgroundColor;if(p&&c(),this.folderStyleChangeListener&&l&&m&&!p){let g=this.resolveFolderDisplayData(n,{includeDisplayName:!1,includeColor:!0,includeBackgroundColor:!0,includeIcon:!0,includeInheritedColors:!1});this.hasFolderDisplayStyleChanged(l,g)&&(this.markFolderDisplayChanged(),this.folderStyleChangeListener(n))}}async setFolderColor(n,r){return this.setFolderStyle(n,{color:r})}async setFolderBackgroundColor(n,r){return this.setFolderStyle(n,{backgroundColor:r})}async removeFolderColor(n){return this.setFolderStyle(n,{color:null})}async removeFolderBackgroundColor(n){return this.setFolderStyle(n,{backgroundColor:null})}resolveFolderDisplayData(n,r){let o=this.settingsProvider.settings;return N$({folderPath:n,resolveOptions:r,useFrontmatterMetadata:o.useFrontmatterMetadata,directStyle:this.getFolderStyleFromSettings(n),frontmatterFields:this.folderNoteMetadataAdapter.getFolderFrontmatterFields(),getFolderNoteMetadata:a=>this.folderNoteMetadataAdapter.getFolderNoteMetadata(a),resolveInheritedFolderStyleValues:a=>C$({folderPath:n,inheritFolderColors:o.inheritFolderColors,needs:a,getFolderDisplayData:(i,s)=>this.getFolderDisplayData(i,s)})})}getFolderDisplayData(n,r){this.ensureFolderDisplayCacheState();let o={includeDisplayName:r?.includeDisplayName??!0,includeColor:r?.includeColor??!0,includeBackgroundColor:r?.includeBackgroundColor??!0,includeIcon:r?.includeIcon??!0,includeInheritedColors:r?.includeInheritedColors??!0},a=this.folderDisplayCache.get(n,o);if(a)return{...a};let i=this.resolveFolderDisplayData(n,o);return this.trackFolderNotePathForCachedFolder(n),this.folderDisplayCache.set(n,o,i,this.getCurrentFolderStyleRecordSource()),{...i}}getFolderColor(n){return this.getFolderDisplayData(n,{includeDisplayName:!1,includeColor:!0,includeBackgroundColor:!1,includeIcon:!1,includeInheritedColors:!0}).color}getFolderBackgroundColor(n){return this.getFolderDisplayData(n,{includeDisplayName:!1,includeColor:!1,includeBackgroundColor:!0,includeIcon:!1,includeInheritedColors:!0}).backgroundColor}async setFolderIcon(n,r){return this.setFolderStyle(n,{icon:r})}async removeFolderIcon(n){return this.setFolderStyle(n,{icon:null})}getFolderIcon(n){return this.getFolderDisplayData(n,{includeDisplayName:!1,includeColor:!1,includeBackgroundColor:!1,includeIcon:!0,includeInheritedColors:!0}).icon}async setFolderSortOverride(n,r){if(this.validateFolder(n))return this.setEntitySortOverride(W.FOLDER,n,r)}async removeFolderSortOverride(n){return this.removeEntitySortOverride(W.FOLDER,n)}getFolderSortOverride(n){return this.getEntitySortOverride(W.FOLDER,n)}async setFolderChildSortOrderOverride(n,r){if(this.validateFolder(n))return this.setEntityChildSortOrderOverride(W.FOLDER,n,r)}async removeFolderChildSortOrderOverride(n){return this.removeEntityChildSortOrderOverride(W.FOLDER,n)}getFolderChildSortOrderOverride(n){return this.getEntityChildSortOrderOverride(W.FOLDER,n)}async handleFolderRename(n,r,o){this.folderDisplayCache.clear();let a=Dy(this.app,"folder",n,r);await this.saveAndUpdate(i=>{let s=!1;return s=this.updateNestedPaths(i.folderColors,n,r)||s,s=this.updateNestedPaths(i.folderBackgroundColors,n,r)||s,s=this.updateNestedPaths(i.folderIcons,n,r)||s,s=this.updateNestedPaths(i.folderSortOverrides,n,r)||s,s=this.updateNestedPaths(i.folderTreeSortOverrides,n,r)||s,s=this.updateNestedPaths(i.folderAppearances,n,r)||s,s=pv(i.collapsedPinnedContexts,W.FOLDER,n,r,{descendantDelimiter:"/"})||s,s=this.updateShortcuts(i,c=>{if(!(!Zo(c)||!a(c.path)))return{...c,path:r}})||s,o&&(s=o(i)||s),s})}async handleFolderDelete(n,r){this.folderDisplayCache.clear();let o=Dy(this.app,"folder",n);await this.saveAndUpdate(a=>{let i=!1;return i=this.deleteNestedPaths(a.folderColors,n)||i,i=this.deleteNestedPaths(a.folderBackgroundColors,n)||i,i=this.deleteNestedPaths(a.folderIcons,n)||i,i=this.deleteNestedPaths(a.folderSortOverrides,n)||i,i=this.deleteNestedPaths(a.folderTreeSortOverrides,n)||i,i=this.deleteNestedPaths(a.folderAppearances,n)||i,i=mv(a.collapsedPinnedContexts,W.FOLDER,n,{descendantDelimiter:"/"})||i,i=this.updateShortcuts(a,l=>{if(Zo(l))return o(l.path)?null:void 0})||i,r&&(i=r(a)||i),i})}async cleanupFolderMetadata(n=this.settingsProvider.settings){this.folderDisplayCache.clear();let r=i=>this.getFolderByPath(i)!==null,o=ym(n.collapsedPinnedContexts,W.FOLDER,r),a=await Promise.all([this.cleanupMetadata(n,"folderColors",r),this.cleanupMetadata(n,"folderBackgroundColors",r),this.cleanupMetadata(n,"folderIcons",r),this.cleanupMetadata(n,"folderSortOverrides",r),this.cleanupMetadata(n,"folderTreeSortOverrides",r),this.cleanupMetadata(n,"folderAppearances",r)]);return o||a.some(i=>i)}async cleanupWithValidators(n,r=this.settingsProvider.settings){this.folderDisplayCache.clear();let o=s=>n.vaultFolders.has(s),a=ym(r.collapsedPinnedContexts,W.FOLDER,o),i=await Promise.all([this.cleanupMetadata(r,"folderColors",o),this.cleanupMetadata(r,"folderBackgroundColors",o),this.cleanupMetadata(r,"folderIcons",o),this.cleanupMetadata(r,"folderSortOverrides",o),this.cleanupMetadata(r,"folderTreeSortOverrides",o),this.cleanupMetadata(r,"folderAppearances",o)]);return a||i.some(s=>s)}};Ue();Sn();Ot();dn();function I$(t,e){return t===zt||t===bt||e(t)}var YT=class extends pd{constructor(n,r,o){super(n,r);this.getTagTreeProvider=o}async setTagColor(n,r){let o=Ze(n);return o?this.setEntityColor(W.TAG,o,r):Promise.resolve()}async setTagBackgroundColor(n,r){let o=Ze(n);return o?this.setEntityBackgroundColor(W.TAG,o,r):Promise.resolve()}async removeTagColor(n){let r=Ze(n);return r?this.removeEntityColor(W.TAG,r):Promise.resolve()}async removeTagBackgroundColor(n){let r=Ze(n);return r?this.removeEntityBackgroundColor(W.TAG,r):Promise.resolve()}resolveTagColorData(n,r,o){let a=r?this.getEntityColor(W.TAG,n):void 0,i=o?this.getEntityBackgroundColor(W.TAG,n):void 0;if(!(this.settingsProvider.settings.inheritTagColors&&(r&&!a||o&&!i)))return{color:a,background:i};let l=n;for(;l.includes("/");){let c=l.lastIndexOf("/");if(c<=0)break;if(l=l.slice(0,c),r&&!a){let u=this.getEntityColor(W.TAG,l);u&&(a=u)}if(o&&!i){let u=this.getEntityBackgroundColor(W.TAG,l);u&&(i=u)}if((!r||a)&&(!o||i))break}return{color:a,background:i}}getTagColorData(n){let r=Ze(n);return r?this.resolveTagColorData(r,!0,!0):{}}getTagColor(n){let r=Ze(n);if(r)return this.resolveTagColorData(r,!0,!1).color}getTagBackgroundColor(n){let r=Ze(n);if(r)return this.resolveTagColorData(r,!1,!0).background}async setTagIcon(n,r){let o=Ze(n);return o?this.setEntityIcon(W.TAG,o,r):Promise.resolve()}async removeTagIcon(n){let r=Ze(n);return r?this.removeEntityIcon(W.TAG,r):Promise.resolve()}getTagIcon(n){let r=Ze(n);if(r)return this.getEntityIcon(W.TAG,r)}async setTagSortOverride(n,r){let o=Ze(n);return o?this.setEntitySortOverride(W.TAG,o,r):Promise.resolve()}async removeTagSortOverride(n){let r=Ze(n);return r?this.removeEntitySortOverride(W.TAG,r):Promise.resolve()}getTagSortOverride(n){let r=Ze(n);if(r)return this.getEntitySortOverride(W.TAG,r)}async setTagChildSortOrderOverride(n,r){let o=Ze(n);return o?this.setEntityChildSortOrderOverride(W.TAG,o,r):Promise.resolve()}async removeTagChildSortOrderOverride(n){let r=Ze(n);return r?this.removeEntityChildSortOrderOverride(W.TAG,r):Promise.resolve()}getTagChildSortOrderOverride(n){let r=Ze(n);if(r)return this.getEntityChildSortOrderOverride(W.TAG,r)}hasTagMetadataForPath(n,r){let o=`${r}/`,a=[n.tagColors,n.tagBackgroundColors,n.tagIcons,n.tagSortOverrides,n.tagTreeSortOverrides,n.tagAppearances];for(let i of a)if(i){if(Object.prototype.hasOwnProperty.call(i,r))return!0;for(let s in i)if(s.startsWith(o))return!0}return!1}removeTagMetadataForPath(n,r,o){if(!n)return!1;let a=!1,i=Object.keys(n);for(let s of i)(s===r||s.startsWith(o))&&(delete n[s],a=!0);return a}willUpdateNestedPaths(n,r,o,a){if(!n)return!1;let i={...n};return this.updateNestedPaths(i,r,o,a)}async handleTagRename(n,r,o=!1,a){let i=Ze(n),s=Ze(r);if(!i||!s||i===s){a&&await this.saveAndUpdate(f=>!!a(f));return}let l=this.settingsProvider.settings,c=this.hasTagMetadataForPath(l,i),u=IO(l,i),p=xO(l,i),m=wA(l.collapsedPinnedContexts,W.TAG,i,{descendantDelimiter:"/"}),g=c?this.willUpdateNestedPaths(l.tagColors,i,s,o)||this.willUpdateNestedPaths(l.tagBackgroundColors,i,s,o)||this.willUpdateNestedPaths(l.tagIcons,i,s,o)||this.willUpdateNestedPaths(l.tagSortOverrides,i,s,o)||this.willUpdateNestedPaths(l.tagTreeSortOverrides,i,s,o)||this.willUpdateNestedPaths(l.tagAppearances,i,s,o):!1;!g&&!u&&!p&&!m&&!a||await this.saveAndUpdate(f=>{let h=!1;return g&&(h=this.updateNestedPaths(f.tagColors,i,s,o)||h,h=this.updateNestedPaths(f.tagBackgroundColors,i,s,o)||h,h=this.updateNestedPaths(f.tagIcons,i,s,o)||h,h=this.updateNestedPaths(f.tagSortOverrides,i,s,o)||h,h=this.updateNestedPaths(f.tagTreeSortOverrides,i,s,o)||h,h=this.updateNestedPaths(f.tagAppearances,i,s,o)||h),h=pv(f.collapsedPinnedContexts,W.TAG,i,s,{descendantDelimiter:"/",preserveExisting:o})||h,h=Gj(f,i,s)||h,h=qj(f,i,s)||h,a&&(h=a(f)||h),h})}async handleTagDelete(n,r){let o=Ze(n);if(!o){r&&await this.saveAndUpdate(l=>!!r(l));return}let a=this.settingsProvider.settings,i=this.hasTagMetadataForPath(a,o)||IO(a,o)||xO(a,o)||wA(a.collapsedPinnedContexts,W.TAG,o,{descendantDelimiter:"/"});if(!i&&!r)return;let s=`${o}/`;await this.saveAndUpdate(l=>{let c=!1;return i&&(c=this.removeTagMetadataForPath(l.tagColors,o,s)||c,c=this.removeTagMetadataForPath(l.tagBackgroundColors,o,s)||c,c=this.removeTagMetadataForPath(l.tagIcons,o,s)||c,c=this.removeTagMetadataForPath(l.tagSortOverrides,o,s)||c,c=this.removeTagMetadataForPath(l.tagTreeSortOverrides,o,s)||c,c=this.removeTagMetadataForPath(l.tagAppearances,o,s)||c),c=mv(l.collapsedPinnedContexts,W.TAG,o,{descendantDelimiter:"/"})||c,c=Yj(l,o)||c,c=$j(l,o)||c,r&&(c=r(l)||c),c})}async cleanupTagMetadata(n=this.settingsProvider.settings){let o=this.getTagTreeProvider()?.getAllTagPaths()||[],a=new Set(o.map(u=>Ze(u)).filter(u=>u!==null)),i=u=>{let p=Ze(u);return p?a.has(p):!1},s=u=>I$(u,i),l=ym(n.collapsedPinnedContexts,W.TAG,s),c=await Promise.all([this.cleanupMetadata(n,"tagColors",i),this.cleanupMetadata(n,"tagBackgroundColors",i),this.cleanupMetadata(n,"tagIcons",i),this.cleanupMetadata(n,"tagSortOverrides",i),this.cleanupMetadata(n,"tagTreeSortOverrides",i),this.cleanupMetadata(n,"tagAppearances",i)]);return l||c.some(u=>u)}async cleanupWithValidators(n,r=this.settingsProvider.settings){let o=n.dbFiles.some(({data:p})=>p.tags!==null);if(n.tagTree.size===0&&!o)return!1;let a=[];for(let p of n.tagTree.values()){let m=g=>{a.push(g.path);for(let f of g.children.values())m(f)};m(p)}let i=new Set(a.map(p=>Ze(p)).filter(p=>p!==null)),s=p=>{let m=Ze(p);return m?i.has(m):!1},l=p=>I$(p,s),c=ym(r.collapsedPinnedContexts,W.TAG,l),u=await Promise.all([this.cleanupMetadata(r,"tagColors",s),this.cleanupMetadata(r,"tagBackgroundColors",s),this.cleanupMetadata(r,"tagIcons",s),this.cleanupMetadata(r,"tagSortOverrides",s),this.cleanupMetadata(r,"tagTreeSortOverrides",s),this.cleanupMetadata(r,"tagAppearances",s)]);return c||u.some(p=>p)}};Ue();zn();cn();Ot();dn();var $T=class extends pd{constructor(e,n){super(e,n)}async setPropertyColor(e,n){let r=Gt(e);return r?this.setEntityColor(W.PROPERTY,r,n):Promise.resolve()}async setPropertyBackgroundColor(e,n){let r=Gt(e);return r?this.setEntityBackgroundColor(W.PROPERTY,r,n):Promise.resolve()}async removePropertyColor(e){let n=Gt(e);return n?this.removeEntityColor(W.PROPERTY,n):Promise.resolve()}async removePropertyBackgroundColor(e){let n=Gt(e);return n?this.removeEntityBackgroundColor(W.PROPERTY,n):Promise.resolve()}resolvePropertyColorData(e,n,r){let o=n?this.getEntityColor(W.PROPERTY,e):void 0,a=r?this.getEntityBackgroundColor(W.PROPERTY,e):void 0;if(!(this.settingsProvider.settings.inheritPropertyColors&&(n&&!o||r&&!a)))return{color:o,background:a};let s=zi(e);return!s||s===e?{color:o,background:a}:(n&&!o&&(o=this.getEntityColor(W.PROPERTY,s)),r&&!a&&(a=this.getEntityBackgroundColor(W.PROPERTY,s)),{color:o,background:a})}getPropertyColorData(e){let n=Gt(e);return n?this.resolvePropertyColorData(n,!0,!0):{}}getPropertyColor(e){let n=Gt(e);if(n)return this.resolvePropertyColorData(n,!0,!1).color}getPropertyBackgroundColor(e){let n=Gt(e);if(n)return this.resolvePropertyColorData(n,!1,!0).background}async setPropertyIcon(e,n){let r=Gt(e);return r?this.setEntityIcon(W.PROPERTY,r,n):Promise.resolve()}async removePropertyIcon(e){let n=Gt(e);return n?this.removeEntityIcon(W.PROPERTY,n):Promise.resolve()}getPropertyIcon(e){let n=Gt(e);if(n)return this.getEntityIcon(W.PROPERTY,n)}async setPropertySortOverride(e,n){let r=e===Oe?e:Gt(e);return r?this.setEntitySortOverride(W.PROPERTY,r,n):Promise.resolve()}async removePropertySortOverride(e){let n=e===Oe?e:Gt(e);return n?this.removeEntitySortOverride(W.PROPERTY,n):Promise.resolve()}getPropertySortOverride(e){let n=e===Oe?e:Gt(e);if(n)return this.getEntitySortOverride(W.PROPERTY,n)}async setPropertyChildSortOrderOverride(e,n){let r=Wv(e);return r?this.setEntityChildSortOrderOverride(W.PROPERTY,r,n):Promise.resolve()}async removePropertyChildSortOrderOverride(e){let n=Wv(e);return n?this.removeEntityChildSortOrderOverride(W.PROPERTY,n):Promise.resolve()}getPropertyChildSortOrderOverride(e){let n=Wv(e);if(n)return this.getEntityChildSortOrderOverride(W.PROPERTY,n)}createPropertyNodeValidator(e,n){let r=Vv({propertyFields:Oi(e),dbFiles:n.dbFiles})??(()=>!1);return o=>o===Oe||r(o)}collectExistingPropertyKeys(e){let n=new Set;return e.dbFiles.forEach(r=>{let o=r.data.properties;!o||o.length===0||o.forEach(a=>{let i=Me(a.fieldKey);i&&n.add(i)})}),n}pruneConfiguredPropertyKeys(e,n){if(!Array.isArray(e.vaultProfiles)||e.vaultProfiles.length===0)return!1;let r=!1;return e.vaultProfiles.forEach(o=>{if(!Array.isArray(o.propertyKeys)||o.propertyKeys.length===0)return;let a=o.propertyKeys.filter(i=>{let s=typeof i?.key=="string"?Me(i.key):"";return s.length>0&&n.has(s)});a.length!==o.propertyKeys.length&&(o.propertyKeys=a,r=!0)}),r}async cleanupPropertyMetadata(e=this.settingsProvider.settings){let n={dbFiles:kt().getAllFiles(),tagTree:new Map,vaultFiles:new Set,vaultFolders:new Set};return this.cleanupWithValidators(n,e)}async cleanupWithValidators(e,n=this.settingsProvider.settings){let r=this.createPropertyNodeValidator(n,e),o=this.collectExistingPropertyKeys(e),a=ym(n.collapsedPinnedContexts,W.PROPERTY,r),i=await Promise.all([this.cleanupMetadata(n,"propertyColors",r),this.cleanupMetadata(n,"propertyBackgroundColors",r),this.cleanupMetadata(n,"propertyIcons",r),this.cleanupMetadata(n,"propertySortOverrides",r),this.cleanupMetadata(n,"propertyTreeSortOverrides",r),this.cleanupMetadata(n,"propertyAppearances",r)]),s=this.pruneConfiguredPropertyKeys(n,o);return a||s||i.some(l=>l)}};var x$=require("obsidian");Ue();Ia();zn();Si();Ot();Ay();var XT=class t extends pd{static{this.VAULT_ICON_PROVIDER_ID="vault"}getFile(e){let n=this.app.vault.getAbstractFileByPath(e);return n instanceof x$.TFile?n:null}shouldUseFrontmatterForFiles(){return this.settingsProvider.settings.useFrontmatterMetadata}isVaultSvgIconPath(e){return e.trim().toLowerCase().endsWith(".svg")}formatVaultIconId(e){return`${t.VAULT_ICON_PROVIDER_ID}:${e}`}replaceIconValues(e,n,r){if(!e)return!1;let o=!1;return Object.entries(e).forEach(([a,i])=>{i===n&&(e[a]=r,o=!0)}),o}updateVaultIconReferencesInSettings(e,n,r){let o=!1;o=this.replaceIconValues(e.folderIcons,n,r)||o,o=this.replaceIconValues(e.tagIcons,n,r)||o,o=this.replaceIconValues(e.fileIcons,n,r)||o,o=this.replaceIconValues(e.interfaceIcons,n,r)||o,o=this.replaceIconValues(e.fileNameIconMap,n,r)||o,o=this.replaceIconValues(e.fileTypeIconMap,n,r)||o;let a=`${t.VAULT_ICON_PROVIDER_ID}:`;if(n.startsWith(a)&&r.startsWith(a)){let i=n.substring(a.length),s=r.substring(a.length);o=this.replaceIconValues(e.fileNameIconMap,i,s)||o,o=this.replaceIconValues(e.fileTypeIconMap,i,s)||o}return o}updateVaultIconReferencesInRecents(e,n){let r=this.settingsProvider.getRecentIcons(),o=r[t.VAULT_ICON_PROVIDER_ID];if(o===void 0)return;if(!Array.isArray(o)){delete r[t.VAULT_ICON_PROVIDER_ID],this.settingsProvider.setRecentIcons(r);return}let a=!1,i=!1,s=o.filter(c=>typeof c=="string"?!0:(i=!0,!1));if(s.length===0){i&&(delete r[t.VAULT_ICON_PROVIDER_ID],this.settingsProvider.setRecentIcons(r));return}let l=s.map(c=>c!==e?c:(a=!0,n));!a&&!i||(l.length===0?delete r[t.VAULT_ICON_PROVIDER_ID]:r[t.VAULT_ICON_PROVIDER_ID]=l,this.settingsProvider.setRecentIcons(r))}async updateVaultIconReferencesInFrontmatter(e,n){if(!this.shouldUseFrontmatterForFiles())return;let o=this.settingsProvider.settings.frontmatterIconField?.trim();if(!o)return;let a=kt(),i=[];if(a.forEachFile((l,c)=>{c.metadata?.icon===e&&i.push(l)}),i.length===0)return;let s=oi(n);if(s)for(let l of i){let c=this.getFile(l);if(!c||c.extension!=="md")continue;let u=!1;try{await this.app.fileManager.processFrontMatter(c,p=>{let m=Yo(p,o);if(!m)return;let g=p[m];if(typeof g=="string"){if(Lh(g)!==e)return;p[m]=s,u=!0;return}if(Array.isArray(g)){let h=g.map(b=>typeof b!="string"||Lh(b)!==e?b:(u=!0,s));u&&(p[m]=h)}})}catch(p){console.error("Failed to update vault icon reference in frontmatter",{path:c.path,field:o,error:p});continue}u&&await a.updateFileMetadata(c.path,{icon:n})}}async writeFrontmatterValue(e,n,r,o){let a=n.trim();if(!a)return{success:!1,normalized:null};let i=null,s=null;if(r!==null)if(o==="icon"){let c=qn(r.trim());if(i=c&&c.length>0?c:null,i){let u=oi(i);if(!u)return{success:!1,normalized:null};s=u}}else{let c=r.trim();i=c.length>0?c:null,s=i}let l=s===null?null:s.trim();try{await this.app.fileManager.processFrontMatter(e,p=>{let m=Yo(p,a)??a;if(l&&l.length>0){p[m]=l;return}Reflect.has(p,m)&&delete p[m]});let c=kt(),u={};return o==="icon"?u.icon=i&&i.length>0?i:void 0:o==="background"?u.background=i&&i.length>0?i:void 0:u.color=i&&i.length>0?i:void 0,await c.updateFileMetadata(e.path,u),{success:!0,normalized:l??null}}catch(c){return console.error("Failed to update frontmatter metadata",{path:e.path,field:a,error:c}),{success:!1,normalized:null}}}async clearSettingsEntry(e,n){let r=this.settingsProvider.settings[e];!r||r[n]===void 0||await this.saveAndUpdate(o=>{let a=o[e];a&&delete a[n]})}async togglePinnedNote(e,n){await this.saveAndUpdate(r=>{r.pinnedNotes||(r.pinnedNotes={});let o=r.pinnedNotes[e];if(!o)r.pinnedNotes[e]={folder:n==="folder",tag:n==="tag",property:n==="property"};else{let a=Yl(o);r.pinnedNotes[e]=a,a[n]=!a[n],!a.folder&&!a.tag&&!a.property&&delete r.pinnedNotes[e]}})}async pinNotes(e,n){let r=Array.from(new Set(e)).filter(a=>a.length>0);if(r.length===0)return 0;let o=0;return await this.saveAndUpdate(a=>{a.pinnedNotes||(a.pinnedNotes={});let i=!1;for(let s of r){let l=a.pinnedNotes[s];if(!l){a.pinnedNotes[s]={folder:n==="folder",tag:n==="tag",property:n==="property"},i=!0,o+=1;continue}let c=Yl(l);c[n]||(c[n]=!0,a.pinnedNotes[s]=c,i=!0,o+=1)}return i}),o}isPinned(e,n){let r=this.settingsProvider.settings.pinnedNotes?.[e];if(!r)return!1;let o=Yl(r);return n?o[n]||!1:o.folder||o.tag||o.property}getPinnedNotes(e){let n=this.settingsProvider.settings.pinnedNotes||{};return e?Object.entries(n).filter(([r,o])=>Yl(o)[e]).map(([r])=>r):Object.keys(n)}async handleFileDelete(e){let n=Dy(this.app,"note",e);await this.saveAndUpdate(r=>{r.pinnedNotes?.[e]&&delete r.pinnedNotes[e],r.fileIcons?.[e]&&delete r.fileIcons[e],r.fileColors?.[e]&&delete r.fileColors[e],r.fileBackgroundColors?.[e]&&delete r.fileBackgroundColors[e],this.updateShortcuts(r,o=>{if(Po(o))return n(o.path)?null:void 0})})}async handleFileRename(e,n){let r=this.isVaultSvgIconPath(e)&&this.isVaultSvgIconPath(n),o=r?this.formatVaultIconId(e):null,a=r?this.formatVaultIconId(n):null,i=Dy(this.app,"note",e,n);await this.saveAndUpdate(s=>{let l=!1;if(s.pinnedNotes?.[e]){let c=s.pinnedNotes[e];delete s.pinnedNotes[e],s.pinnedNotes[n]=c,l=!0}return l=this.updateNestedPaths(s.fileIcons,e,n)||l,l=this.updateNestedPaths(s.fileColors,e,n)||l,l=this.updateNestedPaths(s.fileBackgroundColors,e,n)||l,o&&a&&(l=this.updateVaultIconReferencesInSettings(s,o,a)||l),l=this.updateShortcuts(s,c=>{if(Po(c)&&i(c.path))return{...c,path:n}})||l,l}),!(!o||!a)&&(this.updateVaultIconReferencesInRecents(o,a),await this.updateVaultIconReferencesInFrontmatter(o,a))}async setFileIcon(e,n){let r=this.getFile(e);if(r){if(this.shouldUseFrontmatterForFiles()&&r.extension==="md"){let o=this.settingsProvider.settings.frontmatterIconField,{success:a}=await this.writeFrontmatterValue(r,o,n,"icon");if(a){await this.clearSettingsEntry("fileIcons",e);return}}await this.setEntityIcon(W.FILE,e,n)}}async removeFileIcon(e){let n=this.getFile(e);if(n&&this.shouldUseFrontmatterForFiles()&&n.extension==="md"){let r=this.settingsProvider.settings.frontmatterIconField,{success:o}=await this.writeFrontmatterValue(n,r,null,"icon");if(o){await this.clearSettingsEntry("fileIcons",e);return}}await this.removeEntityIcon(W.FILE,e)}getFileIcon(e){return this.getEntityIcon(W.FILE,e)}async setFileColor(e,n){if(!this.validateColor(n))return;let r=this.getFile(e);if(r){if(this.shouldUseFrontmatterForFiles()&&r.extension==="md"){let o=this.settingsProvider.settings.frontmatterColorField,{success:a}=await this.writeFrontmatterValue(r,o,n,"color");if(a){await this.clearSettingsEntry("fileColors",e);return}}await this.setEntityColor(W.FILE,e,n)}}async removeFileColor(e){let n=this.getFile(e);if(n&&this.shouldUseFrontmatterForFiles()&&n.extension==="md"){let r=this.settingsProvider.settings.frontmatterColorField,{success:o}=await this.writeFrontmatterValue(n,r,null,"color");if(o){await this.clearSettingsEntry("fileColors",e);return}}await this.removeEntityColor(W.FILE,e)}async setFileBackgroundColor(e,n){if(!this.validateColor(n))return;let r=this.getFile(e);if(r){if(this.shouldUseFrontmatterForFiles()&&r.extension==="md"){let o=this.settingsProvider.settings.frontmatterBackgroundField,{success:a}=await this.writeFrontmatterValue(r,o,n,"background");if(a){await this.clearSettingsEntry("fileBackgroundColors",e);return}}await this.setEntityBackgroundColor(W.FILE,e,n)}}async removeFileBackgroundColor(e){let n=this.getFile(e);if(n&&this.shouldUseFrontmatterForFiles()&&n.extension==="md"){let r=this.settingsProvider.settings.frontmatterBackgroundField,{success:o}=await this.writeFrontmatterValue(n,r,null,"background");if(o){await this.clearSettingsEntry("fileBackgroundColors",e);return}}await this.removeEntityBackgroundColor(W.FILE,e)}async migrateSettingsToFrontmatter(){let e=this.settingsProvider.settings,n=Object.keys(e.fileIcons||{}).length,r=Object.keys(e.fileColors||{}).length+Object.keys(e.fileBackgroundColors||{}).length;if(!this.shouldUseFrontmatterForFiles())return{iconsBefore:n,colorsBefore:r,migratedIcons:0,migratedColors:0,filesUpdated:0,failures:0};let o=Object.entries(e.fileIcons||{}),a=Object.entries(e.fileColors||{}),i=Object.entries(e.fileBackgroundColors||{}),s=new Set,l=0,c=0,u=0,p=e.frontmatterIconField.trim(),m=e.frontmatterColorField.trim(),g=e.frontmatterBackgroundField.trim(),f=p.length>0,h=m.length>0,b=g.length>0;if(f)for(let[v,y]of o){let S=this.getFile(v);if(!S||S.extension!=="md"){u+=1;continue}let{success:w}=await this.writeFrontmatterValue(S,p,y,"icon");w?(await this.clearSettingsEntry("fileIcons",v),s.add(v),l+=1):u+=1}if(h)for(let[v,y]of a){let S=this.getFile(v);if(!S||S.extension!=="md"){u+=1;continue}let{success:w}=await this.writeFrontmatterValue(S,m,y,"color");w?(await this.clearSettingsEntry("fileColors",v),s.add(v),c+=1):u+=1}if(b)for(let[v,y]of i){let S=this.getFile(v);if(!S||S.extension!=="md"){u+=1;continue}let{success:w}=await this.writeFrontmatterValue(S,g,y,"background");w?(await this.clearSettingsEntry("fileBackgroundColors",v),s.add(v),c+=1):u+=1}return{iconsBefore:n,colorsBefore:r,migratedIcons:l,migratedColors:c,filesUpdated:s.size,failures:u}}getFileColor(e){return this.getEntityColor(W.FILE,e)??void 0}getFileBackgroundColor(e){return this.getEntityBackgroundColor(W.FILE,e)??void 0}async cleanupWithValidators(e,n=this.settingsProvider.settings){let r=!1,o=n.pinnedNotes;if(o&&Object.keys(o).length>0){let l=Object.keys(o).filter(c=>!e.vaultFiles.has(c));l.length>0&&(n===this.settingsProvider.settings?await this.saveAndUpdate(c=>{l.forEach(u=>{c.pinnedNotes&&delete c.pinnedNotes[u]})}):l.forEach(c=>{n.pinnedNotes&&delete n.pinnedNotes[c]}),r=!0)}let a=await this.cleanupMetadata(n,"fileIcons",l=>e.vaultFiles.has(l)),i=await this.cleanupMetadata(n,"fileColors",l=>e.vaultFiles.has(l)),s=await this.cleanupMetadata(n,"fileBackgroundColors",l=>e.vaultFiles.has(l));return r||a||i||s}async cleanupPinnedNotes(e=this.settingsProvider.settings){let n=new Set(this.app.vault.getFiles().map(r=>r.path));return this.cleanupWithValidators({vaultFiles:n,vaultFolders:new Set,dbFiles:[],tagTree:new Map},e)}};var R$=require("obsidian");JT();cn();Sn();Ue();Ot();zn();dn();Ba();var E$="folder:",M$="tag:",Mge=new Set([zt,bt]),ek=class extends pd{constructor(n,r,o,a){super(n,r);this.getTagTreeProvider=o;this.getPropertyTreeProvider=a;this.separatorsVersion=0;this.separatorListeners=new Set}getSeparators(){return{...this.settingsProvider.settings.navigationSeparators||{}}}hasSeparator(n){let r=this.getKeyForTarget(n);return r?!!this.settingsProvider.settings.navigationSeparators?.[r]:!1}async setSeparator(n){let r=this.getKeyForTarget(n);r&&await this.saveAndUpdate(o=>{let a=this.ensureStore(o);return a[r]?!1:(a[r]=!0,this.markSeparatorsChanged(),!0)})}async removeSeparator(n){let r=this.getKeyForTarget(n);r&&await this.saveAndUpdate(o=>{let a=o.navigationSeparators;return!a||!a[r]?!1:(delete a[r],this.markSeparatorsChanged(),!0)})}async handleFolderRename(n,r,o=!1){await this.saveAndUpdate(a=>this.applyFolderRename(a,n,r,o))}async handleFolderDelete(n){await this.saveAndUpdate(r=>this.applyFolderDelete(r,n))}async handleTagRename(n,r,o=!1){await this.saveAndUpdate(a=>this.applyTagRename(a,n,r,o))}async handleTagDelete(n){await this.saveAndUpdate(r=>this.applyTagDelete(r,n))}applyFolderRename(n,r,o,a=!1){let i=n.navigationSeparators;if(!i)return!1;let s=this.updatePrefixedPaths(i,E$,r,o,a);return s&&this.markSeparatorsChangedIfLive(n),s}applyFolderDelete(n,r){let o=n.navigationSeparators;if(!o)return!1;let a=this.deletePrefixedPaths(o,E$,r);return a&&this.markSeparatorsChangedIfLive(n),a}applyTagRename(n,r,o,a=!1){let i=n.navigationSeparators;if(!i)return!1;let s=Ze(r),l=Ze(o);if(!s||!l)return!1;let c=this.updatePrefixedPaths(i,M$,s,l,a);return c&&this.markSeparatorsChangedIfLive(n),c}applyTagDelete(n,r){let o=n.navigationSeparators;if(!o)return!1;let a=Ze(r);if(!a)return!1;let i=this.deletePrefixedPaths(o,M$,a);return i&&this.markSeparatorsChangedIfLive(n),i}async cleanupSeparators(n=this.settingsProvider.settings){let r=this.getKnownTagPaths(),o=this.createPropertyNodeValidator(n),a=await this.removeInvalidEntries(n,i=>this.folderExists(i),i=>this.tagExists(i,r),o??void 0);return a&&this.markSeparatorsChangedIfLive(n),a}async cleanupWithValidators(n,r=this.settingsProvider.settings){let o=c=>n.vaultFolders.has(c),a=this.collectValidatorTagPaths(n.tagTree),i=c=>this.isVirtualTag(c)||a.has(c),s=this.createPropertyNodeValidator(r,n),l=await this.removeInvalidEntries(r,o,i,s??void 0);return l&&this.markSeparatorsChangedIfLive(r),l}getKeyForTarget(n){if(n.type==="section")return QT(n.id);if(n.type==="folder"){let o=this.normalizeFolderPath(n.path);return o?Oy(o):null}if(n.type==="property"){let o=Gt(n.nodeId);return o?Ly(o):null}let r=Ze(n.path);return r?ZT(r):null}normalizeFolderPath(n){let r=n?.trim()??"";if(r.length===0||r==="/")return"/";try{let o=(0,R$.normalizePath)(r);return o.length===0?"/":o}catch(o){return console.error("[Notebook Navigator] Invalid folder path for navigation separator:",n,o),null}}ensureStore(n){let r=ln(n.navigationSeparators,fm);return n.navigationSeparators=r,r}updatePrefixedPaths(n,r,o,a,i){let s=`${r}${o}`,l=`${r}${o}/`,c=[];if(Object.prototype.hasOwnProperty.call(n,s)&&c.push({from:s,to:`${r}${a}`}),Object.keys(n).forEach(p=>{if(p.startsWith(l)){let m=p.slice(l.length);c.push({from:p,to:`${r}${a}/${m}`})}}),c.length===0)return!1;let u=!1;return c.forEach(({from:p,to:m})=>{if(p===m)return;if(Object.prototype.hasOwnProperty.call(n,m)===!0&&i){delete n[p],u=!0;return}n[m]=!0,delete n[p],u=!0}),u}deletePrefixedPaths(n,r,o){let a=`${r}${o}`,i=`${a}/`,s=!1;return Object.prototype.hasOwnProperty.call(n,a)&&(delete n[a],s=!0),Object.keys(n).forEach(l=>{l.startsWith(i)&&(delete n[l],s=!0)}),s}folderExists(n){return this.app.vault.getFolderByPath(n)!==null}tagExists(n,r){return this.isVirtualTag(n)||!r?!0:r.has(n)}isVirtualTag(n){return Mge.has(n)}getKnownTagPaths(){let n=this.getTagTreeProvider?.();return n?new Set(n.getAllTagPaths()):null}collectValidatorTagPaths(n){let r=new Set;return n.forEach(o=>ml(o,r)),r}createPropertyNodeValidator(n,r){if(r)return Vv({propertyFields:Oi(n),dbFiles:r.dbFiles});let o=Vv({propertyFields:Oi(n),propertyTreeProvider:this.getPropertyTreeProvider?.()??null});if(o)return o;let a=Sr();if(!a)return null;let i=a.getAllFiles();return i.length===0?null:Vv({propertyFields:Oi(n),dbFiles:i})}async removeInvalidEntries(n,r,o,a){let i=n.navigationSeparators;if(!i)return!1;let s=!1;return Object.keys(i).forEach(l=>{let c=qI(l);if(!c){delete i[l],s=!0;return}let u=qh(c);if(!u){delete i[l],s=!0;return}if(u.type==="folder"&&!r(u.path)){delete i[l],c!==l&&Object.prototype.hasOwnProperty.call(i,c)&&delete i[c],s=!0;return}if(u.type==="tag"&&!o(u.path)){delete i[l],c!==l&&Object.prototype.hasOwnProperty.call(i,c)&&delete i[c],s=!0;return}if(u.type==="property"){let p=Gt(u.nodeId);if(!p){delete i[l],c!==l&&Object.prototype.hasOwnProperty.call(i,c)&&delete i[c],s=!0;return}let m=Ly(p);if(a&&!a(p)){Object.prototype.hasOwnProperty.call(i,l)&&(delete i[l],s=!0),m!==l&&Object.prototype.hasOwnProperty.call(i,m)&&(delete i[m],s=!0);return}m!==l&&(Object.prototype.hasOwnProperty.call(i,m)||(i[m]=i[l]),delete i[l],s=!0);return}c!==l&&(Object.prototype.hasOwnProperty.call(i,c)||(i[c]=i[l]),delete i[l],s=!0)}),s}markSeparatorsChanged(){this.separatorsVersion+=1,this.separatorListeners.forEach(n=>n(this.separatorsVersion))}markSeparatorsChangedIfLive(n){n===this.settingsProvider.settings&&this.markSeparatorsChanged()}getVersion(){return this.separatorsVersion}subscribe(n){return this.separatorListeners.add(n),()=>this.separatorListeners.delete(n)}};zn();cn();Ot();Ba();var YI=class t{constructor(e,n,r,o){this.app=e;this.settingsProvider=n,this.folderService=new qT(e,n),this.tagService=new YT(e,n,r),this.propertyService=new $T(e,n),this.fileService=new XT(e,n),this.navigationSeparatorService=new ek(e,n,r,o)}getSettingsProvider(){return this.settingsProvider}dispose(){this.folderService.dispose()}setFolderStyleChangeListener(e){this.folderService.setFolderStyleChangeListener(e)}isFolderStyleEventBridgeEnabled(){return this.folderService.isFolderStyleEventBridgeEnabled()}async setFolderColor(e,n){return this.folderService.setFolderColor(e,n)}async setFolderBackgroundColor(e,n){return this.folderService.setFolderBackgroundColor(e,n)}async setFolderStyle(e,n){return this.folderService.setFolderStyle(e,n)}async removeFolderColor(e){return this.folderService.removeFolderColor(e)}async removeFolderBackgroundColor(e){return this.folderService.removeFolderBackgroundColor(e)}getFolderColor(e){return this.folderService.getFolderColor(e)}getFolderBackgroundColor(e){return this.folderService.getFolderBackgroundColor(e)}async setFolderIcon(e,n){return this.folderService.setFolderIcon(e,n)}async removeFolderIcon(e){return this.folderService.removeFolderIcon(e)}getFolderIcon(e){return this.folderService.getFolderIcon(e)}getFolderDisplayData(e,n){return this.folderService.getFolderDisplayData(e,n)}getFolderDisplayVersion(){return this.folderService.getFolderDisplayVersion()}subscribeToFolderDisplayChanges(e){return this.folderService.subscribeToFolderDisplayChanges(e)}getFolderDisplayNameVersion(){return this.folderService.getFolderDisplayNameVersion()}subscribeToFolderDisplayNameChanges(e){return this.folderService.subscribeToFolderDisplayNameChanges(e)}async setFolderSortOverride(e,n){return this.folderService.setFolderSortOverride(e,n)}async removeFolderSortOverride(e){return this.folderService.removeFolderSortOverride(e)}getFolderSortOverride(e){return this.folderService.getFolderSortOverride(e)}async setFolderChildSortOrderOverride(e,n){return this.folderService.setFolderChildSortOrderOverride(e,n)}async removeFolderChildSortOrderOverride(e){return this.folderService.removeFolderChildSortOrderOverride(e)}getFolderChildSortOrderOverride(e){return this.folderService.getFolderChildSortOrderOverride(e)}async handleFolderRename(e,n){await this.folderService.handleFolderRename(e,n,r=>this.navigationSeparatorService.applyFolderRename(r,e,n))}async handleFolderDelete(e){await this.folderService.handleFolderDelete(e,n=>this.navigationSeparatorService.applyFolderDelete(n,e))}async setTagColor(e,n){return this.tagService.setTagColor(e,n)}async setTagBackgroundColor(e,n){return this.tagService.setTagBackgroundColor(e,n)}async removeTagColor(e){return this.tagService.removeTagColor(e)}async removeTagBackgroundColor(e){return this.tagService.removeTagBackgroundColor(e)}getTagColor(e){return this.tagService.getTagColor(e)}getTagBackgroundColor(e){return this.tagService.getTagBackgroundColor(e)}getTagColorData(e){return this.tagService.getTagColorData(e)}async setTagIcon(e,n){return this.tagService.setTagIcon(e,n)}async removeTagIcon(e){return this.tagService.removeTagIcon(e)}getTagIcon(e){return this.tagService.getTagIcon(e)}async handleTagRename(e,n,r=!1){await this.tagService.handleTagRename(e,n,r,o=>this.navigationSeparatorService.applyTagRename(o,e,n,r))}async handleTagDelete(e){await this.tagService.handleTagDelete(e,n=>this.navigationSeparatorService.applyTagDelete(n,e))}async setTagSortOverride(e,n){return this.tagService.setTagSortOverride(e,n)}async removeTagSortOverride(e){return this.tagService.removeTagSortOverride(e)}getTagSortOverride(e){return this.tagService.getTagSortOverride(e)}async setTagChildSortOrderOverride(e,n){return this.tagService.setTagChildSortOrderOverride(e,n)}async removeTagChildSortOrderOverride(e){return this.tagService.removeTagChildSortOrderOverride(e)}getTagChildSortOrderOverride(e){return this.tagService.getTagChildSortOrderOverride(e)}async setPropertyColor(e,n){return this.propertyService.setPropertyColor(e,n)}async setPropertyBackgroundColor(e,n){return this.propertyService.setPropertyBackgroundColor(e,n)}async removePropertyColor(e){return this.propertyService.removePropertyColor(e)}async removePropertyBackgroundColor(e){return this.propertyService.removePropertyBackgroundColor(e)}getPropertyColor(e){return this.propertyService.getPropertyColor(e)}getPropertyBackgroundColor(e){return this.propertyService.getPropertyBackgroundColor(e)}getPropertyColorData(e){return this.propertyService.getPropertyColorData(e)}async setPropertyIcon(e,n){return this.propertyService.setPropertyIcon(e,n)}async removePropertyIcon(e){return this.propertyService.removePropertyIcon(e)}getPropertyIcon(e){return this.propertyService.getPropertyIcon(e)}async setPropertySortOverride(e,n){return this.propertyService.setPropertySortOverride(e,n)}async removePropertySortOverride(e){return this.propertyService.removePropertySortOverride(e)}getPropertySortOverride(e){return this.propertyService.getPropertySortOverride(e)}async setPropertyChildSortOrderOverride(e,n){return this.propertyService.setPropertyChildSortOrderOverride(e,n)}async removePropertyChildSortOrderOverride(e){return this.propertyService.removePropertyChildSortOrderOverride(e)}getPropertyChildSortOrderOverride(e){return this.propertyService.getPropertyChildSortOrderOverride(e)}getNavigationSeparators(){return this.navigationSeparatorService.getSeparators()}hasNavigationSeparator(e){return this.navigationSeparatorService.hasSeparator(e)}async addNavigationSeparator(e){return this.navigationSeparatorService.setSeparator(e)}async removeNavigationSeparator(e){return this.navigationSeparatorService.removeSeparator(e)}getNavigationSeparatorsVersion(){return this.navigationSeparatorService.getVersion()}subscribeToNavigationSeparatorChanges(e){return this.navigationSeparatorService.subscribe(e)}async togglePin(e,n){return this.fileService.togglePinnedNote(e,n)}async pinNotes(e,n){return this.fileService.pinNotes(e,n)}isFilePinned(e,n){return this.fileService.isPinned(e,n)}getPinnedNotes(e){return this.fileService.getPinnedNotes(e)}async setFileIcon(e,n){return this.fileService.setFileIcon(e,n)}async removeFileIcon(e){return this.fileService.removeFileIcon(e)}getFileIcon(e){if(this.settingsProvider.settings.useFrontmatterMetadata){let a=kt().getFile(e)?.metadata?.icon?.trim();if(a)return a}return this.fileService.getFileIcon(e)}async setFileColor(e,n){return this.fileService.setFileColor(e,n)}async removeFileColor(e){return this.fileService.removeFileColor(e)}async setFileBackgroundColor(e,n){return this.fileService.setFileBackgroundColor(e,n)}async removeFileBackgroundColor(e){return this.fileService.removeFileBackgroundColor(e)}getFileColor(e){if(this.settingsProvider.settings.useFrontmatterMetadata){let a=kt().getFile(e)?.metadata?.color?.trim();if(a)return a}return this.fileService.getFileColor(e)}getFileBackgroundColor(e){if(this.settingsProvider.settings.useFrontmatterMetadata){let a=kt().getFile(e)?.metadata?.background?.trim();if(a)return a}return this.fileService.getFileBackgroundColor(e)}async migrateFileMetadataToFrontmatter(){return this.fileService.migrateSettingsToFrontmatter()}async handleFileDelete(e){return this.fileService.handleFileDelete(e)}async handleFileRename(e,n){return this.fileService.handleFileRename(e,n)}async cleanupAllMetadata(e=this.settingsProvider.settings){let n=t.prepareCleanupValidators(this.app);return this.runUnifiedCleanup(n,e)}async cleanupTagMetadata(e=this.settingsProvider.settings){return this.tagService.cleanupTagMetadata(e)}async runUnifiedCleanup(e,n=this.settingsProvider.settings){let[r,o,a,i,s]=await Promise.all([this.folderService.cleanupWithValidators(e,n),this.tagService.cleanupWithValidators(e,n),this.propertyService.cleanupWithValidators(e,n),this.fileService.cleanupWithValidators(e,n),this.navigationSeparatorService.cleanupWithValidators(e,n)]);return r||o||a||i||s}async getCleanupSummary(){let e=t.cloneSettings(this.settingsProvider.settings),n=t.computeMetadataCounts(e);await this.cleanupAllMetadata(e);let r=t.computeMetadataCounts(e),o=Math.max(0,n.folders-r.folders),a=Math.max(0,n.tags-r.tags),i=Math.max(0,n.properties-r.properties),s=Math.max(0,n.files-r.files),l=Math.max(0,n.pinnedNotes-r.pinnedNotes),c=Math.max(0,n.separators-r.separators),u=o+a+i+s+l+c;return{folders:o,tags:a,properties:i,files:s,pinnedNotes:l,separators:c,total:u}}static cloneSettings(e){return JSON.parse(JSON.stringify(e))}static computeMetadataCounts(e){let n=t.collectUniqueKeys([e.folderColors,e.folderBackgroundColors,e.folderIcons,e.folderSortOverrides,e.folderAppearances]),r=t.collectUniqueKeys([e.tagColors,e.tagBackgroundColors,e.tagIcons,e.tagSortOverrides,e.tagAppearances]),o=t.collectUniqueKeys([e.fileIcons,e.fileColors,e.fileBackgroundColors]),a=t.collectUniqueKeys([e.propertyColors,e.propertyBackgroundColors,e.propertyIcons,e.propertySortOverrides,e.propertyAppearances,e.propertyTreeSortOverrides]);e.vaultProfiles.forEach(l=>{!Array.isArray(l.propertyKeys)||l.propertyKeys.length===0||l.propertyKeys.forEach(c=>{let u=typeof c?.key=="string"?Me(c.key):"";u&&a.add(Gn(u))})}),Object.keys(e.collapsedPinnedContexts??{}).forEach(l=>{let c=vm(l,"folder");if(c!==null){n.add(c);return}let u=vm(l,"tag");if(u!==null){r.add(u);return}let p=vm(l,"property");p!==null&&a.add(p)});let i=e.pinnedNotes?Object.keys(e.pinnedNotes).length:0,s=e.navigationSeparators?Object.keys(e.navigationSeparators).length:0;return{folders:n.size,tags:r.size,properties:a.size,files:o.size,pinnedNotes:i,separators:s}}static collectUniqueKeys(e){let n=new Set;return e.forEach(r=>{r&&Object.keys(r).forEach(o=>{n.add(o)})}),n}static prepareCleanupValidators(e,n){let r=kt(),o=n??uN(r,void 0,void 0,[],!0,!1).tagTree,a=new Set(e.vault.getFiles().map(l=>l.path)),i=new Set,s=l=>{i.add(l.path),l.children.forEach(c=>{c instanceof D$.TFolder&&s(c)})};return s(e.vault.getRoot()),{dbFiles:r.getAllFiles(),tagTree:o,vaultFiles:a,vaultFolders:i}}};var QI=require("obsidian");xn();Ee();Ai();var O$=require("obsidian");Ee();ot();By();var $I=class extends O$.Modal{constructor(e,n){super(e),this.propertyKey=n.propertyKey,this.affectedCount=n.affectedCount,this.sampleFiles=n.sampleFiles,this.initialValue=n.initialValue??n.propertyKey,this.onSubmit=n.onSubmit}onOpen(){let e=this.affectedCount===1?d.modals.tagOperation.file:d.modals.tagOperation.files;this.titleEl.setText(d.modals.propertyOperation.renameTitle.replace("{property}",this.propertyKey)),this.contentEl.createDiv("nn-tag-rename-description").setText(d.modals.propertyOperation.renameWarning.replace("{property}",this.propertyKey).replace("{count}",this.affectedCount.toString()).replace("{files}",e));let r=this.contentEl.createDiv("nn-tag-rename-input-container"),o=r.createEl("label",{text:d.modals.propertyOperation.newKeyPrompt});o.htmlFor="nn-property-rename-input",this.inputEl=r.createEl("input",{type:"text",attr:{id:"nn-property-rename-input"},value:this.initialValue,placeholder:d.modals.propertyOperation.newKeyPlaceholder}),this.inputEl.addClass("nn-input"),this.inputEl.addEventListener("input",()=>this.updateSubmitState()),this.contentEl.createEl("p",{text:d.modals.tagOperation.modificationWarning}).addClass("nn-tag-rename-warning"),mp(this.contentEl,{total:this.affectedCount,sample:this.sampleFiles});let i=this.contentEl.createDiv("nn-button-container");i.createEl("button",{text:d.common.cancel}).addEventListener("click",()=>this.close()),this.submitBtn=i.createEl("button",{text:d.modals.propertyOperation.confirmRename,cls:"mod-cta"}),this.submitBtn.addEventListener("click",()=>{Q(()=>this.handleSubmit())}),this.scope.register([],"Enter",l=>{activeDocument.activeElement===this.inputEl&&(l.preventDefault(),Q(()=>this.handleSubmit()))}),this.updateSubmitState(),this.inputEl.focus(),this.inputEl.select()}onClose(){this.contentEl.empty()}updateSubmitState(){if(!this.submitBtn)return;let n=this.inputEl.value.trim().length===0;this.submitBtn.toggleClass("mod-disabled",n),this.submitBtn.disabled=n}async handleSubmit(){let e=this.inputEl.value.trim();if(e.length===0)return;await this.onSubmit(e)&&this.close()}};Ud();Ot();Fn();ot();ed();Zr();cn();Rn();By();Ot();var XI=class{constructor(e){this.app=e}isMarkdownFile(e){return e.extension==="md"}async deletePropertyKeyFromFile(e,n){if(!this.isMarkdownFile(e))return!1;let r=Me(n);if(!r)return!1;let o=!1;try{await this.app.fileManager.processFrontMatter(e,a=>{let i=Object.keys(a);for(let s of i)Me(s)===r&&(delete a[s],o=!0)})}catch(a){throw console.error(`[Notebook Navigator] Failed to delete property key "${n}" from ${e.path}`,a),a}return o}async renamePropertyKeyInFile(e,n){if(!this.isMarkdownFile(e))return!1;let r=Me(n.oldKey),o=n.newKeyDisplay.trim(),a=Me(o);if(!r||!a||o.length===0)return!1;let i=!1;try{await this.app.fileManager.processFrontMatter(e,s=>{let l=Object.keys(s),c=l.filter(h=>Me(h)===r);if(c.length===0)return;let u=l.filter(h=>Me(h)===a),p=new Set([...c,...u]);p.delete(o);let g=(()=>{let h=c.find(v=>v===n.oldKey);return h||(c.slice().sort((v,y)=>v.localeCompare(y))[0]??c[0]??n.oldKey)})(),f=s[g];s[o]=f,p.forEach(h=>{delete s[h]}),i=!0})}catch(s){throw console.error(`[Notebook Navigator] Failed to rename property key "${n.oldKey}" → "${n.newKeyDisplay}" in ${e.path}`,s),s}return i}};dn();Ue();var L$=$t.operations.metadataMutationYieldBatchSize,z$=[{read:t=>t.propertyColors,write:(t,e)=>{t.propertyColors=e}},{read:t=>t.propertyBackgroundColors,write:(t,e)=>{t.propertyBackgroundColors=e}},{read:t=>t.propertyIcons,write:(t,e)=>{t.propertyIcons=e}},{read:t=>t.propertySortOverrides,write:(t,e)=>{t.propertySortOverrides=e}},{read:t=>t.propertyAppearances,write:(t,e)=>{t.propertyAppearances=e}}],B$=[{read:t=>t.propertyTreeSortOverrides,write:(t,e)=>{t.propertyTreeSortOverrides=e}}];function _$(t,e,n){if(!t.propertySortKey.trim())return!1;let r=YK(t.propertySortKey,e,n);return r===t.propertySortKey?!1:(t.propertySortKey=r,!0)}function H$(t,e,n){let r=t.manualSortPropertyKey.trim();return!r||Me(r)!==e?!1:(t.manualSortPropertyKey=n??"",!0)}function V$(t,e,n){let r=t.manualSortGroupHeaderProperty.trim();return!r||Me(r)!==e?!1:(t.manualSortGroupHeaderProperty=n??"",!0)}function Dge(t,e,n){if(!t)return!1;let r=!1;for(let o of Object.keys(t)){let a=Oc(t[o]);!a||typeof a=="string"||Me(a.propertyKey??"")===e&&(n?t[o]={...a,propertyKey:n}:delete t[o],r=!0)}return r}function U$(t,e,n){let r=!1;return KA.forEach(o=>{r=Dge(t[o],e,n)||r}),r}var ZI=class{constructor(e,n,r,o){this.app=e;this.getSettings=n;this.saveSettingsAndUpdate=r;this.getPropertyTreeService=o;this.propertyKeyRenameListeners=new Set;this.propertyKeyDeleteListeners=new Set;this.fileMutations=new XI(this.app)}addPropertyKeyRenameListener(e){return this.propertyKeyRenameListeners.add(e),()=>{this.propertyKeyRenameListeners.delete(e)}}addPropertyKeyDeleteListener(e){return this.propertyKeyDeleteListeners.add(e),()=>{this.propertyKeyDeleteListeners.delete(e)}}async promptRenamePropertyKey(e){let n=this.getPropertyTreeService();if(!n){de(d.fileSystem.notifications.propertyOperationsNotAvailable,{variant:"warning"});return}let r=n.getKeyNode(e);if(!r){de(d.fileSystem.notifications.propertyOperationsNotAvailable,{variant:"warning"});return}let o=this.collectPropertyKeyPathsFromVault(e),a=zy(this.app,o),i=Promise.resolve().then(()=>this.collectRenameConflictSnapshot(e,o));new $I(this.app,{propertyKey:r.name,affectedCount:a.total,sampleFiles:a.sample,initialValue:r.name,onSubmit:async l=>this.submitPropertyKeyRename({normalizedKey:e,keyNodeName:r.name,newKey:l,affectedPaths:o,conflictSnapshotPromise:i})}).open()}async renamePropertyKey(e,n){let r=this.getPropertyTreeService();if(!r)return de(d.fileSystem.notifications.propertyOperationsNotAvailable,{variant:"warning"}),!1;let o=r.getKeyNode(e);if(!o)return de(d.fileSystem.notifications.propertyOperationsNotAvailable,{variant:"warning"}),!1;let a=this.collectPropertyKeyPathsFromVault(e),i=Promise.resolve().then(()=>this.collectRenameConflictSnapshot(e,a));return this.submitPropertyKeyRename({normalizedKey:e,keyNodeName:o.name,newKey:n,affectedPaths:a,conflictSnapshotPromise:i})}async submitPropertyKeyRename(e){let n=e.newKey.trim();if(!n||n.includes(`
`)||n.includes("\r"))return de(d.modals.propertyOperation.invalidKeyName,{variant:"warning"}),!1;let r=Me(n);if(!r)return de(d.modals.propertyOperation.invalidKeyName,{variant:"warning"}),!1;let o=await e.conflictSnapshotPromise,a=this.collectRenameConflictPathsFromSnapshot(e.normalizedKey,r,o);return a.size>0&&!await this.confirmRenameConflicts({oldKeyDisplay:e.keyNodeName,newKeyDisplay:n,conflictPaths:a})?!1:await this.runPropertyKeyRename({oldKeyNormalized:e.normalizedKey,oldKeyDisplay:e.keyNodeName,newKeyDisplay:n,affectedPaths:e.affectedPaths})}async promptDeletePropertyKey(e){let n=this.getPropertyTreeService();if(!n){de(d.fileSystem.notifications.propertyOperationsNotAvailable,{variant:"warning"});return}let r=n.getKeyNode(e);if(!r){de(d.fileSystem.notifications.propertyOperationsNotAvailable,{variant:"warning"});return}let o=this.collectPropertyKeyPathsFromVault(e),a=zy(this.app,o),i=a.total===1?d.modals.tagOperation.file:d.modals.tagOperation.files;new En(this.app,d.modals.propertyOperation.deleteTitle.replace("{property}",r.name),d.modals.propertyOperation.deleteWarning.replace("{property}",r.name).replace("{count}",a.total.toString()).replace("{files}",i),()=>{Q(()=>this.runPropertyKeyDelete({keyNodeName:r.name,normalizedKey:e,affectedPaths:o}))},d.modals.propertyOperation.confirmDelete,{buildContent:l=>mp(l,a)}).open()}async runPropertyKeyRename(e){let n=Me(e.oldKeyNormalized),r=e.oldKeyDisplay.trim(),o=e.newKeyDisplay.trim(),a=Me(o);if(!n||!a||!o)return de(d.modals.propertyOperation.invalidKeyName,{variant:"warning"}),!1;if(r===o)return de(d.modals.propertyOperation.renameNoChanges.replace("{oldKey}",r).replace("{newKey}",o),{variant:"warning"}),!1;let i=0,s=0,l=0,c=0;for(let m of e.affectedPaths){let g=this.app.vault.getAbstractFileByPath(m);if(!(g instanceof QI.TFile)){c+=1;continue}try{if(!this.fileMutations.isMarkdownFile(g)){c+=1;continue}l+=1,await this.fileMutations.renamePropertyKeyInFile(g,{oldKey:r,newKeyDisplay:o})&&(i+=1)}catch(f){s+=1,console.error(`[Notebook Navigator] Failed to rename property key ${r} → ${o} in ${m}`,f)}c+=1,c%L$===0&&await qm()}if(!(s===0&&i>0))return de(`${d.modals.propertyOperation.confirmRename}: ${r} → ${o} (${i}/${l})`,{variant:"warning"}),!0;let p=!1;try{await this.updateSettingsAfterRename(n,o)}catch(m){p=!0,console.error("[Notebook Navigator] Failed to update settings after property key rename",m)}return this.notifyPropertyKeyRenamed({oldKey:n,newKey:a}),p?de(d.modals.propertyOperation.renameSettingsUpdateFailed.replace("{oldKey}",r).replace("{newKey}",o),{variant:"warning"}):de(`${d.modals.propertyOperation.confirmRename}: ${r} → ${o} (${i}/${l})`,{variant:"success"}),!0}async runPropertyKeyDelete(e){let n=Me(e.normalizedKey);if(!n)return!1;let r=0,o=0,a=0,i=0;for(let c of e.affectedPaths){let u=this.app.vault.getAbstractFileByPath(c);if(!(u instanceof QI.TFile)){i+=1;continue}try{if(!this.fileMutations.isMarkdownFile(u)){i+=1;continue}a+=1,await this.fileMutations.deletePropertyKeyFromFile(u,n)&&(r+=1)}catch(p){o+=1,console.error(`[Notebook Navigator] Failed to delete property key ${e.keyNodeName} in ${c}`,p)}i+=1,i%L$===0&&await qm()}if(!(o===0&&r>0))return de(`${d.modals.propertyOperation.confirmDelete}: ${e.keyNodeName} (${r}/${a})`,{variant:"warning"}),!0;let l=!1;try{await this.updateSettingsAfterDelete(n)}catch(c){l=!0,console.error("[Notebook Navigator] Failed to update settings after property key delete",c)}return this.notifyPropertyKeyDeleted({key:n}),l?de(d.modals.propertyOperation.deleteSettingsUpdateFailed.replace("{property}",e.keyNodeName),{variant:"warning"}):r===1?de(d.modals.propertyOperation.deleteSingleSuccess.replace("{property}",e.keyNodeName),{variant:"success"}):de(d.modals.propertyOperation.deleteMultipleSuccess.replace("{property}",e.keyNodeName).replace("{count}",r.toString()),{variant:"success"}),!0}renamePropertyNodeMetadataRecord(e,n,r){if(!e||n===r)return{changed:!1,next:e};let o=`${n}=`,a=Object.keys(e),i,s=!1;return a.forEach(l=>{if(!(l!==n&&!l.startsWith(o))){if(i||(i=De(e)),l===n){i[r]=i[l],delete i[l],s=!0;return}if(l.startsWith(o)){let c=`${r}${l.slice(n.length)}`;i[c]=i[l],delete i[l],s=!0}}}),s&&i?{changed:!0,next:i}:{changed:!1,next:e}}renamePropertyKeyMetadataRecord(e,n,r){if(!e||n===r||!Object.prototype.hasOwnProperty.call(e,n))return{changed:!1,next:e};let o=De(e);return o[r]=o[n],delete o[n],{changed:!0,next:o}}removePropertyNodeMetadataRecord(e,n){if(!e)return{changed:!1,next:e};let r=`${n}=`,o=Object.keys(e),a,i=!1;return o.forEach(s=>{s!==n&&!s.startsWith(r)||(a||(a=De(e)),delete a[s],i=!0)}),i&&a?{changed:!0,next:a}:{changed:!1,next:e}}removePropertyKeyMetadataRecord(e,n){if(!e||!Object.prototype.hasOwnProperty.call(e,n))return{changed:!1,next:e};let r=De(e);return delete r[n],{changed:!0,next:r}}mutatePropertyMetadataRecords(e,n,r){let o=!1;return n.forEach(a=>{let i=r(a.read(e));!i.changed||!i.next||(a.write(e,i.next),o=!0)}),o}renamePropertyNodeMetadataFields(e,n,r){return this.mutatePropertyMetadataRecords(e,z$,o=>this.renamePropertyNodeMetadataRecord(o,n,r))}renamePropertyKeyMetadataFields(e,n,r){return this.mutatePropertyMetadataRecords(e,B$,o=>this.renamePropertyKeyMetadataRecord(o,n,r))}removePropertyNodeMetadataFields(e,n){return this.mutatePropertyMetadataRecords(e,z$,r=>this.removePropertyNodeMetadataRecord(r,n))}removePropertyKeyMetadataFields(e,n){return this.mutatePropertyMetadataRecords(e,B$,r=>this.removePropertyKeyMetadataRecord(r,n))}migratePropertyMetadataAfterRename(e,n,r){let o=Gn(n),a=Gn(r),i=this.renamePropertyNodeMetadataFields(e,o,a),s=this.renamePropertyKeyMetadataFields(e,o,a),l=pv(e.collapsedPinnedContexts,W.PROPERTY,o,a,{descendantDelimiter:"="});return i||s||l}removePropertyMetadataForDeletedKey(e,n){let r=Gn(n),o=this.removePropertyNodeMetadataFields(e,r),a=this.removePropertyKeyMetadataFields(e,r),i=mv(e.collapsedPinnedContexts,W.PROPERTY,r,{descendantDelimiter:"="});return o||a||i}async updateSettingsAfterRename(e,n){let r=this.getSettings(),o=!1,a=Oi(r),i=Me(n),s=oW(a,e,n,!1);o=NO(r,s)||o,o=_$(r,e,n)||o,o=H$(r,e,n)||o,o=V$(r,e,n)||o,o=U$(r,e,n)||o,i&&(o=this.migratePropertyMetadataAfterRename(r,e,i)||o),o&&await this.saveSettingsAndUpdate()}async updateSettingsAfterDelete(e){let n=this.getSettings(),r=!1,o=Oi(n),a=rW(o,e);r=NO(n,a)||r,r=_$(n,e,null)||r,r=H$(n,e,null)||r,r=V$(n,e,null)||r,r=U$(n,e,null)||r,r=this.removePropertyMetadataForDeletedKey(n,e)||r,r&&await this.saveSettingsAndUpdate()}collectRenameConflictPaths(e,n,r){let o=this.collectRenameConflictSnapshot(e,r);return this.collectRenameConflictPathsFromSnapshot(e,n,o)}collectRenameConflictSnapshot(e,n){let r=Me(e);if(!r)return new Map;let o=new Map;for(let a of n){let i=this.app.vault.getAbstractFileByPath(a);if(!(!(i instanceof QI.TFile)||!this.fileMutations.isMarkdownFile(i)))try{let s=this.app.metadataCache.getFileCache(i)?.frontmatter;if(!mt(s))continue;let l=Object.keys(s);if(l.length===0)continue;let c=new Set,u=!1;if(l.forEach(p=>{let m=Me(p);m&&(c.add(m),m===r&&(u=!0))}),!u)continue;o.set(a,c)}catch(s){console.error(`[Notebook Navigator] Failed to analyze property rename conflict in ${a}`,s)}}return o}collectPropertyKeyPathsFromVault(e){let n=Me(e);if(!n)return new Set;let r=new Set,o=this.app.vault.getMarkdownFiles();for(let a of o){let i=this.app.metadataCache.getFileCache(a)?.frontmatter;if(!mt(i))continue;Object.keys(i).some(l=>Me(l)===n)&&r.add(a.path)}return r}collectRenameConflictPathsFromSnapshot(e,n,r){let o=Me(e),a=Me(n);if(!o||!a||o===a)return new Set;let i=new Set;return r.forEach((s,l)=>{s.has(a)&&i.add(l)}),i}async confirmRenameConflicts(e){let n=zy(this.app,e.conflictPaths),r=n.total===1?d.modals.tagOperation.file:d.modals.tagOperation.files;return await new Promise(o=>{new En(this.app,d.modals.propertyOperation.renameTitle.replace("{property}",e.oldKeyDisplay),d.modals.propertyOperation.renameConflictWarning.replace("{oldKey}",e.oldKeyDisplay).replace("{newKey}",e.newKeyDisplay).replace("{count}",n.total.toString()).replace("{files}",r),()=>o(!0),d.modals.propertyOperation.confirmRename,{buildContent:i=>mp(i,n),onCancel:()=>o(!1)}).open()})}notifyPropertyKeyRenamed(e){if(this.propertyKeyRenameListeners.size!==0)for(let n of this.propertyKeyRenameListeners)try{n(e)}catch(r){console.error("[Notebook Navigator] Property key rename listener failed",r)}}notifyPropertyKeyDeleted(e){if(this.propertyKeyDeleteListeners.size!==0)for(let n of this.propertyKeyDeleteListeners)try{n(e)}catch(r){console.error("[Notebook Navigator] Property key delete listener failed",r)}}};var JI=class{constructor(e){this.fileMutations=e}async addTagToFiles(e,n){let r=0,o=0;for(let a of n){if(!this.fileMutations.isMarkdownFile(a)){o++;continue}if(await this.fileMutations.fileHasTagOrAncestor(a,e)){o++;continue}await this.fileMutations.addTagToFile(a,e),r++}return{added:r,skipped:o}}async removeTagFromFiles(e,n){let r=0;for(let o of n)if(this.fileMutations.isMarkdownFile(o))try{await this.fileMutations.removeTagFromFile(o,e)&&r++}catch(a){console.error(`[Notebook Navigator] Failed to remove tag ${e} from ${o.path}`,a)}return r}async clearAllTagsFromFiles(e){let n=0;for(let r of e)this.fileMutations.isMarkdownFile(r)&&await this.fileMutations.clearAllTagsFromFile(r)&&n++;return n}getTagsFromFiles(e){return this.fileMutations.getTagsFromFiles(e)}};var W$=require("obsidian");Ud();Ee();Ai();Ue();nx();tk();ot();Fn();By();var Oge=$t.operations.metadataMutationYieldBatchSize,Lge=8,ox=class{constructor(e,n,r,o,a){this.app=e;this.fileMutations=n;this.getTagTreeService=r;this.getMetadataService=o;this.getHooks=a}async promptDeleteTag(e){if(e===zt||e===bt)return;let n=this.getHooks(),r=this.getTagTreeService(),o=n.resolveDisplayTagPath(e);if(o.length===0)return;let a=new Wi(o),i=dz(this.app,a,r),s=Array.from(new Set(i)),l=cz(this.app,s);if(l.total===0){de(`#${o}: ${d.listPane.emptyStateNoNotes}`,{variant:"warning"});return}let c=l.total===1?d.modals.tagOperation.file:d.modals.tagOperation.files;new En(this.app,d.modals.tagOperation.deleteTitle.replace("{tag}",`#${o}`),d.modals.tagOperation.deleteWarning.replace("{tag}",`#${o}`).replace("{count}",l.total.toString()).replace("{files}",c),()=>{Q(()=>this.runTagDelete(o))},d.modals.tagOperation.confirmDelete,{buildContent:p=>mp(p,l)}).open()}async runTagDelete(e,n){let r=this.getHooks(),o=new Wi(e),a=new Set;if(n&&n.length>0)n.forEach(b=>{typeof b=="string"&&b.length>0&&a.add(b)});else{let b=this.getTagTreeService();dz(this.app,o,b).forEach(y=>{typeof y=="string"&&y.length>0&&a.add(y)})}if(a.size===0)return de(`#${o.name}: ${d.listPane.emptyStateNoNotes}`,{variant:"warning"}),!1;let i=a.size,s=0,l=0,c=0,u=0,p={"file-missing":0,"not-markdown":0,"no-op":0},m={"file-missing":[],"not-markdown":[],"no-op":[]},g=(b,v)=>{b.length>=Lge||b.push(v)};for(let b of a){u+=1;let v=this.app.vault.getAbstractFileByPath(b);if(!(v instanceof W$.TFile))l+=1,p["file-missing"]+=1,g(m["file-missing"],b);else if(!this.fileMutations.isMarkdownFile(v))l+=1,p["not-markdown"]+=1,g(m["not-markdown"],v.path);else try{await r.deleteTagFromFile(v,o)?s+=1:(l+=1,p["no-op"]+=1,g(m["no-op"],v.path))}catch(y){c+=1,console.error(`[Notebook Navigator] Failed to delete tag ${o.tag} in ${b}`,y)}u%Oge===0&&await qm()}l>0&&console.warn("[Notebook Navigator] Tag delete skipped files",{skipped:l,total:i,skippedByReason:p,samples:m});let f=l>0||c>0,h=()=>{let b=l+c;return d.modals.tagOperation.deleteBatchNotFinalized.replace("{removed}",s.toString()).replace("{total}",i.toString()).replace("{notUpdated}",b.toString())};if(s===0){let b=f?h():d.fileSystem.notifications.noTagsToRemove,v=f&&c>0?`${b} ${d.modals.tagOperation.checkConsoleForDetails}`:b;return de(`${d.modals.tagOperation.confirmDelete}: ${o.tag}. ${v}`,{variant:"warning"}),!1}if(f){let b=h(),v=c>0?`${b} ${d.modals.tagOperation.checkConsoleForDetails}`:b;return de(`${d.modals.tagOperation.confirmDelete}: ${o.tag}. ${v}`,{variant:"warning"}),!0}return await r.removeTagMetadataAfterDelete(o.name),await r.removeTagShortcutsAfterDelete(o.name),r.notifyTagDeleted({path:o.name,canonicalPath:o.canonicalName}),s===1?de(d.fileSystem.notifications.tagRemovedFromNote,{variant:"success"}):de(d.fileSystem.notifications.tagRemovedFromNotes.replace("{count}",s.toString()),{variant:"success"}),!0}async deleteTagFromFile(e,n){if(!this.fileMutations.isMarkdownFile(e))return!1;let r=n.canonicalName;if(r.length===0)return!1;let o=this.fileMutations.collectDescendantTags(e,n.name),a=o?.normalizedSet??new Set,i=o?.tags??[],s=new Set(a);s.add(r);let l=i.length>0?[n.name,...i]:[n.name];return this.fileMutations.stripTagsFromFile(e,c=>s.has(c),l,"remove tag hierarchy from frontmatter")}async removeTagMetadataAfterDelete(e){let n=this.getMetadataService();if(!n)return;let r=e.trim();if(r.length!==0)try{await n.handleTagDelete(r)}catch(o){console.error("[Notebook Navigator] Failed to remove tag metadata after delete",o)}}};var n3=require("obsidian");zn();Dr();Sn();iz();Sl();Hy();As();vz();Ot();var e3="[^\\S\\r\\n]",t3=`#[^${Ch}]+`,Gge=`(?=$|[${Ch}])`,ax=class t{constructor(e,n){this.app=e;this.getSettings=n}static{this.INLINE_TAG_PATTERN=new RegExp(`(${e3})?${t3}`,"gu")}static{this.INLINE_TAG_TEST_PATTERN=new RegExp(`(?:^|\\s)${t3}`,"u")}isMarkdownFile(e){return e.extension==="md"}isValidTagName(e){return gN(e)}getTagLeaf(e){let n=e.split("/");return n[n.length-1]??e}async fileHasTagOrAncestor(e,n){if(!this.isMarkdownFile(e))return!1;let r=kt(),o=Pr({app:this.app,file:e,db:r}),a=It(n);return a.length===0?!1:o.some(i=>{let s=It(i);return s.length===0?!1:s===a?!0:a.startsWith(`${s}/`)})}async addTagToFile(e,n){if(this.isMarkdownFile(e)){await this.removeDescendantTagsFromFile(e,n);try{await this.app.fileManager.processFrontMatter(e,r=>{let o=this.resolveFrontmatterTagFieldKey(r)??"tags",a=r[o],i=typeof a=="string"&&a.trim().length===0;if(a==null||i){r[o]=[n];return}if(Array.isArray(a)){let s=a.filter(l=>typeof l=="string").map(l=>l.trim()).filter(l=>l.length>0);r[o]=this.dedupeCanonicalTagValues([...s,n]);return}if(typeof a=="string"){let s=Fo(a);r[o]=this.dedupeCanonicalTagValues([...s,n]);return}r[o]=[n]})}catch(r){throw console.error("[Notebook Navigator] Error adding tag to frontmatter",r),r}}}async removeTagFromFile(e,n){if(!this.isMarkdownFile(e))return!1;let r=It(n);return r.length===0?!1:this.stripTagsFromFile(e,o=>o===r,[n],"remove tag from frontmatter")}async removeDescendantTagsFromFile(e,n){if(!this.isMarkdownFile(e))return!1;let r=this.collectDescendantTags(e,n);return r?this.stripTagsFromFile(e,o=>r.normalizedSet.has(o),r.tags,"remove descendant tags from frontmatter"):!1}collectDescendantTags(e,n){let r=It(n);if(r.length===0)return null;let a=this.getTagsFromFiles([e]).filter(s=>It(s).startsWith(`${r}/`));if(a.length===0)return null;let i=new Set(a.map(s=>It(s)).filter(s=>s.length>0));return i.size===0?null:{tags:a,normalizedSet:i}}async clearAllTagsFromFile(e){if(!this.isMarkdownFile(e))return!1;let n=!1;try{await this.app.fileManager.processFrontMatter(e,o=>{let a=this.resolveFrontmatterTagFieldKey(o);if(!a)return;let i=o[a];(typeof i=="string"?i.trim().length>0:Array.isArray(i)?i.length>0:i)&&(n=!0,this.cleanupFrontmatterTags(o,a))})}catch(o){throw console.error("[Notebook Navigator] Error clearing frontmatter tags",o),o}let r=await this.app.vault.read(e);return this.hasInlineTags(r)&&await this.app.vault.process(e,o=>{let{content:a}=this.removeInlineTagsWithPattern(o,t.INLINE_TAG_PATTERN);return a!==o&&(n=!0),a}),n}async stripTagsFromFile(e,n,r,o){let a=!1,i=null;try{a=await this.stripTagsFromFrontmatter(e,n,o)}catch(l){i=l instanceof Error?l:new Error(String(l))}let s=r.length>0?await this.stripInlineTags(e,r):!1;if(i!==null)throw i;return a||s}getTagsFromFiles(e){let n=new Map,r=kt();for(let o of e){if(!this.isMarkdownFile(o))continue;Pr({app:this.app,file:o,db:r}).forEach(i=>{let s=It(i);s.length!==0&&(n.has(s)||n.set(s,i))})}return Array.from(n.values()).sort()}async stripTagsFromFrontmatter(e,n,r){let o=!1;try{await this.app.fileManager.processFrontMatter(e,a=>{let i=null,s=ex(a,l=>{if(Array.isArray(l.value)){if(l.isAlias){let m=this.filterAliasValues(l.value,n);if(!m.changed)return;m.nextValue===void 0?l.remove():l.set(m.nextValue);return}let p=this.filterFrontmatterTags(l.value,n);if(!p.changed)return;p.nextValue===void 0?(l.remove(),(l.lowerKey==="tags"||l.lowerKey==="tag")&&(i=i??l.key)):l.set(p.nextValue);return}let c=l.value;if(typeof c!="string")return;if(l.isAlias){let p=this.filterAliasValues(c,n);if(!p.changed)return;p.nextValue===void 0?l.remove():l.set(p.nextValue);return}let u=this.filterFrontmatterTags(c,n);u.changed&&(u.nextValue===void 0?(l.remove(),(l.lowerKey==="tags"||l.lowerKey==="tag")&&(i=i??l.key)):l.set(u.nextValue))});i&&this.cleanupFrontmatterTags(a,i),(s||i!==null)&&(o=!0)})}catch(a){throw a instanceof Error?(a.message=`[Notebook Navigator] Failed to ${r}: ${a.message}`,a):Object.assign(new Error(`[Notebook Navigator] Failed to ${r}`),{cause:a})}return o}filterFrontmatterTags(e,n){if(Array.isArray(e)){let{filtered:r,removed:o}=this.filterStringArrayEntries(e,a=>It(a),a=>a.length===0||n(a));return o?{nextValue:r.length===0?void 0:r,changed:!0}:{nextValue:e,changed:!1}}if(typeof e=="string"){let r=(0,n3.parseFrontMatterTags)({tags:e})??[];if(r.length===0)return{nextValue:e,changed:!1};let{filtered:o,removed:a}=this.filterStringArrayEntries(r,s=>It(s),s=>s.length===0||n(s));if(!a)return{nextValue:e,changed:!1};let i=o.filter(s=>typeof s=="string");return i.length===0?{changed:!0}:{nextValue:i.length===1?i[0]:i,changed:!0}}return{nextValue:e,changed:!1}}filterAliasValues(e,n){if(Array.isArray(e)){let{filtered:r,removed:o}=this.filterStringArrayEntries(e,a=>{let i=a.trim();if(!i.startsWith("#"))return null;let s=It(i);return s.length===0?null:s},n);return o?{nextValue:r.length===0?void 0:r,changed:!0}:{nextValue:e,changed:!1}}if(typeof e=="string"){let r=e.trim();if(!r.startsWith("#"))return{nextValue:e,changed:!1};let o=It(r);return o.length===0||!n(o)?{nextValue:e,changed:!1}:{changed:!0}}return{nextValue:e,changed:!1}}filterStringArrayEntries(e,n,r){let o=!1,a=[];for(let i of e){if(typeof i!="string"){a.push(i);continue}let s=i.trim();if(s.length===0){o=!0;continue}let l=n(s);if(l===null){a.push(s);continue}if(r(l)){o=!0;continue}a.push(s)}return{filtered:a,removed:o}}resolveFrontmatterTagFieldKey(e){return Yo(e,"tags")??Yo(e,"tag")}dedupeCanonicalTagValues(e){let n=[],r=new Set;return e.forEach(o=>{let a=o.trim();if(a.length===0)return;let i=It(a);!i||r.has(i)||(r.add(i),n.push(a))}),n}cleanupFrontmatterTags(e,n="tags"){if(!!this.getSettings()?.keepEmptyTagsProperty){e[n]=[];return}Reflect.has(e,n)&&delete e[n]}async stripInlineTags(e,n){let r=this.dedupeCanonicalTagValues(n);if(r.length===0)return!1;let o=r.filter(u=>hN(u));if(o.length===0)return!1;o.sort((u,p)=>p.length-u.length);let a=o.map(u=>({tag:u,pattern:this.buildSpecificTagPattern(u)})),i=!1,s,l=this.app.vault;if(typeof l.read=="function")try{if(s=await l.read(e),typeof s=="string"){let u=s;i=a.some(({pattern:p})=>this.matchesPattern(u,p))}}catch(u){throw console.error("[Notebook Navigator] Failed to read file while stripping inline tags",u),u instanceof Error?u:new Error("[Notebook Navigator] Failed to read file while stripping inline tags")}else i=!0;if(!i)return!1;if(typeof s=="string"){let u=this.applyInlineTagRemoval(s,a);return u.changed?(await this.app.vault.modify(e,u.content),!0):!1}let c=!1;return await this.app.vault.process(e,u=>{let p=this.applyInlineTagRemoval(u,a);return p.changed&&(c=!0),p.content}),c}applyInlineTagRemoval(e,n){if(n.length===0)return{content:e,changed:!1};let r=e,o=!1,a=this.computeInlineTagExclusionRanges(r);for(let{pattern:i}of n){let{content:s,exclusionRanges:l}=this.removeInlineTagsWithPattern(r,i,a);s!==r&&(o=!0,r=s),a=l}return{content:r,changed:o}}hasInlineTags(e){return t.INLINE_TAG_TEST_PATTERN.test(e)}buildSpecificTagPattern(e){let n=e.trim(),r=n.startsWith("#")?n.slice(1):n,o=this.escapeRegExp(r);return new RegExp(`(${e3})?#${o}${Gge}`,"giu")}removeInlineTagsWithPattern(e,n,r){n.lastIndex=0;let o=r??this.computeInlineTagExclusionRanges(e),a=[],i=e.replace(n,(s,l,c)=>{let u=l?.length??0,p=c+u,m=p>0?e.charAt(p-1):null;return!fN(m)||Y$(p,o)?s:(a.push({start:c,length:s.length}),"")});if(a.length>0){let s=0;for(let l of a){let c=l.start-s;this.shiftRangesAfterRemoval(o,c,l.length),s+=l.length}}return{content:i,exclusionRanges:o}}matchesPattern(e,n){return n.lastIndex=0,n.test(e)}escapeRegExp(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}computeInlineTagExclusionRanges(e){let n=nc(e),r=wl(e,n),o=Z$(e);return ou([...n,...r,...o])}shiftRangesAfterRemoval(e,n,r){if(r<=0)return;let o=n+r;for(let a of e)if(!(a.end<=n)){if(a.start>=o){a.start-=r,a.end-=r;continue}a.end=Math.max(a.start,a.end-r)}}};Ud();Ee();nx();var r3=require("obsidian");Ee();ot();By();var ix=class extends r3.Modal{constructor(e,n){super(e),this.tagPath=n.tagPath,this.affectedCount=n.affectedCount,this.sampleFiles=n.sampleFiles,this.initialValue=n.initialValue??n.tagPath,this.onSubmit=n.onSubmit}onOpen(){let e=`#${this.tagPath}`,n=this.affectedCount===1?d.modals.tagOperation.file:d.modals.tagOperation.files;this.titleEl.setText(d.modals.tagOperation.renameTitle.replace("{tag}",e)),this.contentEl.createDiv("nn-tag-rename-description").setText(d.modals.tagOperation.renameWarning.replace("{oldTag}",e).replace("{count}",this.affectedCount.toString()).replace("{files}",n));let o=this.contentEl.createDiv("nn-tag-rename-input-container"),a=o.createEl("label",{text:d.modals.tagOperation.newTagPrompt});a.htmlFor="nn-tag-rename-input",this.inputEl=o.createEl("input",{type:"text",attr:{id:"nn-tag-rename-input"},value:this.initialValue,placeholder:d.modals.tagOperation.newTagPlaceholder}),this.inputEl.addClass("nn-input"),this.inputEl.addEventListener("input",()=>this.updateSubmitState()),this.contentEl.createEl("p",{text:d.modals.tagOperation.modificationWarning}).addClass("nn-tag-rename-warning"),mp(this.contentEl,{total:this.affectedCount,sample:this.sampleFiles});let s=this.contentEl.createDiv("nn-button-container");s.createEl("button",{text:d.common.cancel}).addEventListener("click",()=>this.close()),this.submitBtn=s.createEl("button",{text:d.modals.tagOperation.confirmRename,cls:"mod-cta"}),this.submitBtn.addEventListener("click",()=>{Q(()=>this.handleSubmit())}),this.scope.register([],"Enter",c=>{activeDocument.activeElement===this.inputEl&&(c.preventDefault(),Q(()=>this.handleSubmit()))}),this.updateSubmitState(),this.inputEl.focus(),this.inputEl.select()}onClose(){this.contentEl.empty()}updateSubmitState(){if(!this.submitBtn)return;let e=this.inputEl.value.trim(),n=e.length===0||e===this.tagPath;this.submitBtn.toggleClass("mod-disabled",n),this.submitBtn.disabled=n}async handleSubmit(){let e=this.inputEl.value.trim();if(e.length===0||e===this.tagPath)return;await this.onSubmit(e)&&this.close()}};tk();Fn();var qge=$t.operations.metadataMutationYieldBatchSize,sx=class{constructor(e,n,r,o,a,i){this.app=e;this.fileMutations=n;this.getTagTreeService=r;this.getMetadataService=o;this.resolveDisplayTagPathInternal=a;this.getHooks=i}async promptRenameTag(e,n){let r=this.resolveDisplayTagPathInternal(e),o=new Wi(r),a=_y(this.app,o),i=uz(this.app,a);if(i.total===0){de(`#${r}: ${d.listPane.emptyStateNoNotes}`,{variant:"warning"});return}new ix(this.app,{tagPath:r,affectedCount:i.total,sampleFiles:i.sample,initialValue:this.getInitialInputValue(n,r),onSubmit:async l=>this.submitRename(r,o,l,a)}).open()}async renameTag(e,n){let r=this.resolveDisplayTagPathInternal(e),o=new Wi(r),a=_y(this.app,o);return uz(this.app,a).total===0?(de(`#${r}: ${d.listPane.emptyStateNoNotes}`,{variant:"warning"}),!1):this.submitRename(r,o,n,a)}async submitRename(e,n,r,o){let a=(r.startsWith("#")?r.slice(1):r).trim();if(!this.fileMutations.isValidTagName(a))return de(d.modals.tagOperation.invalidTagName,{variant:"warning"}),!1;let i=new Wi(a);return lz(n,i)?(de(d.modals.tagOperation.descendantRenameError,{variant:"warning"}),!1):await K$(this.app,a)?this.runTagRename(e,a,o):!1}getInitialInputValue(e,n){let o=(e??n).trim();return o.length===0?n:o.startsWith("#")?o.slice(1):o}buildRenameAnalysis(e,n,r){let o=new Wi(e),a=new Wi(n),i=new tx(o,a),s=this.getTagTreeService(),l=r??_y(this.app,o),c=s?s.getAllTagPaths().map(p=>`#${p}`):[],u=c.length>0?i.willMergeTags(c):null;return{oldTag:o,newTag:a,replacement:i,targets:l,mergeConflict:u}}async executeRename(e){let n=e.mergeConflict;if(n){let[c,u]=n;de(`${c.tag} merges into ${u.tag}`,{variant:"warning"})}let r=0,o=0,a=0,i={"file-missing":0,"file-changed":0,"no-op":0},s={"file-missing":[],"file-changed":[],"no-op":[]},l=(c,u)=>{c.length>=8||c.push(u)};for(let c=0;c<e.targets.length;c++){let u=e.targets[c];try{let p=await u.renamed(e.replacement);p.outcome==="changed"?r+=1:(o+=1,i[p.reason]+=1,l(s[p.reason],u.filePath))}catch(p){a+=1,console.error(`[Notebook Navigator] Failed to rename tag in ${u.filePath}`,p)}(c+1)%qge===0&&await qm()}return o>0&&console.warn("[Notebook Navigator] Tag rename skipped files",{skipped:o,total:e.targets.length,skippedByReason:i,samples:s}),{renamed:r,total:e.targets.length,skipped:o,failed:a}}async updateTagMetadataAfterRename(e,n,r){let o=this.getMetadataService();if(!o)return;let a=e.trim(),i=n.trim();if(!(a.length===0||i.length===0||a===i))try{await o.handleTagRename(a,i,r)}catch(s){console.error("[Notebook Navigator] Failed to update tag metadata after rename",s)}}async runTagRename(e,n,r=null){let o=this.getHooks(),a=this.buildRenameAnalysis(e,n,r);if(lz(a.oldTag,a.newTag))return de(d.modals.tagOperation.descendantRenameError,{variant:"warning"}),!1;if(a.oldTag.tag===a.newTag.tag)return de(d.modals.tagOperation.renameUnchanged.replace("{tag}",a.oldTag.tag),{variant:"warning"}),!1;if(a.targets.length===0)return de(`#${a.oldTag.name}: ${d.listPane.emptyStateNoNotes}`,{variant:"warning"}),!1;let i=await o.executeRename(a),s=i.skipped>0||i.failed>0,l=()=>{let c=i.skipped+i.failed;return d.modals.tagOperation.renameBatchNotFinalized.replace("{renamed}",i.renamed.toString()).replace("{total}",i.total.toString()).replace("{notUpdated}",c.toString())};if(i.renamed===0){let c=s?l():d.modals.tagOperation.renameNoChanges.replace("{oldTag}",a.oldTag.tag).replace("{newTag}",a.newTag.tag).replace("{countLabel}",d.listPane.emptyStateNoNotes),u=s&&i.failed>0?`${c} ${d.modals.tagOperation.checkConsoleForDetails}`:c;return de(`${d.modals.tagOperation.confirmRename}: ${a.oldTag.tag} → ${a.newTag.tag}. ${u}`,{variant:"warning"}),!1}if(s){let c=l(),u=i.failed>0?`${c} ${d.modals.tagOperation.checkConsoleForDetails}`:c;return de(`${d.modals.tagOperation.confirmRename}: ${a.oldTag.tag} → ${a.newTag.tag}. ${u}`,{variant:"warning"}),!0}return await o.updateTagMetadataAfterRename(a.oldTag.name,a.newTag.name,!!a.mergeConflict),await o.updateTagShortcutsAfterRename(a.oldTag.name,a.newTag.name),o.notifyTagRenamed({oldPath:a.oldTag.name,newPath:a.newTag.name,oldCanonicalPath:a.oldTag.canonicalName,newCanonicalPath:a.newTag.canonicalName,mergedIntoExisting:!!a.mergeConflict}),de(`${d.modals.tagOperation.confirmRename}: ${a.oldTag.tag} → ${a.newTag.tag} (${i.renamed}/${i.total})`,{variant:"success"}),!0}};Sn();Ia();dn();var lx=class{constructor(e){this.getMetadataService=e}async updateTagShortcutsAfterRename(e,n){let r=Ze(e),o=Ze(n);!r||!o||r===o||await this.mutateTagShortcuts(a=>{let i=`${r}/`,s=new Set;for(let p of a)if(Co(p)){let m=Ze(p.tagPath)??p.tagPath;m!==r&&!m.startsWith(i)&&s.add(m)}let l=new Set,c=!1,u=[];for(let p of a){if(!Co(p)){u.push(p);continue}let m=Ze(p.tagPath)??p.tagPath,g=m===r,f=m.startsWith(i),h=m;if(g||f){let v=f?m.slice(i.length):"";h=v.length>0?`${o}/${v}`:o,h!==m&&(c=!0)}if((g||f)&&s.has(h)){c=!0;continue}if(l.has(h)){h!==m&&(c=!0);continue}let b=h===p.tagPath?p:{...p,tagPath:h};u.push(b),l.add(h),s.add(h)}return{changed:c,next:u}},"Failed to update tag shortcuts after rename")}async removeTagShortcutsAfterDelete(e){let n=Ze(e);n&&await this.mutateTagShortcuts(r=>{let o=`${n}/`,a=!1,i=[];for(let s of r){if(!Co(s)){i.push(s);continue}let l=Ze(s.tagPath)??s.tagPath;if(l===n||l.startsWith(o)){a=!0;continue}i.push(s)}return{changed:a,next:i}},"Failed to remove tag shortcuts after delete")}async mutateTagShortcuts(e,n){let o=this.getMetadataService()?.getSettingsProvider();if(!(!o||!_N(o.settings.vaultProfiles,i=>{let{changed:s,next:l}=e(i);return s?l:null})))try{await o.saveSettingsAndUpdate()}catch(i){console.error(`[Notebook Navigator] ${n}`,i)}}};Ue();tk();var dx=class{constructor(e,n,r,o){this.app=e;this.getSettings=n;this.getTagTreeService=r;this.getMetadataService=o;this.tagRenameListeners=new Set;this.tagDeleteListeners=new Set;this.fileMutations=new ax(this.app,this.getSettings),this.batchOperations=new JI(this.fileMutations),this.shortcutMutations=new lx(this.getMetadataService),this.renameWorkflow=new sx(this.app,this.fileMutations,this.getTagTreeService,this.getMetadataService,a=>this.resolveDisplayTagPath(a),()=>this.createRenameHooks()),this.deleteWorkflow=new ox(this.app,this.fileMutations,this.getTagTreeService,this.getMetadataService,()=>this.createDeleteHooks())}addTagRenameListener(e){return this.tagRenameListeners.add(e),()=>{this.tagRenameListeners.delete(e)}}addTagDeleteListener(e){return this.tagDeleteListeners.add(e),()=>{this.tagDeleteListeners.delete(e)}}async addTagToFiles(e,n){return this.batchOperations.addTagToFiles(e,n)}getTagsFromFiles(e){return this.batchOperations.getTagsFromFiles(e)}async removeTagFromFiles(e,n){return this.batchOperations.removeTagFromFiles(e,n)}async clearAllTagsFromFiles(e){return this.batchOperations.clearAllTagsFromFiles(e)}async promptRenameTag(e){await this.openRenameModal(e)}async renameTag(e,n){return e===zt||e===bt?!1:this.renameWorkflow.renameTag(e,n)}async promoteTagToRoot(e){if(e===zt||e===bt)return;let n=this.resolveDisplayTagPath(e);if(!n||n.length===0||!n.includes("/"))return;let r=this.fileMutations.getTagLeaf(n);r.length===0||r===n||await this.openRenameModal(n,r)}async renameTagByDrag(e,n){if(n===zt||n===bt)return;let r=this.resolveDisplayTagPath(e),o=this.resolveDisplayTagPath(n),a=this.fileMutations.getTagLeaf(r),i=o.length>0?`${o}/${a}`:a;i!==r&&await this.openRenameModal(r,i)}async promptDeleteTag(e){await this.deleteWorkflow.promptDeleteTag(e)}async openRenameModal(e,n){await this.renameWorkflow.promptRenameTag(e,n)}resolveDisplayTagPath(e){return rx(e,this.getTagTreeService())}async executeRename(e){return this.renameWorkflow.executeRename(e)}async updateTagMetadataAfterRename(e,n,r){await this.renameWorkflow.updateTagMetadataAfterRename(e,n,r)}async updateTagShortcutsAfterRename(e,n){await this.shortcutMutations.updateTagShortcutsAfterRename(e,n)}async runTagRename(e,n,r){return this.renameWorkflow.runTagRename(e,n,r??null)}async runTagDelete(e,n){return this.deleteWorkflow.runTagDelete(e,n)}async deleteTagFromFile(e,n){return this.deleteWorkflow.deleteTagFromFile(e,n)}async removeTagMetadataAfterDelete(e){await this.deleteWorkflow.removeTagMetadataAfterDelete(e)}async removeTagShortcutsAfterDelete(e){await this.shortcutMutations.removeTagShortcutsAfterDelete(e)}createRenameHooks(){return{executeRename:e=>this.executeRename(e),updateTagMetadataAfterRename:(e,n,r)=>this.updateTagMetadataAfterRename(e,n,r),updateTagShortcutsAfterRename:(e,n)=>this.updateTagShortcutsAfterRename(e,n),notifyTagRenamed:e=>this.notifyTagRenamed(e)}}createDeleteHooks(){return{deleteTagFromFile:(e,n)=>this.deleteTagFromFile(e,n),removeTagMetadataAfterDelete:e=>this.removeTagMetadataAfterDelete(e),removeTagShortcutsAfterDelete:e=>this.removeTagShortcutsAfterDelete(e),notifyTagDeleted:e=>this.notifyTagDeleted(e),resolveDisplayTagPath:e=>this.resolveDisplayTagPath(e)}}notifyTagRenamed(e){if(this.tagRenameListeners.size!==0)for(let n of this.tagRenameListeners)try{n(e)}catch(r){console.error("[Notebook Navigator] Tag rename listener failed",r)}}notifyTagDeleted(e){if(this.tagDeleteListeners.size!==0)for(let n of this.tagDeleteListeners)try{n(e)}catch(r){console.error("[Notebook Navigator] Tag delete listener failed",r)}}};Ba();Rn();Dr();var cx=class{constructor(){this.tagTree=new Map;this.tagNodeByPath=new Map;this.taggedCount=0;this.untaggedCount=0;this.flattenedTags=[];this.cachedTagPaths=null;this.descendantTagPathsByNode=new WeakMap;this.descendantFilePathsByNode=new WeakMap;this.treeUpdateListeners=new Set}updateTagTree(e,n,r){let{nodeByPath:o,flattenedTags:a}=this.rebuildTreeIndexes(e);this.tagTree=e,this.tagNodeByPath=o,this.taggedCount=n,this.untaggedCount=r,this.flattenedTags=a,this.cachedTagPaths=null,this.descendantTagPathsByNode=new WeakMap,this.descendantFilePathsByNode=new WeakMap,this.notifyTreeUpdateListeners()}getTagTree(){return this.tagTree}hasNodes(){return this.tagNodeByPath.size>0}addTreeUpdateListener(e){return this.treeUpdateListeners.add(e),()=>{this.treeUpdateListeners.delete(e)}}getUntaggedCount(){return this.untaggedCount}findTagNode(e){let n=this.normalizeLookupPath(e);if(n.length>0){let r=this.tagNodeByPath.get(n);if(r)return r}return Li(this.tagTree,e)}resolveSelectionTagPath(e){let n=this.findTagNode(e);if(n)return n.path;let r=this.normalizeLookupPath(e);for(;r.includes("/")&&(r=r.slice(0,r.lastIndexOf("/")),!!r);){let o=this.findTagNode(r);if(o)return o.path}return null}getAllTagPaths(){return this.cachedTagPaths||(this.cachedTagPaths=this.flattenedTags.map(e=>e.path)),[...this.cachedTagPaths]}getFlattenedTagNodes(){return this.flattenedTags}collectDescendantTagPaths(e){let n=this.findTagNode(e);if(!n)return new Set;let r=this.collectTagPaths(n);return r.delete(n.path),r}collectTagPaths(e){let n=this.descendantTagPathsByNode.get(e);if(n)return new Set(n);let r=Array.from(ml(e));return this.descendantTagPathsByNode.set(e,r),new Set(r)}collectTagFilePaths(e){let n=this.findTagNode(e);if(!n)return[];let r=this.descendantFilePathsByNode.get(n);if(r)return[...r];let o=Array.from(iO(n));return this.descendantFilePathsByNode.set(n,o),[...o]}getTaggedCount(){return this.taggedCount}normalizeLookupPath(e){return It(e)}rebuildTreeIndexes(e){let n=new Map,r=[],o=new Set,a=[];for(let i of e.values())a.push(i);for(;a.length>0;){let i=a.pop();!i||o.has(i)||(o.add(i),n.has(i.path)||n.set(i.path,i),i.displayPath.length>0&&r.push(i),i.children.forEach(s=>{a.push(s)}))}return r.sort((i,s)=>Mt(i.displayPath,s.displayPath)),{nodeByPath:n,flattenedTags:r}}notifyTreeUpdateListeners(){this.treeUpdateListeners.forEach(e=>{e()})}};cn();var ux=class{constructor(){this.propertyTree=new Map;this.propertyNodeById=new Map;this.descendantNodeIdsByNode=new WeakMap;this.filePathsByNodeAndMode=new WeakMap;this.treeUpdateListeners=new Set}updatePropertyTree(e){this.propertyTree=e,this.rebuildIndexes(e),this.descendantNodeIdsByNode=new WeakMap,this.filePathsByNodeAndMode=new WeakMap,this.notifyTreeUpdateListeners()}getPropertyTree(){return this.propertyTree}hasNodes(){return this.propertyNodeById.size>0}addTreeUpdateListener(e){return this.treeUpdateListeners.add(e),()=>{this.treeUpdateListeners.delete(e)}}findNode(e){return this.propertyNodeById.get(e)??null}getKeyNode(e){return this.propertyTree.get(e)??null}resolveSelectionNodeId(e){return EN(this.propertyTree,e)}collectDescendantNodeIds(e){let n=this.findNode(e);if(!n)return new Set;let r=this.descendantNodeIdsByNode.get(n);if(r)return new Set(r);let o=new Set,a=new Set,i=s=>{if(!a.has(s)){a.add(s);for(let l of s.children.values())o.add(l.id),i(l)}};return i(n),this.descendantNodeIdsByNode.set(n,Array.from(o)),o}collectFilePaths(e,n){let r=this.findNode(e);if(!r)return new Set;if(r.kind==="value"){let c=this.filePathsByNodeAndMode.get(r),u=c?.direct??c?.withDescendants;if(u)return new Set(u);let p=this.collectNodeFilePaths(r,n),m=Array.from(p);return this.filePathsByNodeAndMode.set(r,{direct:m,withDescendants:m}),new Set(m)}let o=n?"withDescendants":"direct",a=this.filePathsByNodeAndMode.get(r),i=a?.[o];if(i)return new Set(i);let s=this.collectNodeFilePaths(r,n),l=Array.from(s);return this.filePathsByNodeAndMode.set(r,{direct:o==="direct"?l:a?.direct??null,withDescendants:o==="withDescendants"?l:a?.withDescendants??null}),new Set(l)}collectFilesForKeys(e){let n=new Set;for(let r of e){let o=this.getKeyNode(r);o&&o.notesWithValue.forEach(a=>n.add(a))}return n}rebuildIndexes(e){let n=new Map,r=new Set,o=a=>{if(!r.has(a)){r.add(a),n.set(a.id,a);for(let i of a.children.values())o(i)}};for(let a of e.values())o(a);this.propertyNodeById=n}notifyTreeUpdateListeners(){this.treeUpdateListeners.forEach(e=>{e()})}collectNodeFilePaths(e,n){if(e.kind==="key")return yj(e,n);if(!e.valuePath)return new Set;let r=this.getKeyNode(e.key);return r?vj(r,e.valuePath):new Set}};yz();var a3=require("obsidian"),$ge=/^[\x20-\x7E]+$/,Xge=/^[A-Za-z0-9 _./-]+$/,Qge=/(^|\s)-?path\s*:/i;function Zge(t){return t instanceof a3.TFile}function o3(t){if(!t||typeof t!="object")return!1;let e=t;return typeof e.search=="function"&&typeof e.refreshIndex=="function"&&typeof e.registerOnIndexed=="function"&&typeof e.unregisterOnIndexed=="function"}function Jge(t){if(!t||typeof t!="object")return!1;let e=t;return typeof e.path=="string"&&typeof e.score=="number"&&Array.isArray(e.matches)&&Array.isArray(e.foundWords)&&typeof e.basename=="string"}function ehe(t){return t.filter(e=>typeof e.match=="string"&&typeof e.offset=="number").map(e=>({text:e.match,offset:e.offset,length:e.match.length}))}function the(t){let e=t.trim();return e?$ge.test(e)&&Xge.test(e):!1}function nhe(t,e){let n=e?.pathScope?.trim();return!n||!the(n)||Qge.test(t)?t:`${t} path:"${n}"`}var mx=class{constructor(e){this.app=e}resolveApi(){let r=this.app.plugins?.plugins?.omnisearch;if(r&&r.api&&o3(r.api))return r.api;let o=activeWindow.omnisearch;return o&&o3(o)?o:null}isAvailable(){return this.resolveApi()!==null}async search(e,n){let r=this.resolveApi();if(!r)return[];try{let o=nhe(e,n),a=await r.search(o),i=[];for(let s of a){if(!Jge(s))continue;let l=this.app.vault.getAbstractFileByPath(s.path);Zge(l)&&i.push({file:l,path:s.path,basename:s.basename,score:s.score,excerpt:s.excerpt,matches:ehe(s.matches),foundWords:Array.isArray(s.foundWords)?s.foundWords.filter(c=>typeof c=="string"):[]})}return i}catch{return[]}}registerOnIndexed(e){let n=this.resolveApi();n&&n.registerOnIndexed(e)}unregisterOnIndexed(e){let n=this.resolveApi();n&&n.unregisterOnIndexed(e)}};Rz();Ha();KT();var R3=require("obsidian");ko();_a();var Cx=class{constructor(e){this.settingsProvider=e}recordFileOpen(e){if(this.shouldSkipFile(e))return!1;let n=e.path,r=this.settingsProvider.getRecentNotes(),o=r.filter(s=>s!==n);o.unshift(n);let a=this.getLimit();return o.length>a&&(o.length=a),o.length!==r.length||o.some((s,l)=>s!==r[l])?(this.settingsProvider.setRecentNotes(o),!0):!1}shouldSkipFile(e){if(this.settingsProvider.settings.hideRecentNotes!=="folder-notes")return!1;let n=e.parent;return n instanceof R3.TFolder?zs(e,n,{enableFolderNotes:!0,folderNoteName:this.settingsProvider.settings.folderNoteName,folderNoteNamePattern:this.settingsProvider.settings.folderNoteNamePattern}):!1}renameEntry(e,n){let r=this.settingsProvider.getRecentNotes();if(r.length===0)return!1;let o=this.getLimit(),a=[],i=new Set,s=!1;for(let l of r){let c=l===e?n:l;if(c!==l&&(s=!0),!c){s=!0;continue}if(i.has(c)){s=!0;continue}i.add(c),a.push(c)}return a.length>o&&(a.length=o,s=!0),s?(this.settingsProvider.setRecentNotes(a),!0):!1}removeEntry(e){if(!e)return!1;let n=this.settingsProvider.getRecentNotes();if(n.length===0)return!1;let r=n.filter(o=>o!==e);return r.length===n.length?!1:(this.settingsProvider.setRecentNotes(r),!0)}getLimit(){let{recentNotesCount:e}=this.settingsProvider.settings,n=typeof e=="number"?e:Le.recentNotesCount;return Math.max(1,n)}};var D3=require("obsidian");jl();Kw();var vhe=1440*60*1e3,sk=class{constructor(e){this.pendingNotice=null;this.isChecking=!1;this.plugin=e}getPendingNotice(){return this.pendingNotice}clearPendingNotice(){this.pendingNotice=null}async checkForUpdates(e=!1){if(this.isChecking)return this.pendingNotice;let n=Date.now(),r=this.plugin.getReleaseCheckTimestamp()??0;if(!e&&r&&n-r<vhe)return this.pendingNotice=null,this.pendingNotice;this.isChecking=!0;try{let o=await this.fetchLatestRelease();if(this.plugin.setReleaseCheckTimestamp(n),o){let a=this.plugin.manifest.version;_d(o.version,a)>0?this.pendingNotice={version:o.version,publishedAt:o.publishedAt,url:o.url}:this.pendingNotice=null}else this.pendingNotice=null;return this.pendingNotice}catch{return this.pendingNotice=null,this.pendingNotice}finally{this.isChecking=!1}}async fetchLatestRelease(){let e=await(0,D3.requestUrl)({url:mU,method:"GET",headers:{"User-Agent":"NotebookNavigator/ReleaseCheck (Obsidian Plugin)",Accept:"application/vnd.github+json"},throw:!1});if(e.status!==200||!e.json)return null;let n=e.json;if(!n||n.draft||n.prerelease)return null;let r=this.normalizeVersion(n.tag_name);return r?{version:r,publishedAt:n.published_at??"",url:n.html_url}:null}normalizeVersion(e){return e.replace(/^v/i,"").trim()}};Nx();Jr();eg();zn();dk();Ot();ot();Ue();Nx();var ck=class{constructor(e){this.plugin=e}detachCalendarViewLeaves(){let e=this.plugin.app.workspace.getLeavesOfType(Au);for(let n of e)n.detach()}async ensureCalendarViewInRightSidebar(e){let n=e?.reveal??!1,r=e?.activate??n,o=e?.shouldContinue??(()=>!0),{workspace:a}=this.plugin.app;if(!o())return null;let i=a.getLeavesOfType(Au)[0]??null;if(i)return n?await a.revealLeaf(i):r&&a.setActiveLeaf(i,{focus:!0}),o()?i:null;let s=a.getRightLeaf(!0)??a.getRightLeaf(!1);return s?(await s.setViewState({type:Au,active:r}),o()?(n&&await a.revealLeaf(s),s):(s.detach(),null)):null}async activateNavigatorView(){let{workspace:e}=this.plugin.app,n,r=e.getLeavesOfType(wa);return r.length>0?(n=r[0],await e.revealLeaf(n)):(n=e.getLeftLeaf(!1),n&&(await n.setViewState({type:wa,active:!0}),await e.revealLeaf(n))),n}getNavigatorLeaves(){return this.plugin.app.workspace.getLeavesOfType(wa)}revealFileInActualFolder(e,n){this.getNavigatorLeaves().forEach(r=>{let{view:o}=r;Hs(o)&&o.navigateToFile(e,n)})}revealFileInNearestFolder(e,n){this.getNavigatorLeaves().forEach(r=>{let{view:o}=r;Hs(o)&&o.revealFileInNearestFolder(e,n)})}};var mk=require("obsidian");xL();Ue();iy();pk();Ee();Bd();dn();var gk=class{constructor(e,n){this.isWorkspaceReady=!1;this.pendingTrigger=null;this.plugin=e,this.workspace=n}resolveHomepageFile(){let{homepage:e}=this.plugin.settings,n=r=>{if(!r)return null;let o=this.plugin.app.vault.getAbstractFileByPath(r);return $q(o)?o:null};switch(e.source){case"none":return null;case"file":return n(e.file);case"daily-note":return this.resolvePeriodicHomepageFile("day");case"weekly-note":return this.resolvePeriodicHomepageFile("week");case"monthly-note":return this.resolvePeriodicHomepageFile("month");case"quarterly-note":return this.resolvePeriodicHomepageFile("quarter");case"yearly-note":return this.resolvePeriodicHomepageFile("year")}}canOpenHomepage(){if(this.resolveHomepageFile())return!0;let{homepage:e}=this.plugin.settings,n=this.getPeriodicHomepageKind(e.source);return!!(e.createMissingPeriodicNote&&n&&this.canCreatePeriodicHomepageFile(n))}async handleWorkspaceReady(e){if(this.isWorkspaceReady=!0,this.plugin.isShuttingDown())return;e.shouldActivateOnStartup&&await this.workspace.activateNavigatorView();let n=this.pendingTrigger??"startup";this.pendingTrigger=null,await this.open(n)}async open(e){if(this.plugin.isShuttingDown())return!1;if(!this.isWorkspaceReady&&e!=="startup")return this.pendingTrigger=e,!1;let n=await this.resolveHomepageFileForOpen();if(!n)return!1;let r=e!=="startup"||this.plugin.settings.autoRevealActiveFile,o={source:e==="startup"?"startup":"manual",isStartupReveal:e==="startup",preserveNavigationFocus:this.plugin.settings.startView==="navigation"&&e==="startup"};if(e==="startup"){let i=this.findExistingHomepageLeaf(n);if(i){let{workspace:s}=this.plugin.app;return await s.revealLeaf(i),s.setActiveLeaf(i,{focus:!0}),r&&this.workspace.revealFileInNearestFolder(n,o),!0}}r&&this.workspace.revealFileInNearestFolder(n,o);let{commandQueue:a}=this.plugin;return a?(await a.executeHomepageOpen(n,()=>this.plugin.app.workspace.openLinkText(n.path,"",!1))).success:(await this.plugin.app.workspace.openLinkText(n.path,"",!1),!0)}findExistingHomepageLeaf(e){let n=sh(this.plugin.app),r=e.path;for(let o of n)if(this.getLeafFilePath(o)===r)return o;return null}getLeafFilePath(e){let{view:n}=e;if(n instanceof mk.FileView&&n.file)return n.file.path;let r=n?.getState?.(),o=this.extractFilePath(r);if(o)return o;let a=e.getViewState();return this.extractFilePath(a.state)}extractFilePath(e){if(typeof e!="object"||e===null||!Object.prototype.hasOwnProperty.call(e,"file"))return null;let r=e.file;return typeof r=="string"?r:null}async resolveHomepageFileForOpen(){let e=this.resolveHomepageFile();if(e||!this.plugin.settings.homepage.createMissingPeriodicNote)return e;let n=this.getPeriodicHomepageKind(this.plugin.settings.homepage.source);return n?this.createPeriodicHomepageFile(n):null}getPeriodicHomepageKind(e){switch(e){case"daily-note":return"day";case"weekly-note":return"week";case"monthly-note":return"month";case"quarterly-note":return"quarter";case"yearly-note":return"year";case"none":case"file":return null}}canCreatePeriodicHomepageFile(e){let n=qr();if(!n)return!1;if(e==="day"&&this.plugin.settings.calendarIntegrationMode==="daily-notes")return!!tg(this.plugin.app);let r=np(e,this.plugin.settings),o=Im(r.calendarCustomFilePattern,r.fallbackPattern);return r.isPatternValid(o,n)}resolvePeriodicHomepageFile(e){let n=qr();if(!n)return null;let r=Ei(),{calendarRulesLocale:o}=Hu(this.plugin.settings.calendarLocale,n,r),a=Vu(this.plugin.settings.calendarPeriodicNotesLocaleSource,o,n),i=n().startOf("day");if(e==="day"&&this.plugin.settings.calendarIntegrationMode==="daily-notes"){let m=tg(this.plugin.app);return m?jy(this.plugin.app,i.clone().locale(Lc(n)),m):null}let s=np(e,this.plugin.settings),l=Im(s.calendarCustomFilePattern,s.fallbackPattern);if(!s.isPatternValid(l,n))return null;let c=rp(e,i,l,a,a),u=xm(c,{calendarCustomRootFolder:nn(this.plugin.settings).periodicNotesFolder},s.calendarCustomFilePattern,s.fallbackPattern),p=this.plugin.app.vault.getAbstractFileByPath(u.filePath);return p instanceof mk.TFile?p:null}async createPeriodicHomepageFile(e){let n=qr();if(!n)return null;let r=Ei(),{calendarRulesLocale:o}=Hu(this.plugin.settings.calendarLocale,n,r),a=Vu(this.plugin.settings.calendarPeriodicNotesLocaleSource,o,n),i=n().startOf("day");if(e==="day"&&this.plugin.settings.calendarIntegrationMode==="daily-notes"){let m=tg(this.plugin.app);return m?Gy(this.plugin.app,i.clone().locale(Lc(n)),m):null}let s=np(e,this.plugin.settings),l=Im(s.calendarCustomFilePattern,s.fallbackPattern);if(!s.isPatternValid(l,n))return null;let c=rp(e,i,l,a,a),u=xm(c,{calendarCustomRootFolder:nn(this.plugin.settings).periodicNotesFolder},s.calendarCustomFilePattern,s.fallbackPattern),p=this.plugin.app.vault.getAbstractFileByPath(u.filePath);if(p instanceof mk.TFile)return p;try{let m=oy(e,this.plugin.settings);return await ay(this.plugin.app,u.folderPath,u.fileName,m)}catch(m){return console.error("Failed to create homepage note",m),null}}};var oc=require("obsidian");Ue();ot();_a();dk();var j3="folder-note-sidebar-service",Rhe=1e3,Dhe={type:ih,state:{}},Ahe=new Set(["markdown","canvas","base","excalidraw"]),Lx=class{constructor(e){this.isStarted=!1;this.companionLeaf=null;this.currentFolderNotePath=null;this.selectedFolder=void 0;this.workspaceReady=!1;this.syncRequestId=0;this.suppressedSidebarOpenPath=null;this.suppressionTimer=null;this.plugin=e}start(){this.isStarted||(this.isStarted=!0,this.plugin.registerSettingsUpdateListener(j3,()=>this.handleSettingsUpdate()))}dispose(){this.isStarted=!1,this.plugin.unregisterSettingsUpdateListener(j3),this.clearSidebarOpenSuppression()}handleWorkspaceReady(){this.workspaceReady=!0;let e=this.selectedFolder;if(e!==void 0){let n=this.syncToSelectedFolder(e);return Q(()=>n),n}}isSuppressingSidebarOpen(e){return this.suppressedSidebarOpenPath===e}async openFolderNote(e){let n=++this.syncRequestId;await this.applyResolvedFolderNote(e,n)}async syncToSelectedFolder(e){if(this.selectedFolder=e,!this.workspaceReady||this.plugin.isShuttingDown()||!this.shouldFollowRelatedFolderNotes)return;let n=++this.syncRequestId,r=e?this.findNearestFolderNoteForFolder(e):null;await this.applyResolvedFolderNote(r,n)}get canUseRightSidebar(){let e=this.plugin.settings;return e.enableFolderNotes&&e.folderNoteOpenLocation==="right-sidebar"}get shouldFollowRelatedFolderNotes(){return this.canUseRightSidebar&&this.plugin.settings.showNearestFolderNoteInSidebar}handleSettingsUpdate(){if(!(!this.workspaceReady||this.plugin.isShuttingDown())){if(!this.canUseRightSidebar){Q(()=>this.detachCompanionLeaf());return}if(this.shouldFollowRelatedFolderNotes){let e=this.selectedFolder;e!==void 0&&Q(()=>this.syncToSelectedFolder(e))}}}async applyResolvedFolderNote(e,n){if(n!==this.syncRequestId||this.plugin.isShuttingDown()||!this.canUseRightSidebar)return;if(!e){await this.clearCompanionLeaf();return}if(this.currentFolderNotePath===e.path&&this.getUsableCompanionLeaf(e.path))return;let r=this.getOrCreateCompanionLeaf(e);if(!r)return;let o=this.getActiveLeaf();this.suppressSidebarOpen(e.path);let a=async i=>{i&&await i.openFile(e,{active:!1})};if(this.plugin.commandQueue){if(!(await this.plugin.commandQueue.executeBackgroundFileOpen(e,a,{getLeaf:()=>r})).success)return}else await a(r);n!==this.syncRequestId||this.plugin.isShuttingDown()||(this.currentFolderNotePath=e.path,oc.Platform.isMobile||await this.plugin.app.workspace.revealLeaf(r),o&&o!==r&&!this.plugin.isShuttingDown()&&this.plugin.app.workspace.setActiveLeaf(o,{focus:!1}))}findNearestFolderNoteForFolder(e){let n=e;for(;n;){let r=Pn(n,this.plugin.settings);if(r)return r;n=n.parent instanceof oc.TFolder?n.parent:null}return null}getOrCreateCompanionLeaf(e){let n=this.getUsableCompanionLeaf();if(n)return this.pruneRestoredCompanionLeafDuplicates(n),n;let r=this.findRestoredCompanionLeaf(e);if(r)return this.companionLeaf=r,this.pruneRestoredCompanionLeafDuplicates(r),r;let o=this.plugin.app.workspace.getRightLeaf(!0)??this.plugin.app.workspace.getRightLeaf(!1);return this.companionLeaf=o,o&&this.pruneRestoredCompanionLeafDuplicates(o),o}getUsableCompanionLeaf(e){let n=this.companionLeaf;if(!n||md(this.plugin.app,n)!=="right-sidebar")return null;let r=e===void 0?this.currentFolderNotePath:e;return r===null?this.isPlaceholderLeaf(n)?n:null:this.getFilePathFromLeaf(n)===r?n:null}findRestoredCompanionLeaf(e){let n=null,r=null,o=null;return this.plugin.app.workspace.iterateAllLeaves(a=>{if(n||md(this.plugin.app,a)!=="right-sidebar")return;!o&&this.isPlaceholderLeaf(a)&&(o=a);let i=this.getFilePathFromLeaf(a);if(i){if(e&&i===e.path){n=a;return}!r&&this.isFolderNotePath(i)&&(r=a)}}),e?n??o??r:o??r}pruneRestoredCompanionLeafDuplicates(e,n={}){let r=[],o=n.includeDocumentLeaves??!0;this.plugin.app.workspace.iterateAllLeaves(a=>{if(a===e||md(this.plugin.app,a)!=="right-sidebar")return;let i=this.getFilePathFromLeaf(a);if(o&&i&&this.isFolderNotePath(i)){r.push(a);return}this.isPlaceholderLeaf(a)&&r.push(a)}),r.forEach(a=>a.detach())}isPlaceholderLeaf(e){return e.getViewState().type===ih}getFileFromLeaf(e){let n=e.view;return typeof oc.FileView=="function"&&n instanceof oc.FileView&&n.file instanceof oc.TFile?n.file:null}getFilePathFromLeaf(e){let n=e.getViewState();if(!Ahe.has(n.type))return null;let r=this.getFileFromLeaf(e);if(r)return r.path;let o=n.state?.file;return typeof o=="string"&&o.length>0?o:null}isFolderNotePath(e){let n=this.plugin.app.vault.getAbstractFileByPath(e);return!(n instanceof oc.TFile)||!(n.parent instanceof oc.TFolder)?!1:Pn(n.parent,this.plugin.settings)?.path===n.path}getActiveLeaf(){return this.plugin.app.workspace.activeLeaf??null}async clearCompanionLeaf(){let e=this.getUsableCompanionLeaf()??this.findRestoredCompanionLeaf(null);this.currentFolderNotePath=null,this.companionLeaf=e,e&&(this.isPlaceholderLeaf(e)||await e.setViewState(Dhe),this.pruneRestoredCompanionLeafDuplicates(e))}detachCompanionLeaf(){let e=this.getUsableCompanionLeaf();this.currentFolderNotePath=null,this.companionLeaf=null,e&&e.detach(),this.pruneRestoredCompanionLeafDuplicates(e,{includeDocumentLeaves:!1})}suppressSidebarOpen(e){this.clearSidebarOpenSuppression(),this.suppressedSidebarOpenPath=e,!(typeof window>"u")&&(this.suppressionTimer=window.setTimeout(()=>{this.suppressedSidebarOpenPath===e&&(this.suppressedSidebarOpenPath=null),this.suppressionTimer=null},Rhe))}clearSidebarOpenSuppression(){this.suppressionTimer!==null&&typeof window<"u"&&window.clearTimeout(this.suppressionTimer),this.suppressionTimer=null,this.suppressedSidebarOpenPath=null}};var ac=require("obsidian");Ee();Ha();ot();Ru();dn();KT();function Az(t){let e=yn(),n=null,r=()=>{if(n===null){if(typeof window>"u"){e.notifyIconAssetsChanged();return}n=window.setTimeout(()=>{n=null,e.notifyIconAssetsChanged()},50)}};t.register(()=>{n!==null&&typeof window<"u"&&window.clearTimeout(n),n=null});let o=async(s,l)=>{if(UN(t.settings,s,l))try{await t.saveSettingsAndUpdate()}catch(u){console.error("Failed to persist hidden folder rename updates",u)}},a=async s=>{if(KN(t.settings,s))try{await t.saveSettingsAndUpdate()}catch(c){console.error("Failed to persist hidden folder removal updates",c)}};t.registerEvent(t.app.workspace.on("editor-menu",(s,l,c)=>{let u=c.file;u&&(s.addSeparator(),s.addItem(p=>{p.setTitle(d.plugin.revealInNavigator).setIcon("lucide-folder-open").onClick(()=>{Q(async()=>{await t.activateView(),await t.revealFileInActualFolder(u,{showHiddenFileNotice:!0})})})}))})),t.registerEvent(t.app.workspace.on("file-menu",(s,l)=>{l instanceof ac.TFolder&&s.addItem(c=>{c.setTitle(d.plugin.revealInNavigator).setIcon(vi).onClick(()=>{Q(async()=>{await t.navigateToFolder(l,{preserveNavigationFocus:!0})})})})})),t.ribbonIconEl=t.addRibbonIcon(vi,d.plugin.ribbonTooltip,()=>{Q(()=>t.activateView())}),t.registerEvent(t.app.workspace.on("file-open",s=>{!(s instanceof ac.TFile)||t.isFileInRightSidebar(s)||t.recentNotesService?.recordFileOpen(s)}));let i=t.app.workspace.getActiveFile();i instanceof ac.TFile&&!t.isFileInRightSidebar(i)&&t.recentNotesService?.recordFileOpen(i),t.registerEvent(t.app.vault.on("rename",(s,l)=>{Q(async()=>{if(t.isShuttingDown())return;if(s instanceof ac.TFolder){await o(l,s.path),await t.metadataService?.handleFolderRename(l,s.path);return}if(!(s instanceof ac.TFile))return;(UT(l)||UT(s.path))&&(Hq(s,l),Ty(l),Ty(s.path),r()),t.recentNotesService?.renameEntry(l,s.path),await t.metadataService?.handleFileRename(l,s.path);let u=m=>{let g=m.lastIndexOf("/");return g>0?m.substring(0,g):"/"};u(l)!==u(s.path)&&s===t.app.workspace.getActiveFile()&&(t.commandQueue?.isMovingFile()||await t.revealFileInActualFolder(s)),t.notifyFileRenameListeners(l,s.path)})})),t.registerEvent(t.app.vault.on("create",s=>{Q(async()=>{t.isShuttingDown()||!(s instanceof ac.TFile)||!dd(s)||(Bq(s),Ty(s.path),r())})})),t.registerEvent(t.app.vault.on("modify",s=>{Q(async()=>{t.isShuttingDown()||!(s instanceof ac.TFile)||!dd(s)||(Ty(s.path),r())})})),t.registerEvent(t.app.vault.on("delete",s=>{Q(async()=>{if(!t.isShuttingDown()){if(s instanceof ac.TFolder){await a(s.path),await t.metadataService?.handleFolderDelete(s.path);return}s instanceof ac.TFile&&(t.recentNotesService?.removeEntry(s.path),t.metadataService&&await t.metadataService.handleFileDelete(s.path),dd(s)&&(_q(s.path),Ty(s.path),r()))}})}))}Ee();var Yhe=[{id:"open",name:d.commands.open},{id:"toggle-left-sidebar",name:d.commands.toggleLeftSidebar},{id:"open-homepage",name:d.commands.openHomepage,checkable:!0},{id:"reveal-file",name:d.commands.revealFile,checkable:!0},{id:"open-all-files",name:d.commands.openAllFiles,checkable:!0},{id:"toggle-descendants",name:d.commands.toggleDescendants},{id:"toggle-hidden",name:d.commands.toggleHidden},{id:"toggle-tag-sort",name:d.commands.toggleTagSort},{id:"toggle-tags-by-selection",name:d.commands.toggleTagsBySelection},{id:"toggle-properties-by-selection",name:d.commands.togglePropertiesBySelection},{id:"toggle-compact-mode",name:d.commands.toggleCompactMode},{id:"toggle-pinned-section",name:d.commands.togglePinnedSection},{id:"toggle-dual-pane",name:d.commands.toggleDualPane},{id:"toggle-dual-pane-orientation",name:d.commands.toggleDualPaneOrientation},{id:"toggle-calendar",name:d.commands.toggleCalendar},{id:"open-daily-note",name:d.commands.openDailyNote},{id:"open-weekly-note",name:d.commands.openWeeklyNote},{id:"open-monthly-note",name:d.commands.openMonthlyNote},{id:"open-quarterly-note",name:d.commands.openQuarterlyNote},{id:"open-yearly-note",name:d.commands.openYearlyNote},{id:"select-profile",name:d.commands.selectVaultProfile},{id:"select-profile-1",name:d.commands.selectVaultProfile1},{id:"select-profile-2",name:d.commands.selectVaultProfile2},{id:"select-profile-3",name:d.commands.selectVaultProfile3},{id:"collapse-expand",name:d.commands.collapseExpand},{id:"collapse-expand-selected-item",name:d.commands.collapseExpandSelectedItem},{id:"new-note",name:d.commands.createNewNote},{id:"new-note-from-template",name:d.commands.createNewNoteFromTemplate,checkable:!0},{id:"move-files",name:d.commands.moveFiles},{id:"merge-notes",name:d.commands.mergeNotes},{id:"select-next-file",name:d.commands.selectNextFile},{id:"select-previous-file",name:d.commands.selectPreviousFile},{id:"navigate-back",name:d.commands.navigateBack},{id:"navigate-forward",name:d.commands.navigateForward},{id:"convert-to-folder-note",name:d.commands.convertToFolderNote,checkable:!0},{id:"set-as-folder-note",name:d.commands.setAsFolderNote,checkable:!0},{id:"detach-folder-note",name:d.commands.detachFolderNote,checkable:!0},{id:"pin-all-folder-notes",name:d.commands.pinAllFolderNotes,checkable:!0},{id:"delete-files",name:d.commands.deleteFile},{id:"rebuild-cache",name:d.commands.rebuildCache},{id:"add-tag",name:d.commands.addTag},{id:"set-property",name:d.commands.setProperty},{id:"remove-tag",name:d.commands.removeTag},{id:"remove-all-tags",name:d.commands.removeAllTags},{id:"navigate-to-folder",name:d.commands.navigateToFolder},{id:"navigate-to-tag",name:d.commands.navigateToTag},{id:"navigate-to-property",name:d.commands.navigateToProperty},{id:"add-shortcut",name:d.commands.addShortcut},{id:"search",name:d.commands.search},{id:"search-vault",name:d.commands.searchVaultRoot,checkable:!0}],$he=Array.from({length:9},(t,e)=>{let n=e+1;return{id:`open-shortcut-${n}`,name:d.commands.openShortcut.replace("{number}",n.toString()),checkable:!0}}),Xhe=[...Yhe,...$he],s4=new WeakMap;function Qhe(t){let e=s4.get(t);if(e)return e;let n=new Map,r=Object.prototype.hasOwnProperty.call(t,"addCommand"),o=t.addCommand.bind(t);t.addCommand=a=>(n.set(a.id,a),a);try{let{default:a}=(i4(),Lr(a4));a(t)}finally{r?t.addCommand=o:delete t.addCommand}return s4.set(t,n),n}function l4(t,e){return Qhe(t).get(e)}function Zhe(t,e){let n=l4(t,e);if(!n?.callback){console.error(`Notebook Navigator command handler not found: ${e}`);return}n.callback()}function Jhe(t,e,n){let r=l4(t,e);return r?.checkCallback?r.checkCallback(n)===!0:(console.error(`Notebook Navigator command check handler not found: ${e}`),!1)}function zz(t){Xhe.forEach(e=>{if(e.checkable){t.addCommand({id:e.id,name:e.name,checkCallback:n=>Jhe(t,e.id,n)});return}t.addCommand({id:e.id,name:e.name,callback:()=>Zhe(t,e.id)})})}xn();Ru();ko();var y4=require("obsidian");Ue();uw();Jr();Zr();dm();xn();function d4(t,e){let n={...t};if(!e||typeof e!="object")return n;let r=e;return Object.keys(t).forEach(o=>{let a=r[o];typeof a=="boolean"&&(n[o]=a)}),n}function Bz(t,e){let n=t.toolbarVisibility,r=e&&typeof e=="object"?e:void 0;return{navigation:d4(n.navigation,r?.navigation),list:d4(n.list,r?.list)}}function vk(t){if(typeof t=="number"&&Number.isFinite(t))return t;if(typeof t=="string"){let e=Number(t);if(Number.isFinite(e))return e}return null}function c4(t){let e=vk(t);if(e===null)return null;let n=Math.round(e);return n<Dc||n>Ac?null:n}function u4(t){let e=vk(t);if(e===null)return null;let n=Math.round(e);return n<10||n>24?null:n}function p4(t){let e=vk(t);if(e===null)return null;let n=Math.round(e);return n<20||n>28?null:n}function m4(t){return gm(t)?t:null}function g4(t){return hm(t)?t:null}function h4(t){let e=vk(t);if(e===null)return null;let n=Math.round(e);return n!==1&&n!==2&&n!==3&&n!==4&&n!==5&&n!==6?null:n}function f4(t){let e=vk(t);if(e===null)return null;let n=Math.round(e);return n<20||n>28?null:n}function b4(t){let{settings:e,storedData:n,keys:r}=t,o=typeof n?.lastReleaseCheckAt=="number"&&Number.isFinite(n.lastReleaseCheckAt)?n.lastReleaseCheckAt:null,a=ye.get(r.releaseCheckTimestampKey),i=typeof a=="number"&&Number.isFinite(a)?a:o??null;return i&&i!==a&&ye.set(r.releaseCheckTimestampKey,i),delete e.lastReleaseCheckAt,delete e.latestKnownRelease,!!(n&&("lastReleaseCheckAt"in n||"latestKnownRelease"in n))}function S4(t){let{settings:e,storedData:n,keys:r}=t,o=n?.recentColors,a=Array.isArray(o)?o.filter(c=>typeof c=="string"&&c.trim().length>0).slice(0,lm):[],i=ye.get(r.recentColorsKey),s=Array.isArray(i)?i.filter(c=>typeof c=="string"&&c.trim().length>0):[],l=s.length>0?s:a;if(l.length>0){let c=l.slice(0,lm);(s.length!==c.length||c.some((p,m)=>p!==s[m]))&&ye.set(r.recentColorsKey,c)}return delete e.recentColors,!!(n&&"recentColors"in n)}function w4(t){let{storedData:e,keys:n,defaultSettings:r}=t,o=ye.get(n.paneTransitionDurationKey),a=c4(o);if(a!==null)return{value:a,migrated:!1};let i=e?.paneTransitionDuration,s=c4(i);if(s!==null)return ye.set(n.paneTransitionDurationKey,s),{value:s,migrated:!0};let l=r.paneTransitionDuration;return ye.set(n.paneTransitionDurationKey,l),{value:l,migrated:!1}}function T4(t){let{storedData:e,keys:n,defaultSettings:r}=t,o=ye.get(n.toolbarVisibilityKey);if(mt(o))return{value:Bz(r,o),migrated:!1};let a=e?.toolbarVisibility;if(mt(a)){let s=Bz(r,a);return ye.set(n.toolbarVisibilityKey,s),{value:s,migrated:!0}}let i=Bz(r,null);return ye.set(n.toolbarVisibilityKey,i),{value:i,migrated:!1}}function k4(t){let{storedData:e,keys:n,defaultSettings:r}=t,o=ye.get(n.navIndentKey),a=u4(o);if(a!==null)return{value:a,migrated:!1};let i=e?.navIndent,s=u4(i);if(s!==null)return ye.set(n.navIndentKey,s),{value:s,migrated:!0};let l=r.navIndent;return ye.set(n.navIndentKey,l),{value:l,migrated:!1}}function F4(t){let{storedData:e,keys:n,defaultSettings:r}=t,o=ye.get(n.navItemHeightKey),a=p4(o);if(a!==null)return{value:a,migrated:!1};let i=e?.navItemHeight,s=p4(i);if(s!==null)return ye.set(n.navItemHeightKey,s),{value:s,migrated:!0};let l=r.navItemHeight;return ye.set(n.navItemHeightKey,l),{value:l,migrated:!1}}function P4(t){let{storedData:e,keys:n,defaultSettings:r}=t,o=ye.get(n.navItemHeightScaleTextKey);if(typeof o=="boolean")return{value:o,migrated:!1};let a=e?.navItemHeightScaleText;if(typeof a=="boolean")return ye.set(n.navItemHeightScaleTextKey,a),{value:a,migrated:!0};let i=r.navItemHeightScaleText;return ye.set(n.navItemHeightScaleTextKey,i),{value:i,migrated:!1}}function C4(t){let{storedData:e,keys:n,defaultSettings:r}=t,o=ye.get(n.pinNavigationBannerKey);if(typeof o=="boolean")return{value:o,migrated:!1};let a=e?.pinNavigationBanner;if(typeof a=="boolean")return ye.set(n.pinNavigationBannerKey,a),{value:a,migrated:!0};let i=r.pinNavigationBanner;return ye.set(n.pinNavigationBannerKey,i),{value:i,migrated:!1}}function N4(t){let{storedData:e,keys:n,defaultSettings:r}=t,o=ye.get(n.calendarPlacementKey),a=m4(o);if(a!==null)return{value:a,migrated:!1};let i=e?.calendarPlacement,s=m4(i);if(s!==null)return ye.set(n.calendarPlacementKey,s),{value:s,migrated:!0};let l=r.calendarPlacement;return ye.set(n.calendarPlacementKey,l),{value:l,migrated:!1}}function I4(t){let{storedData:e,keys:n,defaultSettings:r}=t,o=ye.get(n.calendarLeftPlacementKey),a=g4(o);if(a!==null)return{value:a,migrated:!1};let i=e?.calendarLeftPlacement,s=g4(i);if(s!==null)return ye.set(n.calendarLeftPlacementKey,s),{value:s,migrated:!0};let l=r.calendarLeftPlacement;return ye.set(n.calendarLeftPlacementKey,l),{value:l,migrated:!1}}function x4(t){let{storedData:e,keys:n,defaultSettings:r}=t,o=ye.get(n.calendarWeeksToShowKey),a=h4(o);if(a!==null)return{value:a,migrated:!1};let i=e?.calendarWeeksToShow,s=h4(i);if(s!==null)return ye.set(n.calendarWeeksToShowKey,s),{value:s,migrated:!0};let l=r.calendarWeeksToShow;return ye.set(n.calendarWeeksToShowKey,l),{value:l,migrated:!1}}function E4(t){let{storedData:e,keys:n,defaultSettings:r}=t,o=ye.get(n.compactItemHeightKey),a=f4(o);if(a!==null)return{value:a,migrated:!1};let i=e?.compactItemHeight,s=f4(i);if(s!==null)return ye.set(n.compactItemHeightKey,s),{value:s,migrated:!0};let l=r.compactItemHeight;return ye.set(n.compactItemHeightKey,l),{value:l,migrated:!1}}function M4(t){let{storedData:e,keys:n,defaultSettings:r}=t,o=ye.get(n.compactItemHeightScaleTextKey);if(typeof o=="boolean")return{value:o,migrated:!1};let a=e?.compactItemHeightScaleText;if(typeof a=="boolean")return ye.set(n.compactItemHeightScaleTextKey,a),{value:a,migrated:!0};let i=r.compactItemHeightScaleText;return ye.set(n.compactItemHeightScaleTextKey,i),{value:i,migrated:!1}}function R4(t){let{storedData:e,keys:n,defaultSettings:r}=t,o=ye.get(n.tagSortOrderKey),a=typeof o=="string"?o:null;if(a&&Ta(a))return a;let i=e?.tagSortOrder,s=typeof i=="string"?i:null;return s&&Ta(s)?(ye.set(n.tagSortOrderKey,s),s):(ye.set(n.tagSortOrderKey,r.tagSortOrder),r.tagSortOrder)}function D4(t){let{storedData:e,keys:n,defaultSettings:r}=t,o=ye.get(n.propertySortOrderKey),a=typeof o=="string"?o:null;if(a&&Ta(a))return a;let i=e?.propertySortOrder,s=typeof i=="string"?i:null;return s&&Ta(s)?(ye.set(n.propertySortOrderKey,s),s):(ye.set(n.propertySortOrderKey,r.propertySortOrder),r.propertySortOrder)}function A4(t){let{storedData:e,keys:n,defaultSettings:r}=t,o=ye.get(n.folderSortOrderKey),a=typeof o=="string"?o:null;if(a&&al(a))return a;let i=e?.folderSortOrder,s=typeof i=="string"?i:null;return s&&al(s)?(ye.set(n.folderSortOrderKey,s),s):(ye.set(n.folderSortOrderKey,r.folderSortOrder),r.folderSortOrder)}function v4(t,e){let n=i=>{if(typeof i=="number"&&Number.isFinite(i))return Za(i);if(typeof i=="string"){let s=Number(i);if(Number.isFinite(s))return Za(s)}return null},r=ye.get(t),o=n(r);if(o!==null)return o;let a=n(e);return a!==null?(ye.set(t,a),a):(ye.set(t,1),1)}function O4(t){let{settings:e,storedData:n,keys:r}=t,{shouldPersistDesktopScale:o,shouldPersistMobileScale:a}=t,i=n?.desktopScale,s=n?.mobileScale,l=!!(n&&("desktopScale"in n||"mobileScale"in n)),c=(u,p)=>{if(typeof u=="number"&&Number.isFinite(u))return Za(u);if(typeof u=="string"){let m=Number(u);if(Number.isFinite(m))return Za(m)}return Za(p)};if(y4.Platform.isMobile){let u=v4(r.uiScaleKey,s);e.mobileScale=u,e.desktopScale=c(i,e.desktopScale),a&&(a=!1)}else{let u=v4(r.uiScaleKey,i);e.desktopScale=u,e.mobileScale=c(s,e.mobileScale),o&&(o=!1)}return{migrated:l,shouldPersistDesktopScale:o,shouldPersistMobileScale:a}}function z4(t){return t.trim()}function efe(t){return t?t.includes("[")||t.includes("]"):!1}function L4(t){return t?!!(t.includes("yyyy")||t.includes("yy")||t.includes("XXX")||t.includes("XX")||t.includes("xxx")||t.includes("xx")||t.includes("EEEE")||t.includes("EEE")||t.includes("'")||/[Pp]{1,4}/u.test(t)):!1}function tfe(t){let e=0,n=!1;for(;e<t.length;){let r=t[e];if(r==="["){n=!0,e+=1;continue}if(r==="]"){n=!1,e+=1;continue}if(n){e+=1;continue}if(!/[A-Za-z]/u.test(r)){e+=1;continue}let o=e;for(;e<t.length&&t[e]===r;)e+=1;let a=e-o;if(r==="d"&&a<=2)return!0}return!1}function nfe(t){let e="",n=0,r=!1;for(;n<t.length;){let o=t[n];if(o!=="'"){e+=o,n+=1;continue}n+=1;let a="",i=!1;for(;n<t.length;){let s=t[n];if(s==="'"){if(t[n+1]==="'"){a+="'",n+=2;continue}n+=1,i=!0;break}a+=s,n+=1}i||(r=!0),e+=`[${a}]`}return t.includes("'")&&!e.includes("[")&&(r=!0),{value:e,malformed:r}}function rfe(t,e){switch(t){case"y":return e>=4?"YYYY":e===2?"YY":null;case"d":return e===2?"DD":e===1?"D":null;case"E":return e>=4?"dddd":e===3?"ddd":e===2?"dd":e===1?"d":null;case"X":return e>=2&&e===2?"ZZ":"Z";case"x":return e>=2&&e===2?"ZZ":"Z";default:return null}}function ofe(t){let e="",n=0,r=!1,o=!1;for(;n<t.length;){let a=t[n];if(a==="["){r=!0,e+=a,n+=1;continue}if(a==="]"){r=!1,e+=a,n+=1;continue}if(r){e+=a,n+=1;continue}if((a==="P"||a==="p")&&(o=!0),!/[A-Za-z]/u.test(a)){e+=a,n+=1;continue}let i=n;for(;n<t.length&&t[n]===a;)n+=1;let s=n-i,l=rfe(a,s);e+=l??a.repeat(s)}return{value:e,unsafe:o}}function afe(t){let e=z4(t);if(!e)return{value:e,migrated:!1,reset:!1};if(!(L4(e)||tfe(e))||efe(e))return{value:e,migrated:!1,reset:!1};let r=nfe(e),o=ofe(r.value),a=o.value;return o.unsafe||r.malformed||L4(a)?{value:"",migrated:!0,reset:!0}:{value:a,migrated:!0,reset:!1}}function _z(t){let e=z4(t.current);if(!e)return{next:t.fallback,migrated:e!==t.fallback};let n=afe(e);return n.migrated?n.reset?{next:t.fallback,migrated:!0}:{next:n.value,migrated:!0}:{next:e,migrated:!1}}function B4(t){let e=!1,{settings:n,defaultDateFormat:r,defaultTimeFormat:o,defaultSettings:a}=t,i=_z({current:n.dateFormat,fallback:r||a.dateFormat});i.migrated&&(n.dateFormat=i.next,e=!0);let s=_z({current:n.timeFormat,fallback:o||a.timeFormat});s.migrated&&(n.timeFormat=s.next,e=!0);let l=_z({current:n.frontmatterDateFormat,fallback:""});return l.migrated&&(n.frontmatterDateFormat=l.next,e=!0),e}ko();Jr();dn();Ia();xn();Xl();ap();$o();As();var ife=/(^|\s)!(?=\S)/g,sfe=t=>typeof t!="string"?"":t.replace(ife,"$1-");function lfe(t){return dv(t)?t:t==="word"?"words":t==="character"?"characters":t==="word-character"?"both":null}function dfe(t){return cv(t)?t:t==="with-spaces"?"include":t==="without-spaces"?"exclude":null}function _4(t){let{settings:e,storedData:n,keys:r,defaultSettings:o}=t,a=e;delete a.recentNotes,delete a.recentIcons,delete a.searchActive,delete a.showHiddenItems,delete a.hiddenTags,delete a.fileVisibility,delete a.preventInvalidCharacters,delete a.mobileBackground,delete a.optimizeNoteHeight,delete a.showPinnedIcon,delete a.showPinnedGroupHeader;let i=n?n.noteGrouping:void 0,s=a.showIcons;typeof s=="boolean"&&(typeof n?.showSectionIcons>"u"&&(e.showSectionIcons=s),typeof n?.showFolderIcons>"u"&&(e.showFolderIcons=s),typeof n?.showTagIcons>"u"&&(e.showTagIcons=s)),delete a.showIcons;let l=a.showParentFolderNames;typeof l=="boolean"&&typeof n?.showParentFolder>"u"&&(e.showParentFolder=l),delete a.showParentFolderNames;let c=a.showParentFolderColors;typeof c=="boolean"&&typeof n?.showParentFolderColor>"u"&&(e.showParentFolderColor=c),delete a.showParentFolderColors;let u=a.groupByDate;typeof u=="boolean"&&typeof i>"u"&&(e.noteGrouping=u?"date":"custom"),delete a.groupByDate;let p=a.autoExpandFoldersTags;typeof p=="boolean"&&typeof n?.autoExpandNavItems>"u"&&(e.autoExpandNavItems=p),delete a.autoExpandFoldersTags;let m=typeof a.homepage=="object"&&a.homepage!==null&&!Array.isArray(a.homepage),g=Na(typeof a.homepage=="string"?a.homepage:null),f=a.useMobileHomepage===!0;m||(e.homepage={source:g?"file":"none",file:g,createMissingPeriodicNote:o.homepage.createMissingPeriodicNote}),f&&(e.syncModes.homepage="local"),delete a.mobileHomepage,delete a.useMobileHomepage,e.noteGrouping=bA(e.noteGrouping)??o.noteGrouping;let h=L=>{L&&Object.values(L).forEach(gC)};h(e.folderAppearances),h(e.tagAppearances),h(e.propertyAppearances),typeof e.showSelectedNavigationPills!="boolean"&&(e.showSelectedNavigationPills=o.showSelectedNavigationPills),e.shortcutBadgeDisplay!=="index"&&e.shortcutBadgeDisplay!=="count"&&e.shortcutBadgeDisplay!=="none"&&(e.shortcutBadgeDisplay=o.shortcutBadgeDisplay);let b=a.hideFolderNotesInRecentNotes;typeof n?.hideRecentNotes>"u"&&typeof b=="boolean"&&(e.hideRecentNotes=b?"folder-notes":"none"),delete a.hideFolderNotesInRecentNotes,sv(e.hideRecentNotes)||(e.hideRecentNotes=o.hideRecentNotes);let v=typeof n?.notePropertyType>"u"?a.customPropertyType:a.notePropertyType;if((typeof v=="string"?v:null)==="wordCount"&&typeof n?.textCountDisplay>"u"&&(e.textCountDisplay="words",typeof n?.textCountPlacement>"u"&&(e.textCountPlacement=o.textCountPlacement)),delete a.customPropertyType,delete a.notePropertyType,typeof n?.textCountDisplay>"u"){let L=lfe(a.wordCharacterCountDisplay);L!==null?e.textCountDisplay=L:typeof a.showWordCount=="boolean"&&(e.textCountDisplay=a.showWordCount?"words":"none")}if(delete a.showWordCount,delete a.wordCharacterCountDisplay,typeof n?.textCountPlacement>"u"&&lv(a.wordCountPlacement)&&(e.textCountPlacement=a.wordCountPlacement),delete a.wordCountPlacement,typeof n?.characterCountSpaces>"u"){let L=dfe(a.characterCountMode);L!==null&&(e.characterCountSpaces=L)}delete a.characterCountMode;let S=a.propertyFields;typeof S!="string"?delete a.propertyFields:a.propertyFields=Bc(S);let w=a.customPropertyFields;typeof a.propertyFields>"u"&&typeof n?.propertyFields>"u"&&typeof w=="string"&&(a.propertyFields=Bc(w)),delete a.customPropertyFields;let k=a.showCustomPropertiesOnSeparateRows;typeof n?.showPropertiesOnSeparateRows>"u"&&typeof k=="boolean"&&(e.showPropertiesOnSeparateRows=k),delete a.showCustomPropertiesOnSeparateRows;let F=a.showCustomPropertyInCompactMode;typeof n?.showFilePropertiesInCompactMode>"u"&&typeof F=="boolean"&&(e.showFilePropertiesInCompactMode=F),delete a.showCustomPropertyInCompactMode;let P=a.showNotePropertyInCompactMode;typeof n?.showFilePropertiesInCompactMode>"u"&&typeof P=="boolean"&&(e.showFilePropertiesInCompactMode=P),delete a.showNotePropertyInCompactMode,typeof e.showPropertiesOnSeparateRows!="boolean"&&(e.showPropertiesOnSeparateRows=o.showPropertiesOnSeparateRows),delete a.customPropertyColorFields,delete a.customPropertyColorMap,typeof e.showFilePropertiesInCompactMode!="boolean"&&(e.showFilePropertiesInCompactMode=o.showFilePropertiesInCompactMode),typeof e.showParentFolderFullPath!="boolean"&&(e.showParentFolderFullPath=o.showParentFolderFullPath);let T=a.useFolderColorForFileTitles;typeof n?.useFolderColorForTitles>"u"&&typeof T=="boolean"&&(e.useFolderColorForTitles=T),delete a.useFolderColorForFileTitles,typeof e.useFolderColorForTitles!="boolean"&&(e.useFolderColorForTitles=o.useFolderColorForTitles),typeof e.useFolderIconForFiles!="boolean"&&(e.useFolderIconForFiles=o.useFolderIconForFiles),typeof e.showFileProperties!="boolean"&&(e.showFileProperties=o.showFileProperties),typeof e.colorFileProperties!="boolean"&&(e.colorFileProperties=o.colorFileProperties),typeof e.prioritizeColoredFileProperties!="boolean"&&(e.prioritizeColoredFileProperties=o.prioritizeColoredFileProperties),typeof e.showProperties!="boolean"&&(e.showProperties=o.showProperties),typeof e.showPropertyIcons!="boolean"&&(e.showPropertyIcons=o.showPropertyIcons),typeof e.inheritPropertyColors!="boolean"&&(e.inheritPropertyColors=o.inheritPropertyColors),typeof e.showAllPropertiesFolder!="boolean"&&(e.showAllPropertiesFolder=o.showAllPropertiesFolder),typeof e.scopePropertiesToCurrentContext!="boolean"&&(e.scopePropertiesToCurrentContext=o.scopePropertiesToCurrentContext),typeof e.enablePropertyInternalLinks!="boolean"&&(e.enablePropertyInternalLinks=o.enablePropertyInternalLinks),typeof e.enablePropertyExternalLinks!="boolean"&&(e.enablePropertyExternalLinks=o.enablePropertyExternalLinks),dv(e.textCountDisplay)||(e.textCountDisplay=o.textCountDisplay),lv(e.textCountPlacement)||(e.textCountPlacement=o.textCountPlacement),cv(e.characterCountSpaces)||(e.characterCountSpaces=o.characterCountSpaces),typeof e.wordCountTargetProperty!="string"?e.wordCountTargetProperty=o.wordCountTargetProperty:e.wordCountTargetProperty=e.wordCountTargetProperty.trim(),typeof e.showWordCountPercentage!="boolean"&&(e.showWordCountPercentage=o.showWordCountPercentage),Ta(e.propertySortOrder)||(e.propertySortOrder=o.propertySortOrder);let I=L=>{if(!L)return L;if(L.mode===void 0&&L.showDate===!1&&L.showPreview===!1&&L.showImage===!1){let D={...L,mode:"compact"};return delete D.showDate,delete D.showPreview,delete D.showImage,D}return L},N=L=>{L&&Object.entries(L).forEach(([V,D])=>{let A=I(D);if(A){let _=A;delete _.notePropertyType,delete _.customPropertyType,L[V]=A}})};N(e.folderAppearances),N(e.tagAppearances);let O=a.applyTagColorsToFileTags;typeof O=="boolean"&&(e.colorFileTags=O),delete a.applyTagColorsToFileTags;let K=a.slimItemHeight;if(typeof K=="number"&&Number.isFinite(K)){let L=ye.get(r.compactItemHeightKey);typeof n?.compactItemHeight>"u"&&L===null&&ye.set(r.compactItemHeightKey,K)}delete a.slimItemHeight;let G=a.slimItemHeightScaleText;if(typeof G=="boolean"){let L=ye.get(r.compactItemHeightScaleTextKey);typeof n?.compactItemHeightScaleText>"u"&&L===null&&ye.set(r.compactItemHeightScaleTextKey,G)}delete a.slimItemHeightScaleText;let X=a.showFileTagsInSlimMode;typeof X=="boolean"&&typeof n?.showFileTagsInCompactMode>"u"&&(e.showFileTagsInCompactMode=X),delete a.showFileTagsInSlimMode}function H4(t){let{settings:e,defaultSettings:n}=t,r=e,o=e.folderNoteTemplate,a=Na(o);e.folderNoteTemplate=a??n.folderNoteTemplate,typeof e.folderNoteNamePattern!="string"?e.folderNoteNamePattern=n.folderNoteNamePattern:e.folderNoteNamePattern=WO(e.folderNoteNamePattern),Object.prototype.hasOwnProperty.call(r,"folderNoteProperties")&&delete r.folderNoteProperties}function V4(t){let{settings:e}=t;typeof e.checkForUpdatesOnStart!="boolean"&&(e.checkForUpdatesOnStart=!0),dv(e.textCountDisplay)||(e.textCountDisplay="none"),lv(e.textCountPlacement)||(e.textCountPlacement="title"),cv(e.characterCountSpaces)||(e.characterCountSpaces="include"),dC(e.navCountLeaderStyle)||(e.navCountLeaderStyle=Le.navCountLeaderStyle),e.narrowSidebarLayout=sC(e.narrowSidebarLayout)??Le.narrowSidebarLayout,lC(e.narrowSidebarTriggerMode)||(e.narrowSidebarTriggerMode=Le.narrowSidebarTriggerMode),(typeof e.narrowSidebarCustomWidth!="number"||!Number.isFinite(e.narrowSidebarCustomWidth))&&(e.narrowSidebarCustomWidth=Le.narrowSidebarCustomWidth),typeof e.wordCountTargetProperty!="string"?e.wordCountTargetProperty=Le.wordCountTargetProperty:e.wordCountTargetProperty=e.wordCountTargetProperty.trim(),typeof e.showWordCountPercentage!="boolean"&&(e.showWordCountPercentage=!1),typeof e.showFolderGroupPaths!="boolean"&&(e.showFolderGroupPaths=Le.showFolderGroupPaths),typeof e.showCurrentFolderFilesAtBottom!="boolean"&&(e.showCurrentFolderFilesAtBottom=Le.showCurrentFolderFilesAtBottom)}function U4(t){let{settings:e,storedData:n}=t,r=e,o=typeof r.propertyFields=="string"?r.propertyFields:null,a=typeof n?.propertyFields=="string"?n.propertyFields:null;Object.prototype.hasOwnProperty.call(r,"propertyFields")&&delete r.propertyFields;let i=o??a;return i===null?null:Bc(i)}function K4(t){let{settings:e,legacyPropertyFields:n}=t,r=e;if(Object.prototype.hasOwnProperty.call(r,"propertyFields")&&delete r.propertyFields,!n||n.length===0)return;let o=BN(n);o.length!==0&&e.vaultProfiles.forEach(a=>{Array.isArray(a.propertyKeys)&&a.propertyKeys.length>0||(a.propertyKeys=o.map(i=>({...i})))})}function W4(t){let{storedData:e}=t;if(!e)return null;let n=e.shortcuts;if(!Array.isArray(n))return null;let r=[];return n.forEach(o=>{if(!o||typeof o!="object")return;let a=o,i=a.type;i!==Dn.FOLDER&&i!==Dn.NOTE&&i!==Dn.TAG&&i!==Dn.PROPERTY&&i!==Dn.SEARCH||r.push({...a})}),r.length===0?[]:r}function j4(t){let{settings:e,legacyShortcuts:n}=t,r=e;if(Object.prototype.hasOwnProperty.call(r,"shortcuts")&&delete r.shortcuts,!n||n.length===0)return;let o=Yc(n);e.vaultProfiles.forEach(a=>{Array.isArray(a.shortcuts)&&a.shortcuts.length>0||(a.shortcuts=Yc(o))})}function G4(t){let{settings:e}=t;if(!Array.isArray(e.vaultProfiles)||e.vaultProfiles.length===0)return!1;let n=!1;return e.vaultProfiles.forEach(r=>{if(!Array.isArray(r.shortcuts)||r.shortcuts.length===0)return;let o=!1,a=r.shortcuts.map(i=>{if(i.type!==Dn.SEARCH)return i;let s=sfe(i.query);return s===i.query?i:(o=!0,{...i,query:s})});o&&(r.shortcuts=a,n=!0)}),n}function q4(t){let{settings:e,storedData:n}=t,r=g=>{if(!Array.isArray(g))return[];let f=g.map(h=>typeof h=="string"?h.trim():"").filter(h=>h.length>0);return Array.from(new Set(f))},o=e,a=r(o.excludedFolders),i=r(o.excludedFiles);delete o.excludedFolders,delete o.excludedFiles;let s=r(n?.hiddenTags),l=o.navigationBanner,c=typeof l=="string"?l:null,u=n?.navigationBannerPath,p=typeof u=="string"?u:null,m=c&&c.length>0?c:p&&p.length>0?p:null;return delete o.navigationBanner,delete o.navigationBannerPath,{hiddenFolders:a,hiddenFileProperties:i,hiddenTags:s,navigationBanner:m,shouldApplyToProfiles:!Array.isArray(n?.vaultProfiles)}}function Y4(t){let{settings:e,migration:n}=t,r=typeof n.navigationBanner=="string"&&n.navigationBanner.length>0;if(!n.shouldApplyToProfiles||!r&&n.hiddenFolders.length===0&&n.hiddenFileProperties.length===0&&n.hiddenTags.length===0)return;let o=e.vaultProfiles.find(a=>a.id===e.vaultProfile)??e.vaultProfiles.find(a=>a.id===eo)??e.vaultProfiles[0];o&&(n.hiddenFolders.length>0&&(o.hiddenFolders=[...n.hiddenFolders]),n.hiddenFileProperties.length>0&&(o.hiddenFileProperties=[...n.hiddenFileProperties]),n.hiddenTags.length>0&&(o.hiddenTags=[...n.hiddenTags]),r&&(o.navigationBanner=n.navigationBanner))}function $4(t){let{settings:e}=t,n=e,r=n.calendarCustomRootFolder;if(Object.prototype.hasOwnProperty.call(n,"calendarCustomRootFolder")&&delete n.calendarCustomRootFolder,typeof r!="string")return null;let o=Ri(r);return o.length>0?o:null}function X4(t){let{settings:e,legacyPeriodicNotesFolder:n}=t;n&&(!Array.isArray(e.vaultProfiles)||e.vaultProfiles.length===0||e.vaultProfiles.forEach(r=>{typeof r.periodicNotesFolder=="string"&&r.periodicNotesFolder.length>0||(r.periodicNotesFolder=n)}))}xn();Jr();Yr();Si();Ee();Ot();Dr();dn();iN();cn();JT();pr();rh();Rn();Zr();$o();Sv();Ue();var yk=require("obsidian");Jr();$o();dm();function Q4(t){let e=(u,p)=>{ye.set(u,p)},n=(u,p)=>()=>{e(u,p())},r=(u,p)=>{p.forEach(m=>{delete u[m]})},o=(u,p)=>p.some(m=>m in u),a=u=>{let p=u.cleanupOnLoad??!0,m=u.hasPersistedValue??(f=>o(f,u.persistedKeys)),g=u.deleteFromPersisted??(f=>r(f,u.persistedKeys));return{loadPhase:u.loadPhase,cleanupOnLoad:p,hasPersistedValue:m,deleteFromPersisted:g,mirrorToLocalStorage:u.mirrorToLocalStorage,resolveOnLoad:u.resolveOnLoad}},i=u=>a({persistedKeys:u.persistedKeys,loadPhase:u.loadPhase,cleanupOnLoad:u.cleanupOnLoad,hasPersistedValue:u.hasPersistedValue,deleteFromPersisted:u.deleteFromPersisted,resolveOnLoad:({storedData:p})=>{if(t.isLocal(u.settingId)){let g=u.resolveDeviceLocal(p);return u.setCurrent(g.value),{migrated:g.migrated}}let m=u.sanitizeSynced();return u.setCurrent(m),e(u.localStorageKey,m),{migrated:!1}},mirrorToLocalStorage:n(u.localStorageKey,u.getCurrent)}),s=u=>i({settingId:u.settingId,persistedKeys:[u.settingId],loadPhase:u.loadPhase,localStorageKey:u.localStorageKey,resolveDeviceLocal:u.resolveDeviceLocal,sanitizeSynced:u.sanitizeSynced,getCurrent:()=>t.getSettings()[u.settingId],setCurrent:p=>{t.getSettings()[u.settingId]=p},cleanupOnLoad:u.cleanupOnLoad,hasPersistedValue:u.hasPersistedValue,deleteFromPersisted:u.deleteFromPersisted}),l=u=>a({persistedKeys:[u.persistedKey],loadPhase:"preProfiles",resolveOnLoad:()=>{let p=ye.get(t.keys.uxPreferencesKey),m=t.isUXPreferencesRecord(p),g=m?{...t.defaultUXPreferences,...p}:{...t.defaultUXPreferences},f=t.isLocal(u.settingId),h=t.getSettings(),b=f?g[u.persistedKey]:t.sanitizeBooleanSetting(h[u.persistedKey],t.defaultSettings[u.persistedKey]);return h[u.persistedKey]=b,(!m||g[u.persistedKey]!==b)&&e(t.keys.uxPreferencesKey,{...g,[u.persistedKey]:b}),{migrated:!1}},mirrorToLocalStorage:()=>{t.mirrorUXPreferences({[u.persistedKey]:t.getSettings()[u.persistedKey]})}}),c=u=>{let p=u?.useMobileHomepage===!0,m=Na(typeof u?.mobileHomepage=="string"?u.mobileHomepage:null),g=Na(typeof u?.homepage=="string"?u.homepage:null),f=m??g;return p?{source:yk.Platform.isMobile?f?"file":"none":g?"file":"none",file:yk.Platform.isMobile?f:g,createMissingPeriodicNote:t.defaultSettings.homepage.createMissingPeriodicNote}:{source:g?"file":"none",file:g,createMissingPeriodicNote:t.defaultSettings.homepage.createMissingPeriodicNote}};return{vaultProfile:a({persistedKeys:["vaultProfile"],loadPhase:"postProfiles",resolveOnLoad:()=>{let u=t.isLocal("vaultProfile"),p=t.getSettings();return p.vaultProfile=u?t.resolveActiveVaultProfileId():t.sanitizeVaultProfileId(p.vaultProfile),e(t.keys.vaultProfileKey,p.vaultProfile),{migrated:!1}},mirrorToLocalStorage:n(t.keys.vaultProfileKey,()=>t.getSettings().vaultProfile)}),homepage:s({settingId:"homepage",loadPhase:"preProfiles",localStorageKey:t.keys.homepageKey,resolveDeviceLocal:u=>{let p=ye.get(t.keys.homepageKey),m=u?"homepage"in u||"mobileHomepage"in u||"useMobileHomepage"in u:!1,g=t.sanitizeHomepageSetting(p),f=typeof u?.homepage=="object"&&u?.homepage!==null&&!Array.isArray(u?.homepage),h=p===null?f?t.sanitizeHomepageSetting(u?.homepage):c(u):g;return e(t.keys.homepageKey,h),{value:h,migrated:m}},sanitizeSynced:()=>t.sanitizeHomepageSetting(t.getSettings().homepage),deleteFromPersisted:u=>{delete u.homepage,delete u.mobileHomepage,delete u.useMobileHomepage},hasPersistedValue:u=>"homepage"in u||"mobileHomepage"in u||"useMobileHomepage"in u}),folderSortOrder:s({settingId:"folderSortOrder",loadPhase:"preProfiles",localStorageKey:t.keys.folderSortOrderKey,resolveDeviceLocal:u=>({value:A4({storedData:u,keys:t.keys,defaultSettings:t.defaultSettings}),migrated:!1}),sanitizeSynced:()=>t.sanitizeFolderSortOrderSetting(t.getSettings().folderSortOrder)}),tagSortOrder:s({settingId:"tagSortOrder",loadPhase:"preProfiles",localStorageKey:t.keys.tagSortOrderKey,resolveDeviceLocal:u=>({value:R4({storedData:u,keys:t.keys,defaultSettings:t.defaultSettings}),migrated:!1}),sanitizeSynced:()=>t.sanitizeTagSortOrderSetting(t.getSettings().tagSortOrder)}),propertySortOrder:s({settingId:"propertySortOrder",loadPhase:"preProfiles",localStorageKey:t.keys.propertySortOrderKey,resolveDeviceLocal:u=>({value:D4({storedData:u,keys:t.keys,defaultSettings:t.defaultSettings}),migrated:!1}),sanitizeSynced:()=>t.sanitizeTagSortOrderSetting(t.getSettings().propertySortOrder)}),includeDescendantNotes:l({settingId:"includeDescendantNotes",persistedKey:"includeDescendantNotes"}),dualPane:a({persistedKeys:["dualPane"],loadPhase:"preProfiles",resolveOnLoad:()=>{let u=t.isLocal("dualPane"),p=ye.get(t.keys.dualPaneKey),m=t.parseDualPanePreference(p),g=t.getSettings(),f=u?m??t.defaultSettings.dualPane:t.sanitizeBooleanSetting(g.dualPane,t.defaultSettings.dualPane);return g.dualPane=f,e(t.keys.dualPaneKey,f?"1":"0"),{migrated:!1}},mirrorToLocalStorage:n(t.keys.dualPaneKey,()=>t.getSettings().dualPane?"1":"0")}),dualPaneOrientation:a({persistedKeys:["dualPaneOrientation"],loadPhase:"preProfiles",resolveOnLoad:()=>{let u=t.isLocal("dualPaneOrientation"),p=ye.get(t.keys.dualPaneOrientationKey),m=t.parseDualPaneOrientation(p),g=t.getSettings(),f=u?m??t.defaultSettings.dualPaneOrientation:t.sanitizeDualPaneOrientationSetting(g.dualPaneOrientation);return g.dualPaneOrientation=f,e(t.keys.dualPaneOrientationKey,f),{migrated:!1}},mirrorToLocalStorage:n(t.keys.dualPaneOrientationKey,()=>t.getSettings().dualPaneOrientation)}),narrowSidebarLayout:a({persistedKeys:["narrowSidebarLayout"],loadPhase:"preProfiles",resolveOnLoad:()=>{let u=t.isLocal("narrowSidebarLayout"),p=ye.get(t.keys.narrowSidebarLayoutKey),m=t.getSettings(),g=u?t.sanitizeNarrowSidebarLayoutSetting(p):t.sanitizeNarrowSidebarLayoutSetting(m.narrowSidebarLayout);return m.narrowSidebarLayout=g,e(t.keys.narrowSidebarLayoutKey,g),{migrated:!1}},mirrorToLocalStorage:n(t.keys.narrowSidebarLayoutKey,()=>t.getSettings().narrowSidebarLayout)}),narrowSidebarTriggerMode:a({persistedKeys:["narrowSidebarTriggerMode"],loadPhase:"preProfiles",resolveOnLoad:()=>{let u=t.isLocal("narrowSidebarTriggerMode"),p=ye.get(t.keys.narrowSidebarTriggerModeKey),m=t.getSettings(),g=u?t.sanitizeNarrowSidebarTriggerModeSetting(p):t.sanitizeNarrowSidebarTriggerModeSetting(m.narrowSidebarTriggerMode);return m.narrowSidebarTriggerMode=g,e(t.keys.narrowSidebarTriggerModeKey,g),{migrated:!1}},mirrorToLocalStorage:n(t.keys.narrowSidebarTriggerModeKey,()=>t.getSettings().narrowSidebarTriggerMode)}),narrowSidebarCustomWidth:a({persistedKeys:["narrowSidebarCustomWidth"],loadPhase:"preProfiles",resolveOnLoad:()=>{let u=t.isLocal("narrowSidebarCustomWidth"),p=ye.get(t.keys.narrowSidebarCustomWidthKey),m=t.getSettings(),g=u?t.sanitizeNarrowSidebarCustomWidthSetting(p):t.sanitizeNarrowSidebarCustomWidthSetting(m.narrowSidebarCustomWidth);return m.narrowSidebarCustomWidth=g,e(t.keys.narrowSidebarCustomWidthKey,g),{migrated:!1}},mirrorToLocalStorage:n(t.keys.narrowSidebarCustomWidthKey,()=>t.getSettings().narrowSidebarCustomWidth)}),paneTransitionDuration:s({settingId:"paneTransitionDuration",loadPhase:"preProfiles",localStorageKey:t.keys.paneTransitionDurationKey,resolveDeviceLocal:u=>w4({storedData:u,keys:t.keys,defaultSettings:t.defaultSettings}),sanitizeSynced:()=>t.sanitizePaneTransitionDurationSetting(t.getSettings().paneTransitionDuration)}),toolbarVisibility:s({settingId:"toolbarVisibility",loadPhase:"preProfiles",localStorageKey:t.keys.toolbarVisibilityKey,resolveDeviceLocal:u=>T4({storedData:u,keys:t.keys,defaultSettings:t.defaultSettings}),sanitizeSynced:()=>t.sanitizeToolbarVisibilitySetting(t.getSettings().toolbarVisibility)}),useFloatingToolbars:s({settingId:"useFloatingToolbars",loadPhase:"preProfiles",localStorageKey:t.keys.useFloatingToolbarsKey,resolveDeviceLocal:()=>{let u=ye.get(t.keys.useFloatingToolbarsKey),p=t.sanitizeBooleanSetting(u,t.defaultSettings.useFloatingToolbars);return e(t.keys.useFloatingToolbarsKey,p),{value:p,migrated:!1}},sanitizeSynced:()=>t.sanitizeBooleanSetting(t.getSettings().useFloatingToolbars,t.defaultSettings.useFloatingToolbars)}),pinNavigationBanner:s({settingId:"pinNavigationBanner",loadPhase:"preProfiles",localStorageKey:t.keys.pinNavigationBannerKey,resolveDeviceLocal:u=>C4({storedData:u,keys:t.keys,defaultSettings:t.defaultSettings}),sanitizeSynced:()=>t.sanitizeBooleanSetting(t.getSettings().pinNavigationBanner,t.defaultSettings.pinNavigationBanner)}),navIndent:s({settingId:"navIndent",loadPhase:"preProfiles",localStorageKey:t.keys.navIndentKey,resolveDeviceLocal:u=>k4({storedData:u,keys:t.keys,defaultSettings:t.defaultSettings}),sanitizeSynced:()=>t.sanitizeNavIndentSetting(t.getSettings().navIndent)}),navItemHeight:s({settingId:"navItemHeight",loadPhase:"preProfiles",localStorageKey:t.keys.navItemHeightKey,resolveDeviceLocal:u=>F4({storedData:u,keys:t.keys,defaultSettings:t.defaultSettings}),sanitizeSynced:()=>t.sanitizeNavItemHeightSetting(t.getSettings().navItemHeight)}),navItemHeightScaleText:s({settingId:"navItemHeightScaleText",loadPhase:"preProfiles",localStorageKey:t.keys.navItemHeightScaleTextKey,resolveDeviceLocal:u=>P4({storedData:u,keys:t.keys,defaultSettings:t.defaultSettings}),sanitizeSynced:()=>t.sanitizeBooleanSetting(t.getSettings().navItemHeightScaleText,t.defaultSettings.navItemHeightScaleText)}),calendarPlacement:s({settingId:"calendarPlacement",loadPhase:"preProfiles",localStorageKey:t.keys.calendarPlacementKey,resolveDeviceLocal:u=>N4({storedData:u,keys:t.keys,defaultSettings:t.defaultSettings}),sanitizeSynced:()=>t.sanitizeCalendarPlacementSetting(t.getSettings().calendarPlacement)}),calendarLeftPlacement:s({settingId:"calendarLeftPlacement",loadPhase:"preProfiles",localStorageKey:t.keys.calendarLeftPlacementKey,resolveDeviceLocal:u=>I4({storedData:u,keys:t.keys,defaultSettings:t.defaultSettings}),sanitizeSynced:()=>t.sanitizeCalendarLeftPlacementSetting(t.getSettings().calendarLeftPlacement)}),calendarWeeksToShow:s({settingId:"calendarWeeksToShow",loadPhase:"preProfiles",localStorageKey:t.keys.calendarWeeksToShowKey,resolveDeviceLocal:u=>x4({storedData:u,keys:t.keys,defaultSettings:t.defaultSettings}),sanitizeSynced:()=>t.sanitizeCalendarWeeksToShowSetting(t.getSettings().calendarWeeksToShow)}),compactItemHeight:s({settingId:"compactItemHeight",loadPhase:"preProfiles",localStorageKey:t.keys.compactItemHeightKey,resolveDeviceLocal:u=>E4({storedData:u,keys:t.keys,defaultSettings:t.defaultSettings}),sanitizeSynced:()=>t.sanitizeCompactItemHeightSetting(t.getSettings().compactItemHeight)}),compactItemHeightScaleText:s({settingId:"compactItemHeightScaleText",loadPhase:"preProfiles",localStorageKey:t.keys.compactItemHeightScaleTextKey,resolveDeviceLocal:u=>M4({storedData:u,keys:t.keys,defaultSettings:t.defaultSettings}),sanitizeSynced:()=>t.sanitizeBooleanSetting(t.getSettings().compactItemHeightScaleText,t.defaultSettings.compactItemHeightScaleText)}),featureImageSize:s({settingId:"featureImageSize",loadPhase:"preProfiles",localStorageKey:t.keys.featureImageSizeKey,resolveDeviceLocal:()=>{let u=ye.get(t.keys.featureImageSizeKey),p=t.sanitizeFeatureImageSizeSetting(u);return e(t.keys.featureImageSizeKey,p),{value:p,migrated:!1}},sanitizeSynced:()=>t.sanitizeFeatureImageSizeSetting(t.getSettings().featureImageSize)}),featureImagePixelSize:s({settingId:"featureImagePixelSize",loadPhase:"preProfiles",localStorageKey:t.keys.featureImagePixelSizeKey,resolveDeviceLocal:()=>{let u=ye.get(t.keys.featureImagePixelSizeKey),p=t.sanitizeFeatureImagePixelSizeSetting(u);return e(t.keys.featureImagePixelSizeKey,p),{value:p,migrated:!1}},sanitizeSynced:()=>t.sanitizeFeatureImagePixelSizeSetting(t.getSettings().featureImagePixelSize)}),uiScale:a({persistedKeys:["desktopScale","mobileScale"],loadPhase:"preProfiles",cleanupOnLoad:!1,hasPersistedValue:()=>!1,deleteFromPersisted:u=>{t.getShouldPersistDesktopScale()||delete u.desktopScale,t.getShouldPersistMobileScale()||delete u.mobileScale},resolveOnLoad:({storedData:u})=>{let p=t.isLocal("uiScale"),m=t.getSettings();if(p){let f=O4({settings:m,storedData:u,keys:t.keys,shouldPersistDesktopScale:t.getShouldPersistDesktopScale(),shouldPersistMobileScale:t.getShouldPersistMobileScale()});return t.setShouldPersistDesktopScale(f.shouldPersistDesktopScale),t.setShouldPersistMobileScale(f.shouldPersistMobileScale),{migrated:f.migrated}}m.desktopScale=Za(m.desktopScale),m.mobileScale=Za(m.mobileScale);let g=Za(yk.Platform.isMobile?m.mobileScale:m.desktopScale);return e(t.keys.uiScaleKey,g),{migrated:!1}},mirrorToLocalStorage:()=>{let u=t.getSettings(),p=Za(yk.Platform.isMobile?u.mobileScale:u.desktopScale);e(t.keys.uiScaleKey,p)}})}}var Z4=require("obsidian");ko();var bk={base:{searchActive:!1,showCalendar:!1,showHiddenItems:!1,pinShortcuts:!0,includeDescendantNotes:Le.includeDescendantNotes},platform:{mobile:{},desktop:{}}},Hz=Object.keys(bk.base).filter(t=>t in bk.base),cfe=new Set(Hz);function Qh(){let t=Z4.Platform.isMobile?bk.platform.mobile:bk.platform.desktop;return{...bk.base,...t}}function Bx(t){if(t===null||typeof t!="object")return!1;let e=t;for(let n of Hz){let r=e[n];if(typeof r<"u"&&typeof r!="boolean")return!1}return!0}function J4(t,e=Qh()){let n={...e};if(t===null||typeof t!="object")return{preferences:n,changed:!0};let r=t,o=!1;Object.keys(r).forEach(a=>{cfe.has(a)||(o=!0)});for(let a of Hz){let i=r[a];if(typeof i=="boolean"){n[a]=i;continue}o=!0}return{preferences:n,changed:o}}function ufe(t,e){if(typeof t!="string")return e;let n=t.trim();return n.length===0?e:n}var pfe=new Set(["vaultProfile","tagSortOrder","includeDescendantNotes","dualPane","dualPaneOrientation","paneTransitionDuration","toolbarVisibility","navIndent","navItemHeight","navItemHeightScaleText","calendarWeeksToShow","compactItemHeight","compactItemHeightScaleText","uiScale"]);function Vz(t){return mt(t)?Object.values(t).some(e=>mt(e)&&e.groupBy==="none"):!1}function mfe(t){return t?t.noteGrouping==="none"||Vz(t.folderAppearances)||Vz(t.tagAppearances)||Vz(t.propertyAppearances):!1}var _x=class{constructor(e){this.currentSettings={...Le};this.syncModeRegistry=null;this.shouldPersistDesktopScale=!1;this.shouldPersistMobileScale=!1;this.hiddenFolderCacheKey=null;this.hiddenTagCacheKey=null;this.hiddenFileNamesCacheKey=null;this.options=e}get settings(){return this.currentSettings}set settings(e){this.currentSettings=e}getSyncMode(e){return this.currentSettings.syncModes?.[e]==="local"?"local":"synced"}isLocal(e){return this.getSyncMode(e)==="local"}isSynced(e){return this.getSyncMode(e)==="synced"}async setSyncMode(e,n){let r=n==="local"?"local":"synced";if(this.getSyncMode(e)===r)return!1;r==="local"&&this.seedLocalValue(e);let a=De(this.currentSettings.syncModes,ov);return a[e]=r,this.currentSettings.syncModes=a,!0}mirrorAllSyncModeSettingsToLocalStorage(){let e=this.getSyncModeRegistry();cm.forEach(n=>{e[n].mirrorToLocalStorage()})}prepareImportedUiScalePersistence(){this.isLocal("uiScale")&&(this.shouldPersistDesktopScale=!0,this.shouldPersistMobileScale=!0)}clearAllLocalStorage(){Object.keys(ut).forEach(n=>{if(n==="databaseSchemaVersionKey"||n==="databaseContentVersionKey"||n==="debugLoggingEnabledKey")return;let r=ut[n];ye.remove(r)})}async loadSettings(){let e=await this.options.loadData(),n=mt(e)?e:null,r=!!(n&&Object.prototype.hasOwnProperty.call(n,"propertyFields")),o=!!(n&&(typeof n.homepage=="string"||Object.prototype.hasOwnProperty.call(n,"mobileHomepage")||Object.prototype.hasOwnProperty.call(n,"useMobileHomepage"))),a=!!(n&&Object.prototype.hasOwnProperty.call(n,"useFolderColorForFileTitles")),i=!!(n&&Object.prototype.hasOwnProperty.call(n,"showPinnedIcon")),s=!!(n&&Object.prototype.hasOwnProperty.call(n,"showPinnedGroupHeader")),l=n?.interfaceIcons,c=!!(mt(l)&&Object.prototype.hasOwnProperty.call(l,"pinned-section")),u=!!(n&&Object.prototype.hasOwnProperty.call(n,"propertySortKey")&&typeof n.propertySortKey!="string"),p=!!(n&&Object.prototype.hasOwnProperty.call(n,"manualSortPropertyKey")&&typeof n.manualSortPropertyKey!="string"),m=!!(n&&Object.prototype.hasOwnProperty.call(n,"defaultFolderSort")&&(!lh(n.defaultFolderSort)||Jl(n.defaultFolderSort))),g=mfe(n),f=!!(n&&Object.prototype.hasOwnProperty.call(n,"openFolderNotesInNewTab")),h=!!(n&&Object.prototype.hasOwnProperty.call(n,"shiftEnterOpenContext")&&!yw(n.shiftEnterOpenContext)),b=!!(n&&Object.prototype.hasOwnProperty.call(n,"cmdCtrlEnterOpenContext")&&!yw(n.cmdCtrlEnterOpenContext)),v=n,y=n===null;this.shouldPersistDesktopScale=!!(n&&"desktopScale"in n),this.shouldPersistMobileScale=!!(n&&"mobileScale"in n),this.currentSettings={...Le,...v??{}};let S=!!(n&&"searchProvider"in n),w=!!(n&&"lastAnnouncedRelease"in n),k=ye.get(this.options.keys.searchProviderKey);k==="internal"||k==="omnisearch"?this.currentSettings.searchProvider=k:(this.currentSettings.searchProvider="internal",ye.set(this.options.keys.searchProviderKey,"internal"));let F=this.currentSettings;delete F.showCalendar,delete F.calendarCustomPromptForTitle,delete F.saveMetadataToFrontmatter,delete F.lastAnnouncedRelease,delete F.optimizeNoteHeight,cC(n?.folderNoteOpenLocation)||(this.currentSettings.folderNoteOpenLocation=n?.openFolderNotesInNewTab===!0?"new-tab":Le.folderNoteOpenLocation),delete F.openFolderNotesInNewTab,typeof this.currentSettings.propertySortKey!="string"&&(this.currentSettings.propertySortKey=Le.propertySortKey),typeof this.currentSettings.manualSortPropertyKey!="string"&&(this.currentSettings.manualSortPropertyKey=Le.manualSortPropertyKey),(!lh(this.currentSettings.defaultFolderSort)||Jl(this.currentSettings.defaultFolderSort))&&(this.currentSettings.defaultFolderSort=Le.defaultFolderSort),typeof this.currentSettings.manualSortGroupHeaderProperty!="string"&&(this.currentSettings.manualSortGroupHeaderProperty=Le.manualSortGroupHeaderProperty),this.currentSettings.keyboardShortcuts=CU(this.currentSettings.keyboardShortcuts),yw(this.currentSettings.shiftEnterOpenContext)||(this.currentSettings.shiftEnterOpenContext=Le.shiftEnterOpenContext),yw(this.currentSettings.cmdCtrlEnterOpenContext)||(this.currentSettings.cmdCtrlEnterOpenContext=Le.cmdCtrlEnterOpenContext),this.normalizeSyncModes({storedData:n,isFirstLaunch:y});let P=this.getSyncModeRegistry();_4({settings:this.currentSettings,storedData:n,keys:this.options.keys,defaultSettings:Le}),this.sanitizeSettingsRecords();let T=wm(this.currentSettings),I=B4({settings:this.currentSettings,defaultDateFormat:lA(),defaultTimeFormat:dA(),defaultSettings:Le});this.currentSettings.dateFormat||(this.currentSettings.dateFormat=lA()),this.currentSettings.timeFormat||(this.currentSettings.timeFormat=dA()),(typeof this.currentSettings.recentNotesCount!="number"||this.currentSettings.recentNotesCount<=0)&&(this.currentSettings.recentNotesCount=Le.recentNotesCount),sv(this.currentSettings.hideRecentNotes)||(this.currentSettings.hideRecentNotes=Le.hideRecentNotes),this.currentSettings.calendarEnabled=this.sanitizeBooleanSetting(this.currentSettings.calendarEnabled,Le.calendarEnabled),nC(this.currentSettings.propertySortSecondary)||(this.currentSettings.propertySortSecondary=Le.propertySortSecondary),oC(this.currentSettings.manualSortNewNotePlacement)||(this.currentSettings.manualSortNewNotePlacement=Le.manualSortNewNotePlacement),uC(this.currentSettings.calendarWeekendDays)||(this.currentSettings.calendarWeekendDays=Le.calendarWeekendDays),pC(this.currentSettings.calendarMonthHeadingFormat)||(this.currentSettings.calendarMonthHeadingFormat=Le.calendarMonthHeadingFormat),mC(this.currentSettings.calendarPeriodicNotesLocaleSource)||(this.currentSettings.calendarPeriodicNotesLocaleSource=Le.calendarPeriodicNotesLocaleSource),dh(this.currentSettings.featureImageSize)||(this.currentSettings.featureImageSize=Le.featureImageSize),ch(this.currentSettings.featureImagePixelSize)||(this.currentSettings.featureImagePixelSize=Le.featureImagePixelSize),AU(this.currentSettings.mouseBackForwardAction)||(this.currentSettings.mouseBackForwardAction=Le.mouseBackForwardAction),al(this.currentSettings.folderSortOrder)||(this.currentSettings.folderSortOrder=Le.folderSortOrder),this.currentSettings.deleteAttachments=ZP(this.currentSettings.deleteAttachments,Le.deleteAttachments),this.currentSettings.moveFileConflicts=JP(this.currentSettings.moveFileConflicts,Le.moveFileConflicts);let N=!1;cm.forEach(E=>{let R=P[E];if(R.loadPhase!=="preProfiles")return;let M=R.resolveOnLoad({storedData:n});E==="uiScale"&&(N=M.migrated)}),Array.isArray(this.currentSettings.rootFolderOrder)||(this.currentSettings.rootFolderOrder=[]),Array.isArray(this.currentSettings.rootTagOrder)||(this.currentSettings.rootTagOrder=[]),Array.isArray(this.currentSettings.rootPropertyOrder)||(this.currentSettings.rootPropertyOrder=[]);let O=b4({settings:this.currentSettings,storedData:n,keys:this.options.keys}),K=S4({settings:this.currentSettings,storedData:n,keys:this.options.keys}),G=!!(n&&cm.some(E=>{let R=P[E];return!R.cleanupOnLoad||!this.isLocal(E)?!1:R.hasPersistedValue(n)}));H4({settings:this.currentSettings,defaultSettings:Le}),V4({settings:this.currentSettings});let X=q4({settings:this.currentSettings,storedData:n}),L=U4({settings:this.currentSettings,storedData:n}),V=W4({storedData:n}),D=$4({settings:this.currentSettings});Oo(this.currentSettings),X4({settings:this.currentSettings,legacyPeriodicNotesFolder:D}),Y4({settings:this.currentSettings,migration:X}),K4({settings:this.currentSettings,legacyPropertyFields:L}),j4({settings:this.currentSettings,legacyShortcuts:V});let A=G4({settings:this.currentSettings});return this.normalizeIconSettings(),this.normalizeTaskSettings(),this.normalizeFileIconMapSettings(),this.normalizeInterfaceIconsSettings(),P.vaultProfile.resolveOnLoad({storedData:n}),this.refreshMatcherCachesIfNeeded(),(O||K||G||S||w||r||o||a||i||s||c||u||p||m||g||f||h||b||T||N||I||A)&&await this.options.saveData(this.getPersistableSettings()),y}normalizeTagSettings(){let e=r=>{if(!r)return Object.create(null);let o=Object.create(null),a=De(r);for(let[i,s]of Object.entries(a)){let l=It(i);l&&(o[l]=s)}return o},n=r=>r?[...new Set(r.map(o=>It(o)).filter(o=>o.length>0))]:[];this.currentSettings.tagColors&&(this.currentSettings.tagColors=e(this.currentSettings.tagColors)),this.currentSettings.tagBackgroundColors&&(this.currentSettings.tagBackgroundColors=e(this.currentSettings.tagBackgroundColors)),this.currentSettings.tagIcons&&(this.currentSettings.tagIcons=e(this.currentSettings.tagIcons)),this.currentSettings.tagSortOverrides&&(this.currentSettings.tagSortOverrides=e(this.currentSettings.tagSortOverrides)),this.currentSettings.tagTreeSortOverrides&&(this.currentSettings.tagTreeSortOverrides=e(this.currentSettings.tagTreeSortOverrides)),this.currentSettings.tagAppearances&&(this.currentSettings.tagAppearances=e(this.currentSettings.tagAppearances)),Array.isArray(this.currentSettings.vaultProfiles)&&this.currentSettings.vaultProfiles.forEach(r=>{r.hiddenTags=n(r.hiddenTags),r.hiddenFileTags=n(r.hiddenFileTags)})}normalizePropertySettings(){let e=r=>{if(!r)return Object.create(null);let o=Object.create(null),a=De(r);for(let[i,s]of Object.entries(a)){let l=i===Oe?Oe:Gt(i);l&&(o[l]=s)}return o},n=r=>{if(!r)return Object.create(null);let o=Object.create(null),a=De(r);for(let[i,s]of Object.entries(a)){let l=Wv(i);l&&(o[l]=s)}return o};this.currentSettings.propertyColors&&(this.currentSettings.propertyColors=e(this.currentSettings.propertyColors)),this.currentSettings.propertyBackgroundColors&&(this.currentSettings.propertyBackgroundColors=e(this.currentSettings.propertyBackgroundColors)),this.currentSettings.propertyIcons&&(this.currentSettings.propertyIcons=e(this.currentSettings.propertyIcons)),this.currentSettings.propertySortOverrides&&(this.currentSettings.propertySortOverrides=e(this.currentSettings.propertySortOverrides)),this.currentSettings.propertyTreeSortOverrides&&(this.currentSettings.propertyTreeSortOverrides=n(this.currentSettings.propertyTreeSortOverrides)),this.currentSettings.propertyAppearances&&(this.currentSettings.propertyAppearances=e(this.currentSettings.propertyAppearances))}normalizeNavigationSeparatorSettings(){let e=Object.create(null),n=De(this.currentSettings.navigationSeparators,fm);for(let[r,o]of Object.entries(n)){let a=qI(r);a&&(e[a]=o)}this.currentSettings.navigationSeparators=e}async saveSettings(){Oo(this.currentSettings),this.refreshMatcherCachesIfNeeded(),ye.set(this.options.keys.homepageKey,this.currentSettings.homepage),await this.options.saveData(this.getPersistableSettings())}getPersistableSettings(){let e={...this.currentSettings};delete e.hiddenTags,delete e.fileVisibility,delete e.recentColors,delete e.lastReleaseCheckAt,delete e.latestKnownRelease,delete e.searchProvider,delete e.showCalendar,delete e.calendarCustomPromptForTitle,delete e.saveMetadataToFrontmatter,delete e.propertyFields,delete e.notePropertyType,delete e.optimizeNoteHeight,delete e.showPinnedIcon,delete e.showPinnedGroupHeader,delete e.showWordCount,delete e.wordCountPlacement,delete e.wordCharacterCountDisplay,delete e.characterCountMode;let n=this.getSyncModeRegistry();return cm.forEach(r=>{this.isLocal(r)&&n[r].deleteFromPersisted(e)}),e}refreshMatcherCachesIfNeeded(){let e=this.buildPatternCacheKey(i=>i.hiddenFolders),n=this.buildPatternCacheKey(i=>i.hiddenTags),r=this.buildPatternCacheKey(i=>i.hiddenFileTags),o=`${n}${r}`,a=this.buildPatternCacheKey(i=>i.hiddenFileNames);e!==this.hiddenFolderCacheKey&&(Lj(),this.hiddenFolderCacheKey=e),o!==this.hiddenTagCacheKey&&(BW(),this.hiddenTagCacheKey=o),a!==this.hiddenFileNamesCacheKey&&(sj(),this.hiddenFileNamesCacheKey=a)}setLocalStorageVersion(){ye.set(ut.localStorageVersionKey,BA)}getStoredLocalStorageVersion(){return ye.get(ut.localStorageVersionKey)}getCurrentLocalStorageVersion(){return BA}parseFiniteNumber(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"){let n=Number(e);if(Number.isFinite(n))return n}return null}sanitizeBoundedIntegerSetting(e,n){let r=this.parseFiniteNumber(e);if(r===null)return n.fallback;let o=Math.round(r);return o<n.min||o>n.max?n.fallback:o}sanitizeBooleanSetting(e,n){return typeof e=="boolean"?e:n}sanitizeHomepageSetting(e){if(typeof e!="object"||e===null)return{...Le.homepage};let n=e,r=av(n.source)?n.source:Le.homepage.source,o=Na(typeof n.file=="string"?n.file:null),a=typeof n.createMissingPeriodicNote=="boolean"?n.createMissingPeriodicNote:Le.homepage.createMissingPeriodicNote;return{source:r,file:o,createMissingPeriodicNote:a}}sanitizeDualPaneOrientationSetting(e){return this.parseDualPaneOrientation(e)??Le.dualPaneOrientation}sanitizeNarrowSidebarLayoutSetting(e){return sC(e)??Le.narrowSidebarLayout}sanitizeNarrowSidebarTriggerModeSetting(e){return lC(e)?e:Le.narrowSidebarTriggerMode}sanitizeNarrowSidebarCustomWidthSetting(e){return this.sanitizeBoundedIntegerSetting(e,{min:pm,max:mm,fallback:Le.narrowSidebarCustomWidth})}sanitizePaneTransitionDurationSetting(e){return this.sanitizeBoundedIntegerSetting(e,{min:Dc,max:Ac,fallback:Le.paneTransitionDuration})}sanitizeNavIndentSetting(e){return this.sanitizeBoundedIntegerSetting(e,{min:10,max:24,fallback:Le.navIndent})}sanitizeNavItemHeightSetting(e){return this.sanitizeBoundedIntegerSetting(e,{min:20,max:28,fallback:Le.navItemHeight})}sanitizeCalendarPlacementSetting(e){return gm(e)?e:Le.calendarPlacement}sanitizeCalendarLeftPlacementSetting(e){return hm(e)?e:Le.calendarLeftPlacement}sanitizeCalendarWeeksToShowSetting(e){let n=this.parseFiniteNumber(e);if(n===null)return Le.calendarWeeksToShow;let r=Math.round(n);return r===1||r===2||r===3||r===4||r===5||r===6?r:Le.calendarWeeksToShow}sanitizeCompactItemHeightSetting(e){return this.sanitizeBoundedIntegerSetting(e,{min:20,max:28,fallback:Le.compactItemHeight})}sanitizeFeatureImageSizeSetting(e){return dh(e)?e:Le.featureImageSize}sanitizeFeatureImagePixelSizeSetting(e){return ch(e)?e:Le.featureImagePixelSize}sanitizeTagSortOrderSetting(e){return typeof e=="string"&&Ta(e)?e:Le.tagSortOrder}sanitizeFolderSortOrderSetting(e){return typeof e=="string"&&al(e)?e:Le.folderSortOrder}sanitizeVaultProfileId(e){let n=this.currentSettings.vaultProfiles,r=typeof e=="string"?n.find(a=>a.id===e):null;if(r)return r.id;let o=n.find(a=>a.id===eo);return o?o.id:n[0]?.id??eo}sanitizeToolbarVisibilitySetting(e){let n=Le.toolbarVisibility,r=(o,a)=>{let i={...o};return ka(a)&&Object.keys(o).forEach(s=>{let l=a[s];typeof l=="boolean"&&(i[s]=l)}),i};return ka(e)?{navigation:r(n.navigation,e.navigation),list:r(n.list,e.list)}:{navigation:{...n.navigation},list:{...n.list}}}resolveActiveVaultProfileId(){let e=this.currentSettings.vaultProfiles,n=i=>{if(typeof i!="string"||!i)return null;let s=e.find(l=>l.id===i);return s?s.id:null},r=ye.get(this.options.keys.vaultProfileKey),o=n(r);if(o)return o;let a=e.find(i=>i.id===eo);return a?a.id:e[0]?.id??eo}normalizeSyncModes(e){let{storedData:n,isFirstLaunch:r}=e,o=n?.syncModes,a=ka(o)?o:null,i=De(void 0);cm.forEach(s=>{let l=r?"synced":pfe.has(s)?"local":"synced",c=a?a[s]:void 0;i[s]=ov(c)?c:l}),this.currentSettings.syncModes=i}getSyncModeRegistry(){return this.syncModeRegistry?this.syncModeRegistry:(this.syncModeRegistry=Q4({keys:this.options.keys,defaultSettings:Le,isLocal:e=>this.isLocal(e),getSettings:()=>this.currentSettings,resolveActiveVaultProfileId:()=>this.resolveActiveVaultProfileId(),sanitizeVaultProfileId:e=>this.sanitizeVaultProfileId(e),parseDualPanePreference:e=>this.parseDualPanePreference(e),parseDualPaneOrientation:e=>this.parseDualPaneOrientation(e),sanitizeBooleanSetting:(e,n)=>this.sanitizeBooleanSetting(e,n),sanitizeHomepageSetting:e=>this.sanitizeHomepageSetting(e),sanitizeDualPaneOrientationSetting:e=>this.sanitizeDualPaneOrientationSetting(e),sanitizeNarrowSidebarLayoutSetting:e=>this.sanitizeNarrowSidebarLayoutSetting(e),sanitizeNarrowSidebarTriggerModeSetting:e=>this.sanitizeNarrowSidebarTriggerModeSetting(e),sanitizeNarrowSidebarCustomWidthSetting:e=>this.sanitizeNarrowSidebarCustomWidthSetting(e),sanitizeTagSortOrderSetting:e=>this.sanitizeTagSortOrderSetting(e),sanitizeFolderSortOrderSetting:e=>this.sanitizeFolderSortOrderSetting(e),sanitizePaneTransitionDurationSetting:e=>this.sanitizePaneTransitionDurationSetting(e),sanitizeToolbarVisibilitySetting:e=>this.sanitizeToolbarVisibilitySetting(e),sanitizeNavIndentSetting:e=>this.sanitizeNavIndentSetting(e),sanitizeNavItemHeightSetting:e=>this.sanitizeNavItemHeightSetting(e),sanitizeCalendarWeeksToShowSetting:e=>this.sanitizeCalendarWeeksToShowSetting(e),sanitizeCalendarPlacementSetting:e=>this.sanitizeCalendarPlacementSetting(e),sanitizeCalendarLeftPlacementSetting:e=>this.sanitizeCalendarLeftPlacementSetting(e),sanitizeCompactItemHeightSetting:e=>this.sanitizeCompactItemHeightSetting(e),sanitizeFeatureImageSizeSetting:e=>this.sanitizeFeatureImageSizeSetting(e),sanitizeFeatureImagePixelSizeSetting:e=>this.sanitizeFeatureImagePixelSizeSetting(e),defaultUXPreferences:Qh(),isUXPreferencesRecord:Bx,mirrorUXPreferences:e=>{this.options.mirrorUXPreferences(e)},getShouldPersistDesktopScale:()=>this.shouldPersistDesktopScale,getShouldPersistMobileScale:()=>this.shouldPersistMobileScale,setShouldPersistDesktopScale:e=>{this.shouldPersistDesktopScale=e},setShouldPersistMobileScale:e=>{this.shouldPersistMobileScale=e}}),this.syncModeRegistry)}seedLocalValue(e){this.getSyncModeRegistry()[e].mirrorToLocalStorage()}sanitizeSettingsRecords(){let e=l=>De(l,Ln),n=l=>{let c=Object.create(null);if(!l)return c;for(let u of Object.keys(l)){let p=Oc(l[u]);p&&(c[u]=p)}return c},r=l=>De(l,al),o=l=>ka(l),a=l=>{let c=De(l,o);return Object.values(c).forEach(u=>{delete u.notePropertyType,gC(u)}),c},i=l=>De(l,fm),s=l=>De(l,ov);this.currentSettings.folderColors=e(this.currentSettings.folderColors),this.currentSettings.folderBackgroundColors=e(this.currentSettings.folderBackgroundColors),this.currentSettings.fileColors=e(this.currentSettings.fileColors),this.currentSettings.fileBackgroundColors=e(this.currentSettings.fileBackgroundColors),this.currentSettings.tagColors=e(this.currentSettings.tagColors),this.currentSettings.tagBackgroundColors=e(this.currentSettings.tagBackgroundColors),this.currentSettings.propertyColors=e(this.currentSettings.propertyColors),this.currentSettings.propertyBackgroundColors=e(this.currentSettings.propertyBackgroundColors),this.currentSettings.virtualFolderColors=e(this.currentSettings.virtualFolderColors),this.currentSettings.virtualFolderBackgroundColors=e(this.currentSettings.virtualFolderBackgroundColors),this.currentSettings.folderSortOverrides=n(this.currentSettings.folderSortOverrides),this.currentSettings.tagSortOverrides=n(this.currentSettings.tagSortOverrides),this.currentSettings.propertySortOverrides=n(this.currentSettings.propertySortOverrides),this.currentSettings.folderTreeSortOverrides=r(this.currentSettings.folderTreeSortOverrides),this.currentSettings.tagTreeSortOverrides=r(this.currentSettings.tagTreeSortOverrides),this.currentSettings.propertyTreeSortOverrides=r(this.currentSettings.propertyTreeSortOverrides),this.currentSettings.folderAppearances=a(this.currentSettings.folderAppearances),this.currentSettings.tagAppearances=a(this.currentSettings.tagAppearances),this.currentSettings.propertyAppearances=a(this.currentSettings.propertyAppearances),this.currentSettings.navigationSeparators=i(this.currentSettings.navigationSeparators),this.currentSettings.externalIconProviders=i(this.currentSettings.externalIconProviders),this.currentSettings.syncModes=s(this.currentSettings.syncModes),this.currentSettings.calendarMonthHighlights=e(this.currentSettings.calendarMonthHighlights),this.currentSettings.pinnedNotes=Ou(this.currentSettings.pinnedNotes),this.currentSettings.collapsedPinnedContexts=uv(this.currentSettings.collapsedPinnedContexts)}normalizeTaskSettings(){typeof this.currentSettings.showFileIconUnfinishedTask!="boolean"&&(this.currentSettings.showFileIconUnfinishedTask=Le.showFileIconUnfinishedTask),typeof this.currentSettings.showFileBackgroundUnfinishedTask!="boolean"&&(this.currentSettings.showFileBackgroundUnfinishedTask=Le.showFileBackgroundUnfinishedTask),this.currentSettings.unfinishedTaskBackgroundColor=ufe(this.currentSettings.unfinishedTaskBackgroundColor,Le.unfinishedTaskBackgroundColor)}normalizeIconSettings(){let e=n=>{let r=De(n,Ln);return Object.keys(r).forEach(o=>{let a=qn(r[o]);if(!a){delete r[o];return}r[o]=a}),r};this.currentSettings.folderIcons=e(this.currentSettings.folderIcons),this.currentSettings.tagIcons=e(this.currentSettings.tagIcons),this.currentSettings.propertyIcons=e(this.currentSettings.propertyIcons),this.currentSettings.fileIcons=e(this.currentSettings.fileIcons)}normalizeFileIconMapSettings(){let e=(n,r,o)=>{if(!ka(n))return xT(o,r);let a=De(void 0);return Object.entries(n).forEach(([i,s])=>{typeof s=="string"&&(a[i]=s)}),xT(a,r)};typeof this.currentSettings.showCategoryIcons!="boolean"&&(this.currentSettings.showCategoryIcons=Le.showCategoryIcons),typeof this.currentSettings.showFilenameMatchIcons!="boolean"&&(this.currentSettings.showFilenameMatchIcons=Le.showFilenameMatchIcons),bv(this.currentSettings.fileTypeIconPreset)||(this.currentSettings.fileTypeIconPreset=Le.fileTypeIconPreset),this.currentSettings.fileTypeIconMap=e(this.currentSettings.fileTypeIconMap,Rm,Le.fileTypeIconMap),this.currentSettings.fileNameIconMap=e(this.currentSettings.fileNameIconMap,Dm,Le.fileNameIconMap)}normalizeInterfaceIconsSettings(){let e=this.currentSettings.interfaceIcons;if(!ka(e)){this.currentSettings.interfaceIcons=De(Le.interfaceIcons,Ln);return}let n=De(void 0);Object.entries(e).forEach(([o,a])=>{typeof a=="string"&&(n[o]=a)});let r=n["list-sort"];r&&typeof r=="string"&&(n["list-sort-ascending"]=n["list-sort-ascending"]??r,n["list-sort-descending"]=n["list-sort-descending"]??r,delete n["list-sort"]),this.currentSettings.interfaceIcons=De(Xq(n),Ln)}buildPatternCacheKey(e){let n=Array.isArray(this.currentSettings.vaultProfiles)?this.currentSettings.vaultProfiles:[];if(n.length===0)return"";let r=n.map(o=>({id:o.id??"",key:Ph(e(o)??[])}));return r.sort((o,a)=>o.id.localeCompare(a.id)),r.map(o=>`${o.id}:${o.key}`).join("")}parseDualPanePreference(e){if(typeof e=="string"){if(e==="1")return!0;if(e==="0")return!1}return null}parseDualPaneOrientation(e){return e==="vertical"?"vertical":e==="horizontal"?"horizontal":null}};var Uz=require("obsidian");uw();ko();xn();ko();Jr();Si();Ot();Zr();gL();var e5=1e3,Hx=class{constructor(e){this.notesCache=[];this.notesByProfileCache=De(void 0);this.iconsCache=De(void 0);this.notesPersistTimer=null;this.iconsPersistTimer=null;this.lastPersistedNotesByProfile=De(void 0);this.lastPersistedIcons=De(void 0);this.settings=e.settings,this.keys=e.keys,this.notifyChange=e.notifyChange,this.vaultProfileId=e.vaultProfileId}hydrate(){this.hydrateRecentNotes(),this.hydrateRecentIcons()}getRecentNotes(){return[...this.notesCache]}setRecentNotes(e){let n=this.normalizeRecentNotes(e,this.getRecentNotesLimit());this.areArraysEqual(n,this.notesCache)||(this.notesCache=n,n.length===0?delete this.notesByProfileCache[this.vaultProfileId]:this.notesByProfileCache[this.vaultProfileId]=n,this.scheduleRecentNotesPersist())}getRecentIcons(){return this.cloneIconMap(this.iconsCache)}setRecentIcons(e){let n=this.normalizeRecentIconsMap(e);this.areIconMapsEqual(n,this.iconsCache)||(this.iconsCache=n,this.scheduleRecentIconsPersist())}applyRecentNotesLimit(){let e=this.getRecentNotesLimit(),n=Object.keys(this.notesByProfileCache),r=!1;n.forEach(a=>{let i=this.notesByProfileCache[a]??[],s=this.normalizeRecentNotes(i,e);this.areArraysEqual(s,i)||(r=!0,s.length===0?delete this.notesByProfileCache[a]:this.notesByProfileCache[a]=s)});let o=this.notesByProfileCache[this.vaultProfileId]??[];this.areArraysEqual(o,this.notesCache)||(this.notesCache=[...o],r=!0),r&&this.scheduleRecentNotesPersist()}flushPendingPersists(){this.notesPersistTimer!==null&&(window.clearTimeout(this.notesPersistTimer),this.notesPersistTimer=null),this.iconsPersistTimer!==null&&(window.clearTimeout(this.iconsPersistTimer),this.iconsPersistTimer=null),this.persistRecentNotesImmediately(),this.persistRecentIconsImmediately()}hydrateRecentNotes(){let e=this.getRecentNotesLimit(),n=ye.get(this.keys.recentNotesKey),r=this.getValidVaultProfileIds(),o=De(void 0),a=!1;if(Array.isArray(n)){let i=n.filter(l=>typeof l=="string"),s=this.normalizeRecentNotes(i,e);s.length>0&&(o[this.vaultProfileId]=s),a=!0}else if(mt(n))for(let[i,s]of Object.entries(n)){if(!r.has(i)){a=!0;continue}if(!Array.isArray(s)){a=!0;continue}if(s.length===0){a=!0;continue}let l=s.filter(u=>typeof u=="string");l.length!==s.length&&(a=!0);let c=this.normalizeRecentNotes(l,e);this.areArraysEqual(c,l)||(a=!0),c.length>0?o[i]=c:l.length>0&&(a=!0)}this.notesByProfileCache=o,this.notesCache=[...o[this.vaultProfileId]??[]],this.lastPersistedNotesByProfile=this.cloneIconMap(o),a&&ye.set(this.keys.recentNotesKey,this.cloneIconMap(o))}hydrateRecentIcons(){let e=ye.get(this.keys.recentIconsKey),n=mt(e)?e:{},{sanitized:r,didSanitize:o}=this.sanitizeIconRecord(n),a=this.normalizeRecentIconsMap(r);this.iconsCache=a,this.lastPersistedIcons=this.cloneIconMap(a),(o||!this.areIconMapsEqual(a,r))&&ye.set(this.keys.recentIconsKey,a)}scheduleRecentNotesPersist(){this.notesPersistTimer!==null&&window.clearTimeout(this.notesPersistTimer),this.notesPersistTimer=window.setTimeout(()=>{this.notesPersistTimer=null,this.persistRecentNotesAsync()},e5)}scheduleRecentIconsPersist(){this.iconsPersistTimer!==null&&window.clearTimeout(this.iconsPersistTimer),this.iconsPersistTimer=window.setTimeout(()=>{this.iconsPersistTimer=null,this.persistRecentIconsAsync()},e5)}persistRecentNotesAsync(){this.runWhenIdle(()=>{this.persistRecentNotesImmediately()})}persistRecentIconsAsync(){this.runWhenIdle(()=>{this.persistRecentIconsImmediately()})}persistRecentNotesImmediately(){if(this.pruneRecentNotesByProfileCache(),this.areIconMapsEqual(this.notesByProfileCache,this.lastPersistedNotesByProfile))return;let e=this.cloneIconMap(this.notesByProfileCache);ye.set(this.keys.recentNotesKey,e),this.lastPersistedNotesByProfile=e,this.notifyChange()}persistRecentIconsImmediately(){if(this.areIconMapsEqual(this.iconsCache,this.lastPersistedIcons))return;let e=this.cloneIconMap(this.iconsCache);ye.set(this.keys.recentIconsKey,e),this.lastPersistedIcons=e,this.notifyChange()}runWhenIdle(e){window.setTimeout(()=>{e()},0)}normalizeRecentNotes(e,n){let r=new Set,o=[];for(let a of e)if(!(typeof a!="string"||a.length===0)&&!r.has(a)&&(r.add(a),o.push(a),o.length>=n))break;return o}normalizeRecentIconsMap(e){let n=De(void 0);for(let[r,o]of Object.entries(e)){if(typeof r!="string"||r.length===0)continue;let a=Array.isArray(o)?o:[],i=new Set,s=[];for(let l of a){if(typeof l!="string"||l.length===0)continue;let c=this.normalizeIconIdentifierForProvider(r,l);if(c&&!i.has(c)&&(i.add(c),s.push(c),s.length>=15))break}s.length>0&&(n[r]=s)}return n}normalizeIconIdentifierForProvider(e,n){let r=n.trim();if(!r)return null;let o=r;!o.includes(":")&&e!=="lucide"&&(o=`${e}:${o}`);let a=qn(o);if(!a)return null;let i=a.indexOf(":"),s=i===-1?"lucide":a.substring(0,i),l=i===-1?a:a.substring(i+1);return!l||s!==e?null:e==="lucide"?l:`${e}:${l}`}areArraysEqual(e,n){if(e.length!==n.length)return!1;for(let r=0;r<e.length;r+=1)if(e[r]!==n[r])return!1;return!0}areIconMapsEqual(e,n){let r=Object.keys(e),o=Object.keys(n);if(r.length!==o.length)return!1;for(let a of r){if(!Object.prototype.hasOwnProperty.call(n,a))return!1;let i=e[a],s=n[a];if(!this.areArraysEqual(i,s))return!1}return!0}cloneIconMap(e){let n=De(void 0);for(let[r,o]of Object.entries(e))n[r]=[...o];return n}getRecentNotesLimit(){let e=typeof this.settings.recentNotesCount=="number"?this.settings.recentNotesCount:Le.recentNotesCount;return Math.max(1,e)}getValidVaultProfileIds(){let e=Array.isArray(this.settings.vaultProfiles)?this.settings.vaultProfiles:[],n=new Set;return e.forEach(r=>{r.id&&n.add(r.id)}),this.vaultProfileId&&n.add(this.vaultProfileId),n}pruneRecentNotesByProfileCache(){let e=this.getValidVaultProfileIds();Object.keys(this.notesByProfileCache).forEach(n=>{e.has(n)||delete this.notesByProfileCache[n]})}sanitizeIconRecord(e){let n=De(void 0),r=!1;for(let[o,a]of Object.entries(e)){if(typeof o!="string"||o.length===0){r=!0;continue}if(!Array.isArray(a)){r=!0;continue}if(a.length===0){r=!0;continue}let i=a.filter(s=>typeof s=="string");i.length!==a.length&&(r=!0),i.length>0?n[o]=i:r=!0}return{sanitized:n,didSanitize:r}}};var Sk=class{constructor(e){this.storage=null;this.options=e}initialize(e){this.dispose(),this.storage=new Hx({settings:this.options.settings,keys:this.options.keys,notifyChange:this.options.onRecentDataChange,vaultProfileId:e}),this.storage.hydrate(),this.options.onRecentDataChange()}dispose(){this.storage?.flushPendingPersists(),this.storage=null}getRecentNotes(){return this.storage?.getRecentNotes()??[]}setRecentNotes(e){this.storage?.setRecentNotes(e)}applyRecentNotesLimit(){this.storage?.applyRecentNotesLimit()}getRecentIcons(){return this.storage?.getRecentIcons()??{}}setRecentIcons(e){this.storage?.setRecentIcons(e)}flushPendingPersists(){this.storage?.flushPendingPersists()}};Jr();dm();Ue();dn();ot();xn();var Vx=class{constructor(e){this.dualPanePreference=!0;this.dualPaneOrientationPreference="horizontal";this.recentDataManager=null;this.recentDataListeners=new Map;this.uxPreferences=Qh();this.uxPreferenceListeners=new Map;this.options=e}syncMirrorsFromSettings(){let e=this.options.getSettings(),n=this.uxPreferences.includeDescendantNotes;return this.dualPanePreference=e.dualPane,this.dualPaneOrientationPreference=e.dualPaneOrientation,this.uxPreferences={...this.uxPreferences,includeDescendantNotes:e.includeDescendantNotes},n!==this.uxPreferences.includeDescendantNotes}initializeRecentDataManager(){let e=this.options.getSettings();this.recentDataManager||(this.recentDataManager=new Sk({settings:e,keys:this.options.keys,onRecentDataChange:()=>this.notifyRecentDataUpdate()})),this.recentDataManager.initialize(e.vaultProfile)}flushPendingPersists(){this.recentDataManager?.flushPendingPersists()}dispose(){this.recentDataManager?.dispose(),this.recentDataManager=null,this.recentDataListeners.clear(),this.uxPreferenceListeners.clear()}getRecentNotes(){return this.recentDataManager?.getRecentNotes()??[]}setRecentNotes(e){this.recentDataManager?.setRecentNotes(e)}applyRecentNotesLimit(){this.recentDataManager?.applyRecentNotesLimit()}getRecentIcons(){return this.recentDataManager?.getRecentIcons()??{}}setRecentIcons(e){this.recentDataManager?.setRecentIcons(e)}registerRecentDataListener(e,n){this.recentDataListeners.set(e,n)}unregisterRecentDataListener(e){this.recentDataListeners.delete(e)}loadUXPreferences(){let e=Qh(),n=ye.get(this.options.keys.uxPreferencesKey),r=J4(n,e);this.uxPreferences=r.preferences,(r.changed||!Bx(n))&&this.persistUXPreferences(!1)}resetUXPreferencesToDefaults(){this.uxPreferences=Qh(),this.persistUXPreferences(!1)}mirrorUXPreferences(e){this.uxPreferences={...this.uxPreferences,...e},this.persistUXPreferences(!1)}getUXPreferences(){return{...this.uxPreferences}}registerUXPreferencesListener(e,n){this.uxPreferenceListeners.set(e,n)}unregisterUXPreferencesListener(e){this.uxPreferenceListeners.delete(e)}useDualPane(){return this.dualPanePreference}setDualPanePreference(e){let n=!!e;if(this.dualPanePreference===n)return;this.dualPanePreference=n;let r=this.options.getSettings();r.dualPane=n,ye.set(this.options.keys.dualPaneKey,n?"1":"0"),this.options.persistSyncModeSettingUpdate("dualPane")}toggleDualPanePreference(){this.setDualPanePreference(!this.dualPanePreference)}getDualPaneOrientation(){return this.dualPaneOrientationPreference}async setDualPaneOrientation(e){let n=e==="vertical"?"vertical":"horizontal";if(this.dualPaneOrientationPreference===n)return;this.dualPaneOrientationPreference=n;let r=this.options.getSettings();r.dualPaneOrientation=n,ye.set(this.options.keys.dualPaneOrientationKey,n),await this.options.persistSyncModeSettingUpdateAsync("dualPaneOrientation")}setNarrowSidebarLayout(e){let n=e==="vertical"||e==="singlePane"?e:"none",r=this.options.getSettings();r.narrowSidebarLayout!==n&&(r.narrowSidebarLayout=n,ye.set(this.options.keys.narrowSidebarLayoutKey,n),this.options.persistSyncModeSettingUpdate("narrowSidebarLayout"))}setNarrowSidebarTriggerMode(e){let n=e==="customWidth"?"customWidth":"fitPanes",r=this.options.getSettings();r.narrowSidebarTriggerMode!==n&&(r.narrowSidebarTriggerMode=n,ye.set(this.options.keys.narrowSidebarTriggerModeKey,n),this.options.persistSyncModeSettingUpdate("narrowSidebarTriggerMode"))}setNarrowSidebarCustomWidth(e){if(!Number.isFinite(e))return;let n=Math.round(e),r=Math.min(mm,Math.max(pm,n)),o=this.options.getSettings();o.narrowSidebarCustomWidth!==r&&(o.narrowSidebarCustomWidth=r,ye.set(this.options.keys.narrowSidebarCustomWidthKey,r),this.options.persistSyncModeSettingUpdate("narrowSidebarCustomWidth"))}getUIScale(){let e=this.options.getSettings(),n=Uz.Platform.isMobile?e.mobileScale:e.desktopScale;return Za(n)}setUIScale(e){let n=Za(e),r=this.options.getSettings(),o=Uz.Platform.isMobile,a=Za(o?r.mobileScale:r.desktopScale);o?r.mobileScale=n:r.desktopScale=n,ye.set(this.options.keys.uiScaleKey,n),a!==n&&this.options.persistSyncModeSettingUpdate("uiScale")}getTagSortOrder(){return this.options.getSettings().tagSortOrder}getPropertySortOrder(){return this.options.getSettings().propertySortOrder}getFolderSortOrder(){return this.options.getSettings().folderSortOrder}setTagSortOrder(e){let n=this.options.getSettings();!Ta(e)||n.tagSortOrder===e||(n.tagSortOrder=e,ye.set(this.options.keys.tagSortOrderKey,e),this.options.persistSyncModeSettingUpdate("tagSortOrder"))}setPropertySortOrder(e){let n=this.options.getSettings();!Ta(e)||n.propertySortOrder===e||(n.propertySortOrder=e,ye.set(this.options.keys.propertySortOrderKey,e),this.options.persistSyncModeSettingUpdate("propertySortOrder"))}setFolderSortOrder(e){let n=this.options.getSettings();!al(e)||n.folderSortOrder===e||(n.folderSortOrder=e,ye.set(this.options.keys.folderSortOrderKey,e),this.options.persistSyncModeSettingUpdate("folderSortOrder"))}getReleaseCheckTimestamp(){let e=ye.get(this.options.keys.releaseCheckTimestampKey);return typeof e=="number"&&Number.isFinite(e)?e:null}setReleaseCheckTimestamp(e){ye.set(this.options.keys.releaseCheckTimestampKey,e)}getRecentColors(){let e=ye.get(this.options.keys.recentColorsKey);return Array.isArray(e)?e.filter(n=>typeof n=="string"&&n.trim().length>0):[]}setRecentColors(e){let n=Array.isArray(e)?e.filter(r=>typeof r=="string"&&r.trim().length>0):[];ye.set(this.options.keys.recentColorsKey,n.slice(0,lm))}getSearchProvider(){return this.options.getSettings().searchProvider==="omnisearch"?"omnisearch":"internal"}setSearchProvider(e){let n=this.options.getSettings(),r=e==="omnisearch"&&this.options.isOmnisearchAvailable()?"omnisearch":"internal";n.searchProvider!==r&&(n.searchProvider=r,ye.set(this.options.keys.searchProviderKey,r),this.options.notifySettingsUpdate())}setPaneTransitionDuration(e){this.updateBoundedNumberSettingAndMirror({settingId:"paneTransitionDuration",localStorageKey:this.options.keys.paneTransitionDurationKey,rawValue:e,min:Dc,max:Ac,fallback:Le.paneTransitionDuration})}persistToolbarVisibility(){ye.set(this.options.keys.toolbarVisibilityKey,this.options.getSettings().toolbarVisibility),this.options.notifySettingsUpdate(),!this.options.isLocal("toolbarVisibility")&&Q(()=>this.options.saveSettings())}setUseFloatingToolbars(e){this.updateSettingAndMirrorToLocalStorage({settingId:"useFloatingToolbars",localStorageKey:this.options.keys.useFloatingToolbarsKey,nextValue:!!e})}setPinNavigationBanner(e){this.updateSettingAndMirrorToLocalStorage({settingId:"pinNavigationBanner",localStorageKey:this.options.keys.pinNavigationBannerKey,nextValue:!!e})}setNavIndent(e){this.updateBoundedNumberSettingAndMirror({settingId:"navIndent",localStorageKey:this.options.keys.navIndentKey,rawValue:e,min:10,max:24,fallback:Le.navIndent})}setNavItemHeight(e){this.updateBoundedNumberSettingAndMirror({settingId:"navItemHeight",localStorageKey:this.options.keys.navItemHeightKey,rawValue:e,min:20,max:28,fallback:Le.navItemHeight})}setNavItemHeightScaleText(e){this.updateSettingAndMirrorToLocalStorage({settingId:"navItemHeightScaleText",localStorageKey:this.options.keys.navItemHeightScaleTextKey,nextValue:e})}setCalendarWeeksToShow(e){this.updateSettingAndMirrorToLocalStorage({settingId:"calendarWeeksToShow",localStorageKey:this.options.keys.calendarWeeksToShowKey,nextValue:e})}setCalendarPlacement(e){let r=this.options.getSettings().calendarPlacement;r!==e&&(this.updateSettingAndMirrorToLocalStorage({settingId:"calendarPlacement",localStorageKey:this.options.keys.calendarPlacementKey,nextValue:e}),r==="right-sidebar"&&e==="left-sidebar"&&this.setShowCalendar(!0))}setCalendarLeftPlacement(e){this.updateSettingAndMirrorToLocalStorage({settingId:"calendarLeftPlacement",localStorageKey:this.options.keys.calendarLeftPlacementKey,nextValue:e})}setCompactItemHeight(e){this.updateBoundedNumberSettingAndMirror({settingId:"compactItemHeight",localStorageKey:this.options.keys.compactItemHeightKey,rawValue:e,min:20,max:28,fallback:Le.compactItemHeight})}setCompactItemHeightScaleText(e){this.updateSettingAndMirrorToLocalStorage({settingId:"compactItemHeightScaleText",localStorageKey:this.options.keys.compactItemHeightScaleTextKey,nextValue:e})}setFeatureImageSize(e){this.updateSettingAndMirrorToLocalStorage({settingId:"featureImageSize",localStorageKey:this.options.keys.featureImageSizeKey,nextValue:e})}setFeatureImagePixelSize(e){this.updateSettingAndMirrorToLocalStorage({settingId:"featureImagePixelSize",localStorageKey:this.options.keys.featureImagePixelSizeKey,nextValue:e})}setVaultProfile(e){let n=this.options.getSettings();Oo(n);let r=n.vaultProfiles.find(o=>o.id===e)??n.vaultProfiles.find(o=>o.id===eo)??n.vaultProfiles[0];!r||n.vaultProfile===r.id||(n.vaultProfile=r.id,ye.set(this.options.keys.vaultProfileKey,r.id),this.initializeRecentDataManager(),this.options.refreshMatcherCachesIfNeeded(),this.options.persistSyncModeSettingUpdate("vaultProfile"))}setSearchActive(e){this.updateUXPreference("searchActive",e)}setIncludeDescendantNotes(e){let n=!!e;if(this.uxPreferences.includeDescendantNotes===n)return;let r=this.options.getSettings();r.includeDescendantNotes=n,this.updateUXPreference("includeDescendantNotes",n),this.options.persistSyncModeSettingUpdate("includeDescendantNotes")}toggleIncludeDescendantNotes(){this.setIncludeDescendantNotes(!this.uxPreferences.includeDescendantNotes)}setShowHiddenItems(e){this.updateUXPreference("showHiddenItems",e)}toggleShowHiddenItems(){this.setShowHiddenItems(!this.uxPreferences.showHiddenItems)}setPinShortcuts(e){this.updateUXPreference("pinShortcuts",e)}setShowCalendar(e){let n=!!e;this.uxPreferences.showCalendar!==n&&this.updateUXPreference("showCalendar",n)}toggleShowCalendar(){this.setShowCalendar(!this.uxPreferences.showCalendar)}notifyUXPreferencesUpdate(){if(this.uxPreferenceListeners.size!==0)for(let[e,n]of this.uxPreferenceListeners)try{n()}catch(r){console.error(`Failed to notify UX preferences listener "${e}"`,r)}}notifyRecentDataUpdate(){if(this.options.isShuttingDown())return;Array.from(this.recentDataListeners.values()).forEach(n=>{try{n()}catch{}})}updateUXPreference(e,n){this.uxPreferences[e]!==n&&(this.uxPreferences={...this.uxPreferences,[e]:n},this.persistUXPreferences())}persistUXPreferences(e=!0){ye.set(this.options.keys.uxPreferencesKey,this.uxPreferences),e&&this.notifyUXPreferencesUpdate()}updateSettingAndMirrorToLocalStorage(e){let n=this.options.getSettings();n[e.settingId]!==e.nextValue&&(n[e.settingId]=e.nextValue,ye.set(e.localStorageKey,e.nextValue),this.options.persistSyncModeSettingUpdate(e.settingId))}updateBoundedNumberSettingAndMirror(e){let n=this.parseFiniteNumber(e.rawValue),r=n!==null?Math.min(e.max,Math.max(e.min,n)):e.fallback;this.updateSettingAndMirrorToLocalStorage({settingId:e.settingId,localStorageKey:e.localStorageKey,nextValue:r})}parseFiniteNumber(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"){let n=Number(e);if(Number.isFinite(n))return n}return null}};jz();Wu();LO();ko();function fNe(t){let e=t.setting;return!e||typeof e.open!="function"||typeof e.openTabById!="function"?null:e}var nA=class extends Pc.Plugin{constructor(){super(...arguments);this.ribbonIconEl=void 0;this.metadataService=null;this.tagOperations=null;this.propertyOperations=null;this.tagTreeService=null;this.propertyTreeService=null;this.commandQueue=null;this.settings={...Le};this.fileSystemOps=null;this.omnisearchService=null;this.externalIconController=null;this.api=null;this.recentNotesService=null;this.releaseCheckService=null;this.debugLoggingService=null;this.keys=ut;this.settingsUpdateListeners=new Map;this.fileRenameListeners=new Map;this.updateNoticeListeners=new Map;this.isUnloading=!1;this.isHandlingExternalSettingsUpdate=!1;this.workspaceCoordinator=null;this.homepageController=null;this.folderNoteSidebarService=null;this.settingTab=null;this.pendingUpdateNotice=null;this.hasWorkspaceLayoutReady=!1;this.lastCalendarPlacement=null;this.calendarPlacementRequestId=0;this.calendarCursorDateIso=null;this.settingsController=new _x({keys:this.keys,loadData:()=>this.loadData(),saveData:n=>this.saveData(n),mirrorUXPreferences:n=>this.preferencesController.mirrorUXPreferences(n)});this.preferencesController=new Vx({keys:this.keys,getSettings:()=>this.settings,notifySettingsUpdate:()=>this.notifySettingsUpdate(),saveSettings:()=>this.settingsController.saveSettings(),isShuttingDown:()=>this.isUnloading,isLocal:n=>this.isLocal(n),persistSyncModeSettingUpdate:n=>this.persistSyncModeSettingUpdate(n),persistSyncModeSettingUpdateAsync:n=>this.persistSyncModeSettingUpdateAsync(n),isOmnisearchAvailable:()=>this.omnisearchService?.isAvailable()??!1,refreshMatcherCachesIfNeeded:()=>this.settingsController.refreshMatcherCachesIfNeeded()})}getSyncMode(n){return this.settingsController.getSyncMode(n)}isLocal(n){return this.settingsController.isLocal(n)}isSynced(n){return this.settingsController.isSynced(n)}openSettings(){let n=fNe(this.app);if(!n)return!1;try{return n.open(),n.openTabById(this.manifest.id),!0}catch{return!1}}isDebugLoggingEnabled(){return this.debugLoggingService?.isEnabled()??!1}setDebugLoggingEnabled(n){this.debugLoggingService?.setEnabled(n),n||Wz()}async setSyncMode(n,r){await this.settingsController.setSyncMode(n,r)&&await this.saveSettingsAndUpdate()}persistSyncModeSettingUpdate(n){if(this.isLocal(n)){this.notifySettingsUpdate();return}Q(()=>this.saveSettingsAndUpdate())}async persistSyncModeSettingUpdateAsync(n){if(this.isLocal(n)){this.notifySettingsUpdate();return}await this.saveSettingsAndUpdate()}async onExternalSettingsChange(){if(this.isUnloading)return;await this.loadSettings();let n=this.preferencesController.syncMirrorsFromSettings();this.preferencesController.initializeRecentDataManager(),this.notifySettingsUpdateWithFullRefresh(),n&&this.preferencesController.notifyUXPreferencesUpdate()}async loadSettings(){let n=await this.settingsController.loadSettings();return this.settings=this.settingsController.settings,n}replaceSettings(n){this.settings=n,this.settingsController.settings=n}getRecentNotes(){return this.preferencesController.getRecentNotes()}setRecentNotes(n){this.preferencesController.setRecentNotes(n)}applyRecentNotesLimit(){this.preferencesController.applyRecentNotesLimit()}registerRecentDataListener(n,r){this.preferencesController.registerRecentDataListener(n,r)}unregisterRecentDataListener(n){this.preferencesController.unregisterRecentDataListener(n)}registerUpdateNoticeListener(n,r){this.updateNoticeListeners.set(n,r)}unregisterUpdateNoticeListener(n){this.updateNoticeListeners.delete(n)}getPendingUpdateNotice(){return this.pendingUpdateNotice}markUpdateNoticeAsDisplayed(n){this.pendingUpdateNotice&&this.pendingUpdateNotice.version===n&&this.setPendingUpdateNotice(null)}getRecentIcons(){return this.preferencesController.getRecentIcons()}setRecentIcons(n){this.preferencesController.setRecentIcons(n)}isFileInRightSidebar(n){if(this.folderNoteSidebarService?.isSuppressingSidebarOpen(n.path))return!0;if(!this.settings.autoRevealIgnoreRightSidebar)return!1;let r=this.app.workspace.getActiveViewOfType(Pc.FileView);return!r?.file||r.file.path!==n.path?!1:md(this.app,r.leaf??null)==="right-sidebar"}async onload(){ye.init(this.app),this.debugLoggingService=new _C(this.app,{pluginVersion:this.manifest.version}),HA(this.debugLoggingService),this.debugLoggingService.initialize(),this.debugLoggingService.isEnabled()||Wz(),Rr("onload.start",{pluginVersion:this.manifest.version,minAppVersion:this.manifest.minAppVersion}),typeof Pc.addIcon=="function"&&(0,Pc.addIcon)(vi,S1);let n=this.app.appId||"",r=Pc.Platform.isMobile?200:1e3,o=Pc.Platform.isMobile?1e4:5e4,a=Pc.Platform.isMobile?20:50;Rr("database.init.scheduled",{featureImageCacheMaxEntries:r,previewTextCacheMaxEntries:o,previewLoadMaxBatch:a}),Q(async()=>{try{Rr("database.init.start"),await DW(n,{featureImageCacheMaxEntries:r,previewTextCacheMaxEntries:o,previewLoadMaxBatch:a}),Rr("database.init.complete")}catch(u){Rr("database.init.failed",{error:u}),console.error("Failed to initialize database:",u)}},{onError:u=>{Rr("database.init.failed",{error:u}),console.error("Failed to initialize database:",u)}});let i=await this.loadSettings();Rr("settings.loaded",{isFirstLaunch:i}),this.preferencesController.syncMirrorsFromSettings();let s=this.settingsController.getStoredLocalStorageVersion();if(this.preferencesController.loadUXPreferences(),this.settingsController.normalizeTagSettings(),this.settingsController.normalizePropertySettings(),this.settingsController.normalizeNavigationSeparatorSettings(),i){if(this.settingsController.clearAllLocalStorage(),this.preferencesController.resetUXPreferencesToDefaults(),this.settingsController.mirrorAllSyncModeSettingsToLocalStorage(),this.preferencesController.syncMirrorsFromSettings(),this.settings.showRootFolder){let u=["/"];ye.set(ut.expandedFoldersKey,u)}this.settingsController.setLocalStorageVersion(),await this.saveData(this.settingsController.getPersistableSettings())}else{let u=typeof s=="number"?s:Number(s??Number.NaN);(!u||u!==this.settingsController.getCurrentLocalStorageVersion())&&this.settingsController.setLocalStorageVersion()}this.preferencesController.initializeRecentDataManager(),this.recentNotesService=new Cx(this),this.workspaceCoordinator=new ck(this),this.homepageController=new gk(this,this.workspaceCoordinator),this.tagTreeService=new cx,this.propertyTreeService=new ux,this.metadataService=new YI(this.app,this,()=>this.tagTreeService,()=>this.propertyTreeService),this.tagOperations=new dx(this.app,()=>this.settings,()=>this.tagTreeService,()=>this.metadataService),this.propertyOperations=new ZI(this.app,()=>this.settings,()=>this.saveSettingsAndUpdate(),()=>this.propertyTreeService),this.commandQueue=new px,this.folderNoteSidebarService=new Lx(this),this.folderNoteSidebarService.start(),this.fileSystemOps=new Px(this.app,()=>this.tagTreeService,()=>this.propertyTreeService,()=>this.commandQueue,()=>this.metadataService,()=>({includeDescendantNotes:this.preferencesController.getUXPreferences().includeDescendantNotes,showHiddenItems:this.preferencesController.getUXPreferences().showHiddenItems}),this),this.omnisearchService=new mx(this.app),this.api=new Ax(this,this.app),this.metadataService.setFolderStyleChangeListener(u=>{this.isUnloading||!this.api||this.api[Ea].metadata.emitFolderChangedForPath(u)}),this.releaseCheckService=new sk(this),Rr("services.initialized"),yn().registerProvider(new II(this.app)),this.hasEnabledExternalIconProviders()&&this.syncExternalIconController(),this.registerSettingsUpdateListener("external-icon-controller",()=>{(this.externalIconController||this.hasEnabledExternalIconProviders())&&this.syncExternalIconController()}),this.registerView(wa,u=>{let{NotebookNavigatorView:p}=(jD(),Lr(aie));return new p(u,this)}),this.registerView(Au,u=>{let{NotebookNavigatorCalendarView:p}=(mie(),Lr(pie));return new p(u,this)}),this.registerView(ih,u=>{let{FolderNoteSidebarPlaceholderView:p}=(fie(),Lr(hie));return new p(u)}),zz(this),this.settingTab=new KI(this.app,this),this.addSettingTab(this.settingTab),Az(this);let c=i;this.app.workspace.onLayoutReady(()=>{this.hasWorkspaceLayoutReady=!0,Rr("layout.ready"),Q(async()=>{if(Rr("layout.readyTasks.start"),this.isUnloading)return;if(await this.homepageController?.handleWorkspaceReady({shouldActivateOnStartup:c}),await this.folderNoteSidebarService?.handleWorkspaceReady(),i){let{WelcomeModal:m}=await Promise.resolve().then(()=>(bie(),yie));new m(this.app).open()}let u=s5();if(u){this.debugLoggingService?.logReport("PDF processing from previous run",{path:u});let{InfoModal:m}=await Promise.resolve().then(()=>(qR(),Wee));new m(this.app,{title:"PDF processing from previous run",intro:"The previous app session ended while this PDF thumbnail was being processed.",items:[`\`${u}\``,"This can also happen if Obsidian or Android closed the app before cleanup finished."]}).open()}typeof window>"u"?await this.checkForVersionUpdate({isFirstLaunch:i}):window.setTimeout(()=>{Q(async()=>{this.isUnloading||await this.checkForVersionUpdate({isFirstLaunch:i})})},1e3),this.app.workspace.trigger("parse-style-settings"),this.applyCalendarPlacementView({force:!0,reveal:!1}),this.settings.checkForUpdatesOnStart&&Q(()=>this.runReleaseUpdateCheck()),Rr("layout.readyTasks.complete"),DK({shouldActivateOnStartup:c})})}),Rr("onload.complete")}registerSettingsUpdateListener(n,r){this.settingsUpdateListeners.set(n,r)}isExternalSettingsUpdate(){return this.isHandlingExternalSettingsUpdate}useDualPane(){return this.preferencesController.useDualPane()}isShuttingDown(){return this.isUnloading}async openFolderNoteInRightSidebar(n){await this.folderNoteSidebarService?.openFolderNote(n)}async syncFolderNoteSidebarToFolder(n){await this.folderNoteSidebarService?.syncToSelectedFolder(n)}setDualPanePreference(n){this.preferencesController.setDualPanePreference(n)}toggleDualPanePreference(){this.preferencesController.toggleDualPanePreference()}getDualPaneOrientation(){return this.preferencesController.getDualPaneOrientation()}async setDualPaneOrientation(n){await this.preferencesController.setDualPaneOrientation(n)}setNarrowSidebarLayout(n){this.preferencesController.setNarrowSidebarLayout(n)}setNarrowSidebarTriggerMode(n){this.preferencesController.setNarrowSidebarTriggerMode(n)}setNarrowSidebarCustomWidth(n){this.preferencesController.setNarrowSidebarCustomWidth(n)}getUIScale(){return this.preferencesController.getUIScale()}setUIScale(n){this.preferencesController.setUIScale(n)}getTagSortOrder(){return this.preferencesController.getTagSortOrder()}getPropertySortOrder(){return this.preferencesController.getPropertySortOrder()}getFolderSortOrder(){return this.preferencesController.getFolderSortOrder()}setTagSortOrder(n){this.preferencesController.setTagSortOrder(n)}setPropertySortOrder(n){this.preferencesController.setPropertySortOrder(n)}setFolderSortOrder(n){this.preferencesController.setFolderSortOrder(n)}getReleaseCheckTimestamp(){return this.preferencesController.getReleaseCheckTimestamp()}setReleaseCheckTimestamp(n){this.preferencesController.setReleaseCheckTimestamp(n)}getRecentColors(){return this.preferencesController.getRecentColors()}setRecentColors(n){this.preferencesController.setRecentColors(n)}getSearchProvider(){return this.preferencesController.getSearchProvider()}setSearchProvider(n){this.preferencesController.setSearchProvider(n)}setPaneTransitionDuration(n){this.preferencesController.setPaneTransitionDuration(n)}persistToolbarVisibility(){this.preferencesController.persistToolbarVisibility()}setUseFloatingToolbars(n){this.preferencesController.setUseFloatingToolbars(n)}setPinNavigationBanner(n){this.preferencesController.setPinNavigationBanner(n)}setNavIndent(n){this.preferencesController.setNavIndent(n)}setNavItemHeight(n){this.preferencesController.setNavItemHeight(n)}setNavItemHeightScaleText(n){this.preferencesController.setNavItemHeightScaleText(n)}setCalendarWeeksToShow(n){this.preferencesController.setCalendarWeeksToShow(n)}setCalendarPlacement(n){this.preferencesController.setCalendarPlacement(n)}setCalendarLeftPlacement(n){this.preferencesController.setCalendarLeftPlacement(n)}getCalendarCursorDateIso(){return this.calendarCursorDateIso}setCalendarCursorDateIso(n){this.calendarCursorDateIso=n}setCompactItemHeight(n){this.preferencesController.setCompactItemHeight(n)}setCompactItemHeightScaleText(n){this.preferencesController.setCompactItemHeightScaleText(n)}setFeatureImageSize(n){this.preferencesController.setFeatureImageSize(n)}setFeatureImagePixelSize(n){this.preferencesController.setFeatureImagePixelSize(n)}setVaultProfile(n){this.preferencesController.setVaultProfile(n)}getUXPreferences(){return this.preferencesController.getUXPreferences()}registerUXPreferencesListener(n,r){this.preferencesController.registerUXPreferencesListener(n,r)}unregisterUXPreferencesListener(n){this.preferencesController.unregisterUXPreferencesListener(n)}setSearchActive(n){this.preferencesController.setSearchActive(n)}setIncludeDescendantNotes(n){this.preferencesController.setIncludeDescendantNotes(n)}toggleIncludeDescendantNotes(){this.preferencesController.toggleIncludeDescendantNotes()}setShowHiddenItems(n){this.preferencesController.setShowHiddenItems(n)}toggleShowHiddenItems(){this.preferencesController.toggleShowHiddenItems()}setPinShortcuts(n){this.preferencesController.setPinShortcuts(n)}setShowCalendar(n){this.preferencesController.setShowCalendar(n)}toggleShowCalendar(){this.preferencesController.toggleShowCalendar()}async togglePinnedGroupCollapsed(n){let r=uv(this.settings.collapsedPinnedContexts);r[n]?delete r[n]:r[n]=!0,this.settings.collapsedPinnedContexts=r,await this.saveSettingsAndUpdate()}unregisterSettingsUpdateListener(n){this.settingsUpdateListeners.delete(n)}async rebuildCache(){if(this.isUnloading)throw new Error("Plugin is unloading");await this.activateView();let n=this.app.workspace.getLeavesOfType(wa)[0];if(!n)throw new Error("Notebook Navigator view not available");let{view:r}=n;if(!Hs(r))throw new Error("Notebook Navigator view not found");if(!await r.whenReady())throw new Error("Notebook Navigator view not ready");await r.rebuildCache()}isExternalIconProviderInstalled(n){return this.externalIconController?.isProviderInstalled(n)??!1}isExternalIconProviderDownloading(n){return this.externalIconController?.isProviderDownloading(n)??!1}getExternalIconProviderVersion(n){return this.externalIconController?.getProviderVersion(n)??null}async downloadExternalIconProvider(n){await this.getExternalIconController().installProvider(n)}async removeExternalIconProvider(n){await this.getExternalIconController().removeProvider(n)}hasEnabledExternalIconProviders(){let n=De(this.settings.externalIconProviders);return Object.values(n).some(Boolean)}getExternalIconController(){if(!this.externalIconController){let{ExternalIconProviderController:n}=(Mie(),Lr(Eie));this.externalIconController=new n(this.app,yn(),this)}return this.externalIconController}syncExternalIconController(){Q(async()=>{let n=this.getExternalIconController();await n.initialize(),await n.syncWithSettings()},{onError:n=>{console.error("External icon controller init failed:",n)}})}registerFileRenameListener(n,r){this.fileRenameListeners.set(n,r)}unregisterFileRenameListener(n){this.fileRenameListeners.delete(n)}notifyFileRenameListeners(n,r){this.fileRenameListeners.forEach(o=>{try{o(n,r)}catch(a){console.error("Error in file rename listener:",a)}})}initiateShutdown(){if(!this.isUnloading){this.isUnloading=!0;try{this.preferencesController.flushPendingPersists()}catch(n){console.error("Failed to flush recent data during shutdown:",n)}this.commandQueue&&this.commandQueue.clearAllOperations(),this.stopNavigatorContentProcessing(),OW()}}stopNavigatorContentProcessing(){try{let n=this.app.workspace.getLeavesOfType(wa);for(let o of n){let a=o.view;Hs(a)&&a.stopContentProcessing()}let r=this.app.workspace.getLeavesOfType(Au);for(let o of r){let a=o.view;A3(a)&&a.stopContentProcessing()}}catch(n){console.error("Failed stopping content processing during shutdown:",n)}}onunload(){this.initiateShutdown(),this.debugLoggingService?.dispose(),HA(null),this.debugLoggingService=null,this.preferencesController.dispose(),this.folderNoteSidebarService?.dispose(),this.folderNoteSidebarService=null,this.settingsUpdateListeners.clear(),this.fileRenameListeners.clear(),this.externalIconController&&(this.externalIconController.dispose(),this.externalIconController=null),this.metadataService&&(this.metadataService.dispose(),this.metadataService=null),this.tagOperations&&(this.tagOperations=null),this.propertyOperations&&(this.propertyOperations=null),this.propertyTreeService&&(this.propertyTreeService=null),this.commandQueue&&(this.commandQueue=null),this.ribbonIconEl?.remove(),this.ribbonIconEl=void 0,this.settingTab=null,this.omnisearchService=null}async saveSettingsAndUpdate(){await this.settingsController.saveSettings(),this.onSettingsUpdate()}createSettingsTransferJson(){return JSON.stringify(d2(this.settings),null,2)}async importSettingsTransfer(n){if(this.isUnloading)throw new Error("Plugin is unloading");this.replaceSettings(c2(this.settings,n)),this.settingsController.normalizeTagSettings(),this.settingsController.normalizePropertySettings(),this.settingsController.normalizeNavigationSeparatorSettings(),this.settingsController.prepareImportedUiScalePersistence(),this.settingsController.mirrorAllSyncModeSettingsToLocalStorage(),await this.settingsController.saveSettings(),await this.loadSettings(),this.settingsController.normalizeTagSettings(),this.settingsController.normalizePropertySettings(),this.settingsController.normalizeNavigationSeparatorSettings();let r=this.preferencesController.syncMirrorsFromSettings();this.preferencesController.initializeRecentDataManager(),await this.settingsController.saveSettings(),this.notifySettingsUpdateWithFullRefresh(),r&&this.preferencesController.notifyUXPreferencesUpdate()}notifySettingsUpdateWithFullRefresh(){try{this.isHandlingExternalSettingsUpdate=!0,this.onSettingsUpdate()}finally{this.isHandlingExternalSettingsUpdate=!1}}async resetAllSettings(){if(this.isUnloading)throw new Error("Plugin is unloading");let n=De(this.settings.syncModes,ov);this.settingsController.clearAllLocalStorage(),await this.saveData({}),await this.loadSettings(),this.settingsController.normalizeTagSettings(),this.settingsController.normalizePropertySettings(),this.settingsController.normalizeNavigationSeparatorSettings(),this.settings.syncModes=n,await this.saveSettingsAndUpdate(),this.preferencesController.resetUXPreferencesToDefaults(),this.settingsController.mirrorAllSyncModeSettingsToLocalStorage(),this.preferencesController.syncMirrorsFromSettings(),this.settingsController.setLocalStorageVersion(),this.settings.showRootFolder&&ye.set(ut.expandedFoldersKey,["/"]),this.preferencesController.initializeRecentDataManager(),this.onSettingsUpdate(),this.preferencesController.notifyUXPreferencesUpdate()}notifySettingsUpdate(){this.onSettingsUpdate()}isObsidianSettingsModalOpen(){return typeof document>"u"?!1:activeDocument.querySelector(".modal.mod-settings, .modal-container.mod-settings")!==null}applyCalendarPlacementView(n={}){if(this.isUnloading||!this.hasWorkspaceLayoutReady)return;let r=this.workspaceCoordinator;if(!r)return;let o=this.settings.calendarEnabled?this.settings.calendarPlacement:null,a=this.lastCalendarPlacement;if(!(n.force??!1)&&a===o)return;this.lastCalendarPlacement=o;let s=++this.calendarPlacementRequestId;if(o==="right-sidebar"){let l=n.reveal??!1,c=n.activate??l;Q(()=>r.ensureCalendarViewInRightSidebar({reveal:l,activate:c,shouldContinue:()=>!this.isUnloading&&this.hasWorkspaceLayoutReady&&this.calendarPlacementRequestId===s&&this.settings.calendarEnabled&&this.settings.calendarPlacement==="right-sidebar"}));return}r.detachCalendarViewLeaves()}async runMetadataCleanup(){if(!this.metadataService||this.isUnloading)return!1;let n=await this.metadataService.cleanupAllMetadata();return n&&await this.saveSettingsAndUpdate(),n}async getMetadataCleanupSummary(){return!this.metadataService||this.isUnloading?{folders:0,tags:0,properties:0,files:0,pinnedNotes:0,separators:0,total:0}:this.metadataService.getCleanupSummary()}onSettingsUpdate(){if(this.isUnloading)return;this.api&&this.api[Ea].metadata.updateFromSettings(this.settings),Array.from(this.settingsUpdateListeners.values()).forEach(a=>{try{a()}catch{}});let r=this.lastCalendarPlacement!=="right-sidebar"&&this.settings.calendarEnabled&&this.settings.calendarPlacement==="right-sidebar",o=r&&!this.isObsidianSettingsModalOpen();this.applyCalendarPlacementView({reveal:r,activate:o})}async activateView(){return this.workspaceCoordinator?.activateNavigatorView()??null}getNavigatorLeaves(){return this.workspaceCoordinator?.getNavigatorLeaves()??this.app.workspace.getLeavesOfType(wa)}async navigateToFolder(n,r){await this.activateView();let o=this.app.workspace.getLeavesOfType(wa);if(o.length===0)return;let i=o[0].view;Hs(i)&&i.navigateToFolder(n,r)}async revealFileInActualFolder(n,r){this.workspaceCoordinator?.revealFileInActualFolder(n,r)}async revealFileInNearestFolder(n,r){this.workspaceCoordinator?.revealFileInNearestFolder(n,r)}resolveHomepageFile(){return this.homepageController?.resolveHomepageFile()??null}canOpenHomepage(){return this.homepageController?.canOpenHomepage()??!1}async openHomepage(n){return this.homepageController?.open(n)??!1}async runReleaseUpdateCheck(n=!1){await this.evaluateReleaseUpdates(n)}dismissPendingUpdateNotice(){this.setPendingUpdateNotice(null)}async evaluateReleaseUpdates(n=!1){if(!(!this.releaseCheckService||this.isUnloading)&&!(!this.settings.checkForUpdatesOnStart&&!n))try{let r=await this.releaseCheckService.checkForUpdates(n);this.setPendingUpdateNotice(r??null)}catch{}}setPendingUpdateNotice(n){let r=this.pendingUpdateNotice?.version??null,o=n?.version??null,a=!!n,i=!!this.pendingUpdateNotice;r===o&&a===i||(this.pendingUpdateNotice=n,n||this.releaseCheckService?.clearPendingNotice(),this.notifyUpdateNoticeListeners())}notifyUpdateNoticeListeners(){if(this.isUnloading)return;Array.from(this.updateNoticeListeners.values()).forEach(r=>{try{r(this.pendingUpdateNotice)}catch{}})}async checkForVersionUpdate(n){let{isFirstLaunch:r}=n,o=this.manifest.version,a=this.settings.lastShownVersion;if(!a){if(r){this.settings.lastShownVersion=o,await this.saveSettingsAndUpdate();return}let{getLatestReleaseNotes:i,isReleaseAutoDisplayEnabled:s}=await Promise.resolve().then(()=>(jw(),Ww));if(!s(o)){this.settings.lastShownVersion=o,await this.saveSettingsAndUpdate();return}let{WhatsNewModal:l}=await Promise.resolve().then(()=>(Uw(),Vw)),c=i();new l(this.app,c,()=>{window.setTimeout(()=>{Q(async()=>{this.settings.lastShownVersion=o,await this.saveSettingsAndUpdate()})},1e3)}).open();return}if(a!==o){let{getReleaseNotesBetweenVersions:i,getLatestReleaseNotes:s,compareVersions:l,isReleaseAutoDisplayEnabled:c,shouldAutoDisplayReleaseNotesForUpdate:u}=await Promise.resolve().then(()=>(jw(),Ww)),p=l(o,a)>0;if(p){if(!u(a,o))return}else if(!c(o))return;let{WhatsNewModal:m}=await Promise.resolve().then(()=>(Uw(),Vw)),g;p?g=i(a,o):g=s(),new m(this.app,g,()=>{window.setTimeout(()=>{Q(async()=>{this.settings.lastShownVersion=o,await this.saveSettingsAndUpdate()})},1e3)}).open()}}};
/*! Bundled license information:

react/cjs/react.production.min.js:
  (**
   * @license React
   * react.production.min.js
   *
   * Copyright (c) Facebook, Inc. and its affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   *)

scheduler/cjs/scheduler.production.min.js:
  (**
   * @license React
   * scheduler.production.min.js
   *
   * Copyright (c) Facebook, Inc. and its affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   *)

react-dom/cjs/react-dom.production.min.js:
  (**
   * @license React
   * react-dom.production.min.js
   *
   * Copyright (c) Facebook, Inc. and its affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   *)

react/cjs/react-jsx-runtime.production.min.js:
  (**
   * @license React
   * react-jsx-runtime.production.min.js
   *
   * Copyright (c) Facebook, Inc. and its affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   *)
*/

/* nosourcemap */