config
This commit is contained in:
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
/plugin
|
||||||
|
plugin/packer_compiled.lua
|
||||||
75
after/plugin/alpha.lua
Normal file
75
after/plugin/alpha.lua
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
local alpha = require("alpha")
|
||||||
|
local dashboard = require("alpha.themes.dashboard")
|
||||||
|
-- local icons = require("user.utils").icons
|
||||||
|
-- local utils = require("user.utils")
|
||||||
|
local datetime = os.date(" %H:%M. ")
|
||||||
|
local num_plugins_loaded = require("lazy").stats().loaded
|
||||||
|
|
||||||
|
dashboard.section.header.val = require("nami.utils.headers")
|
||||||
|
|
||||||
|
dashboard.section.buttons.val = {
|
||||||
|
dashboard.button("i", " New file", "<cmd>enew<CR>i"),
|
||||||
|
dashboard.button(
|
||||||
|
"o",
|
||||||
|
" Recent Files",
|
||||||
|
"<cmd>Telescope oldfiles<cr>"
|
||||||
|
),
|
||||||
|
dashboard.button(
|
||||||
|
"f",
|
||||||
|
" Find",
|
||||||
|
" pf"
|
||||||
|
),
|
||||||
|
dashboard.button(
|
||||||
|
"e",
|
||||||
|
" Explorer",
|
||||||
|
"<cmd>Explore<cr>"
|
||||||
|
),
|
||||||
|
dashboard.button(
|
||||||
|
"c",
|
||||||
|
" Neovim config",
|
||||||
|
"<cmd>e ~/.config/nvim | cd %:p:h<cr>"
|
||||||
|
),
|
||||||
|
dashboard.button("l", " Lazy", "<cmd>Lazy<cr>"),
|
||||||
|
dashboard.button("q", " Quit NVIM", ":qa<CR>"),
|
||||||
|
}
|
||||||
|
|
||||||
|
local footer = {
|
||||||
|
type = "text",
|
||||||
|
val = { num_plugins_loaded .. " plugins loaded." },
|
||||||
|
opts = { position = "center", hl = "Comment" },
|
||||||
|
}
|
||||||
|
|
||||||
|
-- local bottom_section = {
|
||||||
|
-- type = "text",
|
||||||
|
-- val = "Hi "
|
||||||
|
-- .. utils.get_user()
|
||||||
|
-- .. ","
|
||||||
|
-- .. " It's"
|
||||||
|
-- .. datetime
|
||||||
|
-- .. "How are you doing today?",
|
||||||
|
-- opts = {
|
||||||
|
-- position = "center",
|
||||||
|
-- },
|
||||||
|
-- }
|
||||||
|
|
||||||
|
local section = {
|
||||||
|
header = dashboard.section.header,
|
||||||
|
-- bottom_section = bottom_section,
|
||||||
|
buttons = dashboard.section.buttons,
|
||||||
|
footer = footer,
|
||||||
|
}
|
||||||
|
|
||||||
|
local opts = {
|
||||||
|
layout = {
|
||||||
|
{ type = "padding", val = 8 },
|
||||||
|
section.header,
|
||||||
|
{ type = "padding", val = 2 },
|
||||||
|
section.buttons,
|
||||||
|
{ type = "padding", val = 1 },
|
||||||
|
-- section.bottom_section,
|
||||||
|
-- { type = "padding", val = 1 },
|
||||||
|
section.footer,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
alpha.setup(opts)
|
||||||
8
after/plugin/colors.lua
Normal file
8
after/plugin/colors.lua
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
function ColorMyPencils(color)
|
||||||
|
color = color or "rose-pine"
|
||||||
|
vim.cmd.colorscheme(color)
|
||||||
|
|
||||||
|
vim.api.nvim_set_hl(0,"Normal", { bg = "none" })
|
||||||
|
vim.api.nvim_set_hl(0,"NormalFloat", { bg = "none" })
|
||||||
|
end
|
||||||
|
ColorMyPencils();
|
||||||
17
after/plugin/comment.lua
Normal file
17
after/plugin/comment.lua
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
require("Comment").setup()
|
||||||
|
|
||||||
|
-- Normal Mode
|
||||||
|
--
|
||||||
|
-- `gcc` - Toggles the current line using linewise comment
|
||||||
|
-- `gbc` - Toggles the current line using blockwise comment
|
||||||
|
-- `[count]gcc` - Toggles the number of line given as a prefix-count using linewise
|
||||||
|
-- `[count]gbc` - Toggles the number of line given as a prefix-count using blockwise
|
||||||
|
-- `gc[count]{motion}` - (Op-pending) Toggles the region using linewise comment
|
||||||
|
-- `gb[count]{motion}` - (Op-pending) Toggles the region using blockwise comment
|
||||||
|
-- `gco` - Insert comment to the next line and enters INSERT mode
|
||||||
|
-- `gcO` - Insert comment to the previous line and enters INSERT mode
|
||||||
|
-- `gcA` - Insert comment to end of the current line and enters INSERT mode
|
||||||
|
--
|
||||||
|
-- Visual Mode
|
||||||
|
-- `gc` - Toggles the region using linewise comment
|
||||||
|
-- `gb` - Toggles the region using blockwise comment
|
||||||
103
after/plugin/flutter.lua
Normal file
103
after/plugin/flutter.lua
Normal file
@@ -0,0 +1,103 @@
|
|||||||
|
-- alternatively you can override the default configs
|
||||||
|
require("flutter-tools").setup {
|
||||||
|
ui = {
|
||||||
|
-- the border type to use for all floating windows, the same options/formats
|
||||||
|
-- used for ":h nvim_open_win" e.g. "single" | "shadow" | {<table-of-eight-chars>}
|
||||||
|
border = "rounded",
|
||||||
|
-- This determines whether notifications are show with `vim.notify` or with the plugin's custom UI
|
||||||
|
-- please note that this option is eventually going to be deprecated and users will need to
|
||||||
|
-- depend on plugins like `nvim-notify` instead.
|
||||||
|
notification_style = 'native' -- | 'plugin'
|
||||||
|
},
|
||||||
|
decorations = {
|
||||||
|
statusline = {
|
||||||
|
-- set to true to be able use the 'flutter_tools_decorations.app_version' in your statusline
|
||||||
|
-- this will show the current version of the flutter app from the pubspec.yaml file
|
||||||
|
app_version = false,
|
||||||
|
-- set to true to be able use the 'flutter_tools_decorations.device' in your statusline
|
||||||
|
-- this will show the currently running device if an application was started with a specific
|
||||||
|
-- device
|
||||||
|
device = false,
|
||||||
|
-- set to true to be able use the 'flutter_tools_decorations.project_config' in your statusline
|
||||||
|
-- this will show the currently selected project configuration
|
||||||
|
project_config = false,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
debugger = { -- integrate with nvim dap + install dart code debugger
|
||||||
|
enabled = false,
|
||||||
|
-- if empty dap will not stop on any exceptions, otherwise it will stop on those specified
|
||||||
|
-- see |:help dap.set_exception_breakpoints()| for more info
|
||||||
|
exception_breakpoints = {},
|
||||||
|
-- Whether to call toString() on objects in debug views like hovers and the
|
||||||
|
-- variables list.
|
||||||
|
-- Invoking toString() has a performance cost and may introduce side-effects,
|
||||||
|
-- although users may expected this functionality. null is treated like false.
|
||||||
|
evaluate_to_string_in_debug_views = true,
|
||||||
|
-- You can use the `debugger.register_configurations` to register custom runner configuration (for example for different targets or flavor). Plugin automatically registers the default configuration, but you can override it or add new ones.
|
||||||
|
-- register_configurations = function(paths)
|
||||||
|
-- require("dap").configurations.dart = {
|
||||||
|
-- -- your custom configuration
|
||||||
|
-- }
|
||||||
|
-- end,
|
||||||
|
},
|
||||||
|
-- flutter_path = "/opt/flutter", -- <-- this takes priority over the lookup
|
||||||
|
-- flutter_lookup_cmd = nil, -- example "dirname $(which flutter)" or "asdf where flutter"
|
||||||
|
root_patterns = { ".git", "pubspec.yaml" }, -- patterns to find the root of your flutter project
|
||||||
|
fvm = false, -- takes priority over path, uses <workspace>/.fvm/flutter_sdk if enabled
|
||||||
|
default_run_args= nil, -- Default options for run command (i.e `{ flutter = "--no-version-check" }`). Configured separately for `dart run` and `flutter run`.
|
||||||
|
widget_guides = {
|
||||||
|
enabled = false,
|
||||||
|
},
|
||||||
|
closing_tags = {
|
||||||
|
highlight = "ErrorMsg", -- highlight for the closing tag
|
||||||
|
prefix = ">", -- character to use for close tag e.g. > Widget
|
||||||
|
priority = 10, -- priority of virtual text in current line
|
||||||
|
-- consider to configure this when there is a possibility of multiple virtual text items in one line
|
||||||
|
-- see `priority` option in |:help nvim_buf_set_extmark| for more info
|
||||||
|
enabled = true -- set to false to disable
|
||||||
|
},
|
||||||
|
dev_log = {
|
||||||
|
enabled = true,
|
||||||
|
filter = nil, -- optional callback to filter the log
|
||||||
|
-- takes a log_line as string argument; returns a boolean or nil;
|
||||||
|
-- the log_line is only added to the output if the function returns true
|
||||||
|
notify_errors = false, -- if there is an error whilst running then notify the user
|
||||||
|
open_cmd = "15split", -- command to use to open the log buffer
|
||||||
|
focus_on_open = true, -- focus on the newly opened log window
|
||||||
|
},
|
||||||
|
dev_tools = {
|
||||||
|
autostart = false, -- autostart devtools server if not detected
|
||||||
|
auto_open_browser = false, -- Automatically opens devtools in the browser
|
||||||
|
},
|
||||||
|
outline = {
|
||||||
|
open_cmd = "30vnew", -- command to use to open the outline buffer
|
||||||
|
auto_open = false -- if true this will open the outline automatically when it is first populated
|
||||||
|
},
|
||||||
|
lsp = {
|
||||||
|
color = { -- show the derived colours for dart variables
|
||||||
|
enabled = false, -- whether or not to highlight color variables at all, only supported on flutter >= 2.10
|
||||||
|
background = false, -- highlight the background
|
||||||
|
background_color = nil, -- required, when background is transparent (i.e. background_color = { r = 19, g = 17, b = 24},)
|
||||||
|
foreground = false, -- highlight the foreground
|
||||||
|
virtual_text = true, -- show the highlight using virtual text
|
||||||
|
virtual_text_str = "■", -- the virtual text character to highlight
|
||||||
|
},
|
||||||
|
on_attach = my_custom_on_attach,
|
||||||
|
capabilities = my_custom_capabilities, -- e.g. lsp_status capabilities
|
||||||
|
--- OR you can specify a function to deactivate or change or control how the config is created
|
||||||
|
capabilities = function(config)
|
||||||
|
config.specificThingIDontWant = false
|
||||||
|
return config
|
||||||
|
end,
|
||||||
|
-- see the link below for details on each option:
|
||||||
|
-- https://github.com/dart-lang/sdk/blob/master/pkg/analysis_server/tool/lsp_spec/README.md#client-workspace-configuration
|
||||||
|
-- settings = {
|
||||||
|
-- showTodos = true,
|
||||||
|
-- completeFunctionCalls = true,
|
||||||
|
-- analysisExcludedFolders = {"<path-to-flutter-sdk-packages>"},
|
||||||
|
-- renameFilesWithClasses = "prompt", -- "always"
|
||||||
|
-- enableSnippets = true,
|
||||||
|
-- updateImportsOnRename = true, -- Whether to update imports and other directives when files are renamed. Required for `FlutterRename` command.
|
||||||
|
-- }
|
||||||
|
}
|
||||||
|
}
|
||||||
1
after/plugin/fugitive.lua
Normal file
1
after/plugin/fugitive.lua
Normal file
@@ -0,0 +1 @@
|
|||||||
|
vim.keymap.set("n", "<leader>gs", vim.cmd.Git)
|
||||||
15
after/plugin/harpoon.lua
Normal file
15
after/plugin/harpoon.lua
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
local harpoon = require("harpoon")
|
||||||
|
|
||||||
|
harpoon:setup()
|
||||||
|
|
||||||
|
vim.keymap.set("n", "<leader>a", function() harpoon:list():add() end)
|
||||||
|
vim.keymap.set("n", "<C-e>", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end)
|
||||||
|
|
||||||
|
vim.keymap.set("n", "<C-h>", function() harpoon:list():select(1) end)
|
||||||
|
vim.keymap.set("n", "<C-j>", function() harpoon:list():select(2) end)
|
||||||
|
vim.keymap.set("n", "<C-k>", function() harpoon:list():select(3) end)
|
||||||
|
vim.keymap.set("n", "<C-l>", function() harpoon:list():select(4) end)
|
||||||
|
|
||||||
|
-- Toggle previous & next buffers stored within Harpoon list
|
||||||
|
vim.keymap.set("n", "<C-S-P>", function() harpoon:list():prev() end)
|
||||||
|
vim.keymap.set("n", "<C-S-N>", function() harpoon:list():next() end)
|
||||||
44
after/plugin/llm.lua
Normal file
44
after/plugin/llm.lua
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
-- local llm = require('llm')
|
||||||
|
--
|
||||||
|
-- llm.setup({
|
||||||
|
-- api_token = nil, -- cf Install paragraph
|
||||||
|
-- model = "codellama:7b-code", -- the model ID, behavior depends on backend
|
||||||
|
-- backend = "ollama", -- backend ID, "huggingface" | "ollama" | "openai" | "tgi"
|
||||||
|
-- url = "", -- the http url of the backend
|
||||||
|
--
|
||||||
|
-- tokens_to_clear = { "<EOT>" }, -- tokens to remove from the model's output
|
||||||
|
-- -- parameters that are added to the request body, values are arbitrary, you can set any field:value pair here it will be passed as is to the backend
|
||||||
|
-- request_body = {
|
||||||
|
-- parameters = {
|
||||||
|
-- max_new_tokens = 120,
|
||||||
|
-- temperature = 0.2,
|
||||||
|
-- top_p = 0.95,
|
||||||
|
-- rope_frequency_base = 1000000
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
|
-- -- set this if the model supports fill in the middle
|
||||||
|
-- fim = {
|
||||||
|
-- enabled = true,
|
||||||
|
-- prefix = "<PRE> ",
|
||||||
|
-- middle = " <MID>",
|
||||||
|
-- suffix = " <SUF>",
|
||||||
|
--
|
||||||
|
-- },
|
||||||
|
-- debounce_ms = 500,
|
||||||
|
-- accept_keymap = "<A-a>",
|
||||||
|
-- dismiss_keymap = "<A-d>",
|
||||||
|
-- tls_skip_verify_insecure = false,
|
||||||
|
-- -- llm-ls configuration, cf llm-ls section
|
||||||
|
-- lsp = {
|
||||||
|
-- bin_path = nil,
|
||||||
|
-- host = nil,
|
||||||
|
-- port = nil,
|
||||||
|
-- cmd_env = nil, -- or { LLM_LOG_LEVEL = "DEBUG" } to set the log level of llm-ls
|
||||||
|
-- version = "0.5.3",
|
||||||
|
-- },
|
||||||
|
-- tokenizer = nil, -- cf Tokenizer paragraph
|
||||||
|
-- context_window = 4048, -- max number of tokens for the context window
|
||||||
|
-- enable_suggestions_on_startup = true,
|
||||||
|
-- enable_suggestions_on_files = "*", -- pattern matching syntax to enable suggestions on specific files, either a string or a list of strings
|
||||||
|
-- disable_url_path_completion = false, -- cf Backend
|
||||||
|
-- })
|
||||||
74
after/plugin/lsp.lua
Normal file
74
after/plugin/lsp.lua
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
local lsp = require("lsp-zero")
|
||||||
|
|
||||||
|
lsp.preset("recommended")
|
||||||
|
|
||||||
|
require("mason").setup({})
|
||||||
|
require("mason-lspconfig").setup({
|
||||||
|
ensure_installed = {
|
||||||
|
"ts_ls",
|
||||||
|
"eslint",
|
||||||
|
"lua_ls",
|
||||||
|
"rust_analyzer",
|
||||||
|
"ast_grep"
|
||||||
|
},
|
||||||
|
handlers = {
|
||||||
|
function(server_name)
|
||||||
|
require("lspconfig")[server_name].setup({})
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
local cmp = require('cmp')
|
||||||
|
|
||||||
|
cmp.setup({
|
||||||
|
window = {
|
||||||
|
completion = cmp.config.window.bordered(),
|
||||||
|
documentation = cmp.config.window.bordered(),
|
||||||
|
},
|
||||||
|
mapping = cmp.mapping.preset.insert({
|
||||||
|
['<C-k>'] = cmp.mapping.select_prev_item(),
|
||||||
|
['<C-j>'] = cmp.mapping.select_next_item(),
|
||||||
|
['<C-y>'] = cmp.mapping.confirm({ select = true }),
|
||||||
|
["<C-Space>"] = cmp.mapping.complete(),
|
||||||
|
}),
|
||||||
|
snippet = {
|
||||||
|
expand = function(args)
|
||||||
|
require('luasnip').lsp_expand(args.body)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
lsp.extend_lspconfig()
|
||||||
|
|
||||||
|
lsp.set_preferences({
|
||||||
|
sign_icons = { }
|
||||||
|
})
|
||||||
|
|
||||||
|
lsp.on_attach(function(client, bufnr)
|
||||||
|
lsp.default_keymaps({buffer = bufnr})
|
||||||
|
|
||||||
|
local opts = {buffer = bufnr, remap = false}
|
||||||
|
|
||||||
|
vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts)
|
||||||
|
vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, opts)
|
||||||
|
vim.keymap.set("n", "<leader>vws", function() vim.lsp.buf.workspace_symbol() end, opts)
|
||||||
|
vim.keymap.set("n", "<leader>vd", function() vim.diagnostic.open_float() end, opts)
|
||||||
|
vim.keymap.set("n", "[d", function() vim.diagnostic.goto_next() end, opts)
|
||||||
|
vim.keymap.set("n", "]d", function() vim.diagnostic.goto_prev() end, opts)
|
||||||
|
vim.keymap.set("n", "<leader>vca", function() vim.lsp.buf.code_action() end, opts)
|
||||||
|
vim.keymap.set("n", "<leader>vrn", function() vim.lsp.buf.rename() end, opts)
|
||||||
|
vim.keymap.set("i", "<C-h>", function() vim.lsp.buf.signature_help() end, opts)
|
||||||
|
end)
|
||||||
|
|
||||||
|
lsp.setup()
|
||||||
|
|
||||||
|
-- Function to restart all active LSP clients
|
||||||
|
local function restart_lsp()
|
||||||
|
for _, client in pairs(vim.lsp.get_active_clients()) do
|
||||||
|
client.stop()
|
||||||
|
end
|
||||||
|
vim.cmd("edit") -- Reload the current buffer to reattach the LSP clients
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Create a Neovim command to restart LSP
|
||||||
|
vim.api.nvim_create_user_command('LspRestart', restart_lsp, {})
|
||||||
1
after/plugin/minialign.lua
Normal file
1
after/plugin/minialign.lua
Normal file
@@ -0,0 +1 @@
|
|||||||
|
-- require("mini.align").setup()
|
||||||
43
after/plugin/netrw.lua
Normal file
43
after/plugin/netrw.lua
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
-- local g = vim.g
|
||||||
|
--
|
||||||
|
-- local options_append = {
|
||||||
|
-- netrw_keepdir = 0, --Keep the current directory and the browsing directory synced
|
||||||
|
-- netrw_winsize = "17", -- 17% size
|
||||||
|
-- netrw_localmkdir = "mkdir -p", -- change mkdir cmd
|
||||||
|
-- netrw_localcopycmd = "cp -r", -- change copy command
|
||||||
|
-- netrw_localrmdir = "rm -r", -- change delete command
|
||||||
|
-- netrw_list_hide = [['\(^\|\s\s\)\zs\.\S\+']], -- don't show hidden
|
||||||
|
-- --netrw_banner = 0, -- hide banner
|
||||||
|
-- --netrw_liststyle = 3, -- how files are open
|
||||||
|
-- --netrw_browse_split = 0, -- open new files in vertical split
|
||||||
|
-- -- netrw_altv = 1,
|
||||||
|
-- netrw_bufsettings = "noma nomod nu nobl nowrap ro", -- line number
|
||||||
|
-- }
|
||||||
|
--
|
||||||
|
-- for k, v in pairs(options_append) do
|
||||||
|
-- g[k] = v
|
||||||
|
-- end
|
||||||
|
--
|
||||||
|
-- local bind = function(lhs, rhs)
|
||||||
|
-- vim.keymap.set("n", lhs, rhs, { remap = true, buffer = true })
|
||||||
|
-- end
|
||||||
|
--
|
||||||
|
-- -- Navigation
|
||||||
|
-- bind("l", "<CR>") -- open file or dir
|
||||||
|
-- bind(".", "gh") -- toggle dotfiles
|
||||||
|
-- bind("H", "u") -- preview dir
|
||||||
|
-- bind("h", "-^") -- go up
|
||||||
|
-- bind("[f", ":Explore<CR>") -- close if open
|
||||||
|
--
|
||||||
|
-- -- Marks
|
||||||
|
-- bind("<TAB>", "mf") -- toggle mark
|
||||||
|
-- bind("<S-TAB>", "mF") -- unmark
|
||||||
|
-- bind("<leader><TAB>", "mu") -- unmark all
|
||||||
|
--
|
||||||
|
-- -- Files
|
||||||
|
-- bind("ff", ":!touch ") -- create file
|
||||||
|
-- bind("fd", ":!mkdir -p ") -- create folder
|
||||||
|
-- bind("fm", ":!mv ") -- move/rename
|
||||||
|
-- bind("fc", ":!cp -r ") -- copy
|
||||||
|
-- bind("D", ":!rm -r ") -- delete
|
||||||
|
-- bind("f;", "mx") -- run command
|
||||||
22
after/plugin/presense.lua
Normal file
22
after/plugin/presense.lua
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
require("presence").setup({
|
||||||
|
auto_update = true, -- Update activity based on autocmd events (if `false`, map or manually execute `:lua package.loaded.presence:update()`)
|
||||||
|
neovim_image_text = "The One True Text Editor", -- Text displayed when hovered over the Neovim image
|
||||||
|
main_image = "neovim", -- Main image display (either "neovim" or "file")
|
||||||
|
-- client_id = "793271441293967371", -- Use your own Discord application client id (not recommended)
|
||||||
|
log_level = nil, -- Log messages at or above this level (one of the following: "debug", "info", "warn", "error")
|
||||||
|
debounce_timeout = 10, -- Number of seconds to debounce events (or calls to `:lua package.loaded.presence:update(<filename>, true)`)
|
||||||
|
enable_line_number = true, -- Displays the current line number instead of the current project
|
||||||
|
blacklist = {}, -- A list of strings or Lua patterns that disable Rich Presence if the current file name, path, or workspace matches
|
||||||
|
buttons = true, -- Configure Rich Presence button(s), either a boolean to enable/disable, a static table (`{{ label = "<label>", url = "<url>" }, ...}`, or a function(buffer: string, repo_url: string|nil): table)
|
||||||
|
file_assets = {}, -- Custom file asset definitions keyed by file names and extensions (see default config at `lua/presence/file_assets.lua` for reference)
|
||||||
|
show_time = true, -- Show the timer
|
||||||
|
|
||||||
|
-- Rich Presence text options
|
||||||
|
editing_text = "Editing %s", -- Format string rendered when an editable file is loaded in the buffer (either string or function(filename: string): string)
|
||||||
|
file_explorer_text = "Browsing %s", -- Format string rendered when browsing a file explorer (either string or function(file_explorer_name: string): string)
|
||||||
|
git_commit_text = "Committing changes", -- Format string rendered when committing changes in git (either string or function(filename: string): string)
|
||||||
|
plugin_manager_text = "Managing plugins", -- Format string rendered when managing plugins (either string or function(plugin_manager_name: string): string)
|
||||||
|
reading_text = "Reading %s", -- Format string rendered when a read-only or unmodifiable file is loaded in the buffer (either string or function(filename: string): string)
|
||||||
|
workspace_text = "Working on %s", -- Format string rendered when in a git repository (either string or function(project_name: string|nil, filename: string): string)
|
||||||
|
line_number_text = "Line %s" --"Line %s out of %s", -- Format string rendered when `enable_line_number` is set to true (either string or function(line_number: number, line_count: number): string)
|
||||||
|
})
|
||||||
8
after/plugin/telescope.lua
Normal file
8
after/plugin/telescope.lua
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
local builtin = require('telescope.builtin')
|
||||||
|
|
||||||
|
vim.keymap.set("n", "<leader>pf", builtin.find_files, {})
|
||||||
|
vim.keymap.set("n", "<C-p>", builtin.git_files, {})
|
||||||
|
vim.keymap.set("n", "<leader>ps", function()
|
||||||
|
builtin.grep_string({ search = vim.fn.input("Grep > ")});
|
||||||
|
end)
|
||||||
|
|
||||||
37
after/plugin/treesitter.lua
Normal file
37
after/plugin/treesitter.lua
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
|
||||||
|
|
||||||
|
require'nvim-treesitter'.setup {
|
||||||
|
-- A list of parser names, or "all" (the listed parsers MUST always be installed)
|
||||||
|
ensure_installed = { "c", "go", "lua", "vim", "vimdoc", "query", "markdown", "markdown_inline", "javascript", "typescript", "rust"},
|
||||||
|
|
||||||
|
-- Install parsers synchronously (only applied to `ensure_installed`)
|
||||||
|
sync_install = false,
|
||||||
|
|
||||||
|
-- Automatically install missing parsers when entering buffer
|
||||||
|
-- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally
|
||||||
|
auto_install = false,
|
||||||
|
|
||||||
|
highlight = {
|
||||||
|
enable = true,
|
||||||
|
|
||||||
|
-- NOTE: these are the names of the parsers and not the filetype. (for example if you want to
|
||||||
|
-- disable highlighting for the `tex` filetype, you need to include `latex` in this list as this is
|
||||||
|
-- the name of the parser)
|
||||||
|
-- list of language that will be disabled
|
||||||
|
-- disable = {},
|
||||||
|
-- Or a function for more flexibility, e.g. to disable slow treesitter highlight for large files
|
||||||
|
-- disable = function(lang, buf)
|
||||||
|
-- local max_filesize = 100 * 1024 -- 100 KB
|
||||||
|
-- local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
|
||||||
|
-- if ok and stats and stats.size > max_filesize then
|
||||||
|
-- return true
|
||||||
|
-- end
|
||||||
|
-- end,
|
||||||
|
|
||||||
|
-- Setting this to true will run `:h syntax` and tree-sitter at the same time.
|
||||||
|
-- Set this to `true` if you depend on 'syntax' being enabled (like for indentation).
|
||||||
|
-- Using this option may slow down your editor, and you may see some duplicate highlights.
|
||||||
|
-- Instead of true it can also be a list of languages
|
||||||
|
additional_vim_regex_highlighting = false,
|
||||||
|
},
|
||||||
|
}
|
||||||
1
after/plugin/undotree.lua
Normal file
1
after/plugin/undotree.lua
Normal file
@@ -0,0 +1 @@
|
|||||||
|
vim.keymap.set("n", "<leader>u", vim.cmd.UndotreeToggle)
|
||||||
12
init.lua
Normal file
12
init.lua
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
require("nami")
|
||||||
|
|
||||||
|
-- local ensure_packer = function()
|
||||||
|
-- local fn = vim.fn
|
||||||
|
-- local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim'
|
||||||
|
-- if fn.empty(fn.glob(install_path)) > 0 then
|
||||||
|
-- fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path})
|
||||||
|
-- vim.cmd [[packadd packer.nvim]]
|
||||||
|
-- end
|
||||||
|
-- end
|
||||||
|
--
|
||||||
|
-- ensure_packer()
|
||||||
25
lazy-lock.json
Normal file
25
lazy-lock.json
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
{
|
||||||
|
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
|
||||||
|
"LuaSnip": { "branch": "master", "commit": "dae4f5aaa3574bd0c2b9dd20fb9542a02c10471c" },
|
||||||
|
"alpha-nvim": { "branch": "main", "commit": "3979b01cb05734331c7873049001d3f2bb8477f4" },
|
||||||
|
"cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" },
|
||||||
|
"flutter-tools.nvim": { "branch": "main", "commit": "677cc07c16e8b89999108d2ebeefcfc5f539b73c" },
|
||||||
|
"harpoon": { "branch": "harpoon2", "commit": "87b1a3506211538f460786c23f98ec63ad9af4e5" },
|
||||||
|
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
|
||||||
|
"lsp-zero.nvim": { "branch": "v3.x", "commit": "77550f2f6cbf0959ef1583d845661af075f3442b" },
|
||||||
|
"mason-lspconfig.nvim": { "branch": "main", "commit": "ae609525ddf01c153c39305730b1791800ffe4fe" },
|
||||||
|
"mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" },
|
||||||
|
"mini.align": { "branch": "main", "commit": "6d8a6ca3a0fd313938374abccb50cad026229db3" },
|
||||||
|
"nvim-cmp": { "branch": "main", "commit": "da88697d7f45d16852c6b2769dc52387d1ddc45f" },
|
||||||
|
"nvim-ghost.nvim": { "branch": "main", "commit": "bdba2a8ad0eec84379d65e7aa9b76a17b11b653a" },
|
||||||
|
"nvim-lspconfig": { "branch": "master", "commit": "66fd02ad1c7ea31616d3ca678fa04e6d0b360824" },
|
||||||
|
"nvim-treesitter": { "branch": "main", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||||
|
"obsidian.nvim": { "branch": "main", "commit": "ae1f76a75c7ce36866e1d9342a8f6f5b9c2caf9b" },
|
||||||
|
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
||||||
|
"presence.nvim": { "branch": "main", "commit": "87c857a56b7703f976d3a5ef15967d80508df6e6" },
|
||||||
|
"quick-scope": { "branch": "master", "commit": "6cee1d9e0b9ac0fbffeb538d4a5ba9f5628fabbc" },
|
||||||
|
"rose-pine": { "branch": "main", "commit": "cf2a288696b03d0934da713d66c6d71557b5c997" },
|
||||||
|
"telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
|
||||||
|
"undotree": { "branch": "master", "commit": "fc28931fbfba66ab75d9af23fe46ffbbb9de6e8c" },
|
||||||
|
"vim-fugitive": { "branch": "master", "commit": "61b51c09b7c9ce04e821f6cf76ea4f6f903e3cf4" }
|
||||||
|
}
|
||||||
12
logos.txt
Normal file
12
logos.txt
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
|
||||||
|
|
||||||
|
████ ██████ █████ ██
|
||||||
|
███████████ █████
|
||||||
|
█████████ ███████████████████ ███ ███████████
|
||||||
|
█████████ ███ █████████████ █████ ██████████████
|
||||||
|
█████████ ██████████ █████████ █████ █████ ████ █████
|
||||||
|
███████████ ███ ███ █████████ █████ █████ ████ █████
|
||||||
|
██████ █████████████████████ ████ █████ █████ ████ ██████
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
3
lua/nami/init.lua
Normal file
3
lua/nami/init.lua
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
require("nami.lazy")
|
||||||
|
require("nami.remap")
|
||||||
|
require("nami.set")
|
||||||
110
lua/nami/lazy.lua
Executable file
110
lua/nami/lazy.lua
Executable file
@@ -0,0 +1,110 @@
|
|||||||
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||||
|
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||||
|
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
||||||
|
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
||||||
|
if vim.v.shell_error ~= 0 then
|
||||||
|
vim.api.nvim_echo({
|
||||||
|
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
||||||
|
{ out, "WarningMsg" },
|
||||||
|
{ "\nPress any key to exit..." },
|
||||||
|
}, true, {})
|
||||||
|
vim.fn.getchar()
|
||||||
|
os.exit(1)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
vim.opt.rtp:prepend(lazypath)
|
||||||
|
|
||||||
|
-- opts.rocks.enabled = false
|
||||||
|
vim.g.mapleader = " "
|
||||||
|
|
||||||
|
local plugins = {
|
||||||
|
-- "wbthomason/packer.nvim",
|
||||||
|
{
|
||||||
|
"nvim-telescope/telescope.nvim",
|
||||||
|
version = "0.1.8",
|
||||||
|
-- or , branch = "0.1.x",
|
||||||
|
dependencies = { { "nvim-lua/plenary.nvim" } }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"rose-pine/neovim",
|
||||||
|
name = "rose-pine",
|
||||||
|
config = function()
|
||||||
|
vim.cmd("colorscheme rose-pine")
|
||||||
|
end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nvim-treesitter/nvim-treesitter",
|
||||||
|
tag = "v0.10.0",
|
||||||
|
lazy = false,
|
||||||
|
build = ":TSUpdate"
|
||||||
|
-- build = function()
|
||||||
|
-- -- local ts_update = require("nvim-treesitter.install").update({ with_sync = true })
|
||||||
|
-- -- ts_update()
|
||||||
|
-- end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ThePrimeagen/harpoon",
|
||||||
|
branch = "harpoon2",
|
||||||
|
dependencies = { "nvim-lua/plenary.nvim" }
|
||||||
|
},
|
||||||
|
-- "theprimeagen/harpoon",
|
||||||
|
"mbbill/undotree",
|
||||||
|
"tpope/vim-fugitive",
|
||||||
|
-- ("christoomey/vim-tmux-navigator")
|
||||||
|
-- "huggingface/llm.nvim",
|
||||||
|
"subnut/nvim-ghost.nvim",
|
||||||
|
"unblevable/quick-scope",
|
||||||
|
-- ({
|
||||||
|
-- "kr40/nvim-macros",
|
||||||
|
-- cmd = {"MacroSave", "MacroYank", "MacroSelect", "MacroDelete"},
|
||||||
|
-- opts = {
|
||||||
|
-- json_file_path = vim.fs.normalize(vim.fn.stdpath("config") .. "/macros.json"), -- Location where the macros will be stored
|
||||||
|
-- default_macro_register = "q", -- Use name default register for :MacroYank and :MacroSave and :MacroSelect Raw functions
|
||||||
|
-- json_formatter = "none", -- can be "none" | "jq" | "yq" used to pretty print the json file (jq or yq must be installed!)
|
||||||
|
-- }
|
||||||
|
-- })
|
||||||
|
"andweeb/presence.nvim",
|
||||||
|
"numToStr/Comment.nvim",
|
||||||
|
{
|
||||||
|
"epwalsh/obsidian.nvim",
|
||||||
|
version = "*",
|
||||||
|
dependencies = {
|
||||||
|
"nvim-lua/plenary.nvim"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"echasnovski/mini.align",
|
||||||
|
-- use {"kevinhwang91/nvim-ufo", dependencies = "kevinhwang91/promise-async"}
|
||||||
|
{
|
||||||
|
"VonHeikemen/lsp-zero.nvim",
|
||||||
|
branch = "v3.x",
|
||||||
|
dependencies = {
|
||||||
|
--- Uncomment the two plugins below if you want to manage the language servers from neovim
|
||||||
|
{ "williamboman/mason.nvim" },
|
||||||
|
{ "williamboman/mason-lspconfig.nvim" },
|
||||||
|
|
||||||
|
{ "neovim/nvim-lspconfig" },
|
||||||
|
{ "hrsh7th/nvim-cmp" },
|
||||||
|
{ "hrsh7th/cmp-nvim-lsp" },
|
||||||
|
{ "L3MON4D3/LuaSnip" },
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nvim-flutter/flutter-tools.nvim",
|
||||||
|
dependencies = {
|
||||||
|
"nvim-lua/plenary.nvim",
|
||||||
|
-- "stevearc/dressing.nvim", -- optional for vim.ui.select
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"goolord/alpha-nvim",
|
||||||
|
lazy = true,
|
||||||
|
event = "VimEnter",
|
||||||
|
-- config = function()
|
||||||
|
-- require("user.plugins.settings.alpha")
|
||||||
|
-- end,
|
||||||
|
cmd = "Alpha",
|
||||||
|
}, -- Splash Screen
|
||||||
|
}
|
||||||
|
|
||||||
|
require("lazy").setup(plugins, {})
|
||||||
53
lua/nami/remap.lua
Normal file
53
lua/nami/remap.lua
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
vim.g.mapleader = " "
|
||||||
|
|
||||||
|
vim.cmd("command! W w")
|
||||||
|
vim.cmd("command! ON ObsidianNew")
|
||||||
|
|
||||||
|
-- Macros
|
||||||
|
|
||||||
|
vim.keymap.set("n", "<leader>c", ":w<CR>:!cargo<Space>run<CR>")
|
||||||
|
|
||||||
|
vim.keymap.set("n", "<leader>pv", vim.cmd.Ex)
|
||||||
|
|
||||||
|
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv")
|
||||||
|
vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv")
|
||||||
|
|
||||||
|
vim.keymap.set("n", "J", "mzJ`z")
|
||||||
|
vim.keymap.set("n", "<C-d>", "<C-d>zz")
|
||||||
|
vim.keymap.set("n", "<C-u>", "<C-u>zz")
|
||||||
|
vim.keymap.set("n", "n", "nzzzv")
|
||||||
|
vim.keymap.set("n", "N", "Nzzzv")
|
||||||
|
|
||||||
|
-- greatest remap ever
|
||||||
|
vim.keymap.set("x", "<leader>p", "\"_dP")
|
||||||
|
|
||||||
|
-- next greatest remap ever : asbjornHaland
|
||||||
|
-- to void register (system)
|
||||||
|
vim.keymap.set("n", "<leader>y", "\"+y")
|
||||||
|
vim.keymap.set("v", "<leader>y", "\"+y")
|
||||||
|
vim.keymap.set("n", "<leader>Y", "\"+Y")
|
||||||
|
vim.keymap.set("v", "<leader>d", "\"_d")
|
||||||
|
|
||||||
|
-- This is going to get me cancelled
|
||||||
|
vim.keymap.set("i", "<C-c>", "<Esc>")
|
||||||
|
|
||||||
|
vim.keymap.set("n", "Q", "<nop>")
|
||||||
|
vim.keymap.set("n", "<C-f>", "<cmd>silent !tmux neww tmux-sessionizer<CR>")
|
||||||
|
vim.keymap.set("n", "<leader>f", function()
|
||||||
|
vim.lsp.buf.format()
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- vim.keymap.set("n", "<C-k>", "<cmd>cnext<CR>zz")
|
||||||
|
-- vim.keymap.set("n", "<C-j>", "<cmd>cprev<CR>zz")
|
||||||
|
-- vim.keymap.set("n", "<leader>k", "<cmd>lnext<CR>zz")
|
||||||
|
-- vim.keymap.set("n", "<leader>j", "<cmd>lprev<CR>zz")
|
||||||
|
|
||||||
|
vim.keymap.set("n", "<leader>s", ":%s/\\<<C-r><C-w>\\>/<C-r><C-w>/gI<Left><Left><Left>")
|
||||||
|
vim.keymap.set("n", "<leader>x", "<cmd>!chmod +x %<CR>", { silent = true })
|
||||||
|
|
||||||
|
for _, mode in ipairs({"n", "v", "i"}) do
|
||||||
|
vim.keymap.set(mode, "<RightMouse>", function() end)
|
||||||
|
vim.keymap.set(mode, "<2-RightMouse>", function() end)
|
||||||
|
vim.keymap.set(mode, "<3-RightMouse>", function() end)
|
||||||
|
vim.keymap.set(mode, "<4-RightMouse>", function() end)
|
||||||
|
end
|
||||||
48
lua/nami/set.lua
Normal file
48
lua/nami/set.lua
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
-- no more warnings
|
||||||
|
vim.deprecate = function() end
|
||||||
|
|
||||||
|
-- vim.opt.guicursor = ""
|
||||||
|
|
||||||
|
-- disable netrw header
|
||||||
|
vim.g.netrw_banner = 0
|
||||||
|
|
||||||
|
vim.opt.nu = true
|
||||||
|
vim.opt.relativenumber = true
|
||||||
|
|
||||||
|
-- vim.opt.conceallevel = 2
|
||||||
|
|
||||||
|
vim.opt.tabstop = 4
|
||||||
|
vim.opt.softtabstop = 4
|
||||||
|
vim.opt.shiftwidth = 4
|
||||||
|
vim.opt.expandtab = true
|
||||||
|
|
||||||
|
vim.opt.smartindent = true
|
||||||
|
|
||||||
|
vim.opt.wrap = true--false
|
||||||
|
|
||||||
|
vim.opt.swapfile = false
|
||||||
|
vim.opt.backup = false
|
||||||
|
vim.opt.undodir = os.getenv("HOME") .. "/.vim/undodir"
|
||||||
|
vim.opt.undofile = true
|
||||||
|
|
||||||
|
vim.opt.foldcolumn = '1' -- '0' is not bad
|
||||||
|
vim.opt.foldlevel = 99 -- Using ufo provider need a large value, feel free to decrease the value
|
||||||
|
vim.opt.foldlevelstart = 99
|
||||||
|
vim.opt.foldenable = true
|
||||||
|
|
||||||
|
vim.opt.hlsearch = false
|
||||||
|
vim.opt.incsearch = true
|
||||||
|
|
||||||
|
vim.opt.termguicolors = true
|
||||||
|
|
||||||
|
vim.opt.scrolloff = 8
|
||||||
|
vim.opt.signcolumn = "yes"
|
||||||
|
vim.opt.isfname:append("@-@")
|
||||||
|
|
||||||
|
-- vim.opt_local.conceallevel = 1
|
||||||
|
|
||||||
|
vim.opt.updatetime = 50
|
||||||
|
|
||||||
|
-- vim.opt.colorcolumn = "80"
|
||||||
|
|
||||||
|
vim.g.mapleader = " "
|
||||||
181
lua/nami/utils/headers.lua
Normal file
181
lua/nami/utils/headers.lua
Normal file
@@ -0,0 +1,181 @@
|
|||||||
|
math.randomseed(os.time())
|
||||||
|
|
||||||
|
local cities = {
|
||||||
|
{
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⡠⡄⠰⡀⡤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⢰⠂⠇⠑⠀⠈⠈⠈⠫⠈⡼⡄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡇⠀⠀⢀⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡤⠒⠊⠀⠀⠀⠈⠀⢀⢀⢀⣄⡠⠂⡱⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⠀⠀⣾⣿⠀⠀⠀⠀⠀⠀⠀⠀⢠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠲⠩⠁⡁⠠⠀⠀⠠⠂⠀⠀⣾⣿⡆⠀⠠⡋⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣧⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⠀⠀⣿⣿⣾⣿⡄⠀⠀⠀⠀⠀⣸⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠀⠀⣆⣠⠀⢀⣤⣀⠀⠀⠀⠈⣏⡆⠂⠀⠠⠐⠁⡨⣠⡥⢺⣿⣿⣷⠀⠀⠠⣊⡀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⢸⣿⣾⠀⠀⣤⠀⠀⣿⣿⣧⠀⠀⡇⠀⠀⠀⠀⠀⠀⣿⣿⣿⣼⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⢈⣶⣾⠀⠀⠀⠀⠀⠀⣤⣧⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⢠⣼⣄⠀⣿⣿⠀⢸⣿⡇⠀⠀⠀⢈⣿⣧⠠⠀⢀⠂⣴⣮⠺⡧⣼⣿⣿⣿⡄⠐⢖⢚⠐⠰⠆⢠⣀⣿⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⢹⣿⣿⠀⢰⣿⣶⣷⣿⣿⣿⣾⣾⣿⠀⠀⢸⡆⠀⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠈⣿⣿⠀⠀⠀⠀⠀⠀⣿⣿⠦⠴⠦⠴⠦⠶⠴⠤⠴⠤⢾⣿⣿⠀⣿⣿⣠⣼⣿⡇⠀⠀⠀⠀⣰⣿⣶⣶⣶⣶⣿⡇⡄⢃⣿⣿⣿⣿⣷⣶⣷⣶⠀⠀⠀⠀⠈⣿⠢⡀⠀⠀⠀]],
|
||||||
|
[[⠀⣶⡆⠀⢰⣶⢺⣿⣿⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⣹⣇⣡⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡇⠀⢰⣾⠀⣿⣿⣿⣿⣷⣶⣤⡟⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡏⣑⣿⣿⣿⣿⣿⣿⠀⢀⡀⠀⣸⣿⣿⣿⣿⣿⣿⣇⡃⢸⣿⣿⣿⣿⣿⣿⣿⣿⣤⣤⣄⣠⣄⣿⠀⠐⡂⠀⠀]],
|
||||||
|
[[⠠⣿⣿⣿⣿⣿⣾⣿⣿⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⢀⣠⣄⡀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣼⢄⠀]],
|
||||||
|
[[⢈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢹⣿⣿⣿⣿⣿⣿⣿⣿⠉⠛⢻⣭⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣽⡄]],
|
||||||
|
[[⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿]],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢾⡷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢘⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣺⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣟⣺⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠭⠭⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⢀⡂⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣬⣤⣤⣵⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⠯⠽⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣲⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⠀⠀⢿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣶⣿⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠀⠀⠀⢠⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣿⣿⣿⣸⡀⠀⠀⠀⠄⠀⠀⡀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⢀⣤⠀⠀⠀⠀⠀⠀⢸⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⣇⣀⣀⣸⣿⣆⠀⠀⠀⢼⣿⣿⣿⣿⣿⣿⣿⣿⡅⠀⠀⢸⣿⣿⣿⡇⠀⠀⠀⠀⣀⣀⠀⠀⠀⠀⠀⠀⣰⡀⠀⢸⠀⠀⠀⢸⣿⡇⠀⠀⠀⠀⢠⡄⠀⠀⠀⠀⠀⠀⠀⠀⣀⣿⣿⣿⣿⣿⣿⣷⣀⠀⠰⡷⠀⣠⣷⡀⠀⠀⠀]],
|
||||||
|
[[⣀⡀⢸⣿⠀⠀⠀⠀⠀⢠⣾⣿⡇⣇⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⢸⣿⣿⡿⠛⠻⣿⣿⣿⡇⠀⠀⢸⣿⣿⣿⡇⠀⠀⣶⣶⣿⣿⣶⣶⠀⡇⠀⢸⣿⣿⡆⢸⠀⠀⠀⣿⣿⣇⣀⣀⣀⣠⣼⣧⣆⣀⣀⣀⡀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⡇⢠⣿⣿⣷⡀⠀⠀]],
|
||||||
|
[[⣿⡇⢸⣿⠀⠀⣤⣦⣴⣼⣿⣿⡇⣧⣾⣿⣀⠀⠀⢠⣿⣿⠟⡏⠉⠉⢙⡻⢿⣿⣄⣆⢸⣿⣿⣇⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⡏⠙⡿⢿⣆⣷⣤⣼⣿⣿⣧⣼⣤⣄⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣀⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣀⣇⣸⣿⣿⣿⣇⣀⣀]],
|
||||||
|
[[⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⣿⣿⣴⣴⣿⣿⣷⣾⣿⣦⣶⣼⣷⣾⣻⣿⣿⣿⣿⣿⣿⣧⣤⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⡇⠀⡇⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿]],
|
||||||
|
[[⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣾⣷⣶⣷⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿]],
|
||||||
|
[[⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿]],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⢀⣤⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡇⠀⢀⣀⣠⣶⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⢸⣿⣿⢀⣠⣤⣴⣶⡇⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣄⣀⣿⡀⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡇⢰⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⣠⣤⣴⣶⠀]],
|
||||||
|
[[⣼⣿⣿⣾⣿⣿⣿⣿⡇⠀⠀⢀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⢀⡀⣀⣀⣀⣀⣀⣹⣿⣿⣿⣁⣀⣀⣀⡀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣤⣤⠀⠀⠀⠀⠀⠀⣀⡀⠀⣿⡇⢸⣿⣿⣿⣿⣿⠀⣴⣦⣾⠀⠀⣀⠀⣿⣿⣿⣿⠀]],
|
||||||
|
[[⣿⣿⣿⣿⣿⣿⣿⣿⣧⢀⣶⣾⣷⣶⣶⣿⣿⣿⣿⣿⣿⣿⣷⣶⣶⣶⣶⣀⡀⠀⠀⠀⢀⣀⣠⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣄⠀⠀⣶⣿⣿⣿⡇⠀⣿⡇⢸⣿⣿⣿⣿⣿⢀⣿⣿⣿⠀⣿⣿⣇⣿⣿⣿⣿⠀]],
|
||||||
|
[[⣿⣿⣿⣿⣿⣿⣿⣿⣿⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⣠⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀⢸⠀⠀⠀⠀⠀⣿⣿⣿⣿⡇⠀⣿⣿⣿⣿⣧⡀⣿⡇⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⢀⣿⣿⣿⣿⣿⣿⣿⠀]],
|
||||||
|
[[⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⣿⣿⣿⣿⠀⠀⢀⣀⣀⣀⠀⣿⡏⠉⢹⡯⠉⠉⣿⠉⠉⠉⠉⣿⡏⠉⢹⡏⠉⠉⣿⠀⢰⣾⣿⣿⣶⠀⠀⠀⣿⣿⣿⣿⡇⡄⣿⣿⣿⣿⣿⣧⣿⣧⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⠀]],
|
||||||
|
[[⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣦⣿⣿⣿⣿⣆⡀⢸⣿⣿⣿⠀⣿⡇⠀⢸⡧⠀⠀⣿⠀⠀⠀⠀⣿⡇⠀⢸⡇⠀⠀⣿⠀⢸⣿⣿⣿⣿⠀⣤⣤⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿]],
|
||||||
|
[[⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⡇⠀⢸⣯⠀⠀⣿⠀⠀⠀⠀⣿⡇⠀⢸⡇⠀⠀⣿⠀⢸⣿⣿⣿⣿⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿]],
|
||||||
|
[[⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⡇⠀⢸⡷⠀⠀⣿⠀⠀⠀⠀⣿⡇⠀⢸⡇⠀⠀⣿⣤⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿]],
|
||||||
|
[[⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣤⣼⣿⣤⣤⣿⣤⣤⣤⣤⣿⣧⣤⣼⣧⣤⣤⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿]],
|
||||||
|
[[⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿]],
|
||||||
|
[[⠛⠛⠛⠛⠛⠙⠋⠋⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠋⠛⠛⠛⠙⠋⠛⠛⠋⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛]],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢼⡿⢿⡧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⣧⣼⣧⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣶⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⢿⣿⣿⣿⢿⣿⣿⣿⣿⡿⣿⣿⣿⡿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣾⣷⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣾⣶⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣶⣿⣿⣿⣿⣿⣿⣷⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠀⠀⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⢿⣿⡿⡆⠀⠀⠀⠀⠀⠀⠀⠰⢿⣿⡿⡗⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⢻⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣶⣦⡀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢀⣴⣶⣦⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⣾⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⢴⣿⣿⣿⣷⠄⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⢠⣿⢿⣿⣿⣿⣿⣿⣿⡿⠛⠛⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⣯⢸⣿⡇⢸⣿⡇⣹⣿⡇⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡟⠛⢿⣿⠀⠀⠀⠀⠀⠀⠀⢸⣿⠋⢻⣿⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⢸⢻⣼⣿⡿⠿⡟⠀⢸⡇⠀⠀⣿⣿⣿⣀⣠⣤⡀⠀⠀⠀⠀⠀⢀⣀⣀⡀⣀⠀⠀⠀⣾⣿⣿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⣿⡿⣶⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡇⠀⢸⣿⠀⠀⠀⠀⠀⠀⠀⢸⣿⠀⢸⣿⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⢸⣿⡿⠉⡇⠀⡇⣀⣸⣧⣶⣶⣿⣿⣿⣿⣿⣿⣷⣤⣤⣼⣿⣤⣾⣿⣿⣿⣿⡟⢻⣷⣿⣿⡏⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⢸⡇⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣷⣶⣾⣿⣤⣤⣤⣤⣤⣤⣤⣼⣿⣶⣾⣿⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⣾⢟⢀⣀⣧⣶⣿⣿⣿⣿⠿⢿⣿⡿⠋⠉⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⡿⠿⢿⣿⣿⣿⣟⣯⣿⣿⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⢹⣽⣿⣿⡿⢿⡟⠉⢻⡇⠀⢰⣿⡇⠀⠀⣿⣿⣿⡇⠀⢿⣿⠁⠀⢹⣿⣇⠀⠙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⣽⣿⣿⣯⣽⣿⣿⣿⣿⣯⣽⣿⣿⣯⣽⣿⣿⣽⣿⣿⣿⣭⣿⣿⣼⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣏⡇⠀⢸⡙⣿⣿⣿⣿⣷⣿⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⣾⡟⡏⢸⠀⢸⡇⠀⢸⣇⣀⣸⣿⣧⣤⣴⣿⣿⣿⣷⣶⣾⣿⣤⣤⣼⣿⣿⡆⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣥⣤⣤⣤⣤⣤⣤⣤⣤⣤⣬⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⣿⣇⣇⣼⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣿⣿⡟⢻⣿⣿⡟⢻⣿⡟⢻⣿⡟⣿⣿⣿⡟⢻⣿⣿⢻⣿⣿⣿⡟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⣿⣿⡇⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⡿⢿⡿⠿⣿⡿⠛⠻⣿⡟⠉⠙⢿⣿⠋⠉⠙⣿⣿⡟⠛⢻⣿⡿⠛⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣼⣿⣿⣧⣼⣿⣧⣼⣿⣧⣿⣿⣿⣧⣾⣿⣿⣼⣿⣿⣿⣧⣿⣿⣴⢹⣿⣿⣿⡿⠿⢿⣿⣿⣿⡏⣿⣿⢻⣿⣿⣿⣿⡏⠉⢹⣿⣿⣿⣿⡟⣿⣿⡇⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⣿⡏⡇⢸⠀⢸⡇⠀⢸⡇⠀⠀⣿⡇⠀⠀⣿⣿⠀⠀⠀⣿⣿⣷⡀⢰⣿⡆⠀⠐⣿⡇⠀⢹⣿⣿⣿⣿⣿⡿⢿⣿⣿⣿⣿⣿⡿⢿⣿⣿⣿⣿⣿⡿⢿⣿⣿⣿⣿⣿⡏⠀⢸⣿⣶⣾⡿⢻⣿⠀⠀⢸⣿⠟⣿⣗⣿⣿⣾⣿⣿⣿⣿⡇⠀⢸⣿⣿⣿⣿⣷⣿⣿⡇⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⠀⢀⣿⣇⣇⣸⣀⣸⣇⣀⣸⣇⣀⣀⣿⣇⣀⣀⣿⣿⣀⣀⣀⣿⣿⣿⣧⣸⣿⣇⣀⣀⣿⣿⣄⣸⣿⣿⣏⣿⣿⡇⠀⣿⣿⡟⢹⣿⡇⢸⣿⡟⣿⣿⣿⡇⢸⣿⣿⣹⣿⣿⡇⠀⢸⣿⣿⣿⡇⠀⣿⠀⠀⢸⣿⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣤⣼⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡄]],
|
||||||
|
[[⠈⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠁]],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
[[⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⣶⣶⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⢲⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠘⢹⡯⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⣶⣦⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⣿⣿⣿⣿⣷⣦⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⣶⣶⣤⣤⣄⣀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⢀⣀⡀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⣶⠀⠀⠀⢸⡇⠀⠀⠀⠈⣿⣿⣿⣿⣿⣿⣿⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡀⣀⣤⣴⣶⣾⣿⣿⣿⣿⣿⣿⡗⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⣿⠀⠀⠀⢹⡏⠀⠀⠀⠀⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⣿⡆⠀⢠⣼⡇⠀⠀⠀⠀⠀⠸⣿⣿⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣥⣀⡀⢀⣀⣤⣤⣶⣶⣾⣿⣿⡿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⣀⠀⢀⢤⡤⡀⠀⣀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⣿⣿⣿⣿⣿⡇⠀⢀⣠⣤⣶⣾⣿⣷⣶⣤⣀⣘⣿⢹⣿⠋⠉⠛⠛⠛⣿⢹⣿⣿⣿⡿⠛⠛⠛⠿⠿⣿⡿⠿⠿⠿⠛⠛⢿⣿⣿⣿⠃⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⢀⡦⡭⠽⠓⠊⠉⠉⠉⠉⠉⠈⠑⠒⠸⢿⣀⠀⠀⢀⠀⠀⠀⠀⠀]],
|
||||||
|
[[⣿⣿⣿⣿⣿⣿⣀⠀⣟⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣶⣤⣤⣽⣼⣿⣿⣭⣤⣤⣤⣤⣤⣤⣼⣤⣤⣤⣤⣤⣤⣤⣽⣿⣧⣤⣤⣽⣅⣀⡀⠘⣿⣿⣿⣿⣿⣿⣷⣦⣀⠀⠀⣠⣤⣧⢤⠀⠀⠀⣐⣢⣷⣄⣆⣉⣁⣀⣀⣄⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣄⣈⣀⣰⣪⣪⣔⣢⡄⠀]],
|
||||||
|
[[⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣾⣿⣿⣿⣿⣿⣿⣶⣶⣿⣶⣶⣶⡶⡶⣿⣶⣶⣶⣶⢶⣶⣶⡶⣶⡶⣾⢿⣿⣿⡿⣿⡿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⣤⣿⣿⣿⣿⡏⠉⠉⠰⠘⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣠⣮⣄⡀]],
|
||||||
|
[[⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿]],
|
||||||
|
}
|
||||||
|
}
|
||||||
|
local cat = {
|
||||||
|
" ██ ██ ",
|
||||||
|
" ██▒▒██ ██▒▒██ ",
|
||||||
|
" ██▒▒▓▓██████▓▓▒▒██ ",
|
||||||
|
" ██▓▓▒▒▒▒▓▓▓▓▓▓▒▒▒▒▓▓██ ",
|
||||||
|
" ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ",
|
||||||
|
" ██▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓██ ",
|
||||||
|
" ██▒▒▒▒██▒▒▒▒██▒▒▒▒██▒▒▒▒██ ",
|
||||||
|
" ██▒▒▒▒▒▒▒▒██▒▒██▒▒▒▒▒▒▒▒██ ",
|
||||||
|
" ██▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓██ ",
|
||||||
|
" ██▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓██ ",
|
||||||
|
" ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ",
|
||||||
|
" ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ",
|
||||||
|
" ██▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓██ ",
|
||||||
|
" ██▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓██ ",
|
||||||
|
" ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ████ ",
|
||||||
|
" ██▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓██ ██▒▒▒▒██",
|
||||||
|
" ██▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓██ ██▓▓██",
|
||||||
|
" ██▒▒▒▒▒▒██▒▒▒▒▒▒▒▒▒▒▒▒▒▒██▒▒▒▒▒▒██ ██▒▒██",
|
||||||
|
" ██▓▓▒▒▒▒██▒▒██▒▒▒▒▒▒██▒▒██▒▒▒▒▓▓██████▒▒▒▒██",
|
||||||
|
" ██▓▓▒▒██▒▒██▒▒▒▒▒▒██▒▒██▒▒▓▓██▒▒▒▒▓▓▒▒██ ",
|
||||||
|
" ██████▒▒██████████▒▒████████████████ ",
|
||||||
|
" ██████ ██████ ",
|
||||||
|
}
|
||||||
|
local ghost = {
|
||||||
|
[[]],
|
||||||
|
[[ ██████ ]],
|
||||||
|
[[ ████▒▒▒▒▒▒████ ]],
|
||||||
|
[[ ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ]],
|
||||||
|
[[ ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ]],
|
||||||
|
[[ ██▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒ ]],
|
||||||
|
[[ ██▒▒▒▒▒▒ ▒▒▓▓▒▒▒▒▒▒ ▓▓▓▓ ]],
|
||||||
|
[[ ██▒▒▒▒▒▒ ▒▒▓▓▒▒▒▒▒▒ ▒▒▓▓ ]],
|
||||||
|
[[ ██▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒ ██ ]],
|
||||||
|
[[ ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ]],
|
||||||
|
[[ ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ]],
|
||||||
|
[[ ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ]],
|
||||||
|
[[ ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ]],
|
||||||
|
[[ ██▒▒██▒▒▒▒▒▒██▒▒▒▒▒▒▒▒██▒▒▒▒██ ]],
|
||||||
|
[[ ████ ██▒▒██ ██▒▒▒▒██ ██▒▒██ ]],
|
||||||
|
[[ ██ ██ ████ ████ ]],
|
||||||
|
[[ ]],
|
||||||
|
[[]],
|
||||||
|
}
|
||||||
|
|
||||||
|
local bloody = {
|
||||||
|
[[ ]],
|
||||||
|
[[ ███▄ █ ▓█████ ▒█████ ██▒ █▓ ██▓ ███▄ ▄███▓ ]],
|
||||||
|
[[ ██ ▀█ █ ▓█ ▀ ▒██▒ ██▒▓██░ █▒▓██▒▓██▒▀█▀ ██▒ ]],
|
||||||
|
[[ ▓██ ▀█ ██▒▒███ ▒██░ ██▒ ▓██ █▒░▒██▒▓██ ▓██░ ]],
|
||||||
|
[[ ▓██▒ ▐▌██▒▒▓█ ▄ ▒██ ██░ ▒██ █░░░██░▒██ ▒██ ]],
|
||||||
|
[[ ▒██░ ▓██░░▒████▒░ ████▓▒░ ▒▀█░ ░██░▒██▒ ░██▒ ]],
|
||||||
|
[[ ░ ▒░ ▒ ▒ ░░ ▒░ ░░ ▒░▒░▒░ ░ ▐░ ░▓ ░ ▒░ ░ ░ ]],
|
||||||
|
[[ ░ ░░ ░ ▒░ ░ ░ ░ ░ ▒ ▒░ ░ ░░ ▒ ░░ ░ ░ ]],
|
||||||
|
[[ ░ ░ ░ ░ ░ ░ ░ ▒ ░░ ▒ ░░ ░ ]],
|
||||||
|
[[ ░ ░ ░ ░ ░ ░ ░ ░ ]],
|
||||||
|
[[ ░ ]],
|
||||||
|
[[ ]],
|
||||||
|
}
|
||||||
|
|
||||||
|
local brutalist = {
|
||||||
|
[[ ]],
|
||||||
|
[[ ████ ██████ █████ ██ ]],
|
||||||
|
[[ ███████████ █████ ]],
|
||||||
|
[[ █████████ ███████████████████ ███ ███████████ ]],
|
||||||
|
[[ █████████ ███ █████████████ █████ ██████████████ ]],
|
||||||
|
[[ █████████ ██████████ █████████ █████ █████ ████ █████ ]],
|
||||||
|
[[ ███████████ ███ ███ █████████ █████ █████ ████ █████ ]],
|
||||||
|
[[ ██████ █████████████████████ ████ █████ █████ ████ ██████]],
|
||||||
|
[[]],
|
||||||
|
[[]],
|
||||||
|
}
|
||||||
|
|
||||||
|
return brutalist
|
||||||
Reference in New Issue
Block a user