"Rigid, crystal-clear, unbreakable — as flawless as a sapphire" Silicon-Native | Dual-Mode (Draft & Seal) | AI-First & Python-Interop Programming Language
See the code
"Rigid, crystal-clear, unbreakable — as flawless as a sapphire"
Silicon-Native | Dual-Mode (Draft & Seal) | AI-First & Python-Interop Programming Language
🇬🇧 English | 🇺🇿 O'zbekcha versiya
Zafira is a modern Silicon-Native & Dual-Mode programming language designed specifically for the generative AI era. It communicates directly with silicon hardware (CPU, GPU, NPU) at the language grammar level while bridging high developer ergonomics with C/Rust-grade performance.
Historically, software engineers have been forced to make a painful compromise:
Zafira eliminates this tradeoff through its Dual-Mode Execution Architecture:
draft Mode: Write freeform, dynamic code for ultra-fast prototyping without cumbersome boilerplate or strict annotations.seal Mode: When preparing for production, seal functions with strict types and formal where invariants that are statically proven at compile-time before code ever runs.import py.torch, import py.pandas, import py.numpy) with zero FFI glue.📚 Official Documentation & Flagship Projects:
| Feature | Python 🐍 | Rust 🦀 | C++ ⚙️ | Zafira 🔷 (v1.0.0 LTS) |
|---|---|---|---|---|
| Developer Ergonomics & Simplicity | Very High | Steep curve | Complex | Very High (Modern & Expressive) |
| Execution Performance | 1x (Base) | 50–100x | 50–100x | 50–100x (seal & hardware execution) |
| Dual-Mode (Draft vs Seal) | ❌ No | ❌ Strict only | ❌ Strict only | ✅ Native (draft dynamic, seal verified) |
Formal Invariants (where) | ❌ No | ⚠️ External macros | ❌ No | ✅ Built-in static verification at grammar level |
| Asynchronous Concurrency | Add-on asyncio | Tokio runtime | std::coroutine | ✅ Core native async fn / await |
| Exception Handling | try/except | Result<T, E> | try/catch | ✅ try / catch / throw / finally |
| Struct OOP Methods | class | impl Struct | class / struct | ✅ impl Struct { fn method(self) } |
| Pattern Matching | match/case | match | switch | ✅ match value { 1 => ..., 3..10 => ..., _ => ... } |
| Native C FFI | ctypes / cffi | extern "C" | Native | ✅ std.ffi (Dynamic .dll / .so libraries) |
| Built-in Cryptography & Regex | hashlib, re | External crates | openssl, std::regex | ✅ std.crypto & std.regex built into stdlib |
| Multi-File Local Modules | import | mod / use | #include | ✅ import "./module.zf" as m (Cached & Cycle-safe) |
Package Manager (zpm) | pip | cargo | conan/vcpkg | ✅ zafira install, zafira add (zafira.lock) |
| AOT Standalone Binary Packager | PyInstaller | cargo build | CMake / gcc | ✅ zafira pack (Single self-contained .exe) |
| Python Ecosystem Bridge | Native | ❌ Heavy FFI | ❌ Complex C-API | ✅ import py.torch (Zero glue required) |
| Silicon Directives | Driver wrapper | CUDA crates | OpenCL / CUDA | ✅ run @gpu, run @npu, run @auto |
| Memory & Type Safety Guarantee | GC (slow) | Borrow Checker | Manual (unsafe) | ✅ Static inference + verified invariants |
| Feature | v0.1 | v0.3 | v0.5 | v0.7 | v0.8 | v1.0.0 (Grand LTS) |
|---|---|---|---|---|---|---|
| Lexer & Pratt Parser & AST | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ Production |
| Tree-walking Interpreter & REPL | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ Production |
Dual-Mode (fn draft / seal) & where | Initial | ✅ Full | ✅ | ✅ | ✅ | ✅ Production |
Python Interop (import py.*) | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ Production |
| Static Type Checker & Proof Engine | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ Production |
VS Code Syntax Extension (.vsix) | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ Production |
C Transpiler & Standalone Binary (.exe) | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ Production |
| Standard Library (All 13 Modules) | ❌ | 4 mods | 6 mods | 9 mods | 12 mods | ✅ 13 Complete Modules |
Package Manager (zpm: init, run, test, build) | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ Production |
Silicon AI & Tensor Engine (std.ai, @gpu) | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ Production |
Web Suite (std.net, std.json, HTTP Server) | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ Production |
Async Concurrency (async fn, await) | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ Production |
| Web Interactive Playground Studio | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ Production |
Exception Handling (try/catch/finally) | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ Production |
File System Engine (std.fs) & Local Modules | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ Production |
Struct Methods (impl) & Pattern Matching | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ Production |
Cryptography (std.crypto) & std.regex | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ Production |
Native C FFI (std.ffi: load C libraries) | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ Production |
Remote ZPM Registry (zafira install, zafira add) | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ v1.0.0 |
Single-Binary Packager (zafira pack) | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ v1.0.0 |
git clone https://github.com/salomh46-rgb/Zafira-.git
cd Zafira-
Zafira runs on Python 3.11+ (CPython or PyPy):
python --version
Execute the complete multi-module showcase exercising every single language capability:
py -3 -X utf8 zafira.py run examples/v1_showcase.zf
Fire up the lightning-fast Zafira terminal REPL:
py -3 -X utf8 zafira.py repl
zf> let name = "World"
zf> "Hello, " + name + "!"
=> Hello, World!
zf> 2 ** 10
=> 1024
Launch the dark-mode obsidian web studio directly in your browser:
py -3 -X utf8 zafira.py playground
let balance = 1000.0 // Mutable variable
const MAX_RETRIES = 5 // Immutable constant (compile-time protected)
// Sealed function with static invariant guarantee:
seal fn calculate_commission(amount: Float, rate: Float) -> Float
where amount > 0.0 and rate >= 0.0 // If violated, fails statically!
{
return amount * rate
}
impl Methods (OOP)struct User {
id: String,
username: String,
score: Int
}
impl User {
fn introduce(self) {
return "User: " + self.username + " (Score: " + String(self.score) + ")"
}
fn add_score(self, points: Int) {
self.score = self.score + points
return self.score
}
}
let user = User("uuid-123", "jasper", 100)
user.add_score(50)
print(user.introduce()) // "User: jasper (Score: 150)"
match =>)let score = 85
let grade = match score {
90..101 => "A+",
80..90 => "A",
70..80 => "B",
60..70 => "C",
_ => "F"
}
print("Final Grade: " + grade)
async fn fetch_telemetry(sensor_id: Int) {
// Simulates non-blocking network I/O
return "Telemetry Data for Sensor #" + String(sensor_id)
}
// Kick off tasks concurrently across worker threads:
let t1 = fetch_telemetry(101)
let t2 = fetch_telemetry(102)
// Await values without blocking the event loop:
print(await t1)
print(await t2)
@gpu, @npu, @auto) & Tensorsimport std.ai
run @auto {
let v1 = ai.tensor([0.2, 0.4, 0.8, 1.0])
let v2 = ai.tensor([0.2, 0.4, 0.8, 1.0])
// Dot product on hardware tensor core:
let similarity = ai.similarity(v1, v2)
print("Cosine Similarity: " + String(similarity)) // 1.0
}
try / catch / throw / finally)try {
let denominator = 0
if denominator == 0 {
throw "Division by zero intercepted!"
}
} catch (error) {
print("Caught safely: " + error)
} finally {
print("Audit log closed.")
}
std.fs) and Cryptography (std.crypto)import std.fs
import std.crypto
let secret_token = crypto.uuid()
fs.write_text("token.txt", "TOKEN=" + secret_token)
if fs.exists("token.txt") {
let content = fs.read_text("token.txt")
print("Saved: " + content)
fs.remove("token.txt")
}
std.ffi)Call functions directly from shared libraries (.dll, .so, .dylib) without writing C headers:
import std.ffi
let libc = ffi.load("libc")
let absolute_val = libc.call("abs", [-123], "int")
print("Absolute value from C: " + String(absolute_val)) // 123
Zafira Source Code (.zf)
│
▼
┌───────────────────────┐
│ Lexer / Scanner │ ───► 50+ Tokens (UTF-8, Comments, Directives)
└───────────────────────┘
│
▼
┌───────────────────────┐
│ Pratt AST Parser │ ───► Abstract Syntax Tree (Precedence-aware)
└───────────────────────┘
│
▼
┌───────────────────────┐
│ Static Type Checker │ ───► Seal Verification & Where Proofs
│ (Seal Guard) │ • Param/Return match & Invariants
└───────────────────────┘ • Const checks & Typo suggestions
│
┌───────────────────┴───────────────────┐
▼ ▼
┌───────────────────────┐ ┌───────────────────────┐
│ Tree-Walk Interpreter │ │ AOT / C Compiler │
│ (Draft Mode) │ │ (Seal Mode) │
└───────────────────────┘ └───────────────────────┘
│ │
▼ ▼
┌───────────────────────┐ ┌───────────────────────┐
│ Python Interop Bridge │ │ Standalone Executable │
│ (py.torch, py.pandas) │ │ (myapp.exe / ELF) │
└───────────────────────┘ └───────────────────────┘
│ │
└───────────────────┬───────────────────┘
▼
┌───────────────────────────────────┐
│ Hardware Engines │
│ CPU Cores │ GPU │ NPU Core │
└───────────────────────────────────┘
zpm)Zafira includes a comprehensive developer toolchain right out of the box:
| Command | Description |
|---|---|
python zafira.py run <file.zf | dir> | Execute a script or project entrypoint |
python zafira.py repl | Launch interactive REPL environment |
python zafira.py init <name> | Scaffold a new project with zafira.json |
python zafira.py test [dir] | Auto-discover and run all tests/*.zf test suites |
python zafira.py build [dir] | Transpile project to clean, self-contained C99 code |
python zafira.py pack [dir] -o <app.exe> | Bundle entire project into a single native binary |
python zafira.py install [dir] | Install all dependencies declared in zafira.json |
python zafira.py add <pkg> [dir] | Add a new dependency and generate zafira.lock |
python zafira.py compile <file.zf> | Compile file directly to binary using local GCC/Clang |
python zafira.py transpile <file.zf> | Emit pure C99 code without invoking a C compiler |
python zafira.py tokens <file.zf> | Inspect lexer token stream (debug utility) |
python zafira.py ast <file.zf> | Print pretty-printed Abstract Syntax Tree |
python zafira.py playground | Open local Dark-mode Obsidian Web Studio in browser |
Official syntax highlighting, bracket matching, and code snippets are available for VS Code:
vscode-zafira/zafira-lang-0.1.0.vsix.Ctrl + Shift + P -> "Extensions: Install from VSIX..."zafira-lang-0.1.0.vsix and enjoy first-class .zf syntax highlighting!For more details, see VS Code Extension Installation Guide.
The language engine enforces Zero-Regression Doubt-Driven Development. Every commit is backed by automated tests:
# Run the entire test suite (333 tests):
py -3 -m unittest discover tests
Output:
......................................................................................
Ran 333 tests in 59.812s
OK (100% Passing, 0 errors, 0 regressions)
We welcome open-source contributions from developers worldwide!
git checkout -b feature/cutting-edge-feature
py -3 -m unittest discover tests
git commit -m "feat: added new silicon tensor operator"
Zafira is open-source software licensed under the MIT License.
Established in 2026 | Tashkent, Uzbekistan 🇺🇿
"Rigid, crystal-clear, unbreakable — as flawless as a sapphire" Silicon-Native | Dual-Mode (Draft & Seal) | AI-First & Python-Interop Programming Language
See the code
"Rigid, crystal-clear, unbreakable — as flawless as a sapphire"
Silicon-Native | Dual-Mode (Draft & Seal) | AI-First & Python-Interop Programming Language
🇬🇧 English | 🇺🇿 O'zbekcha versiya
Zafira is a modern Silicon-Native & Dual-Mode programming language designed specifically for the generative AI era. It communicates directly with silicon hardware (CPU, GPU, NPU) at the language grammar level while bridging high developer ergonomics with C/Rust-grade performance.
Historically, software engineers have been forced to make a painful compromise:
Zafira eliminates this tradeoff through its Dual-Mode Execution Architecture:
draft Mode: Write freeform, dynamic code for ultra-fast prototyping without cumbersome boilerplate or strict annotations.seal Mode: When preparing for production, seal functions with strict types and formal where invariants that are statically proven at compile-time before code ever runs.import py.torch, import py.pandas, import py.numpy) with zero FFI glue.📚 Official Documentation & Flagship Projects:
| Feature | Python 🐍 | Rust 🦀 | C++ ⚙️ | Zafira 🔷 (v1.0.0 LTS) |
|---|---|---|---|---|
| Developer Ergonomics & Simplicity | Very High | Steep curve | Complex | Very High (Modern & Expressive) |
| Execution Performance | 1x (Base) | 50–100x | 50–100x | 50–100x (seal & hardware execution) |
| Dual-Mode (Draft vs Seal) | ❌ No | ❌ Strict only | ❌ Strict only | ✅ Native (draft dynamic, seal verified) |
Formal Invariants (where) | ❌ No | ⚠️ External macros | ❌ No | ✅ Built-in static verification at grammar level |
| Asynchronous Concurrency | Add-on asyncio | Tokio runtime | std::coroutine | ✅ Core native async fn / await |
| Exception Handling | try/except | Result<T, E> | try/catch | ✅ try / catch / throw / finally |
| Struct OOP Methods | class | impl Struct | class / struct | ✅ impl Struct { fn method(self) } |
| Pattern Matching | match/case | match | switch | ✅ match value { 1 => ..., 3..10 => ..., _ => ... } |
| Native C FFI | ctypes / cffi | extern "C" | Native | ✅ std.ffi (Dynamic .dll / .so libraries) |
| Built-in Cryptography & Regex | hashlib, re | External crates | openssl, std::regex | ✅ std.crypto & std.regex built into stdlib |
| Multi-File Local Modules | import | mod / use | #include | ✅ import "./module.zf" as m (Cached & Cycle-safe) |
Package Manager (zpm) | pip | cargo | conan/vcpkg | ✅ zafira install, zafira add (zafira.lock) |
| AOT Standalone Binary Packager | PyInstaller | cargo build | CMake / gcc | ✅ zafira pack (Single self-contained .exe) |
| Python Ecosystem Bridge | Native | ❌ Heavy FFI | ❌ Complex C-API | ✅ import py.torch (Zero glue required) |
| Silicon Directives | Driver wrapper | CUDA crates | OpenCL / CUDA | ✅ run @gpu, run @npu, run @auto |
| Memory & Type Safety Guarantee | GC (slow) | Borrow Checker | Manual (unsafe) | ✅ Static inference + verified invariants |
| Feature | v0.1 | v0.3 | v0.5 | v0.7 | v0.8 | v1.0.0 (Grand LTS) |
|---|---|---|---|---|---|---|
| Lexer & Pratt Parser & AST | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ Production |
| Tree-walking Interpreter & REPL | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ Production |
Dual-Mode (fn draft / seal) & where | Initial | ✅ Full | ✅ | ✅ | ✅ | ✅ Production |
Python Interop (import py.*) | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ Production |
| Static Type Checker & Proof Engine | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ Production |
VS Code Syntax Extension (.vsix) | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ Production |
C Transpiler & Standalone Binary (.exe) | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ Production |
| Standard Library (All 13 Modules) | ❌ | 4 mods | 6 mods | 9 mods | 12 mods | ✅ 13 Complete Modules |
Package Manager (zpm: init, run, test, build) | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ Production |
Silicon AI & Tensor Engine (std.ai, @gpu) | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ Production |
Web Suite (std.net, std.json, HTTP Server) | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ Production |
Async Concurrency (async fn, await) | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ Production |
| Web Interactive Playground Studio | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ Production |
Exception Handling (try/catch/finally) | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ Production |
File System Engine (std.fs) & Local Modules | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ Production |
Struct Methods (impl) & Pattern Matching | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ Production |
Cryptography (std.crypto) & std.regex | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ Production |
Native C FFI (std.ffi: load C libraries) | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ Production |
Remote ZPM Registry (zafira install, zafira add) | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ v1.0.0 |
Single-Binary Packager (zafira pack) | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ v1.0.0 |
git clone https://github.com/salomh46-rgb/Zafira-.git
cd Zafira-
Zafira runs on Python 3.11+ (CPython or PyPy):
python --version
Execute the complete multi-module showcase exercising every single language capability:
py -3 -X utf8 zafira.py run examples/v1_showcase.zf
Fire up the lightning-fast Zafira terminal REPL:
py -3 -X utf8 zafira.py repl
zf> let name = "World"
zf> "Hello, " + name + "!"
=> Hello, World!
zf> 2 ** 10
=> 1024
Launch the dark-mode obsidian web studio directly in your browser:
py -3 -X utf8 zafira.py playground
let balance = 1000.0 // Mutable variable
const MAX_RETRIES = 5 // Immutable constant (compile-time protected)
// Sealed function with static invariant guarantee:
seal fn calculate_commission(amount: Float, rate: Float) -> Float
where amount > 0.0 and rate >= 0.0 // If violated, fails statically!
{
return amount * rate
}
impl Methods (OOP)struct User {
id: String,
username: String,
score: Int
}
impl User {
fn introduce(self) {
return "User: " + self.username + " (Score: " + String(self.score) + ")"
}
fn add_score(self, points: Int) {
self.score = self.score + points
return self.score
}
}
let user = User("uuid-123", "jasper", 100)
user.add_score(50)
print(user.introduce()) // "User: jasper (Score: 150)"
match =>)let score = 85
let grade = match score {
90..101 => "A+",
80..90 => "A",
70..80 => "B",
60..70 => "C",
_ => "F"
}
print("Final Grade: " + grade)
async fn fetch_telemetry(sensor_id: Int) {
// Simulates non-blocking network I/O
return "Telemetry Data for Sensor #" + String(sensor_id)
}
// Kick off tasks concurrently across worker threads:
let t1 = fetch_telemetry(101)
let t2 = fetch_telemetry(102)
// Await values without blocking the event loop:
print(await t1)
print(await t2)
@gpu, @npu, @auto) & Tensorsimport std.ai
run @auto {
let v1 = ai.tensor([0.2, 0.4, 0.8, 1.0])
let v2 = ai.tensor([0.2, 0.4, 0.8, 1.0])
// Dot product on hardware tensor core:
let similarity = ai.similarity(v1, v2)
print("Cosine Similarity: " + String(similarity)) // 1.0
}
try / catch / throw / finally)try {
let denominator = 0
if denominator == 0 {
throw "Division by zero intercepted!"
}
} catch (error) {
print("Caught safely: " + error)
} finally {
print("Audit log closed.")
}
std.fs) and Cryptography (std.crypto)import std.fs
import std.crypto
let secret_token = crypto.uuid()
fs.write_text("token.txt", "TOKEN=" + secret_token)
if fs.exists("token.txt") {
let content = fs.read_text("token.txt")
print("Saved: " + content)
fs.remove("token.txt")
}
std.ffi)Call functions directly from shared libraries (.dll, .so, .dylib) without writing C headers:
import std.ffi
let libc = ffi.load("libc")
let absolute_val = libc.call("abs", [-123], "int")
print("Absolute value from C: " + String(absolute_val)) // 123
Zafira Source Code (.zf)
│
▼
┌───────────────────────┐
│ Lexer / Scanner │ ───► 50+ Tokens (UTF-8, Comments, Directives)
└───────────────────────┘
│
▼
┌───────────────────────┐
│ Pratt AST Parser │ ───► Abstract Syntax Tree (Precedence-aware)
└───────────────────────┘
│
▼
┌───────────────────────┐
│ Static Type Checker │ ───► Seal Verification & Where Proofs
│ (Seal Guard) │ • Param/Return match & Invariants
└───────────────────────┘ • Const checks & Typo suggestions
│
┌───────────────────┴───────────────────┐
▼ ▼
┌───────────────────────┐ ┌───────────────────────┐
│ Tree-Walk Interpreter │ │ AOT / C Compiler │
│ (Draft Mode) │ │ (Seal Mode) │
└───────────────────────┘ └───────────────────────┘
│ │
▼ ▼
┌───────────────────────┐ ┌───────────────────────┐
│ Python Interop Bridge │ │ Standalone Executable │
│ (py.torch, py.pandas) │ │ (myapp.exe / ELF) │
└───────────────────────┘ └───────────────────────┘
│ │
└───────────────────┬───────────────────┘
▼
┌───────────────────────────────────┐
│ Hardware Engines │
│ CPU Cores │ GPU │ NPU Core │
└───────────────────────────────────┘
zpm)Zafira includes a comprehensive developer toolchain right out of the box:
| Command | Description |
|---|---|
python zafira.py run <file.zf | dir> | Execute a script or project entrypoint |
python zafira.py repl | Launch interactive REPL environment |
python zafira.py init <name> | Scaffold a new project with zafira.json |
python zafira.py test [dir] | Auto-discover and run all tests/*.zf test suites |
python zafira.py build [dir] | Transpile project to clean, self-contained C99 code |
python zafira.py pack [dir] -o <app.exe> | Bundle entire project into a single native binary |
python zafira.py install [dir] | Install all dependencies declared in zafira.json |
python zafira.py add <pkg> [dir] | Add a new dependency and generate zafira.lock |
python zafira.py compile <file.zf> | Compile file directly to binary using local GCC/Clang |
python zafira.py transpile <file.zf> | Emit pure C99 code without invoking a C compiler |
python zafira.py tokens <file.zf> | Inspect lexer token stream (debug utility) |
python zafira.py ast <file.zf> | Print pretty-printed Abstract Syntax Tree |
python zafira.py playground | Open local Dark-mode Obsidian Web Studio in browser |
Official syntax highlighting, bracket matching, and code snippets are available for VS Code:
vscode-zafira/zafira-lang-0.1.0.vsix.Ctrl + Shift + P -> "Extensions: Install from VSIX..."zafira-lang-0.1.0.vsix and enjoy first-class .zf syntax highlighting!For more details, see VS Code Extension Installation Guide.
The language engine enforces Zero-Regression Doubt-Driven Development. Every commit is backed by automated tests:
# Run the entire test suite (333 tests):
py -3 -m unittest discover tests
Output:
......................................................................................
Ran 333 tests in 59.812s
OK (100% Passing, 0 errors, 0 regressions)
We welcome open-source contributions from developers worldwide!
git checkout -b feature/cutting-edge-feature
py -3 -m unittest discover tests
git commit -m "feat: added new silicon tensor operator"
Zafira is open-source software licensed under the MIT License.
Established in 2026 | Tashkent, Uzbekistan 🇺🇿