develop #1
| @@ -17,23 +17,8 @@ from app import Application | ||||
|  | ||||
|  | ||||
|  | ||||
| if __name__ == "__main__": | ||||
|     ''' Set process title, get arguments, and create GTK main thread. ''' | ||||
|  | ||||
|     try: | ||||
| def main(args, unknownargs): | ||||
|     setproctitle(f'{app_name}') | ||||
|         faulthandler.enable()  # For better debug info | ||||
|  | ||||
|         parser = argparse.ArgumentParser() | ||||
|         # Add long and short arguments | ||||
|         parser.add_argument("--debug", "-d", default="false", help="Do extra console messaging.") | ||||
|         parser.add_argument("--trace-debug", "-td", default="false", help="Disable saves, ignore IPC lock, do extra console messaging.") | ||||
|         parser.add_argument("--no-plugins", "-np", default="false", help="Do not load plugins.") | ||||
|         parser.add_argument("--new-tab", "-nt", default="false", help="Opens a 'New Tab' if a handler is set for it.") | ||||
|         parser.add_argument("--file", "-f", default="default", help="JUST SOME FILE ARG.") | ||||
|  | ||||
|         # Read arguments (If any...) | ||||
|         args, unknownargs = parser.parse_known_args() | ||||
|  | ||||
|     if args.debug == "true": | ||||
|         settings_manager.set_debug(True) | ||||
| @@ -43,6 +28,27 @@ if __name__ == "__main__": | ||||
|  | ||||
|     settings_manager.do_dirty_start_check() | ||||
|     Application(args, unknownargs) | ||||
|  | ||||
|  | ||||
|  | ||||
| if __name__ == "__main__": | ||||
|     ''' Set process title, get arguments, and create GTK main thread. ''' | ||||
|  | ||||
|     parser = argparse.ArgumentParser() | ||||
|     # Add long and short arguments | ||||
|     parser.add_argument("--debug", "-d", default="false", help="Do extra console messaging.") | ||||
|     parser.add_argument("--trace-debug", "-td", default="false", help="Disable saves, ignore IPC lock, do extra console messaging.") | ||||
|     parser.add_argument("--no-plugins", "-np", default="false", help="Do not load plugins.") | ||||
|  | ||||
|     parser.add_argument("--new-tab", "-nt", default="false", help="Opens a 'New Tab' if a handler is set for it.") | ||||
|     parser.add_argument("--file", "-f", default="default", help="JUST SOME FILE ARG.") | ||||
|  | ||||
|     # Read arguments (If any...) | ||||
|     args, unknownargs = parser.parse_known_args() | ||||
|  | ||||
|     try: | ||||
|         faulthandler.enable()  # For better debug info | ||||
|         main(args, unknownargs) | ||||
|     except Exception as e: | ||||
|         traceback.print_exc() | ||||
|         quit() | ||||
| @@ -6,7 +6,7 @@ gi.require_version('Gtk', '3.0') | ||||
| from gi.repository import Gtk | ||||
|  | ||||
| # Application imports | ||||
| from ..widgets.webkit_ui import WebkitUI | ||||
| from ..widgets.webkit.webkit_ui import WebkitUI | ||||
|  | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -9,9 +9,12 @@ from gi.repository import Gtk | ||||
| # Application imports | ||||
| from ..mixins.signals_mixins import SignalsMixins | ||||
| from ..mixins.dummy_mixin import DummyMixin | ||||
| from .base_controller_data import BaseControllerData | ||||
|  | ||||
| from ..containers.base_container import BaseContainer | ||||
|  | ||||
| from .base_controller_data import BaseControllerData | ||||
| from .bridge_controller import BridgeController | ||||
|  | ||||
|  | ||||
|  | ||||
| class BaseController(DummyMixin, SignalsMixins, BaseControllerData): | ||||
| @@ -21,6 +24,7 @@ class BaseController(DummyMixin, SignalsMixins, BaseControllerData): | ||||
|         self._setup_styling() | ||||
|         self._setup_signals() | ||||
|         self._subscribe_to_events() | ||||
|         self._load_controllers() | ||||
|  | ||||
|         self.print_hello_world() # A mixin method from the DummyMixin file | ||||
|  | ||||
| @@ -53,6 +57,9 @@ class BaseController(DummyMixin, SignalsMixins, BaseControllerData): | ||||
|         event_system.subscribe("handle_dir_from_ipc", self.handle_dir_from_ipc) | ||||
|         event_system.subscribe("tggl_top_main_menubar", self._tggl_top_main_menubar) | ||||
|  | ||||
|     def _load_controllers(self): | ||||
|         BridgeController() | ||||
|  | ||||
|     def _tggl_top_main_menubar(self): | ||||
|         logger.debug("_tggl_top_main_menubar > stub...") | ||||
|  | ||||
|   | ||||
							
								
								
									
										43
									
								
								src/core/controllers/bridge_controller.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,43 @@ | ||||
| # Python imports | ||||
| import base64 | ||||
|  | ||||
| # Lib imports | ||||
|  | ||||
| # Application imports | ||||
|  | ||||
|  | ||||
|  | ||||
| class BridgeController: | ||||
|     def __init__(self): | ||||
|  | ||||
|         self.opened_files = {} | ||||
|  | ||||
|         self._setup_signals() | ||||
|         self._subscribe_to_events() | ||||
|  | ||||
|  | ||||
|     def _setup_signals(self): | ||||
|         ... | ||||
|  | ||||
|     def _subscribe_to_events(self): | ||||
|         event_system.subscribe("handle_bridge_event", self.handle_bridge_event) | ||||
|  | ||||
|  | ||||
|     def handle_bridge_event(self, event): | ||||
|         match event.topic: | ||||
|             case "save": | ||||
|                 event_system.emit(f"handle_file_event_{event.originator}", (event,)) | ||||
|             case "close": | ||||
|                 event_system.emit(f"handle_file_event_{event.originator}", (event,)) | ||||
|             case "load_buffer": | ||||
|                 event_system.emit(f"handle_file_event_{event.originator}", (event,)) | ||||
|             case "load_file": | ||||
|                 event_system.emit(f"handle_file_event_{event.originator}", (event,)) | ||||
|             case "alert": | ||||
|                 content = base64.b64decode( event.content.encode() ).decode("utf-8") | ||||
|                 logger.info(f"\nMessage Topic:  {event.topic}\nMessage Content:  {content}") | ||||
|             case "error": | ||||
|                 content = base64.b64decode( event.content.encode() ).decode("utf-8") | ||||
|                 logger.info(content) | ||||
|             case _: | ||||
|                 ... | ||||
							
								
								
									
										3
									
								
								src/core/widgets/webkit/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,3 @@ | ||||
| """ | ||||
|     WebKit2 UI Module | ||||
| """ | ||||
							
								
								
									
										108
									
								
								src/core/widgets/webkit/webkit_ui.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,108 @@ | ||||
