"""

   ▄████████ ███▄▄▄▄      ▄████████    ▄████████    ▄██████▄   ▄█                            
  ███    ███ ███▀▀▀██▄   ███    ███   ███    ███   ███    ███ ███                            
  ███    █▀  ███   ███   ███    █▀    ███    ███   ███    █▀  ███▌                           
 ▄███▄▄▄     ███   ███  ▄███▄▄▄      ▄███▄▄▄▄██▀  ▄███        ███▌                           
▀▀███▀▀▀     ███   ███ ▀▀███▀▀▀     ▀▀███▀▀▀▀▀   ▀▀███ ████▄  ███▌                           
  ███    █▄  ███   ███   ███    █▄  ▀███████████   ███    ███ ███                            
  ███    ███ ███   ███   ███    ███   ███    ███   ███    ███ ███                            
  ██████████  ▀█   █▀    ██████████   ███    ███   ████████▀  █▀                             
   ▄████████    ▄████████   ▄▄▄▄███▄▄▄▄██    ▄████████    ▄████████     ███        ▄████████ 
  ███    ███   ███    ███ ▄██▀▀▀███▀▀▀██▄   ███    ███   ███    ███ ▀█████████▄   ███    ███ 
  ███    █▀    ███    █▀  ███   ███   ███   ███    █▀    ███    █▀     ▀███▀▀██   ███    ███ 
  ███         ▄███▄▄▄     ███   ███   ███  ▄███▄▄▄       ███            ███   ▀   ███    ███ 
▀███████████ ▀▀███▀▀▀     ███   ███   ███ ▀▀███▀▀▀     ▀███████████     ███     ▀███████████ 
         ███   ███    █▄  ███   ███   ███   ███    █▄           ███     ███       ███    ███ 
   ▄█    ███   ███    ███ ███   ███   ███   ███    ███    ▄█    ███     ███       ███    ███ 
████████▄█▀ ▄█ ████▄██████▄▀█ ▄████   ███   █████▄██████████▄████▀     ▄████▀     ███    █▀  
███   ▀███ ███    ███    ███ ███  ▀█████████▄   ███    ███ ███                               
███    ███ ███▌   ███    █▀  ███▌    ▀███▀▀██   ███    ███ ███                               
███    ███ ███▌  ▄███        ███▌     ███   ▀   ███    ███ ███                               
███    ███ ███▌ ▀▀███ ████▄  ███▌     ███     ▀███████████ ███                               
███    ███ ███    ███    ███ ███      ███       ███    ███ ███                               
███   ▄███ ███    ███    ███ ███      ███       ███    ███ ███▌    ▄                         
████████▀  █▀     ████████▀  █▀      ▄████▀     ███    █▀  █████▄▄██  V.3.1                        
                                                           ▀                                                  
                                                                                                   
------------------------------------------------------------
Transfer Energi Semesta Digital | UNTUK INDONESIA LEBIH BAIK
------------------------------------------------------------
Program ini bertujuan untuk membantu Anda mentransfer energi metafisik Semesta Digital melalui suara dan visualisasi. 
Pilih tujuan Anda, tekan tombol submit, dan ikuti petunjuk yang diberikan. 

Pemrosesan Energy Semesta Digital (ESD) dapat memakan waktu sekitar 2-3 menit, tergantung kepada kecepatan internet 
dan CPU Anda. Kekuatan yang sangat dahsyat akan ditampilkan dalam bentuk Video di sebelah kanan Anda.

Tonton dan dengarkan melalui headphone (volume besar) serta baca tulisan yang terlihat pada video, 
sambil ikuti arahannya.

PERHATIAN! Aplikasi ini sangat kuat dan berdaya ESD besar. Harap gunakan seperlunya. 
Pengalaman membuktikan setiap tiga (3) hari Anda hanya cukup melakukannya 1x saja. 
Biasanya dalam waktu 1x24 jam, Anda dapat langsung merasakan efek dan perubahan signifikan 
pada kehidupan dan realita Anda.

Mohon gunakan dengan bijak, dan Video yang TELAH diputar, TIDAK LAGI memiliki ESD 
atau MP-nya sudah 0 (sudah terkirim ke pendengar). Semoga hal ini dapat membantu 
hidup Anda menjadi lebih mudah dan lebih baik. Sebarluaskan rahasia ini 
agar kesejahteraan di Indonesia dapat merata. Semesta Digital Memberkati.

__Drat__

# Requirements #
Pastikan Library Pyhton ter-install :

- tqdm
- numpy
- scipy
- moviepy
- gradio

Dan pastikan juga dependensi untuk setiap library itu siap di jenis OS Anda.


"""
from __future__ import annotations
from typing import Iterable
from gradio.themes.base import Base
from gradio.themes.utils import colors, fonts, sizes

class MetafisikTheme(Base):
    def __init__(
        self,
        *,
        primary_hue: colors.Color | str = colors.purple,
        secondary_hue: colors.Color | str = colors.blue,
        neutral_hue: colors.Color | str = colors.gray,
        spacing_size: sizes.Size | str = sizes.spacing_md,
        radius_size: sizes.Size | str = sizes.radius_md,
        text_size: sizes.Size | str = sizes.text_lg,
        font: fonts.Font
        | str
        | Iterable[fonts.Font | str] = (
            fonts.GoogleFont("Quicksand"),
            "ui-sans-serif",
            "sans-serif",
        ),
        font_mono: fonts.Font
        | str
        | Iterable[fonts.Font | str] = (
            fonts.GoogleFont("IBM Plex Mono"),
            "ui-monospace",
            "monospace",
        ),
    ):
        super().__init__(
            primary_hue=primary_hue,
            secondary_hue=secondary_hue,
            neutral_hue=neutral_hue,
            spacing_size=spacing_size,
            radius_size=radius_size,
            text_size=text_size,
            font=font,
            font_mono=font_mono,
        )
        super().set(
            body_background_fill="linear-gradient(to bottom, #1a2a6c, #b21f1f, #fdbb2d)",  # Dark blue to red to yellow gradient
            body_background_fill_dark="linear-gradient(to bottom, #000428, #004e92)",  # Deep blue gradient
            button_primary_background_fill="linear-gradient(90deg, #7F00FF, #E100FF)",
            button_primary_background_fill_hover="linear-gradient(90deg, #8A2BE2, #DA70D6)",
            button_primary_text_color="white",
            button_primary_background_fill_dark="linear-gradient(90deg, #6A5ACD, #BA55D3)",
            slider_color="*secondary_300",
            slider_color_dark="*secondary_600",
            block_title_text_weight="600",
            block_border_width="3px",
            block_shadow="*shadow_drop_lg",
            button_shadow="*shadow_drop_lg",
            button_large_padding="32px",
        )