CINXE.COM
GitHub - KissMeInTheDark/switch-plugins-dbi: Author is duckbill
<!DOCTYPE html> <html lang="en" data-color-mode="auto" data-light-theme="light" data-dark-theme="dark" data-a11y-animated-images="system" data-a11y-link-underlines="true" > <head> <meta charset="utf-8"> <link rel="dns-prefetch" href="https://github.githubassets.com"> <link rel="dns-prefetch" href="https://avatars.githubusercontent.com"> <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com"> <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/"> <link rel="preconnect" href="https://github.githubassets.com" crossorigin> <link rel="preconnect" href="https://avatars.githubusercontent.com"> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light-7aa84bb7e11e.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark-f65db3e8d171.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-a8258e3c6dda.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-7e97d834719c.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-01d869f460be.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-534f3e971240.css" /><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-a8cc7d138001.css" /><link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-35e9dfdc4f9f.css" /><link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-cf4cc5f62dfe.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-primitives-d9abecd14f1e.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-93aded0ee8a1.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-8bed0685a4b5.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-a954a02d9269.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/repository-4fce88777fa8.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/code-0210be90f4d3.css" /> <script type="application/json" id="client-env">{"locale":"en","featureFlags":["bypass_copilot_indexing_quota","copilot_immersive_file_preview","copilot_new_references_ui","copilot_bing_skill_ga","copilot_attach_folder_reference","copilot_personal_instructions","copilot_personal_instructions_templates","copilot_chat_repo_custom_instructions_preview","copilot_chat_retry_on_error","copilot_chat_persist_submitted_input","copilot_conversational_ux_history_refs","copilot_chat_shared_chat_input","copilot_chat_shared_topic_indicator","copilot_chat_shared_repo_sso_banner","copilot_editor_upsells","copilot_dotcom_chat_reduce_telemetry","copilot_implicit_context","copilot_no_floating_button","copilot_smell_icebreaker_ux","copilot_read_shared_conversation","dotcom_chat_client_side_skills","copilot_new_markdown_renderer","experimentation_azure_variant_endpoint","failbot_handle_non_errors","geojson_azure_maps","ghost_pilot_confidence_truncation_25","ghost_pilot_confidence_truncation_40","github_models_o3_mini_streaming","hovercard_accessibility","issues_react_remove_placeholders","issues_react_blur_item_picker_on_close","issues_react_include_bots_in_pickers","marketing_pages_search_explore_provider","remove_child_patch","sample_network_conn_type","swp_enterprise_contact_form","site_copilot_vscode_link_update","site_proxima_australia_update","issues_react_create_milestone","issues_react_cache_fix_workaround","lifecycle_label_name_updates"]}</script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/wp-runtime-8f98335c0ff3.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover_js-9da652f58479.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_arianotify-polyfill_ariaNotify-polyfill_js-node_modules_github_mi-3abb8f-d7e6bc799724.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_failbot_failbot_ts-4600dbf2d60a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/environment-f04cb2a9fc8c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_behaviors_dist_esm_index_mjs-0dbb79f97f8f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_selector-observer_dist_index_esm_js-f690fd9ae3d5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_relative-time-element_dist_index_js-f6da4b3fa34c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_auto-complete-element_dist_index_js-node_modules_github_catalyst_-8e9f78-a74b4e0a8a6b.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_text-expander-element_dist_index_js-78748950cb0c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-b5f1d7-a1760ffda83d.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_markdown-toolbar-element_dist_index_js-ceef33f593fa.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_primer_view-co-c44a69-f0c8a795d1fd.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/github-elements-44d18ad044b3.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/element-registry-b7096f9a808d.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_braintree_browser-detection_dist_browser-detection_js-node_modules_githu-2906d7-2a07a295af40.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lit-html_lit-html_js-be8cb88f481b.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_morphdom_dist_morphdom-e-7c534c-a4a1922eb55f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_turbo_dist_turbo_es2017-esm_js-e3cbe28f1638.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-893f9f-6cf3320416b8.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_color-convert_index_js-e3180fe3bcb3.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_quote-selection_dist_index_js-node_modules_github_session-resume_-947061-205cd97df772.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_updatable-content_updatable-content_ts-a1563f62660e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_task-list_ts-app_assets_modules_github_sso_ts-ui_packages-900dde-f48a418a99d4.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_sticky-scroll-into-view_ts-8fa27fd7fbb6.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_ajax-error_ts-app_assets_modules_github_behaviors_include-87a4ae-e2caa5390f5a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_commenting_edit_ts-app_assets_modules_github_behaviors_ht-83c235-783fc7e142e5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/behaviors-854fa1987fb5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_catalyst_lib_index_js-f6223d90c7ba.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/notifications-global-e12489347ccf.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_virtualized-list_es_index_js-node_modules_github_template-parts_lib_index_js-96453a51f920.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-70450e-eecf0d50276f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_ref-selector_ts-0a7bffd2f129.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/codespaces-fe2c516230f3.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-3eebbd-0763620ad7bf.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_decorators_js-node_modules_delegated-events_di-e161aa-9d41fb1b6c9e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_github_remote--3c9c82-7238cfcdaa51.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/repositories-a4509a8583cd.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_github_catalyst_lib_inde-dbbea9-26cce2010167.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/code-menu-6a5f60eab447.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/primer-react-8e38c0ecf8b7.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-core-218ef2d63cca.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-lib-f1bca44e0926.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/octicons-react-611691cca2f6.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_emotion_is-prop-valid_dist_emotion-is-prop-valid_esm_js-node_modules_emo-62da9f-2df2f32ec596.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_stacktrace-parser_dist_s-e7dcdd-f7cc96ebae76.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover-fn_js-55fea94174bf.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/notifications-subscriptions-menu-eff84ecbf2b6.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.f5cae0c610a2c4c470c2.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/notifications-subscriptions-menu.1bcff9205c241e99cff2.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.f5cae0c610a2c4c470c2.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/notifications-subscriptions-menu.1bcff9205c241e99cff2.module.css" /> <title>GitHub - KissMeInTheDark/switch-plugins-dbi: Author is duckbill</title> <meta name="route-pattern" content="/:user_id/:repository" data-turbo-transient> <meta name="route-controller" content="files" data-turbo-transient> <meta name="route-action" content="disambiguate" data-turbo-transient> <meta name="current-catalog-service-hash" content="f3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb"> <meta name="request-id" content="BD6A:899F4:3C1E:49DA:67B204C8" data-pjax-transient="true"/><meta name="html-safe-nonce" content="5d448a1d1f509a1497d2d2ceadbbab0cc454d549c9fe00fed3f23356a8d64105" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCRDZBOjg5OUY0OjNDMUU6NDlEQTo2N0IyMDRDOCIsInZpc2l0b3JfaWQiOiI0NzkyNzcyMDIwNDM4OTU5MzA0IiwicmVnaW9uX2VkZ2UiOiJzb3V0aGVhc3Rhc2lhIiwicmVnaW9uX3JlbmRlciI6InNvdXRoZWFzdGFzaWEifQ==" data-pjax-transient="true"/><meta name="visitor-hmac" content="5bc4ac925dfc88c166fede51c9152c8393e02d8e43989935188fe44348d4afdb" data-pjax-transient="true"/> <meta name="hovercard-subject-tag" content="repository:881672307" data-turbo-transient> <meta name="github-keyboard-shortcuts" content="repository,copilot" data-turbo-transient="true" /> <meta name="selected-link" value="repo_source" data-turbo-transient> <link rel="assets" href="https://github.githubassets.com/"> <meta name="google-site-verification" content="Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I"> <meta name="octolytics-url" content="https://collector.github.com/github/collect" /> <meta name="analytics-location" content="/<user-name>/<repo-name>" data-turbo-transient="true" /> <meta name="user-login" content=""> <meta name="viewport" content="width=device-width"> <meta name="description" content="Author is duckbill . Contribute to KissMeInTheDark/switch-plugins-dbi development by creating an account on GitHub."> <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub"> <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub"> <meta property="fb:app_id" content="1401488693436528"> <meta name="apple-itunes-app" content="app-id=1477376905, app-argument=https://github.com/KissMeInTheDark/switch-plugins-dbi" /> <meta name="twitter:image" content="https://opengraph.githubassets.com/57ef2a35531950dee0d2566ce9a5b82911c76800d335f55d950567579d4bdf56/KissMeInTheDark/switch-plugins-dbi" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="GitHub - KissMeInTheDark/switch-plugins-dbi: Author is duckbill" /><meta name="twitter:description" content="Author is duckbill . Contribute to KissMeInTheDark/switch-plugins-dbi development by creating an account on GitHub." /> <meta property="og:image" content="https://opengraph.githubassets.com/57ef2a35531950dee0d2566ce9a5b82911c76800d335f55d950567579d4bdf56/KissMeInTheDark/switch-plugins-dbi" /><meta property="og:image:alt" content="Author is duckbill . Contribute to KissMeInTheDark/switch-plugins-dbi development by creating an account on GitHub." /><meta property="og:image:width" content="1200" /><meta property="og:image:height" content="600" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="GitHub - KissMeInTheDark/switch-plugins-dbi: Author is duckbill" /><meta property="og:url" content="https://github.com/KissMeInTheDark/switch-plugins-dbi" /><meta property="og:description" content="Author is duckbill . Contribute to KissMeInTheDark/switch-plugins-dbi development by creating an account on GitHub." /> <meta name="hostname" content="github.com"> <meta name="expected-hostname" content="github.com"> <meta http-equiv="x-pjax-version" content="7285c1d48b26dbf4a947aa96973b0576ccc264b2eed60ad331fecccb5cc407f9" data-turbo-track="reload"> <meta http-equiv="x-pjax-csp-version" content="ace39c3b6632770952207593607e6e0be0db363435a8b877b1f96abe6430f345" data-turbo-track="reload"> <meta http-equiv="x-pjax-css-version" content="1c71206221e00a0a8e77d94d48d954f34ddbd711c4a0ced954fd49cd786cfa61" data-turbo-track="reload"> <meta http-equiv="x-pjax-js-version" content="e957203196628458a3ddb1546cfef8b3b07cafa937f5a0542f0fb75f6273f835" data-turbo-track="reload"> <meta name="turbo-cache-control" content="no-preview" data-turbo-transient=""> <meta data-hydrostats="publish"> <meta name="go-import" content="github.com/KissMeInTheDark/switch-plugins-dbi git https://github.com/KissMeInTheDark/switch-plugins-dbi.git"> <meta name="octolytics-dimension-user_id" content="19258433" /><meta name="octolytics-dimension-user_login" content="KissMeInTheDark" /><meta name="octolytics-dimension-repository_id" content="881672307" /><meta name="octolytics-dimension-repository_nwo" content="KissMeInTheDark/switch-plugins-dbi" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="true" /><meta name="octolytics-dimension-repository_parent_id" content="305369415" /><meta name="octolytics-dimension-repository_parent_nwo" content="rashevskyv/dbi" /><meta name="octolytics-dimension-repository_network_root_id" content="305369415" /><meta name="octolytics-dimension-repository_network_root_nwo" content="rashevskyv/dbi" /> <link rel="canonical" href="https://github.com/KissMeInTheDark/switch-plugins-dbi" data-turbo-transient> <meta name="turbo-body-classes" content="logged-out env-production page-responsive"> <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats"> <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> <link rel="mask-icon" href="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" color="#000000"> <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png"> <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg" data-base-href="https://github.githubassets.com/favicons/favicon"> <meta name="theme-color" content="#1e2327"> <meta name="color-scheme" content="light dark" /> <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials"> </head> <body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> <div data-turbo-body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> <div class="position-relative header-wrapper js-header-wrapper "> <a href="#start-of-content" data-skip-target-assigned="false" class="px-2 py-4 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a> <span data-view-component="true" class="progress-pjax-loader Progress position-fixed width-full"> <span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span> </span> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_ui-commands_ui-commands_ts-e571874765ef.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/keyboard-shortcuts-dialog-765cf28766da.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.f5cae0c610a2c4c470c2.module.css" /> <react-partial partial-name="keyboard-shortcuts-dialog" data-ssr="false" data-attempted-ssr="false" > <script type="application/json" data-target="react-partial.embeddedData">{"props":{"docsUrl":"https://docs.github.com/get-started/accessibility/keyboard-shortcuts"}}</script> <div data-target="react-partial.reactRoot"></div> </react-partial> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-94fd67-73b675cf164a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/sessions-2d195d11c56b.js"></script> <header class="HeaderMktg header-logged-out js-details-container js-header Details f4 py-3" role="banner" data-is-top="true" data-color-mode=light data-light-theme=light data-dark-theme=dark> <h2 class="sr-only">Navigation Menu</h2> <button type="button" class="HeaderMktg-backdrop d-lg-none border-0 position-fixed top-0 left-0 width-full height-full js-details-target" aria-label="Toggle navigation"> <span class="d-none">Toggle navigation</span> </button> <div class="d-flex flex-column flex-lg-row flex-items-center px-3 px-md-4 px-lg-5 height-full position-relative z-1"> <div class="d-flex flex-justify-between flex-items-center width-full width-lg-auto"> <div class="flex-1"> <button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="js-details-target js-nav-padding-recalculate js-header-menu-toggle Button--link Button--medium Button d-lg-none color-fg-inherit p-1"> <span class="Button-content"> <span class="Button-label"><div class="HeaderMenu-toggle-bar rounded my-1"></div> <div class="HeaderMenu-toggle-bar rounded my-1"></div> <div class="HeaderMenu-toggle-bar rounded my-1"></div></span> </span> </button> </div> <a class="mr-lg-3 color-fg-inherit flex-order-2 js-prevent-focus-on-mobile-nav" href="/" aria-label="Homepage" data-analytics-event="{"category":"Marketing nav","action":"click to go to homepage","label":"ref_page:Marketing;ref_cta:Logomark;ref_loc:Header"}"> <svg height="32" aria-hidden="true" viewBox="0 0 24 24" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github"> <path d="M12.5.75C6.146.75 1 5.896 1 12.25c0 5.089 3.292 9.387 7.863 10.91.575.101.79-.244.79-.546 0-.273-.014-1.178-.014-2.142-2.889.532-3.636-.704-3.866-1.35-.13-.331-.69-1.352-1.18-1.625-.402-.216-.977-.748-.014-.762.906-.014 1.553.834 1.769 1.179 1.035 1.74 2.688 1.25 3.349.948.1-.747.402-1.25.733-1.538-2.559-.287-5.232-1.279-5.232-5.678 0-1.25.445-2.285 1.178-3.09-.115-.288-.517-1.467.115-3.048 0 0 .963-.302 3.163 1.179.92-.259 1.897-.388 2.875-.388.977 0 1.955.13 2.875.388 2.2-1.495 3.162-1.179 3.162-1.179.633 1.581.23 2.76.115 3.048.733.805 1.179 1.825 1.179 3.09 0 4.413-2.688 5.39-5.247 5.678.417.36.776 1.05.776 2.128 0 1.538-.014 2.774-.014 3.162 0 .302.216.662.79.547C20.709 21.637 24 17.324 24 12.25 24 5.896 18.854.75 12.5.75Z"></path> </svg> </a> <div class="flex-1 flex-order-2 text-right"> <a href="/login?return_to=https%3A%2F%2Fgithub.com%2FKissMeInTheDark%2Fswitch-plugins-dbi" class="HeaderMenu-link HeaderMenu-button d-inline-flex d-lg-none flex-order-1 f5 no-underline border color-border-default rounded-2 px-2 py-1 color-fg-inherit js-prevent-focus-on-mobile-nav" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/KissMeInTheDark/switch-plugins-dbi","user_id":null}}" data-hydro-click-hmac="8b6bb2b42be00fc19ca009dc9d3b265b0a26c72fd1c6414f8b0cde0c0524bf97" data-analytics-event="{"category":"Marketing nav","action":"click to Sign in","label":"ref_page:Marketing;ref_cta:Sign in;ref_loc:Header"}" > Sign in </a> </div> </div> <div class="HeaderMenu js-header-menu height-fit position-lg-relative d-lg-flex flex-column flex-auto top-0"> <div class="HeaderMenu-wrapper d-flex flex-column flex-self-start flex-lg-row flex-auto rounded rounded-lg-0"> <nav class="HeaderMenu-nav" aria-label="Global"> <ul class="d-lg-flex list-style-none"> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Product <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"github_copilot","context":"product","tag":"link","label":"github_copilot_link_product_navbar"}" href="https://github.com/features/copilot"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3"> <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path> </svg> <div> <div class="color-fg-default h4">GitHub Copilot</div> Write better code with AI </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"security","context":"product","tag":"link","label":"security_link_product_navbar"}" href="https://github.com/features/security"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"> <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path> </svg> <div> <div class="color-fg-default h4">Security</div> Find and fix vulnerabilities </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"actions","context":"product","tag":"link","label":"actions_link_product_navbar"}" href="https://github.com/features/actions"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-workflow color-fg-subtle mr-3"> <path d="M1 3a2 2 0 0 1 2-2h6.5a2 2 0 0 1 2 2v6.5a2 2 0 0 1-2 2H7v4.063C7 16.355 7.644 17 8.438 17H12.5v-2.5a2 2 0 0 1 2-2H21a2 2 0 0 1 2 2V21a2 2 0 0 1-2 2h-6.5a2 2 0 0 1-2-2v-2.5H8.437A2.939 2.939 0 0 1 5.5 15.562V11.5H3a2 2 0 0 1-2-2Zm2-.5a.5.5 0 0 0-.5.5v6.5a.5.5 0 0 0 .5.5h6.5a.5.5 0 0 0 .5-.5V3a.5.5 0 0 0-.5-.5ZM14.5 14a.5.5 0 0 0-.5.5V21a.5.5 0 0 0 .5.5H21a.5.5 0 0 0 .5-.5v-6.5a.5.5 0 0 0-.5-.5Z"></path> </svg> <div> <div class="color-fg-default h4">Actions</div> Automate any workflow </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"codespaces","context":"product","tag":"link","label":"codespaces_link_product_navbar"}" href="https://github.com/features/codespaces"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-codespaces color-fg-subtle mr-3"> <path d="M3.5 3.75C3.5 2.784 4.284 2 5.25 2h13.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 18.75 13H5.25a1.75 1.75 0 0 1-1.75-1.75Zm-2 12c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v4a1.75 1.75 0 0 1-1.75 1.75H3.25a1.75 1.75 0 0 1-1.75-1.75ZM5.25 3.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h13.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Zm-2 12a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h17.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25Z"></path><path d="M10 17.75a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> </svg> <div> <div class="color-fg-default h4">Codespaces</div> Instant dev environments </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"issues","context":"product","tag":"link","label":"issues_link_product_navbar"}" href="https://github.com/features/issues"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-issue-opened color-fg-subtle mr-3"> <path d="M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Zm9.5 2a2 2 0 1 1-.001-3.999A2 2 0 0 1 12 14Z"></path> </svg> <div> <div class="color-fg-default h4">Issues</div> Plan and track work </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"code_review","context":"product","tag":"link","label":"code_review_link_product_navbar"}" href="https://github.com/features/code-review"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-review color-fg-subtle mr-3"> <path d="M10.3 6.74a.75.75 0 0 1-.04 1.06l-2.908 2.7 2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M1.5 4.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 0 1-1.75 1.75h-9.69l-3.573 3.573A1.458 1.458 0 0 1 5 21.043V18.5H3.25a1.75 1.75 0 0 1-1.75-1.75ZM3.25 4a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 .75.75v3.19l3.72-3.72a.749.749 0 0 1 .53-.22h10a.25.25 0 0 0 .25-.25V4.25a.25.25 0 0 0-.25-.25Z"></path> </svg> <div> <div class="color-fg-default h4">Code Review</div> Manage code changes </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"discussions","context":"product","tag":"link","label":"discussions_link_product_navbar"}" href="https://github.com/features/discussions"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> </svg> <div> <div class="color-fg-default h4">Discussions</div> Collaborate outside of code </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"code_search","context":"product","tag":"link","label":"code_search_link_product_navbar"}" href="https://github.com/features/code-search"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-square color-fg-subtle mr-3"> <path d="M10.3 8.24a.75.75 0 0 1-.04 1.06L7.352 12l2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25Zm1.75-.25a.25.25 0 0 0-.25.25v16.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25Z"></path> </svg> <div> <div class="color-fg-default h4">Code Search</div> Find more, search less </div> </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="product-explore-heading">Explore</span> <ul class="list-style-none f5" aria-labelledby="product-explore-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"all_features","context":"product","tag":"link","label":"all_features_link_product_navbar"}" href="https://github.com/features"> All features </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"documentation","context":"product","tag":"link","label":"documentation_link_product_navbar"}" href="https://docs.github.com"> Documentation <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"github_skills","context":"product","tag":"link","label":"github_skills_link_product_navbar"}" href="https://skills.github.com"> GitHub Skills <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"blog","context":"product","tag":"link","label":"blog_link_product_navbar"}" href="https://github.blog"> Blog <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Solutions <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 pb-lg-3 mb-3 mb-lg-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-company-size-heading">By company size</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-company-size-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"enterprises","context":"solutions","tag":"link","label":"enterprises_link_solutions_navbar"}" href="https://github.com/enterprise"> Enterprises </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"small_and_medium_teams","context":"solutions","tag":"link","label":"small_and_medium_teams_link_solutions_navbar"}" href="https://github.com/team"> Small and medium teams </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"startups","context":"solutions","tag":"link","label":"startups_link_solutions_navbar"}" href="https://github.com/enterprise/startups"> Startups </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"nonprofits","context":"solutions","tag":"link","label":"nonprofits_link_solutions_navbar"}" href="/solutions/industry/nonprofits"> Nonprofits </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-use-case-heading">By use case</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-use-case-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"devsecops","context":"solutions","tag":"link","label":"devsecops_link_solutions_navbar"}" href="/solutions/use-case/devsecops"> DevSecOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"devops","context":"solutions","tag":"link","label":"devops_link_solutions_navbar"}" href="/solutions/use-case/devops"> DevOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"ci_cd","context":"solutions","tag":"link","label":"ci_cd_link_solutions_navbar"}" href="/solutions/use-case/ci-cd"> CI/CD </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"view_all_use_cases","context":"solutions","tag":"link","label":"view_all_use_cases_link_solutions_navbar"}" href="/solutions/use-case"> View all use cases </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-industry-heading">By industry</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-industry-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"healthcare","context":"solutions","tag":"link","label":"healthcare_link_solutions_navbar"}" href="/solutions/industry/healthcare"> Healthcare </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"financial_services","context":"solutions","tag":"link","label":"financial_services_link_solutions_navbar"}" href="/solutions/industry/financial-services"> Financial services </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"manufacturing","context":"solutions","tag":"link","label":"manufacturing_link_solutions_navbar"}" href="/solutions/industry/manufacturing"> Manufacturing </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"government","context":"solutions","tag":"link","label":"government_link_solutions_navbar"}" href="/solutions/industry/government"> Government </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"view_all_industries","context":"solutions","tag":"link","label":"view_all_industries_link_solutions_navbar"}" href="/solutions/industry"> View all industries </a></li> </ul> </div> </div> <div class="HeaderMenu-trailing-link rounded-bottom-2 flex-shrink-0 mt-lg-4 px-lg-4 py-4 py-lg-3 f5 text-semibold"> <a href="/solutions"> View all solutions <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-right HeaderMenu-trailing-link-icon"> <path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path> </svg> </a> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Resources <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="resources-topics-heading">Topics</span> <ul class="list-style-none f5" aria-labelledby="resources-topics-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"ai","context":"resources","tag":"link","label":"ai_link_resources_navbar"}" href="/resources/articles/ai"> AI </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"devops","context":"resources","tag":"link","label":"devops_link_resources_navbar"}" href="/resources/articles/devops"> DevOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"security","context":"resources","tag":"link","label":"security_link_resources_navbar"}" href="/resources/articles/security"> Security </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"software_development","context":"resources","tag":"link","label":"software_development_link_resources_navbar"}" href="/resources/articles/software-development"> Software Development </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"view_all","context":"resources","tag":"link","label":"view_all_link_resources_navbar"}" href="/resources/articles"> View all </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="resources-explore-heading">Explore</span> <ul class="list-style-none f5" aria-labelledby="resources-explore-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"learning_pathways","context":"resources","tag":"link","label":"learning_pathways_link_resources_navbar"}" href="https://resources.github.com/learn/pathways"> Learning Pathways <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"white_papers_ebooks_webinars","context":"resources","tag":"link","label":"white_papers_ebooks_webinars_link_resources_navbar"}" href="https://resources.github.com"> White papers, Ebooks, Webinars <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"customer_stories","context":"resources","tag":"link","label":"customer_stories_link_resources_navbar"}" href="https://github.com/customer-stories"> Customer Stories </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"partners","context":"resources","tag":"link","label":"partners_link_resources_navbar"}" href="https://partner.github.com"> Partners <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"executive_insights","context":"resources","tag":"link","label":"executive_insights_link_resources_navbar"}" href="https://github.com/solutions/executive-insights"> Executive Insights </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Open Source <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 px-lg-4"> <div class="HeaderMenu-column"> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"github_sponsors","context":"open_source","tag":"link","label":"github_sponsors_link_open_source_navbar"}" href="/sponsors"> <div> <div class="color-fg-default h4">GitHub Sponsors</div> Fund open source developers </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"the_readme_project","context":"open_source","tag":"link","label":"the_readme_project_link_open_source_navbar"}" href="https://github.com/readme"> <div> <div class="color-fg-default h4">The ReadME Project</div> GitHub community articles </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="open-source-repositories-heading">Repositories</span> <ul class="list-style-none f5" aria-labelledby="open-source-repositories-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"topics","context":"open_source","tag":"link","label":"topics_link_open_source_navbar"}" href="https://github.com/topics"> Topics </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"trending","context":"open_source","tag":"link","label":"trending_link_open_source_navbar"}" href="https://github.com/trending"> Trending </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"collections","context":"open_source","tag":"link","label":"collections_link_open_source_navbar"}" href="https://github.com/collections"> Collections </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Enterprise <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 px-lg-4"> <div class="HeaderMenu-column"> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"enterprise_platform","context":"enterprise","tag":"link","label":"enterprise_platform_link_enterprise_navbar"}" href="/enterprise"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-stack color-fg-subtle mr-3"> <path d="M11.063 1.456a1.749 1.749 0 0 1 1.874 0l8.383 5.316a1.751 1.751 0 0 1 0 2.956l-8.383 5.316a1.749 1.749 0 0 1-1.874 0L2.68 9.728a1.751 1.751 0 0 1 0-2.956Zm1.071 1.267a.25.25 0 0 0-.268 0L3.483 8.039a.25.25 0 0 0 0 .422l8.383 5.316a.25.25 0 0 0 .268 0l8.383-5.316a.25.25 0 0 0 0-.422Z"></path><path d="M1.867 12.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path><path d="M1.867 16.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path> </svg> <div> <div class="color-fg-default h4">Enterprise platform</div> AI-powered developer platform </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="enterprise-available-add-ons-heading">Available add-ons</span> <ul class="list-style-none f5" aria-labelledby="enterprise-available-add-ons-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"advanced_security","context":"enterprise","tag":"link","label":"advanced_security_link_enterprise_navbar"}" href="https://github.com/enterprise/advanced-security"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"> <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path> </svg> <div> <div class="color-fg-default h4">Advanced Security</div> Enterprise-grade security features </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"github_copilot","context":"enterprise","tag":"link","label":"github_copilot_link_enterprise_navbar"}" href="/features/copilot#enterprise"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3"> <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path> </svg> <div> <div class="color-fg-default h4">GitHub Copilot</div> Enterprise-grade AI features </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"premium_support","context":"enterprise","tag":"link","label":"premium_support_link_enterprise_navbar"}" href="/premium-support"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> </svg> <div> <div class="color-fg-default h4">Premium Support</div> Enterprise-grade 24/7 support </div> </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <a class="HeaderMenu-link no-underline px-0 px-lg-2 py-3 py-lg-2 d-block d-lg-inline-block" data-analytics-event="{"location":"navbar","action":"pricing","context":"global","tag":"link","label":"pricing_link_global_navbar"}" href="https://github.com/pricing">Pricing</a> </li> </ul> </nav> <div class="d-flex flex-column flex-lg-row width-full flex-justify-end flex-lg-items-center text-center mt-3 mt-lg-0 text-lg-left ml-lg-3"> <qbsearch-input class="search-input" data-scope="repo:KissMeInTheDark/switch-plugins-dbi" data-custom-scopes-path="/search/custom_scopes" data-delete-custom-scopes-csrf="QvSl_H0l4NRTQb0ZvtNwuW1UJjPXdH8fFemBkJ4y4Oai5DyX6ehpkoQhMkn06wdVdZN7A7B730kHp4iJe6hFcg" data-max-custom-scopes="10" data-header-redesign-enabled="false" data-initial-value="" data-blackbird-suggestions-path="/search/suggestions" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" data-current-repository="KissMeInTheDark/switch-plugins-dbi" data-current-org="" data-current-owner="KissMeInTheDark" data-logged-in="false" data-copilot-chat-enabled="false" data-nl-search-enabled="false" data-retain-scroll-position="true"> <div class="search-input-container search-with-dialog position-relative d-flex flex-row flex-items-center mr-4 rounded" data-action="click:qbsearch-input#searchInputContainerClicked" > <button type="button" class="header-search-button placeholder input-button form-control d-flex flex-1 flex-self-stretch flex-items-center no-wrap width-full py-0 pl-2 pr-0 text-left border-0 box-shadow-none" data-target="qbsearch-input.inputButton" aria-label="Search or jump to…" aria-haspopup="dialog" placeholder="Search or jump to..." data-hotkey=s,/ autocapitalize="off" data-analytics-event="{"location":"navbar","action":"searchbar","context":"global","tag":"input","label":"searchbar_input_global_navbar"}" data-action="click:qbsearch-input#handleExpand" > <div class="mr-2 color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </div> <span class="flex-1" data-target="qbsearch-input.inputButtonText">Search or jump to...</span> <div class="d-flex" data-target="qbsearch-input.hotkeyIndicator"> <svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" aria-hidden="true" class="mr-1"><path fill="none" stroke="#979A9C" opacity=".4" d="M3.5.5h12c1.7 0 3 1.3 3 3v13c0 1.7-1.3 3-3 3h-12c-1.7 0-3-1.3-3-3v-13c0-1.7 1.3-3 3-3z"></path><path fill="#979A9C" d="M11.8 6L8 15.1h-.9L10.8 6h1z"></path></svg> </div> </button> <input type="hidden" name="type" class="js-site-search-type-field"> <div class="Overlay--hidden " data-modal-dialog-overlay> <modal-dialog data-action="close:qbsearch-input#handleClose cancel:qbsearch-input#handleClose" data-target="qbsearch-input.searchSuggestionsDialog" role="dialog" id="search-suggestions-dialog" aria-modal="true" aria-labelledby="search-suggestions-dialog-header" data-view-component="true" class="Overlay Overlay--width-large Overlay--height-auto"> <h1 id="search-suggestions-dialog-header" class="sr-only">Search code, repositories, users, issues, pull requests...</h1> <div class="Overlay-body Overlay-body--paddingNone"> <div data-view-component="true"> <div class="search-suggestions position-fixed width-full color-shadow-large border color-fg-default color-bg-default overflow-hidden d-flex flex-column query-builder-container" style="border-radius: 12px;" data-target="qbsearch-input.queryBuilderContainer" hidden > <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="query-builder-test-form" action="" accept-charset="UTF-8" method="get"> <query-builder data-target="qbsearch-input.queryBuilder" id="query-builder-query-builder-test" data-filter-key=":" data-view-component="true" class="QueryBuilder search-query-builder"> <div class="FormControl FormControl--fullWidth"> <label id="query-builder-test-label" for="query-builder-test" class="FormControl-label sr-only"> Search </label> <div class="QueryBuilder-StyledInput width-fit " data-target="query-builder.styledInput" > <span id="query-builder-test-leadingvisual-wrap" class="FormControl-input-leadingVisualWrap QueryBuilder-leadingVisualWrap"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search FormControl-input-leadingVisual"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </span> <div data-target="query-builder.styledInputContainer" class="QueryBuilder-StyledInputContainer"> <div aria-hidden="true" class="QueryBuilder-StyledInputContent" data-target="query-builder.styledInputContent" ></div> <div class="QueryBuilder-InputWrapper"> <div aria-hidden="true" class="QueryBuilder-Sizer" data-target="query-builder.sizer"></div> <input id="query-builder-test" name="query-builder-test" value="" autocomplete="off" type="text" role="combobox" spellcheck="false" aria-expanded="false" aria-describedby="validation-4143dd00-2efe-4f8c-9a56-5a6dbc581ef1" data-target="query-builder.input" data-action=" input:query-builder#inputChange blur:query-builder#inputBlur keydown:query-builder#inputKeydown focus:query-builder#inputFocus " data-view-component="true" class="FormControl-input QueryBuilder-Input FormControl-medium" /> </div> </div> <span class="sr-only" id="query-builder-test-clear">Clear</span> <button role="button" id="query-builder-test-clear-button" aria-labelledby="query-builder-test-clear query-builder-test-label" data-target="query-builder.clearButton" data-action=" click:query-builder#clear focus:query-builder#clearButtonFocus blur:query-builder#clearButtonBlur " variant="small" hidden="hidden" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium mr-1 px-2 py-0 d-flex flex-items-center rounded-1 color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x-circle-fill Button-visual"> <path d="M2.343 13.657A8 8 0 1 1 13.658 2.343 8 8 0 0 1 2.343 13.657ZM6.03 4.97a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042L6.94 8 4.97 9.97a.749.749 0 0 0 .326 1.275.749.749 0 0 0 .734-.215L8 9.06l1.97 1.97a.749.749 0 0 0 1.275-.326.749.749 0 0 0-.215-.734L9.06 8l1.97-1.97a.749.749 0 0 0-.326-1.275.749.749 0 0 0-.734.215L8 6.94Z"></path> </svg> </button> </div> <template id="search-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </template> <template id="code-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </template> <template id="file-code-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-code"> <path d="M4 1.75C4 .784 4.784 0 5.75 0h5.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 14.25 15h-9a.75.75 0 0 1 0-1.5h9a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 10 4.25V1.5H5.75a.25.25 0 0 0-.25.25v2.5a.75.75 0 0 1-1.5 0Zm1.72 4.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l1.47-1.47-1.47-1.47a.75.75 0 0 1 0-1.06ZM3.28 7.78 1.81 9.25l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Zm8.22-6.218V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path> </svg> </template> <template id="history-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-history"> <path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path> </svg> </template> <template id="repo-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </template> <template id="bookmark-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bookmark"> <path d="M3 2.75C3 1.784 3.784 1 4.75 1h6.5c.966 0 1.75.784 1.75 1.75v11.5a.75.75 0 0 1-1.227.579L8 11.722l-3.773 3.107A.751.751 0 0 1 3 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.91l3.023-2.489a.75.75 0 0 1 .954 0l3.023 2.49V2.75a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="plus-circle-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-plus-circle"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm7.25-3.25v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5a.75.75 0 0 1 1.5 0Z"></path> </svg> </template> <template id="circle-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-dot-fill"> <path d="M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z"></path> </svg> </template> <template id="trash-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-trash"> <path d="M11 1.75V3h2.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75ZM4.496 6.675l.66 6.6a.25.25 0 0 0 .249.225h5.19a.25.25 0 0 0 .249-.225l.66-6.6a.75.75 0 0 1 1.492.149l-.66 6.6A1.748 1.748 0 0 1 10.595 15h-5.19a1.75 1.75 0 0 1-1.741-1.575l-.66-6.6a.75.75 0 1 1 1.492-.15ZM6.5 1.75V3h3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25Z"></path> </svg> </template> <template id="team-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-people"> <path d="M2 5.5a3.5 3.5 0 1 1 5.898 2.549 5.508 5.508 0 0 1 3.034 4.084.75.75 0 1 1-1.482.235 4 4 0 0 0-7.9 0 .75.75 0 0 1-1.482-.236A5.507 5.507 0 0 1 3.102 8.05 3.493 3.493 0 0 1 2 5.5ZM11 4a3.001 3.001 0 0 1 2.22 5.018 5.01 5.01 0 0 1 2.56 3.012.749.749 0 0 1-.885.954.752.752 0 0 1-.549-.514 3.507 3.507 0 0 0-2.522-2.372.75.75 0 0 1-.574-.73v-.352a.75.75 0 0 1 .416-.672A1.5 1.5 0 0 0 11 5.5.75.75 0 0 1 11 4Zm-5.5-.5a2 2 0 1 0-.001 3.999A2 2 0 0 0 5.5 3.5Z"></path> </svg> </template> <template id="project-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project"> <path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25ZM11.75 3a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0v-7.5a.75.75 0 0 1 .75-.75Zm-8.25.75a.75.75 0 0 1 1.5 0v5.5a.75.75 0 0 1-1.5 0ZM8 3a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 3Z"></path> </svg> </template> <template id="pencil-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pencil"> <path d="M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.253.253 0 0 0-.064.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z"></path> </svg> </template> <template id="copilot-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot"> <path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path> </svg> </template> <template id="copilot-error-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot-error"> <path d="M16 11.24c0 .112-.072.274-.21.467L13 9.688V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-.198 0-.388-.009-.571-.029L6.833 5.226a4.01 4.01 0 0 0 .17-.782c.117-.935-.037-1.395-.241-1.614-.193-.206-.637-.413-1.682-.297-.683.076-1.115.231-1.395.415l-1.257-.91c.579-.564 1.413-.877 2.485-.996 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095Zm-5.083-8.707c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Zm2.511 11.074c-1.393.776-3.272 1.428-5.43 1.428-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.18-.455-.241-.963-.252-1.475L.31 4.107A.747.747 0 0 1 0 3.509V3.49a.748.748 0 0 1 .625-.73c.156-.026.306.047.435.139l14.667 10.578a.592.592 0 0 1 .227.264.752.752 0 0 1 .046.249v.022a.75.75 0 0 1-1.19.596Zm-1.367-.991L5.635 7.964a5.128 5.128 0 0 1-.889.073c-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433 1.539 0 3.089-.505 4.063-.934Z"></path> </svg> </template> <template id="workflow-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-workflow"> <path d="M0 1.75C0 .784.784 0 1.75 0h3.5C6.216 0 7 .784 7 1.75v3.5A1.75 1.75 0 0 1 5.25 7H4v4a1 1 0 0 0 1 1h4v-1.25C9 9.784 9.784 9 10.75 9h3.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0 1 14.25 16h-3.5A1.75 1.75 0 0 1 9 14.25v-.75H5A2.5 2.5 0 0 1 2.5 11V7h-.75A1.75 1.75 0 0 1 0 5.25Zm1.75-.25a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Zm9 9a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="book-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book"> <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> </svg> </template> <template id="code-review-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-review"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 13H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25v-8.5C0 1.784.784 1 1.75 1ZM1.5 2.75v8.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm5.28 1.72a.75.75 0 0 1 0 1.06L5.31 7l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.75.75 0 0 1 1.06 0Zm2.44 0a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.69 7 9.22 5.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </template> <template id="codespaces-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-codespaces"> <path d="M0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm2-9.5C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 0 1-1.75 1.75h-8.5A1.75 1.75 0 0 1 2 6.75Zm1.75-.25a.25.25 0 0 0-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5a.25.25 0 0 0-.25-.25Zm-2 9.5a.25.25 0 0 0-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"></path><path d="M7 12.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> </svg> </template> <template id="comment-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment"> <path d="M1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 13.25 12H9.06l-2.573 2.573A1.458 1.458 0 0 1 4 13.543V12H2.75A1.75 1.75 0 0 1 1 10.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h4.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="comment-discussion-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> </template> <template id="organization-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-organization"> <path d="M1.75 16A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 0 0 .25-.25V8.285a.25.25 0 0 0-.111-.208l-1.055-.703a.749.749 0 1 1 .832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0 1 14.25 16h-3.5a.766.766 0 0 1-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 0 1-.75-.75V14h-1v1.25a.75.75 0 0 1-.75.75Zm-.25-1.75c0 .138.112.25.25.25H4v-1.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 .75.75v1.25h2.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM3.75 6h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 3.75A.75.75 0 0 1 3.75 3h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 3.75Zm4 3A.75.75 0 0 1 7.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 7 6.75ZM7.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 9.75A.75.75 0 0 1 3.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 9.75ZM7.75 9h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> </svg> </template> <template id="rocket-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-rocket"> <path d="M14.064 0h.186C15.216 0 16 .784 16 1.75v.186a8.752 8.752 0 0 1-2.564 6.186l-.458.459c-.314.314-.641.616-.979.904v3.207c0 .608-.315 1.172-.833 1.49l-2.774 1.707a.749.749 0 0 1-1.11-.418l-.954-3.102a1.214 1.214 0 0 1-.145-.125L3.754 9.816a1.218 1.218 0 0 1-.124-.145L.528 8.717a.749.749 0 0 1-.418-1.11l1.71-2.774A1.748 1.748 0 0 1 3.31 4h3.204c.288-.338.59-.665.904-.979l.459-.458A8.749 8.749 0 0 1 14.064 0ZM8.938 3.623h-.002l-.458.458c-.76.76-1.437 1.598-2.02 2.5l-1.5 2.317 2.143 2.143 2.317-1.5c.902-.583 1.74-1.26 2.499-2.02l.459-.458a7.25 7.25 0 0 0 2.123-5.127V1.75a.25.25 0 0 0-.25-.25h-.186a7.249 7.249 0 0 0-5.125 2.123ZM3.56 14.56c-.732.732-2.334 1.045-3.005 1.148a.234.234 0 0 1-.201-.064.234.234 0 0 1-.064-.201c.103-.671.416-2.273 1.15-3.003a1.502 1.502 0 1 1 2.12 2.12Zm6.94-3.935c-.088.06-.177.118-.266.175l-2.35 1.521.548 1.783 1.949-1.2a.25.25 0 0 0 .119-.213ZM3.678 8.116 5.2 5.766c.058-.09.117-.178.176-.266H3.309a.25.25 0 0 0-.213.119l-1.2 1.95ZM12 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> </template> <template id="shield-check-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield-check"> <path d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </template> <template id="heart-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-heart"> <path d="m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z"></path> </svg> </template> <template id="server-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-server"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v4c0 .372-.116.717-.314 1 .198.283.314.628.314 1v4a1.75 1.75 0 0 1-1.75 1.75H1.75A1.75 1.75 0 0 1 0 12.75v-4c0-.358.109-.707.314-1a1.739 1.739 0 0 1-.314-1v-4C0 1.784.784 1 1.75 1ZM1.5 2.75v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm.25 5.75a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25ZM7 4.75A.75.75 0 0 1 7.75 4h4.5a.75.75 0 0 1 0 1.5h-4.5A.75.75 0 0 1 7 4.75ZM7.75 10h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM3 4.75A.75.75 0 0 1 3.75 4h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 4.75ZM3.75 10h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> </svg> </template> <template id="globe-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-globe"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM5.78 8.75a9.64 9.64 0 0 0 1.363 4.177c.255.426.542.832.857 1.215.245-.296.551-.705.857-1.215A9.64 9.64 0 0 0 10.22 8.75Zm4.44-1.5a9.64 9.64 0 0 0-1.363-4.177c-.307-.51-.612-.919-.857-1.215a9.927 9.927 0 0 0-.857 1.215A9.64 9.64 0 0 0 5.78 7.25Zm-5.944 1.5H1.543a6.507 6.507 0 0 0 4.666 5.5c-.123-.181-.24-.365-.352-.552-.715-1.192-1.437-2.874-1.581-4.948Zm-2.733-1.5h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.507 6.507 0 0 0-4.666 5.5Zm10.181 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.507 6.507 0 0 0 4.666-5.5Zm2.733-1.5a6.507 6.507 0 0 0-4.666-5.5c.123.181.24.365.353.552.714 1.192 1.436 2.874 1.58 4.948Z"></path> </svg> </template> <template id="issue-opened-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> </template> <template id="device-mobile-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-mobile"> <path d="M3.75 0h8.5C13.216 0 14 .784 14 1.75v12.5A1.75 1.75 0 0 1 12.25 16h-8.5A1.75 1.75 0 0 1 2 14.25V1.75C2 .784 2.784 0 3.75 0ZM3.5 1.75v12.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM8 13a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path> </svg> </template> <template id="package-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-package"> <path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path> </svg> </template> <template id="credit-card-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-credit-card"> <path d="M10.75 9a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 0-1.5h-1.5Z"></path><path d="M0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14H1.75A1.75 1.75 0 0 1 0 12.25ZM14.5 6.5h-13v5.75c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25Zm0-2.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25V5h13Z"></path> </svg> </template> <template id="play-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> </template> <template id="gift-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-gift"> <path d="M2 2.75A2.75 2.75 0 0 1 4.75 0c.983 0 1.873.42 2.57 1.232.268.318.497.668.68 1.042.183-.375.411-.725.68-1.044C9.376.42 10.266 0 11.25 0a2.75 2.75 0 0 1 2.45 4h.55c.966 0 1.75.784 1.75 1.75v2c0 .698-.409 1.301-1 1.582v4.918A1.75 1.75 0 0 1 13.25 16H2.75A1.75 1.75 0 0 1 1 14.25V9.332C.409 9.05 0 8.448 0 7.75v-2C0 4.784.784 4 1.75 4h.55c-.192-.375-.3-.8-.3-1.25ZM7.25 9.5H2.5v4.75c0 .138.112.25.25.25h4.5Zm1.5 0v5h4.5a.25.25 0 0 0 .25-.25V9.5Zm0-4V8h5.5a.25.25 0 0 0 .25-.25v-2a.25.25 0 0 0-.25-.25Zm-7 0a.25.25 0 0 0-.25.25v2c0 .138.112.25.25.25h5.5V5.5h-5.5Zm3-4a1.25 1.25 0 0 0 0 2.5h2.309c-.233-.818-.542-1.401-.878-1.793-.43-.502-.915-.707-1.431-.707ZM8.941 4h2.309a1.25 1.25 0 0 0 0-2.5c-.516 0-1 .205-1.43.707-.337.392-.646.975-.879 1.793Z"></path> </svg> </template> <template id="code-square-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-square"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </template> <template id="device-desktop-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-desktop"> <path d="M14.25 1c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 14.25 12h-3.727c.099 1.041.52 1.872 1.292 2.757A.752.752 0 0 1 11.25 16h-6.5a.75.75 0 0 1-.565-1.243c.772-.885 1.192-1.716 1.292-2.757H1.75A1.75 1.75 0 0 1 0 10.25v-7.5C0 1.784.784 1 1.75 1ZM1.75 2.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25ZM9.018 12H6.982a5.72 5.72 0 0 1-.765 2.5h3.566a5.72 5.72 0 0 1-.765-2.5Z"></path> </svg> </template> <div class="position-relative"> <ul role="listbox" class="ActionListWrap QueryBuilder-ListWrap" aria-label="Suggestions" data-action=" combobox-commit:query-builder#comboboxCommit mousedown:query-builder#resultsMousedown " data-target="query-builder.resultsList" data-persist-list=false id="query-builder-test-results" ></ul> </div> <div class="FormControl-inlineValidation" id="validation-4143dd00-2efe-4f8c-9a56-5a6dbc581ef1" hidden="hidden"> <span class="FormControl-inlineValidation--visual"> <svg aria-hidden="true" height="12" viewBox="0 0 12 12" version="1.1" width="12" data-view-component="true" class="octicon octicon-alert-fill"> <path d="M4.855.708c.5-.896 1.79-.896 2.29 0l4.675 8.351a1.312 1.312 0 0 1-1.146 1.954H1.33A1.313 1.313 0 0 1 .183 9.058ZM7 7V3H5v4Zm-1 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"></path> </svg> </span> <span></span> </div> </div> <div data-target="query-builder.screenReaderFeedback" aria-live="polite" aria-atomic="true" class="sr-only"></div> </query-builder></form> <div class="d-flex flex-row color-fg-muted px-3 text-small color-bg-default search-feedback-prompt"> <a target="_blank" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax" data-view-component="true" class="Link color-fg-accent text-normal ml-2">Search syntax tips</a> <div class="d-flex flex-1"></div> </div> </div> </div> </div> </modal-dialog></div> </div> <div data-action="click:qbsearch-input#retract" class="dark-backdrop position-fixed" hidden data-target="qbsearch-input.darkBackdrop"></div> <div class="color-fg-default"> <dialog-helper> <dialog data-target="qbsearch-input.feedbackDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="feedback-dialog" aria-modal="true" aria-labelledby="feedback-dialog-title" aria-describedby="feedback-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll"> <div data-view-component="true" class="Overlay-header"> <div class="Overlay-headerContentWrap"> <div class="Overlay-titleWrap"> <h1 class="Overlay-title " id="feedback-dialog-title"> Provide feedback </h1> </div> <div class="Overlay-actionWrap"> <button data-close-dialog-id="feedback-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button> </div> </div> </div> <scrollable-region data-labelled-by="feedback-dialog-title"> <div data-view-component="true" class="Overlay-body"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="code-search-feedback-form" data-turbo="false" action="/search/feedback" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="69m94Bld29KHqJl+LvKbNYkXVAcfaCTZWMqKLXEixyoVNfJtF8oEy6XKI34NrlfT4TB9GIGV4AFQ685se0Vgnw==" /> <p>We read every piece of feedback, and take your input very seriously.</p> <textarea name="feedback" class="form-control width-full mb-2" style="height: 120px" id="feedback"></textarea> <input name="include_email" id="include_email" aria-label="Include my email address so I can be contacted" class="form-control mr-2" type="checkbox"> <label for="include_email" style="font-weight: normal">Include my email address so I can be contacted</label> </form></div> </scrollable-region> <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd"> <button data-close-dialog-id="feedback-dialog" type="button" data-view-component="true" class="btn"> Cancel </button> <button form="code-search-feedback-form" data-action="click:qbsearch-input#submitFeedback" type="submit" data-view-component="true" class="btn-primary btn"> Submit feedback </button> </div> </dialog></dialog-helper> <custom-scopes data-target="qbsearch-input.customScopesManager"> <dialog-helper> <dialog data-target="custom-scopes.customScopesModalDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="custom-scopes-dialog" aria-modal="true" aria-labelledby="custom-scopes-dialog-title" aria-describedby="custom-scopes-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll"> <div data-view-component="true" class="Overlay-header Overlay-header--divided"> <div class="Overlay-headerContentWrap"> <div class="Overlay-titleWrap"> <h1 class="Overlay-title " id="custom-scopes-dialog-title"> Saved searches </h1> <h2 id="custom-scopes-dialog-description" class="Overlay-description">Use saved searches to filter your results more quickly</h2> </div> <div class="Overlay-actionWrap"> <button data-close-dialog-id="custom-scopes-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button> </div> </div> </div> <scrollable-region data-labelled-by="custom-scopes-dialog-title"> <div data-view-component="true" class="Overlay-body"> <div data-target="custom-scopes.customScopesModalDialogFlash"></div> <div hidden class="create-custom-scope-form" data-target="custom-scopes.createCustomScopeForm"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="custom-scopes-dialog-form" data-turbo="false" action="/search/custom_scopes" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="R3UUbL/Zhvp7xXRJJJlxAWer959AfIreHA+ccxEYeP6/hU5AiR8UxupC/SSziQ7Uf7J/5qdWoMQtuI0Oo9oWpA==" /> <div data-target="custom-scopes.customScopesModalDialogFlash"></div> <input type="hidden" id="custom_scope_id" name="custom_scope_id" data-target="custom-scopes.customScopesIdField"> <div class="form-group"> <label for="custom_scope_name">Name</label> <auto-check src="/search/custom_scopes/check_name" required only-validate-on-blur="false"> <input type="text" name="custom_scope_name" id="custom_scope_name" data-target="custom-scopes.customScopesNameField" class="form-control" autocomplete="off" placeholder="github-ruby" required maxlength="50"> <input type="hidden" data-csrf="true" value="EWxOenHytb8iwJm+eQQmzVgCRzL98R1ZJ0/u2M2SQQpU+8o3uFyQ8RCDvpFUiHdpRAD+4KfRakeHf6d/e88I9Q==" /> </auto-check> </div> <div class="form-group"> <label for="custom_scope_query">Query</label> <input type="text" name="custom_scope_query" id="custom_scope_query" data-target="custom-scopes.customScopesQueryField" class="form-control" autocomplete="off" placeholder="(repo:mona/a OR repo:mona/b) AND lang:python" required maxlength="500"> </div> <p class="text-small color-fg-muted"> To see all available qualifiers, see our <a class="Link--inTextBlock" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax">documentation</a>. </p> </form> </div> <div data-target="custom-scopes.manageCustomScopesForm"> <div data-target="custom-scopes.list"></div> </div> </div> </scrollable-region> <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd Overlay-footer--divided"> <button data-action="click:custom-scopes#customScopesCancel" type="button" data-view-component="true" class="btn"> Cancel </button> <button form="custom-scopes-dialog-form" data-action="click:custom-scopes#customScopesSubmit" data-target="custom-scopes.customScopesSubmitButton" type="submit" data-view-component="true" class="btn-primary btn"> Create saved search </button> </div> </dialog></dialog-helper> </custom-scopes> </div> </qbsearch-input> <div class="position-relative HeaderMenu-link-wrap d-lg-inline-block"> <a href="/login?return_to=https%3A%2F%2Fgithub.com%2FKissMeInTheDark%2Fswitch-plugins-dbi" class="HeaderMenu-link HeaderMenu-link--sign-in HeaderMenu-button flex-shrink-0 no-underline d-none d-lg-inline-flex border border-lg-0 rounded rounded-lg-0 px-2 py-1" style="margin-left: 12px;" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/KissMeInTheDark/switch-plugins-dbi","user_id":null}}" data-hydro-click-hmac="8b6bb2b42be00fc19ca009dc9d3b265b0a26c72fd1c6414f8b0cde0c0524bf97" data-analytics-event="{"category":"Marketing nav","action":"click to go to homepage","label":"ref_page:Marketing;ref_cta:Sign in;ref_loc:Header"}" > Sign in </a> </div> <a href="/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo&source_repo=KissMeInTheDark%2Fswitch-plugins-dbi" class="HeaderMenu-link HeaderMenu-link--sign-up HeaderMenu-button flex-shrink-0 d-flex d-lg-inline-flex no-underline border color-border-default rounded px-2 py-1" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/KissMeInTheDark/switch-plugins-dbi","user_id":null}}" data-hydro-click-hmac="8b6bb2b42be00fc19ca009dc9d3b265b0a26c72fd1c6414f8b0cde0c0524bf97" data-analytics-event="{"category":"Sign up","action":"click to sign up for account","label":"ref_page:/<user-name>/<repo-name>;ref_cta:Sign up;ref_loc:header logged out"}" > Sign up </a> <button type="button" class="sr-only js-header-menu-focus-trap d-block d-lg-none">Reseting focus</button> </div> </div> </div> </div> </header> <div hidden="hidden" data-view-component="true" class="js-stale-session-flash stale-session-flash flash flash-warn flash-full"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-switched" hidden>You switched accounts on another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <button id="icon-button-3a58286f-9dbc-4d97-9a17-7361fad733d4" aria-labelledby="tooltip-230776c1-bba3-4aa5-b224-6d6e4bdad7e6" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x Button-visual"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button><tool-tip id="tooltip-230776c1-bba3-4aa5-b224-6d6e4bdad7e6" for="icon-button-3a58286f-9dbc-4d97-9a17-7361fad733d4" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Dismiss alert</tool-tip> </div> </div> <div id="start-of-content" class="show-on-focus"></div> <div id="js-flash-container" class="flash-container" data-turbo-replace> <template class="js-flash-template"> <div class="flash flash-full {{ className }}"> <div > <button autofocus class="flash-close js-flash-close" type="button" aria-label="Dismiss this message"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> <div aria-atomic="true" role="alert" class="js-flash-alert"> <div>{{ message }}</div> </div> </div> </div> </template> </div> <div class="application-main " data-commit-hovercards-enabled data-discussion-hovercards-enabled data-issue-and-pr-hovercards-enabled data-project-hovercards-enabled > <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class=""> <main id="js-repo-pjax-container" > <div id="repository-container-header" class="pt-3 hide-full-screen" style="background-color: var(--page-header-bgColor, var(--color-page-header-bg));" data-turbo-replace> <div class="d-flex flex-nowrap flex-justify-end mb-3 px-3 px-lg-5" style="gap: 1rem;"> <div class="flex-auto min-width-0 width-fit"> <div class=" d-flex flex-wrap flex-items-center wb-break-word f3 text-normal"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked color-fg-muted mr-2"> <path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path> </svg> <span class="author flex-self-stretch" itemprop="author"> <a class="url fn" rel="author" data-hovercard-type="user" data-hovercard-url="/users/KissMeInTheDark/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/KissMeInTheDark"> KissMeInTheDark </a> </span> <span class="mx-1 flex-self-stretch color-fg-muted">/</span> <strong itemprop="name" class="mr-2 flex-self-stretch"> <a data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" href="/KissMeInTheDark/switch-plugins-dbi">switch-plugins-dbi</a> </strong> <span></span><span class="Label Label--secondary v-align-middle mr-1">Public</span> </div> <span class="text-small lh-condensed-ultra no-wrap mt-1" data-repository-hovercards-enabled> forked from <a data-hovercard-type="repository" data-hovercard-url="/rashevskyv/dbi/hovercard" class="Link--inTextBlock" href="/rashevskyv/dbi">rashevskyv/dbi</a> </span> </div> <div id="repository-details-container" class="flex-shrink-0" data-turbo-replace style="max-width: 70%;"> <ul class="pagehead-actions flex-shrink-0 d-none d-md-inline" style="padding: 2px 0;"> <li> <a href="/login?return_to=%2FKissMeInTheDark%2Fswitch-plugins-dbi" rel="nofollow" id="repository-details-watch-button" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"notification subscription menu watch","repository_id":null,"auth_type":"LOG_IN","originating_url":"https://github.com/KissMeInTheDark/switch-plugins-dbi","user_id":null}}" data-hydro-click-hmac="26004e26f8c9add9c01c872fad4c205ab2c35486c7ac40ae6502f097772030ec" aria-label="You must be signed in to change notification settings" data-view-component="true" class="btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bell mr-2"> <path d="M8 16a2 2 0 0 0 1.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 0 0 8 16ZM3 5a5 5 0 0 1 10 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.519 1.519 0 0 1 13.482 13H2.518a1.516 1.516 0 0 1-1.263-2.36l1.703-2.554A.255.255 0 0 0 3 7.947Zm5-3.5A3.5 3.5 0 0 0 4.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.017.017 0 0 0-.003.01l.001.006c0 .002.002.004.004.006l.006.004.007.001h10.964l.007-.001.006-.004.004-.006.001-.007a.017.017 0 0 0-.003-.01l-1.703-2.554a1.745 1.745 0 0 1-.294-.97V5A3.5 3.5 0 0 0 8 1.5Z"></path> </svg>Notifications </a> <tool-tip id="tooltip-fed8614e-6169-40c5-9116-a299d55756ef" for="repository-details-watch-button" popover="manual" data-direction="s" data-type="description" data-view-component="true" class="sr-only position-absolute">You must be signed in to change notification settings</tool-tip> </li> <li> <a icon="repo-forked" id="fork-button" href="/login?return_to=%2FKissMeInTheDark%2Fswitch-plugins-dbi" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"repo details fork button","repository_id":881672307,"auth_type":"LOG_IN","originating_url":"https://github.com/KissMeInTheDark/switch-plugins-dbi","user_id":null}}" data-hydro-click-hmac="d4843ed634e4700932f2e6e7c7fd951105250bb7d87fc0fd6a9e4d52dc73f421" data-view-component="true" class="btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked mr-2"> <path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path> </svg>Fork <span id="repo-network-counter" data-pjax-replace="true" data-turbo-replace="true" title="0" data-view-component="true" class="Counter">0</span> </a> </li> <li> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2FKissMeInTheDark%2Fswitch-plugins-dbi" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"star button","repository_id":881672307,"auth_type":"LOG_IN","originating_url":"https://github.com/KissMeInTheDark/switch-plugins-dbi","user_id":null}}" data-hydro-click-hmac="7087a98dddd3dc26640c3d91bd1bd4b6f3433fced1cf51e50eaf788f342657a0" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="0 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="0" data-view-component="true" class="Counter js-social-count">0</span> </a></div> </li> </ul> </div> </div> <div id="responsive-meta-container" data-turbo-replace> <div class="d-block d-md-none mb-2 px-3 px-md-4 px-lg-5"> <p class="f4 mb-3 "> Author is duckbill </p> <div class="mb-3"> <a class="Link--secondary no-underline mr-3" href="/KissMeInTheDark/switch-plugins-dbi/stargazers"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star mr-1"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg> <span class="text-bold">0</span> stars </a> <a class="Link--secondary no-underline mr-3" href="/KissMeInTheDark/switch-plugins-dbi/forks"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked mr-1"> <path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path> </svg> <span class="text-bold">93</span> forks </a> <a class="Link--secondary no-underline mr-3 d-inline-block" href="/KissMeInTheDark/switch-plugins-dbi/branches"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-branch mr-1"> <path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path> </svg> <span>Branches</span> </a> <a class="Link--secondary no-underline d-inline-block" href="/KissMeInTheDark/switch-plugins-dbi/tags"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-tag mr-1"> <path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"></path> </svg> <span>Tags</span> </a> <a class="Link--secondary no-underline d-inline-block" href="/KissMeInTheDark/switch-plugins-dbi/activity"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pulse mr-1"> <path d="M6 2c.306 0 .582.187.696.471L10 10.731l1.304-3.26A.751.751 0 0 1 12 7h3.25a.75.75 0 0 1 0 1.5h-2.742l-1.812 4.528a.751.751 0 0 1-1.392 0L6 4.77 4.696 8.03A.75.75 0 0 1 4 8.5H.75a.75.75 0 0 1 0-1.5h2.742l1.812-4.529A.751.751 0 0 1 6 2Z"></path> </svg> <span>Activity</span> </a> </div> <div class="d-flex flex-wrap gap-2"> <div class="flex-1"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2FKissMeInTheDark%2Fswitch-plugins-dbi" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"star button","repository_id":881672307,"auth_type":"LOG_IN","originating_url":"https://github.com/KissMeInTheDark/switch-plugins-dbi","user_id":null}}" data-hydro-click-hmac="7087a98dddd3dc26640c3d91bd1bd4b6f3433fced1cf51e50eaf788f342657a0" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn btn-block"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> </a></div> </div> <div class="flex-1"> <a href="/login?return_to=%2FKissMeInTheDark%2Fswitch-plugins-dbi" rel="nofollow" id="files-overview-watch-button" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"notification subscription menu watch","repository_id":null,"auth_type":"LOG_IN","originating_url":"https://github.com/KissMeInTheDark/switch-plugins-dbi","user_id":null}}" data-hydro-click-hmac="26004e26f8c9add9c01c872fad4c205ab2c35486c7ac40ae6502f097772030ec" aria-label="You must be signed in to change notification settings" data-view-component="true" class="btn-sm btn btn-block"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bell mr-2"> <path d="M8 16a2 2 0 0 0 1.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 0 0 8 16ZM3 5a5 5 0 0 1 10 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.519 1.519 0 0 1 13.482 13H2.518a1.516 1.516 0 0 1-1.263-2.36l1.703-2.554A.255.255 0 0 0 3 7.947Zm5-3.5A3.5 3.5 0 0 0 4.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.017.017 0 0 0-.003.01l.001.006c0 .002.002.004.004.006l.006.004.007.001h10.964l.007-.001.006-.004.004-.006.001-.007a.017.017 0 0 0-.003-.01l-1.703-2.554a1.745 1.745 0 0 1-.294-.97V5A3.5 3.5 0 0 0 8 1.5Z"></path> </svg>Notifications </a> <tool-tip id="tooltip-8e723e55-5825-47c5-bf9a-328904131f20" for="files-overview-watch-button" popover="manual" data-direction="s" data-type="description" data-view-component="true" class="sr-only position-absolute">You must be signed in to change notification settings</tool-tip> </div> <span> </span> </div> </div> </div> <nav data-pjax="#js-repo-pjax-container" aria-label="Repository" data-view-component="true" class="js-repo-nav js-sidenav-container-pjax js-responsive-underlinenav overflow-hidden UnderlineNav px-3 px-md-4 px-lg-5"> <ul data-view-component="true" class="UnderlineNav-body list-style-none"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab" href="/KissMeInTheDark/switch-plugins-dbi" data-tab-item="i0code-tab" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages repo_deployments repo_attestations /KissMeInTheDark/switch-plugins-dbi" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g c" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Code","target":"UNDERLINE_NAV.TAB"}" aria-current="page" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item selected"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code UnderlineNav-octicon d-none d-sm-inline"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> <span data-content="Code">Code</span> <span id="code-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab" href="/KissMeInTheDark/switch-plugins-dbi/pulls" data-tab-item="i1pull-requests-tab" data-selected-links="repo_pulls checks /KissMeInTheDark/switch-plugins-dbi/pulls" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g p" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Pull requests","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request UnderlineNav-octicon d-none d-sm-inline"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> <span data-content="Pull requests">Pull requests</span> <span id="pull-requests-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="actions-tab" href="/KissMeInTheDark/switch-plugins-dbi/actions" data-tab-item="i2actions-tab" data-selected-links="repo_actions /KissMeInTheDark/switch-plugins-dbi/actions" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g a" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Actions","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play UnderlineNav-octicon d-none d-sm-inline"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> <span data-content="Actions">Actions</span> <span id="actions-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="projects-tab" href="/KissMeInTheDark/switch-plugins-dbi/projects" data-tab-item="i3projects-tab" data-selected-links="repo_projects new_repo_project repo_project /KissMeInTheDark/switch-plugins-dbi/projects" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g b" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Projects","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table UnderlineNav-octicon d-none d-sm-inline"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path> </svg> <span data-content="Projects">Projects</span> <span id="projects-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="security-tab" href="/KissMeInTheDark/switch-plugins-dbi/security" data-tab-item="i4security-tab" data-selected-links="security overview alerts policy token_scanning code_scanning /KissMeInTheDark/switch-plugins-dbi/security" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g s" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Security","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield UnderlineNav-octicon d-none d-sm-inline"> <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <span data-content="Security">Security</span> <include-fragment src="/KissMeInTheDark/switch-plugins-dbi/security/overall-count" accept="text/fragment+html"></include-fragment> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="insights-tab" href="/KissMeInTheDark/switch-plugins-dbi/pulse" data-tab-item="i5insights-tab" data-selected-links="repo_graphs repo_contributors dependency_graph dependabot_updates pulse people community /KissMeInTheDark/switch-plugins-dbi/pulse" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Insights","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph UnderlineNav-octicon d-none d-sm-inline"> <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> <span data-content="Insights">Insights</span> <span id="insights-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> </ul> <div style="visibility:hidden;" data-view-component="true" class="UnderlineNav-actions js-responsive-underlinenav-overflow position-absolute pr-3 pr-md-4 pr-lg-5 right-0"> <action-menu data-select-variant="none" data-view-component="true"> <focus-group direction="vertical" mnemonics retain> <button id="action-menu-d7cf6a90-df00-41b0-a8c6-38af9a41dbef-button" popovertarget="action-menu-d7cf6a90-df00-41b0-a8c6-38af9a41dbef-overlay" aria-controls="action-menu-d7cf6a90-df00-41b0-a8c6-38af9a41dbef-list" aria-haspopup="true" aria-labelledby="tooltip-7c3cc8ff-9004-42d6-8360-07bddce792d6" type="button" data-view-component="true" class="Button Button--iconOnly Button--secondary Button--medium UnderlineNav-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal Button-visual"> <path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path> </svg> </button><tool-tip id="tooltip-7c3cc8ff-9004-42d6-8360-07bddce792d6" for="action-menu-d7cf6a90-df00-41b0-a8c6-38af9a41dbef-button" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Additional navigation options</tool-tip> <anchored-position data-target="action-menu.overlay" id="action-menu-d7cf6a90-df00-41b0-a8c6-38af9a41dbef-overlay" anchor="action-menu-d7cf6a90-df00-41b0-a8c6-38af9a41dbef-button" align="start" side="outside-bottom" anchor-offset="normal" popover="auto" data-view-component="true"> <div data-view-component="true" class="Overlay Overlay--size-auto"> <div data-view-component="true" class="Overlay-body Overlay-body--paddingNone"> <action-list> <div data-view-component="true"> <ul aria-labelledby="action-menu-d7cf6a90-df00-41b0-a8c6-38af9a41dbef-button" id="action-menu-d7cf6a90-df00-41b0-a8c6-38af9a41dbef-list" role="menu" data-view-component="true" class="ActionListWrap--inset ActionListWrap"> <li hidden="hidden" data-menu-item="i0code-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-7594ebbb-7529-4a78-b7ee-0b0dfa6aab75" href="/KissMeInTheDark/switch-plugins-dbi" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Code </span> </a> </li> <li hidden="hidden" data-menu-item="i1pull-requests-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-af07f2f1-d091-43b4-a440-e208b6640bb6" href="/KissMeInTheDark/switch-plugins-dbi/pulls" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Pull requests </span> </a> </li> <li hidden="hidden" data-menu-item="i2actions-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-4d7956b9-8600-4d8c-a7d5-083fd9712c9c" href="/KissMeInTheDark/switch-plugins-dbi/actions" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Actions </span> </a> </li> <li hidden="hidden" data-menu-item="i3projects-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-f77cd6f1-e0da-48af-a622-c8a792accf53" href="/KissMeInTheDark/switch-plugins-dbi/projects" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Projects </span> </a> </li> <li hidden="hidden" data-menu-item="i4security-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-51f9f2cb-bdea-439b-b729-d137248c079f" href="/KissMeInTheDark/switch-plugins-dbi/security" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield"> <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Security </span> </a> </li> <li hidden="hidden" data-menu-item="i5insights-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-3e89a499-a70a-4e67-88f9-81da505daf59" href="/KissMeInTheDark/switch-plugins-dbi/pulse" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph"> <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Insights </span> </a> </li> </ul> </div></action-list> </div> </div></anchored-position> </focus-group> </action-menu></div> </nav> </div> <turbo-frame id="repo-content-turbo-frame" target="_top" data-turbo-action="advance" class=""> <div id="repo-content-pjax-container" class="repository-content " > <h1 class='sr-only'>KissMeInTheDark/switch-plugins-dbi</h1> <div class="clearfix container-xl px-md-4 px-lg-5 px-3"> <div> <div style="max-width: 100%" data-view-component="true" class="Layout Layout--flowRow-until-md react-repos-overview-margin Layout--sidebarPosition-end Layout--sidebarPosition-flowRow-end"> <div data-view-component="true" class="Layout-main"> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_dompurify_dist_purify_js-b89b98661809.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_tanstack_query-core_build_modern_queryObserver_js-node_modules_tanstack_-defd52-843b41414e0e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_hydro-analytics-client_dist_analytics-client_js-node_modules_gith-853b24-f2006d2a5b98.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_aria-live_aria-live_ts-ui_packages_promise-with-resolvers-polyfill_promise-with-r-17c672-d6b5ea82572a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_paths_index_ts-73c512ff3577.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_ref-selector_RefSelector_tsx-2cce17df147b.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_code-view-shared_hooks_use-canonical-object_ts-ui_packages_code-view-shared_hooks-a6859a-09c7f754ea79.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/repos-overview-d88ea0b31285.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.f5cae0c610a2c4c470c2.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/repos-overview.32a87dc4587d56dcf1eb.module.css" /> <react-partial partial-name="repos-overview" data-ssr="true" data-attempted-ssr="true" > <script type="application/json" data-target="react-partial.embeddedData">{"props":{"initialPayload":{"allShortcutsEnabled":false,"path":"/","repo":{"id":881672307,"defaultBranch":"main","name":"switch-plugins-dbi","ownerLogin":"KissMeInTheDark","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2024-11-01T02:15:41.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/19258433?v=4","public":true,"private":false,"isOrgOwned":false},"currentUser":null,"refInfo":{"name":"main","listCacheKey":"v0:1730427348.244475","canEdit":false,"refType":"branch","currentOid":"197870fa836a1ace97dc1e5f1afeaa01365c194c"},"tree":{"items":[{"name":"README.md","path":"README.md","contentType":"file"},{"name":"README_ENG.md","path":"README_ENG.md","contentType":"file"},{"name":"dbi.config","path":"dbi.config","contentType":"file"},{"name":"dbibackend","path":"dbibackend","contentType":"file"}],"templateDirectorySuggestionUrl":null,"readme":null,"totalCount":4,"showBranchInfobar":true},"fileTree":null,"fileTreeProcessingTime":null,"foldersToFetch":[],"treeExpanded":false,"symbolsExpanded":false,"isOverview":true,"overview":{"banners":{"shouldRecommendReadme":false,"isPersonalRepo":false,"showUseActionBanner":false,"actionSlug":null,"actionId":null,"showProtectBranchBanner":false,"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_repo","releasePath":"/KissMeInTheDark/switch-plugins-dbi/releases/new?marketplace=true","showPublishActionBanner":false},"interactionLimitBanner":null,"showInvitationBanner":false,"inviterName":null,"actionsMigrationBannerInfo":{"releaseTags":[],"showImmutableActionsMigrationBanner":false,"initialMigrationStatus":null}},"codeButton":{"contactPath":"/contact","isEnterprise":false,"local":{"protocolInfo":{"httpAvailable":true,"sshAvailable":null,"httpUrl":"https://github.com/KissMeInTheDark/switch-plugins-dbi.git","showCloneWarning":null,"sshUrl":null,"sshCertificatesRequired":null,"sshCertificatesAvailable":null,"ghCliUrl":"gh repo clone KissMeInTheDark/switch-plugins-dbi","defaultProtocol":"http","newSshKeyUrl":"/settings/ssh/new","setProtocolPath":"/users/set_protocol"},"platformInfo":{"cloneUrl":"https://desktop.github.com","showVisualStudioCloneButton":false,"visualStudioCloneUrl":"https://windows.github.com","showXcodeCloneButton":false,"xcodeCloneUrl":"xcode://clone?repo=https%3A%2F%2Fgithub.com%2FKissMeInTheDark%2Fswitch-plugins-dbi","zipballUrl":"/KissMeInTheDark/switch-plugins-dbi/archive/refs/heads/main.zip"}},"newCodespacePath":"/codespaces/new?hide_repo_select=true\u0026repo=881672307"},"popovers":{"rename":null,"renamedParentRepo":null},"commitCount":"87","overviewFiles":[{"displayName":"README.md","repoName":"switch-plugins-dbi","refName":"main","path":"README.md","preferredFileType":"readme","tabName":"README","richText":"\u003carticle class=\"markdown-body entry-content container-lg\" itemprop=\"text\"\u003e\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eDBI\u003c/h1\u003e\u003ca id=\"user-content-dbi\" class=\"anchor\" aria-label=\"Permalink: DBI\" href=\"#dbi\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/57fa189b285648cac14e56799c5de499adfd236e6f36a2addc1799493e0f7efa/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f646f776e6c6f6164732f726173686576736b79762f6462692f746f74616c2e737667\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/57fa189b285648cac14e56799c5de499adfd236e6f36a2addc1799493e0f7efa/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f646f776e6c6f6164732f726173686576736b79762f6462692f746f74616c2e737667\" alt=\"Github latest downloads\" data-canonical-src=\"https://img.shields.io/github/downloads/rashevskyv/dbi/total.svg\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003ca href=\"/KissMeInTheDark/switch-plugins-dbi/blob/main/README_ENG.md\"\u003eENGLISH GUIDE\u003c/a\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eИнструкция базируется на \u003ca href=\"https://4pda.to/forum/index.php?showtopic=939714\u0026amp;st=1100#Spoil-86288632-5\" rel=\"nofollow\"\u003eработе Брикачу\u003c/a\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eУльтимативное решение для установки \u003ccode\u003eNSP\u003c/code\u003e, \u003ccode\u003eNSZ\u003c/code\u003e, \u003ccode\u003eXCI\u003c/code\u003e и \u003ccode\u003eXCZ\u003c/code\u003e и работы с Nintendo Switch. Поддержка установки по MTP, USB, http (с вашего личного сервера), внешнего USB и многое другое. Поддержка просмотра картинок в формате \u003ccode\u003ejpg\u003c/code\u003e, \u003ccode\u003epng\u003c/code\u003e и \u003ccode\u003epsd\u003c/code\u003e. Поддержка работы с архивами \u003ccode\u003ezip\u003c/code\u003e и \u003ccode\u003erar\u003c/code\u003e, а так же с контейнерами \u003ccode\u003ecbr\u003c/code\u003e/\u003ccode\u003ecbz\u003c/code\u003e. Поддержка текстовых файлов, просмотр в режиме обычного текста и в режиме hex-просмотра. Может быть использован в качестве файлового менеджера (копирование, перемещение, удаление файлов и папок, создание папок). Работа с сохранениями (в том числе резервное копирование и восстановление) и многое другое.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eСодержание:\u003c/h2\u003e\u003ca id=\"user-content-содержание\" class=\"anchor\" aria-label=\"Permalink: Содержание:\" href=\"#содержание\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003col dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0\"\u003eУстановка\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5\"\u003eИспользование\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81\"\u003eИнтерфейс\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5\"\u003eУправление\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#browse-sd-card--%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80-sd-%D0%BA%D0%B0%D1%80%D1%82%D1%8B-%D0%B8-browse-usb0-drive--%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80-usb0-%D0%B4%D0%B8%D1%81%D0%BA%D0%B0\"\u003eBrowse SD Card / Просмотр SD карты и Browse USB0 Drive / Просмотр USB0 диска\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#install-title-from-dbibackend--%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-dbibackend\"\u003eInstall title from DBIbackend / Установка через DBIbackend\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#home-server--%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BA-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D1%83\"\u003eHome server / Подключение к серверу\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#browse-installed-applications--%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D1%85-%D0%B8%D0%B3%D1%80\"\u003eBrowse installed applications / Просмотр установленных игр\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"#%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE%D0%B5-%D0%BC%D0%B5%D0%BD%D1%8E-%D1%82%D0%B0%D0%B9%D1%82%D0%BB%D0%B0\"\u003eКонтекстное меню тайтла\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#%D0%B4%D0%B5%D1%82%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5-%D0%BC%D0%B5%D0%BD%D1%8E-%D0%B8%D0%B3%D1%80%D1%8B\"\u003eДетальное меню игры\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#content-records--%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BD%D1%82\"\u003eContent records / Контент\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#tickets--%D1%82%D0%B8%D0%BA%D0%B5%D1%82%D1%8B\"\u003eTickets / Тикеты\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#saves--%D1%81%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F\"\u003eSaves / Сохранения\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE%D0%B5-%D0%BC%D0%B5%D0%BD%D1%8E-%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D0%B8\"\u003eКонтекстное меню записи\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#browse-tickets--%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80-%D1%82%D0%B8%D0%BA%D0%B5%D1%82%D0%BE%D0%B2\"\u003eBrowse tickets / Просмотр тикетов\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"#%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE%D0%B5-%D0%BC%D0%B5%D0%BD%D1%8E-%D1%82%D0%B8%D0%BA%D0%B5%D1%82%D0%BE%D0%B2\"\u003eКонтекстное меню тикетов\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#tools--%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B\"\u003eTools / Инструменты\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#browse-saves--%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80-%D1%81%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D0%B9\"\u003eBrowse saves / Просмотр сохранений\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"#%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE%D0%B5-%D0%BC%D0%B5%D0%BD%D1%8E-installed--%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B8-uninstalled--%D1%83%D0%B4%D0%B0%D0%BB%D1%91%D0%BD%D0%BD%D1%8B%D0%B5\"\u003eКонтекстное меню Installed / Установленные и Uninstalled / Удалённые\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE%D0%B5-%D0%BC%D0%B5%D0%BD%D1%8E-backups--%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D1%8B\"\u003eКонтекстное меню Backups / Бекапы\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#run-mtp-responder--%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D1%82%D0%B8%D1%82%D1%8C-mtp-%D1%81%D0%BE%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5\"\u003eRun MTP responder / Запустить MTP соединение\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#activity-log--%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8-%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D1%81%D1%82%D0%B8\"\u003eActivity Log / Настройки активности\u003c/a\u003e\n* \u003ca href=\"#applications--%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%B0%D0%B2%D1%88%D0%B8%D0%B5%D1%81%D1%8F-%D0%B8%D0%B3%D1%80%D1%8B\"\u003eApplications / Запускавшиеся игры\u003c/a\u003e\n* \u003ca href=\"#activity--%D0%B4%D0%B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0-%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D1%81%D1%82%D0%B8\"\u003eActivity / Диаграмма активности\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#configuration--%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8-dbi-%D0%B8-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B-%D1%84%D0%B0%D0%B9%D0%BB%D0%B0-dbiconfig\"\u003eConfiguration / Настройки DBI и параметры файла dbi.config\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"#general--%D0%BE%D0%B1%D1%89%D0%B8%D0%B5-general\"\u003eGeneral / Общие (\u003ccode\u003e[General]\u003c/code\u003e)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#main-menu--%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%BE%D0%B5-%D0%BC%D0%B5%D0%BD%D1%8E-mainmenu\"\u003eMain menu / Главное меню (\u003ccode\u003e[MainMenu]\u003c/code\u003e)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#applications--%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B8%D0%B3%D1%80%D1%8B-applications\"\u003eApplications / Установленные игры (\u003ccode\u003e[Applications]\u003c/code\u003e)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#install-options--%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B8-install\"\u003eInstall options / Параметры установки (\u003ccode\u003e[Install]\u003c/code\u003e)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#mtp-options--%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B-mtp-mtp\"\u003eMTP options / Параметры MTP (\u003ccode\u003e[MTP]\u003c/code\u003e)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#mtp-storages--%D1%85%D1%80%D0%B0%D0%BD%D0%B8%D0%BB%D0%B8%D1%89%D0%B0-mtp-mtp-storages\"\u003eMTP storages / Хранилища MTP (\u003ccode\u003e[MTP Storages]\u003c/code\u003e)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#mtp-options--%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B-mtp-mtp\"\u003eFTP options / Параметры FTP (\u003ccode\u003e[FTP]\u003c/code\u003e)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#access-point--%D1%82%D0%BE%D1%87%D0%BA%D0%B0-%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0-access-point\"\u003eAccess point / Точка доступа (\u003ccode\u003e[Access point]\u003c/code\u003e)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#%D0%B5%D1%81%D1%82%D1%8C-%D0%B2-%D0%BA%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D0%B5-%D0%BD%D0%BE-%D0%BD%D0%B5%D1%82-%D0%B2-%D0%BC%D0%B5%D0%BD%D1%8E\"\u003eЕсть в конфиге, но нет в меню\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#network-sources\"\u003eNetwork sources\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#local-sources\"\u003eLocal sources\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#mtp-custom-storages\"\u003eMTP custom storages\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#title-name-override\"\u003eTitle name override\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#exit--%D0%B2%D1%8B%D1%85%D0%BE%D0%B4\"\u003eExit / Выход\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#%D1%83%D0%B2%D0%B5%D0%B4%D0%BE%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F-%D0%B8-%D0%BA%D0%BE%D0%B4%D1%8B-%D0%BE%D1%88%D0%B8%D0%B1%D0%BE%D0%BA\"\u003eУведомления и коды ошибок\u003c/a\u003e\n\u003col dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"#%D1%83%D0%B2%D0%B5%D0%B4%D0%BE%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F\"\u003eУведомления\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8\"\u003eОшибки\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#%D1%86%D0%B2%D0%B5%D1%82%D0%BE%D0%B2%D1%8B%D0%B5-%D0%BA%D0%BE%D0%B4%D1%8B\"\u003eЦветовые кода\u003c/a\u003e\u003c/li\u003e\n\u003c/ol\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#dbiconfig\"\u003edbi.config\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#%D0%B4%D1%80%D1%83%D0%B3%D0%B8%D0%B5-%D0%B2%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D0%B8\"\u003eДругие возможности\u003c/a\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"#%D0%BC%D0%BE%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D1%81%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B8%D0%BC%D0%BE%D0%B3%D0%BE-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D1%85-%D0%B8%D0%B3%D1%80-%D0%BF%D0%BE-mtp\"\u003eМонтирование содержимого установленных игр по MTP\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF-%D0%B8-%D0%B2%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D1%81%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D0%B9-%D0%BF%D0%BE-mtp\"\u003eБекап и восстановление сохранений по MTP\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-dbi-%D0%B4%D0%BB%D1%8F-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B8-%D0%BC%D0%BE%D0%B4%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B9\"\u003eИспользование DBI для установки модификаций\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#usb-30\"\u003eUSB 3.0\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#%D0%B2%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%B0-%D1%87%D0%B8%D1%81%D1%82%D1%8B%D1%85-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B8%D1%85-%D1%81%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D0%B9\"\u003eВосстановление бекапа чистых пользовательских сохранений\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%BA%D0%B0%D1%80%D1%82%D0%B8%D0%BD%D0%BA%D0%B8-%D0%B2-%D0%BA%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B5-%D0%B0%D0%B2%D0%B0%D1%82%D0%B0%D1%80%D0%B0\"\u003eУстановка картинки в качестве аватара\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B8-%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80-%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2\"\u003eРедактирование и просмотр файлов\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#%D0%B1%D0%BB%D0%B0%D0%B3%D0%BE%D0%B4%D0%B0%D1%80%D0%BD%D0%BE%D1%81%D1%82%D0%B8\"\u003eБлагодарности\u003c/a\u003e\u003c/li\u003e\n\u003c/ol\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eУстановка\u003c/h2\u003e\u003ca id=\"user-content-установка\" class=\"anchor\" aria-label=\"Permalink: Установка\" href=\"#установка\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eПоместите \u003ccode\u003edbi.nro\u003c/code\u003e и \u003ccode\u003edbi.config\u003c/code\u003e в папку \u003ccode\u003esdmc:/switch/DBI/\u003c/code\u003e на вашей каре памяти. Запускайте из режима апплета с помощью Homebrew Launcher (через альбомы)\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003cem\u003eВ режиме апплета программа запускается с синим фоном. В режиме тайла - с чёрным\u003c/em\u003e\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eИспользование\u003c/h2\u003e\u003ca id=\"user-content-использование\" class=\"anchor\" aria-label=\"Permalink: Использование\" href=\"#использование\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eИнтерфейс\u003c/h3\u003e\u003ca id=\"user-content-интерфейс\" class=\"anchor\" aria-label=\"Permalink: Интерфейс\" href=\"#интерфейс\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://user-images.githubusercontent.com/18294541/114262830-d7643e00-99ea-11eb-8dbb-c8e0996577e5.jpg\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/18294541/114262830-d7643e00-99ea-11eb-8dbb-c8e0996577e5.jpg\" alt=\"2021041010520200\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eBrowse SD Card\u003c/strong\u003e / \u003cstrong\u003eПросмотр SD карты\u003c/strong\u003e — установка \u003ccode\u003eNSP\u003c/code\u003e/\u003ccode\u003eNSZ\u003c/code\u003e/\u003ccode\u003eXCI\u003c/code\u003e/\u003ccode\u003eXCZ\u003c/code\u003e-файлов из карты памяти.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBrowse USB0 Drive\u003c/strong\u003e / \u003cstrong\u003eПросмотр USB0 диска\u003c/strong\u003e — установка \u003ccode\u003eNSP\u003c/code\u003e/\u003ccode\u003eNSZ\u003c/code\u003e/\u003ccode\u003eXCI\u003c/code\u003e/\u003ccode\u003eXCZ\u003c/code\u003e-файлов с внешнего USB-накопителя в exFAT/FAT32: флешки, жёсткого диска, проч.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eInstall title from DBIbackend\u003c/strong\u003e / \u003cstrong\u003eУстановка через DBIbackend\u003c/strong\u003e — установка \u003ccode\u003eNSP\u003c/code\u003e/\u003ccode\u003eNSZ\u003c/code\u003e/\u003ccode\u003eXCI\u003c/code\u003e/\u003ccode\u003eXCZ\u003c/code\u003e из ПК по USB 2.0 и 3.0-проводу, через прилагаемую программу dbibackend. \u003cem\u003eГорячая клавиша для этой опции\u003c/em\u003e: кнопка \u003cstrong\u003e(Y)\u003c/strong\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eInstall title from Gamecard\u003c/strong\u003e / \u003cstrong\u003eУстановка с картриджа\u003c/strong\u003e — этот пункт появляется при вставленном в Switch игровом картридже, — для установки игры из имеющегося игрового картриджа в SD-карту или внутреннюю NAND-память консоли.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHome server\u003c/strong\u003e / \u003cstrong\u003eПодключение к серверу\u003c/strong\u003e — начиная с версии v150, есть возможность устанавливать игры по сети (HTTP), через WiFi без провода или LAN-USB-адаптер. Подробнее об этом ниже\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBrowse installed applications\u003c/strong\u003e / \u003cstrong\u003eПросмотр установленных игр\u003c/strong\u003e — просмотр установленных игр, их общее установленное количество, посмотреть потраченное время на игру и количество её запусков, проверить (верифицировать) на ошибки, перенести игровые данные между встроенной памятью, картой памяти и обратно, возможность их выборочного или потокового удаления вместе с прилагаемыми LayeredFS-модами, просмотр наличия у них обновлений и DLC, ручное удаление DLC/обновлений/LaryeredFS (LFS) мода, функция Reset Required version для сброса системной проверки обновления у выбранной игры. \u003cem\u003eГорячая клавиша для этой опции\u003c/em\u003e: кнопка \u003cstrong\u003e(L)\u003c/strong\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCleanup orphaned files\u003c/strong\u003e / \u003cstrong\u003eОчистка потерянных файлов\u003c/strong\u003e — автоматическая чистка ненужных удалённых файлов игр, если они есть\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBrowse tickets\u003c/strong\u003e / \u003cstrong\u003eПросмотр тикетов\u003c/strong\u003e — просмотр и ручное удаление системных тикетов игр.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBrowse saves\u003c/strong\u003e / \u003cstrong\u003eПросмотр сохранений\u003c/strong\u003e - просмотр и удаление сохранений\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRun MTP responder\u003c/strong\u003e / \u003cstrong\u003eЗапустить MTP соединение\u003c/strong\u003e — включение внутреннего MTP-сервера для присоединения Switch к ПК или к Android-устройству (телефон/планшет/пр., протестированы Pixel 3, Xiaomi Mi A1, Lenovo Tab 4 7\" TB-7304X), можно: просматривать и работать с картой памяти (1: SD Card) и внутренней память консоли, просматривать установленные игры (4: Installed games), сделать бекап игровых сохранений на ПК (7: Saves), при вставленном игровом картридже дампить его (full/trimmed/сертификат) на ПК/Android (9: Gamecard). \u003cem\u003eГорячая клавиша для этой опции\u003c/em\u003e: кнопка (X).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRun FTP server\u003c/strong\u003e / \u003cstrong\u003eЗапустить FTP сервер\u003c/strong\u003e - включает FTP-сервер DBI для доступа к файлам SD через порт 5000 или установку файлов через порт 6000\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eExit\u003c/strong\u003e / \u003cstrong\u003eВыход\u003c/strong\u003e — выход из программы. \u003cem\u003eГорячая клавиша для этой опции\u003c/em\u003e: кнопка \u003cstrong\u003e(+)\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003eВ самом левом нижнем углу (SD) написано про занятый размер данных на карте/общий размер карты. В правом нижнем углу (NAND) написан занятый размер данных во встроенной памяти Switch/общий встроенной памяти Switch.\nВнизу по центру (dbi: XXX) написан номер версии dbi — старайтесь всегда использовать самую последнюю версию программы\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eУправление\u003c/h3\u003e\u003ca id=\"user-content-управление\" class=\"anchor\" aria-label=\"Permalink: Управление\" href=\"#управление\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003e(А)\u003c/strong\u003e - выбор, подтверждение\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e(B)\u003c/strong\u003e - отмена. \u003cstrong\u003eНа главном экране\u003c/strong\u003e - выход из программы\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e(X)\u003c/strong\u003e - выделение файла. \u003cstrong\u003eНа главном экране\u003c/strong\u003e - горячая клавиша для монтирования MTP (пункт меню \"\u003ca href=\"#run-mtp-responder--%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D1%82%D0%B8%D1%82%D1%8C-mtp-%D1%81%D0%BE%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5\"\u003eRun MTP responder / Запустить MTP соединение\u003c/a\u003e\")\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e(Y)\u003c/strong\u003e - инвертировать выделение, выделить всё, если ничего не выделено. \u003cstrong\u003eНа главном экране\u003c/strong\u003e - установка по USB с помощью dbibackend (пункт меню \"\u003ca href=\"#install-title-from-dbibackend--%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-dbibackend\"\u003eInstall title from DBIbackend / Установка через DBIbackend\u003c/a\u003e\")\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e(ZL)\u003c/strong\u003e, \u003cstrong\u003e(ZR)\u003c/strong\u003e - быстрое перемещение по меню\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e(L)\u003c/strong\u003e \u003cstrong\u003eна главном экране\u003c/strong\u003e - перейти в меню \"\u003ca href=\"#browse-installed-applications--%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D1%85-%D0%B8%D0%B3%D1%80\"\u003eBrowse installed applications / Просмотр установленных игр\u003c/a\u003e\"\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e(R)\u003c/strong\u003e - изменить порядок отображения файлов/тайтлов\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e(L3)\u003c/strong\u003e - запустить игру из списка установленных игр\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e(+)\u003c/strong\u003e на правом джойконе - контекстное меню, которое позволяет производить контекстные операции, как-то удаление, сброс требуемой версии прошивки, монтирование по MTP и др.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e(-)\u003c/strong\u003e на левом джойконе при установке приложений отключает/включает экран\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBrowse SD Card / Просмотр SD карты и Browse USB0 Drive / Просмотр USB0 диска\u003c/h3\u003e\u003ca id=\"user-content-browse-sd-card--просмотр-sd-карты-и-browse-usb0-drive--просмотр-usb0-диска\" class=\"anchor\" aria-label=\"Permalink: Browse SD Card / Просмотр SD карты и Browse USB0 Drive / Просмотр USB0 диска\" href=\"#browse-sd-card--просмотр-sd-карты-и-browse-usb0-drive--просмотр-usb0-диска\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eВыберите этот пункт, если хотите установить игры/обновления/DLC из уже имеющихся файлов на карте памяти/внешнем USB.\nКнопка \u003cstrong\u003e(A)\u003c/strong\u003e открывает папку, кнопка \u003cstrong\u003e(B)\u003c/strong\u003e возвращает назад, после открытия папки с файлами для установки, кнопкой \u003cstrong\u003e(X)\u003c/strong\u003e можно выделить только необходимые файлы, кнопокй \u003cstrong\u003e(Y)\u003c/strong\u003e инвертировать выбор. При этом цвет названия выделенных файлов изменится с белого на светло-синий.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eПосле этого нажмите кнопку \u003cstrong\u003e(А)\u003c/strong\u003e для подтверждения. Возникнет окно с опциями установки:\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://user-images.githubusercontent.com/18294541/114264183-18138580-99f2-11eb-8c7b-536b4b831195.jpg\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/18294541/114264183-18138580-99f2-11eb-8c7b-536b4b831195.jpg\" alt=\"2021041011441100\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eTotal transfer size\u003c/strong\u003e / \u003cstrong\u003eОбщий размер передачи\u003c/strong\u003e — объём установочных дистрибутивов (файлов \u003ccode\u003eNSP\u003c/code\u003e/\u003ccode\u003eNSZ\u003c/code\u003e/\u003ccode\u003eXCI\u003c/code\u003e/\u003ccode\u003eXCZ\u003c/code\u003e), выбранных и готовых к установке.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTotal install size\u003c/strong\u003e / \u003cstrong\u003eОбщий размер установки\u003c/strong\u003e — объём свободного пространства, которое необходимо для установки выбранных файлов.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eInstall target\u003c/strong\u003e / \u003cstrong\u003eМесто установки\u003c/strong\u003e — локация установки данных: \u003cstrong\u003eNAND\u003c/strong\u003e — внутренняя память консоли Nintendo Switch, \u003cstrong\u003eSD\u003c/strong\u003e — карта памяти SD, \u003cstrong\u003eAUTO\u003c/strong\u003e — опция по-умолчанию для установки всегда на карту памяти SD, но если на ней будет недостаточно места, данные установятся во внутреннюю память.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDelete after install\u003c/strong\u003e / \u003cstrong\u003eУдалять после установки\u003c/strong\u003e — это опция удаления установочных дистрибутивов (файлов \u003ccode\u003eNSP\u003c/code\u003e/\u003ccode\u003eNSZ\u003c/code\u003e/\u003ccode\u003eXCI\u003c/code\u003e/\u003ccode\u003eXCZ\u003c/code\u003e) с карты после их успешной установки; чтобы она работала, с файлов должен быть снят атрибут «Только чтение». По-умолчанию файлы не удаляются. Опция видна только при установке с карты памяти/внешнего USB\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTurn off screen\u003c/strong\u003e / \u003cstrong\u003eВыключать экран\u003c/strong\u003e — возможность выключить экран на время установки для экономия электроэнергии аккумулятора, сразу после успешной установки экран автоматически включится. Эта опция работает только в портативном режиме.\u003c/li\u003e\n\u003cli\u003eНажмите \u003cstrong\u003eStart install\u003c/strong\u003e / \u003cstrong\u003eНачать установку\u003c/strong\u003e, чтобы начать установку. После успешной установки, появится статистика установки и надпись \u003cem\u003eInstallation Complete. Press B to return\u003c/em\u003e / \u003cem\u003eУстановка завершена. Чтобы вернуться нажмите В\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003eВ программе имеется встроенная автоматическая функция удаления старых апдейтов при установке нового обновления к игре, поэтому за лишнее занимаемое место ими можно не беспокоиться.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eВы можете запускать \u003ccode\u003e.NRO\u003c/code\u003e-файлы кнопкой \u003cstrong\u003e(A)\u003c/strong\u003e\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eInstall title from DBIbackend / Установка через DBIbackend\u003c/h3\u003e\u003ca id=\"user-content-install-title-from-dbibackend--установка-через-dbibackend\" class=\"anchor\" aria-label=\"Permalink: Install title from DBIbackend / Установка через DBIbackend\" href=\"#install-title-from-dbibackend--установка-через-dbibackend\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eЧерез \"\u003cstrong\u003eInstall title from DBIbackend\u003c/strong\u003e / \u003cstrong\u003eУстановка через DBIbackend\u003c/strong\u003e\" очень удобно устанавливать игры, обновления и DLC к ним сразу напрямую по USB-проводу с ПК на Switch, минуя необходимость вынимать карту и тратить двойное время, закачивая дистрибутивы (\u003ccode\u003eNSP\u003c/code\u003e/\u003ccode\u003eNSZ\u003c/code\u003e/\u003ccode\u003eXCI\u003c/code\u003e/\u003ccode\u003eXCZ\u003c/code\u003e-файлы) на карту памяти и устанавливая их оттуда. \u003cem\u003eГорячая клавиша для вызова этой опции из главного меню\u003c/em\u003e: кнопка \u003cstrong\u003e(Y)\u003c/strong\u003e.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eДля работы сперва нужно скачать на ПК dbibackend (\u003ccode\u003edbibackend.exe\u003c/code\u003e для Windows или \u003ccode\u003edbibackend\u003c/code\u003e для всех ОС), запустить его, выбрать игры для установки, нажать \u003cstrong\u003eStart server\u003c/strong\u003e, затем подключить USB-C кабель к ПК и Switch, выбрать пункт \u003cstrong\u003eInstall title from DBIbackend\u003c/strong\u003e в dbi и установить все необходимые игры.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eДля правильной работы dbibackend на Windows, необходимо поставить драйвера \"\u003cstrong\u003elibusbK (v3.1.0.0)\u003c/strong\u003e\". Их можно установить через программу \u003ca href=\"https://zadig.akeo.ie/\" rel=\"nofollow\"\u003eZadig\u003c/a\u003e, введя DBI в режим \"\u003cstrong\u003eInstall title from DBIbackend\u003c/strong\u003e\" и выбрав в программе появившееся устройство.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eВыделение файлов, а так же их установка происходит способом идентичным способу из пункта \u003cstrong\u003eBrowse SD Card/Browse USB0 Drive\u003c/strong\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eДля быстрой отправки файлов или папок с играми на установку, нажмите на них правой клавишей мыши, выберите \u003ccode\u003eОтправить \u0026gt; dbibackend\u003c/code\u003e, установочные файлы сразу помещаются в очередь dbibackend. Для того, чтобы это настроить в Windows, нажмите \u003ccode\u003eWin+R\u003c/code\u003e, введите \u003ccode\u003eshell:sendto\u003c/code\u003e, положите в папку ярлык для \u003ccode\u003edbibackend.exe\u003c/code\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eСуществуют альтернативные клиенты для работы с DBIbackend, например \u003ca href=\"https://github.com/cyb3rwarden/dbibackend/blob/0885ef67edf28cbca30fb2c193ad7ab9a62786f7/dbibackend/dbibackend.py\"\u003eheadless-реализация\u003c/a\u003e, \u003ca href=\"https://4pda.to/forum/index.php?showtopic=939714\u0026amp;st=6080#entry100701109\" rel=\"nofollow\"\u003eNSW-DBI 2.0.0 на nodegui\u003c/a\u003e (требуется установка драйвера libusb для Linux или WinUSB (libusb) для Windows через Zadig).\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eВы можете передавать команды скрипту путем запуска его из командной строки с последующим указанием пути к необходимой для установки игры или игр. Например:\u003c/p\u003e\n\u003cdiv class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"python ~/dbi/dbibackend ~/Switch/File1.nsp ~/Switch/File2.nsp ~/Switch/File3.nsp\"\u003e\u003cpre class=\"notranslate\"\u003e\u003ccode\u003epython ~/dbi/dbibackend ~/Switch/File1.nsp ~/Switch/File2.nsp ~/Switch/File3.nsp\n\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"dbibackend.exe \u0026quot;e:\\Switch\\Games\\File1.nsp\u0026quot; \u0026quot;e:\\Switch\\Games\\File2.nsp\u0026quot; \u0026quot;e:\\Switch\\Games\\File3.nsp\u0026quot;\"\u003e\u003cpre class=\"notranslate\"\u003e\u003ccode\u003edbibackend.exe \"e:\\Switch\\Games\\File1.nsp\" \"e:\\Switch\\Games\\File2.nsp\" \"e:\\Switch\\Games\\File3.nsp\"\n\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eЗависимости, которые могут потребоваться для работы в MacOS или Linux\u003c/h4\u003e\u003ca id=\"user-content-зависимости-которые-могут-потребоваться-для-работы-в-macos-или-linux\" class=\"anchor\" aria-label=\"Permalink: Зависимости, которые могут потребоваться для работы в MacOS или Linux\" href=\"#зависимости-которые-могут-потребоваться-для-работы-в-macos-или-linux\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"brew install python-tk\npip3 install pyusb\"\u003e\u003cpre\u003ebrew install python-tk\npip3 install pyusb\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eHome server / Подключение к серверу\u003c/h3\u003e\u003ca id=\"user-content-home-server--подключение-к-серверу\" class=\"anchor\" aria-label=\"Permalink: Home server / Подключение к серверу\" href=\"#home-server--подключение-к-серверу\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eПункт \"\u003cstrong\u003eHome server\u003c/strong\u003e / \u003cstrong\u003eПодключение к серверу\u003c/strong\u003e\" появляется при наличии настроенного раздела \u003cstrong\u003eNetwork install sources\u003c/strong\u003e в \u003ccode\u003edbi.config\u003c/code\u003e (подробнее про этот файл ниже). Причём название этого пункта будет меняться в зависимости от названия указанного в конфигурационном файле\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eДля установки игр по сети, отредактируйте файл \u003cstrong\u003e\u003ca href=\"#dbiconfig\"\u003edbi.config\u003c/a\u003e\u003c/strong\u003e, находящийся в папке \u003ccode\u003esdmc:/switch/DBI/\u003c/code\u003e, согласно примеру\u003c/p\u003e\n\u003cdiv class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"; Network install sources\n[Network sources]\n; \u0026lt;display name\u0026gt;=\u0026lt;type\u0026gt;|\u0026lt;URL\u0026gt;\nHome server=ApacheHTTP|http://192.168.1.47/Nintendo/Switch/\"\u003e\u003cpre class=\"notranslate\"\u003e\u003ccode\u003e; Network install sources\n[Network sources]\n; \u0026lt;display name\u0026gt;=\u0026lt;type\u0026gt;|\u0026lt;URL\u0026gt;\nHome server=ApacheHTTP|http://192.168.1.47/Nintendo/Switch/\n\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eУстановите на ПК любой другой HTTP-сервер c включённым DirectoryListing: Apache, Mongoose, Python SimpleHTTP, sheret, rclone и т. д.,\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eПример для nginx на Windows:\nотредактируйте файл \u003ccode\u003e/nginx/conf/nginx.conf\u003c/code\u003e, прописав в \u003ccode\u003elocation\u003c/code\u003e адрес вашего Switch, вместо указанного в примере \u003ccode\u003e127.0.0.1\u003c/code\u003e (или всю свою подсеть вида 192.168.1.1/24 или 192.168.0.0/16); его можно узнать на Switch в \u003cstrong\u003eСистемных настройках\u003c/strong\u003e \u0026gt; \u003cstrong\u003eИнтернет\u003c/strong\u003e:\u003c/p\u003e\n\u003cdiv class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"location/{\nroot html;\nindex index.html index.htm;\n}\nlocation /Nintendo/Switch/ {\nallow 127.0.0.1;\ndeny all;\nautoindex on;\n}\"\u003e\u003cpre class=\"notranslate\"\u003e\u003ccode\u003elocation/{\nroot html;\nindex index.html index.htm;\n}\nlocation /Nintendo/Switch/ {\nallow 127.0.0.1;\ndeny all;\nautoindex on;\n}\n\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eСохраните конфиг, запустите \u003ccode\u003enginx.exe\u003c/code\u003e, разрешив программе доступ в сеть, затем скопируйте нужную игру в локальную папку /nginx/html/Nintendo/Switch/ на ПК, а на Switch выберите строку «Home server».\nПолучаем обычный интерфейс инсталляции файлов, и можно начать устанавливать все игры по сети, после чего, при желании веб-сервер можно остановить через nginx -s stop.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eВ качестве адреса сервера, можно использовать и доменное имя в интернете, например, своего удалённого VPS — лучше с HTTP Basic-аутентификацией вида \u003ca href=\"http://user:password@host:port/Nintendo/Switch/\" rel=\"nofollow\"\u003ehttp://user:password@host:port/Nintendo/Switch/\u003c/a\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eНапример:\u003c/p\u003e\n\u003cdiv class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"ApacheHTTP|Network repo|http://127.0.0.1/Nintendo/Switch/\nApacheHTTP|WWW VPS repo|http://www.myveryownswitchvpsdomain.su/Nintendo/Switch/\"\u003e\u003cpre class=\"notranslate\"\u003e\u003ccode\u003eApacheHTTP|Network repo|http://127.0.0.1/Nintendo/Switch/\nApacheHTTP|WWW VPS repo|http://www.myveryownswitchvpsdomain.su/Nintendo/Switch/\n\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eСгенерировать файл htpasswd, положить в \u003ccode\u003e/nginx/conf/\u003c/code\u003e, затем в \u003ccode\u003enginx.conf\u003c/code\u003e изменить в блоке (пример):\u003c/p\u003e\n\u003cdiv class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\" location /Nintendo/Switch/ {\n\t\t\t satisfy all;\n\t\t\t allow 127.0.0.1;\n\t\t\t deny all;\n\t\t\t auth_basic \u0026quot;Password Protected Area\u0026quot;;\n\t\t\t auth_basic_user_file htpasswd; \n autoindex on;\n }\"\u003e\u003cpre class=\"notranslate\"\u003e\u003ccode\u003e location /Nintendo/Switch/ {\n\t\t\t satisfy all;\n\t\t\t allow 127.0.0.1;\n\t\t\t deny all;\n\t\t\t auth_basic \"Password Protected Area\";\n\t\t\t auth_basic_user_file htpasswd; \n autoindex on;\n }\n\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eЛогин «switch», пароль «pwd»:\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eФайл htpasswd:\u003c/p\u003e\n\u003cdiv class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"switch:{SHA}N/omUzCtg+qoee+x4ttjgIls9jk=\"\u003e\u003cpre class=\"notranslate\"\u003e\u003ccode\u003eswitch:{SHA}N/omUzCtg+qoee+x4ttjgIls9jk=\n\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBrowse installed applications / Просмотр установленных игр\u003c/h3\u003e\u003ca id=\"user-content-browse-installed-applications--просмотр-установленных-игр\" class=\"anchor\" aria-label=\"Permalink: Browse installed applications / Просмотр установленных игр\" href=\"#browse-installed-applications--просмотр-установленных-игр\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eВ \u003cstrong\u003eBrowse installed applications\u003c/strong\u003e можно посмотреть список установленных программ, обновлений, DLC к ним, по отдельности их занимаемый объём и версию, порядковую и в HEX-формате, их titleID, посмотреть общее время игры и количество запусков, наличие установленного LayeredFS-мода к игре (для Atmosphére).\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003cem\u003eГорячая клавиша для вызова этой опции из главного меню\u003c/em\u003e: кнопка \u003cstrong\u003e(L)\u003c/strong\u003e:\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eСверху в центре написано общее количество установленных игр и тип сортировки\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://user-images.githubusercontent.com/18294541/123554546-32efcd80-d789-11eb-8d3f-3124448624e0.jpg\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/18294541/123554546-32efcd80-d789-11eb-8d3f-3124448624e0.jpg\" alt=\"2021062719353200\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eВ квадратных скобках перед названием игры написана базовая информация о месте установки, составе и наличии мода игры. Отображается только то, что установлено. То есть, если буквы b в квадратных скобках нет, значит у игры не установлена сама базовая часть (в таком случае строка будет окрашена красным)\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eN/S/M/G\u003c/strong\u003e - NAND/SD/Mixed/Gamecart - означает место, где установлена игра. В случае, если части игры находятся на разных носителях, отображается Mixed, а если на картридже - Gamecart\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eb\u003c/strong\u003e - BASE - сама игра\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eu\u003c/strong\u003e - Update - обновление игры\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ed\u003c/strong\u003e - DLC - DLC игры\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003el\u003c/strong\u003e - LayeredFS mod - наличие модификаций, читов или перевода, которые находятся в папке \u003ccode\u003esdmc:/atmosphere/contents/%titleID%/\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003eНажав \u003cstrong\u003e(L3)\u003c/strong\u003e можно запустить игру прямо отсюда\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eОбратите внимание!\u003c/strong\u003e Если игра выделена \u003cstrong\u003eкрасным\u003c/strong\u003e, значит не установлена её базовая часть, а установлено только обновление или DLC\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eКонтекстное меню тайтла\u003c/h4\u003e\u003ca id=\"user-content-контекстное-меню-тайтла\" class=\"anchor\" aria-label=\"Permalink: Контекстное меню тайтла\" href=\"#контекстное-меню-тайтла\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://user-images.githubusercontent.com/18294541/123554557-3b480880-d789-11eb-9235-d547f2c588bd.jpg\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/18294541/123554557-3b480880-d789-11eb-9235-d547f2c588bd.jpg\" alt=\"2021062719354100\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eОтображается при нажатии на \u003cstrong\u003e(+)\u003c/strong\u003e на выбранных тайтлах (или тайтле)\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eВ верху контекстного окна отображается количество выбранных тайтлов и их размер\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eDelete title\u003c/strong\u003e / \u003cstrong\u003eУдалить\u003c/strong\u003e - удалить выбранные тайтлы\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMove title to SD/NAND\u003c/strong\u003e / \u003cstrong\u003eПереместить в NAND/SD\u003c/strong\u003e - переместить выбранные тайтлы в NAND или на карту памяти, в зависимости от того, где тайтл сейчас находится. Если части тайтла находятся и там и там, будут отображены оба варианта\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eReset required version\u003c/strong\u003e / \u003cstrong\u003eСбросить требуемую версию\u003c/strong\u003e - сбросить проверку требуемой для запуска тайтла версии системы (должен быть включён дебаг в Atmosphere)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCheck integrity\u003c/strong\u003e / \u003cstrong\u003eПроверить целостность\u003c/strong\u003e - проверка целостности данных выбранных тайтлов\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eExpose contents via MTP\u003c/strong\u003e / \u003cstrong\u003eОткрыть контент по MTP\u003c/strong\u003e - смонтировать содержимое выбранных тайтлов по MTP\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDump to SD\u003c/strong\u003e / \u003cstrong\u003eСдампить на SD\u003c/strong\u003e - сдампить весь доступный контент (игру, DLC, обновление) на SD по пути, указанному в конфиге (по-умолчанию \u003ccode\u003eswitch/DBI/dumps\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eContent info\u003c/strong\u003e / \u003cstrong\u003eИнформация о контенте\u003c/strong\u003e - показать дополнительную информацию о контенте (версия SDK, требуемое поколение ключей, ID, информацию о патчах и многое другое)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003eЕсли нажать на тайтле кнопку \u003cstrong\u003e(A)\u003c/strong\u003e, то откроется \u003cstrong\u003eдетальное меню игры\u003c/strong\u003e\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eДетальное меню игры\u003c/h3\u003e\u003ca id=\"user-content-детальное-меню-игры\" class=\"anchor\" aria-label=\"Permalink: Детальное меню игры\" href=\"#детальное-меню-игры\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eДетальное меню игры\u003c/strong\u003e открывается, если нажать на тайтле кнопку \u003cstrong\u003e(A)\u003c/strong\u003e, находясь в меню просмотра установленных игр (\u003cstrong\u003eBrowse installed applications\u003c/strong\u003e / \u003cstrong\u003eПросмотр установленных игр\u003c/strong\u003e)\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://user-images.githubusercontent.com/18294541/123554561-400cbc80-d789-11eb-8d81-e3403f33b365.jpg\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/18294541/123554561-400cbc80-d789-11eb-8d81-e3403f33b365.jpg\" alt=\"2021062719353600\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eОтображается иконка игры, \u003cstrong\u003eTitleID\u003c/strong\u003e, название (\u003cstrong\u003eName\u003c/strong\u003e / \u003cstrong\u003eИмя\u003c/strong\u003e), автор (\u003cstrong\u003eAuthor\u003c/strong\u003e / \u003cstrong\u003eАвтор\u003c/strong\u003e), версия (\u003cstrong\u003eVersion\u003c/strong\u003e / \u003cstrong\u003eВерсия\u003c/strong\u003e), поддерживаемые языки (\u003cstrong\u003eLanguage\u003c/strong\u003e / \u003cstrong\u003eЯзыки\u003c/strong\u003e) и наличие LFS-мода (\u003cstrong\u003eLFS-mod\u003c/strong\u003e / \u003cstrong\u003eLFS-мод.\u003c/strong\u003e)\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eТак же здесь можно узнать количество времени, проведённого в игре (\u003cstrong\u003eTotal play time\u003c/strong\u003e / \u003cstrong\u003eОбщее время игры\u003c/strong\u003e), сколько раз игра была запущена (\u003cstrong\u003eTotal launches\u003c/strong\u003e / \u003cstrong\u003eОбщее число запусков\u003c/strong\u003e), сколько она весит (в целом (\u003cstrong\u003eTotal occupied space\u003c/strong\u003e / \u003cstrong\u003eОбщее занимаемое место\u003c/strong\u003e), а так же сколько места занимает в NAND (\u003cstrong\u003eSpace in NAND\u003c/strong\u003e / \u003cstrong\u003eМесто в NAND\u003c/strong\u003e) и на SD (\u003cstrong\u003eSpace on SD\u003c/strong\u003e / \u003cstrong\u003eМесто на SD\u003c/strong\u003e)), размер сохранений (\u003cstrong\u003eTotal saves size\u003c/strong\u003e / ****) и какой язык у игры активен (\u003cstrong\u003eForced Language\u003c/strong\u003e / \u003cstrong\u003eФорсированный язык\u003c/strong\u003e)\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eНиже можно увидеть три вкладки, между которыми можно переключаться кнопками \u003cstrong\u003e(L)\u003c/strong\u003e и \u003cstrong\u003e(R)\u003c/strong\u003e\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eContent records\u003c/strong\u003e / \u003cstrong\u003eКонтент\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTickets\u003c/strong\u003e / \u003cstrong\u003eТикеты\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSaves\u003c/strong\u003e / \u003cstrong\u003eСохранения\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eContent records / Контент\u003c/h4\u003e\u003ca id=\"user-content-content-records--контент\" class=\"anchor\" aria-label=\"Permalink: Content records / Контент\" href=\"#content-records--контент\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://user-images.githubusercontent.com/18294541/123554565-41d68000-d789-11eb-9c59-621275895075.jpg\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/18294541/123554565-41d68000-d789-11eb-9c59-621275895075.jpg\" alt=\"2021062719354800\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eИнформация показана в следующем виде:\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e[Location] Type | version [version number] | Size\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eLocation\u003c/strong\u003e - \u003cstrong\u003eNAND\u003c/strong\u003e или \u003cstrong\u003eSD\u003c/strong\u003e, в зависимости от места, в которое установлен контент\n\u003cstrong\u003eType\u003c/strong\u003e - \u003cstrong\u003eApplication\u003c/strong\u003e для базовой игры, \u003cstrong\u003eUpdate\u003c/strong\u003e для обновления, \u003cstrong\u003eAddon\u003c/strong\u003e для DLC, причем рядом с последним будет указан номер самого DLC\n\u003cstrong\u003eversion [version number]\u003c/strong\u003e - версия контента в dec и [hex] (например, 786432 это 0.12.0.0)\n\u003cstrong\u003eSize\u003c/strong\u003e - занимаемое место\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eПри нажатии на контенте кнопкой \u003cstrong\u003e(A)\u003c/strong\u003e, можно посмотреть его содержимое. Содержимое можно скопировать, выбрав соответствующий пункт в контекстном меню (напоминаю, открывается по нажатию кнопки \u003cstrong\u003e(+)\u003c/strong\u003e). Содержимое открывается в режиме \"только для чтения\".\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eПри нажатии кнопки (+) на выбранном контенте, можно попасть в контекстное меню:\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eDelete record\u003c/strong\u003e / \u003cstrong\u003eУдалить\u003c/strong\u003e - удалить выбранную запись\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMove records to SD/NAND\u003c/strong\u003e / \u003cstrong\u003eПереместить в SD/NAND\u003c/strong\u003e - переместить выбранную запись в NAND или на карту памяти, в зависимости от того, где она сейчас находится. Если части тайтла находятся и там и там, будут отображены оба варианта\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eReset required version\u003c/strong\u003e / \u003cstrong\u003eСбросить требуемую версию\u003c/strong\u003e - сбросить проверку требуемой для запуска тайтла версии системы (должен быть включен дебаг в Atmosphere). Не поможет, если игра собрана на новой версии SDK\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eForce language\u003c/strong\u003e / \u003cstrong\u003eФорсировать язык\u003c/strong\u003e - позволяет принудительно запускать игру с выбранным языком. По-умолчанию игра запускается с тем же языком, что выбран в системе, ежели такового в игре нет, то в зависимости от региона консоли. Выбранный язык будет отображаться рядом с иконкой игры в поле \u003cstrong\u003eForced Language\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCheck integrity\u003c/strong\u003e / \u003cstrong\u003eПроверить целостность\u003c/strong\u003e - проверка целостности данных выбранных тайтлов\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eExpose contents via MTP\u003c/strong\u003e / \u003cstrong\u003eОткрыть контент по MTP\u003c/strong\u003e - смонтировать содержимое выбранных тайтлов по MTP\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDump to SD\u003c/strong\u003e / \u003cstrong\u003eСдампить на SD\u003c/strong\u003e - сдампить весь доступный контент (игру, DLC, обновление) на SD по пути, указанному в конфиге (по-умолчанию \u003ccode\u003eswitch/DBI/dumps\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eContent info\u003c/strong\u003e / \u003cstrong\u003eИнформация о контенте\u003c/strong\u003e - показать дополнительную информацию о контенте (версия SDK, требуемое поколение ключей, ID, информацию о патчах и многое другое)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eTickets / Тикеты\u003c/h4\u003e\u003ca id=\"user-content-tickets--тикеты\" class=\"anchor\" aria-label=\"Permalink: Tickets / Тикеты\" href=\"#tickets--тикеты\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eTicket (или encrypted title key)\u003c/strong\u003e — это зашифрованная уникальная информация о правах запуска на контент игры, которая устанавливается в систему при инсталляции каждой игры (\u003cstrong\u003e000\u003c/strong\u003e в конце titleID)/обновления (\u003cstrong\u003e800\u003c/strong\u003e в конце titleID)/каждого DLC.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eОтображаются установленные для контента тикеты:\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003ePersonalized ticket\u003c/strong\u003e / \u003cstrong\u003eПерсонализированный тикет (личный)\u003c/strong\u003e - тикет, который дается при установке игры из ешопа, он персонифицированный, то есть уникальный для каждой учетной записи\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCommon ticket\u003c/strong\u003e / \u003cstrong\u003eОбщий тикет\u003c/strong\u003e - тикет общего типа, есть у обновлений, так же используется как костыль в пиратских играх\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003eБазы игр на серверах Nintendo шифрованы одним и тем же ключом, но этот ключ шифруется собственным ключом, уникальным для каждого купившего игру (этот ключ генерируется на самой приставке), поэтому получить из Personalized-тикета ключ для дешифровки игры можно только на той приставке, для которой он создан.\nТо есть у всех купивших Personalized-тикеты разные, но содержат один и тот же ключ дешифровки игры.\nА в Common-тикетах нет шифрования, только подпись.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eПри нажатии кнопки (+) на выбранном контенте, можно попасть в контекстное меню, где можете удалить выбранные тикеты.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eИногда, если возникают специфическая ошибка, и вы точно знаете и уверены, что вы делаете, его можно удалить у конкретной игры и её обновления/DLC.\nВо всех остальных случаях лучше тут ничего не трогать, во избежание ошибок запуска игр.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eSaves / Сохранения\u003c/h4\u003e\u003ca id=\"user-content-saves--сохранения\" class=\"anchor\" aria-label=\"Permalink: Saves / Сохранения\" href=\"#saves--сохранения\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eПросмотр и удаление сохранений. Если сохранения нет, его можно создать через контекстное меню (кнопка (+)) для выбранного аккаунта. Если оно есть, то:\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eBackup\u003c/strong\u003e / \u003cstrong\u003eСделать бекап\u003c/strong\u003e - сделать резервную копию сохранения. По-умолчанию она будет расположена в папке \u003ccode\u003eswitch/DBI/saves\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRestore\u003c/strong\u003e / \u003cstrong\u003eВосстановить бекап\u003c/strong\u003e - восстановить резервную копию сохранений\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSave info...\u003c/strong\u003e / \u003cstrong\u003eИнформация о сохранении...\u003c/strong\u003e - подробная информация о сохранении, например, тип, размер, имя аккаунта и т.п.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIncrease save size\u003c/strong\u003e / \u003cstrong\u003eУвеличить размер\u003c/strong\u003e - Увеличивает место, выделенное под сохранение на заданное значение\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDelete\u003c/strong\u003e / \u003cstrong\u003eУдалить\u003c/strong\u003e - удалить сохранение\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBrowse tickets / Просмотр тикетов\u003c/h3\u003e\u003ca id=\"user-content-browse-tickets--просмотр-тикетов\" class=\"anchor\" aria-label=\"Permalink: Browse tickets / Просмотр тикетов\" href=\"#browse-tickets--просмотр-тикетов\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eПросмотр и удаление тикетов игр. \u003cstrong\u003eTicket (или encrypted title key)\u003c/strong\u003e — это специальная зашифрованная уникальная информация о правах запуска на контент игры, которая устанавливается в систему при инсталляции каждой игры (\u003cstrong\u003e000\u003c/strong\u003e в конце titleID)/обновления (\u003cstrong\u003e800\u003c/strong\u003e в конце titleID)/каждого DLC.\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003e(+)\u003c/strong\u003e означает наличие установленной игры\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[c]\u003c/strong\u003e (\u003cstrong\u003ePersonalized ticket\u003c/strong\u003e / \u003cstrong\u003eПерсонализированный тикет (личный)\u003c/strong\u003e) - тикет, который дается при установке игры из ешопа, он персонифицированный, то есть зашифрован уникальным ключем вашей консоли\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[p]\u003c/strong\u003e (\u003cstrong\u003eCommon ticket\u003c/strong\u003e / \u003cstrong\u003eОбщий тикет\u003c/strong\u003e) - тикет общего типа, есть у обновлений, так же используется как костыль в пиратских играх\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003eБазы игр на серверах Nintendo шифрованы одним и тем же ключом, но этот ключ шифруется собственным ключом, уникальным для каждого купившего игру (этот ключ генерируется на самой приставке), поэтому получить из Personalized-тикета ключ для дешифровки игры можно только на той приставке, для которой он создан.\nТо есть у всех купивших Personalized-тикеты разные, но содержат один и тот же ключ дешифровки игры.\nА в Common-тикетах нет шифрования, только подпись.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eИногда, если возникают специфическая ошибка, и вы точно знаете и уверены, что вы делаете, его можно удалить у конкретной игры и её обновления/DLC.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eВо всех остальных случаях лучше тут ничего не трогать, во избежание ошибок запуска игр.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eКонтекстное меню тикетов\u003c/h4\u003e\u003ca id=\"user-content-контекстное-меню-тикетов\" class=\"anchor\" aria-label=\"Permalink: Контекстное меню тикетов\" href=\"#контекстное-меню-тикетов\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eОтображается при нажатии на \u003cstrong\u003e(+)\u003c/strong\u003e на выбранных тикетах\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eВ верху контекстного окна отображается количество выбранных тикетов\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eDelete tickets\u003c/strong\u003e / \u003cstrong\u003eУдалить\u003c/strong\u003e - удалить выбранные тикеты\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSelect same game\u003c/strong\u003e / \u003cstrong\u003eВыбрать ту же игру\u003c/strong\u003e- выделить все тикеты, относящиеся к выделенной игре\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eTools / Инструменты\u003c/h3\u003e\u003ca id=\"user-content-tools--инструменты\" class=\"anchor\" aria-label=\"Permalink: Tools / Инструменты\" href=\"#tools--инструменты\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eCleanup orphaned files / Очистка потерянных файлов\u003c/strong\u003e - автоматически чистит ненужные файлы игр, файлы от прерванных установок игр, скачанное (официально) обновление OFW прошивки и все неиспользуемые тикеты игр, если они были найдены.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDelete parental controls / Удаление родительского контроля\u003c/strong\u003e - полностью удаляет родительский контроль. Не требует перезагрузки\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDelete user... / Удаление пользователя\u003c/strong\u003e - полностью удаляет выбранного пользователя из системы (сохранения удаленного пользователя остаются в системе)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRun random game / Запустить случайно игры\u003c/strong\u003e - запускает случайную игру из установленных\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNTP time sync / Синхронизация времени по NTP\u003c/strong\u003e - синхронизирует время на консоли с удаленным сервером синхронизации времени. Для работы необходимо подключение к интернету и правильно выставленный часовой пояс в настройках консоли\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCheck for title updates / Проверка обновлений игр\u003c/strong\u003e - проверяет обновления и новые DLC для установленных игр. База для проверки устанавливается в настройках\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBrowse saves / Просмотр сохранений\u003c/h3\u003e\u003ca id=\"user-content-browse-saves--просмотр-сохранений\" class=\"anchor\" aria-label=\"Permalink: Browse saves / Просмотр сохранений\" href=\"#browse-saves--просмотр-сохранений\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eПросмотр и удаление сохранений.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eВ общем виде сохранения показываются так:\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003ccode\u003e[Account] Game-Name Backup-date Size\u003c/code\u003e\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eAccount\u003c/strong\u003e - показывает имя аккаунта для которого был создан сейв, если тип сейва Account, если тип сейва другойб показывает его тип\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eGame-Name\u003c/strong\u003e - показывает название игры для которой был создан сейв\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBackup-date\u003c/strong\u003e - показывает дату создания бекапа, отображается только во вкладке Backup\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSize\u003c/strong\u003e - размер сохранения или бекапа\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003eНиже можно увидеть три вкладки, между которыми можно переключаться кнопками \u003cstrong\u003e(L)\u003c/strong\u003e и \u003cstrong\u003e(R)\u003c/strong\u003e\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eInstalled\u003c/strong\u003e / \u003cstrong\u003eУстановленные\u003c/strong\u003e - показывает сохранения для всех установленных игр\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUninstalled\u003c/strong\u003e / \u003cstrong\u003eУдалённые\u003c/strong\u003e - показывает сохранения для всех не установленных игр\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBackups\u003c/strong\u003e / \u003cstrong\u003eБекапы\u003c/strong\u003e - показывает созданные бекапы\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eКонтекстное меню Installed / Установленные и Uninstalled / Удалённые\u003c/h4\u003e\u003ca id=\"user-content-контекстное-меню-installed--установленные-и-uninstalled--удалённые\" class=\"anchor\" aria-label=\"Permalink: Контекстное меню Installed / Установленные и Uninstalled / Удалённые\" href=\"#контекстное-меню-installed--установленные-и-uninstalled--удалённые\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eОтображается при нажатии на \u003cstrong\u003e(+)\u003c/strong\u003e на выбранных сохранениях\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eBackup\u003c/strong\u003e / \u003cstrong\u003eСделать бекап\u003c/strong\u003e - сделать бекап выбранных сохранений\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eOpen\u003c/strong\u003e / \u003cstrong\u003eОткрыть\u003c/strong\u003e - открыть сохранение\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSave info...\u003c/strong\u003e / \u003cstrong\u003eИнформация...\u003c/strong\u003e - информация о сохранении (Id, тип, размер, время создания и прочее)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDelete\u003c/strong\u003e / \u003cstrong\u003eУдалить\u003c/strong\u003e - удалить выбранные сохранения\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSelect same app\u003c/strong\u003e / \u003cstrong\u003eВыбрать ту же игру\u003c/strong\u003e - выделить все сохранения, относящиеся к выделенной игре\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBrowse app(s)\u003c/strong\u003e / \u003cstrong\u003eПросмотреть игры\u003c/strong\u003e - перейти на \u003ca href=\"#content-records--%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BD%D1%82\"\u003eкарточку выбранных игр\u003c/a\u003e. Переключаться между карточками можно кнопками \u003cstrong\u003e(ZL)\u003c/strong\u003e/\u003cstrong\u003e(ZR)\u003c/strong\u003e. Только во вкладке \u003cstrong\u003eInstalled\u003c/strong\u003e / \u003cstrong\u003eУстановленные\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eКонтекстное меню Backups / Бекапы\u003c/h4\u003e\u003ca id=\"user-content-контекстное-меню-backups--бекапы\" class=\"anchor\" aria-label=\"Permalink: Контекстное меню Backups / Бекапы\" href=\"#контекстное-меню-backups--бекапы\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eОтображается при нажатии на \u003cstrong\u003e(+)\u003c/strong\u003e на выбранных сохранениях\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eValidate saves\u003c/strong\u003e / \u003cstrong\u003eПроверка сохранений\u003c/strong\u003e - проверить целостность сохранений\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRestore\u003c/strong\u003e / \u003cstrong\u003eВосстановить бекап\u003c/strong\u003e - восстановить бекап выбранных сохранений\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eOpen\u003c/strong\u003e / \u003cstrong\u003eОткрыть\u003c/strong\u003e - открыть сохранение\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDelete\u003c/strong\u003e / \u003cstrong\u003eУдалить\u003c/strong\u003e - удалить выбранные сохранения\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBrowse app(s)\u003c/strong\u003e / \u003cstrong\u003eПросмотреть игры\u003c/strong\u003e - перейти на \u003ca href=\"#content-records--%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BD%D1%82\"\u003eкарточку выбранных игр\u003c/a\u003e. Переключаться между карточками можно кнопками \u003cstrong\u003e(ZL)\u003c/strong\u003e/\u003cstrong\u003e(ZR)\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSelect same user\u003c/strong\u003e / \u003cstrong\u003eВыбрать того же пользователя\u003c/strong\u003e - выделить все сохранения, относящиеся к определенному пользователю\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003eЕсли в списке на одну игру, одного пользователя выбрано несколько бекапов, то восстановится только самый свежий.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eRun MTP responder / Запустить MTP соединение\u003c/h3\u003e\u003ca id=\"user-content-run-mtp-responder--запустить-mtp-соединение\" class=\"anchor\" aria-label=\"Permalink: Run MTP responder / Запустить MTP соединение\" href=\"#run-mtp-responder--запустить-mtp-соединение\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eRun MTP responder\u003c/strong\u003e / \u003cstrong\u003eЗапустить MTP соединение\u003c/strong\u003e включает встроенный в DBI MTP-сервер для обмена данными с ПК либо к Android-устройству по USB-C OTG (телефон/планшет/прочие устройства). \u003cem\u003eГорячая клавиша для вызова этой опции из главного меню\u003c/em\u003e: кнопка \u003cstrong\u003e(X)\u003c/strong\u003e (ей же выходить из MTP). После подключения USB-провода к ПК и запуска MTP-сервера в dbi, на ПК появится следующее окно:\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://user-images.githubusercontent.com/18294541/114265006-054f7f80-99f7-11eb-86c9-1a20d588e616.png\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/18294541/114265006-054f7f80-99f7-11eb-86c9-1a20d588e616.png\" alt=\"изображение\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eГде:\n1: \u003cstrong\u003eSD Card\u003c/strong\u003e, для просмотра, копирования и удаления файлов и папок c/на ПК и с/на карту памяти SD. В случае, если размер файла превышает 4Гб, DBI автоматически разобьёт его на фрагменты специальным образом, чтобы свитч видел такой файл как цельный\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e2: \u003cstrong\u003eNAND User\u003c/strong\u003e, просмотр, копирование файлов и папок на ПК с внутренней память Switch, в его системный раздел USER (раздел доступен только для чтения).\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e3: \u003cstrong\u003eNAND System\u003c/strong\u003e, просмотр, копирование файлов и папок на ПК с внутренней памяти Switch, в его системный раздел SYSTEM (раздел доступен только для чтения).\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e4: \u003cstrong\u003eInstalled games\u003c/strong\u003e, для просмотра установленных игр.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eВ \u003cstrong\u003eInstalled games\u003c/strong\u003e отображаются все игры как в NAND, внутренней памяти Switch, так и установленные на карту памяти, все вместе. Чтобы сделать дамп (дистрибутив) установленный игры себе на ПК в формате .NSP, просто скопируйте папку с названием игры из \u003cstrong\u003eInstalled games\u003c/strong\u003e на свой ПК, при этом на базе вашего personalized-тикета генерируется общий common-тикет с полностью очищенной личной информацией. Вы получите дамп этой игры в виде раздельных файлов - отдельно саму игру, отдельно обновление и DLC. Если для игры были установлены читы или моды, они будут находится в папке \u003ccode\u003eMods \u0026amp; Cheats\u003c/code\u003e. Так же можно получить скомбинированный дамп, в котором в один файл будет склеяны сама игры, все её DLC и обновление. Такой файл лежит прямо в корне раздела \u003cstrong\u003eInstalled games\u003c/strong\u003e.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eЗдесь так же хранится сгенерированный dbi \u003ccode\u003eInstalledApplications.csv\u003c/code\u003e, с таблицей списка установленных игр, их TitleID и текущей версии.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e5: \u003cstrong\u003eSD install\u003c/strong\u003e\u003cbr\u003e\nСкопируйте в эту папку ваши \u003cstrong\u003eNSP\u003c/strong\u003e/\u003cstrong\u003eNSZ\u003c/strong\u003e/\u003cstrong\u003eXCI\u003c/strong\u003e или \u003cstrong\u003eXCZ\u003c/strong\u003e. По окончанию копирования игра будет установлена на \u003cstrong\u003eкарту памяти\u003c/strong\u003e вашей приставки. При установке NSZ-файлов учитывайте, что их фактический размер может сильно отличаться от размера после установки, так что если при наличии свободных 2Гб на карте памяти у вас, например, не хватает места для установки NSZ размером, скажем, в 1Гб, не удивляйтесь, поскольку контейнер NSZ - сжатый.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e6: \u003cstrong\u003eNAND install\u003c/strong\u003e: Скопируйте в эту папку ваши \u003cstrong\u003eNSP\u003c/strong\u003e/\u003cstrong\u003eNSZ\u003c/strong\u003e/\u003cstrong\u003eXCI\u003c/strong\u003e или \u003cstrong\u003eXCZ\u003c/strong\u003e. По окончанию копирования игра будет установлена во \u003cstrong\u003eвнутреннюю память\u003c/strong\u003e вашей приставки. При установке NSZ-файлов учитывайте, что их фактический размер может сильно отличаться от размера после установки, так что если при наличии свободных 2Гб на карте памяти у вас, например, не хватает места для установки NSZ размером, скажем, в 1Гб, не удивляйтесь, поскольку контейнер NSZ - сжатый.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e7: \u003cstrong\u003eSaves\u003c/strong\u003e: Доступ ко всем сохранениям игр — в аккаунтах (Account), системных программ (System), в Background Content Asymmetric synchronized delivery and Transmission (BCAT, пример: ивенты в ACNH), временных (Temporary), кэш (Cache, пример: аддоны в DOOM), системных BCAT (SystemBCAT), — хранящимся во внутренней памяти Switch\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eВ папке \u003cstrong\u003eInstalled games\u003c/strong\u003e — сохранения для имеющихся установленных сейчас игр\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eUninstalled games\u003c/strong\u003e — сохранения от удалённых игр, которые раньше запускались. Отсюда можно сделать их бекап, скопировав их на ПК, а также удалить ненужные — для этого откройте папку с именем нужной игры, затем удалите папку с ником вашего аккаунта/Device-сохранения.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eДля того, чтобы восстановить сохранения, скопируйте их в соответствующую папку с ПК. DBI не требует предварительного запуска игры для восстановления сохранения, однако это касается только обычных сохранений. BCAT или Cache сохранения требуют предварительного запуска игры перед восстановлением.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e8: \u003cstrong\u003eAlbum\u003c/strong\u003e: доступ к скриншотам и видеороликам (Альбому), точно так же, как это сделано в OFW 11.0.0 Nintendo.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e9: \u003cstrong\u003eGamecard\u003c/strong\u003e: при вставленном в Switch игровом картридже появляется возможность скопировать его дамп в .XCI либо trimmed .XCI на ПК, вместе со встроенным в него обновлением, если оно есть, с уже убранным его персональным RSA-сертификатом; кроме того, возможно отдельно экспортировать его сертификат\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eТакже, на дисплее Switch после включения MTP-сервера появится окно с вашим ником учётной записи и его UID, а также количеством игровых сохранений:\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://user-images.githubusercontent.com/18294541/114266673-27013480-9a00-11eb-81ba-f1ff1c3c5abb.jpg\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/18294541/114266673-27013480-9a00-11eb-81ba-f1ff1c3c5abb.jpg\" alt=\"2021041013152900\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eЧтобы выключить MTP-сервер и выйти в главное меню, нажмите кнопку \u003cstrong\u003e(X)\u003c/strong\u003e или \u003cstrong\u003e(B)\u003c/strong\u003e.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eActivity Log / Настройки активности\u003c/h3\u003e\u003ca id=\"user-content-activity-log--настройки-активности\" class=\"anchor\" aria-label=\"Permalink: Activity Log / Настройки активности\" href=\"#activity-log--настройки-активности\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eПоказывает графики активности в играх по датам для всех имеющихся пользователей для каждой конкретной игры.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eПри запуске показаны две вкладки, которыми можно переключаться кнопками (L) и (R):\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eГорячие клавиши:\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e(L)/(R) - переключение на соседнюю вкладку\u003c/li\u003e\n\u003cli\u003e(ZL)/(ZR) - смена даты\u003c/li\u003e\n\u003cli\u003e(Y) - смена периода отображения: всё время, день, месяц, год\u003c/li\u003e\n\u003cli\u003e(X) - сортировка: по названию игры, по числу запусков, по времени проведенному в игре\u003c/li\u003e\n\u003cli\u003e(+) - выбор пользователя для отображения\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eApplications / Запускавшиеся игры\u003c/h4\u003e\u003ca id=\"user-content-applications--запускавшиеся-игры\" class=\"anchor\" aria-label=\"Permalink: Applications / Запускавшиеся игры\" href=\"#applications--запускавшиеся-игры\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eПоказан список игр для которых есть статистика запуска. Вверху окна находится статусная строка следующего вида:\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003ccode\u003e[игрок] период. Всего: количество часов (метод сортировки)\u003c/code\u003e. Например, строка \u003ccode\u003e[Все игроки] 2023 Январь. Всего: 72 часа (по времени игры)\u003c/code\u003e будет означать, что на экране отображается статистика \u003cstrong\u003eдля всех игроков за январь 2023 года с сортировкой по времени игры, где наиграно 72 часа\u003c/strong\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eОкно разделено на три колонки. Слева направо:\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eНазвание игры\u003c/li\u003e\n\u003cli\u003eКоличество запусков\u003c/li\u003e\n\u003cli\u003eКоличество времени проведенного в игре\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003eПри нажатии (А) на игре вы попадаете в \u003cstrong\u003eДиаграмму активности\u003c/strong\u003e для текущей игры, где показана статистика по выбранной игре. При нажатии (A) на пункте, вы переместитесь глубже (год -\u0026gt; месяц -\u0026gt; день -\u0026gt; час)\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eActivity / Диаграмма активности\u003c/h4\u003e\u003ca id=\"user-content-activity--диаграмма-активности\" class=\"anchor\" aria-label=\"Permalink: Activity / Диаграмма активности\" href=\"#activity--диаграмма-активности\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eПоказана активность в виде диаграммы для всех игор сразу. Для перехода к диаграмме по конкретной игре, перейдите во вкладку \u003cstrong\u003eЗапускавшиеся игры\u003c/strong\u003e и выберите игру для отображения\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eConfiguration / Настройки DBI и параметры файла dbi.config\u003c/h3\u003e\u003ca id=\"user-content-configuration--настройки-dbi-и-параметры-файла-dbiconfig\" class=\"anchor\" aria-label=\"Permalink: Configuration / Настройки DBI и параметры файла dbi.config\" href=\"#configuration--настройки-dbi-и-параметры-файла-dbiconfig\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eМенеджер конфигурации программы, позволяет легко настроить программу без редактирования \u003ccode\u003edbi.config\u003c/code\u003e.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eНиже будут описаны пункты конфигурации через GUI/ Пункты, которым они соответствуют в \u003ccode\u003edbi.config\u003c/code\u003e будут указаны в скобках.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003etrue\u003c/strong\u003e в конфиге соответствует \u003cstrong\u003eYes\u003c/strong\u003e / \u003cstrong\u003eДа\u003c/strong\u003e в настройках, \u003cstrong\u003efalse\u003c/strong\u003e - \u003cstrong\u003eNo\u003c/strong\u003e / \u003cstrong\u003eНет\u003c/strong\u003e\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eGeneral / Общие (\u003ccode\u003e[General]\u003c/code\u003e)\u003c/h4\u003e\u003ca id=\"user-content-general--общие-general\" class=\"anchor\" aria-label=\"Permalink: General / Общие ([General])\" href=\"#general--общие-general\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eUse external USB drives\u003c/strong\u003e / \u003cstrong\u003eИспользовать внешние USB\u003c/strong\u003e (\u003ccode\u003eUseLibUsbHsFS\u003c/code\u003e) - \u003cstrong\u003etrue\u003c/strong\u003e включает библиотеку \u003ca href=\"https://github.com/DarkMatterCore/libusbhsfs\"\u003elibusbhsfs\u003c/a\u003e для работы с внешними USB-накопителями через USB-OTG на Switch, \u003cstrong\u003efalse\u003c/strong\u003e отключает её.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDirect exit to homescreen\u003c/strong\u003e / \u003cstrong\u003eВыход на рабочий стол\u003c/strong\u003e (\u003ccode\u003eExitToHomeScreen\u003c/code\u003e) - при \u003cstrong\u003efalse\u003c/strong\u003e выход из dbi происходит в hbmenu, при \u003cstrong\u003etrue\u003c/strong\u003e на рабочий стол Switch.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eLog events \u0026amp; operations\u003c/strong\u003e / \u003cstrong\u003eЖурналирование действий\u003c/strong\u003e (\u003ccode\u003eLogEvents\u003c/code\u003e) - сохранять или нет логи для событий \"\u003cem\u003eInstall\u003c/em\u003e\", \"\u003cem\u003eCheck integrity\u003c/em\u003e\" and \"\u003cem\u003eCleanup\u003c/em\u003e\"\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHighlight update files\u003c/strong\u003e / \u003cstrong\u003eПодсвечивать файлы обновлений\u003c/strong\u003e (\u003ccode\u003eHighlightUpdates\u003c/code\u003e) - подсвечивать или нет в файловом менеджере обновления для установленных игр\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRotate screen upside down\u003c/strong\u003e / \u003cstrong\u003eПеревернуть экран\u003c/strong\u003e (\u003ccode\u003eRotateScreen\u003c/code\u003e) - переворачивает экран на 180 градусов\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRotate joycon upside down\u003c/strong\u003e / \u003cstrong\u003eПеревернуть джойконы\u003c/strong\u003e (\u003ccode\u003eRotateJoycon\u003c/code\u003e) - переворачивает управление, чтобы соответствовать перевёрнутому экрану\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUse under/over clock\u003c/strong\u003e / \u003cstrong\u003eИспользовать разгон\u003c/strong\u003e (\u003ccode\u003eOptimizeClockSpeed\u003c/code\u003e) - отключает оптимизацию частоты SoC в простое. Отключено по-умолчанию, поскольку \u003cstrong\u003eможет привести к лагам на стартовом экране при некорректном выходе из DBI\u003c/strong\u003e! Корректный выход - через пункт меню \u003cstrong\u003eExit\u003c/strong\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBrowse saves in RO mode\u003c/strong\u003e / \u003cstrong\u003eСохранения только в RO режиме\u003c/strong\u003e (\u003ccode\u003eROSaveFS\u003c/code\u003e) - просматривать сохранения в режиме только для чтения\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eShow 'Update From Here'\u003c/strong\u003e / \u003cstrong\u003eПоказывать 'Обновить отсюда'\u003c/strong\u003e (\u003ccode\u003eShowUpdateFromHere\u003c/code\u003e) - показывать кнопку \"Update all titles\" в контекстном меню для автообновления установленных игр из всех (SD/USB/HTTP/FTP) доступных источников\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSave backup folder\u003c/strong\u003e / \u003cstrong\u003eПапка для бекапа сохранений\u003c/strong\u003e (\u003ccode\u003eSavesFolder\u003c/code\u003e) - папка для хранения дампов сохранений\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eLogs folder\u003c/strong\u003e / \u003cstrong\u003eПапка журналов\u003c/strong\u003e (\u003ccode\u003eLogsFolder\u003c/code\u003e) - папка для хранения логов\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTitle dumps folder\u003c/strong\u003e / \u003cstrong\u003eПапка для дампа игр\u003c/strong\u003e (\u003ccode\u003eDumpsFolder\u003c/code\u003e) - папка на карте памяти в которую будут дампиться игры\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eVersion info URL\u003c/strong\u003e / \u003cstrong\u003eURL для проверки обновлений\u003c/strong\u003e (\u003ccode\u003eVersionsURL\u003c/code\u003e) - может принимать прямую ссылку на файл на уудалённом сервере, либо на файл на карте памяти. Примеры: \u003ccode\u003ehttps://raw.githubusercontent.com/blawar/titledb/master/versions.txt\u003c/code\u003e или \u003ccode\u003esdmc:/versions.txt\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eShow cache warming indicator\u003c/strong\u003e / \u003cstrong\u003eПоказывать прогрев кеша\u003c/strong\u003e (\u003ccode\u003eShowCacheWarmingIndicator\u003c/code\u003e) - показывать уведомление о кешировании информации об установленных программах\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePut cursor down after selection\u003c/strong\u003e / \u003cstrong\u003eСмещать курсор после выделения\u003c/strong\u003e (\u003ccode\u003eMoveDownAfterX\u003c/code\u003e) - сдвигать или нет курсор после отмечания игры кнопкой \u003cstrong\u003e(X)\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eScreen idle time in seconds\u003c/strong\u003e / \u003cstrong\u003eВремя гашения экрана в секундах\u003c/strong\u003e (\u003ccode\u003eScreenIdleTimeout\u003c/code\u003e) - таймаут гашения дисплея\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAutorepeat buttons when holding\u003c/strong\u003e / \u003cstrong\u003eАвтоповтор кнопки при удержании\u003c/strong\u003e (\u003ccode\u003eAutorepeat\u003c/code\u003e) - перемещаться по меню удерживанием кнопки\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCursor on both panels\u003c/strong\u003e / \u003cstrong\u003eКурсор на обеих панелях\u003c/strong\u003e (\u003ccode\u003eSecondcursor\u003c/code\u003e) - отображать или нет курсор на неактивной панели\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eЕсть в конфиге, но нет в меню:\u003c/strong\u003e\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eAppSorting\u003c/strong\u003e - опции для сортировки списка приложений\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSaveSorting\u003c/strong\u003e - опции для сортировки сохранений\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eMain menu / Главное меню (\u003ccode\u003e[MainMenu]\u003c/code\u003e)\u003c/h4\u003e\u003ca id=\"user-content-main-menu--главное-меню-mainmenu\" class=\"anchor\" aria-label=\"Permalink: Main menu / Главное меню ([MainMenu])\" href=\"#main-menu--главное-меню-mainmenu\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eНастройки пунктов меню, которые будут отображаться в главном меню DBI. \u003cstrong\u003eYes\u003c/strong\u003e / \u003cstrong\u003eДа\u003c/strong\u003e в настройках, соответствует \u003cstrong\u003etrue\u003c/strong\u003e в конфиге, \u003cstrong\u003eNo\u003c/strong\u003e / \u003cstrong\u003eНет\u003c/strong\u003e - \u003cstrong\u003efalse\u003c/strong\u003e\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eBrowse SD Card\u003c/strong\u003e / \u003cstrong\u003eПросмотр SD карты\u003c/strong\u003e (\u003ccode\u003eBrowseSD\u003c/code\u003e) - пункт \"\u003ca href=\"#browse-sd-card--%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80-sd-%D0%BA%D0%B0%D1%80%D1%82%D1%8B-%D0%B8-browse-usb0-drive--%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80-usb0-%D0%B4%D0%B8%D1%81%D0%BA%D0%B0\"\u003eBrowse SD Card / Просмотр SD карты\u003c/a\u003e\", для установки игр с Sd карты\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBrowse SYSTEM\u003c/strong\u003e / \u003cstrong\u003eПросмотр раздела SYSTEM\u003c/strong\u003e (\u003ccode\u003eBrowseSystem\u003c/code\u003e) - возможность просматривать и копировать файлы из раздела SYSTEM\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBrowse USER\u003c/strong\u003e / \u003cstrong\u003eПросмотр раздела USER\u003c/strong\u003e (\u003ccode\u003eBrowseUser\u003c/code\u003e) - возможность просматривать и копировать файлы из раздела USER\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBrowse USB\u003c/strong\u003e / \u003cstrong\u003eПросмотр USB носителей\u003c/strong\u003e (\u003ccode\u003eUSBHost\u003c/code\u003e) - пункт \"\u003cstrong\u003eBrowse USB0 Drive / Просмотр USB0 диска\u003c/strong\u003e, для установки игр с внешнего USB\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eInstall from USB\u003c/strong\u003e / \u003cstrong\u003eУстановка через DBIbackend\u003c/strong\u003e (\u003ccode\u003eBackendInstall\u003c/code\u003e) - пункт \"\u003ca href=\"#install-title-from-dbibackend--%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-dbibackend\"\u003eInstall title from DBIbackend / Установка через DBIbackend\u003c/a\u003e\"\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eInstall from Gamecard\u003c/strong\u003e / \u003cstrong\u003eУстановка с картриджа\u003c/strong\u003e (\u003ccode\u003eGameCard\u003c/code\u003e) - пункт \"\u003cstrong\u003eInstall title from Gamecard\u003c/strong\u003e / \u003cstrong\u003eУстановка с картриджа\u003c/strong\u003e\", для установки содержимого картриджа в память консоли\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBrowse network\u003c/strong\u003e / \u003cstrong\u003eПросмотр сети\u003c/strong\u003e (\u003ccode\u003eNetwork\u003c/code\u003e) - пункт \"\u003cstrong\u003eHome server\u003c/strong\u003e / \u003cstrong\u003eПодключение к серверу...\u003c/strong\u003e\", для установки игр с домашнего веб-сервера\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBrowse SD shortcuts\u003c/strong\u003e / \u003cstrong\u003eЗакладки на SD\u003c/strong\u003e (\u003ccode\u003eLocal\u003c/code\u003e) - показывать или нет ссылки на папки из раздела \u003ca href=\"#local-sources\"\u003eLocal sources\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBrowse applications\u003c/strong\u003e / \u003cstrong\u003eПросмотр установленных игр\u003c/strong\u003e (\u003ccode\u003eBrowseApps\u003c/code\u003e) - пункт \"\u003ca href=\"#browse-installed-applications\"\u003eBrowse installed applications\u003c/a\u003e\", для управления установленными приложениями\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCleanup orphaned files\u003c/strong\u003e / \u003cstrong\u003eОчистка потерянных файлов\u003c/strong\u003e (\u003ccode\u003eCleanup\u003c/code\u003e) - пункт \"\u003ca href=\"#cleanup-orphaned-files--%D0%BE%D1%87%D0%B8%D1%81%D1%82%D0%BA%D0%B0-%D0%BF%D0%BE%D1%82%D0%B5%D1%80%D1%8F%D0%BD%D0%BD%D1%8B%D1%85-%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2\"\u003eCleanup orphaned files / Очистка потерянных файлов\u003c/a\u003e\", для очистки \"осиротевших\" файлов с карты памяти\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCheck title updates\u003c/strong\u003e / \u003cstrong\u003eПроверка обновлений игр\u003c/strong\u003e (\u003ccode\u003eUpdateCheck\u003c/code\u003e) - пункт \"\u003cstrong\u003eCheck for title updates\u003c/strong\u003e / \u003cstrong\u003eПроверка обновлений игр\u003c/strong\u003e\", для проверки обновлений и DLC для установленных игр\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBrowse tickets\u003c/strong\u003e / \u003cstrong\u003eПросмотр тикетов\u003c/strong\u003e (\u003ccode\u003eTickets\u003c/code\u003e) - пункт \"\u003ca href=\"#browse-tickets--%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80-%D1%82%D0%B8%D0%BA%D0%B5%D1%82%D0%BE%D0%B2\"\u003eBrowse tickets / Просмотр тикетов\u003c/a\u003e\", для управления тикетами\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBrowse saves\u003c/strong\u003e / \u003cstrong\u003eПросмотр сохранений\u003c/strong\u003e (\u003ccode\u003eSaves\u003c/code\u003e) - \u003ca href=\"#browse-saves--%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80-%D1%81%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D0%B9\"\u003eBrowse saves / Просмотр сохранений\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRun MTP responder\u003c/strong\u003e / \u003cstrong\u003eЗапустить МТР соединение\u003c/strong\u003e (\u003ccode\u003eMTP\u003c/code\u003e) - пункт \"\u003ca href=\"#run-mtp-responder--%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D1%82%D0%B8%D1%82%D1%8C-mtp-%D1%81%D0%BE%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5\"\u003eRun MTP responder / Запустить MTP соединение\u003c/a\u003e\", для запуска MTP\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRun FTP server\u003c/strong\u003e / \u003cstrong\u003eЗапустить FTP сервер\u003c/strong\u003e (\u003ccode\u003eFTP\u003c/code\u003e) - пункт \"\u003cstrong\u003eRun FTP server\u003c/strong\u003e / \u003cstrong\u003eЗапустить FTP сервер\u003c/strong\u003e\", для запуска FTP\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eApplications / Установленные игры (\u003ccode\u003e[Applications]\u003c/code\u003e)\u003c/h4\u003e\u003ca id=\"user-content-applications--установленные-игры-applications\" class=\"anchor\" aria-label=\"Permalink: Applications / Установленные игры ([Applications])\" href=\"#applications--установленные-игры-applications\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eShow LFS folder size (slow)\u003c/strong\u003e / \u003cstrong\u003eПоказывать размер LFS (долго)\u003c/strong\u003e (\u003ccode\u003eCalculateLFSSize\u003c/code\u003e) - включает или отключает подсчёт размера установленных LFS-модов. Если включено, может повлиять на скорость открытия меню \"\u003cem\u003eBrowse installed applications\u003c/em\u003e\"\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eInstall options / Параметры установки (\u003ccode\u003e[Install]\u003c/code\u003e)\u003c/h4\u003e\u003ca id=\"user-content-install-options--параметры-установки-install\" class=\"anchor\" aria-label=\"Permalink: Install options / Параметры установки ([Install])\" href=\"#install-options--параметры-установки-install\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eCheck hash during install\u003c/strong\u003e / \u003cstrong\u003eПроверять хэш при установке\u003c/strong\u003e (\u003ccode\u003eCheckHash\u003c/code\u003e) - при \u003cstrong\u003etrue\u003c/strong\u003e проверяются хеши \u003ccode\u003e.nca\u003c/code\u003e-файлов при установке игр на Switch, при \u003cstrong\u003efalse\u003c/strong\u003e - нет\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eChunked HTTP/FTP transfer\u003c/strong\u003e / \u003cstrong\u003eБлочная передача по HTTP/FTP\u003c/strong\u003e (\u003ccode\u003eChunkedTransfer\u003c/code\u003e) - использование чанковую передачу данных по HTTP\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eMTP options / Параметры MTP (\u003ccode\u003e[MTP]\u003c/code\u003e)\u003c/h4\u003e\u003ca id=\"user-content-mtp-options--параметры-mtp-mtp\" class=\"anchor\" aria-label=\"Permalink: MTP options / Параметры MTP ([MTP])\" href=\"#mtp-options--параметры-mtp-mtp\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eShow combined NSP\u003c/strong\u003e / \u003cstrong\u003eПоказывать объединённый NSP\u003c/strong\u003e (\u003ccode\u003eShowCombinedNSPInInstalledGames\u003c/code\u003e) - \u003cstrong\u003efalse\u003c/strong\u003e выключает показ комбинированных (multi-title .NSP-file) тайтлов.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eShow 'Mods \u0026amp; Cheats' folder\u003c/strong\u003e / \u003cstrong\u003eПоказывать папку 'Mods\u0026amp;Cheats'\u003c/strong\u003e (\u003ccode\u003eShowMACInInstalledGames\u003c/code\u003e) - \u003cstrong\u003efalse\u003c/strong\u003e выключает показ виртуальной директории \u003cstrong\u003eMods \u0026amp; cheats\u003c/strong\u003e в пункте Installed games в MTP, перенаправляющей по пути \u003ccode\u003esdmc:/atmosphere/contents/TITLEID/\u003c/code\u003e на карту памяти\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUse TitleID for 'Mods \u0026amp; Cheats'\u003c/strong\u003e / \u003cstrong\u003eИспользовать для неё TitleID\u003c/strong\u003e (\u003ccode\u003eMACasTID\u003c/code\u003e) - отображать папку \"Mods \u0026amp; Cheats\" в режиме MTP в виде TitleID\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTurn off screen\u003c/strong\u003e / \u003cstrong\u003eВыключать экран\u003c/strong\u003e (\u003ccode\u003eTurnOffScreen\u003c/code\u003e) - отключать или нет экран консоли при подключении её в режиме MTP\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAndroid extensions\u003c/strong\u003e (\u003ccode\u003eReportAndroidExtension\u003c/code\u003e) - использовать или нет соответствующий набор команд при работе по MTP. Иногда ПК клиенты на базе libmtp (Mac или linux) не корректно распознают девайс в связи с чем может упасть скорость передачи данных. В таких случая рекомендуется попробовать изменить эту настройку.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eЕсть в конфиге, но нет в меню:\u003c/strong\u003e\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eLogAllFiles\u003c/strong\u003e — \u003cstrong\u003efalse\u003c/strong\u003e выключает логирование файлов меньше 4Мб при работе с MTP, при \u003cstrong\u003etrue\u003c/strong\u003e логируются все файлы.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eMTP storages / Хранилища MTP (\u003ccode\u003e[MTP Storages]\u003c/code\u003e)\u003c/h4\u003e\u003ca id=\"user-content-mtp-storages--хранилища-mtp-mtp-storages\" class=\"anchor\" aria-label=\"Permalink: MTP storages / Хранилища MTP ([MTP Storages])\" href=\"#mtp-storages--хранилища-mtp-mtp-storages\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eПоказ соответствующих элементов при работе \u003ca href=\"#run-mtp-responder--%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D1%82%D0%B8%D1%82%D1%8C-mtp-%D1%81%D0%BE%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5\"\u003eMTP Responder\u003c/a\u003e с ПК/Android, по умолчанию все пункты включены для отображения.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003etrue\u003c/strong\u003e - отображать в главном меню, \u003cstrong\u003efalse\u003c/strong\u003e - нет\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eНазвания пунктов соответствуют названиям разделов\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eSD Card\u003c/strong\u003e (\u003ccode\u003e1: SD Card\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNand USER\u003c/strong\u003e (\u003ccode\u003e2: Nand USER\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNand SYSTEM\u003c/strong\u003e (\u003ccode\u003e3: Nand SYSTEM\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eInstalled games\u003c/strong\u003e (\u003ccode\u003e4: Installed games\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSD Card install\u003c/strong\u003e (\u003ccode\u003e5: SD Card install\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNAND install\u003c/strong\u003e (\u003ccode\u003e6: NAND install\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSaves\u003c/strong\u003e (\u003ccode\u003e7: Saves\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAlbum\u003c/strong\u003e (\u003ccode\u003e8: Album\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eGamecard\u003c/strong\u003e (\u003ccode\u003e9: Gamecard\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eShow custom storages\u003c/strong\u003e / \u003cstrong\u003eПользовательские хранилища\u003c/strong\u003e (\u003ccode\u003eCustomStorages\u003c/code\u003e) - отображать или спрятать кастомные пункты меню, прописанные в секции \u003cstrong\u003eMTP custom storages\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFTP options / Параметры FTP (\u003ccode\u003e[FTP]\u003c/code\u003e)\u003c/h4\u003e\u003ca id=\"user-content-ftp-options--параметры-ftp-ftp\" class=\"anchor\" aria-label=\"Permalink: FTP options / Параметры FTP ([FTP])\" href=\"#ftp-options--параметры-ftp-ftp\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eTurn off screen\u003c/strong\u003e / \u003cstrong\u003eВыключать экран\u003c/strong\u003e (\u003ccode\u003eTurnOffScreen\u003c/code\u003e) - выключать экран при входе в режим FTP\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eStart local Access point\u003c/strong\u003e / \u003cstrong\u003eЗапускать точку доступа\u003c/strong\u003e (\u003ccode\u003eUseAP\u003c/code\u003e) - работа Switch в режиме точки доступа, к которой FTP-клиенты могут подключаться напрямую. Ниже настройки этой точки доступа\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRead file date\u003c/strong\u003e / \u003cstrong\u003eЧитать дату файлов\u003c/strong\u003e (\u003ccode\u003eReadMT\u003c/code\u003e) - читать или нет дату изменения файла\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eAccess point / Точка доступа (\u003ccode\u003e[Access point]\u003c/code\u003e)\u003c/h4\u003e\u003ca id=\"user-content-access-point--точка-доступа-access-point\" class=\"anchor\" aria-label=\"Permalink: Access point / Точка доступа ([Access point])\" href=\"#access-point--точка-доступа-access-point\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eSSID\u003c/strong\u003e (\u003ccode\u003eSSID\u003c/code\u003e) - название точки доступа\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePassword\u003c/strong\u003e / \u003cstrong\u003eПароль\u003c/strong\u003e (\u003ccode\u003ePassword\u003c/code\u003e) - пароль\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUse 5 GHz\u003c/strong\u003e / \u003cstrong\u003eИспользовать 5 GHz\u003c/strong\u003e (\u003ccode\u003eUse5GHz\u003c/code\u003e) - использовать ли 5 гигагерц. Если выключено, то будет работать в режиме 2.4 Ггц\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUse hidden SSID\u003c/strong\u003e / \u003cstrong\u003eИспользовать скрытый SSID\u003c/strong\u003e (\u003ccode\u003eHidden\u003c/code\u003e) - скрывать SSID для поиска. То есть подключиться можно будет только введя указанный SSID\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eЕсть в конфиге, но нет в меню\u003c/h4\u003e\u003ca id=\"user-content-есть-в-конфиге-но-нет-в-меню\" class=\"anchor\" aria-label=\"Permalink: Есть в конфиге, но нет в меню\" href=\"#есть-в-конфиге-но-нет-в-меню\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch5 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003ca href=\"#home-server--%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BA-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D1%83\"\u003eNetwork sources\u003c/a\u003e\u003c/h5\u003e\u003ca id=\"user-content-network-sources\" class=\"anchor\" aria-label=\"Permalink: Network sources\" href=\"#network-sources\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eЗадаются имена и адреса для установки игр по сети (через WiFi/LAN-адаптер)\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eNSP Indexer\u003c/strong\u003e - адрес для индексации NSP (\u003ca href=\"https://github.com/rashevskyv/dbi/issues/44\"\u003eподробнее\u003c/a\u003e)\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch5 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003cstrong\u003eLocal sources\u003c/strong\u003e\u003c/h5\u003e\u003ca id=\"user-content-local-sources\" class=\"anchor\" aria-label=\"Permalink: Local sources\" href=\"#local-sources\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eСоздание пунктов меню с быстрым доступом к выбранным в конфиге папкам на карте памяти («ярлыки»), например:\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003ccode\u003eHomebrew Shortcut=sdmc:/switch\u003c/code\u003e создаст в главном меню пункт \"\u003cstrong\u003eHomebrew Shortcut\u003c/strong\u003e\", который откроет папку \u003ccode\u003esdmc:/switch\u003c/code\u003e\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch5 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003cstrong\u003eMTP custom storages\u003c/strong\u003e\u003c/h5\u003e\u003ca id=\"user-content-mtp-custom-storages\" class=\"anchor\" aria-label=\"Permalink: MTP custom storages\" href=\"#mtp-custom-storages\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eКастомные пункты для MTP-режима для быстрого доступа к папкам на вашей карте памяти. Формат: \u003ccode\u003e\u0026lt;отображаемое_имя папки\u0026gt;=\u0026lt;путь\u0026gt;\u003c/code\u003e, например: \u003ccode\u003eHomebrew=sdmc:/switch\u003c/code\u003e.\nВ режиме MTP появится папка \u003ccode\u003eHomebrew\u003c/code\u003e, ссылающаяся на папку \u003ccode\u003eswitch\u003c/code\u003e на вашей карте памяти\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch5 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e\u003cstrong\u003eTitle name override\u003c/strong\u003e\u003c/h5\u003e\u003ca id=\"user-content-title-name-override\" class=\"anchor\" aria-label=\"Permalink: Title name override\" href=\"#title-name-override\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eПозволяет изменить имя отображаемого тайтла. Например, если указать \u003ccode\u003e10023901191C000=Naheulbeuk\u003c/code\u003e, то в приложении вместо \u003ccode\u003eThe Dungeon of Naheulbeuk: The Amulet of Chaos\u003c/code\u003e будет отображаться просто \u003ccode\u003eNaheulbeuk\u003c/code\u003e\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eExit / Выход\u003c/h3\u003e\u003ca id=\"user-content-exit--выход\" class=\"anchor\" aria-label=\"Permalink: Exit / Выход\" href=\"#exit--выход\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eExit\u003c/strong\u003e / \u003cstrong\u003eВыход\u003c/strong\u003e — выход из программы в HOS, минуя hbmenu, либо в hbmenu (это настраивается в dbi.config); если dbi был запущен из тайтла/форвардера, программа перезагрузится либо останется на чёрном экране.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eУведомления и коды ошибок\u003c/h2\u003e\u003ca id=\"user-content-уведомления-и-коды-ошибок\" class=\"anchor\" aria-label=\"Permalink: Уведомления и коды ошибок\" href=\"#уведомления-и-коды-ошибок\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eУВЕДОМЛЕНИЯ:\u003c/h3\u003e\u003ca id=\"user-content-уведомления\" class=\"anchor\" aria-label=\"Permalink: УВЕДОМЛЕНИЯ:\" href=\"#уведомления\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eОтображаются оранжевым цветом. Это НЕ ошибки!\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003e[SIGNATURE: Invalid] / [ПОДПИСЬ: OK]\u003c/strong\u003e, \u003cstrong\u003e[SIGNATURE: XCI-\u0026gt;NSP] / [ПОДПИСЬ: XCI-\u0026gt;NSP]\u003c/strong\u003e, \u003cstrong\u003e[HASH NOT MATCHED TO META] /[ХЕШ НЕ СОВПАДАЕТ]\u003c/strong\u003e, \u003cstrong\u003e[HASH FIXED IN META] / [ХЕШ ИСПРАВЛЕН]\u003c/strong\u003e — это НЕ ОШИБКИ, а уведомления о несовпадении подписи в заголовках, например, при использовании конвертации или редактирования, кастомного NSP, форвардера.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHASH MISMATCH\u003c/strong\u003e — чаще всего, это НЕ ОШИБКА, игра была сконвертирована из картриджа (тогда всё в порядке), иногда — имеются проблемы с целостностью файла, перекачайте-перехешируйте его, передачей данных по USB-кабелю/порту/в процессе установки между ПК и Switch. Если игра не запускается или запускается с ошибкой, попробуйте переустановить её снова, проверить либо заменить USB-кабель/SD/сменить USB-порт.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[DELTA SKIPPED] / [ДЕЛЬТА ФРАГМЕНТ НЕ НУЖЕН]\u003c/strong\u003e — это НЕ ОШИБКА, а уведомление, что ненужные фрагменты в файле обновления были пропущены, если они в нём были, как и было должно.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNo tickets found» / «Тикеты не найдены\u003c/strong\u003e — это НЕ ОШИБКА, на работоспособность игры не влият, но информирование, что игра без тикетов. Она может быть дампом из .XCI-картриджа или переконвертирована в Standard Crypto.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eApplication uses AddonContent titleId\u003c/strong\u003e / \u003cstrong\u003eИгра использует titleId от дополнения\u003c/strong\u003e, \u003cstrong\u003eApplication uses Update titleId\u003c/strong\u003e / \u003cstrong\u003eИгра использует titleId от обновления\u003c/strong\u003e — это НЕ ОШИБКА, обычно это указывает на homebrew-игру в .NSP, созданную не по стандартам, к примеру, когда в Application-тайтл (основную игру, v0) добавили и AddonContent-флаг (DLC). Если такая игра запускается и работает, тогда всё в порядке.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eThis application base is not stand alone. Make sure you installed update\u003c/strong\u003e / \u003cstrong\u003eБаза этой игры не самодостаточна. Не забудьте установить обновление\u003c/strong\u003e - при установке новых Sparse Storage игр — это НЕ ОШИБКА, не забудьте, кроме базового файла игры, установить ещё и апдейт к ней перед запуском.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eОШИБКИ:\u003c/h3\u003e\u003ca id=\"user-content-ошибки\" class=\"anchor\" aria-label=\"Permalink: ОШИБКИ:\" href=\"#ошибки\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eUSB communication failed\u003c/strong\u003e / \u003cstrong\u003eОшибка USB обмена\u003c/strong\u003e — проверьте/замените USB-кабель и USB-порт на ПК.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCannot parse content meta\u003c/strong\u003e / \u003cstrong\u003eНевозможно разобрать content meta\u003c/strong\u003e:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eOld firmware\u003c/strong\u003e / \u003cstrong\u003eУСТАРЕВШАЯ ПРОШИВКА\u003c/strong\u003e — ваша прошивка слишком устарела для анализа метафайла. Обновите CFW и системное ПО до последних версий\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUnexpected error\u003c/strong\u003e / \u003cstrong\u003eНеожиданная ошибка\u003c/strong\u003e — файл поврежден. Проверьте и перекачайте файл.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eInvalid PFS0 magic!\u003c/strong\u003e / \u003cstrong\u003eОшибка PFS0 magic\"\u003c/strong\u003e — перекачайте установочный файл игры и проверьте его целостность, этот файл повреждён.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[INVALID NCA MAGIC]\u003c/strong\u003e / \u003cstrong\u003e[ОШИБКА NCA MAGIC]\u003c/strong\u003e — обновитесь на последнюю версию OFW и CFW, если ошибка сохраняется после этого, перепроверьте целостность установочного файла игры.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eInstallation aborted\u003c/strong\u003e / \u003cstrong\u003eУстановка прервана\u003c/strong\u003e — ошибка в передаче данных, перепроверьте и при необходимости замените USB-кабель/USB-порт между Switch и ПК. Также обязательно убедитесь, что у вас установлена самая последняя версия программы, как вот в этом посте.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNothing to install\u003c/strong\u003e / \u003cstrong\u003eНечего устанавливать\u003c/strong\u003e в окне выборе файлов — переименуйте файл без спецсимволов, иероглифов или кириллицы в имени и пути к нему.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTransfer error\u003c/strong\u003e / \u003cstrong\u003eОшибка при передаче\u003c/strong\u003e, \u003cstrong\u003e[TRANSFER CRC ERROR]\u003c/strong\u003e / \u003cstrong\u003e[CRC ОШИБКА ПРЕДАЧИ]\u003c/strong\u003e, \u003cstrong\u003e[TRANSFER ABORTED]\u003c/strong\u003e / \u003cstrong\u003e[ПЕРЕДАЧА ПРЕРВАНА]\u003c/strong\u003e — проверить соединение USB-C кабеля и USB-порта, проверить с другими USB-C-кабелями, целостность файла игры и карту памяти на ошибки, при установке через MTP — запустить dbi через любую игру (тайтл) с удерживанием кнопки (R), а не в режиме апплета через альбомы.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eError occurred: Invalid argument\u003c/strong\u003e — обновите ваш dbi на последнюю версию.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSOME CONTENTS ARE MISSING. APPLICATION WILL BE UNUSABLE\u003c/strong\u003e / \u003cstrong\u003eЧАСТЬ КОНТЕНТА ОТСУТСТВУЕТ. ИГРА НЕ БУДЕТ РАБОТАТЬ\u003c/strong\u003e — битая файловая система карты памяти, или нерабочая/некачественная флешка. Проверьте её в chkdsk и h2testw, если нет ошибок, переформатируйте в FAT32.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e[NOT ENOUGH SPACE]\u003c/strong\u003e / \u003cstrong\u003e[НЕДОСТАТОЧНО МЕСТА]\u003c/strong\u003e, \u003cstrong\u003e[CAN NOT CREATE PLACEHOLDER]\u003c/strong\u003e / \u003cstrong\u003e[НЕ СОЗДАТЬ ПЛЕЙСХОЛДЕР]\u003c/strong\u003e — не хватает места на карте памяти/NAND, освободите его побольше, либо проблема с картой памяти. Проверьте её в chkdsk и h2testw, если нет ошибок, переформатируйте в FAT32.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eExtra buffers exceeded. Media write speed is too low\u003c/strong\u003e / \u003cstrong\u003eЗакончились дополнительные буферы. Скорость записи на носитель слишком низка\u003c/strong\u003e, при установке через MTP — запустить dbi через любую игру (тайтл) с удерживанием кнопки \u003cstrong\u003e(R)\u003c/strong\u003e; альтернативно — через NSP-форвардер, и использовать более быструю SD-карту с другим USB-кабелем/портом.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNo tickets found but they are required\u003c/strong\u003e / \u003cstrong\u003eНе найдены требуемые тикеты\u003c/strong\u003e — некорректный (неполный, без тикета но с titlerights) дамп игры, найдите другой.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eInvalid personalized ticket\u003c/strong\u003e / \u003cstrong\u003eНеподерживаемый персонализированный тикет\u003c/strong\u003e, в конце установки игры при инсталлировании .tik-тикета — некорректный дамп игры, где вместо common-тикета остался персонализированный с той консоли, на которой была куплена игра; скачайте другой, корректный дамп.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNo ES sigpatches!\u003c/strong\u003e / \u003cstrong\u003eОтсутствуют ES сигпатчи!\u003c/strong\u003e — не все, либо устаревшие, либо некорректно или не установленые сигпатчи на консоли, установите их самую новейшую версию.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eЦветовые коды:\u003c/h3\u003e\u003ca id=\"user-content-цветовые-коды\" class=\"anchor\" aria-label=\"Permalink: Цветовые коды:\" href=\"#цветовые-коды\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eОбщее\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cspan\u003eWHITE on BLACK BG\u003c/span\u003e - файл в фокусе\u003c/li\u003e\n\u003cli\u003e\u003cspan\u003eBLUE\u003c/span\u003e - выделенный файл (кнопкой \u003cstrong\u003e(X)\u003c/strong\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eВ меню \"\u003cstrong\u003eBrowse SD Card\u003c/strong\u003e\"\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cspan\u003eWHITE\u003c/span\u003e - папка\u003c/li\u003e\n\u003cli\u003e\u003cspan\u003eLIGHT GREY\u003c/span\u003e - файл\u003c/li\u003e\n\u003cli\u003e\u003cspan\u003eDARK GREY\u003c/span\u003e - установленная игра\u003c/li\u003e\n\u003cli\u003e\u003cspan\u003eGREEN\u003c/span\u003e - обновление и/или DLC для уже установленной игры\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eВ меню \"\u003cstrong\u003eBrowse installed applications\u003c/strong\u003e\"\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cspan\u003eWHITE\u003c/span\u003e - установленная игра\u003c/li\u003e\n\u003cli\u003e\u003cspan\u003eRED\u003c/span\u003e - установлен апдейт и/или DLC, без самой игры\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eВ логах\u003c/strong\u003e при установке:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cspan\u003eGREEN\u003c/span\u003e - завершено без ошибок\u003c/li\u003e\n\u003cli\u003e\u003cspan\u003eORANGE\u003c/span\u003e - завершено без ошибок, но с предупреждениями, например, о том, что установленный файл - конверт с картриджа, или о том, что в META был исправлен хеш\u003c/li\u003e\n\u003cli\u003e\u003cspan\u003eRED\u003c/span\u003e - \u003ca href=\"#%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8\"\u003eошибка\u003c/a\u003e. Файл не был установлен.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eВ логах\u003c/strong\u003e после установки:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cspan\u003eGREEN\u003c/span\u003e - завершено без ошибок\u003c/li\u003e\n\u003cli\u003e\u003cspan\u003eYELLOW\u003c/span\u003e - завершено без ошибок, но с предупреждениями\u003c/li\u003e\n\u003cli\u003e\u003cspan\u003eRED\u003c/span\u003e - завершено с ошибками\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003edbi.config\u003c/h2\u003e\u003ca id=\"user-content-dbiconfig\" class=\"anchor\" aria-label=\"Permalink: dbi.config\" href=\"#dbiconfig\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eФайл \u003ccode\u003edbi.config\u003c/code\u003e отвечает за хранение настроек программы. Он находится рядом с \u003ccode\u003eDBI.nro\u003c/code\u003e.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eРассмотрим его содержимое:\u003c/p\u003e\n\u003cdiv class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"; General settings\n[General]\n; Use libusbhsfs for access to USB mass storage drives connected to switch or dock\nUseLibUsbHsFS=true\n; Direct exit to homescreen\nExitToHomeScreen=false\n; Folder where saves backups are stored\nSavesFolder=sdmc:/switch/DBI/saves/\n; Log \u0026quot;Install\u0026quot;, \u0026quot;Check integrity\u0026quot; and \u0026quot;Cleanup\u0026quot; processes\nLogEvents=false\n; Folder where logs are stored\nLogsFolder=sdmc:/switch/DBI/logs/\n; Folder where game dumps are stored\nDumpsFolder=sdmc:/switch/DBI/dumps/\n; Sorting options for application list\nAppSorting=LastPlayed,InstallLocation,Size,Name\n; Sorting options for save list\nSaveSorting=AppLastPlayed,AppName,UserUid,Size,SaveId\n; Highlight files with updates to curently instaled titles in file browsers\nHighlightUpdates=true\n; Rotate screen upside down\nRotateScreen=false\n; Rotate joycons\nRotateJoycon=false\n; Underclock CPU in menues to reduce battery usage\nOptimizeClockSpeed=false\n; URL with title versions in format \u0026lt;id\u0026gt;|\u0026lt;rightsId\u0026gt;|[version]\nVersionsURL=https://raw.githubusercontent.com/blawar/titledb/master/versions.txt\n;VersionsURL=sdmc:/versions.txt\n;Browse saves FS in Read-only mode\nROSaveFS=true\n; Show \u0026quot;Update all items from here...\u0026quot; in context menu of file browsers\nShowUpdateFromHere=false\n; Show cache warming spinner\nShowCacheWarmingIndicator=true\n; Move cursor down after selection\nMoveDownAfterX=true\n; Screen idle timeout in seconds\nScreenIdleTimeout=0\n; Auto repeat nav. buttons when holding\nAutorepeat=true\n; Show cursors on both panels in two-panel browsinig mode\nSecondcursor=false\n; Backup saves before delete\nFoolproofSaveDelete=true\n\n; Visibility of main menu items\n[MainMenu]\n; Browse and install files from SD card\nBrowseSD=true\n; Browse and copy files from SYSTEM partition\nBrowseSystem=false\n; Browse and copy files from USER partition\nBrowseUser=false\n; Browse and install files from USB flash drives and HDD\nUSBHost=true\n; Browse and install files from PC via dbibackend\nBackendInstall=true\n; Install game from inserted game cartridge\nGameCard=true\n; Browse and install files from configured network sources\nNetwork=true\n; Browse and install files from configured sd card folders\nLocal=true\n; Browse installed applications\nBrowseApps=true\n; Clean up files left from bad installs/old updates/unused tickets and so on\nCleanup=true\n; Check for app updates\nUpdateCheck=true\n; View where you can view or delete installed tickets\nTickets=false\n; View where you can view or delete game saves\nSaves=true\n; MTP responder\nMTP=true\n; FTP Server\nFTP=true\n\n[Applications]\n; Whether check or not LFS mod size\nCalculateLFSSize=false\n\n; Install options\n[Install]\n; Check NCA hash during install\nCheckHash=true\n; Use chunked HTTP transfer (good in bad environments)\nChunkedTransfer=false\n\n; MTP options\n[MTP]\n; Log all files, if disabled transfer shows only for files \u0026gt;= 2M\nLogAllFiles=false\n; Show or not NSP that includes base game, latest update and all DLC in single multi-title file\nShowCombinedNSP=true\n; Show or not virtual \u0026quot;Mods \u0026amp; cheats\u0026quot; folder that redirects to sdmc:/atmosphere/contents/TITLEID\nShowMAC=true\n; Use TitleID for \u0026quot;Mods \u0026amp; cheats\u0026quot; folder\nMACasTID=true\n; Show user defined shortcuts to MircoSD folders as separate storages\nCustomStorages=true\n; Turn screen off on start MTP mode\nTurnOffScreen=false\n; Report android extension (some initiators thinks that android has bugs)\nReportAndroidExtension=true\n\n; FTP options\n[FTP]\n; Turn screen off on start FTP mode\nTurnOffScreen=false\n; Start local access point for FTP server\nUseAP=false\n; Read file modification time (can slow down on large dirs)\nReadMT=false\n\n; Access point options\n[Access point]\nSSID=\nPassword=\nUse5GHz=true\nHidden=false\n\n;Enable or disable various MTP storages\n[MTP Storages]\n1: SD Card=true\n2: Nand USER=false\n3: Nand SYSTEM=false\n4: Installed games=true\n5: SD Card install=true\n6: NAND install=true\n7: Saves=true\n8: Album=true\n9: Gamecard=true\n\n; Network install sources\n[Network sources]\n; \u0026lt;display name\u0026gt;=\u0026lt;type\u0026gt;|\u0026lt;URL\u0026gt;\n; NSP Indexer=URLList|http://192.168.1.47/nspindexer/index.php?DBI\n; Home server=ApacheHTTP|http://192.168.1.47/Nintendo/Switch/\n; Test FTP=FTP|ftp://anonymous:password@192.168.1.24:2121/\n\n; Main menu shortcuts to SD card locations\n[Local sources]\n; \u0026lt;display name\u0026gt;=\u0026lt;path\u0026gt;\nHomebrew=sdmc:/switch\n; Contents=sdmc:/atmosphere/contents\n; DBILogs=sdmc:/switch/DBI/logs\n\n[MTP custom storages]\n; \u0026lt;display name\u0026gt;=\u0026lt;path\u0026gt;\nHomebrew=sdmc:/switch/\nScreenshots=sdmc:/Nintendo/Album/\n\n; Override for display name\n; \u0026lt;UPPERCASED TID\u0026gt;=\u0026lt;Desired name\u0026gt;\n[Title name override]\n; 010023901191C000=Naheulbeuk\"\u003e\u003cpre class=\"notranslate\"\u003e\u003ccode\u003e; General settings\n[General]\n; Use libusbhsfs for access to USB mass storage drives connected to switch or dock\nUseLibUsbHsFS=true\n; Direct exit to homescreen\nExitToHomeScreen=false\n; Folder where saves backups are stored\nSavesFolder=sdmc:/switch/DBI/saves/\n; Log \"Install\", \"Check integrity\" and \"Cleanup\" processes\nLogEvents=false\n; Folder where logs are stored\nLogsFolder=sdmc:/switch/DBI/logs/\n; Folder where game dumps are stored\nDumpsFolder=sdmc:/switch/DBI/dumps/\n; Sorting options for application list\nAppSorting=LastPlayed,InstallLocation,Size,Name\n; Sorting options for save list\nSaveSorting=AppLastPlayed,AppName,UserUid,Size,SaveId\n; Highlight files with updates to curently instaled titles in file browsers\nHighlightUpdates=true\n; Rotate screen upside down\nRotateScreen=false\n; Rotate joycons\nRotateJoycon=false\n; Underclock CPU in menues to reduce battery usage\nOptimizeClockSpeed=false\n; URL with title versions in format \u0026lt;id\u0026gt;|\u0026lt;rightsId\u0026gt;|[version]\nVersionsURL=https://raw.githubusercontent.com/blawar/titledb/master/versions.txt\n;VersionsURL=sdmc:/versions.txt\n;Browse saves FS in Read-only mode\nROSaveFS=true\n; Show \"Update all items from here...\" in context menu of file browsers\nShowUpdateFromHere=false\n; Show cache warming spinner\nShowCacheWarmingIndicator=true\n; Move cursor down after selection\nMoveDownAfterX=true\n; Screen idle timeout in seconds\nScreenIdleTimeout=0\n; Auto repeat nav. buttons when holding\nAutorepeat=true\n; Show cursors on both panels in two-panel browsinig mode\nSecondcursor=false\n; Backup saves before delete\nFoolproofSaveDelete=true\n\n; Visibility of main menu items\n[MainMenu]\n; Browse and install files from SD card\nBrowseSD=true\n; Browse and copy files from SYSTEM partition\nBrowseSystem=false\n; Browse and copy files from USER partition\nBrowseUser=false\n; Browse and install files from USB flash drives and HDD\nUSBHost=true\n; Browse and install files from PC via dbibackend\nBackendInstall=true\n; Install game from inserted game cartridge\nGameCard=true\n; Browse and install files from configured network sources\nNetwork=true\n; Browse and install files from configured sd card folders\nLocal=true\n; Browse installed applications\nBrowseApps=true\n; Clean up files left from bad installs/old updates/unused tickets and so on\nCleanup=true\n; Check for app updates\nUpdateCheck=true\n; View where you can view or delete installed tickets\nTickets=false\n; View where you can view or delete game saves\nSaves=true\n; MTP responder\nMTP=true\n; FTP Server\nFTP=true\n\n[Applications]\n; Whether check or not LFS mod size\nCalculateLFSSize=false\n\n; Install options\n[Install]\n; Check NCA hash during install\nCheckHash=true\n; Use chunked HTTP transfer (good in bad environments)\nChunkedTransfer=false\n\n; MTP options\n[MTP]\n; Log all files, if disabled transfer shows only for files \u0026gt;= 2M\nLogAllFiles=false\n; Show or not NSP that includes base game, latest update and all DLC in single multi-title file\nShowCombinedNSP=true\n; Show or not virtual \"Mods \u0026amp; cheats\" folder that redirects to sdmc:/atmosphere/contents/TITLEID\nShowMAC=true\n; Use TitleID for \"Mods \u0026amp; cheats\" folder\nMACasTID=true\n; Show user defined shortcuts to MircoSD folders as separate storages\nCustomStorages=true\n; Turn screen off on start MTP mode\nTurnOffScreen=false\n; Report android extension (some initiators thinks that android has bugs)\nReportAndroidExtension=true\n\n; FTP options\n[FTP]\n; Turn screen off on start FTP mode\nTurnOffScreen=false\n; Start local access point for FTP server\nUseAP=false\n; Read file modification time (can slow down on large dirs)\nReadMT=false\n\n; Access point options\n[Access point]\nSSID=\nPassword=\nUse5GHz=true\nHidden=false\n\n;Enable or disable various MTP storages\n[MTP Storages]\n1: SD Card=true\n2: Nand USER=false\n3: Nand SYSTEM=false\n4: Installed games=true\n5: SD Card install=true\n6: NAND install=true\n7: Saves=true\n8: Album=true\n9: Gamecard=true\n\n; Network install sources\n[Network sources]\n; \u0026lt;display name\u0026gt;=\u0026lt;type\u0026gt;|\u0026lt;URL\u0026gt;\n; NSP Indexer=URLList|http://192.168.1.47/nspindexer/index.php?DBI\n; Home server=ApacheHTTP|http://192.168.1.47/Nintendo/Switch/\n; Test FTP=FTP|ftp://anonymous:password@192.168.1.24:2121/\n\n; Main menu shortcuts to SD card locations\n[Local sources]\n; \u0026lt;display name\u0026gt;=\u0026lt;path\u0026gt;\nHomebrew=sdmc:/switch\n; Contents=sdmc:/atmosphere/contents\n; DBILogs=sdmc:/switch/DBI/logs\n\n[MTP custom storages]\n; \u0026lt;display name\u0026gt;=\u0026lt;path\u0026gt;\nHomebrew=sdmc:/switch/\nScreenshots=sdmc:/Nintendo/Album/\n\n; Override for display name\n; \u0026lt;UPPERCASED TID\u0026gt;=\u0026lt;Desired name\u0026gt;\n[Title name override]\n; 010023901191C000=Naheulbeuk\n\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eОписание каждого пункта в отдельности находятся в разделе \u003ca href=\"#configuration--%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8-dbi-%D0%B8-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B-%D1%84%D0%B0%D0%B9%D0%BB%D0%B0-dbiconfig\"\u003eнастроек DBI\u003c/a\u003e\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eДругие возможности\u003c/h2\u003e\u003ca id=\"user-content-другие-возможности\" class=\"anchor\" aria-label=\"Permalink: Другие возможности\" href=\"#другие-возможности\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eМонтирование содержимого установленных игр по MTP\u003c/h3\u003e\u003ca id=\"user-content-монтирование-содержимого-установленных-игр-по-mtp\" class=\"anchor\" aria-label=\"Permalink: Монтирование содержимого установленных игр по MTP\" href=\"#монтирование-содержимого-установленных-игр-по-mtp\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eПерейдите в \u003cstrong\u003eBrowse installed applications\u003c/strong\u003e / \u003cstrong\u003eПросмотр установленных игр\u003c/strong\u003e -\u0026gt; Выберите необходимые игры кнопкой \u003cstrong\u003e(X)\u003c/strong\u003e -\u0026gt; Нажмите \u003cstrong\u003e(+)\u003c/strong\u003e -\u0026gt; \u003cstrong\u003eExpose contend via MTP\u003c/strong\u003e\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eБекап и восстановление сохранений по MTP\u003c/h3\u003e\u003ca id=\"user-content-бекап-и-восстановление-сохранений-по-mtp\" class=\"anchor\" aria-label=\"Permalink: Бекап и восстановление сохранений по MTP\" href=\"#бекап-и-восстановление-сохранений-по-mtp\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003col dir=\"auto\"\u003e\n\u003cli\u003eПодключите приставку в режиме MTP по DBI\u003c/li\u003e\n\u003cli\u003eПерейдите в папку \u003cstrong\u003eSaves\u003c/strong\u003e на вашем ПК\u003c/li\u003e\n\u003cli\u003eВы можете как скопировать сейвы на ПК, так и восстановить их, просто перетянув в эту папку\u003c/li\u003e\n\u003c/ol\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eИспользование DBI для установки модификаций\u003c/h3\u003e\u003ca id=\"user-content-использование-dbi-для-установки-модификаций\" class=\"anchor\" aria-label=\"Permalink: Использование DBI для установки модификаций\" href=\"#использование-dbi-для-установки-модификаций\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003col dir=\"auto\"\u003e\n\u003cli\u003eПодключите приставку в режиме MTP по DBI\u003c/li\u003e\n\u003cli\u003eПерейдите в \u003cstrong\u003eInstalled Games\u003c/strong\u003e, в папку с названием вашей игры\u003c/li\u003e\n\u003cli\u003eПерейдите в папку \u003cstrong\u003eMods \u0026amp; Cheats\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eПоместите в папку \u003cstrong\u003eMods \u0026amp; Cheats\u003c/strong\u003e ваш мод\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eБудьте внимательны\u003c/strong\u003e, вам нужно класть не саму папку с titleID игры, а её содержимое! Например, вы скачали перевод для игры Cadence of Hyrule, в виде архиве \u003ccode\u003eCadence of Hyrule.rar\u003c/code\u003e. Внутри этого архива вы видите папку с TitleID игры - \u003ccode\u003e01000B900D8B0000\u003c/code\u003e. Вам нужно распаковать архив, перейти в папку \u003ccode\u003e01000B900D8B0000\u003c/code\u003e и скопировать всё содержимое папки в \u003cstrong\u003eMods \u0026amp; Cheats\u003c/strong\u003e! Не саму папку \u003ccode\u003e01000B900D8B0000\u003c/code\u003e, а всё то, что в ней находится! В данном примере, папку \u003ccode\u003eromfs\u003c/code\u003e\u003c/li\u003e\n\u003c/ol\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eUSB 3.0\u003c/h3\u003e\u003ca id=\"user-content-usb-30\" class=\"anchor\" aria-label=\"Permalink: USB 3.0\" href=\"#usb-30\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eDBI поддерживает работу по USB 3.0. Если вы используете kefir, то USB 3.0 активно по-умолчанию. В ином случае, нужно активировать эту функцию через конфигурационные файлы Atmosphere, прописав в \u003ccode\u003eatmosphere\\config\\system_settings.ini\u003c/code\u003e:\u003c/p\u003e\n\u003cdiv class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"[usb]\nusb30_force_enabled = u8!0x1\"\u003e\u003cpre class=\"notranslate\"\u003e\u003ccode\u003e[usb]\nusb30_force_enabled = u8!0x1\n\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eВажно\u003c/strong\u003e - активация USB 3.0 может повлиять на работу беспроводных соединений Bluetooth и Wi-Fi на частоте 2.4 ГГц. Если у вас возникают проблемы с подключением беспроводных контроллеров или сетей Wi-Fi на частоте 2.4 ГГц, то не следует активировать USB 3.0. Связь через Wi-Fi на частоте 5 ГГц не пострадает.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eВосстановление бекапа чистых пользовательских сохранений\u003c/h3\u003e\u003ca id=\"user-content-восстановление-бекапа-чистых-пользовательских-сохранений\" class=\"anchor\" aria-label=\"Permalink: Восстановление бекапа чистых пользовательских сохранений\" href=\"#восстановление-бекапа-чистых-пользовательских-сохранений\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eЭто нешифрованные сохранения, которые лежат в папке \u003ccode\u003eUSER:/saves\u003c/code\u003e. В случае, если эмунанд поврежден, то эти сохранения можно достать через ПК или Tegra Explorer и восстановить через DBI.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eВы можете положить эти сохранения в папку с бекапами сохранений DBI (\u003ccode\u003e/switch/dbi/saves\u003c/code\u003e по умолчанию) и восстановить через стандартное меню восстановления сейвов (имя пользователя в таком случае будет взято в фигурные скобки \u003ccode\u003e{}\u003c/code\u003e), либо через контекстное меню, вызванное на файле такого сохранения.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eУстановка картинки в качестве аватара\u003c/h3\u003e\u003ca id=\"user-content-установка-картинки-в-качестве-аватара\" class=\"anchor\" aria-label=\"Permalink: Установка картинки в качестве аватара\" href=\"#установка-картинки-в-качестве-аватара\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eНаведите курсор на нужную картинку и вызовите контекстное меню кнопкой (+). Выберите \u003cstrong\u003eSet as avatar... / Установить как аватар\u003c/strong\u003e. Выбранная картинка будет установлена в качестве аватара. Картинка автоматически будет сжата до квадратных пропорций и уменьшена для необходимого размера. Если хотите, чтобы картинка не деформировалась, то подготовьте её заранее.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eРедактирование и просмотр файлов\u003c/h3\u003e\u003ca id=\"user-content-редактирование-и-просмотр-файлов\" class=\"anchor\" aria-label=\"Permalink: Редактирование и просмотр файлов\" href=\"#редактирование-и-просмотр-файлов\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eЛюбой файл можно открыть как текстовый или в виде HEX. Не пустой файл открывапется в режиме просмотра, однако, клавиша (L3) переключит на режим режактирования. Рассмотрим оба режима отдельно.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eТак же вы можете создать пустой текстовый файл из контекстного меню (вызывается кнопкой (+) \u0026gt; \u003cstrong\u003eСоздать новый файл...\u003c/strong\u003e). При открытии пустого текстового файла, редактор запустится автоматически.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eРежим просмотра файлов\u003c/h4\u003e\u003ca id=\"user-content-режим-просмотра-файлов\" class=\"anchor\" aria-label=\"Permalink: Режим просмотра файлов\" href=\"#режим-просмотра-файлов\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eГорячие клавиши:\u003c/strong\u003e\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eDPAD / Левый стик / Правый стик\u003c/strong\u003e - прокрутка текста\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e(L) / (R) / (ZL) / (ZR)\u003c/strong\u003e - следующая / предыдущая страница (экран)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e(R3)\u003c/strong\u003e - смена режима просмотра текст или HEX\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e(L3)\u003c/strong\u003e - переход в режим редактирования\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e(+)\u003c/strong\u003e - контекстное меню\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eКонтекстнрое меню:\u003c/strong\u003e\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eРедактирование\u003c/strong\u003e - переход в режим редактирования\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eКодировка\u003c/strong\u003e - изменить кодировку текста. Обратите внимание, что при смене кодировки в режиме просмотра, при закрыытии файла и повторном его открытии, кодировка не изменится\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eПеренос строк\u003c/strong\u003e - переносить или нет текст на новую строку при достижении им края экрана\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eРежим редактирования файлов\u003c/h4\u003e\u003ca id=\"user-content-режим-редактирования-файлов\" class=\"anchor\" aria-label=\"Permalink: Режим редактирования файлов\" href=\"#режим-редактирования-файлов\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eВы можете осуществлять редактирование текста перемещаясь по клавиатуре правым стиком и выбирая букву кнопокой (А).\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eГорячие клавиши:\u003c/strong\u003e\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eПравый стик\u003c/strong\u003e - перемещение по клавиатуре\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDPAD / Левый стик\u003c/strong\u003e - перемещение по тексту\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e(A)\u003c/strong\u003e - выбор подсвеченного символа на клавиатуре\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e(X)\u003c/strong\u003e - удалить символ (Backspace)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e(B)\u003c/strong\u003e - меню сохранения файла\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e(Y)\u003c/strong\u003e - пробел\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e(L)+(ВЛЕВО)\u003c/strong\u003e - Перейти в начало строки (HOME)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e(L)+(ВПРАВО)\u003c/strong\u003e - Перейти в конец строки (END)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e(R)+(ВЛЕВО)\u003c/strong\u003e - Перейти на следующее слово\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e(R)+(ВПРАВО)\u003c/strong\u003e - Перейти на предыдущее слово\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e(ZL)\u003c/strong\u003e - смена регистра\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e(ZR)\u003c/strong\u003e - переход на следующую строку (Enter)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e(R3)\u003c/strong\u003e - смена языка\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e(L3)\u003c/strong\u003e - переход в режим просмотра\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003eПри закрытии файла или переходе в режим просмотра, можно выбрать сохранять изменения или нет, если в файл вносились изменения\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eБлагодарности\u003c/h2\u003e\u003ca id=\"user-content-благодарности\" class=\"anchor\" aria-label=\"Permalink: Благодарности\" href=\"#благодарности\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eСпасибо \u003ca href=\"https://github.com/SciresM\"\u003eSciresM\u003c/a\u003e за \u003ca href=\"https://github.com/SciresM/hactool\"\u003ehactool\u003c/a\u003e (лицензия \u003ca href=\"https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_ISC\" rel=\"nofollow\"\u003eISC\u003c/a\u003e) - DBI использует некоторые структуры данных, взятые оттуда.\u003c/p\u003e\n\u003c/article\u003e","loaded":true,"timedOut":false,"errorMessage":null,"headerInfo":{"toc":[{"level":1,"text":"DBI","anchor":"dbi","htmlText":"DBI"},{"level":2,"text":"Содержание:","anchor":"содержание","htmlText":"Содержание:"},{"level":2,"text":"Установка","anchor":"установка","htmlText":"Установка"},{"level":2,"text":"Использование","anchor":"использование","htmlText":"Использование"},{"level":3,"text":"Интерфейс","anchor":"интерфейс","htmlText":"Интерфейс"},{"level":3,"text":"Управление","anchor":"управление","htmlText":"Управление"},{"level":3,"text":"Browse SD Card / Просмотр SD карты и Browse USB0 Drive / Просмотр USB0 диска","anchor":"browse-sd-card--просмотр-sd-карты-и-browse-usb0-drive--просмотр-usb0-диска","htmlText":"Browse SD Card / Просмотр SD карты и Browse USB0 Drive / Просмотр USB0 диска"},{"level":3,"text":"Install title from DBIbackend / Установка через DBIbackend","anchor":"install-title-from-dbibackend--установка-через-dbibackend","htmlText":"Install title from DBIbackend / Установка через DBIbackend"},{"level":4,"text":"Зависимости, которые могут потребоваться для работы в MacOS или Linux","anchor":"зависимости-которые-могут-потребоваться-для-работы-в-macos-или-linux","htmlText":"Зависимости, которые могут потребоваться для работы в MacOS или Linux"},{"level":3,"text":"Home server / Подключение к серверу","anchor":"home-server--подключение-к-серверу","htmlText":"Home server / Подключение к серверу"},{"level":3,"text":"Browse installed applications / Просмотр установленных игр","anchor":"browse-installed-applications--просмотр-установленных-игр","htmlText":"Browse installed applications / Просмотр установленных игр"},{"level":4,"text":"Контекстное меню тайтла","anchor":"контекстное-меню-тайтла","htmlText":"Контекстное меню тайтла"},{"level":3,"text":"Детальное меню игры","anchor":"детальное-меню-игры","htmlText":"Детальное меню игры"},{"level":4,"text":"Content records / Контент","anchor":"content-records--контент","htmlText":"Content records / Контент"},{"level":4,"text":"Tickets / Тикеты","anchor":"tickets--тикеты","htmlText":"Tickets / Тикеты"},{"level":4,"text":"Saves / Сохранения","anchor":"saves--сохранения","htmlText":"Saves / Сохранения"},{"level":3,"text":"Browse tickets / Просмотр тикетов","anchor":"browse-tickets--просмотр-тикетов","htmlText":"Browse tickets / Просмотр тикетов"},{"level":4,"text":"Контекстное меню тикетов","anchor":"контекстное-меню-тикетов","htmlText":"Контекстное меню тикетов"},{"level":3,"text":"Tools / Инструменты","anchor":"tools--инструменты","htmlText":"Tools / Инструменты"},{"level":3,"text":"Browse saves / Просмотр сохранений","anchor":"browse-saves--просмотр-сохранений","htmlText":"Browse saves / Просмотр сохранений"},{"level":4,"text":"Контекстное меню Installed / Установленные и Uninstalled / Удалённые","anchor":"контекстное-меню-installed--установленные-и-uninstalled--удалённые","htmlText":"Контекстное меню Installed / Установленные и Uninstalled / Удалённые"},{"level":4,"text":"Контекстное меню Backups / Бекапы","anchor":"контекстное-меню-backups--бекапы","htmlText":"Контекстное меню Backups / Бекапы"},{"level":3,"text":"Run MTP responder / Запустить MTP соединение","anchor":"run-mtp-responder--запустить-mtp-соединение","htmlText":"Run MTP responder / Запустить MTP соединение"},{"level":3,"text":"Activity Log / Настройки активности","anchor":"activity-log--настройки-активности","htmlText":"Activity Log / Настройки активности"},{"level":4,"text":"Applications / Запускавшиеся игры","anchor":"applications--запускавшиеся-игры","htmlText":"Applications / Запускавшиеся игры"},{"level":4,"text":"Activity / Диаграмма активности","anchor":"activity--диаграмма-активности","htmlText":"Activity / Диаграмма активности"},{"level":3,"text":"Configuration / Настройки DBI и параметры файла dbi.config","anchor":"configuration--настройки-dbi-и-параметры-файла-dbiconfig","htmlText":"Configuration / Настройки DBI и параметры файла dbi.config"},{"level":4,"text":"General / Общие ([General])","anchor":"general--общие-general","htmlText":"General / Общие ([General])"},{"level":4,"text":"Main menu / Главное меню ([MainMenu])","anchor":"main-menu--главное-меню-mainmenu","htmlText":"Main menu / Главное меню ([MainMenu])"},{"level":4,"text":"Applications / Установленные игры ([Applications])","anchor":"applications--установленные-игры-applications","htmlText":"Applications / Установленные игры ([Applications])"},{"level":4,"text":"Install options / Параметры установки ([Install])","anchor":"install-options--параметры-установки-install","htmlText":"Install options / Параметры установки ([Install])"},{"level":4,"text":"MTP options / Параметры MTP ([MTP])","anchor":"mtp-options--параметры-mtp-mtp","htmlText":"MTP options / Параметры MTP ([MTP])"},{"level":4,"text":"MTP storages / Хранилища MTP ([MTP Storages])","anchor":"mtp-storages--хранилища-mtp-mtp-storages","htmlText":"MTP storages / Хранилища MTP ([MTP Storages])"},{"level":4,"text":"FTP options / Параметры FTP ([FTP])","anchor":"ftp-options--параметры-ftp-ftp","htmlText":"FTP options / Параметры FTP ([FTP])"},{"level":4,"text":"Access point / Точка доступа ([Access point])","anchor":"access-point--точка-доступа-access-point","htmlText":"Access point / Точка доступа ([Access point])"},{"level":4,"text":"Есть в конфиге, но нет в меню","anchor":"есть-в-конфиге-но-нет-в-меню","htmlText":"Есть в конфиге, но нет в меню"},{"level":5,"text":"Network sources","anchor":"network-sources","htmlText":"Network sources"},{"level":5,"text":"Local sources","anchor":"local-sources","htmlText":"Local sources"},{"level":5,"text":"MTP custom storages","anchor":"mtp-custom-storages","htmlText":"MTP custom storages"},{"level":5,"text":"Title name override","anchor":"title-name-override","htmlText":"Title name override"},{"level":3,"text":"Exit / Выход","anchor":"exit--выход","htmlText":"Exit / Выход"},{"level":2,"text":"Уведомления и коды ошибок","anchor":"уведомления-и-коды-ошибок","htmlText":"Уведомления и коды ошибок"},{"level":3,"text":"УВЕДОМЛЕНИЯ:","anchor":"уведомления","htmlText":"УВЕДОМЛЕНИЯ:"},{"level":3,"text":"ОШИБКИ:","anchor":"ошибки","htmlText":"ОШИБКИ:"},{"level":3,"text":"Цветовые коды:","anchor":"цветовые-коды","htmlText":"Цветовые коды:"},{"level":2,"text":"dbi.config","anchor":"dbiconfig","htmlText":"dbi.config"},{"level":2,"text":"Другие возможности","anchor":"другие-возможности","htmlText":"Другие возможности"},{"level":3,"text":"Монтирование содержимого установленных игр по MTP","anchor":"монтирование-содержимого-установленных-игр-по-mtp","htmlText":"Монтирование содержимого установленных игр по MTP"},{"level":3,"text":"Бекап и восстановление сохранений по MTP","anchor":"бекап-и-восстановление-сохранений-по-mtp","htmlText":"Бекап и восстановление сохранений по MTP"},{"level":3,"text":"Использование DBI для установки модификаций","anchor":"использование-dbi-для-установки-модификаций","htmlText":"Использование DBI для установки модификаций"},{"level":3,"text":"USB 3.0","anchor":"usb-30","htmlText":"USB 3.0"},{"level":3,"text":"Восстановление бекапа чистых пользовательских сохранений","anchor":"восстановление-бекапа-чистых-пользовательских-сохранений","htmlText":"Восстановление бекапа чистых пользовательских сохранений"},{"level":3,"text":"Установка картинки в качестве аватара","anchor":"установка-картинки-в-качестве-аватара","htmlText":"Установка картинки в качестве аватара"},{"level":3,"text":"Редактирование и просмотр файлов","anchor":"редактирование-и-просмотр-файлов","htmlText":"Редактирование и просмотр файлов"},{"level":4,"text":"Режим просмотра файлов","anchor":"режим-просмотра-файлов","htmlText":"Режим просмотра файлов"},{"level":4,"text":"Режим редактирования файлов","anchor":"режим-редактирования-файлов","htmlText":"Режим редактирования файлов"},{"level":2,"text":"Благодарности","anchor":"благодарности","htmlText":"Благодарности"}],"siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2FKissMeInTheDark%2Fswitch-plugins-dbi"}}],"overviewFilesProcessingTime":0}},"appPayload":{"helpUrl":"https://docs.github.com","findFileWorkerPath":"/assets-cdn/worker/find-file-worker-9f8a877aa99f.js","findInFileWorkerPath":"/assets-cdn/worker/find-in-file-worker-96e76d5fdb2c.js","githubDevUrl":null,"enabled_features":{"copilot_workspace":null,"code_nav_ui_events":false,"overview_shared_code_dropdown_button":false,"react_blob_overlay":false,"copilot_conversational_ux_embedding_update":false,"copilot_smell_icebreaker_ux":true,"accessible_code_button":true}}}}</script> <div data-target="react-partial.reactRoot"><style data-styled="true" data-styled-version="5.3.11">.iVEunk{margin-top:16px;margin-bottom:16px;}/*!sc*/ .jzuOtQ{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}/*!sc*/ .bGojzy{margin-bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;row-gap:16px;}/*!sc*/ .iNSVHo{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;padding-bottom:16px;padding-top:8px;}/*!sc*/ .bVgnfw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;gap:8px;}/*!sc*/ @media screen and (max-width:320px){.bVgnfw{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}}/*!sc*/ .CEgMp{position:relative;}/*!sc*/ @media screen and (max-width:380px){.CEgMp .ref-selector-button-text-container{max-width:80px;}}/*!sc*/ @media screen and (max-width:320px){.CEgMp{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}.CEgMp .overview-ref-selector{width:100%;}.CEgMp .overview-ref-selector > span{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;}.CEgMp .overview-ref-selector > span > span[data-component="text"]{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}}/*!sc*/ .gMOVLe[data-size="medium"]{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-width:0;}/*!sc*/ .gMOVLe[data-size="medium"] svg{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .gMOVLe[data-size="medium"] > span{width:inherit;}/*!sc*/ .gUkoLg{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}/*!sc*/ .bZBlpz{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;}/*!sc*/ .lhTYNA{margin-right:4px;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .ffLUq{font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}/*!sc*/ .fLXEGX{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ @media screen and (max-width:1079px){.fLXEGX{display:none;}}/*!sc*/ .lmSMZJ[data-size="medium"]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));padding-left:4px;padding-right:4px;}/*!sc*/ .lmSMZJ[data-size="medium"] span[data-component="leadingVisual"]{margin-right:4px !important;}/*!sc*/ .dqfxud{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ @media screen and (min-width:1080px){.dqfxud{display:none;}}/*!sc*/ @media screen and (max-width:543px){.dqfxud{display:none;}}/*!sc*/ .fGwBZA[data-size="medium"][data-no-visuals]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .jxTzTd{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:8px;gap:8px;}/*!sc*/ .gqqBXN{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:8px;}/*!sc*/ @media screen and (max-width:543px){.gqqBXN{display:none;}}/*!sc*/ .dzXgxt{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ @media screen and (max-width:1011px){.dzXgxt{display:none;}}/*!sc*/ .iWFGlI{margin-left:8px;margin-right:8px;margin:0;}/*!sc*/ .YUPas{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ @media screen and (min-width:1012px){.YUPas{display:none;}}/*!sc*/ .izFOf{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ @media screen and (min-width:544px){.izFOf{display:none;}}/*!sc*/ .cjVDqW{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:8px;background-color:var(--bgColor-muted,var(--color-canvas-subtle,#f6f8fa));font-size:14px;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;border:solid 1px;border-color:var(--borderColor-default,var(--color-border-default,#d0d7de));border-radius:6px;padding-left:16px;padding-right:8px;padding-top:8px;padding-bottom:8px;margin-bottom:16px;min-height:50px;}/*!sc*/ .vIPPs{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:16px;}/*!sc*/ .fdROMU{width:100%;border-collapse:separate;border-spacing:0;border:1px solid;border-color:var(--borderColor-default,var(--color-border-default,#d0d7de));border-radius:6px;table-layout:fixed;overflow:unset;}/*!sc*/ .jGKpsv{height:0px;line-height:0px;}/*!sc*/ .jGKpsv tr{height:0px;font-size:0px;}/*!sc*/ .jdgHnn{padding:16px;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));font-size:12px;text-align:left;height:40px;}/*!sc*/ .jdgHnn th{padding-left:16px;background-color:var(--bgColor-muted,var(--color-canvas-subtle,#f6f8fa));}/*!sc*/ .bQivRW{width:100%;border-top-left-radius:6px;}/*!sc*/ @media screen and (min-width:544px){.bQivRW{display:none;}}/*!sc*/ .ldkMIO{width:40%;border-top-left-radius:6px;}/*!sc*/ @media screen and (max-width:543px){.ldkMIO{display:none;}}/*!sc*/ .jMbWeI{text-align:right;padding-right:16px;width:136px;border-top-right-radius:6px;}/*!sc*/ .gpqjiB{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));font-size:12px;height:40px;}/*!sc*/ .dzCJzi{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;min-width:273px;padding:8px;}/*!sc*/ @media screen and (min-width:544px){.dzCJzi{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}}/*!sc*/ .eNCcrz{text-align:center;vertical-align:center;height:40px;border-top:1px solid;border-color:var(--borderColor-default,var(--color-border-default,#d0d7de));}/*!sc*/ .bHTcCe{border-top:1px solid var(--borderColor-default,var(--color-border-default));cursor:pointer;}/*!sc*/ .csrIcr{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;gap:16px;}/*!sc*/ .bUQNHB{border:1px solid;border-color:var(--borderColor-default,var(--color-border-default,#d0d7de));border-radius:6px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}/*!sc*/ @media screen and (max-width:543px){.bUQNHB{margin-left:-16px;margin-right:-16px;max-width:calc(100% + 32px);}}/*!sc*/ @media screen and (min-width:544px){.bUQNHB{max-width:100%;}}/*!sc*/ .jPdcfu{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;border-bottom:1px solid;border-bottom-color:var(--borderColor-default,var(--color-border-default,#d0d7de));-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-right:8px;position:-webkit-sticky;position:sticky;top:0;background-color:var(--bgColor-default,var(--color-canvas-default,#ffffff));z-index:1;border-top-left-radius:6px;border-top-right-radius:6px;}/*!sc*/ .hUCRAk{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ .cwoBXV[data-size="medium"]{color:var(--fgColor-muted,var(--color-fg-subtle,#6e7781));padding-left:8px;padding-right:8px;}/*!sc*/ .QkQOb{padding:32px;overflow:auto;}/*!sc*/ data-styled.g1[id="Box-sc-g0xbh4-0"]{content:"iVEunk,jzuOtQ,bGojzy,iNSVHo,bVgnfw,CEgMp,gMOVLe,gUkoLg,bZBlpz,lhTYNA,ffLUq,fLXEGX,lmSMZJ,dqfxud,fGwBZA,jxTzTd,gqqBXN,dzXgxt,iWFGlI,YUPas,izFOf,cjVDqW,vIPPs,fdROMU,jGKpsv,jdgHnn,bQivRW,ldkMIO,jMbWeI,gpqjiB,dzCJzi,eNCcrz,bHTcCe,csrIcr,bUQNHB,jPdcfu,hUCRAk,cwoBXV,QkQOb,"}/*!sc*/ .eMMFM{min-width:0;}/*!sc*/ .eMMFM:where([data-size='small']){font-size:var(--text-body-size-small,0.75rem);line-height:var(--text-body-lineHeight-small,1.6666);}/*!sc*/ .eMMFM:where([data-size='medium']){font-size:var(--text-body-size-medium,0.875rem);line-height:var(--text-body-lineHeight-medium,1.4285);}/*!sc*/ .eMMFM:where([data-size='large']){font-size:var(--text-body-size-large,1rem);line-height:var(--text-body-lineHeight-large,1.5);}/*!sc*/ .eMMFM:where([data-weight='light']){font-weight:var(--base-text-weight-light,300);}/*!sc*/ .eMMFM:where([data-weight='normal']){font-weight:var(--base-text-weight-normal,400);}/*!sc*/ .eMMFM:where([data-weight='medium']){font-weight:var(--base-text-weight-medium,500);}/*!sc*/ .eMMFM:where([data-weight='semibold']){font-weight:var(--base-text-weight-semibold,600);}/*!sc*/ data-styled.g3[id="Text__StyledText-sc-17v1xeu-0"]{content:"eMMFM,"}/*!sc*/ .brGdpi{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip:rect(0,0,0,0);clip:rect(0,0,0,0);white-space:nowrap;border-width:0;}/*!sc*/ data-styled.g4[id="_VisuallyHidden__VisuallyHidden-sc-11jhm7a-0"]{content:"brGdpi,"}/*!sc*/ .jkNcAv{border:0;font-size:inherit;font-family:inherit;background-color:transparent;-webkit-appearance:none;color:inherit;width:100%;}/*!sc*/ .jkNcAv:focus{outline:0;}/*!sc*/ data-styled.g13[id="UnstyledTextInput__ToggledUnstyledTextInput-sc-14ypya-0"]{content:"jkNcAv,"}/*!sc*/ .hLzFvi{font-size:14px;line-height:var(--base-size-20);color:var(--fgColor-default,var(--color-fg-default,#1F2328));vertical-align:middle;background-color:var(--bgColor-default,var(--color-canvas-default,#ffffff));border:1px solid var(--control-borderColor-rest,var(--borderColor-default,var(--color-border-default,#d0d7de)));border-radius:6px;outline:none;box-shadow:var(--shadow-inset,var(--color-primer-shadow-inset,inset 0 1px 0 rgba(208,215,222,0.2)));display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;min-height:var(--base-size-32);overflow:hidden;--inner-action-size:var(--base-size-24);}/*!sc*/ .hLzFvi input,.hLzFvi textarea{cursor:text;}/*!sc*/ .hLzFvi select{cursor:pointer;}/*!sc*/ .hLzFvi input::-webkit-input-placeholder,.hLzFvi textarea::-webkit-input-placeholder,.hLzFvi select::-webkit-input-placeholder{color:var(---control-fgColor-placeholder,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .hLzFvi input::-moz-placeholder,.hLzFvi textarea::-moz-placeholder,.hLzFvi select::-moz-placeholder{color:var(---control-fgColor-placeholder,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .hLzFvi input:-ms-input-placeholder,.hLzFvi textarea:-ms-input-placeholder,.hLzFvi select:-ms-input-placeholder{color:var(---control-fgColor-placeholder,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .hLzFvi input::placeholder,.hLzFvi textarea::placeholder,.hLzFvi select::placeholder{color:var(---control-fgColor-placeholder,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .hLzFvi:where([data-trailing-action][data-focused]),.hLzFvi:where(:not([data-trailing-action]):focus-within){border-color:var(--fgColor-accent,var(--color-accent-fg,#0969da));outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-1px;}/*!sc*/ .hLzFvi > textarea{padding:var(--base-size-12);}/*!sc*/ .hLzFvi:where([data-contrast]){background-color:var(--bgColor-inset,var(--color-canvas-inset,#f6f8fa));}/*!sc*/ .hLzFvi:where([data-disabled]){color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));background-color:var(--control-bgColor-disabled,var(--color-input-disabled-bg,rgba(175,184,193,0.2)));box-shadow:none;border-color:var(--control-borderColor-disabled,var(--borderColor-default,var(--color-border-default,#d0d7de)));}/*!sc*/ .hLzFvi:where([data-disabled]) input,.hLzFvi:where([data-disabled]) textarea,.hLzFvi:where([data-disabled]) select{cursor:not-allowed;}/*!sc*/ .hLzFvi:where([data-monospace]){font-family:var(--fontStack-monospace,SFMono-Regular,Consolas,"Liberation Mono",Menlo,Courier,monospace);}/*!sc*/ .hLzFvi:where([data-validation='error']){border-color:var(--borderColor-danger-emphasis,var(--color-danger-emphasis,#cf222e));}/*!sc*/ .hLzFvi:where([data-validation='error']):where([data-trailing-action][data-focused]),.hLzFvi:where([data-validation='error']):where(:not([data-trailing-action])):focus-within{border-color:var(--fgColor-accent,var(--color-accent-fg,#0969da));outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-1px;}/*!sc*/ .hLzFvi:where([data-validation='success']){border-color:var(--bgColor-success-emphasis,var(--color-success-emphasis,#1f883d));}/*!sc*/ .hLzFvi:where([data-block]){width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;}/*!sc*/ @media (min-width:768px){.hLzFvi{font-size:var(--text-body-size-medium);}}/*!sc*/ .hLzFvi:where([data-size='small']){--inner-action-size:var(--base-size-20);min-height:var(--base-size-28);padding-top:3px;padding-right:var(--base-size-8);padding-bottom:3px;padding-left:var(--base-size-8);font-size:var(--text-body-size-small);line-height:var(--base-size-20);}/*!sc*/ .hLzFvi:where([data-size='large']){--inner-action-size:var(--base-size-28);height:var(--base-size-40);padding-top:10px;padding-right:var(--base-size-8);padding-bottom:10px;padding-left:var(--base-size-8);}/*!sc*/ .hLzFvi:where([data-variant='small']){min-height:28px;padding-top:3px;padding-right:var(--base-size-8);padding-bottom:3px;padding-left:var(--base-size-8);font-size:(--text-body-size-small);line-height:var(--base-size-20);}/*!sc*/ .hLzFvi:where([data-variant='large']){padding-top:10px;padding-right:var(--base-size-8);padding-bottom:10px;padding-left:var(--base-size-8);font-size:var(--text-title-size-medium);}/*!sc*/ .hLzFvi{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-width:160px;}/*!sc*/ data-styled.g14[id="TextInputWrapper__StyledTextInputBaseWrapper-sc-1mqhpbi-0"]{content:"hLzFvi,"}/*!sc*/ .iHYdQq{background-repeat:no-repeat;background-position:right 8px center;padding-right:0;padding-left:0;}/*!sc*/ .iHYdQq > :not(:last-child){margin-right:8px;}/*!sc*/ .iHYdQq .TextInput-icon,.iHYdQq .TextInput-action{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}/*!sc*/ .iHYdQq > input,.iHYdQq > select{padding-right:0;padding-left:0;}/*!sc*/ .iHYdQq:where([data-leading-visual]){padding-left:var(--base-size-12);}/*!sc*/ .iHYdQq:where([data-trailing-visual]:not([data-trailing-action])){padding-right:var(--base-size-12);}/*!sc*/ .iHYdQq:where(:not([data-leading-visual])) > input,.iHYdQq:where(:not([data-leading-visual])) > select{padding-left:var(--base-size-12);}/*!sc*/ .iHYdQq:where(:not([data-trailing-visual]):not([data-trailing-action])) > input,.iHYdQq:where(:not([data-trailing-visual]):not([data-trailing-action])) > select{padding-right:var(--base-size-12);}/*!sc*/ .iHYdQq{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-width:160px;}/*!sc*/ data-styled.g15[id="TextInputWrapper__StyledTextInputWrapper-sc-1mqhpbi-1"]{content:"iHYdQq,"}/*!sc*/ .hWlpPn{position:relative;display:inline-block;}/*!sc*/ .hWlpPn::after{position:absolute;z-index:1000000;display:none;padding:0.5em 0.75em;font:normal normal 11px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";-webkit-font-smoothing:subpixel-antialiased;color:var(--tooltip-fgColor,var(--fgColor-onEmphasis,var(--color-fg-on-emphasis,#ffffff)));text-align:center;-webkit-text-decoration:none;text-decoration:none;text-shadow:none;text-transform:none;-webkit-letter-spacing:normal;-moz-letter-spacing:normal;-ms-letter-spacing:normal;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background:var(--tooltip-bgColor,var(--bgColor-emphasis,var(--color-neutral-emphasis-plus,#24292f)));border-radius:6px;opacity:0;}/*!sc*/ @-webkit-keyframes tooltip-appear{from{opacity:0;}to{opacity:1;}}/*!sc*/ @keyframes tooltip-appear{from{opacity:0;}to{opacity:1;}}/*!sc*/ .hWlpPn:hover::after,.hWlpPn:active::after,.hWlpPn:focus::after,.hWlpPn:focus-within::after{display:inline-block;-webkit-text-decoration:none;text-decoration:none;-webkit-animation-name:tooltip-appear;animation-name:tooltip-appear;-webkit-animation-duration:0.1s;animation-duration:0.1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;-webkit-animation-delay:0s;animation-delay:0s;}/*!sc*/ .hWlpPn.tooltipped-no-delay:hover::after,.hWlpPn.tooltipped-no-delay:active::after,.hWlpPn.tooltipped-no-delay:focus::after,.hWlpPn.tooltipped-no-delay:focus-within::after{-webkit-animation-delay:0s;animation-delay:0s;}/*!sc*/ .hWlpPn.tooltipped-multiline:hover::after,.hWlpPn.tooltipped-multiline:active::after,.hWlpPn.tooltipped-multiline:focus::after,.hWlpPn.tooltipped-multiline:focus-within::after{display:table-cell;}/*!sc*/ .hWlpPn.tooltipped-s::after,.hWlpPn.tooltipped-se::after,.hWlpPn.tooltipped-sw::after{top:100%;right:50%;margin-top:6px;}/*!sc*/ .hWlpPn.tooltipped-se::after{right:auto;left:50%;margin-left:-16px;}/*!sc*/ .hWlpPn.tooltipped-sw::after{margin-right:-16px;}/*!sc*/ .hWlpPn.tooltipped-n::after,.hWlpPn.tooltipped-ne::after,.hWlpPn.tooltipped-nw::after{right:50%;bottom:100%;margin-bottom:6px;}/*!sc*/ .hWlpPn.tooltipped-ne::after{right:auto;left:50%;margin-left:-16px;}/*!sc*/ .hWlpPn.tooltipped-nw::after{margin-right:-16px;}/*!sc*/ .hWlpPn.tooltipped-s::after,.hWlpPn.tooltipped-n::after{-webkit-transform:translateX(50%);-ms-transform:translateX(50%);transform:translateX(50%);}/*!sc*/ .hWlpPn.tooltipped-w::after{right:100%;bottom:50%;margin-right:6px;-webkit-transform:translateY(50%);-ms-transform:translateY(50%);transform:translateY(50%);}/*!sc*/ .hWlpPn.tooltipped-e::after{bottom:50%;left:100%;margin-left:6px;-webkit-transform:translateY(50%);-ms-transform:translateY(50%);transform:translateY(50%);}/*!sc*/ .hWlpPn.tooltipped-multiline::after{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:250px;word-wrap:break-word;white-space:pre-line;border-collapse:separate;}/*!sc*/ .hWlpPn.tooltipped-multiline.tooltipped-s::after,.hWlpPn.tooltipped-multiline.tooltipped-n::after{right:auto;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);}/*!sc*/ .hWlpPn.tooltipped-multiline.tooltipped-w::after,.hWlpPn.tooltipped-multiline.tooltipped-e::after{right:100%;}/*!sc*/ .hWlpPn.tooltipped-align-right-2::after{right:0;margin-right:0;}/*!sc*/ .hWlpPn.tooltipped-align-left-2::after{left:0;margin-left:0;}/*!sc*/ data-styled.g17[id="Tooltip__TooltipBase-sc-17tf59c-0"]{content:"hWlpPn,"}/*!sc*/ .liVpTx{display:inline-block;overflow:hidden;text-overflow:ellipsis;vertical-align:top;white-space:nowrap;max-width:125px;}/*!sc*/ data-styled.g19[id="Truncate__StyledTruncate-sc-23o1d2-0"]{content:"liVpTx,"}/*!sc*/ .eBevHz{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-inline:var(--stack-padding-normal,16px);-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:var(--control-xlarge-size,48px);box-shadow:inset 0px -1px var(--borderColor-muted,var(--borderColor-muted,var(--color-border-muted,hsla(210,18%,87%,1))));-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;border-bottom:none;max-width:100%;padding-left:8px;padding-right:8px;}/*!sc*/ data-styled.g99[id="UnderlineTabbedInterface__StyledComponentUnderlineWrapper-sc-4ilrg0-0"]{content:"eBevHz,"}/*!sc*/ .ehEdWC{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;list-style:none;white-space:nowrap;padding:0;margin:0;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;position:relative;}/*!sc*/ data-styled.g100[id="UnderlineTabbedInterface__StyledComponentUnderlineItemList-sc-4ilrg0-1"]{content:"ehEdWC,"}/*!sc*/ .beOdPj{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:0;cursor:pointer;font:inherit;position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;color:var(--fgColor-default,var(--color-fg-default,#1F2328));text-align:center;-webkit-text-decoration:none;text-decoration:none;line-height:var(--text-body-lineHeight-medium,1.4285);border-radius:var(--borderRadius-medium,6px);font-size:var(--text-body-size-medium,14px);padding-inline:var(--control-medium-paddingInline-condensed,8px);padding-block:var(--control-medium-paddingBlock,6px);-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ @media (hover:hover){.beOdPj:hover{background-color:var(--bgColor-neutral-muted,var(--bgColor-neutral-muted,var(--color-neutral-subtle,rgba(234,238,242,0.5))));-webkit-transition:background 0.12s ease-out;transition:background 0.12s ease-out;-webkit-text-decoration:none;text-decoration:none;}}/*!sc*/ .beOdPj:focus:{outline:2px solid transparent;box-shadow:inset 0 0 0 2px var(--fgColor-accent,var(--fgColor-accent,var(--color-accent-fg,#0969da)));}/*!sc*/ .beOdPj:focus::not(:focus-visible){box-shadow:none;}/*!sc*/ .beOdPj:focus-visible{outline:2px solid transparent;box-shadow:inset 0 0 0 2px var(--fgColor-accent,var(--fgColor-accent,var(--color-accent-fg,#0969da)));}/*!sc*/ .beOdPj [data-content]::before{content:attr(data-content);display:block;height:0;font-weight:var(--base-text-weight-semibold,500);visibility:hidden;white-space:nowrap;}/*!sc*/ .beOdPj [data-component='icon']{color:var(--fgColor-muted,var(--fgColor-muted,var(--color-fg-muted,#656d76)));-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;margin-inline-end:var(--control-medium-gap,8px);}/*!sc*/ .beOdPj [data-component='counter']{margin-inline-start:var(--control-medium-gap,8px);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ .beOdPj::after{position:absolute;right:50%;bottom:calc(50% - calc(var(--control-xlarge-size,48px) / 2 + 1px));width:100%;height:2px;content:'';background-color:transparent;border-radius:0;-webkit-transform:translate(50%,-50%);-ms-transform:translate(50%,-50%);transform:translate(50%,-50%);}/*!sc*/ .beOdPj[aria-current]:not([aria-current='false']) [data-component='text'],.beOdPj[aria-selected='true'] [data-component='text']{font-weight:var(--base-text-weight-semibold,500);}/*!sc*/ .beOdPj[aria-current]:not([aria-current='false'])::after,.beOdPj[aria-selected='true']::after{background-color:var(--underlineNav-borderColor-active,var(--color-primer-border-active,#fd8c73));}/*!sc*/ @media (forced-colors:active){.beOdPj[aria-current]:not([aria-current='false'])::after,.beOdPj[aria-selected='true']::after{background-color:LinkText;}}/*!sc*/ data-styled.g101[id="UnderlineTabbedInterface__StyledUnderlineItem-sc-4ilrg0-2"]{content:"beOdPj,"}/*!sc*/ </style> <!-- --> <!-- --> <div class="Box-sc-g0xbh4-0 iVEunk"><div class="Box-sc-g0xbh4-0 jzuOtQ"><div class="Box-sc-g0xbh4-0 bGojzy"></div></div><div class="Box-sc-g0xbh4-0 iNSVHo"><div class="Box-sc-g0xbh4-0 bVgnfw"><div class="Box-sc-g0xbh4-0 CEgMp"><button type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-label="main branch" data-testid="anchor-button" class="Box-sc-g0xbh4-0 gMOVLe prc-Button-ButtonBase-c50BI overview-ref-selector width-full" data-loading="false" data-size="medium" data-variant="default" aria-describedby="branch-picker-repos-header-ref-selector-loading-announcement" id="branch-picker-repos-header-ref-selector"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg prc-Button-ButtonContent-HKbr-"><span data-component="text" class="prc-Button-Label-pTQ3x"><div class="Box-sc-g0xbh4-0 bZBlpz"><div class="Box-sc-g0xbh4-0 lhTYNA"><svg aria-hidden="true" focusable="false" class="octicon octicon-git-branch" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg></div><div class="Box-sc-g0xbh4-0 ffLUq ref-selector-button-text-container"><span class="Text__StyledText-sc-17v1xeu-0 eMMFM"> <!-- -->main</span></div></div></span><span data-component="trailingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-triangle-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg></span></span></button><button hidden="" data-hotkey-scope="read-only-cursor-text-area"></button></div><div class="Box-sc-g0xbh4-0 fLXEGX"><a style="--button-color:fg.muted" type="button" href="/KissMeInTheDark/switch-plugins-dbi/branches" class="Box-sc-g0xbh4-0 lmSMZJ prc-Button-ButtonBase-c50BI" data-loading="false" data-size="medium" data-variant="invisible" aria-describedby=":Rclab:-loading-announcement"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg prc-Button-ButtonContent-HKbr-"><span data-component="leadingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-git-branch" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg></span><span data-component="text" class="prc-Button-Label-pTQ3x">Branches</span></span></a><a style="--button-color:fg.muted" type="button" href="/KissMeInTheDark/switch-plugins-dbi/tags" class="Box-sc-g0xbh4-0 lmSMZJ prc-Button-ButtonBase-c50BI" data-loading="false" data-size="medium" data-variant="invisible" aria-describedby=":Rklab:-loading-announcement"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg prc-Button-ButtonContent-HKbr-"><span data-component="leadingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-tag" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"></path></svg></span><span data-component="text" class="prc-Button-Label-pTQ3x">Tags</span></span></a></div><div class="Box-sc-g0xbh4-0 dqfxud"><a style="--button-color:fg.muted" type="button" aria-label="Go to Branches page" href="/KissMeInTheDark/switch-plugins-dbi/branches" class="Box-sc-g0xbh4-0 fGwBZA prc-Button-ButtonBase-c50BI" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="invisible" aria-describedby=":Relab:-loading-announcement"><svg aria-hidden="true" focusable="false" class="octicon octicon-git-branch" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg></a><a style="--button-color:fg.muted" type="button" aria-label="Go to Tags page" href="/KissMeInTheDark/switch-plugins-dbi/tags" class="Box-sc-g0xbh4-0 fGwBZA prc-Button-ButtonBase-c50BI" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="invisible" aria-describedby=":Rmlab:-loading-announcement"><svg aria-hidden="true" focusable="false" class="octicon octicon-tag" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"></path></svg></a></div></div><div class="Box-sc-g0xbh4-0 jxTzTd"><div class="Box-sc-g0xbh4-0 gqqBXN"><div class="Box-sc-g0xbh4-0 dzXgxt"><!--$--><div class="Box-sc-g0xbh4-0 iWFGlI"><span class="TextInputWrapper__StyledTextInputBaseWrapper-sc-1mqhpbi-0 hLzFvi TextInputWrapper__StyledTextInputWrapper-sc-1mqhpbi-1 iHYdQq TextInput-wrapper" data-leading-visual="true" data-trailing-visual="true" aria-busy="false"><span class="TextInput-icon" id=":R2j5ab:" aria-hidden="true"><svg aria-hidden="true" focusable="false" class="octicon octicon-search" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path></svg></span><input type="text" aria-label="Go to file" role="combobox" aria-controls="file-results-list" aria-expanded="false" aria-haspopup="dialog" autoCorrect="off" spellcheck="false" placeholder="Go to file" aria-describedby=":R2j5ab: :R2j5abH1:" data-component="input" class="UnstyledTextInput__ToggledUnstyledTextInput-sc-14ypya-0 jkNcAv" value=""/><span class="TextInput-icon" id=":R2j5abH1:" aria-hidden="true"></span></span></div><!--/$--></div><div class="Box-sc-g0xbh4-0 YUPas"><button type="button" class="prc-Button-ButtonBase-c50BI" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default" aria-describedby=":Rr5ab:-loading-announcement"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-HKbr-"><span data-component="text" class="prc-Button-Label-pTQ3x">Go to file</span></span></button></div><div class="react-directory-add-file-icon"></div><div class="react-directory-remove-file-icon"></div></div><button type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-c50BI" data-loading="false" data-size="medium" data-variant="primary" aria-describedby=":R55ab:-loading-announcement" id=":R55ab:"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-HKbr-"><span data-component="leadingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="hide-sm" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path></svg></span><span data-component="text" class="prc-Button-Label-pTQ3x">Code</span><span data-component="trailingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-triangle-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg></span></span></button><div class="Box-sc-g0xbh4-0 izFOf"><button data-component="IconButton" type="button" aria-label="Open more actions menu" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-c50BI prc-Button-IconButton-szpyj" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default" aria-describedby=":R75ab:-loading-announcement" id=":R75ab:"><svg aria-hidden="true" focusable="false" class="octicon octicon-kebab-horizontal" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg></button></div></div></div><div data-testid="branch-info-bar" aria-live="polite" class="Box-sc-g0xbh4-0 cjVDqW"><div style="width:40%" class="Skeleton Skeleton--text"> </div><div style="width:30%" class="Skeleton Skeleton--text"> </div></div><div class="Box-sc-g0xbh4-0 vIPPs"><div data-hpc="true"><button hidden="" data-testid="focus-next-element-button" data-hotkey="j"></button><button hidden="" data-testid="focus-previous-element-button" data-hotkey="k"></button><h2 class="sr-only ScreenReaderHeading-module__userSelectNone--vW4Cq prc-Heading-Heading-6CmGO" data-testid="screen-reader-heading" id="folders-and-files">Folders and files</h2><table aria-labelledby="folders-and-files" class="Box-sc-g0xbh4-0 fdROMU"><thead class="Box-sc-g0xbh4-0 jGKpsv"><tr class="Box-sc-g0xbh4-0 jdgHnn"><th colSpan="2" class="Box-sc-g0xbh4-0 bQivRW"><span class="text-bold">Name</span></th><th colSpan="1" class="Box-sc-g0xbh4-0 ldkMIO"><span class="text-bold">Name</span></th><th class="hide-sm"><div title="Last commit message" class="Truncate__StyledTruncate-sc-23o1d2-0 liVpTx width-fit"><span class="text-bold">Last commit message</span></div></th><th colSpan="1" class="Box-sc-g0xbh4-0 jMbWeI"><div title="Last commit date" class="Truncate__StyledTruncate-sc-23o1d2-0 liVpTx width-fit"><span class="text-bold">Last commit date</span></div></th></tr></thead><tbody><tr class="Box-sc-g0xbh4-0 gpqjiB"><td colSpan="3" class="bgColor-muted p-1 rounded-top-2"><div class="Box-sc-g0xbh4-0 dzCJzi"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone--vW4Cq prc-Heading-Heading-6CmGO" data-testid="screen-reader-heading">Latest commit</h2><div style="width:120px" class="Skeleton Skeleton--text" data-testid="loading"> </div><div class="d-flex flex-shrink-0 gap-2"><div data-testid="latest-commit-details" class="d-none d-sm-flex flex-items-center"></div><div class="d-flex gap-2"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone--vW4Cq prc-Heading-Heading-6CmGO" data-testid="screen-reader-heading">History</h2><a href="/KissMeInTheDark/switch-plugins-dbi/commits/main/" class="prc-Button-ButtonBase-c50BI d-none d-lg-flex LinkButton-module__code-view-link-button--xvCGA flex-items-center fgColor-default" data-loading="false" data-size="small" data-variant="invisible" aria-describedby=":Raqj8pab:-loading-announcement"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-HKbr-"><span data-component="leadingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-history" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path></svg></span><span data-component="text" class="prc-Button-Label-pTQ3x"><span class="fgColor-default">87 Commits</span></span></span></a><div class="d-sm-none"></div><div class="d-flex d-lg-none"><span role="tooltip" aria-label="87 Commits" id="history-icon-button-tooltip" class="Tooltip__TooltipBase-sc-17tf59c-0 hWlpPn tooltipped-n"><a href="/KissMeInTheDark/switch-plugins-dbi/commits/main/" class="prc-Button-ButtonBase-c50BI LinkButton-module__code-view-link-button--xvCGA flex-items-center fgColor-default" data-loading="false" data-size="small" data-variant="invisible" aria-describedby=":R1iqj8pab:-loading-announcement history-icon-button-tooltip"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-HKbr-"><span data-component="leadingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-history" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path></svg></span></span></a></span></div></div></div></div></td></tr><tr class="react-directory-row undefined" id="folder-row-0"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="README.md" aria-label="README.md, (File)" class="Link--primary" href="/KissMeInTheDark/switch-plugins-dbi/blob/main/README.md">README.md</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="README.md" aria-label="README.md, (File)" class="Link--primary" href="/KissMeInTheDark/switch-plugins-dbi/blob/main/README.md">README.md</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row undefined" id="folder-row-1"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="README_ENG.md" aria-label="README_ENG.md, (File)" class="Link--primary" href="/KissMeInTheDark/switch-plugins-dbi/blob/main/README_ENG.md">README_ENG.md</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="README_ENG.md" aria-label="README_ENG.md, (File)" class="Link--primary" href="/KissMeInTheDark/switch-plugins-dbi/blob/main/README_ENG.md">README_ENG.md</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row undefined" id="folder-row-2"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="dbi.config" aria-label="dbi.config, (File)" class="Link--primary" href="/KissMeInTheDark/switch-plugins-dbi/blob/main/dbi.config">dbi.config</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="dbi.config" aria-label="dbi.config, (File)" class="Link--primary" href="/KissMeInTheDark/switch-plugins-dbi/blob/main/dbi.config">dbi.config</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row undefined" id="folder-row-3"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="dbibackend" aria-label="dbibackend, (File)" class="Link--primary" href="/KissMeInTheDark/switch-plugins-dbi/blob/main/dbibackend">dbibackend</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="dbibackend" aria-label="dbibackend, (File)" class="Link--primary" href="/KissMeInTheDark/switch-plugins-dbi/blob/main/dbibackend">dbibackend</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="Box-sc-g0xbh4-0 eNCcrz d-none" data-testid="view-all-files-row"><td colSpan="3" class="Box-sc-g0xbh4-0 bHTcCe"><div><button class="prc-Link-Link-85e08">View all files</button></div></td></tr></tbody></table></div><div class="Box-sc-g0xbh4-0 csrIcr"><div class="Box-sc-g0xbh4-0 bUQNHB"><div itemscope="" itemType="https://schema.org/abstract" class="Box-sc-g0xbh4-0 jPdcfu"><h2 class="_VisuallyHidden__VisuallyHidden-sc-11jhm7a-0 brGdpi">Repository files navigation</h2><nav class="UnderlineTabbedInterface__StyledComponentUnderlineWrapper-sc-4ilrg0-0 eBevHz" aria-label="Repository files"><ul role="list" class="UnderlineTabbedInterface__StyledComponentUnderlineItemList-sc-4ilrg0-1 ehEdWC"><li class="Box-sc-g0xbh4-0 hUCRAk"><a href="#" aria-current="page" class="UnderlineTabbedInterface__StyledUnderlineItem-sc-4ilrg0-2 beOdPj"><span data-component="icon"><svg aria-hidden="true" focusable="false" class="octicon octicon-book" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path></svg></span><span data-component="text" data-content="README">README</span></a></li></ul></nav><button style="--button-color:fg.subtle" type="button" aria-label="Outline" aria-haspopup="true" aria-expanded="false" tabindex="0" class="Box-sc-g0xbh4-0 cwoBXV prc-Button-ButtonBase-c50BI" data-loading="false" data-size="medium" data-variant="invisible" aria-describedby=":Rr9ab:-loading-announcement" id=":Rr9ab:"><svg aria-hidden="true" focusable="false" class="octicon octicon-list-unordered" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M5.75 2.5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5Zm0 5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5Zm0 5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5ZM2 14a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm1-6a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM2 4a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path></svg></button></div><div class="Box-sc-g0xbh4-0 QkQOb js-snippet-clipboard-copy-unpositioned undefined" data-hpc="true"><article class="markdown-body entry-content container-lg" itemprop="text"><div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">DBI</h1><a id="user-content-dbi" class="anchor" aria-label="Permalink: DBI" href="#dbi"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/57fa189b285648cac14e56799c5de499adfd236e6f36a2addc1799493e0f7efa/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f646f776e6c6f6164732f726173686576736b79762f6462692f746f74616c2e737667"><img src="https://camo.githubusercontent.com/57fa189b285648cac14e56799c5de499adfd236e6f36a2addc1799493e0f7efa/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f646f776e6c6f6164732f726173686576736b79762f6462692f746f74616c2e737667" alt="Github latest downloads" data-canonical-src="https://img.shields.io/github/downloads/rashevskyv/dbi/total.svg" style="max-width: 100%;"></a></p> <p dir="auto"><a href="/KissMeInTheDark/switch-plugins-dbi/blob/main/README_ENG.md">ENGLISH GUIDE</a></p> <p dir="auto">Инструкция базируется на <a href="https://4pda.to/forum/index.php?showtopic=939714&st=1100#Spoil-86288632-5" rel="nofollow">работе Брикачу</a></p> <p dir="auto">Ультимативное решение для установки <code>NSP</code>, <code>NSZ</code>, <code>XCI</code> и <code>XCZ</code> и работы с Nintendo Switch. Поддержка установки по MTP, USB, http (с вашего личного сервера), внешнего USB и многое другое. Поддержка просмотра картинок в формате <code>jpg</code>, <code>png</code> и <code>psd</code>. Поддержка работы с архивами <code>zip</code> и <code>rar</code>, а так же с контейнерами <code>cbr</code>/<code>cbz</code>. Поддержка текстовых файлов, просмотр в режиме обычного текста и в режиме hex-просмотра. Может быть использован в качестве файлового менеджера (копирование, перемещение, удаление файлов и папок, создание папок). Работа с сохранениями (в том числе резервное копирование и восстановление) и многое другое.</p> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Содержание:</h2><a id="user-content-содержание" class="anchor" aria-label="Permalink: Содержание:" href="#содержание"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ol dir="auto"> <li><a href="#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0">Установка</a></li> <li><a href="#%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5">Использование</a></li> <li><a href="#%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81">Интерфейс</a></li> <li><a href="#%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5">Управление</a></li> <li><a href="#browse-sd-card--%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80-sd-%D0%BA%D0%B0%D1%80%D1%82%D1%8B-%D0%B8-browse-usb0-drive--%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80-usb0-%D0%B4%D0%B8%D1%81%D0%BA%D0%B0">Browse SD Card / Просмотр SD карты и Browse USB0 Drive / Просмотр USB0 диска</a></li> <li><a href="#install-title-from-dbibackend--%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-dbibackend">Install title from DBIbackend / Установка через DBIbackend</a></li> <li><a href="#home-server--%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BA-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D1%83">Home server / Подключение к серверу</a></li> <li><a href="#browse-installed-applications--%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D1%85-%D0%B8%D0%B3%D1%80">Browse installed applications / Просмотр установленных игр</a> <ul dir="auto"> <li><a href="#%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE%D0%B5-%D0%BC%D0%B5%D0%BD%D1%8E-%D1%82%D0%B0%D0%B9%D1%82%D0%BB%D0%B0">Контекстное меню тайтла</a></li> <li><a href="#%D0%B4%D0%B5%D1%82%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5-%D0%BC%D0%B5%D0%BD%D1%8E-%D0%B8%D0%B3%D1%80%D1%8B">Детальное меню игры</a></li> <li><a href="#content-records--%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BD%D1%82">Content records / Контент</a></li> <li><a href="#tickets--%D1%82%D0%B8%D0%BA%D0%B5%D1%82%D1%8B">Tickets / Тикеты</a></li> <li><a href="#saves--%D1%81%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F">Saves / Сохранения</a></li> <li><a href="#%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE%D0%B5-%D0%BC%D0%B5%D0%BD%D1%8E-%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D0%B8">Контекстное меню записи</a></li> </ul> </li> <li><a href="#browse-tickets--%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80-%D1%82%D0%B8%D0%BA%D0%B5%D1%82%D0%BE%D0%B2">Browse tickets / Просмотр тикетов</a> <ul dir="auto"> <li><a href="#%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE%D0%B5-%D0%BC%D0%B5%D0%BD%D1%8E-%D1%82%D0%B8%D0%BA%D0%B5%D1%82%D0%BE%D0%B2">Контекстное меню тикетов</a></li> </ul> </li> <li><a href="#tools--%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B">Tools / Инструменты</a></li> <li><a href="#browse-saves--%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80-%D1%81%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D0%B9">Browse saves / Просмотр сохранений</a> <ul dir="auto"> <li><a href="#%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE%D0%B5-%D0%BC%D0%B5%D0%BD%D1%8E-installed--%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B8-uninstalled--%D1%83%D0%B4%D0%B0%D0%BB%D1%91%D0%BD%D0%BD%D1%8B%D0%B5">Контекстное меню Installed / Установленные и Uninstalled / Удалённые</a></li> <li><a href="#%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE%D0%B5-%D0%BC%D0%B5%D0%BD%D1%8E-backups--%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D1%8B">Контекстное меню Backups / Бекапы</a></li> </ul> </li> <li><a href="#run-mtp-responder--%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D1%82%D0%B8%D1%82%D1%8C-mtp-%D1%81%D0%BE%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5">Run MTP responder / Запустить MTP соединение</a></li> <li><a href="#activity-log--%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8-%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D1%81%D1%82%D0%B8">Activity Log / Настройки активности</a> * <a href="#applications--%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%B0%D0%B2%D1%88%D0%B8%D0%B5%D1%81%D1%8F-%D0%B8%D0%B3%D1%80%D1%8B">Applications / Запускавшиеся игры</a> * <a href="#activity--%D0%B4%D0%B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0-%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D1%81%D1%82%D0%B8">Activity / Диаграмма активности</a></li> <li><a href="#configuration--%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8-dbi-%D0%B8-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B-%D1%84%D0%B0%D0%B9%D0%BB%D0%B0-dbiconfig">Configuration / Настройки DBI и параметры файла dbi.config</a> <ul dir="auto"> <li><a href="#general--%D0%BE%D0%B1%D1%89%D0%B8%D0%B5-general">General / Общие (<code>[General]</code>)</a></li> <li><a href="#main-menu--%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%BE%D0%B5-%D0%BC%D0%B5%D0%BD%D1%8E-mainmenu">Main menu / Главное меню (<code>[MainMenu]</code>)</a></li> <li><a href="#applications--%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B8%D0%B3%D1%80%D1%8B-applications">Applications / Установленные игры (<code>[Applications]</code>)</a></li> <li><a href="#install-options--%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B8-install">Install options / Параметры установки (<code>[Install]</code>)</a></li> <li><a href="#mtp-options--%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B-mtp-mtp">MTP options / Параметры MTP (<code>[MTP]</code>)</a></li> <li><a href="#mtp-storages--%D1%85%D1%80%D0%B0%D0%BD%D0%B8%D0%BB%D0%B8%D1%89%D0%B0-mtp-mtp-storages">MTP storages / Хранилища MTP (<code>[MTP Storages]</code>)</a></li> <li><a href="#mtp-options--%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B-mtp-mtp">FTP options / Параметры FTP (<code>[FTP]</code>)</a></li> <li><a href="#access-point--%D1%82%D0%BE%D1%87%D0%BA%D0%B0-%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0-access-point">Access point / Точка доступа (<code>[Access point]</code>)</a></li> <li><a href="#%D0%B5%D1%81%D1%82%D1%8C-%D0%B2-%D0%BA%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D0%B5-%D0%BD%D0%BE-%D0%BD%D0%B5%D1%82-%D0%B2-%D0%BC%D0%B5%D0%BD%D1%8E">Есть в конфиге, но нет в меню</a></li> <li><a href="#network-sources">Network sources</a></li> <li><a href="#local-sources">Local sources</a></li> <li><a href="#mtp-custom-storages">MTP custom storages</a></li> <li><a href="#title-name-override">Title name override</a></li> </ul> </li> <li><a href="#exit--%D0%B2%D1%8B%D1%85%D0%BE%D0%B4">Exit / Выход</a></li> <li><a href="#%D1%83%D0%B2%D0%B5%D0%B4%D0%BE%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F-%D0%B8-%D0%BA%D0%BE%D0%B4%D1%8B-%D0%BE%D1%88%D0%B8%D0%B1%D0%BE%D0%BA">Уведомления и коды ошибок</a> <ol dir="auto"> <li><a href="#%D1%83%D0%B2%D0%B5%D0%B4%D0%BE%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F">Уведомления</a></li> <li><a href="#%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8">Ошибки</a></li> <li><a href="#%D1%86%D0%B2%D0%B5%D1%82%D0%BE%D0%B2%D1%8B%D0%B5-%D0%BA%D0%BE%D0%B4%D1%8B">Цветовые кода</a></li> </ol> </li> <li><a href="#dbiconfig">dbi.config</a></li> <li><a href="#%D0%B4%D1%80%D1%83%D0%B3%D0%B8%D0%B5-%D0%B2%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D0%B8">Другие возможности</a> <ul dir="auto"> <li><a href="#%D0%BC%D0%BE%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D1%81%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B8%D0%BC%D0%BE%D0%B3%D0%BE-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D1%85-%D0%B8%D0%B3%D1%80-%D0%BF%D0%BE-mtp">Монтирование содержимого установленных игр по MTP</a></li> <li><a href="#%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF-%D0%B8-%D0%B2%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D1%81%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D0%B9-%D0%BF%D0%BE-mtp">Бекап и восстановление сохранений по MTP</a></li> <li><a href="#%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-dbi-%D0%B4%D0%BB%D1%8F-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B8-%D0%BC%D0%BE%D0%B4%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B9">Использование DBI для установки модификаций</a></li> <li><a href="#usb-30">USB 3.0</a></li> <li><a href="#%D0%B2%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%B0-%D1%87%D0%B8%D1%81%D1%82%D1%8B%D1%85-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B8%D1%85-%D1%81%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D0%B9">Восстановление бекапа чистых пользовательских сохранений</a></li> <li><a href="#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%BA%D0%B0%D1%80%D1%82%D0%B8%D0%BD%D0%BA%D0%B8-%D0%B2-%D0%BA%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B5-%D0%B0%D0%B2%D0%B0%D1%82%D0%B0%D1%80%D0%B0">Установка картинки в качестве аватара</a></li> <li><a href="#%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B8-%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80-%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2">Редактирование и просмотр файлов</a></li> </ul> </li> <li><a href="#%D0%B1%D0%BB%D0%B0%D0%B3%D0%BE%D0%B4%D0%B0%D1%80%D0%BD%D0%BE%D1%81%D1%82%D0%B8">Благодарности</a></li> </ol> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Установка</h2><a id="user-content-установка" class="anchor" aria-label="Permalink: Установка" href="#установка"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Поместите <code>dbi.nro</code> и <code>dbi.config</code> в папку <code>sdmc:/switch/DBI/</code> на вашей каре памяти. Запускайте из режима апплета с помощью Homebrew Launcher (через альбомы)</p> <p dir="auto"><em>В режиме апплета программа запускается с синим фоном. В режиме тайла - с чёрным</em></p> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Использование</h2><a id="user-content-использование" class="anchor" aria-label="Permalink: Использование" href="#использование"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Интерфейс</h3><a id="user-content-интерфейс" class="anchor" aria-label="Permalink: Интерфейс" href="#интерфейс"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/18294541/114262830-d7643e00-99ea-11eb-8dbb-c8e0996577e5.jpg"><img src="https://user-images.githubusercontent.com/18294541/114262830-d7643e00-99ea-11eb-8dbb-c8e0996577e5.jpg" alt="2021041010520200" style="max-width: 100%;"></a></p> <ul dir="auto"> <li><strong>Browse SD Card</strong> / <strong>Просмотр SD карты</strong> — установка <code>NSP</code>/<code>NSZ</code>/<code>XCI</code>/<code>XCZ</code>-файлов из карты памяти.</li> <li><strong>Browse USB0 Drive</strong> / <strong>Просмотр USB0 диска</strong> — установка <code>NSP</code>/<code>NSZ</code>/<code>XCI</code>/<code>XCZ</code>-файлов с внешнего USB-накопителя в exFAT/FAT32: флешки, жёсткого диска, проч.</li> <li><strong>Install title from DBIbackend</strong> / <strong>Установка через DBIbackend</strong> — установка <code>NSP</code>/<code>NSZ</code>/<code>XCI</code>/<code>XCZ</code> из ПК по USB 2.0 и 3.0-проводу, через прилагаемую программу dbibackend. <em>Горячая клавиша для этой опции</em>: кнопка <strong>(Y)</strong>.</li> <li><strong>Install title from Gamecard</strong> / <strong>Установка с картриджа</strong> — этот пункт появляется при вставленном в Switch игровом картридже, — для установки игры из имеющегося игрового картриджа в SD-карту или внутреннюю NAND-память консоли.</li> <li><strong>Home server</strong> / <strong>Подключение к серверу</strong> — начиная с версии v150, есть возможность устанавливать игры по сети (HTTP), через WiFi без провода или LAN-USB-адаптер. Подробнее об этом ниже</li> <li><strong>Browse installed applications</strong> / <strong>Просмотр установленных игр</strong> — просмотр установленных игр, их общее установленное количество, посмотреть потраченное время на игру и количество её запусков, проверить (верифицировать) на ошибки, перенести игровые данные между встроенной памятью, картой памяти и обратно, возможность их выборочного или потокового удаления вместе с прилагаемыми LayeredFS-модами, просмотр наличия у них обновлений и DLC, ручное удаление DLC/обновлений/LaryeredFS (LFS) мода, функция Reset Required version для сброса системной проверки обновления у выбранной игры. <em>Горячая клавиша для этой опции</em>: кнопка <strong>(L)</strong>.</li> <li><strong>Cleanup orphaned files</strong> / <strong>Очистка потерянных файлов</strong> — автоматическая чистка ненужных удалённых файлов игр, если они есть</li> <li><strong>Browse tickets</strong> / <strong>Просмотр тикетов</strong> — просмотр и ручное удаление системных тикетов игр.</li> <li><strong>Browse saves</strong> / <strong>Просмотр сохранений</strong> - просмотр и удаление сохранений</li> <li><strong>Run MTP responder</strong> / <strong>Запустить MTP соединение</strong> — включение внутреннего MTP-сервера для присоединения Switch к ПК или к Android-устройству (телефон/планшет/пр., протестированы Pixel 3, Xiaomi Mi A1, Lenovo Tab 4 7" TB-7304X), можно: просматривать и работать с картой памяти (1: SD Card) и внутренней память консоли, просматривать установленные игры (4: Installed games), сделать бекап игровых сохранений на ПК (7: Saves), при вставленном игровом картридже дампить его (full/trimmed/сертификат) на ПК/Android (9: Gamecard). <em>Горячая клавиша для этой опции</em>: кнопка (X).</li> <li><strong>Run FTP server</strong> / <strong>Запустить FTP сервер</strong> - включает FTP-сервер DBI для доступа к файлам SD через порт 5000 или установку файлов через порт 6000</li> <li><strong>Exit</strong> / <strong>Выход</strong> — выход из программы. <em>Горячая клавиша для этой опции</em>: кнопка <strong>(+)</strong></li> </ul> <p dir="auto">В самом левом нижнем углу (SD) написано про занятый размер данных на карте/общий размер карты. В правом нижнем углу (NAND) написан занятый размер данных во встроенной памяти Switch/общий встроенной памяти Switch. Внизу по центру (dbi: XXX) написан номер версии dbi — старайтесь всегда использовать самую последнюю версию программы</p> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Управление</h3><a id="user-content-управление" class="anchor" aria-label="Permalink: Управление" href="#управление"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ul dir="auto"> <li><strong>(А)</strong> - выбор, подтверждение</li> <li><strong>(B)</strong> - отмена. <strong>На главном экране</strong> - выход из программы</li> <li><strong>(X)</strong> - выделение файла. <strong>На главном экране</strong> - горячая клавиша для монтирования MTP (пункт меню "<a href="#run-mtp-responder--%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D1%82%D0%B8%D1%82%D1%8C-mtp-%D1%81%D0%BE%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5">Run MTP responder / Запустить MTP соединение</a>")</li> <li><strong>(Y)</strong> - инвертировать выделение, выделить всё, если ничего не выделено. <strong>На главном экране</strong> - установка по USB с помощью dbibackend (пункт меню "<a href="#install-title-from-dbibackend--%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-dbibackend">Install title from DBIbackend / Установка через DBIbackend</a>")</li> <li><strong>(ZL)</strong>, <strong>(ZR)</strong> - быстрое перемещение по меню</li> <li><strong>(L)</strong> <strong>на главном экране</strong> - перейти в меню "<a href="#browse-installed-applications--%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D1%85-%D0%B8%D0%B3%D1%80">Browse installed applications / Просмотр установленных игр</a>"</li> <li><strong>(R)</strong> - изменить порядок отображения файлов/тайтлов</li> <li><strong>(L3)</strong> - запустить игру из списка установленных игр</li> <li><strong>(+)</strong> на правом джойконе - контекстное меню, которое позволяет производить контекстные операции, как-то удаление, сброс требуемой версии прошивки, монтирование по MTP и др.</li> <li><strong>(-)</strong> на левом джойконе при установке приложений отключает/включает экран</li> </ul> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Browse SD Card / Просмотр SD карты и Browse USB0 Drive / Просмотр USB0 диска</h3><a id="user-content-browse-sd-card--просмотр-sd-карты-и-browse-usb0-drive--просмотр-usb0-диска" class="anchor" aria-label="Permalink: Browse SD Card / Просмотр SD карты и Browse USB0 Drive / Просмотр USB0 диска" href="#browse-sd-card--просмотр-sd-карты-и-browse-usb0-drive--просмотр-usb0-диска"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Выберите этот пункт, если хотите установить игры/обновления/DLC из уже имеющихся файлов на карте памяти/внешнем USB. Кнопка <strong>(A)</strong> открывает папку, кнопка <strong>(B)</strong> возвращает назад, после открытия папки с файлами для установки, кнопкой <strong>(X)</strong> можно выделить только необходимые файлы, кнопокй <strong>(Y)</strong> инвертировать выбор. При этом цвет названия выделенных файлов изменится с белого на светло-синий.</p> <p dir="auto">После этого нажмите кнопку <strong>(А)</strong> для подтверждения. Возникнет окно с опциями установки:</p> <p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/18294541/114264183-18138580-99f2-11eb-8c7b-536b4b831195.jpg"><img src="https://user-images.githubusercontent.com/18294541/114264183-18138580-99f2-11eb-8c7b-536b4b831195.jpg" alt="2021041011441100" style="max-width: 100%;"></a></p> <ul dir="auto"> <li><strong>Total transfer size</strong> / <strong>Общий размер передачи</strong> — объём установочных дистрибутивов (файлов <code>NSP</code>/<code>NSZ</code>/<code>XCI</code>/<code>XCZ</code>), выбранных и готовых к установке.</li> <li><strong>Total install size</strong> / <strong>Общий размер установки</strong> — объём свободного пространства, которое необходимо для установки выбранных файлов.</li> <li><strong>Install target</strong> / <strong>Место установки</strong> — локация установки данных: <strong>NAND</strong> — внутренняя память консоли Nintendo Switch, <strong>SD</strong> — карта памяти SD, <strong>AUTO</strong> — опция по-умолчанию для установки всегда на карту памяти SD, но если на ней будет недостаточно места, данные установятся во внутреннюю память.</li> <li><strong>Delete after install</strong> / <strong>Удалять после установки</strong> — это опция удаления установочных дистрибутивов (файлов <code>NSP</code>/<code>NSZ</code>/<code>XCI</code>/<code>XCZ</code>) с карты после их успешной установки; чтобы она работала, с файлов должен быть снят атрибут «Только чтение». По-умолчанию файлы не удаляются. Опция видна только при установке с карты памяти/внешнего USB</li> <li><strong>Turn off screen</strong> / <strong>Выключать экран</strong> — возможность выключить экран на время установки для экономия электроэнергии аккумулятора, сразу после успешной установки экран автоматически включится. Эта опция работает только в портативном режиме.</li> <li>Нажмите <strong>Start install</strong> / <strong>Начать установку</strong>, чтобы начать установку. После успешной установки, появится статистика установки и надпись <em>Installation Complete. Press B to return</em> / <em>Установка завершена. Чтобы вернуться нажмите В</em>.</li> </ul> <p dir="auto">В программе имеется встроенная автоматическая функция удаления старых апдейтов при установке нового обновления к игре, поэтому за лишнее занимаемое место ими можно не беспокоиться.</p> <p dir="auto">Вы можете запускать <code>.NRO</code>-файлы кнопкой <strong>(A)</strong></p> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Install title from DBIbackend / Установка через DBIbackend</h3><a id="user-content-install-title-from-dbibackend--установка-через-dbibackend" class="anchor" aria-label="Permalink: Install title from DBIbackend / Установка через DBIbackend" href="#install-title-from-dbibackend--установка-через-dbibackend"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Через "<strong>Install title from DBIbackend</strong> / <strong>Установка через DBIbackend</strong>" очень удобно устанавливать игры, обновления и DLC к ним сразу напрямую по USB-проводу с ПК на Switch, минуя необходимость вынимать карту и тратить двойное время, закачивая дистрибутивы (<code>NSP</code>/<code>NSZ</code>/<code>XCI</code>/<code>XCZ</code>-файлы) на карту памяти и устанавливая их оттуда. <em>Горячая клавиша для вызова этой опции из главного меню</em>: кнопка <strong>(Y)</strong>.</p> <p dir="auto">Для работы сперва нужно скачать на ПК dbibackend (<code>dbibackend.exe</code> для Windows или <code>dbibackend</code> для всех ОС), запустить его, выбрать игры для установки, нажать <strong>Start server</strong>, затем подключить USB-C кабель к ПК и Switch, выбрать пункт <strong>Install title from DBIbackend</strong> в dbi и установить все необходимые игры.</p> <p dir="auto">Для правильной работы dbibackend на Windows, необходимо поставить драйвера "<strong>libusbK (v3.1.0.0)</strong>". Их можно установить через программу <a href="https://zadig.akeo.ie/" rel="nofollow">Zadig</a>, введя DBI в режим "<strong>Install title from DBIbackend</strong>" и выбрав в программе появившееся устройство.</p> <p dir="auto">Выделение файлов, а так же их установка происходит способом идентичным способу из пункта <strong>Browse SD Card/Browse USB0 Drive</strong></p> <p dir="auto">Для быстрой отправки файлов или папок с играми на установку, нажмите на них правой клавишей мыши, выберите <code>Отправить > dbibackend</code>, установочные файлы сразу помещаются в очередь dbibackend. Для того, чтобы это настроить в Windows, нажмите <code>Win+R</code>, введите <code>shell:sendto</code>, положите в папку ярлык для <code>dbibackend.exe</code></p> <p dir="auto">Существуют альтернативные клиенты для работы с DBIbackend, например <a href="https://github.com/cyb3rwarden/dbibackend/blob/0885ef67edf28cbca30fb2c193ad7ab9a62786f7/dbibackend/dbibackend.py">headless-реализация</a>, <a href="https://4pda.to/forum/index.php?showtopic=939714&st=6080#entry100701109" rel="nofollow">NSW-DBI 2.0.0 на nodegui</a> (требуется установка драйвера libusb для Linux или WinUSB (libusb) для Windows через Zadig).</p> <p dir="auto">Вы можете передавать команды скрипту путем запуска его из командной строки с последующим указанием пути к необходимой для установки игры или игр. Например:</p> <div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="python ~/dbi/dbibackend ~/Switch/File1.nsp ~/Switch/File2.nsp ~/Switch/File3.nsp"><pre class="notranslate"><code>python ~/dbi/dbibackend ~/Switch/File1.nsp ~/Switch/File2.nsp ~/Switch/File3.nsp </code></pre></div> <div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="dbibackend.exe "e:\Switch\Games\File1.nsp" "e:\Switch\Games\File2.nsp" "e:\Switch\Games\File3.nsp""><pre class="notranslate"><code>dbibackend.exe "e:\Switch\Games\File1.nsp" "e:\Switch\Games\File2.nsp" "e:\Switch\Games\File3.nsp" </code></pre></div> <div class="markdown-heading" dir="auto"><h4 tabindex="-1" class="heading-element" dir="auto">Зависимости, которые могут потребоваться для работы в MacOS или Linux</h4><a id="user-content-зависимости-которые-могут-потребоваться-для-работы-в-macos-или-linux" class="anchor" aria-label="Permalink: Зависимости, которые могут потребоваться для работы в MacOS или Linux" href="#зависимости-которые-могут-потребоваться-для-работы-в-macos-или-linux"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="brew install python-tk pip3 install pyusb"><pre>brew install python-tk pip3 install pyusb</pre></div> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Home server / Подключение к серверу</h3><a id="user-content-home-server--подключение-к-серверу" class="anchor" aria-label="Permalink: Home server / Подключение к серверу" href="#home-server--подключение-к-серверу"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Пункт "<strong>Home server</strong> / <strong>Подключение к серверу</strong>" появляется при наличии настроенного раздела <strong>Network install sources</strong> в <code>dbi.config</code> (подробнее про этот файл ниже). Причём название этого пункта будет меняться в зависимости от названия указанного в конфигурационном файле</p> <p dir="auto">Для установки игр по сети, отредактируйте файл <strong><a href="#dbiconfig">dbi.config</a></strong>, находящийся в папке <code>sdmc:/switch/DBI/</code>, согласно примеру</p> <div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="; Network install sources [Network sources] ; <display name>=<type>|<URL> Home server=ApacheHTTP|http://192.168.1.47/Nintendo/Switch/"><pre class="notranslate"><code>; Network install sources [Network sources] ; <display name>=<type>|<URL> Home server=ApacheHTTP|http://192.168.1.47/Nintendo/Switch/ </code></pre></div> <p dir="auto">Установите на ПК любой другой HTTP-сервер c включённым DirectoryListing: Apache, Mongoose, Python SimpleHTTP, sheret, rclone и т. д.,</p> <p dir="auto">Пример для nginx на Windows: отредактируйте файл <code>/nginx/conf/nginx.conf</code>, прописав в <code>location</code> адрес вашего Switch, вместо указанного в примере <code>127.0.0.1</code> (или всю свою подсеть вида 192.168.1.1/24 или 192.168.0.0/16); его можно узнать на Switch в <strong>Системных настройках</strong> > <strong>Интернет</strong>:</p> <div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="location/{ root html; index index.html index.htm; } location /Nintendo/Switch/ { allow 127.0.0.1; deny all; autoindex on; }"><pre class="notranslate"><code>location/{ root html; index index.html index.htm; } location /Nintendo/Switch/ { allow 127.0.0.1; deny all; autoindex on; } </code></pre></div> <p dir="auto">Сохраните конфиг, запустите <code>nginx.exe</code>, разрешив программе доступ в сеть, затем скопируйте нужную игру в локальную папку /nginx/html/Nintendo/Switch/ на ПК, а на Switch выберите строку «Home server». Получаем обычный интерфейс инсталляции файлов, и можно начать устанавливать все игры по сети, после чего, при желании веб-сервер можно остановить через nginx -s stop.</p> <p dir="auto">В качестве адреса сервера, можно использовать и доменное имя в интернете, например, своего удалённого VPS — лучше с HTTP Basic-аутентификацией вида <a href="http://user:password@host:port/Nintendo/Switch/" rel="nofollow">http://user:password@host:port/Nintendo/Switch/</a></p> <p dir="auto">Например:</p> <div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="ApacheHTTP|Network repo|http://127.0.0.1/Nintendo/Switch/ ApacheHTTP|WWW VPS repo|http://www.myveryownswitchvpsdomain.su/Nintendo/Switch/"><pre class="notranslate"><code>ApacheHTTP|Network repo|http://127.0.0.1/Nintendo/Switch/ ApacheHTTP|WWW VPS repo|http://www.myveryownswitchvpsdomain.su/Nintendo/Switch/ </code></pre></div> <p dir="auto">Сгенерировать файл htpasswd, положить в <code>/nginx/conf/</code>, затем в <code>nginx.conf</code> изменить в блоке (пример):</p> <div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content=" location /Nintendo/Switch/ { satisfy all; allow 127.0.0.1; deny all; auth_basic "Password Protected Area"; auth_basic_user_file htpasswd; autoindex on; }"><pre class="notranslate"><code> location /Nintendo/Switch/ { satisfy all; allow 127.0.0.1; deny all; auth_basic "Password Protected Area"; auth_basic_user_file htpasswd; autoindex on; } </code></pre></div> <p dir="auto">Логин «switch», пароль «pwd»:</p> <p dir="auto">Файл htpasswd:</p> <div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="switch:{SHA}N/omUzCtg+qoee+x4ttjgIls9jk="><pre class="notranslate"><code>switch:{SHA}N/omUzCtg+qoee+x4ttjgIls9jk= </code></pre></div> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Browse installed applications / Просмотр установленных игр</h3><a id="user-content-browse-installed-applications--просмотр-установленных-игр" class="anchor" aria-label="Permalink: Browse installed applications / Просмотр установленных игр" href="#browse-installed-applications--просмотр-установленных-игр"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">В <strong>Browse installed applications</strong> можно посмотреть список установленных программ, обновлений, DLC к ним, по отдельности их занимаемый объём и версию, порядковую и в HEX-формате, их titleID, посмотреть общее время игры и количество запусков, наличие установленного LayeredFS-мода к игре (для Atmosphére).</p> <p dir="auto"><em>Горячая клавиша для вызова этой опции из главного меню</em>: кнопка <strong>(L)</strong>:</p> <p dir="auto">Сверху в центре написано общее количество установленных игр и тип сортировки</p> <p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/18294541/123554546-32efcd80-d789-11eb-8d3f-3124448624e0.jpg"><img src="https://user-images.githubusercontent.com/18294541/123554546-32efcd80-d789-11eb-8d3f-3124448624e0.jpg" alt="2021062719353200" style="max-width: 100%;"></a></p> <p dir="auto">В квадратных скобках перед названием игры написана базовая информация о месте установки, составе и наличии мода игры. Отображается только то, что установлено. То есть, если буквы b в квадратных скобках нет, значит у игры не установлена сама базовая часть (в таком случае строка будет окрашена красным)</p> <ul dir="auto"> <li><strong>N/S/M/G</strong> - NAND/SD/Mixed/Gamecart - означает место, где установлена игра. В случае, если части игры находятся на разных носителях, отображается Mixed, а если на картридже - Gamecart</li> <li><strong>b</strong> - BASE - сама игра</li> <li><strong>u</strong> - Update - обновление игры</li> <li><strong>d</strong> - DLC - DLC игры</li> <li><strong>l</strong> - LayeredFS mod - наличие модификаций, читов или перевода, которые находятся в папке <code>sdmc:/atmosphere/contents/%titleID%/</code></li> </ul> <p dir="auto">Нажав <strong>(L3)</strong> можно запустить игру прямо отсюда</p> <p dir="auto"><strong>Обратите внимание!</strong> Если игра выделена <strong>красным</strong>, значит не установлена её базовая часть, а установлено только обновление или DLC</p> <div class="markdown-heading" dir="auto"><h4 tabindex="-1" class="heading-element" dir="auto">Контекстное меню тайтла</h4><a id="user-content-контекстное-меню-тайтла" class="anchor" aria-label="Permalink: Контекстное меню тайтла" href="#контекстное-меню-тайтла"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/18294541/123554557-3b480880-d789-11eb-9235-d547f2c588bd.jpg"><img src="https://user-images.githubusercontent.com/18294541/123554557-3b480880-d789-11eb-9235-d547f2c588bd.jpg" alt="2021062719354100" style="max-width: 100%;"></a></p> <p dir="auto">Отображается при нажатии на <strong>(+)</strong> на выбранных тайтлах (или тайтле)</p> <p dir="auto">В верху контекстного окна отображается количество выбранных тайтлов и их размер</p> <ul dir="auto"> <li><strong>Delete title</strong> / <strong>Удалить</strong> - удалить выбранные тайтлы</li> <li><strong>Move title to SD/NAND</strong> / <strong>Переместить в NAND/SD</strong> - переместить выбранные тайтлы в NAND или на карту памяти, в зависимости от того, где тайтл сейчас находится. Если части тайтла находятся и там и там, будут отображены оба варианта</li> <li><strong>Reset required version</strong> / <strong>Сбросить требуемую версию</strong> - сбросить проверку требуемой для запуска тайтла версии системы (должен быть включён дебаг в Atmosphere)</li> <li><strong>Check integrity</strong> / <strong>Проверить целостность</strong> - проверка целостности данных выбранных тайтлов</li> <li><strong>Expose contents via MTP</strong> / <strong>Открыть контент по MTP</strong> - смонтировать содержимое выбранных тайтлов по MTP</li> <li><strong>Dump to SD</strong> / <strong>Сдампить на SD</strong> - сдампить весь доступный контент (игру, DLC, обновление) на SD по пути, указанному в конфиге (по-умолчанию <code>switch/DBI/dumps</code>)</li> <li><strong>Content info</strong> / <strong>Информация о контенте</strong> - показать дополнительную информацию о контенте (версия SDK, требуемое поколение ключей, ID, информацию о патчах и многое другое)</li> </ul> <p dir="auto">Если нажать на тайтле кнопку <strong>(A)</strong>, то откроется <strong>детальное меню игры</strong></p> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Детальное меню игры</h3><a id="user-content-детальное-меню-игры" class="anchor" aria-label="Permalink: Детальное меню игры" href="#детальное-меню-игры"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto"><strong>Детальное меню игры</strong> открывается, если нажать на тайтле кнопку <strong>(A)</strong>, находясь в меню просмотра установленных игр (<strong>Browse installed applications</strong> / <strong>Просмотр установленных игр</strong>)</p> <p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/18294541/123554561-400cbc80-d789-11eb-8d81-e3403f33b365.jpg"><img src="https://user-images.githubusercontent.com/18294541/123554561-400cbc80-d789-11eb-8d81-e3403f33b365.jpg" alt="2021062719353600" style="max-width: 100%;"></a></p> <p dir="auto">Отображается иконка игры, <strong>TitleID</strong>, название (<strong>Name</strong> / <strong>Имя</strong>), автор (<strong>Author</strong> / <strong>Автор</strong>), версия (<strong>Version</strong> / <strong>Версия</strong>), поддерживаемые языки (<strong>Language</strong> / <strong>Языки</strong>) и наличие LFS-мода (<strong>LFS-mod</strong> / <strong>LFS-мод.</strong>)</p> <p dir="auto">Так же здесь можно узнать количество времени, проведённого в игре (<strong>Total play time</strong> / <strong>Общее время игры</strong>), сколько раз игра была запущена (<strong>Total launches</strong> / <strong>Общее число запусков</strong>), сколько она весит (в целом (<strong>Total occupied space</strong> / <strong>Общее занимаемое место</strong>), а так же сколько места занимает в NAND (<strong>Space in NAND</strong> / <strong>Место в NAND</strong>) и на SD (<strong>Space on SD</strong> / <strong>Место на SD</strong>)), размер сохранений (<strong>Total saves size</strong> / ****) и какой язык у игры активен (<strong>Forced Language</strong> / <strong>Форсированный язык</strong>)</p> <p dir="auto">Ниже можно увидеть три вкладки, между которыми можно переключаться кнопками <strong>(L)</strong> и <strong>(R)</strong></p> <ul dir="auto"> <li><strong>Content records</strong> / <strong>Контент</strong></li> <li><strong>Tickets</strong> / <strong>Тикеты</strong></li> <li><strong>Saves</strong> / <strong>Сохранения</strong></li> </ul> <div class="markdown-heading" dir="auto"><h4 tabindex="-1" class="heading-element" dir="auto">Content records / Контент</h4><a id="user-content-content-records--контент" class="anchor" aria-label="Permalink: Content records / Контент" href="#content-records--контент"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/18294541/123554565-41d68000-d789-11eb-9c59-621275895075.jpg"><img src="https://user-images.githubusercontent.com/18294541/123554565-41d68000-d789-11eb-9c59-621275895075.jpg" alt="2021062719354800" style="max-width: 100%;"></a></p> <p dir="auto">Информация показана в следующем виде:</p> <p dir="auto">[Location] Type | version [version number] | Size</p> <p dir="auto"><strong>Location</strong> - <strong>NAND</strong> или <strong>SD</strong>, в зависимости от места, в которое установлен контент <strong>Type</strong> - <strong>Application</strong> для базовой игры, <strong>Update</strong> для обновления, <strong>Addon</strong> для DLC, причем рядом с последним будет указан номер самого DLC <strong>version [version number]</strong> - версия контента в dec и [hex] (например, 786432 это 0.12.0.0) <strong>Size</strong> - занимаемое место</p> <p dir="auto">При нажатии на контенте кнопкой <strong>(A)</strong>, можно посмотреть его содержимое. Содержимое можно скопировать, выбрав соответствующий пункт в контекстном меню (напоминаю, открывается по нажатию кнопки <strong>(+)</strong>). Содержимое открывается в режиме "только для чтения".</p> <p dir="auto">При нажатии кнопки (+) на выбранном контенте, можно попасть в контекстное меню:</p> <ul dir="auto"> <li><strong>Delete record</strong> / <strong>Удалить</strong> - удалить выбранную запись</li> <li><strong>Move records to SD/NAND</strong> / <strong>Переместить в SD/NAND</strong> - переместить выбранную запись в NAND или на карту памяти, в зависимости от того, где она сейчас находится. Если части тайтла находятся и там и там, будут отображены оба варианта</li> <li><strong>Reset required version</strong> / <strong>Сбросить требуемую версию</strong> - сбросить проверку требуемой для запуска тайтла версии системы (должен быть включен дебаг в Atmosphere). Не поможет, если игра собрана на новой версии SDK</li> <li><strong>Force language</strong> / <strong>Форсировать язык</strong> - позволяет принудительно запускать игру с выбранным языком. По-умолчанию игра запускается с тем же языком, что выбран в системе, ежели такового в игре нет, то в зависимости от региона консоли. Выбранный язык будет отображаться рядом с иконкой игры в поле <strong>Forced Language</strong></li> <li><strong>Check integrity</strong> / <strong>Проверить целостность</strong> - проверка целостности данных выбранных тайтлов</li> <li><strong>Expose contents via MTP</strong> / <strong>Открыть контент по MTP</strong> - смонтировать содержимое выбранных тайтлов по MTP</li> <li><strong>Dump to SD</strong> / <strong>Сдампить на SD</strong> - сдампить весь доступный контент (игру, DLC, обновление) на SD по пути, указанному в конфиге (по-умолчанию <code>switch/DBI/dumps</code>)</li> <li><strong>Content info</strong> / <strong>Информация о контенте</strong> - показать дополнительную информацию о контенте (версия SDK, требуемое поколение ключей, ID, информацию о патчах и многое другое)</li> </ul> <div class="markdown-heading" dir="auto"><h4 tabindex="-1" class="heading-element" dir="auto">Tickets / Тикеты</h4><a id="user-content-tickets--тикеты" class="anchor" aria-label="Permalink: Tickets / Тикеты" href="#tickets--тикеты"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto"><strong>Ticket (или encrypted title key)</strong> — это зашифрованная уникальная информация о правах запуска на контент игры, которая устанавливается в систему при инсталляции каждой игры (<strong>000</strong> в конце titleID)/обновления (<strong>800</strong> в конце titleID)/каждого DLC.</p> <p dir="auto">Отображаются установленные для контента тикеты:</p> <ul dir="auto"> <li><strong>Personalized ticket</strong> / <strong>Персонализированный тикет (личный)</strong> - тикет, который дается при установке игры из ешопа, он персонифицированный, то есть уникальный для каждой учетной записи</li> <li><strong>Common ticket</strong> / <strong>Общий тикет</strong> - тикет общего типа, есть у обновлений, так же используется как костыль в пиратских играх</li> </ul> <p dir="auto">Базы игр на серверах Nintendo шифрованы одним и тем же ключом, но этот ключ шифруется собственным ключом, уникальным для каждого купившего игру (этот ключ генерируется на самой приставке), поэтому получить из Personalized-тикета ключ для дешифровки игры можно только на той приставке, для которой он создан. То есть у всех купивших Personalized-тикеты разные, но содержат один и тот же ключ дешифровки игры. А в Common-тикетах нет шифрования, только подпись.</p> <p dir="auto">При нажатии кнопки (+) на выбранном контенте, можно попасть в контекстное меню, где можете удалить выбранные тикеты.</p> <p dir="auto">Иногда, если возникают специфическая ошибка, и вы точно знаете и уверены, что вы делаете, его можно удалить у конкретной игры и её обновления/DLC. Во всех остальных случаях лучше тут ничего не трогать, во избежание ошибок запуска игр.</p> <div class="markdown-heading" dir="auto"><h4 tabindex="-1" class="heading-element" dir="auto">Saves / Сохранения</h4><a id="user-content-saves--сохранения" class="anchor" aria-label="Permalink: Saves / Сохранения" href="#saves--сохранения"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Просмотр и удаление сохранений. Если сохранения нет, его можно создать через контекстное меню (кнопка (+)) для выбранного аккаунта. Если оно есть, то:</p> <ul dir="auto"> <li><strong>Backup</strong> / <strong>Сделать бекап</strong> - сделать резервную копию сохранения. По-умолчанию она будет расположена в папке <code>switch/DBI/saves</code></li> <li><strong>Restore</strong> / <strong>Восстановить бекап</strong> - восстановить резервную копию сохранений</li> <li><strong>Save info...</strong> / <strong>Информация о сохранении...</strong> - подробная информация о сохранении, например, тип, размер, имя аккаунта и т.п.</li> <li><strong>Increase save size</strong> / <strong>Увеличить размер</strong> - Увеличивает место, выделенное под сохранение на заданное значение</li> <li><strong>Delete</strong> / <strong>Удалить</strong> - удалить сохранение</li> </ul> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Browse tickets / Просмотр тикетов</h3><a id="user-content-browse-tickets--просмотр-тикетов" class="anchor" aria-label="Permalink: Browse tickets / Просмотр тикетов" href="#browse-tickets--просмотр-тикетов"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Просмотр и удаление тикетов игр. <strong>Ticket (или encrypted title key)</strong> — это специальная зашифрованная уникальная информация о правах запуска на контент игры, которая устанавливается в систему при инсталляции каждой игры (<strong>000</strong> в конце titleID)/обновления (<strong>800</strong> в конце titleID)/каждого DLC.</p> <ul dir="auto"> <li><strong>(+)</strong> означает наличие установленной игры</li> <li><strong>[c]</strong> (<strong>Personalized ticket</strong> / <strong>Персонализированный тикет (личный)</strong>) - тикет, который дается при установке игры из ешопа, он персонифицированный, то есть зашифрован уникальным ключем вашей консоли</li> <li><strong>[p]</strong> (<strong>Common ticket</strong> / <strong>Общий тикет</strong>) - тикет общего типа, есть у обновлений, так же используется как костыль в пиратских играх</li> </ul> <p dir="auto">Базы игр на серверах Nintendo шифрованы одним и тем же ключом, но этот ключ шифруется собственным ключом, уникальным для каждого купившего игру (этот ключ генерируется на самой приставке), поэтому получить из Personalized-тикета ключ для дешифровки игры можно только на той приставке, для которой он создан. То есть у всех купивших Personalized-тикеты разные, но содержат один и тот же ключ дешифровки игры. А в Common-тикетах нет шифрования, только подпись.</p> <p dir="auto">Иногда, если возникают специфическая ошибка, и вы точно знаете и уверены, что вы делаете, его можно удалить у конкретной игры и её обновления/DLC.</p> <p dir="auto">Во всех остальных случаях лучше тут ничего не трогать, во избежание ошибок запуска игр.</p> <div class="markdown-heading" dir="auto"><h4 tabindex="-1" class="heading-element" dir="auto">Контекстное меню тикетов</h4><a id="user-content-контекстное-меню-тикетов" class="anchor" aria-label="Permalink: Контекстное меню тикетов" href="#контекстное-меню-тикетов"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Отображается при нажатии на <strong>(+)</strong> на выбранных тикетах</p> <p dir="auto">В верху контекстного окна отображается количество выбранных тикетов</p> <ul dir="auto"> <li><strong>Delete tickets</strong> / <strong>Удалить</strong> - удалить выбранные тикеты</li> <li><strong>Select same game</strong> / <strong>Выбрать ту же игру</strong>- выделить все тикеты, относящиеся к выделенной игре</li> </ul> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Tools / Инструменты</h3><a id="user-content-tools--инструменты" class="anchor" aria-label="Permalink: Tools / Инструменты" href="#tools--инструменты"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ul dir="auto"> <li><strong>Cleanup orphaned files / Очистка потерянных файлов</strong> - автоматически чистит ненужные файлы игр, файлы от прерванных установок игр, скачанное (официально) обновление OFW прошивки и все неиспользуемые тикеты игр, если они были найдены.</li> <li><strong>Delete parental controls / Удаление родительского контроля</strong> - полностью удаляет родительский контроль. Не требует перезагрузки</li> <li><strong>Delete user... / Удаление пользователя</strong> - полностью удаляет выбранного пользователя из системы (сохранения удаленного пользователя остаются в системе)</li> <li><strong>Run random game / Запустить случайно игры</strong> - запускает случайную игру из установленных</li> <li><strong>NTP time sync / Синхронизация времени по NTP</strong> - синхронизирует время на консоли с удаленным сервером синхронизации времени. Для работы необходимо подключение к интернету и правильно выставленный часовой пояс в настройках консоли</li> <li><strong>Check for title updates / Проверка обновлений игр</strong> - проверяет обновления и новые DLC для установленных игр. База для проверки устанавливается в настройках</li> </ul> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Browse saves / Просмотр сохранений</h3><a id="user-content-browse-saves--просмотр-сохранений" class="anchor" aria-label="Permalink: Browse saves / Просмотр сохранений" href="#browse-saves--просмотр-сохранений"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Просмотр и удаление сохранений.</p> <p dir="auto">В общем виде сохранения показываются так:</p> <p dir="auto"><code>[Account] Game-Name Backup-date Size</code></p> <ul dir="auto"> <li><strong>Account</strong> - показывает имя аккаунта для которого был создан сейв, если тип сейва Account, если тип сейва другойб показывает его тип</li> <li><strong>Game-Name</strong> - показывает название игры для которой был создан сейв</li> <li><strong>Backup-date</strong> - показывает дату создания бекапа, отображается только во вкладке Backup</li> <li><strong>Size</strong> - размер сохранения или бекапа</li> </ul> <p dir="auto">Ниже можно увидеть три вкладки, между которыми можно переключаться кнопками <strong>(L)</strong> и <strong>(R)</strong></p> <ul dir="auto"> <li><strong>Installed</strong> / <strong>Установленные</strong> - показывает сохранения для всех установленных игр</li> <li><strong>Uninstalled</strong> / <strong>Удалённые</strong> - показывает сохранения для всех не установленных игр</li> <li><strong>Backups</strong> / <strong>Бекапы</strong> - показывает созданные бекапы</li> </ul> <div class="markdown-heading" dir="auto"><h4 tabindex="-1" class="heading-element" dir="auto">Контекстное меню Installed / Установленные и Uninstalled / Удалённые</h4><a id="user-content-контекстное-меню-installed--установленные-и-uninstalled--удалённые" class="anchor" aria-label="Permalink: Контекстное меню Installed / Установленные и Uninstalled / Удалённые" href="#контекстное-меню-installed--установленные-и-uninstalled--удалённые"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Отображается при нажатии на <strong>(+)</strong> на выбранных сохранениях</p> <ul dir="auto"> <li><strong>Backup</strong> / <strong>Сделать бекап</strong> - сделать бекап выбранных сохранений</li> <li><strong>Open</strong> / <strong>Открыть</strong> - открыть сохранение</li> <li><strong>Save info...</strong> / <strong>Информация...</strong> - информация о сохранении (Id, тип, размер, время создания и прочее)</li> <li><strong>Delete</strong> / <strong>Удалить</strong> - удалить выбранные сохранения</li> <li><strong>Select same app</strong> / <strong>Выбрать ту же игру</strong> - выделить все сохранения, относящиеся к выделенной игре</li> <li><strong>Browse app(s)</strong> / <strong>Просмотреть игры</strong> - перейти на <a href="#content-records--%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BD%D1%82">карточку выбранных игр</a>. Переключаться между карточками можно кнопками <strong>(ZL)</strong>/<strong>(ZR)</strong>. Только во вкладке <strong>Installed</strong> / <strong>Установленные</strong></li> </ul> <div class="markdown-heading" dir="auto"><h4 tabindex="-1" class="heading-element" dir="auto">Контекстное меню Backups / Бекапы</h4><a id="user-content-контекстное-меню-backups--бекапы" class="anchor" aria-label="Permalink: Контекстное меню Backups / Бекапы" href="#контекстное-меню-backups--бекапы"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Отображается при нажатии на <strong>(+)</strong> на выбранных сохранениях</p> <ul dir="auto"> <li><strong>Validate saves</strong> / <strong>Проверка сохранений</strong> - проверить целостность сохранений</li> <li><strong>Restore</strong> / <strong>Восстановить бекап</strong> - восстановить бекап выбранных сохранений</li> <li><strong>Open</strong> / <strong>Открыть</strong> - открыть сохранение</li> <li><strong>Delete</strong> / <strong>Удалить</strong> - удалить выбранные сохранения</li> <li><strong>Browse app(s)</strong> / <strong>Просмотреть игры</strong> - перейти на <a href="#content-records--%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BD%D1%82">карточку выбранных игр</a>. Переключаться между карточками можно кнопками <strong>(ZL)</strong>/<strong>(ZR)</strong></li> <li><strong>Select same user</strong> / <strong>Выбрать того же пользователя</strong> - выделить все сохранения, относящиеся к определенному пользователю</li> </ul> <p dir="auto">Если в списке на одну игру, одного пользователя выбрано несколько бекапов, то восстановится только самый свежий.</p> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Run MTP responder / Запустить MTP соединение</h3><a id="user-content-run-mtp-responder--запустить-mtp-соединение" class="anchor" aria-label="Permalink: Run MTP responder / Запустить MTP соединение" href="#run-mtp-responder--запустить-mtp-соединение"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto"><strong>Run MTP responder</strong> / <strong>Запустить MTP соединение</strong> включает встроенный в DBI MTP-сервер для обмена данными с ПК либо к Android-устройству по USB-C OTG (телефон/планшет/прочие устройства). <em>Горячая клавиша для вызова этой опции из главного меню</em>: кнопка <strong>(X)</strong> (ей же выходить из MTP). После подключения USB-провода к ПК и запуска MTP-сервера в dbi, на ПК появится следующее окно:</p> <p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/18294541/114265006-054f7f80-99f7-11eb-86c9-1a20d588e616.png"><img src="https://user-images.githubusercontent.com/18294541/114265006-054f7f80-99f7-11eb-86c9-1a20d588e616.png" alt="изображение" style="max-width: 100%;"></a></p> <p dir="auto">Где: 1: <strong>SD Card</strong>, для просмотра, копирования и удаления файлов и папок c/на ПК и с/на карту памяти SD. В случае, если размер файла превышает 4Гб, DBI автоматически разобьёт его на фрагменты специальным образом, чтобы свитч видел такой файл как цельный</p> <p dir="auto">2: <strong>NAND User</strong>, просмотр, копирование файлов и папок на ПК с внутренней память Switch, в его системный раздел USER (раздел доступен только для чтения).</p> <p dir="auto">3: <strong>NAND System</strong>, просмотр, копирование файлов и папок на ПК с внутренней памяти Switch, в его системный раздел SYSTEM (раздел доступен только для чтения).</p> <p dir="auto">4: <strong>Installed games</strong>, для просмотра установленных игр.</p> <p dir="auto">В <strong>Installed games</strong> отображаются все игры как в NAND, внутренней памяти Switch, так и установленные на карту памяти, все вместе. Чтобы сделать дамп (дистрибутив) установленный игры себе на ПК в формате .NSP, просто скопируйте папку с названием игры из <strong>Installed games</strong> на свой ПК, при этом на базе вашего personalized-тикета генерируется общий common-тикет с полностью очищенной личной информацией. Вы получите дамп этой игры в виде раздельных файлов - отдельно саму игру, отдельно обновление и DLC. Если для игры были установлены читы или моды, они будут находится в папке <code>Mods & Cheats</code>. Так же можно получить скомбинированный дамп, в котором в один файл будет склеяны сама игры, все её DLC и обновление. Такой файл лежит прямо в корне раздела <strong>Installed games</strong>.</p> <p dir="auto">Здесь так же хранится сгенерированный dbi <code>InstalledApplications.csv</code>, с таблицей списка установленных игр, их TitleID и текущей версии.</p> <p dir="auto">5: <strong>SD install</strong><br> Скопируйте в эту папку ваши <strong>NSP</strong>/<strong>NSZ</strong>/<strong>XCI</strong> или <strong>XCZ</strong>. По окончанию копирования игра будет установлена на <strong>карту памяти</strong> вашей приставки. При установке NSZ-файлов учитывайте, что их фактический размер может сильно отличаться от размера после установки, так что если при наличии свободных 2Гб на карте памяти у вас, например, не хватает места для установки NSZ размером, скажем, в 1Гб, не удивляйтесь, поскольку контейнер NSZ - сжатый.</p> <p dir="auto">6: <strong>NAND install</strong>: Скопируйте в эту папку ваши <strong>NSP</strong>/<strong>NSZ</strong>/<strong>XCI</strong> или <strong>XCZ</strong>. По окончанию копирования игра будет установлена во <strong>внутреннюю память</strong> вашей приставки. При установке NSZ-файлов учитывайте, что их фактический размер может сильно отличаться от размера после установки, так что если при наличии свободных 2Гб на карте памяти у вас, например, не хватает места для установки NSZ размером, скажем, в 1Гб, не удивляйтесь, поскольку контейнер NSZ - сжатый.</p> <p dir="auto">7: <strong>Saves</strong>: Доступ ко всем сохранениям игр — в аккаунтах (Account), системных программ (System), в Background Content Asymmetric synchronized delivery and Transmission (BCAT, пример: ивенты в ACNH), временных (Temporary), кэш (Cache, пример: аддоны в DOOM), системных BCAT (SystemBCAT), — хранящимся во внутренней памяти Switch</p> <p dir="auto">В папке <strong>Installed games</strong> — сохранения для имеющихся установленных сейчас игр</p> <p dir="auto"><strong>Uninstalled games</strong> — сохранения от удалённых игр, которые раньше запускались. Отсюда можно сделать их бекап, скопировав их на ПК, а также удалить ненужные — для этого откройте папку с именем нужной игры, затем удалите папку с ником вашего аккаунта/Device-сохранения.</p> <p dir="auto">Для того, чтобы восстановить сохранения, скопируйте их в соответствующую папку с ПК. DBI не требует предварительного запуска игры для восстановления сохранения, однако это касается только обычных сохранений. BCAT или Cache сохранения требуют предварительного запуска игры перед восстановлением.</p> <p dir="auto">8: <strong>Album</strong>: доступ к скриншотам и видеороликам (Альбому), точно так же, как это сделано в OFW 11.0.0 Nintendo.</p> <p dir="auto">9: <strong>Gamecard</strong>: при вставленном в Switch игровом картридже появляется возможность скопировать его дамп в .XCI либо trimmed .XCI на ПК, вместе со встроенным в него обновлением, если оно есть, с уже убранным его персональным RSA-сертификатом; кроме того, возможно отдельно экспортировать его сертификат</p> <p dir="auto">Также, на дисплее Switch после включения MTP-сервера появится окно с вашим ником учётной записи и его UID, а также количеством игровых сохранений:</p> <p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/18294541/114266673-27013480-9a00-11eb-81ba-f1ff1c3c5abb.jpg"><img src="https://user-images.githubusercontent.com/18294541/114266673-27013480-9a00-11eb-81ba-f1ff1c3c5abb.jpg" alt="2021041013152900" style="max-width: 100%;"></a></p> <p dir="auto">Чтобы выключить MTP-сервер и выйти в главное меню, нажмите кнопку <strong>(X)</strong> или <strong>(B)</strong>.</p> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Activity Log / Настройки активности</h3><a id="user-content-activity-log--настройки-активности" class="anchor" aria-label="Permalink: Activity Log / Настройки активности" href="#activity-log--настройки-активности"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Показывает графики активности в играх по датам для всех имеющихся пользователей для каждой конкретной игры.</p> <p dir="auto">При запуске показаны две вкладки, которыми можно переключаться кнопками (L) и (R):</p> <p dir="auto">Горячие клавиши:</p> <ul dir="auto"> <li>(L)/(R) - переключение на соседнюю вкладку</li> <li>(ZL)/(ZR) - смена даты</li> <li>(Y) - смена периода отображения: всё время, день, месяц, год</li> <li>(X) - сортировка: по названию игры, по числу запусков, по времени проведенному в игре</li> <li>(+) - выбор пользователя для отображения</li> </ul> <div class="markdown-heading" dir="auto"><h4 tabindex="-1" class="heading-element" dir="auto">Applications / Запускавшиеся игры</h4><a id="user-content-applications--запускавшиеся-игры" class="anchor" aria-label="Permalink: Applications / Запускавшиеся игры" href="#applications--запускавшиеся-игры"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Показан список игр для которых есть статистика запуска. Вверху окна находится статусная строка следующего вида:</p> <p dir="auto"><code>[игрок] период. Всего: количество часов (метод сортировки)</code>. Например, строка <code>[Все игроки] 2023 Январь. Всего: 72 часа (по времени игры)</code> будет означать, что на экране отображается статистика <strong>для всех игроков за январь 2023 года с сортировкой по времени игры, где наиграно 72 часа</strong></p> <p dir="auto">Окно разделено на три колонки. Слева направо:</p> <ul dir="auto"> <li>Название игры</li> <li>Количество запусков</li> <li>Количество времени проведенного в игре</li> </ul> <p dir="auto">При нажатии (А) на игре вы попадаете в <strong>Диаграмму активности</strong> для текущей игры, где показана статистика по выбранной игре. При нажатии (A) на пункте, вы переместитесь глубже (год -> месяц -> день -> час)</p> <div class="markdown-heading" dir="auto"><h4 tabindex="-1" class="heading-element" dir="auto">Activity / Диаграмма активности</h4><a id="user-content-activity--диаграмма-активности" class="anchor" aria-label="Permalink: Activity / Диаграмма активности" href="#activity--диаграмма-активности"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Показана активность в виде диаграммы для всех игор сразу. Для перехода к диаграмме по конкретной игре, перейдите во вкладку <strong>Запускавшиеся игры</strong> и выберите игру для отображения</p> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Configuration / Настройки DBI и параметры файла dbi.config</h3><a id="user-content-configuration--настройки-dbi-и-параметры-файла-dbiconfig" class="anchor" aria-label="Permalink: Configuration / Настройки DBI и параметры файла dbi.config" href="#configuration--настройки-dbi-и-параметры-файла-dbiconfig"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Менеджер конфигурации программы, позволяет легко настроить программу без редактирования <code>dbi.config</code>.</p> <p dir="auto">Ниже будут описаны пункты конфигурации через GUI/ Пункты, которым они соответствуют в <code>dbi.config</code> будут указаны в скобках.</p> <p dir="auto"><strong>true</strong> в конфиге соответствует <strong>Yes</strong> / <strong>Да</strong> в настройках, <strong>false</strong> - <strong>No</strong> / <strong>Нет</strong></p> <div class="markdown-heading" dir="auto"><h4 tabindex="-1" class="heading-element" dir="auto">General / Общие (<code>[General]</code>)</h4><a id="user-content-general--общие-general" class="anchor" aria-label="Permalink: General / Общие ([General])" href="#general--общие-general"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ul dir="auto"> <li><strong>Use external USB drives</strong> / <strong>Использовать внешние USB</strong> (<code>UseLibUsbHsFS</code>) - <strong>true</strong> включает библиотеку <a href="https://github.com/DarkMatterCore/libusbhsfs">libusbhsfs</a> для работы с внешними USB-накопителями через USB-OTG на Switch, <strong>false</strong> отключает её.</li> <li><strong>Direct exit to homescreen</strong> / <strong>Выход на рабочий стол</strong> (<code>ExitToHomeScreen</code>) - при <strong>false</strong> выход из dbi происходит в hbmenu, при <strong>true</strong> на рабочий стол Switch.</li> <li><strong>Log events & operations</strong> / <strong>Журналирование действий</strong> (<code>LogEvents</code>) - сохранять или нет логи для событий "<em>Install</em>", "<em>Check integrity</em>" and "<em>Cleanup</em>"</li> <li><strong>Highlight update files</strong> / <strong>Подсвечивать файлы обновлений</strong> (<code>HighlightUpdates</code>) - подсвечивать или нет в файловом менеджере обновления для установленных игр</li> <li><strong>Rotate screen upside down</strong> / <strong>Перевернуть экран</strong> (<code>RotateScreen</code>) - переворачивает экран на 180 градусов</li> <li><strong>Rotate joycon upside down</strong> / <strong>Перевернуть джойконы</strong> (<code>RotateJoycon</code>) - переворачивает управление, чтобы соответствовать перевёрнутому экрану</li> <li><strong>Use under/over clock</strong> / <strong>Использовать разгон</strong> (<code>OptimizeClockSpeed</code>) - отключает оптимизацию частоты SoC в простое. Отключено по-умолчанию, поскольку <strong>может привести к лагам на стартовом экране при некорректном выходе из DBI</strong>! Корректный выход - через пункт меню <strong>Exit</strong>.</li> <li><strong>Browse saves in RO mode</strong> / <strong>Сохранения только в RO режиме</strong> (<code>ROSaveFS</code>) - просматривать сохранения в режиме только для чтения</li> <li><strong>Show 'Update From Here'</strong> / <strong>Показывать 'Обновить отсюда'</strong> (<code>ShowUpdateFromHere</code>) - показывать кнопку "Update all titles" в контекстном меню для автообновления установленных игр из всех (SD/USB/HTTP/FTP) доступных источников</li> <li><strong>Save backup folder</strong> / <strong>Папка для бекапа сохранений</strong> (<code>SavesFolder</code>) - папка для хранения дампов сохранений</li> <li><strong>Logs folder</strong> / <strong>Папка журналов</strong> (<code>LogsFolder</code>) - папка для хранения логов</li> <li><strong>Title dumps folder</strong> / <strong>Папка для дампа игр</strong> (<code>DumpsFolder</code>) - папка на карте памяти в которую будут дампиться игры</li> <li><strong>Version info URL</strong> / <strong>URL для проверки обновлений</strong> (<code>VersionsURL</code>) - может принимать прямую ссылку на файл на уудалённом сервере, либо на файл на карте памяти. Примеры: <code>https://raw.githubusercontent.com/blawar/titledb/master/versions.txt</code> или <code>sdmc:/versions.txt</code></li> <li><strong>Show cache warming indicator</strong> / <strong>Показывать прогрев кеша</strong> (<code>ShowCacheWarmingIndicator</code>) - показывать уведомление о кешировании информации об установленных программах</li> <li><strong>Put cursor down after selection</strong> / <strong>Смещать курсор после выделения</strong> (<code>MoveDownAfterX</code>) - сдвигать или нет курсор после отмечания игры кнопкой <strong>(X)</strong></li> <li><strong>Screen idle time in seconds</strong> / <strong>Время гашения экрана в секундах</strong> (<code>ScreenIdleTimeout</code>) - таймаут гашения дисплея</li> <li><strong>Autorepeat buttons when holding</strong> / <strong>Автоповтор кнопки при удержании</strong> (<code>Autorepeat</code>) - перемещаться по меню удерживанием кнопки</li> <li><strong>Cursor on both panels</strong> / <strong>Курсор на обеих панелях</strong> (<code>Secondcursor</code>) - отображать или нет курсор на неактивной панели</li> </ul> <p dir="auto"><strong>Есть в конфиге, но нет в меню:</strong></p> <ul dir="auto"> <li><strong>AppSorting</strong> - опции для сортировки списка приложений</li> <li><strong>SaveSorting</strong> - опции для сортировки сохранений</li> </ul> <div class="markdown-heading" dir="auto"><h4 tabindex="-1" class="heading-element" dir="auto">Main menu / Главное меню (<code>[MainMenu]</code>)</h4><a id="user-content-main-menu--главное-меню-mainmenu" class="anchor" aria-label="Permalink: Main menu / Главное меню ([MainMenu])" href="#main-menu--главное-меню-mainmenu"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Настройки пунктов меню, которые будут отображаться в главном меню DBI. <strong>Yes</strong> / <strong>Да</strong> в настройках, соответствует <strong>true</strong> в конфиге, <strong>No</strong> / <strong>Нет</strong> - <strong>false</strong></p> <ul dir="auto"> <li><strong>Browse SD Card</strong> / <strong>Просмотр SD карты</strong> (<code>BrowseSD</code>) - пункт "<a href="#browse-sd-card--%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80-sd-%D0%BA%D0%B0%D1%80%D1%82%D1%8B-%D0%B8-browse-usb0-drive--%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80-usb0-%D0%B4%D0%B8%D1%81%D0%BA%D0%B0">Browse SD Card / Просмотр SD карты</a>", для установки игр с Sd карты</li> <li><strong>Browse SYSTEM</strong> / <strong>Просмотр раздела SYSTEM</strong> (<code>BrowseSystem</code>) - возможность просматривать и копировать файлы из раздела SYSTEM</li> <li><strong>Browse USER</strong> / <strong>Просмотр раздела USER</strong> (<code>BrowseUser</code>) - возможность просматривать и копировать файлы из раздела USER</li> <li><strong>Browse USB</strong> / <strong>Просмотр USB носителей</strong> (<code>USBHost</code>) - пункт "<strong>Browse USB0 Drive / Просмотр USB0 диска</strong>, для установки игр с внешнего USB</li> <li><strong>Install from USB</strong> / <strong>Установка через DBIbackend</strong> (<code>BackendInstall</code>) - пункт "<a href="#install-title-from-dbibackend--%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-dbibackend">Install title from DBIbackend / Установка через DBIbackend</a>"</li> <li><strong>Install from Gamecard</strong> / <strong>Установка с картриджа</strong> (<code>GameCard</code>) - пункт "<strong>Install title from Gamecard</strong> / <strong>Установка с картриджа</strong>", для установки содержимого картриджа в память консоли</li> <li><strong>Browse network</strong> / <strong>Просмотр сети</strong> (<code>Network</code>) - пункт "<strong>Home server</strong> / <strong>Подключение к серверу...</strong>", для установки игр с домашнего веб-сервера</li> <li><strong>Browse SD shortcuts</strong> / <strong>Закладки на SD</strong> (<code>Local</code>) - показывать или нет ссылки на папки из раздела <a href="#local-sources">Local sources</a></li> <li><strong>Browse applications</strong> / <strong>Просмотр установленных игр</strong> (<code>BrowseApps</code>) - пункт "<a href="#browse-installed-applications">Browse installed applications</a>", для управления установленными приложениями</li> <li><strong>Cleanup orphaned files</strong> / <strong>Очистка потерянных файлов</strong> (<code>Cleanup</code>) - пункт "<a href="#cleanup-orphaned-files--%D0%BE%D1%87%D0%B8%D1%81%D1%82%D0%BA%D0%B0-%D0%BF%D0%BE%D1%82%D0%B5%D1%80%D1%8F%D0%BD%D0%BD%D1%8B%D1%85-%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2">Cleanup orphaned files / Очистка потерянных файлов</a>", для очистки "осиротевших" файлов с карты памяти</li> <li><strong>Check title updates</strong> / <strong>Проверка обновлений игр</strong> (<code>UpdateCheck</code>) - пункт "<strong>Check for title updates</strong> / <strong>Проверка обновлений игр</strong>", для проверки обновлений и DLC для установленных игр</li> <li><strong>Browse tickets</strong> / <strong>Просмотр тикетов</strong> (<code>Tickets</code>) - пункт "<a href="#browse-tickets--%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80-%D1%82%D0%B8%D0%BA%D0%B5%D1%82%D0%BE%D0%B2">Browse tickets / Просмотр тикетов</a>", для управления тикетами</li> <li><strong>Browse saves</strong> / <strong>Просмотр сохранений</strong> (<code>Saves</code>) - <a href="#browse-saves--%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80-%D1%81%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D0%B9">Browse saves / Просмотр сохранений</a></li> <li><strong>Run MTP responder</strong> / <strong>Запустить МТР соединение</strong> (<code>MTP</code>) - пункт "<a href="#run-mtp-responder--%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D1%82%D0%B8%D1%82%D1%8C-mtp-%D1%81%D0%BE%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5">Run MTP responder / Запустить MTP соединение</a>", для запуска MTP</li> <li><strong>Run FTP server</strong> / <strong>Запустить FTP сервер</strong> (<code>FTP</code>) - пункт "<strong>Run FTP server</strong> / <strong>Запустить FTP сервер</strong>", для запуска FTP</li> </ul> <div class="markdown-heading" dir="auto"><h4 tabindex="-1" class="heading-element" dir="auto">Applications / Установленные игры (<code>[Applications]</code>)</h4><a id="user-content-applications--установленные-игры-applications" class="anchor" aria-label="Permalink: Applications / Установленные игры ([Applications])" href="#applications--установленные-игры-applications"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ul dir="auto"> <li><strong>Show LFS folder size (slow)</strong> / <strong>Показывать размер LFS (долго)</strong> (<code>CalculateLFSSize</code>) - включает или отключает подсчёт размера установленных LFS-модов. Если включено, может повлиять на скорость открытия меню "<em>Browse installed applications</em>"</li> </ul> <div class="markdown-heading" dir="auto"><h4 tabindex="-1" class="heading-element" dir="auto">Install options / Параметры установки (<code>[Install]</code>)</h4><a id="user-content-install-options--параметры-установки-install" class="anchor" aria-label="Permalink: Install options / Параметры установки ([Install])" href="#install-options--параметры-установки-install"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ul dir="auto"> <li><strong>Check hash during install</strong> / <strong>Проверять хэш при установке</strong> (<code>CheckHash</code>) - при <strong>true</strong> проверяются хеши <code>.nca</code>-файлов при установке игр на Switch, при <strong>false</strong> - нет</li> <li><strong>Chunked HTTP/FTP transfer</strong> / <strong>Блочная передача по HTTP/FTP</strong> (<code>ChunkedTransfer</code>) - использование чанковую передачу данных по HTTP</li> </ul> <div class="markdown-heading" dir="auto"><h4 tabindex="-1" class="heading-element" dir="auto">MTP options / Параметры MTP (<code>[MTP]</code>)</h4><a id="user-content-mtp-options--параметры-mtp-mtp" class="anchor" aria-label="Permalink: MTP options / Параметры MTP ([MTP])" href="#mtp-options--параметры-mtp-mtp"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ul dir="auto"> <li><strong>Show combined NSP</strong> / <strong>Показывать объединённый NSP</strong> (<code>ShowCombinedNSPInInstalledGames</code>) - <strong>false</strong> выключает показ комбинированных (multi-title .NSP-file) тайтлов.</li> <li><strong>Show 'Mods & Cheats' folder</strong> / <strong>Показывать папку 'Mods&Cheats'</strong> (<code>ShowMACInInstalledGames</code>) - <strong>false</strong> выключает показ виртуальной директории <strong>Mods & cheats</strong> в пункте Installed games в MTP, перенаправляющей по пути <code>sdmc:/atmosphere/contents/TITLEID/</code> на карту памяти</li> <li><strong>Use TitleID for 'Mods & Cheats'</strong> / <strong>Использовать для неё TitleID</strong> (<code>MACasTID</code>) - отображать папку "Mods & Cheats" в режиме MTP в виде TitleID</li> <li><strong>Turn off screen</strong> / <strong>Выключать экран</strong> (<code>TurnOffScreen</code>) - отключать или нет экран консоли при подключении её в режиме MTP</li> <li><strong>Android extensions</strong> (<code>ReportAndroidExtension</code>) - использовать или нет соответствующий набор команд при работе по MTP. Иногда ПК клиенты на базе libmtp (Mac или linux) не корректно распознают девайс в связи с чем может упасть скорость передачи данных. В таких случая рекомендуется попробовать изменить эту настройку.</li> </ul> <p dir="auto"><strong>Есть в конфиге, но нет в меню:</strong></p> <ul dir="auto"> <li><strong>LogAllFiles</strong> — <strong>false</strong> выключает логирование файлов меньше 4Мб при работе с MTP, при <strong>true</strong> логируются все файлы.</li> </ul> <div class="markdown-heading" dir="auto"><h4 tabindex="-1" class="heading-element" dir="auto">MTP storages / Хранилища MTP (<code>[MTP Storages]</code>)</h4><a id="user-content-mtp-storages--хранилища-mtp-mtp-storages" class="anchor" aria-label="Permalink: MTP storages / Хранилища MTP ([MTP Storages])" href="#mtp-storages--хранилища-mtp-mtp-storages"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Показ соответствующих элементов при работе <a href="#run-mtp-responder--%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D1%82%D0%B8%D1%82%D1%8C-mtp-%D1%81%D0%BE%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5">MTP Responder</a> с ПК/Android, по умолчанию все пункты включены для отображения.</p> <p dir="auto"><strong>true</strong> - отображать в главном меню, <strong>false</strong> - нет</p> <p dir="auto">Названия пунктов соответствуют названиям разделов</p> <ul dir="auto"> <li><strong>SD Card</strong> (<code>1: SD Card</code>)</li> <li><strong>Nand USER</strong> (<code>2: Nand USER</code>)</li> <li><strong>Nand SYSTEM</strong> (<code>3: Nand SYSTEM</code>)</li> <li><strong>Installed games</strong> (<code>4: Installed games</code>)</li> <li><strong>SD Card install</strong> (<code>5: SD Card install</code>)</li> <li><strong>NAND install</strong> (<code>6: NAND install</code>)</li> <li><strong>Saves</strong> (<code>7: Saves</code>)</li> <li><strong>Album</strong> (<code>8: Album</code>)</li> <li><strong>Gamecard</strong> (<code>9: Gamecard</code>)</li> <li><strong>Show custom storages</strong> / <strong>Пользовательские хранилища</strong> (<code>CustomStorages</code>) - отображать или спрятать кастомные пункты меню, прописанные в секции <strong>MTP custom storages</strong></li> </ul> <div class="markdown-heading" dir="auto"><h4 tabindex="-1" class="heading-element" dir="auto">FTP options / Параметры FTP (<code>[FTP]</code>)</h4><a id="user-content-ftp-options--параметры-ftp-ftp" class="anchor" aria-label="Permalink: FTP options / Параметры FTP ([FTP])" href="#ftp-options--параметры-ftp-ftp"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ul dir="auto"> <li><strong>Turn off screen</strong> / <strong>Выключать экран</strong> (<code>TurnOffScreen</code>) - выключать экран при входе в режим FTP</li> <li><strong>Start local Access point</strong> / <strong>Запускать точку доступа</strong> (<code>UseAP</code>) - работа Switch в режиме точки доступа, к которой FTP-клиенты могут подключаться напрямую. Ниже настройки этой точки доступа</li> <li><strong>Read file date</strong> / <strong>Читать дату файлов</strong> (<code>ReadMT</code>) - читать или нет дату изменения файла</li> </ul> <div class="markdown-heading" dir="auto"><h4 tabindex="-1" class="heading-element" dir="auto">Access point / Точка доступа (<code>[Access point]</code>)</h4><a id="user-content-access-point--точка-доступа-access-point" class="anchor" aria-label="Permalink: Access point / Точка доступа ([Access point])" href="#access-point--точка-доступа-access-point"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ul dir="auto"> <li><strong>SSID</strong> (<code>SSID</code>) - название точки доступа</li> <li><strong>Password</strong> / <strong>Пароль</strong> (<code>Password</code>) - пароль</li> <li><strong>Use 5 GHz</strong> / <strong>Использовать 5 GHz</strong> (<code>Use5GHz</code>) - использовать ли 5 гигагерц. Если выключено, то будет работать в режиме 2.4 Ггц</li> <li><strong>Use hidden SSID</strong> / <strong>Использовать скрытый SSID</strong> (<code>Hidden</code>) - скрывать SSID для поиска. То есть подключиться можно будет только введя указанный SSID</li> </ul> <div class="markdown-heading" dir="auto"><h4 tabindex="-1" class="heading-element" dir="auto">Есть в конфиге, но нет в меню</h4><a id="user-content-есть-в-конфиге-но-нет-в-меню" class="anchor" aria-label="Permalink: Есть в конфиге, но нет в меню" href="#есть-в-конфиге-но-нет-в-меню"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <div class="markdown-heading" dir="auto"><h5 tabindex="-1" class="heading-element" dir="auto"><a href="#home-server--%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BA-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D1%83">Network sources</a></h5><a id="user-content-network-sources" class="anchor" aria-label="Permalink: Network sources" href="#network-sources"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Задаются имена и адреса для установки игр по сети (через WiFi/LAN-адаптер)</p> <p dir="auto"><strong>NSP Indexer</strong> - адрес для индексации NSP (<a href="https://github.com/rashevskyv/dbi/issues/44">подробнее</a>)</p> <div class="markdown-heading" dir="auto"><h5 tabindex="-1" class="heading-element" dir="auto"><strong>Local sources</strong></h5><a id="user-content-local-sources" class="anchor" aria-label="Permalink: Local sources" href="#local-sources"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Создание пунктов меню с быстрым доступом к выбранным в конфиге папкам на карте памяти («ярлыки»), например:</p> <p dir="auto"><code>Homebrew Shortcut=sdmc:/switch</code> создаст в главном меню пункт "<strong>Homebrew Shortcut</strong>", который откроет папку <code>sdmc:/switch</code></p> <div class="markdown-heading" dir="auto"><h5 tabindex="-1" class="heading-element" dir="auto"><strong>MTP custom storages</strong></h5><a id="user-content-mtp-custom-storages" class="anchor" aria-label="Permalink: MTP custom storages" href="#mtp-custom-storages"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Кастомные пункты для MTP-режима для быстрого доступа к папкам на вашей карте памяти. Формат: <code><отображаемое_имя папки>=<путь></code>, например: <code>Homebrew=sdmc:/switch</code>. В режиме MTP появится папка <code>Homebrew</code>, ссылающаяся на папку <code>switch</code> на вашей карте памяти</p> <div class="markdown-heading" dir="auto"><h5 tabindex="-1" class="heading-element" dir="auto"><strong>Title name override</strong></h5><a id="user-content-title-name-override" class="anchor" aria-label="Permalink: Title name override" href="#title-name-override"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Позволяет изменить имя отображаемого тайтла. Например, если указать <code>10023901191C000=Naheulbeuk</code>, то в приложении вместо <code>The Dungeon of Naheulbeuk: The Amulet of Chaos</code> будет отображаться просто <code>Naheulbeuk</code></p> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Exit / Выход</h3><a id="user-content-exit--выход" class="anchor" aria-label="Permalink: Exit / Выход" href="#exit--выход"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto"><strong>Exit</strong> / <strong>Выход</strong> — выход из программы в HOS, минуя hbmenu, либо в hbmenu (это настраивается в dbi.config); если dbi был запущен из тайтла/форвардера, программа перезагрузится либо останется на чёрном экране.</p> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Уведомления и коды ошибок</h2><a id="user-content-уведомления-и-коды-ошибок" class="anchor" aria-label="Permalink: Уведомления и коды ошибок" href="#уведомления-и-коды-ошибок"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">УВЕДОМЛЕНИЯ:</h3><a id="user-content-уведомления" class="anchor" aria-label="Permalink: УВЕДОМЛЕНИЯ:" href="#уведомления"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Отображаются оранжевым цветом. Это НЕ ошибки!</p> <ul dir="auto"> <li><strong>[SIGNATURE: Invalid] / [ПОДПИСЬ: OK]</strong>, <strong>[SIGNATURE: XCI->NSP] / [ПОДПИСЬ: XCI->NSP]</strong>, <strong>[HASH NOT MATCHED TO META] /[ХЕШ НЕ СОВПАДАЕТ]</strong>, <strong>[HASH FIXED IN META] / [ХЕШ ИСПРАВЛЕН]</strong> — это НЕ ОШИБКИ, а уведомления о несовпадении подписи в заголовках, например, при использовании конвертации или редактирования, кастомного NSP, форвардера.</li> <li><strong>HASH MISMATCH</strong> — чаще всего, это НЕ ОШИБКА, игра была сконвертирована из картриджа (тогда всё в порядке), иногда — имеются проблемы с целостностью файла, перекачайте-перехешируйте его, передачей данных по USB-кабелю/порту/в процессе установки между ПК и Switch. Если игра не запускается или запускается с ошибкой, попробуйте переустановить её снова, проверить либо заменить USB-кабель/SD/сменить USB-порт.</li> <li><strong>[DELTA SKIPPED] / [ДЕЛЬТА ФРАГМЕНТ НЕ НУЖЕН]</strong> — это НЕ ОШИБКА, а уведомление, что ненужные фрагменты в файле обновления были пропущены, если они в нём были, как и было должно.</li> <li><strong>No tickets found» / «Тикеты не найдены</strong> — это НЕ ОШИБКА, на работоспособность игры не влият, но информирование, что игра без тикетов. Она может быть дампом из .XCI-картриджа или переконвертирована в Standard Crypto.</li> <li><strong>Application uses AddonContent titleId</strong> / <strong>Игра использует titleId от дополнения</strong>, <strong>Application uses Update titleId</strong> / <strong>Игра использует titleId от обновления</strong> — это НЕ ОШИБКА, обычно это указывает на homebrew-игру в .NSP, созданную не по стандартам, к примеру, когда в Application-тайтл (основную игру, v0) добавили и AddonContent-флаг (DLC). Если такая игра запускается и работает, тогда всё в порядке.</li> <li><strong>This application base is not stand alone. Make sure you installed update</strong> / <strong>База этой игры не самодостаточна. Не забудьте установить обновление</strong> - при установке новых Sparse Storage игр — это НЕ ОШИБКА, не забудьте, кроме базового файла игры, установить ещё и апдейт к ней перед запуском.</li> </ul> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">ОШИБКИ:</h3><a id="user-content-ошибки" class="anchor" aria-label="Permalink: ОШИБКИ:" href="#ошибки"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ul dir="auto"> <li><strong>USB communication failed</strong> / <strong>Ошибка USB обмена</strong> — проверьте/замените USB-кабель и USB-порт на ПК.</li> <li><strong>Cannot parse content meta</strong> / <strong>Невозможно разобрать content meta</strong>: <ul dir="auto"> <li><strong>Old firmware</strong> / <strong>УСТАРЕВШАЯ ПРОШИВКА</strong> — ваша прошивка слишком устарела для анализа метафайла. Обновите CFW и системное ПО до последних версий</li> <li><strong>Unexpected error</strong> / <strong>Неожиданная ошибка</strong> — файл поврежден. Проверьте и перекачайте файл.</li> </ul> </li> <li><strong>Invalid PFS0 magic!</strong> / <strong>Ошибка PFS0 magic"</strong> — перекачайте установочный файл игры и проверьте его целостность, этот файл повреждён.</li> <li><strong>[INVALID NCA MAGIC]</strong> / <strong>[ОШИБКА NCA MAGIC]</strong> — обновитесь на последнюю версию OFW и CFW, если ошибка сохраняется после этого, перепроверьте целостность установочного файла игры.</li> <li><strong>Installation aborted</strong> / <strong>Установка прервана</strong> — ошибка в передаче данных, перепроверьте и при необходимости замените USB-кабель/USB-порт между Switch и ПК. Также обязательно убедитесь, что у вас установлена самая последняя версия программы, как вот в этом посте.</li> <li><strong>Nothing to install</strong> / <strong>Нечего устанавливать</strong> в окне выборе файлов — переименуйте файл без спецсимволов, иероглифов или кириллицы в имени и пути к нему.</li> <li><strong>Transfer error</strong> / <strong>Ошибка при передаче</strong>, <strong>[TRANSFER CRC ERROR]</strong> / <strong>[CRC ОШИБКА ПРЕДАЧИ]</strong>, <strong>[TRANSFER ABORTED]</strong> / <strong>[ПЕРЕДАЧА ПРЕРВАНА]</strong> — проверить соединение USB-C кабеля и USB-порта, проверить с другими USB-C-кабелями, целостность файла игры и карту памяти на ошибки, при установке через MTP — запустить dbi через любую игру (тайтл) с удерживанием кнопки (R), а не в режиме апплета через альбомы.</li> <li><strong>Error occurred: Invalid argument</strong> — обновите ваш dbi на последнюю версию.</li> <li><strong>SOME CONTENTS ARE MISSING. APPLICATION WILL BE UNUSABLE</strong> / <strong>ЧАСТЬ КОНТЕНТА ОТСУТСТВУЕТ. ИГРА НЕ БУДЕТ РАБОТАТЬ</strong> — битая файловая система карты памяти, или нерабочая/некачественная флешка. Проверьте её в chkdsk и h2testw, если нет ошибок, переформатируйте в FAT32.</li> <li><strong>[NOT ENOUGH SPACE]</strong> / <strong>[НЕДОСТАТОЧНО МЕСТА]</strong>, <strong>[CAN NOT CREATE PLACEHOLDER]</strong> / <strong>[НЕ СОЗДАТЬ ПЛЕЙСХОЛДЕР]</strong> — не хватает места на карте памяти/NAND, освободите его побольше, либо проблема с картой памяти. Проверьте её в chkdsk и h2testw, если нет ошибок, переформатируйте в FAT32.</li> <li><strong>Extra buffers exceeded. Media write speed is too low</strong> / <strong>Закончились дополнительные буферы. Скорость записи на носитель слишком низка</strong>, при установке через MTP — запустить dbi через любую игру (тайтл) с удерживанием кнопки <strong>(R)</strong>; альтернативно — через NSP-форвардер, и использовать более быструю SD-карту с другим USB-кабелем/портом.</li> <li><strong>No tickets found but they are required</strong> / <strong>Не найдены требуемые тикеты</strong> — некорректный (неполный, без тикета но с titlerights) дамп игры, найдите другой.</li> <li><strong>Invalid personalized ticket</strong> / <strong>Неподерживаемый персонализированный тикет</strong>, в конце установки игры при инсталлировании .tik-тикета — некорректный дамп игры, где вместо common-тикета остался персонализированный с той консоли, на которой была куплена игра; скачайте другой, корректный дамп.</li> <li><strong>No ES sigpatches!</strong> / <strong>Отсутствуют ES сигпатчи!</strong> — не все, либо устаревшие, либо некорректно или не установленые сигпатчи на консоли, установите их самую новейшую версию.</li> </ul> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Цветовые коды:</h3><a id="user-content-цветовые-коды" class="anchor" aria-label="Permalink: Цветовые коды:" href="#цветовые-коды"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ul dir="auto"> <li>Общее <ul dir="auto"> <li><span>WHITE on BLACK BG</span> - файл в фокусе</li> <li><span>BLUE</span> - выделенный файл (кнопкой <strong>(X)</strong>)</li> </ul> </li> <li>В меню "<strong>Browse SD Card</strong>" <ul dir="auto"> <li><span>WHITE</span> - папка</li> <li><span>LIGHT GREY</span> - файл</li> <li><span>DARK GREY</span> - установленная игра</li> <li><span>GREEN</span> - обновление и/или DLC для уже установленной игры</li> </ul> </li> <li>В меню "<strong>Browse installed applications</strong>" <ul dir="auto"> <li><span>WHITE</span> - установленная игра</li> <li><span>RED</span> - установлен апдейт и/или DLC, без самой игры</li> </ul> </li> <li><strong>В логах</strong> при установке: <ul dir="auto"> <li><span>GREEN</span> - завершено без ошибок</li> <li><span>ORANGE</span> - завершено без ошибок, но с предупреждениями, например, о том, что установленный файл - конверт с картриджа, или о том, что в META был исправлен хеш</li> <li><span>RED</span> - <a href="#%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8">ошибка</a>. Файл не был установлен.</li> </ul> </li> <li><strong>В логах</strong> после установки: <ul dir="auto"> <li><span>GREEN</span> - завершено без ошибок</li> <li><span>YELLOW</span> - завершено без ошибок, но с предупреждениями</li> <li><span>RED</span> - завершено с ошибками</li> </ul> </li> </ul> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">dbi.config</h2><a id="user-content-dbiconfig" class="anchor" aria-label="Permalink: dbi.config" href="#dbiconfig"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Файл <code>dbi.config</code> отвечает за хранение настроек программы. Он находится рядом с <code>DBI.nro</code>.</p> <p dir="auto">Рассмотрим его содержимое:</p> <div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="; General settings [General] ; Use libusbhsfs for access to USB mass storage drives connected to switch or dock UseLibUsbHsFS=true ; Direct exit to homescreen ExitToHomeScreen=false ; Folder where saves backups are stored SavesFolder=sdmc:/switch/DBI/saves/ ; Log "Install", "Check integrity" and "Cleanup" processes LogEvents=false ; Folder where logs are stored LogsFolder=sdmc:/switch/DBI/logs/ ; Folder where game dumps are stored DumpsFolder=sdmc:/switch/DBI/dumps/ ; Sorting options for application list AppSorting=LastPlayed,InstallLocation,Size,Name ; Sorting options for save list SaveSorting=AppLastPlayed,AppName,UserUid,Size,SaveId ; Highlight files with updates to curently instaled titles in file browsers HighlightUpdates=true ; Rotate screen upside down RotateScreen=false ; Rotate joycons RotateJoycon=false ; Underclock CPU in menues to reduce battery usage OptimizeClockSpeed=false ; URL with title versions in format <id>|<rightsId>|[version] VersionsURL=https://raw.githubusercontent.com/blawar/titledb/master/versions.txt ;VersionsURL=sdmc:/versions.txt ;Browse saves FS in Read-only mode ROSaveFS=true ; Show "Update all items from here..." in context menu of file browsers ShowUpdateFromHere=false ; Show cache warming spinner ShowCacheWarmingIndicator=true ; Move cursor down after selection MoveDownAfterX=true ; Screen idle timeout in seconds ScreenIdleTimeout=0 ; Auto repeat nav. buttons when holding Autorepeat=true ; Show cursors on both panels in two-panel browsinig mode Secondcursor=false ; Backup saves before delete FoolproofSaveDelete=true ; Visibility of main menu items [MainMenu] ; Browse and install files from SD card BrowseSD=true ; Browse and copy files from SYSTEM partition BrowseSystem=false ; Browse and copy files from USER partition BrowseUser=false ; Browse and install files from USB flash drives and HDD USBHost=true ; Browse and install files from PC via dbibackend BackendInstall=true ; Install game from inserted game cartridge GameCard=true ; Browse and install files from configured network sources Network=true ; Browse and install files from configured sd card folders Local=true ; Browse installed applications BrowseApps=true ; Clean up files left from bad installs/old updates/unused tickets and so on Cleanup=true ; Check for app updates UpdateCheck=true ; View where you can view or delete installed tickets Tickets=false ; View where you can view or delete game saves Saves=true ; MTP responder MTP=true ; FTP Server FTP=true [Applications] ; Whether check or not LFS mod size CalculateLFSSize=false ; Install options [Install] ; Check NCA hash during install CheckHash=true ; Use chunked HTTP transfer (good in bad environments) ChunkedTransfer=false ; MTP options [MTP] ; Log all files, if disabled transfer shows only for files >= 2M LogAllFiles=false ; Show or not NSP that includes base game, latest update and all DLC in single multi-title file ShowCombinedNSP=true ; Show or not virtual "Mods & cheats" folder that redirects to sdmc:/atmosphere/contents/TITLEID ShowMAC=true ; Use TitleID for "Mods & cheats" folder MACasTID=true ; Show user defined shortcuts to MircoSD folders as separate storages CustomStorages=true ; Turn screen off on start MTP mode TurnOffScreen=false ; Report android extension (some initiators thinks that android has bugs) ReportAndroidExtension=true ; FTP options [FTP] ; Turn screen off on start FTP mode TurnOffScreen=false ; Start local access point for FTP server UseAP=false ; Read file modification time (can slow down on large dirs) ReadMT=false ; Access point options [Access point] SSID= Password= Use5GHz=true Hidden=false ;Enable or disable various MTP storages [MTP Storages] 1: SD Card=true 2: Nand USER=false 3: Nand SYSTEM=false 4: Installed games=true 5: SD Card install=true 6: NAND install=true 7: Saves=true 8: Album=true 9: Gamecard=true ; Network install sources [Network sources] ; <display name>=<type>|<URL> ; NSP Indexer=URLList|http://192.168.1.47/nspindexer/index.php?DBI ; Home server=ApacheHTTP|http://192.168.1.47/Nintendo/Switch/ ; Test FTP=FTP|ftp://anonymous:password@192.168.1.24:2121/ ; Main menu shortcuts to SD card locations [Local sources] ; <display name>=<path> Homebrew=sdmc:/switch ; Contents=sdmc:/atmosphere/contents ; DBILogs=sdmc:/switch/DBI/logs [MTP custom storages] ; <display name>=<path> Homebrew=sdmc:/switch/ Screenshots=sdmc:/Nintendo/Album/ ; Override for display name ; <UPPERCASED TID>=<Desired name> [Title name override] ; 010023901191C000=Naheulbeuk"><pre class="notranslate"><code>; General settings [General] ; Use libusbhsfs for access to USB mass storage drives connected to switch or dock UseLibUsbHsFS=true ; Direct exit to homescreen ExitToHomeScreen=false ; Folder where saves backups are stored SavesFolder=sdmc:/switch/DBI/saves/ ; Log "Install", "Check integrity" and "Cleanup" processes LogEvents=false ; Folder where logs are stored LogsFolder=sdmc:/switch/DBI/logs/ ; Folder where game dumps are stored DumpsFolder=sdmc:/switch/DBI/dumps/ ; Sorting options for application list AppSorting=LastPlayed,InstallLocation,Size,Name ; Sorting options for save list SaveSorting=AppLastPlayed,AppName,UserUid,Size,SaveId ; Highlight files with updates to curently instaled titles in file browsers HighlightUpdates=true ; Rotate screen upside down RotateScreen=false ; Rotate joycons RotateJoycon=false ; Underclock CPU in menues to reduce battery usage OptimizeClockSpeed=false ; URL with title versions in format <id>|<rightsId>|[version] VersionsURL=https://raw.githubusercontent.com/blawar/titledb/master/versions.txt ;VersionsURL=sdmc:/versions.txt ;Browse saves FS in Read-only mode ROSaveFS=true ; Show "Update all items from here..." in context menu of file browsers ShowUpdateFromHere=false ; Show cache warming spinner ShowCacheWarmingIndicator=true ; Move cursor down after selection MoveDownAfterX=true ; Screen idle timeout in seconds ScreenIdleTimeout=0 ; Auto repeat nav. buttons when holding Autorepeat=true ; Show cursors on both panels in two-panel browsinig mode Secondcursor=false ; Backup saves before delete FoolproofSaveDelete=true ; Visibility of main menu items [MainMenu] ; Browse and install files from SD card BrowseSD=true ; Browse and copy files from SYSTEM partition BrowseSystem=false ; Browse and copy files from USER partition BrowseUser=false ; Browse and install files from USB flash drives and HDD USBHost=true ; Browse and install files from PC via dbibackend BackendInstall=true ; Install game from inserted game cartridge GameCard=true ; Browse and install files from configured network sources Network=true ; Browse and install files from configured sd card folders Local=true ; Browse installed applications BrowseApps=true ; Clean up files left from bad installs/old updates/unused tickets and so on Cleanup=true ; Check for app updates UpdateCheck=true ; View where you can view or delete installed tickets Tickets=false ; View where you can view or delete game saves Saves=true ; MTP responder MTP=true ; FTP Server FTP=true [Applications] ; Whether check or not LFS mod size CalculateLFSSize=false ; Install options [Install] ; Check NCA hash during install CheckHash=true ; Use chunked HTTP transfer (good in bad environments) ChunkedTransfer=false ; MTP options [MTP] ; Log all files, if disabled transfer shows only for files >= 2M LogAllFiles=false ; Show or not NSP that includes base game, latest update and all DLC in single multi-title file ShowCombinedNSP=true ; Show or not virtual "Mods & cheats" folder that redirects to sdmc:/atmosphere/contents/TITLEID ShowMAC=true ; Use TitleID for "Mods & cheats" folder MACasTID=true ; Show user defined shortcuts to MircoSD folders as separate storages CustomStorages=true ; Turn screen off on start MTP mode TurnOffScreen=false ; Report android extension (some initiators thinks that android has bugs) ReportAndroidExtension=true ; FTP options [FTP] ; Turn screen off on start FTP mode TurnOffScreen=false ; Start local access point for FTP server UseAP=false ; Read file modification time (can slow down on large dirs) ReadMT=false ; Access point options [Access point] SSID= Password= Use5GHz=true Hidden=false ;Enable or disable various MTP storages [MTP Storages] 1: SD Card=true 2: Nand USER=false 3: Nand SYSTEM=false 4: Installed games=true 5: SD Card install=true 6: NAND install=true 7: Saves=true 8: Album=true 9: Gamecard=true ; Network install sources [Network sources] ; <display name>=<type>|<URL> ; NSP Indexer=URLList|http://192.168.1.47/nspindexer/index.php?DBI ; Home server=ApacheHTTP|http://192.168.1.47/Nintendo/Switch/ ; Test FTP=FTP|ftp://anonymous:password@192.168.1.24:2121/ ; Main menu shortcuts to SD card locations [Local sources] ; <display name>=<path> Homebrew=sdmc:/switch ; Contents=sdmc:/atmosphere/contents ; DBILogs=sdmc:/switch/DBI/logs [MTP custom storages] ; <display name>=<path> Homebrew=sdmc:/switch/ Screenshots=sdmc:/Nintendo/Album/ ; Override for display name ; <UPPERCASED TID>=<Desired name> [Title name override] ; 010023901191C000=Naheulbeuk </code></pre></div> <p dir="auto">Описание каждого пункта в отдельности находятся в разделе <a href="#configuration--%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8-dbi-%D0%B8-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B-%D1%84%D0%B0%D0%B9%D0%BB%D0%B0-dbiconfig">настроек DBI</a></p> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Другие возможности</h2><a id="user-content-другие-возможности" class="anchor" aria-label="Permalink: Другие возможности" href="#другие-возможности"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Монтирование содержимого установленных игр по MTP</h3><a id="user-content-монтирование-содержимого-установленных-игр-по-mtp" class="anchor" aria-label="Permalink: Монтирование содержимого установленных игр по MTP" href="#монтирование-содержимого-установленных-игр-по-mtp"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Перейдите в <strong>Browse installed applications</strong> / <strong>Просмотр установленных игр</strong> -> Выберите необходимые игры кнопкой <strong>(X)</strong> -> Нажмите <strong>(+)</strong> -> <strong>Expose contend via MTP</strong></p> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Бекап и восстановление сохранений по MTP</h3><a id="user-content-бекап-и-восстановление-сохранений-по-mtp" class="anchor" aria-label="Permalink: Бекап и восстановление сохранений по MTP" href="#бекап-и-восстановление-сохранений-по-mtp"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ol dir="auto"> <li>Подключите приставку в режиме MTP по DBI</li> <li>Перейдите в папку <strong>Saves</strong> на вашем ПК</li> <li>Вы можете как скопировать сейвы на ПК, так и восстановить их, просто перетянув в эту папку</li> </ol> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Использование DBI для установки модификаций</h3><a id="user-content-использование-dbi-для-установки-модификаций" class="anchor" aria-label="Permalink: Использование DBI для установки модификаций" href="#использование-dbi-для-установки-модификаций"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ol dir="auto"> <li>Подключите приставку в режиме MTP по DBI</li> <li>Перейдите в <strong>Installed Games</strong>, в папку с названием вашей игры</li> <li>Перейдите в папку <strong>Mods & Cheats</strong></li> <li>Поместите в папку <strong>Mods & Cheats</strong> ваш мод</li> <li><strong>Будьте внимательны</strong>, вам нужно класть не саму папку с titleID игры, а её содержимое! Например, вы скачали перевод для игры Cadence of Hyrule, в виде архиве <code>Cadence of Hyrule.rar</code>. Внутри этого архива вы видите папку с TitleID игры - <code>01000B900D8B0000</code>. Вам нужно распаковать архив, перейти в папку <code>01000B900D8B0000</code> и скопировать всё содержимое папки в <strong>Mods & Cheats</strong>! Не саму папку <code>01000B900D8B0000</code>, а всё то, что в ней находится! В данном примере, папку <code>romfs</code></li> </ol> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">USB 3.0</h3><a id="user-content-usb-30" class="anchor" aria-label="Permalink: USB 3.0" href="#usb-30"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">DBI поддерживает работу по USB 3.0. Если вы используете kefir, то USB 3.0 активно по-умолчанию. В ином случае, нужно активировать эту функцию через конфигурационные файлы Atmosphere, прописав в <code>atmosphere\config\system_settings.ini</code>:</p> <div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="[usb] usb30_force_enabled = u8!0x1"><pre class="notranslate"><code>[usb] usb30_force_enabled = u8!0x1 </code></pre></div> <p dir="auto"><strong>Важно</strong> - активация USB 3.0 может повлиять на работу беспроводных соединений Bluetooth и Wi-Fi на частоте 2.4 ГГц. Если у вас возникают проблемы с подключением беспроводных контроллеров или сетей Wi-Fi на частоте 2.4 ГГц, то не следует активировать USB 3.0. Связь через Wi-Fi на частоте 5 ГГц не пострадает.</p> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Восстановление бекапа чистых пользовательских сохранений</h3><a id="user-content-восстановление-бекапа-чистых-пользовательских-сохранений" class="anchor" aria-label="Permalink: Восстановление бекапа чистых пользовательских сохранений" href="#восстановление-бекапа-чистых-пользовательских-сохранений"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Это нешифрованные сохранения, которые лежат в папке <code>USER:/saves</code>. В случае, если эмунанд поврежден, то эти сохранения можно достать через ПК или Tegra Explorer и восстановить через DBI.</p> <p dir="auto">Вы можете положить эти сохранения в папку с бекапами сохранений DBI (<code>/switch/dbi/saves</code> по умолчанию) и восстановить через стандартное меню восстановления сейвов (имя пользователя в таком случае будет взято в фигурные скобки <code>{}</code>), либо через контекстное меню, вызванное на файле такого сохранения.</p> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Установка картинки в качестве аватара</h3><a id="user-content-установка-картинки-в-качестве-аватара" class="anchor" aria-label="Permalink: Установка картинки в качестве аватара" href="#установка-картинки-в-качестве-аватара"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Наведите курсор на нужную картинку и вызовите контекстное меню кнопкой (+). Выберите <strong>Set as avatar... / Установить как аватар</strong>. Выбранная картинка будет установлена в качестве аватара. Картинка автоматически будет сжата до квадратных пропорций и уменьшена для необходимого размера. Если хотите, чтобы картинка не деформировалась, то подготовьте её заранее.</p> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">Редактирование и просмотр файлов</h3><a id="user-content-редактирование-и-просмотр-файлов" class="anchor" aria-label="Permalink: Редактирование и просмотр файлов" href="#редактирование-и-просмотр-файлов"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Любой файл можно открыть как текстовый или в виде HEX. Не пустой файл открывапется в режиме просмотра, однако, клавиша (L3) переключит на режим режактирования. Рассмотрим оба режима отдельно.</p> <p dir="auto">Так же вы можете создать пустой текстовый файл из контекстного меню (вызывается кнопкой (+) > <strong>Создать новый файл...</strong>). При открытии пустого текстового файла, редактор запустится автоматически.</p> <div class="markdown-heading" dir="auto"><h4 tabindex="-1" class="heading-element" dir="auto">Режим просмотра файлов</h4><a id="user-content-режим-просмотра-файлов" class="anchor" aria-label="Permalink: Режим просмотра файлов" href="#режим-просмотра-файлов"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto"><strong>Горячие клавиши:</strong></p> <ul dir="auto"> <li><strong>DPAD / Левый стик / Правый стик</strong> - прокрутка текста</li> <li><strong>(L) / (R) / (ZL) / (ZR)</strong> - следующая / предыдущая страница (экран)</li> <li><strong>(R3)</strong> - смена режима просмотра текст или HEX</li> <li><strong>(L3)</strong> - переход в режим редактирования</li> <li><strong>(+)</strong> - контекстное меню</li> </ul> <p dir="auto"><strong>Контекстнрое меню:</strong></p> <ul dir="auto"> <li><strong>Редактирование</strong> - переход в режим редактирования</li> <li><strong>Кодировка</strong> - изменить кодировку текста. Обратите внимание, что при смене кодировки в режиме просмотра, при закрыытии файла и повторном его открытии, кодировка не изменится</li> <li><strong>Перенос строк</strong> - переносить или нет текст на новую строку при достижении им края экрана</li> </ul> <div class="markdown-heading" dir="auto"><h4 tabindex="-1" class="heading-element" dir="auto">Режим редактирования файлов</h4><a id="user-content-режим-редактирования-файлов" class="anchor" aria-label="Permalink: Режим редактирования файлов" href="#режим-редактирования-файлов"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Вы можете осуществлять редактирование текста перемещаясь по клавиатуре правым стиком и выбирая букву кнопокой (А).</p> <p dir="auto"><strong>Горячие клавиши:</strong></p> <ul dir="auto"> <li><strong>Правый стик</strong> - перемещение по клавиатуре</li> <li><strong>DPAD / Левый стик</strong> - перемещение по тексту</li> <li><strong>(A)</strong> - выбор подсвеченного символа на клавиатуре</li> <li><strong>(X)</strong> - удалить символ (Backspace)</li> <li><strong>(B)</strong> - меню сохранения файла</li> <li><strong>(Y)</strong> - пробел</li> <li><strong>(L)+(ВЛЕВО)</strong> - Перейти в начало строки (HOME)</li> <li><strong>(L)+(ВПРАВО)</strong> - Перейти в конец строки (END)</li> <li><strong>(R)+(ВЛЕВО)</strong> - Перейти на следующее слово</li> <li><strong>(R)+(ВПРАВО)</strong> - Перейти на предыдущее слово</li> <li><strong>(ZL)</strong> - смена регистра</li> <li><strong>(ZR)</strong> - переход на следующую строку (Enter)</li> <li><strong>(R3)</strong> - смена языка</li> <li><strong>(L3)</strong> - переход в режим просмотра</li> </ul> <p dir="auto">При закрытии файла или переходе в режим просмотра, можно выбрать сохранять изменения или нет, если в файл вносились изменения</p> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Благодарности</h2><a id="user-content-благодарности" class="anchor" aria-label="Permalink: Благодарности" href="#благодарности"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Спасибо <a href="https://github.com/SciresM">SciresM</a> за <a href="https://github.com/SciresM/hactool">hactool</a> (лицензия <a href="https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_ISC" rel="nofollow">ISC</a>) - DBI использует некоторые структуры данных, взятые оттуда.</p> </article></div></div></div></div></div> <!-- --> <!-- --> <script type="application/json" id="__PRIMER_DATA_:R0:__">{"resolvedServerColorMode":"day"}</script></div> </react-partial> <input type="hidden" data-csrf="true" value="nN8vt0hZXVMGNY9PmLIYIHpjid1v7QDdyuOSs20qcchCP+dg8vQuXK9ioQAxSpCxAsCh4NQOeEGITSmSclHpAg==" /> </div> <div data-view-component="true" class="Layout-sidebar"> <div class="BorderGrid about-margin" data-pjax> <div class="BorderGrid-row"> <div class="BorderGrid-cell"> <div class="hide-sm hide-md"> <h2 class="mb-3 h4">About</h2> <p class="f4 my-3"> Author is duckbill </p> <h3 class="sr-only">Resources</h3> <div class="mt-2"> <a class="Link--muted" data-analytics-event="{"category":"Repository Overview","action":"click","label":"location:sidebar;file:readme"}" href="#readme-ov-file"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book mr-2"> <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> </svg> Readme </a> </div> <include-fragment src="/KissMeInTheDark/switch-plugins-dbi/hovercards/citation/sidebar_partial?tree_name=main"> </include-fragment> <div class="mt-2"> <a href="/KissMeInTheDark/switch-plugins-dbi/activity" data-view-component="true" class="Link Link--muted"><svg text="gray" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pulse mr-2"> <path d="M6 2c.306 0 .582.187.696.471L10 10.731l1.304-3.26A.751.751 0 0 1 12 7h3.25a.75.75 0 0 1 0 1.5h-2.742l-1.812 4.528a.751.751 0 0 1-1.392 0L6 4.77 4.696 8.03A.75.75 0 0 1 4 8.5H.75a.75.75 0 0 1 0-1.5h2.742l1.812-4.529A.751.751 0 0 1 6 2Z"></path> </svg> <span class="color-fg-muted">Activity</span></a> </div> <h3 class="sr-only">Stars</h3> <div class="mt-2"> <a href="/KissMeInTheDark/switch-plugins-dbi/stargazers" data-view-component="true" class="Link Link--muted"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg> <strong>0</strong> stars</a> </div> <h3 class="sr-only">Watchers</h3> <div class="mt-2"> <a href="/KissMeInTheDark/switch-plugins-dbi/watchers" data-view-component="true" class="Link Link--muted"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-eye mr-2"> <path d="M8 2c1.981 0 3.671.992 4.933 2.078 1.27 1.091 2.187 2.345 2.637 3.023a1.62 1.62 0 0 1 0 1.798c-.45.678-1.367 1.932-2.637 3.023C11.67 13.008 9.981 14 8 14c-1.981 0-3.671-.992-4.933-2.078C1.797 10.83.88 9.576.43 8.898a1.62 1.62 0 0 1 0-1.798c.45-.677 1.367-1.931 2.637-3.022C4.33 2.992 6.019 2 8 2ZM1.679 7.932a.12.12 0 0 0 0 .136c.411.622 1.241 1.75 2.366 2.717C5.176 11.758 6.527 12.5 8 12.5c1.473 0 2.825-.742 3.955-1.715 1.124-.967 1.954-2.096 2.366-2.717a.12.12 0 0 0 0-.136c-.412-.621-1.242-1.75-2.366-2.717C10.824 4.242 9.473 3.5 8 3.5c-1.473 0-2.825.742-3.955 1.715-1.124.967-1.954 2.096-2.366 2.717ZM8 10a2 2 0 1 1-.001-3.999A2 2 0 0 1 8 10Z"></path> </svg> <strong>0</strong> watching</a> </div> <h3 class="sr-only">Forks</h3> <div class="mt-2"> <a href="/KissMeInTheDark/switch-plugins-dbi/forks" data-view-component="true" class="Link Link--muted"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked mr-2"> <path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path> </svg> <strong>0</strong> forks</a> </div> <div class="mt-2"> <a class="Link--muted" href="/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2FKissMeInTheDark%2Fswitch-plugins-dbi&report=KissMeInTheDark+%28user%29"> Report repository </a> </div> </div> </div> </div> <div class="BorderGrid-row"> <div class="BorderGrid-cell"> <h2 class="h4 mb-3" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <a href="/KissMeInTheDark/switch-plugins-dbi/releases" data-view-component="true" class="Link--primary no-underline Link">Releases</a></h2> <a class="Link--primary no-underline" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" href="/KissMeInTheDark/switch-plugins-dbi/tags"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-tag"> <path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"></path> </svg> <span class="text-bold">101</span> <span class="color-fg-muted">tags</span> </a> </div> </div> <div class="BorderGrid-row"> <div class="BorderGrid-cell"> <h2 class="h4 mb-3"> <a href="/users/KissMeInTheDark/packages?repo_name=switch-plugins-dbi" data-view-component="true" class="Link--primary no-underline Link d-flex flex-items-center">Packages <span title="0" hidden="hidden" data-view-component="true" class="Counter ml-1">0</span></a></h2> <div class="text-small color-fg-muted" > No packages published <br> </div> </div> </div> <div class="BorderGrid-row"> <div class="BorderGrid-cell"> <h2 class="h4 mb-3">Languages</h2> <div class="mb-2"> <span data-view-component="true" class="Progress"> <span style="background-color:#3572A5 !important;;width: 100.0%;" itemprop="keywords" data-view-component="true" class="Progress-item color-bg-success-emphasis"></span> </span></div> <ul class="list-style-none"> <li class="d-inline"> <span class="d-inline-flex flex-items-center flex-nowrap text-small mr-3"> <svg style="color:#3572A5;" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-dot-fill mr-2"> <path d="M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z"></path> </svg> <span class="color-fg-default text-bold mr-1">Python</span> <span>100.0%</span> </span> </li> </ul> </div> </div> </div> </div> </div></div> </div> </div> </turbo-frame> </main> </div> </div> <footer class="footer pt-8 pb-6 f6 color-fg-muted p-responsive" role="contentinfo" > <h2 class='sr-only'>Footer</h2> <div class="d-flex flex-justify-center flex-items-center flex-column-reverse flex-lg-row flex-wrap flex-lg-nowrap"> <div class="d-flex flex-items-center flex-shrink-0 mx-2"> <a aria-label="Homepage" title="GitHub" class="footer-octicon mr-2" href="https://github.com"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github"> <path d="M12.5.75C6.146.75 1 5.896 1 12.25c0 5.089 3.292 9.387 7.863 10.91.575.101.79-.244.79-.546 0-.273-.014-1.178-.014-2.142-2.889.532-3.636-.704-3.866-1.35-.13-.331-.69-1.352-1.18-1.625-.402-.216-.977-.748-.014-.762.906-.014 1.553.834 1.769 1.179 1.035 1.74 2.688 1.25 3.349.948.1-.747.402-1.25.733-1.538-2.559-.287-5.232-1.279-5.232-5.678 0-1.25.445-2.285 1.178-3.09-.115-.288-.517-1.467.115-3.048 0 0 .963-.302 3.163 1.179.92-.259 1.897-.388 2.875-.388.977 0 1.955.13 2.875.388 2.2-1.495 3.162-1.179 3.162-1.179.633 1.581.23 2.76.115 3.048.733.805 1.179 1.825 1.179 3.09 0 4.413-2.688 5.39-5.247 5.678.417.36.776 1.05.776 2.128 0 1.538-.014 2.774-.014 3.162 0 .302.216.662.79.547C20.709 21.637 24 17.324 24 12.25 24 5.896 18.854.75 12.5.75Z"></path> </svg> </a> <span> © 2025 GitHub, Inc. </span> </div> <nav aria-label="Footer"> <h3 class="sr-only" id="sr-footer-heading">Footer navigation</h3> <ul class="list-style-none d-flex flex-justify-center flex-wrap mb-2 mb-lg-0" aria-labelledby="sr-footer-heading"> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to Terms","label":"text:terms"}" href="https://docs.github.com/site-policy/github-terms/github-terms-of-service" data-view-component="true" class="Link--secondary Link">Terms</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to privacy","label":"text:privacy"}" href="https://docs.github.com/site-policy/privacy-policies/github-privacy-statement" data-view-component="true" class="Link--secondary Link">Privacy</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to security","label":"text:security"}" href="https://github.com/security" data-view-component="true" class="Link--secondary Link">Security</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to status","label":"text:status"}" href="https://www.githubstatus.com/" data-view-component="true" class="Link--secondary Link">Status</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to docs","label":"text:docs"}" href="https://docs.github.com/" data-view-component="true" class="Link--secondary Link">Docs</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to contact","label":"text:contact"}" href="https://support.github.com?tags=dotcom-footer" data-view-component="true" class="Link--secondary Link">Contact</a> </li> <li class="mx-2" > <cookie-consent-link> <button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement" data-analytics-event="{"location":"footer","action":"cookies","context":"subfooter","tag":"link","label":"cookies_link_subfooter_footer"}" > Manage cookies </button> </cookie-consent-link> </li> <li class="mx-2"> <cookie-consent-link> <button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement" data-analytics-event="{"location":"footer","action":"dont_share_info","context":"subfooter","tag":"link","label":"dont_share_info_link_subfooter_footer"}" > Do not share my personal information </button> </cookie-consent-link> </li> </ul> </nav> </div> </footer> <ghcc-consent id="ghcc" class="position-fixed bottom-0 left-0" style="z-index: 999999" data-initial-cookie-consent-allowed="" data-cookie-consent-required="false"></ghcc-consent> <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> You can’t perform that action at this time. </div> <template id="site-details-dialog"> <details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open> <summary role="button" aria-label="Close dialog"></summary> <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal"> <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> <div class="octocat-spinner my-6 js-details-dialog-spinner"></div> </details-dialog> </details> </template> <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;"> <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;"> </div> </div> <template id="snippet-clipboard-copy-button"> <div class="zeroclipboard-container position-absolute right-0 top-0"> <clipboard-copy aria-label="Copy" class="ClipboardButton btn js-clipboard-copy m-2 p-0" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> </div> </template> <template id="snippet-clipboard-copy-button-unpositioned"> <div class="zeroclipboard-container"> <clipboard-copy aria-label="Copy" class="ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 d-flex flex-justify-center flex-items-center" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> </div> </template> </div> <div id="js-global-screen-reader-notice" class="sr-only mt-n1" aria-live="polite" aria-atomic="true" ></div> <div id="js-global-screen-reader-notice-assertive" class="sr-only mt-n1" aria-live="assertive" aria-atomic="true"></div> </body> </html>