| # Python imports | ||||
| import json | ||||
|  | ||||
| # Lib imports | ||||
| import gi | ||||
| gi.require_version('Gdk', '3.0') | ||||
| gi.require_version('WebKit2', '4.0') | ||||
| from gi.repository import Gdk | ||||
| from gi.repository import WebKit2 | ||||
|  | ||||
| # Application imports | ||||
| from libs.data_types import Event | ||||
|  | ||||
|  | ||||
|  | ||||
| class WebkitUI(WebKit2.WebView): | ||||
|     def __init__(self): | ||||
|         super(WebkitUI, self).__init__() | ||||
|  | ||||
|         # self.get_context().set_sandbox_enabled(False) | ||||
|  | ||||
|         self._load_settings() | ||||
|         self._setup_styling() | ||||
|         self._subscribe_to_events() | ||||
|         self._load_view() | ||||
|         self._setup_content_manager() | ||||
|  | ||||
|         self.show_all() | ||||
|  | ||||
|         if settings_manager.is_debug(): | ||||
|             inspector = self.get_inspector() | ||||
|             inspector.show() | ||||
|  | ||||
|  | ||||
|     def _setup_styling(self): | ||||
|         self.set_vexpand(True) | ||||
|         self.set_hexpand(True) | ||||
|         self.set_background_color( Gdk.RGBA(0, 0, 0, 0.0) ) | ||||
|  | ||||
|     def _subscribe_to_events(self): | ||||
|         event_system.subscribe(f"ui_message", self.ui_message) | ||||
|      | ||||
|     def _load_settings(self): | ||||
|         self.set_settings( WebkitUISettings() ) | ||||
|  | ||||
|     def _load_view(self): | ||||
|         path = settings_manager.get_context_path() | ||||
|         data = None | ||||
|  | ||||
|         with open(f"{path}/index.html", "r") as f: | ||||
|             data = f.read() | ||||
|  | ||||
|         self.load_html(content = data, base_uri = f"file://{path}/") | ||||
|  | ||||
|     def _setup_content_manager(self): | ||||
|         content_manager = self.get_user_content_manager() | ||||
|  | ||||
|         content_manager.connect("script-message-received", self._process_js_message) | ||||
|         content_manager.register_script_message_handler("backend") | ||||
|  | ||||
|     def _process_js_message(self, user_content_manager, js_result): | ||||
|         js_value = js_result.get_js_value() | ||||
|         message  = js_value.to_string() | ||||
|  | ||||
|         try: | ||||
|             event = Event( **json.loads(message) ) | ||||
|             event_system.emit("handle_bridge_event", (event,)) | ||||
|         except Exception as e: | ||||
|             logger.info(e) | ||||
|  | ||||
|     def ui_message(self, mtype, message): | ||||
|         command = f"displayMessage('{message}', '{mtype}', '3')" | ||||
|         self.run_javascript(command, None, None) | ||||
|  | ||||
|  | ||||
| class WebkitUISettings(WebKit2.Settings): | ||||
|     def __init__(self): | ||||
|         super(WebkitUISettings, self).__init__() | ||||
|          | ||||
|         self._set_default_settings() | ||||
|  | ||||
|  | ||||
|     # Note: Highly insecure setup but most "app" like setup I could think of. | ||||
|     #       Audit heavily any scripts/links ran/clicked under this setup!  | ||||
|     def _set_default_settings(self): | ||||
|         # self.set_enable_xss_auditor(True) | ||||
|         # self.set_enable_hyperlink_auditing(True) | ||||
|         self.set_enable_xss_auditor(False) | ||||
|         self.set_enable_hyperlink_auditing(False) | ||||
|         self.set_enable_dns_prefetching(False) | ||||
|         self.set_allow_file_access_from_file_urls(True) | ||||
|         self.set_allow_universal_access_from_file_urls(True) | ||||
|         # self.set_enable_java(True) | ||||
|  | ||||
|         self.set_enable_page_cache(False) | ||||
|         self.set_enable_offline_web_application_cache(False) | ||||
|         self.set_enable_html5_local_storage(False) | ||||
|         self.set_enable_html5_database(False) | ||||
|  | ||||
|         self.set_print_backgrounds(False) | ||||
|         self.set_enable_tabs_to_links(False) | ||||
|         self.set_enable_fullscreen(True) | ||||
|         self.set_enable_developer_extras(True) | ||||
|         self.set_enable_webrtc(True) | ||||
|         self.set_enable_webaudio(True) | ||||
|         self.set_enable_accelerated_2d_canvas(True) | ||||
|  | ||||
|         self.set_user_agent(f"Mozilla/5.0 {app_name}") | ||||
| @@ -31,26 +31,43 @@ class WebkitUI(WebKit2.WebView): | ||||
|         self.set_background_color( Gdk.RGBA(0, 0, 0, 0.0) ) | ||||
|  | ||||
|     def _subscribe_to_events(self): | ||||
|         # event_system.subscribe("handle_file_from_ipc", self.handle_file_from_ipc) | ||||
|         ... | ||||
|         event_system.subscribe(f"ui_message", self.ui_message) | ||||
|      | ||||
|     def _load_settings(self): | ||||
|         self.set_settings( WebkitUISettings() ) | ||||
|  | ||||
|     def _load_view(self): | ||||
|         path = settings_manager.get_context_path() | ||||
|         data = settings_manager.wrap_html_to_body("") | ||||
|         data = None | ||||
|  | ||||
|         with open(f"{path}/index.html", "r") as f: | ||||
|             data = f.read() | ||||
|  | ||||
|         self.load_html(content = data, base_uri = f"file://{path}/") | ||||
|  | ||||
|     # def _load_view(self): | ||||
|     #     path = settings_manager.get_context_path() | ||||
|     #     data = settings_manager.wrap_html_to_body("") | ||||
|     #     self.load_html(content = data, base_uri = f"file://{path}/") | ||||
|  | ||||
|     def _setup_content_manager(self): | ||||
|         content_manager = self.get_user_content_manager() | ||||
|         content_manager.register_script_message_handler("backend") | ||||
|         content_manager.connect("script-message-received", self._process_js_message) | ||||
|         content_manager.register_script_message_handler("backend") | ||||
|  | ||||
|     def _process_js_message(self, user_content_manager, js_result): | ||||
|         js_value = js_result.get_js_value() | ||||
|         print(js_value.to_string()) | ||||
|         # self._web_view.run_javascript("do_stuff()", None, None) | ||||
|         message  = js_value.to_string() | ||||
|  | ||||
|         try: | ||||
|             event = Event( **json.loads(message) ) | ||||
|             # event_system.emit("handle_bridge_event", (event,)) | ||||
|         except Exception as e: | ||||
|             logger.info(e) | ||||
|  | ||||
|     def ui_message(self, message, mtype): | ||||
|         command = f"displayMessage('{message}', '{mtype}', '3')" | ||||
|         self.run_javascript(command, None, None) | ||||
|  | ||||
|  | ||||
| class WebkitUISettings(WebKit2.Settings): | ||||
| @@ -63,20 +80,25 @@ class WebkitUISettings(WebKit2.Settings): | ||||
|     # Note: Highly insecure setup but most "app" like setup I could think of. | ||||
|     #       Audit heavily any scripts/links ran/clicked under this setup!  | ||||
|     def _set_default_settings(self): | ||||
|         self.set_enable_offline_web_application_cache(False) | ||||
|         self.enable_html5_local_storage(False) | ||||
|         self.enable_html5_database(False) | ||||
|         self.enable_xss_auditor(False) | ||||
|         self.set_enable_hyperlink_auditing(False) | ||||
|         self.set_enable_tabs_to_links(False) | ||||
|         self.enable_fullscreen(False) | ||||
|         self.set_print_backgrounds(False) | ||||
|         self.enable_webaudio(False) | ||||
|         self.set_enable_page_cache(False) | ||||
|  | ||||
|         self.enable_accelerated_2d_canvas(True) | ||||
|         self.set_enable_xss_auditor(True) | ||||
|         self.set_enable_hyperlink_auditing(True) | ||||
|         # self.set_enable_xss_auditor(False) | ||||
|         # self.set_enable_hyperlink_auditing(False) | ||||
|         self.set_allow_file_access_from_file_urls(True) | ||||
|         self.set_allow_universal_access_from_file_urls(True) | ||||
|         self.set_enable_webrtc(True) | ||||
|  | ||||
|         sdelf.set_user_agent(f"{app_name}") | ||||
|         self.set_enable_page_cache(False) | ||||
|         self.set_enable_offline_web_application_cache(False) | ||||
|         self.set_enable_html5_local_storage(False) | ||||
|         self.set_enable_html5_database(False) | ||||
|  | ||||
|         self.set_enable_fullscreen(False) | ||||
|         self.set_print_backgrounds(False) | ||||
|         self.set_enable_tabs_to_links(False) | ||||
|         self.set_enable_developer_extras(True) | ||||
|         self.set_enable_webrtc(True) | ||||
|         self.set_enable_webaudio(True) | ||||
|         self.set_enable_accelerated_2d_canvas(True) | ||||
|  | ||||
|         self.set_user_agent(f"{app_name}") | ||||
|  | ||||
|   | ||||
| @@ -36,6 +36,7 @@ class Window(Gtk.ApplicationWindow): | ||||
|  | ||||
|         self._set_window_data() | ||||
|         self._set_size_constraints() | ||||
|  | ||||
|         self.show() | ||||
|  | ||||
|  | ||||
| @@ -50,8 +51,11 @@ class Window(Gtk.ApplicationWindow): | ||||
|         ctx.add_class(f"mw_transparency_{settings.theming.transparency}") | ||||
|  | ||||
|     def _setup_signals(self): | ||||
|         GLib.unix_signal_add(GLib.PRIORITY_DEFAULT, signal.SIGINT, self._tear_down) | ||||
|         self.connect("focus-in-event", self._on_focus_in_event) | ||||
|         self.connect("focus-out-event", self._on_focus_out_event) | ||||
|  | ||||
|         self.connect("delete-event", self._tear_down) | ||||
|         GLib.unix_signal_add(GLib.PRIORITY_DEFAULT, signal.SIGINT, self._tear_down) | ||||
|  | ||||
|     def _subscribe_to_events(self): | ||||
|         event_system.subscribe("tear_down", self._tear_down) | ||||
| @@ -101,6 +105,13 @@ class Window(Gtk.ApplicationWindow): | ||||
|         cr.paint() | ||||
|         cr.set_operator(cairo.OPERATOR_OVER) | ||||
|  | ||||
|  | ||||
|     def _on_focus_in_event(self, widget, event): | ||||
|         event_system.emit("pause_dnd_signals") | ||||
|  | ||||
|     def _on_focus_out_event(self, widget, event): | ||||
|         event_system.emit("listen_dnd_signals") | ||||
|  | ||||
|     def _load_interactive_debug(self): | ||||
|         self.set_interactive_debugging(True) | ||||
|  | ||||
|   | ||||
							
								
								
									
										5
									
								
								src/libs/data_types/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,5 @@ | ||||
