From a6b6185f95b59fad07840eeb755aadbcf70f6fa0 Mon Sep 17 00:00:00 2001 From: mahmoodsht <106068383+mahmoodsht@users.noreply.github.com> Date: Tue, 10 Feb 2026 13:10:46 +0330 Subject: [PATCH] =?UTF-8?q?=D8=AA=D8=BA=DB=8C=DB=8C=D8=B1=D8=A7=D8=AA=20?= =?UTF-8?q?=D8=AC=D8=AF=DB=8C=D8=AF=20=D8=A8=D8=B1=D8=A7=DB=8C=20=D9=86?= =?UTF-8?q?=D9=88=D8=B1=DB=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit برای تغییر بیلد برای شرکت های مختلف باید اسم شرکت را در پروژه جستجو کرد و سپس بر اساس هر بخش همون بخش رو فعال نمود --- app/components/auth/login-form.tsx | 4 +- app/components/auth/login-layout.tsx | 23 +-- app/components/dashboard/d3-image-info.tsx | 133 ++++++++---------- ...{d3-image-info3.tsx => d3-image-info2.tsx} | 2 +- app/components/dashboard/dashboard-home.tsx | 20 +-- app/components/dashboard/header.tsx | 4 +- .../dashboard/interactive-bar-chart.tsx | 108 ++++++++++---- app/components/dashboard/sidebar.tsx | 38 ++++- app/components/ecosystem/network-graph.tsx | 22 +-- app/lib/api.ts | 11 +- app/routes/ecosystem.tsx | 4 +- public/Isolation_Mode - Copy.png | Bin 0 -> 2857 bytes public/Isolation_Mode.png | Bin 0 -> 3655 bytes public/brand.svg | 26 ++-- public/brand3.svg | 53 +++++++ public/brand_11zon.png | Bin 0 -> 1776 bytes public/main-circle.png | Bin 5767 -> 3767 bytes public/main-circle11.png | Bin 0 -> 5767 bytes 18 files changed, 271 insertions(+), 177 deletions(-) rename app/components/dashboard/{d3-image-info3.tsx => d3-image-info2.tsx} (99%) create mode 100644 public/Isolation_Mode - Copy.png create mode 100644 public/Isolation_Mode.png create mode 100644 public/brand3.svg create mode 100644 public/brand_11zon.png create mode 100644 public/main-circle11.png diff --git a/app/components/auth/login-form.tsx b/app/components/auth/login-form.tsx index 2b177d8..fd79ad5 100644 --- a/app/components/auth/login-form.tsx +++ b/app/components/auth/login-form.tsx @@ -212,8 +212,8 @@ export function LoginForm({ onSuccess }: LoginFormProps) { {/* Right Side - Branding */}
-
- Brand Logo { - e.target.style.display = 'none'; - console.log('Image failed to load'); - }} - /> -
+
+ Brand Logo { + e.target.style.display = 'none'; + console.log('Image failed to load'); + }} + /> +
+
diff --git a/app/components/dashboard/d3-image-info.tsx b/app/components/dashboard/d3-image-info.tsx index 572ae7a..f5e81b4 100644 --- a/app/components/dashboard/d3-image-info.tsx +++ b/app/components/dashboard/d3-image-info.tsx @@ -1,6 +1,5 @@ //این فایل مخصوص -//شماتیک آپادانا - +//شماتیک نوری import React from "react"; import { formatNumber } from "~/lib/utils"; @@ -11,10 +10,10 @@ export type CompanyInfo = { costReduction: number; revenue?: number; capacity?: number; - costI: number; - capacityI: number; - revenueI: number; - cost: number | string; + costI : number, + capacityI : number, + revenueI : number, + cost : number | string, }; export type D3ImageInfoProps = { @@ -23,91 +22,80 @@ export type D3ImageInfoProps = { height?: number; }; -const InfoBox = ({ company, style }: { company: CompanyInfo; style: any }) => { - // const hideCapacity = company.name === "واحد 300"; // اگر واحد 300 بود ظرفیت مخفی شود - const hideCapacity = false; +const InfoBox = ({ company, style }: { company: CompanyInfo; style :any }) => { return ( -
+
-
درآمد:
-
{formatNumber(company?.revenue || 0)}
+
هزینه عملیاتی:
+
{formatNumber(company?.cost || 0)}
میلیون ریال
-
هزینه:
- {hideCapacity ? ( -
{formatNumber(company?.cost || 0)}
- ) : ( -
{formatNumber(company?.cost || 0)}
- )} -
میلیون ریال
+
افزایش ظرفیت:
+
{formatNumber(company?.capacity || 0)}
+
تن در سال
- {!hideCapacity && ( -
-
ظرفیت:
-
{formatNumber(company?.capacity || 0)}
-
تن در سال
-
- )}
); }; export function D3ImageInfo({ companies }: D3ImageInfoProps) { - // واحدهای جدید - 4 واحد const sample = [ - { id: "واحد 100", name: "واحد 100", imageUrl: "/abniro.png" }, - { id: "واحد 200", name: "واحد 200", imageUrl: "/besparan.png" }, - { id: "واحد 300", name: "واحد 300", imageUrl: "/khwarazmi.png" }, - { id: "واحد 400", name: "واحد 400", imageUrl: "/faravash1.png" } + { id: "PX", name: "PX", imageUrl: "/abniro.png" }, + { id: "LLTE&HLTE", name: "LLTE&HLTE", imageUrl: "/besparan.png" }, + { id: "BTX", name: "BTX", imageUrl: "/khwarazmi.png" }, + { id: "Utility", name: "Utility", imageUrl: "/faravash1.png" }, + { id: "Reforming", name: "Reforming", imageUrl: "/faravash2.png" }, + { id: "Storage Tank", name: "Storage Tank", imageUrl: "/kimia.png" } ]; - const merged = sample.map(company => { - const found = companies.find(item => item.id === company.id); + const found = companies.find(item => item.id == company.id); return found ? found - : { ...company, cost: 0, capacity: 0, revenue: 0, costReduction: 0, costI: 0, capacityI: 0, revenueI: 0 }; + : { ...company, cost: 0, capacity: 0, revenue: 0 }; }); const displayCompanies = merged; - console.log(displayCompanies); - // موقعیت‌های جدید برای چیدمان لوزی شکل (3 ردیف - 1-2-1) - // گرید 5x4 نگه داشته شده اما موقعیت‌ها تغییر کرده + // Positions inside a 5x4 grid (col, row) + // Layout keeps same visual logic: left/middle/right on two bands with spacing grid around const gridPositions = [ - { col: 2, row: 1, colI: 1, rowI: 1, name: "واحد 100" }, // ردیف اول - ستون اول - { col: 4, row: 1, colI: 5, rowI: 1, name: "واحد 200" }, // ردیف اول - ستون دوم - { col: 2, row: 3, colI: 1, rowI: 3, name: "واحد 300" }, // ردیف دوم - ستون اول - { col: 4, row: 3, colI: 5, rowI: 3, name: "واحد 400" }, // ردیف دوم - ستون دوم + { col: 2, row: 2 , colI : 1 , rowI : 2 , name : "LLTE&HLTE"}, // left - top band + { col: 3, row: 2 , colI : 3 , rowI : 1 , name : "BTX"}, // middle top (image sits in row 2, info box goes to row 1) + { col: 4, row: 2 ,colI : 5 , rowI : 2 , name : "Utility"}, // right - top band + { col: 2, row: 3 , colI : 1 , rowI : 3 , name : "Storage Tank"}, // left - bottom band + { col: 3, row: 3 , colI : 3, rowI : 4 , name : "PX"}, // middle bottom (image sits in row 3, info box goes to row 4) + { col: 4, row: 3 , colI : 5 , rowI : 3 , name : "Reforming"}, // right - bottom band ]; return (
{displayCompanies.map((company, index) => { - const gp = gridPositions.find(v => v.name === company.name); + const gp = gridPositions.find(v => v.name === company.name); return ( - -
-
- {company.name} -
- {company.name} + <> +
+
+ {company.name}
- - - ); + + {company.name} +
+ + ); })}
@@ -139,17 +127,17 @@ export function D3ImageInfo({ companies }: D3ImageInfoProps) { .company-image { object-fit: contain; - height: 100px; + height : 100px; } .info-box { border: 1px solid #3F415A; border-radius: 10px; height: max-content; - align-self: center; - justify-self: center; - padding: .2rem 1.2rem; - min-width: 8rem; + align-self : center; + justify-self : center; + padding : .2rem 1.2rem; + min-width : 8rem; background-color: transparent; } @@ -160,28 +148,25 @@ export function D3ImageInfo({ companies }: D3ImageInfoProps) { } .info-row { - position: relative; + position : relative; margin: .1rem 0; display: flex; - gap: .5rem; - justify-content: space-between; + gap : .5rem; + justify-content : space-between; direction: rtl; } - .info-row:has(.info-value.revenue) { - border-bottom: 1px solid #3AEA83; - } - .info-row:has(.info-value.cost) { border-bottom: 1px solid #F76276; } + .info-label { color: #FFFFFF; font-size: 11px; font-weight: 300; text-align: right; - margin: auto 0; + margin : auto 0; } .info-value { @@ -189,12 +174,10 @@ export function D3ImageInfo({ companies }: D3ImageInfoProps) { font-size: 14px; font-weight: 500; text-align: right; - margin-bottom: .5rem; + margin-bottom : .5rem; } - .info-value.revenue { color: #fff; } .info-value.cost { color: #fff; } - .info-value.cost2 { color: #fff; } .info-value.capacity { color: #fff; } .info-unit { @@ -208,4 +191,4 @@ export function D3ImageInfo({ companies }: D3ImageInfoProps) { `}
); -} \ No newline at end of file +} diff --git a/app/components/dashboard/d3-image-info3.tsx b/app/components/dashboard/d3-image-info2.tsx similarity index 99% rename from app/components/dashboard/d3-image-info3.tsx rename to app/components/dashboard/d3-image-info2.tsx index 2083b67..572ae7a 100644 --- a/app/components/dashboard/d3-image-info3.tsx +++ b/app/components/dashboard/d3-image-info2.tsx @@ -1,5 +1,5 @@ //این فایل مخصوص -//شماتیک نوری +//شماتیک آپادانا import React from "react"; import { formatNumber } from "~/lib/utils"; diff --git a/app/components/dashboard/dashboard-home.tsx b/app/components/dashboard/dashboard-home.tsx index d3fcc42..ed275b3 100644 --- a/app/components/dashboard/dashboard-home.tsx +++ b/app/components/dashboard/dashboard-home.tsx @@ -655,15 +655,6 @@ export function DashboardHome() { //پتروشیمی آپادانا - companies={companyChartData.map((item) => { - const imageMap: Record = { - "واحد 100": "/abniro.png" , - "واحد 200": "/besparan.png" , - "واحد 300": "/khwarazmi.png" , - "واحد 400": "/faravash1.png" - }; - - //پتروشیمی نوری // companies={companyChartData.map((item) => { // const imageMap: Record = { // "واحد 100": "/abniro.png" , @@ -672,6 +663,17 @@ export function DashboardHome() { // "واحد 400": "/faravash1.png" // }; + //پتروشیمی نوری + companies={companyChartData.map((item) => { + const imageMap: Record = { + "LLTE&HLTE": "/besparan.png", + BTX: "/khwarazmi.png", + Utility: "/faravash1.png", + Reforming: "/faravash2.png", + "Storage Tank": "/kimia.png", + PX: "/abniro.png", + }; + return { diff --git a/app/components/dashboard/header.tsx b/app/components/dashboard/header.tsx index 822d576..1d2159c 100644 --- a/app/components/dashboard/header.tsx +++ b/app/components/dashboard/header.tsx @@ -237,9 +237,9 @@ export function Header({ //بندر امام // const url = `https://inogen-bpms.pelekan.org/redirect/${getData.data}`; //آپادانا - const url = `https://APADANA-IATM-bpms.pelekan.org/redirect/${getData.data}`; + // const url = `https://APADANA-IATM-bpms.pelekan.org/redirect/${getData.data}`; //نوری - // const url = `https://NOPC-IATM-bpms.pelekan.org/redirect/${getData.data}`; + const url = `https://NOPC-IATM-bpms.pelekan.org/redirect/${getData.data}`; window.open(url, "_blank"); } catch (error) { diff --git a/app/components/dashboard/interactive-bar-chart.tsx b/app/components/dashboard/interactive-bar-chart.tsx index 18e9344..3292e7c 100644 --- a/app/components/dashboard/interactive-bar-chart.tsx +++ b/app/components/dashboard/interactive-bar-chart.tsx @@ -27,19 +27,22 @@ const chartConfig = { }, revenue: { label: "افزایش درآمد", - color: "#4ADE80", // Green-400 + color: "#4ADE80", }, cost: { - label: "کاهش هزینه", - color: "#F87171", // Red-400 + // آپادانا بندرامام + //label: "کاهش هزینه", + label: "هزینه عملیاتی", // نوری + color: "#F87171", }, } satisfies ChartConfig; - export function InteractiveBarChart({ data, + showRevenue = "نوری"!="نوری", // آپادانا بندرامام }: { data: CompanyChartDatum[]; + showRevenue?: boolean; }) { return ( @@ -48,7 +51,7 @@ export function InteractiveBarChart({ @@ -66,31 +69,67 @@ export function InteractiveBarChart({ axisLine={false} tickMargin={25} style={{ fill: "#ACACAC", fontSize: 11 }} - tickFormatter={(value) => `${formatNumber(Math.round(value))}%`} + tickFormatter={(value) => + `${formatNumber(Math.round(value))}%` + } /> - + `${formatNumber(Math.round(v))}%`} + style={{ + fill: "#ffffff", + fontSize: "16px", + fontWeight: "bold", + }} + formatter={(v: number) => + `${formatNumber(Math.round(v))}%` + } /> - - `${formatNumber(Math.round(v))}%`} - /> - - + fill={chartConfig.revenue.color} + radius={[8, 8, 0, 0]} + > + + `${formatNumber(Math.round(v))}%` + } + /> + + )} + + `${formatNumber(Math.round(v))}%`} + style={{ + fill: "#ffffff", + fontSize: "16px", + fontWeight: "bold", + }} + formatter={(v: number) => + `${formatNumber(Math.round(v))}%` + } /> @@ -103,23 +142,32 @@ export function InteractiveBarChart({ className="w-6 h-2 rounded" style={{ backgroundColor: chartConfig.capacity.color }} >
- {chartConfig.capacity.label} + + {chartConfig.capacity.label} +
-
+ +
- {chartConfig.cost.label} + + {chartConfig.cost.label} +
-
-
- {chartConfig.revenue.label} -
- + + {showRevenue && ( +
+
+ + {chartConfig.revenue.label} + +
+ )}
diff --git a/app/components/dashboard/sidebar.tsx b/app/components/dashboard/sidebar.tsx index 2355a2a..fe45f60 100644 --- a/app/components/dashboard/sidebar.tsx +++ b/app/components/dashboard/sidebar.tsx @@ -415,17 +415,41 @@ export function Sidebar({
{!isCollapsed ? (
- + + {/* آپادانا بندرامام */} + {"نوری" == "نوری" ? ( + logo + + +) : ( +)} +
+ + {/* آپادانا بندرامام */} + {"نوری" == "نوری" ? ( +
+
+ پتروشیمی نوری +
+
نسخه ۰.۱
+
+ + ):( +
داشبورد مدیریت فناوری و نوآوری
- {/*
نسخه ۰.۱
*/} + )}
) : ( diff --git a/app/components/ecosystem/network-graph.tsx b/app/components/ecosystem/network-graph.tsx index 4ac8263..58a3b06 100644 --- a/app/components/ecosystem/network-graph.tsx +++ b/app/components/ecosystem/network-graph.tsx @@ -10,9 +10,9 @@ const API_BASE_URL = //بندر امام // import.meta.env.VITE_API_URL || "https://inogen-back.pelekan.org/api"; //آپادانا -import.meta.env.VITE_API_URL || "https://APADANA-IATM-back.pelekan.org/api"; +// import.meta.env.VITE_API_URL || "https://APADANA-IATM-back.pelekan.org/api"; //نوری -// import.meta.env.VITE_API_URL || "https://NOPC-IATM-back.pelekan.org/api"; +import.meta.env.VITE_API_URL || "https://NOPC-IATM-back.pelekan.org/api"; export interface Node { @@ -150,8 +150,8 @@ export function NetworkGraph({ const centerNode: Node = { id: "center", // label: "پتروشیمی بندر امام", - // label: "پتروشیمی نوری", - label: "پتروشیمی آپادانا", + label: "پتروشیمی نوری", + // label: "پتروشیمی آپادانا", category: "center", stageid: 0, isCenter: true, @@ -414,16 +414,16 @@ export function NetworkGraph({ if (d.isCenter) { //آپادانا -const fixedWidth = 198; -const fixedHeight = 200; // یا می‌توانید براساس نسبت تصویر محاسبه کنید +// const fixedWidth = 196; +// const fixedHeight = 200; // یا می‌توانید براساس نسبت تصویر محاسبه کنید //بندر امام // const fixedWidth = 100; // const fixedHeight = 80; // یا می‌توانید براساس نسبت تصویر محاسبه کنید //نوری -// const fixedWidth = 100; -// const fixedHeight = 80; // یا می‌توانید براساس نسبت تصویر محاسبه کنید +const fixedWidth = 186; +const fixedHeight = 70; // یا می‌توانید براساس نسبت تصویر محاسبه کنید const rect = group .append("rect") @@ -450,7 +450,7 @@ const fixedHeight = 200; // یا می‌توانید براساس نسبت تص .append("image") .attr("x", 0) .attr("y", 0) - .attr("width", fixedWidth) + .attr("width", fixedWidth) .attr("height", fixedHeight) .attr("href", d.isCenter ? "/main-circle.png" : d.imageUrl) .attr("preserveAspectRatio", "xMidYMid meet"); // حفظ نسبت تصویر @@ -505,13 +505,13 @@ const fixedHeight = 200; // یا می‌توانید براساس نسبت تص if (d.isCenter) { //آپادانا - const centerNodeHeight = 200; // ارتفاع نود مرکزی + // const centerNodeHeight = 200; // ارتفاع نود مرکزی //بندر امام // const centerNodeHeight = 80; // ارتفاع نود مرکزی //نوری - // const centerNodeHeight = 80; // ارتفاع نود مرکزی + const centerNodeHeight = 80; // ارتفاع نود مرکزی return centerNodeHeight / 2 + 20; // نصف ارتفاع + فاصله 20px } diff --git a/app/lib/api.ts b/app/lib/api.ts index 13fc730..374b5fe 100644 --- a/app/lib/api.ts +++ b/app/lib/api.ts @@ -163,22 +163,15 @@ class ApiService { // Innovation process function call wrapper public async call(payload: any) { //بندر امام - const url = "https://inogen-back.pelekan.org/api/call"; + // const url = "https://inogen-back.pelekan.org/api/call"; //آپادانا - const url = "https://APADANA-IATM-back.pelekan.org/api/call"; + // const url = "https://APADANA-IATM-back.pelekan.org/api/call"; //نوری const url = "https://NOPC-IATM-back.pelekan.org/api/call"; return this.postAbsolute(url, payload); } - const API_BASE_URL = - //بندر امام - // import.meta.env.VITE_API_URL || "https://inogen-bpms-back.pelekan.org/api"; - //آپادانا - import.meta.env.VITE_API_URL || "https://APADANA-IATM-back.pelekan.org/api"; - //نوری - // import.meta.env.VITE_API_URL || "https://NOPC-IATM-back.pelekan.org/api"; // GET request public async get(endpoint: string): Promise> { diff --git a/app/routes/ecosystem.tsx b/app/routes/ecosystem.tsx index ff741c7..91115c3 100644 --- a/app/routes/ecosystem.tsx +++ b/app/routes/ecosystem.tsx @@ -19,9 +19,9 @@ const API_BASE_URL = //بندر امام // import.meta.env.VITE_API_URL || "https://inogen-back.pelekan.org/api"; //آپادانا -import.meta.env.VITE_API_URL || "https://APADANA-IATM-back.pelekan.org/api"; +// import.meta.env.VITE_API_URL || "https://APADANA-IATM-back.pelekan.org/api"; //نوری -// import.meta.env.VITE_API_URL || "https://NOPC-IATM-back.pelekan.org/api"; +import.meta.env.VITE_API_URL || "https://NOPC-IATM-back.pelekan.org/api"; diff --git a/public/Isolation_Mode - Copy.png b/public/Isolation_Mode - Copy.png new file mode 100644 index 0000000000000000000000000000000000000000..a716d6e72a36e997607bc629aeae6a6b52c22508 GIT binary patch literal 2857 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 Ii&vxm1rvw5od5s; literal 0 HcmV?d00001 diff --git a/public/brand.svg b/public/brand.svg index d3fb0d1..b47737b 100644 --- a/public/brand.svg +++ b/public/brand.svg @@ -1,23 +1,13 @@ - - - - - - - - - - - - - - - - + + + + + + - - + + diff --git a/public/brand3.svg b/public/brand3.svg new file mode 100644 index 0000000..cca2e8e --- /dev/null +++ b/public/brand3.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/brand_11zon.png b/public/brand_11zon.png new file mode 100644 index 0000000000000000000000000000000000000000..e57076c948d47f9b36521dd32e77e08d6e629b94 GIT binary patch literal 1776 zcmV3$g6h8O8nGP)=WfcSr0t#h1(P$r`tFh$PZ+1?>WF|?|n8Hwu4a@I#U8Z9(Y?mRII?nmrsz~XVS7R%5yxxKtB(asmST1a97||M~ zGPD&(aA|zZ?RKY0&OsX)qel%9FIB=Je`*k~*FS}1wg=~bkg85ll=4$H9m$jHFM`_@ zjIo|6wkqVC8)aJ3QK3X09-sey{JskNA$EJtsa#`fQ7l{*=?FN0jwMOjK#azx>Hujq zQ?;iQrL zXR0E>?RGuEEXMgp*k^ZS4_l5xY-=X=LQS~jw52y>$hh>(eieQ*9FIi6PfQj=rL6suNCUS|DfE}*3VElJ<kBLg&=pCEa@x-sKfpNC@H-QJMkLNTHL0AY#3I4{Uhm}YTvkhP zKF($j47>!43IoGXPsTAN!Qtgha7#?FA={W88rL-J9**IaV_$|S&W@Bl#nWH_K^^n6S-8a%FdBXNiI zL!-lHvCN38A!|#_mUXr-FbzrXvQ>H#k>+G1?Y3m9MiWKnlDcjF;qe9DN76bgkXK8z zGU&?o`QHMS=b5qpRO5dQkHumwsrGq!dCqve?+``#{)9M70t~8+00=SFX6w$0Lg=zi zNl$LU)I@?B-=IW7^X-5eCCcn%D8W8(2o%dQ{Z3*kcNjxZ2k`?y8dkx)VxeaJbu@KTvYYM{xIg2t`ffGpZt?U0rnev=R;u z?ku2vIHHirfQi2m4TqlV%pP4nk1qFyj*3_gQ2K2!a;{MXby~EtEWwt}{9FOp=%#-G zsIA{cF~BZ0IB!nx*<6s)VL@rlaL(iB>n`@P54qH!NN^t#oM3eropM<;$8hTcaK6Li zb2OU6Q3s41HzCKz&8EyoQ?^}GhsDqmls1e+06Bs#k1-PD%a}^PSrlyV4r>|}ran1V z0&aKUM#)KF4W(It@iwNDEbTD;cM2GVoddlOO@CJaM)5ua&1YQ`V2jd;Bz<>`mzk^& z5q*FWJ&lAn8x2hitqb@|pS~#AsrY5`9X=d7XAi6|HfaODLN}&ba+Opc)1;x2#CF;M zFT|$hs;w=*Y_}KhJkw}DV)rp~sRy_|UY~z8UWg@@u6;L1viJEXNknV4*7)63ReMji z4K3owaF0gXm2vMr#at^iKvEqj+207Nt&digEz0La6Mpqw{iFl|s7MUiA9DC@4n&~s`2_huSrsa?vrsZxov8a{bk*yRd3LDRj`Zdc-LdD_w&aP|1`wAmro}48~${1d-G2g}@-w z?~JjQ4isIV10TTJ#mD)9W+u%P+me0iTY%eU!j*o+wgu_dCYjB*UISxymfk}n26P>o zH=sE$3&8Ip*T+&RZ8-pSUIcYsY3m|(+xVF~?Qb5Q4G-$P29T$<7Z|x7VoY12gv<0h zD?YPBzv_Qze4P^Mv)G$k-`c)CeWNkHC>9PKNt(U)i0dd;SGCo# zIu`rxJi3AbmFrjz;Vdi;qf#B3U93iRuE*Ky7aN^xjvn13?(`L(Tikn+*S0P3_(y}& za`^p7z)CjImfH941P!s94!}0@cY8o^cGEx3b7xOiR9x(eI^taH*czi7T#gH0R8&-8S8xBb zx&x3hc7PQ^YvjnOu8f}XLQYz3G+es(YU0^-va%))a=OxHwvf8}aAkRIs{Q}v(qGZ@ Sai4tv0000e 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 ShegZ#e~;D{b{H1=GV?$61>z3? literal 5767 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 N9({cwdPsXb_J5@AT|EE* diff --git a/public/main-circle11.png b/public/main-circle11.png new file mode 100644 index 0000000000000000000000000000000000000000..27e63e6bdc90f8a7de3edddab0e9b5a731da0579 GIT binary patch literal 5767 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 N9({cwdPsXb_J5@AT|EE* literal 0 HcmV?d00001