| """ | ||||
|     Dasta Class module | ||||
| """ | ||||
|  | ||||
| from .event import Event | ||||
							
								
								
									
										14
									
								
								src/libs/data_types/event.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,14 @@ | ||||
| # Python imports | ||||
| from dataclasses import dataclass, field | ||||
|  | ||||
| # Lib imports | ||||
|  | ||||
| # Application imports | ||||
|  | ||||
|  | ||||
|  | ||||
| @dataclass | ||||
| class Event: | ||||
|     topic: str | ||||
|     content: str | ||||
|     raw_content: str | ||||
| @@ -28,14 +28,14 @@ class DnDMixin: | ||||
|  | ||||
|         action      = Gdk.DragAction.COPY | ||||
|  | ||||
|         self.drag_dest_set_target_list(targets) | ||||
|         # self.drag_dest_set(flags, targets, action) | ||||
|         # self.drag_dest_set_target_list(targets) | ||||
|         self.drag_dest_set(flags, targets, action) | ||||
|  | ||||
|         self._setup_dnd_signals() | ||||
|  | ||||
|     def _setup_dnd_signals(self): | ||||
|         self.connect("drag-motion",        self._on_drag_motion) | ||||
|         self.connect('drag-drop',          self._on_drag_set) | ||||
|         # self.connect("drag-motion",        self._on_drag_motion) | ||||
|         # self.connect('drag-drop',          self._on_drag_set) | ||||
|         self.connect("drag-data-received", self._on_drag_data_received) | ||||
|  | ||||
|     def _on_drag_motion(self, widget, drag_context, x, y, time): | ||||
|   | ||||
| @@ -1,8 +1,6 @@ | ||||
| # Python imports | ||||
| import signal | ||||
| import io | ||||
| import json | ||||
| import inspect | ||||
| import json | ||||
| import zipfile | ||||
|  | ||||
| from os import path | ||||
| @@ -13,7 +11,6 @@ from os import mkdir | ||||
| # Application imports | ||||
| from ..singleton import Singleton | ||||
| from .start_check_mixin import StartCheckMixin | ||||
| from .markdown_template_mixin import MarkdownTemplateMixin | ||||
| from .options.settings import Settings | ||||
|  | ||||
|  | ||||
| @@ -23,7 +20,7 @@ class MissingConfigError(Exception): | ||||
|  | ||||
|  | ||||
|  | ||||
| class SettingsManager(StartCheckMixin, MarkdownTemplateMixin, Singleton): | ||||
| class SettingsManager(StartCheckMixin, Singleton): | ||||
|     def __init__(self): | ||||
|         self._SCRIPT_PTH        = path.dirname(path.realpath(__file__)) | ||||
|         self._USER_HOME         = path.expanduser('~') | ||||
|   | ||||
| @@ -1,60 +0,0 @@ | ||||
| # Python imports | ||||
|  | ||||
| # Lib imports | ||||
|  | ||||
| # Application imports | ||||
|  | ||||
|  | ||||
|  | ||||
| class MarkdownTemplateMixin: | ||||
|     def wrap_html_to_body(self, html): | ||||
|         return f"""\ | ||||
| <!DOCTYPE html> | ||||
| <html lang="en" dir="ltr"> | ||||
| <head> | ||||
|     <meta charset="utf-8"> | ||||
|     <title>Markdown View</title> | ||||
|     <style media="screen"> | ||||
|         html, body {{ | ||||
|             display: block; | ||||
|             background-color: #32383e00; | ||||
|             color: #ffffff; | ||||
|             text-wrap: wrap; | ||||
|         }} | ||||
|          | ||||
|         img {{ | ||||
|             width: 100%; | ||||
|             height: auto; | ||||
|         }} | ||||
|          | ||||
|         code {{ | ||||
|             border: 1px solid #32383e; | ||||
|             background-color: #32383e; | ||||
|             padding: 4px; | ||||
|         }} | ||||
|     </style> | ||||
|  | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
|     {html} | ||||
|     <span>Button in WebView | ||||
|         <button onclick="say_hello()">Button in WebView</button> | ||||
|     </span> | ||||
|  | ||||
|  | ||||
|     <!-- For internal scripts... --> | ||||
|     <script src="js/libs/jquery-3.7.1.min.js"></script> | ||||
|  | ||||
|     <!-- For Bootstrap... --> | ||||
|     <script src="resources/js/libs/bootstrap5/bootstrap.bundle.min.js"></script> | ||||
|  | ||||
|     <!-- For Application... --> | ||||
|     <script src="resources/js/ui-logic.js"></script> | ||||
|     <script src="resources/js/post-ajax.js"></script> | ||||
|     <script src="resources/js/ajax.js"></script> | ||||
|     <script src="resources/js/events.js"></script> | ||||
| </body> | ||||
| </html> | ||||
|  | ||||
| """ | ||||
							
								
								
									
										47
									
								
								user_config/usr/share/app_name/context_path/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,47 @@ | ||||
| <!DOCTYPE html> | ||||
| <html lang="en" dir="ltr"> | ||||
| <head> | ||||
|     <meta charset="utf-8"> | ||||
|     <title>Gtk + HTML + Python App</title> | ||||
|         <!-- Bootstrap CSS --> | ||||
|         <link rel="stylesheet" href="resources/css/libs/bootstrap5/bootstrap.min.css"> | ||||
|         <link rel="stylesheet" href="resources/css/libs/bootstrap-icons/bootstrap-icons.css"> | ||||
|  | ||||
|         <!-- Site CSS --> | ||||
|         <!--  <link rel="stylesheet" href="resources/css/context-menu.css">  --> | ||||
|         <link rel="stylesheet" href="resources/css/main.css"> | ||||
|         <link rel="stylesheet" href="resources/css/overrides.css"> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
|     <div class="container"> | ||||
|         <div class="row"> | ||||
|             <div id="page-alert-zone" class="col"> | ||||
|             </div> | ||||
|         </div> | ||||
|  | ||||
|         <div class="row"> | ||||
|             <div class="col text-center scroller"> | ||||
|                     <button id="helloBttn" class=" btn btn-success">Button in WebView</button> | ||||
|             </div> | ||||
|         </div> | ||||
|     </div> | ||||
|  | ||||
|  | ||||
|     <!-- For internal scripts... --> | ||||
|     <!--  <script src="js/libs/jquery-3.7.1.min.js"></script>  --> | ||||
|  | ||||
|     <!-- For Bootstrap... --> | ||||
|     <script src="resources/js/libs/bootstrap5/bootstrap.bundle.min.js"></script> | ||||
|  | ||||
|     <!-- For Application... --> | ||||
|     <script src="resources/js/globals.js"></script> | ||||
|  | ||||
|     <!--  <script src="resources/js/post-ajax.js"></script>  --> | ||||
|     <!--  <script src="resources/js/ajax.js"></script>  --> | ||||
|  | ||||
|     <script src="resources/js/utils.js"></script> | ||||
|     <script src="resources/js/ui-logic.js"></script> | ||||
|     <script src="resources/js/events.js"></script> | ||||
| </body> | ||||
| </html> | ||||
| @@ -0,0 +1,50 @@ | ||||
| .menu { | ||||
|     width: 165px; | ||||
|     z-index: 999; | ||||
|     box-shadow: 0 4px 5px 3px rgba(0, 0, 0, 0.2); | ||||
|     background-color: rgba(0, 0, 0, 0.64); | ||||
|     position: fixed; | ||||
|     display: none; | ||||
|     transition: 0.2s display ease-in; | ||||
| } | ||||
| .menu .menu-options { | ||||
|     list-style: none; | ||||
|     padding: 10px 0; | ||||
|     z-index: 1; | ||||
| } | ||||
| .menu .menu-options .menu-option { | ||||
|     font-weight: 500; | ||||
|     z-index: 1; | ||||
|     padding: 10px 40px 10px 20px; | ||||
|     cursor: pointer; | ||||
| } | ||||
|  | ||||
| .menu .menu-options .menu-option:hover { | ||||
|     background: rgba(255, 255, 255, 0.64); | ||||
|     color: rgba(0, 0, 0, 0.5); | ||||
| } | ||||
|  | ||||
| button { | ||||
|     background: grey; | ||||
|     border: none; | ||||
| } | ||||
| button .next { | ||||
|     color: green; | ||||
| } | ||||
| button[disabled="false"]:hover .next { | ||||
|     color: red; | ||||
|     animation: move 0.5s; | ||||
|     animation-iteration-count: 2; | ||||
| } | ||||
|  | ||||
| @keyframes move { | ||||
|     from { | ||||
|         transform: translate(0%); | ||||
|     } | ||||
|     50% { | ||||
|         transform: translate(-40%); | ||||
|     } | ||||
|     to { | ||||
|         transform: transform(0%); | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-123" viewBox="0 0 16 16"> | ||||
|   <path d="M2.873 11.297V4.142H1.699L0 5.379v1.137l1.64-1.18h.06v5.961h1.174Zm3.213-5.09v-.063c0-.618.44-1.169 1.196-1.169.676 0 1.174.44 1.174 1.106 0 .624-.42 1.101-.807 1.526L4.99 10.553v.744h4.78v-.99H6.643v-.069L8.41 8.252c.65-.724 1.237-1.332 1.237-2.27C9.646 4.849 8.723 4 7.308 4c-1.573 0-2.36 1.064-2.36 2.15v.057h1.138Zm6.559 1.883h.786c.823 0 1.374.481 1.379 1.179.01.707-.55 1.216-1.421 1.21-.77-.005-1.326-.419-1.379-.953h-1.095c.042 1.053.938 1.918 2.464 1.918 1.478 0 2.642-.839 2.62-2.144-.02-1.143-.922-1.651-1.551-1.714v-.063c.535-.09 1.347-.66 1.326-1.678-.026-1.053-.933-1.855-2.359-1.845-1.5.005-2.317.88-2.348 1.898h1.116c.032-.498.498-.944 1.206-.944.703 0 1.206.435 1.206 1.07.005.64-.504 1.106-1.2 1.106h-.75v.96Z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 870 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-activity" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M6 2a.5.5 0 0 1 .47.33L10 12.036l1.53-4.208A.5.5 0 0 1 12 7.5h3.5a.5.5 0 0 1 0 1h-3.15l-1.88 5.17a.5.5 0 0 1-.94 0L6 3.964 4.47 8.171A.5.5 0 0 1 4 8.5H.5a.5.5 0 0 1 0-1h3.15l1.88-5.17A.5.5 0 0 1 6 2Z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 367 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-alarm-fill" viewBox="0 0 16 16"> | ||||
|   <path d="M6 .5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1H9v1.07a7.001 7.001 0 0 1 3.274 12.474l.601.602a.5.5 0 0 1-.707.708l-.746-.746A6.97 6.97 0 0 1 8 16a6.97 6.97 0 0 1-3.422-.892l-.746.746a.5.5 0 0 1-.707-.708l.602-.602A7.001 7.001 0 0 1 7 2.07V1h-.5A.5.5 0 0 1 6 .5zm2.5 5a.5.5 0 0 0-1 0v3.362l-1.429 2.38a.5.5 0 1 0 .858.515l1.5-2.5A.5.5 0 0 0 8.5 9V5.5zM.86 5.387A2.5 2.5 0 1 1 4.387 1.86 8.035 8.035 0 0 0 .86 5.387zM11.613 1.86a2.5 2.5 0 1 1 3.527 3.527 8.035 8.035 0 0 0-3.527-3.527z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 626 B | 
| @@ -0,0 +1,4 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-alarm" viewBox="0 0 16 16"> | ||||
|   <path d="M8.5 5.5a.5.5 0 0 0-1 0v3.362l-1.429 2.38a.5.5 0 1 0 .858.515l1.5-2.5A.5.5 0 0 0 8.5 9V5.5z"/> | ||||
|   <path d="M6.5 0a.5.5 0 0 0 0 1H7v1.07a7.001 7.001 0 0 0-3.273 12.474l-.602.602a.5.5 0 0 0 .707.708l.746-.746A6.97 6.97 0 0 0 8 16a6.97 6.97 0 0 0 3.422-.892l.746.746a.5.5 0 0 0 .707-.708l-.601-.602A7.001 7.001 0 0 0 9 2.07V1h.5a.5.5 0 0 0 0-1h-3zm1.038 3.018a6.093 6.093 0 0 1 .924 0 6 6 0 1 1-.924 0zM0 3.5c0 .753.333 1.429.86 1.887A8.035 8.035 0 0 1 4.387 1.86 2.5 2.5 0 0 0 0 3.5zM13.5 1c-.753 0-1.429.333-1.887.86a8.035 8.035 0 0 1 3.527 3.527A2.5 2.5 0 0 0 13.5 1z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 711 B | 
| @@ -0,0 +1,4 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-align-bottom" viewBox="0 0 16 16"> | ||||
|   <rect width="4" height="12" x="6" y="1" rx="1"/> | ||||
|   <path d="M1.5 14a.5.5 0 0 0 0 1v-1zm13 1a.5.5 0 0 0 0-1v1zm-13 0h13v-1h-13v1z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 271 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-align-center" viewBox="0 0 16 16"> | ||||
|   <path d="M8 1a.5.5 0 0 1 .5.5V6h-1V1.5A.5.5 0 0 1 8 1zm0 14a.5.5 0 0 1-.5-.5V10h1v4.5a.5.5 0 0 1-.5.5zM2 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V7z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 315 B | 
| @@ -0,0 +1,4 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-align-end" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M14.5 1a.5.5 0 0 0-.5.5v13a.5.5 0 0 0 1 0v-13a.5.5 0 0 0-.5-.5z"/> | ||||
|   <path d="M13 7a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V7z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 318 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-align-middle" viewBox="0 0 16 16"> | ||||
|   <path d="M6 13a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v10zM1 8a.5.5 0 0 0 .5.5H6v-1H1.5A.5.5 0 0 0 1 8zm14 0a.5.5 0 0 1-.5.5H10v-1h4.5a.5.5 0 0 1 .5.5z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 316 B | 
| @@ -0,0 +1,4 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-align-start" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M1.5 1a.5.5 0 0 1 .5.5v13a.5.5 0 0 1-1 0v-13a.5.5 0 0 1 .5-.5z"/> | ||||
|   <path d="M3 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 318 B | 
| @@ -0,0 +1,4 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-align-top" viewBox="0 0 16 16"> | ||||
|   <rect width="4" height="12" rx="1" transform="matrix(1 0 0 -1 6 15)"/> | ||||
|   <path d="M1.5 2a.5.5 0 0 1 0-1v1zm13-1a.5.5 0 0 1 0 1V1zm-13 0h13v1h-13V1z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 287 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-alt" viewBox="0 0 16 16"> | ||||
|   <path d="M1 13.5a.5.5 0 0 0 .5.5h3.797a.5.5 0 0 0 .439-.26L11 3h3.5a.5.5 0 0 0 0-1h-3.797a.5.5 0 0 0-.439.26L5 13H1.5a.5.5 0 0 0-.5.5zm10 0a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.5.5z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 326 B | 
| @@ -0,0 +1,4 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-app-indicator" viewBox="0 0 16 16"> | ||||
|   <path d="M5.5 2A3.5 3.5 0 0 0 2 5.5v5A3.5 3.5 0 0 0 5.5 14h5a3.5 3.5 0 0 0 3.5-3.5V8a.5.5 0 0 1 1 0v2.5a4.5 4.5 0 0 1-4.5 4.5h-5A4.5 4.5 0 0 1 1 10.5v-5A4.5 4.5 0 0 1 5.5 1H8a.5.5 0 0 1 0 1H5.5z"/> | ||||
|   <path d="M16 3a3 3 0 1 1-6 0 3 3 0 0 1 6 0z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 387 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-app" viewBox="0 0 16 16"> | ||||
|   <path d="M11 2a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h6zM5 1a4 4 0 0 0-4 4v6a4 4 0 0 0 4 4h6a4 4 0 0 0 4-4V5a4 4 0 0 0-4-4H5z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 282 B | 
| @@ -0,0 +1,4 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-apple" viewBox="0 0 16 16"> | ||||
|   <path d="M11.182.008C11.148-.03 9.923.023 8.857 1.18c-1.066 1.156-.902 2.482-.878 2.516.024.034 1.52.087 2.475-1.258.955-1.345.762-2.391.728-2.43zm3.314 11.733c-.048-.096-2.325-1.234-2.113-3.422.212-2.189 1.675-2.789 1.698-2.854.023-.065-.597-.79-1.254-1.157a3.692 3.692 0 0 0-1.563-.434c-.108-.003-.483-.095-1.254.116-.508.139-1.653.589-1.968.607-.316.018-1.256-.522-2.267-.665-.647-.125-1.333.131-1.824.328-.49.196-1.422.754-2.074 2.237-.652 1.482-.311 3.83-.067 4.56.244.729.625 1.924 1.273 2.796.576.984 1.34 1.667 1.659 1.899.319.232 1.219.386 1.843.067.502-.308 1.408-.485 1.766-.472.357.013 1.061.154 1.782.539.571.197 1.111.115 1.652-.105.541-.221 1.324-1.059 2.238-2.758.347-.79.505-1.217.473-1.282z"/> | ||||
|   <path d="M11.182.008C11.148-.03 9.923.023 8.857 1.18c-1.066 1.156-.902 2.482-.878 2.516.024.034 1.52.087 2.475-1.258.955-1.345.762-2.391.728-2.43zm3.314 11.733c-.048-.096-2.325-1.234-2.113-3.422.212-2.189 1.675-2.789 1.698-2.854.023-.065-.597-.79-1.254-1.157a3.692 3.692 0 0 0-1.563-.434c-.108-.003-.483-.095-1.254.116-.508.139-1.653.589-1.968.607-.316.018-1.256-.522-2.267-.665-.647-.125-1.333.131-1.824.328-.49.196-1.422.754-2.074 2.237-.652 1.482-.311 3.83-.067 4.56.244.729.625 1.924 1.273 2.796.576.984 1.34 1.667 1.659 1.899.319.232 1.219.386 1.843.067.502-.308 1.408-.485 1.766-.472.357.013 1.061.154 1.782.539.571.197 1.111.115 1.652-.105.541-.221 1.324-1.059 2.238-2.758.347-.79.505-1.217.473-1.282z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 1.5 KiB | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-archive-fill" viewBox="0 0 16 16"> | ||||
|   <path d="M12.643 15C13.979 15 15 13.845 15 12.5V5H1v7.5C1 13.845 2.021 15 3.357 15h9.286zM5.5 7h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1zM.8 1a.8.8 0 0 0-.8.8V3a.8.8 0 0 0 .8.8h14.4A.8.8 0 0 0 16 3V1.8a.8.8 0 0 0-.8-.8H.8z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 359 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-archive" viewBox="0 0 16 16"> | ||||
|   <path d="M0 2a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1v7.5a2.5 2.5 0 0 1-2.5 2.5h-9A2.5 2.5 0 0 1 1 12.5V5a1 1 0 0 1-1-1V2zm2 3v7.5A1.5 1.5 0 0 0 3.5 14h9a1.5 1.5 0 0 0 1.5-1.5V5H2zm13-3H1v2h14V2zM5 7.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 401 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-90deg-down" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M4.854 14.854a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L4 13.293V3.5A2.5 2.5 0 0 1 6.5 1h8a.5.5 0 0 1 0 1h-8A1.5 1.5 0 0 0 5 3.5v9.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 350 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-90deg-left" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M1.146 4.854a.5.5 0 0 1 0-.708l4-4a.5.5 0 1 1 .708.708L2.707 4H12.5A2.5 2.5 0 0 1 15 6.5v8a.5.5 0 0 1-1 0v-8A1.5 1.5 0 0 0 12.5 5H2.707l3.147 3.146a.5.5 0 1 1-.708.708l-4-4z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 349 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-90deg-right" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M14.854 4.854a.5.5 0 0 0 0-.708l-4-4a.5.5 0 0 0-.708.708L13.293 4H3.5A2.5 2.5 0 0 0 1 6.5v8a.5.5 0 0 0 1 0v-8A1.5 1.5 0 0 1 3.5 5h9.793l-3.147 3.146a.5.5 0 0 0 .708.708l4-4z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 350 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-90deg-up" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M4.854 1.146a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L4 2.707V12.5A2.5 2.5 0 0 0 6.5 15h8a.5.5 0 0 0 0-1h-8A1.5 1.5 0 0 1 5 12.5V2.707l3.146 3.147a.5.5 0 1 0 .708-.708l-4-4z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 349 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-bar-down" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M1 3.5a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13a.5.5 0 0 1-.5-.5zM8 6a.5.5 0 0 1 .5.5v5.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 0 1 .708-.708L7.5 12.293V6.5A.5.5 0 0 1 8 6z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 375 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-bar-left" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M12.5 15a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 1 0v13a.5.5 0 0 1-.5.5zM10 8a.5.5 0 0 1-.5.5H3.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L3.707 7.5H9.5a.5.5 0 0 1 .5.5z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 375 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-bar-right" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M6 8a.5.5 0 0 0 .5.5h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.708.708L12.293 7.5H6.5A.5.5 0 0 0 6 8zm-2.5 7a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 1 0v13a.5.5 0 0 1-.5.5z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 375 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-bar-up" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M8 10a.5.5 0 0 0 .5-.5V3.707l2.146 2.147a.5.5 0 0 0 .708-.708l-3-3a.5.5 0 0 0-.708 0l-3 3a.5.5 0 1 0 .708.708L7.5 3.707V9.5a.5.5 0 0 0 .5.5zm-7 2.5a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13a.5.5 0 0 1-.5-.5z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 376 B | 
| @@ -0,0 +1,4 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-clockwise" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z"/> | ||||
|   <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 352 B | 
| @@ -0,0 +1,4 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-counterclockwise" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M8 3a5 5 0 1 1-4.546 2.914.5.5 0 0 0-.908-.417A6 6 0 1 0 8 2v1z"/> | ||||
|   <path d="M8 4.466V.534a.25.25 0 0 0-.41-.192L5.23 2.308a.25.25 0 0 0 0 .384l2.36 1.966A.25.25 0 0 0 8 4.466z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 359 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-circle-fill" viewBox="0 0 16 16"> | ||||
|   <path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.5 4.5a.5.5 0 0 0-1 0v5.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V4.5z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 321 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-circle" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.5 4.5a.5.5 0 0 0-1 0v5.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V4.5z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 370 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-left-circle-fill" viewBox="0 0 16 16"> | ||||
|   <path d="M16 8A8 8 0 1 0 0 8a8 8 0 0 0 16 0zm-5.904-2.803a.5.5 0 1 1 .707.707L6.707 10h2.768a.5.5 0 0 1 0 1H5.5a.5.5 0 0 1-.5-.5V6.525a.5.5 0 0 1 1 0v2.768l4.096-4.096z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 326 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-left-circle" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-5.904-2.854a.5.5 0 1 1 .707.708L6.707 9.95h2.768a.5.5 0 1 1 0 1H5.5a.5.5 0 0 1-.5-.5V6.475a.5.5 0 1 1 1 0v2.768l4.096-4.097z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 377 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-left-square-fill" viewBox="0 0 16 16"> | ||||
|   <path d="M2 16a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2zm8.096-10.803L6 9.293V6.525a.5.5 0 0 0-1 0V10.5a.5.5 0 0 0 .5.5h3.975a.5.5 0 0 0 0-1H6.707l4.096-4.096a.5.5 0 1 0-.707-.707z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 363 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-left-square" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm10.096 3.146a.5.5 0 1 1 .707.708L6.707 9.95h2.768a.5.5 0 1 1 0 1H5.5a.5.5 0 0 1-.5-.5V6.475a.5.5 0 1 1 1 0v2.768l4.096-4.097z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 451 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-left" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M2 13.5a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 0-1H3.707L13.854 2.854a.5.5 0 0 0-.708-.708L3 12.293V7.5a.5.5 0 0 0-1 0v6z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 286 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-right-circle-fill" viewBox="0 0 16 16"> | ||||
|   <path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm5.904-2.803a.5.5 0 1 0-.707.707L9.293 10H6.525a.5.5 0 0 0 0 1H10.5a.5.5 0 0 0 .5-.5V6.525a.5.5 0 0 0-1 0v2.768L5.904 5.197z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 326 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-right-circle" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.854 5.146a.5.5 0 1 0-.708.708L9.243 9.95H6.475a.5.5 0 1 0 0 1h3.975a.5.5 0 0 0 .5-.5V6.475a.5.5 0 1 0-1 0v2.768L5.854 5.146z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 379 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-right-square-fill" viewBox="0 0 16 16"> | ||||
|   <path d="M14 16a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12zM5.904 5.197 10 9.293V6.525a.5.5 0 0 1 1 0V10.5a.5.5 0 0 1-.5.5H6.525a.5.5 0 0 1 0-1h2.768L5.197 5.904a.5.5 0 0 1 .707-.707z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 365 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-right-square" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm5.854 3.146a.5.5 0 1 0-.708.708L9.243 9.95H6.475a.5.5 0 1 0 0 1h3.975a.5.5 0 0 0 .5-.5V6.475a.5.5 0 1 0-1 0v2.768L5.854 5.146z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 453 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-right" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M14 13.5a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1 0-1h4.793L2.146 2.854a.5.5 0 1 1 .708-.708L13 12.293V7.5a.5.5 0 0 1 1 0v6z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 289 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-short" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M8 4a.5.5 0 0 1 .5.5v5.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 1 1 .708-.708L7.5 10.293V4.5A.5.5 0 0 1 8 4z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 314 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-square-fill" viewBox="0 0 16 16"> | ||||
|   <path d="M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v5.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 1 1 .708-.708L7.5 10.293V4.5a.5.5 0 0 1 1 0z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 359 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-square" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm8.5 2.5a.5.5 0 0 0-1 0v5.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V4.5z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 444 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-up" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M11.5 15a.5.5 0 0 0 .5-.5V2.707l3.146 3.147a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L11 2.707V14.5a.5.5 0 0 0 .5.5zm-7-14a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L4 13.293V1.5a.5.5 0 0 1 .5-.5z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 457 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M8 1a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L7.5 13.293V1.5A.5.5 0 0 1 8 1z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 309 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-left-circle-fill" viewBox="0 0 16 16"> | ||||
|   <path d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.5 7.5a.5.5 0 0 1 0 1H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H11.5z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 320 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-left-circle" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-4.5-.5a.5.5 0 0 1 0 1H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H11.5z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 370 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-left-right" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M1 11.5a.5.5 0 0 0 .5.5h11.793l-3.147 3.146a.5.5 0 0 0 .708.708l4-4a.5.5 0 0 0 0-.708l-4-4a.5.5 0 0 0-.708.708L13.293 11H1.5a.5.5 0 0 0-.5.5zm14-7a.5.5 0 0 1-.5.5H2.707l3.147 3.146a.5.5 0 1 1-.708.708l-4-4a.5.5 0 0 1 0-.708l4-4a.5.5 0 1 1 .708.708L2.707 4H14.5a.5.5 0 0 1 .5.5z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 453 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-left-short" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M12 8a.5.5 0 0 1-.5.5H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H11.5a.5.5 0 0 1 .5.5z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 314 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-left-square-fill" viewBox="0 0 16 16"> | ||||
|   <path d="M16 14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12zm-4.5-6.5H5.707l2.147-2.146a.5.5 0 1 0-.708-.708l-3 3a.5.5 0 0 0 0 .708l3 3a.5.5 0 0 0 .708-.708L5.707 8.5H11.5a.5.5 0 0 0 0-1z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 362 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-left-square" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm11.5 5.5a.5.5 0 0 1 0 1H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H11.5z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 445 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-left" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M15 8a.5.5 0 0 0-.5-.5H2.707l3.147-3.146a.5.5 0 1 0-.708-.708l-4 4a.5.5 0 0 0 0 .708l4 4a.5.5 0 0 0 .708-.708L2.707 8.5H14.5A.5.5 0 0 0 15 8z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 311 B | 
| @@ -0,0 +1,4 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-repeat" viewBox="0 0 16 16"> | ||||
|   <path d="M11.534 7h3.932a.25.25 0 0 1 .192.41l-1.966 2.36a.25.25 0 0 1-.384 0l-1.966-2.36a.25.25 0 0 1 .192-.41zm-11 2h3.932a.25.25 0 0 0 .192-.41L2.692 6.23a.25.25 0 0 0-.384 0L.342 8.59A.25.25 0 0 0 .534 9z"/> | ||||
|   <path fill-rule="evenodd" d="M8 3c-1.552 0-2.94.707-3.857 1.818a.5.5 0 1 1-.771-.636A6.002 6.002 0 0 1 13.917 7H12.9A5.002 5.002 0 0 0 8 3zM3.1 9a5.002 5.002 0 0 0 8.757 2.182.5.5 0 1 1 .771.636A6.002 6.002 0 0 1 2.083 9H3.1z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 582 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-return-left" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M14.5 1.5a.5.5 0 0 1 .5.5v4.8a2.5 2.5 0 0 1-2.5 2.5H2.707l3.347 3.346a.5.5 0 0 1-.708.708l-4.2-4.2a.5.5 0 0 1 0-.708l4-4a.5.5 0 1 1 .708.708L2.707 8.3H12.5A1.5 1.5 0 0 0 14 6.8V2a.5.5 0 0 1 .5-.5z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 373 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-return-right" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M1.5 1.5A.5.5 0 0 0 1 2v4.8a2.5 2.5 0 0 0 2.5 2.5h9.793l-3.347 3.346a.5.5 0 0 0 .708.708l4.2-4.2a.5.5 0 0 0 0-.708l-4-4a.5.5 0 0 0-.708.708L13.293 8.3H3.5A1.5 1.5 0 0 1 2 6.8V2a.5.5 0 0 0-.5-.5z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 372 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-right-circle-fill" viewBox="0 0 16 16"> | ||||
|   <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 322 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-right-circle" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 372 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-right-short" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M4 8a.5.5 0 0 1 .5-.5h5.793L8.146 5.354a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.293 8.5H4.5A.5.5 0 0 1 4 8z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 316 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-right-square-fill" viewBox="0 0 16 16"> | ||||
|   <path d="M0 14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v12zm4.5-6.5h5.793L8.146 5.354a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.293 8.5H4.5a.5.5 0 0 1 0-1z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 361 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-right-square" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm4.5 5.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 446 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-right" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M1 8a.5.5 0 0 1 .5-.5h11.793l-3.147-3.146a.5.5 0 0 1 .708-.708l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 0 1-.708-.708L13.293 8.5H1.5A.5.5 0 0 1 1 8z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 312 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-through-heart-fill" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M2.854 15.854A.5.5 0 0 1 2 15.5V14H.5a.5.5 0 0 1-.354-.854l1.5-1.5A.5.5 0 0 1 2 11.5h1.793l3.103-3.104a.5.5 0 1 1 .708.708L4.5 12.207V14a.5.5 0 0 1-.146.354l-1.5 1.5ZM16 3.5a.5.5 0 0 1-.854.354L14 2.707l-1.006 1.006c.236.248.44.531.6.845.562 1.096.585 2.517-.213 4.092-.793 1.563-2.395 3.288-5.105 5.08L8 13.912l-.276-.182A23.825 23.825 0 0 1 5.8 12.323L8.31 9.81a1.5 1.5 0 0 0-2.122-2.122L3.657 10.22a8.827 8.827 0 0 1-1.039-1.57c-.798-1.576-.775-2.997-.213-4.093C3.426 2.565 6.18 1.809 8 3.233c1.25-.98 2.944-.928 4.212-.152L13.292 2 12.147.854A.5.5 0 0 1 12.5 0h3a.5.5 0 0 1 .5.5v3Z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 769 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-through-heart" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M2.854 15.854A.5.5 0 0 1 2 15.5V14H.5a.5.5 0 0 1-.354-.854l1.5-1.5A.5.5 0 0 1 2 11.5h1.793l.53-.53c-.771-.802-1.328-1.58-1.704-2.32-.798-1.575-.775-2.996-.213-4.092C3.426 2.565 6.18 1.809 8 3.233c1.25-.98 2.944-.928 4.212-.152L13.292 2 12.147.854A.5.5 0 0 1 12.5 0h3a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.854.354L14 2.707l-1.006 1.006c.236.248.44.531.6.845.562 1.096.585 2.517-.213 4.092-.793 1.563-2.395 3.288-5.105 5.08L8 13.912l-.276-.182a21.86 21.86 0 0 1-2.685-2.062l-.539.54V14a.5.5 0 0 1-.146.354l-1.5 1.5Zm2.893-4.894A20.419 20.419 0 0 0 8 12.71c2.456-1.666 3.827-3.207 4.489-4.512.679-1.34.607-2.42.215-3.185-.817-1.595-3.087-2.054-4.346-.761L8 4.62l-.358-.368c-1.259-1.293-3.53-.834-4.346.761-.392.766-.464 1.845.215 3.185.323.636.815 1.33 1.519 2.065l1.866-1.867a.5.5 0 1 1 .708.708L5.747 10.96Z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 977 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-up-circle-fill" viewBox="0 0 16 16"> | ||||
|   <path d="M16 8A8 8 0 1 0 0 8a8 8 0 0 0 16 0zm-7.5 3.5a.5.5 0 0 1-1 0V5.707L5.354 7.854a.5.5 0 1 1-.708-.708l3-3a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 5.707V11.5z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 320 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-up-circle" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-7.5 3.5a.5.5 0 0 1-1 0V5.707L5.354 7.854a.5.5 0 1 1-.708-.708l3-3a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 5.707V11.5z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 369 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-up-left-circle-fill" viewBox="0 0 16 16"> | ||||
|   <path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-5.904 2.803a.5.5 0 1 0 .707-.707L6.707 6h2.768a.5.5 0 1 0 0-1H5.5a.5.5 0 0 0-.5.5v3.975a.5.5 0 0 0 1 0V6.707l4.096 4.096z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 323 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-up-left-circle" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-5.904 2.803a.5.5 0 1 0 .707-.707L6.707 6h2.768a.5.5 0 1 0 0-1H5.5a.5.5 0 0 0-.5.5v3.975a.5.5 0 0 0 1 0V6.707l4.096 4.096z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 372 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-up-left-square-fill" viewBox="0 0 16 16"> | ||||
|   <path d="M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm8.096 10.803L6 6.707v2.768a.5.5 0 0 1-1 0V5.5a.5.5 0 0 1 .5-.5h3.975a.5.5 0 1 1 0 1H6.707l4.096 4.096a.5.5 0 1 1-.707.707z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 359 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-up-left-square" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm10.096 8.803a.5.5 0 1 0 .707-.707L6.707 6h2.768a.5.5 0 1 0 0-1H5.5a.5.5 0 0 0-.5.5v3.975a.5.5 0 0 0 1 0V6.707l4.096 4.096z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 446 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-up-left" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M2 2.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1H3.707l10.147 10.146a.5.5 0 0 1-.708.708L3 3.707V8.5a.5.5 0 0 1-1 0v-6z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 284 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-up-right-circle-fill" viewBox="0 0 16 16"> | ||||
|   <path d="M0 8a8 8 0 1 0 16 0A8 8 0 0 0 0 8zm5.904 2.803a.5.5 0 1 1-.707-.707L9.293 6H6.525a.5.5 0 1 1 0-1H10.5a.5.5 0 0 1 .5.5v3.975a.5.5 0 0 1-1 0V6.707l-4.096 4.096z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 324 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-up-right-circle" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.854 10.803a.5.5 0 1 1-.708-.707L9.243 6H6.475a.5.5 0 1 1 0-1h3.975a.5.5 0 0 1 .5.5v3.975a.5.5 0 1 1-1 0V6.707l-4.096 4.096z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 376 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-up-right-square-fill" viewBox="0 0 16 16"> | ||||
|   <path d="M14 0a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12zM5.904 10.803 10 6.707v2.768a.5.5 0 0 0 1 0V5.5a.5.5 0 0 0-.5-.5H6.525a.5.5 0 1 0 0 1h2.768l-4.096 4.096a.5.5 0 0 0 .707.707z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 363 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-up-right-square" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm5.854 8.803a.5.5 0 1 1-.708-.707L9.243 6H6.475a.5.5 0 1 1 0-1h3.975a.5.5 0 0 1 .5.5v3.975a.5.5 0 1 1-1 0V6.707l-4.096 4.096z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 449 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-up-right" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M14 2.5a.5.5 0 0 0-.5-.5h-6a.5.5 0 0 0 0 1h4.793L2.146 13.146a.5.5 0 0 0 .708.708L13 3.707V8.5a.5.5 0 0 0 1 0v-6z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 287 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-up-short" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M8 12a.5.5 0 0 0 .5-.5V5.707l2.146 2.147a.5.5 0 0 0 .708-.708l-3-3a.5.5 0 0 0-.708 0l-3 3a.5.5 0 1 0 .708.708L7.5 5.707V11.5a.5.5 0 0 0 .5.5z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 315 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-up-square-fill" viewBox="0 0 16 16"> | ||||
|   <path d="M2 16a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2zm6.5-4.5V5.707l2.146 2.147a.5.5 0 0 0 .708-.708l-3-3a.5.5 0 0 0-.708 0l-3 3a.5.5 0 1 0 .708.708L7.5 5.707V11.5a.5.5 0 0 0 1 0z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 358 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-up-square" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm8.5 9.5a.5.5 0 0 1-1 0V5.707L5.354 7.854a.5.5 0 1 1-.708-.708l3-3a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 5.707V11.5z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 442 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-up" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M8 15a.5.5 0 0 0 .5-.5V2.707l3.146 3.147a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L7.5 2.707V14.5a.5.5 0 0 0 .5.5z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 309 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrows-angle-contract" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M.172 15.828a.5.5 0 0 0 .707 0l4.096-4.096V14.5a.5.5 0 1 0 1 0v-3.975a.5.5 0 0 0-.5-.5H1.5a.5.5 0 0 0 0 1h2.768L.172 15.121a.5.5 0 0 0 0 .707zM15.828.172a.5.5 0 0 0-.707 0l-4.096 4.096V1.5a.5.5 0 1 0-1 0v3.975a.5.5 0 0 0 .5.5H14.5a.5.5 0 0 0 0-1h-2.768L15.828.879a.5.5 0 0 0 0-.707z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 463 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrows-angle-expand" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M5.828 10.172a.5.5 0 0 0-.707 0l-4.096 4.096V11.5a.5.5 0 0 0-1 0v3.975a.5.5 0 0 0 .5.5H4.5a.5.5 0 0 0 0-1H1.732l4.096-4.096a.5.5 0 0 0 0-.707zm4.344-4.344a.5.5 0 0 0 .707 0l4.096-4.096V4.5a.5.5 0 1 0 1 0V.525a.5.5 0 0 0-.5-.5H11.5a.5.5 0 0 0 0 1h2.768l-4.096 4.096a.5.5 0 0 0 0 .707z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 462 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrows-collapse" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M1 8a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13A.5.5 0 0 1 1 8zm7-8a.5.5 0 0 1 .5.5v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L7.5 4.293V.5A.5.5 0 0 1 8 0zm-.5 11.707-1.146 1.147a.5.5 0 0 1-.708-.708l2-2a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 11.707V15.5a.5.5 0 0 1-1 0v-3.793z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 499 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrows-expand" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M1 8a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13A.5.5 0 0 1 1 8zM7.646.146a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 1.707V5.5a.5.5 0 0 1-1 0V1.707L6.354 2.854a.5.5 0 1 1-.708-.708l2-2zM8 10a.5.5 0 0 1 .5.5v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 0 1 .708-.708L7.5 14.293V10.5A.5.5 0 0 1 8 10z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 498 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrows-fullscreen" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M5.828 10.172a.5.5 0 0 0-.707 0l-4.096 4.096V11.5a.5.5 0 0 0-1 0v3.975a.5.5 0 0 0 .5.5H4.5a.5.5 0 0 0 0-1H1.732l4.096-4.096a.5.5 0 0 0 0-.707zm4.344 0a.5.5 0 0 1 .707 0l4.096 4.096V11.5a.5.5 0 1 1 1 0v3.975a.5.5 0 0 1-.5.5H11.5a.5.5 0 0 1 0-1h2.768l-4.096-4.096a.5.5 0 0 1 0-.707zm0-4.344a.5.5 0 0 0 .707 0l4.096-4.096V4.5a.5.5 0 1 0 1 0V.525a.5.5 0 0 0-.5-.5H11.5a.5.5 0 0 0 0 1h2.768l-4.096 4.096a.5.5 0 0 0 0 .707zm-4.344 0a.5.5 0 0 1-.707 0L1.025 1.732V4.5a.5.5 0 0 1-1 0V.525a.5.5 0 0 1 .5-.5H4.5a.5.5 0 0 1 0 1H1.732l4.096 4.096a.5.5 0 0 1 0 .707z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 730 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrows-move" viewBox="0 0 16 16"> | ||||
|   <path fill-rule="evenodd" d="M7.646.146a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 1.707V5.5a.5.5 0 0 1-1 0V1.707L6.354 2.854a.5.5 0 1 1-.708-.708l2-2zM8 10a.5.5 0 0 1 .5.5v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 0 1 .708-.708L7.5 14.293V10.5A.5.5 0 0 1 8 10zM.146 8.354a.5.5 0 0 1 0-.708l2-2a.5.5 0 1 1 .708.708L1.707 7.5H5.5a.5.5 0 0 1 0 1H1.707l1.147 1.146a.5.5 0 0 1-.708.708l-2-2zM10 8a.5.5 0 0 1 .5-.5h3.793l-1.147-1.146a.5.5 0 0 1 .708-.708l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L14.293 8.5H10.5A.5.5 0 0 1 10 8z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 706 B | 
| @@ -0,0 +1,3 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-aspect-ratio-fill" viewBox="0 0 16 16"> | ||||
|   <path d="M0 12.5v-9A1.5 1.5 0 0 1 1.5 2h13A1.5 1.5 0 0 1 16 3.5v9a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 12.5zM2.5 4a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 1 0V5h2.5a.5.5 0 0 0 0-1h-3zm11 8a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-1 0V11h-2.5a.5.5 0 0 0 0 1h3z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 391 B | 
| @@ -0,0 +1,4 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-aspect-ratio" viewBox="0 0 16 16"> | ||||
|   <path d="M0 3.5A1.5 1.5 0 0 1 1.5 2h13A1.5 1.5 0 0 1 16 3.5v9a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 12.5v-9zM1.5 3a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-13z"/> | ||||
|   <path d="M2 4.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1H3v2.5a.5.5 0 0 1-1 0v-3zm12 7a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1 0-1H13V8.5a.5.5 0 0 1 1 0v3z"/> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 484 B |