אוטומציית תשלומים בין-בנקאיים pacs.008 של ISO 20022 ב-Python בקוד פתוח ב-2026
גישור על הפער בין נתונים פיננסיים מדור קודם להעברת הודעות בין-בנקאיות מובְנות באמצעות צינור Python בר-ביקורת ומאומת-סכמה.
נקודת הייחוס בקוד פתוח למאמר הזה היא pacs008 ⧉. המאגר ממוצב כספריית Python לאוטומציית הודעות XML של pacs.008 של ISO 20022 להעברה אשראית של לקוח בין מוסדות פיננסיים.
מדוע פרויקט הקוד הפתוח הזה חשוב ב-2026
תשתית הסליקה הבין-בנקאית הגלובלית עוברת את המודרניזציה העמוקה ביותר שלה בכמעט חצי מאה.
ביוני 2026, ענף השירותים הפיננסיים מתקרב במהירות אל מצוק הכתובות המובְנות של SWIFT ב-14 בנובמבר 2026. החל מתאריך זה, הנחיות SWIFT CBPR+, יחד עם TARGET2, CHAPS, Fedwire ו-Lynx הקנדית, יוציאו רשמית משימוש את שורות הכתובת הדואריות הלא מובְנות (השימוש רק ב-<AdrLine> בתוך בלוקי <PstlAdr>). כל המוסדות הפיננסיים המשתתפים חייבים להעביר כתובות בפורמט היברידי (<TwnNm> ו-<Ctry> מובְנים, עם מקסימום שני רכיבי <AdrLine> לפרטים הנותרים) או בפורמט מובְנה לחלוטין (רכיבים נפרדים לשם רחוב, מספר בניין ומיקוד). כל הודעה שלא תעמוד בקריטריון הזה תידחה בגבול הרשת.
עבור מוסדות פיננסיים, המעבר הזה יוצר אילוצים תפעוליים מהותיים:
- קנס דחייה בגבול. תשלומים שלא יעמדו בקריטריוני הכתובת המובְנית יתקלו בדחיות רשת מיידיות, ויעוררו עיכובים בעסקאות, חסימות נזילות ופיגורים תפעוליים.
- SEPA Verification of Payee (VoP). מחייבת את כל ספקי שירותי התשלום (PSPs) באזור ה-SEPA לאמת את ההתאמה בין שם המוטב לבין ה-IBAN לפני ביצוע העברה אשראית, ומוסיפה שער אימות נוסף ביזימת ההודעה.
pacs008 פותרת את הבעיה הזו. זוהי ספריית Python קלת משקל בקוד פתוח שמבצעת אוטומציה של המרת נתונים פיננסיים גולמיים להודעות pacs.008 להעברה אשראית של לקוח בין מוסדות פיננסיים — מאומתות במלואן ותואמות לסכמה. על ידי גישור על פער הנתונים בין מדור קודם למובְנה, pacs008 מספקת Return on Resilience (RoR) גבוה, שמר על הון חוזר ומאבטח ביצוע בזמן אמת על פני מסלולים גלובליים.
עדשת הארכיטקטורה של pacs008 ב-2026
ספריית pacs008 בנויה כמנוע אימות וייצור מבודד, המבטיח שקלטים גולמיים מנותחים, מועשרים ועטופים במעטפות סטנדרטיות באופן שיטתי:
| שכבה | החלטת תכנון | מדוע זה חשוב | הסיכון בטיפול לקוי |
|---|---|---|---|
| שכבת קלט | קליטה של CSV, JSON, SQLite ו-Parquet | פוגשת את צוותי האינטגרציה הבנקאיים במקום שבו הנתונים שלהם כבר נמצאים, ומונעת הגירות פלטפורמה. | קליטה של עומסי נתונים גולמיים, לא מאומתים או פגומים. |
| שכבת אימות | אימות מקדים מול סכמות XSD רשמיות וכללים עסקיים מותאמים | עוצרת ביצוע ומסמנת שגיאות לפני שקובץ התשלום נשלח לרשת הסליקה. | קבצי XML לא תקפים שמעוררים דחיות רשת מיידיות ועיכובי סליקה. |
| שכבת מעטפת BAH | עטיפה אוטומטית של Business Application Header (head.001) | מתקננת את משלוח וניתוב ההודעות בהתבסס על תגית <MsgDefIdr>. |
שליחת עומסי pacs.008 גולמיים ללא המעטפה החיצונית הנדרשת, הגורמת לדחייה במערכת. |
| שכבת סריאליזציה | תמיכה ב-XML סטנדרטי וב-JSON תואם-ISO (TS 23029) | מאפשרת תרגום ישיר בין עומסי XML ל-JSON, ותומכת ב-REST API מודרני ו-Kafka streaming. | ייצוגי נתונים מקוטעים שמפרים את הנחיות ה-ISO הרשמיות. |
| שכבת עקיבות | מעקב OpenTelemetry הממופה ל-UETR | תופס נתיבי ביצוע ויומנים מפורטים, ומספק יכולת ביקורת בזמן אמת. | פערי מעקב החוסמים נראות תפעולית וביקורת. |
אותות בין-בנקאיים מרכזיים ואבני דרך רגולטוריות
כדי להוכיח חוסן תפעולי בעסקאות, על מנהלי טכנולוגיה וסיכון בכירים לעקוב אחר מדדי ציות ספציפיים וכמותיים:
| אות | מדד / מבחן תפעולי | הפניית G20 / SWIFT / DORA | מימוש בפלטפורמה הטכנית |
|---|---|---|---|
| ציות לכתובת מובְנית | אחוז הודעות pacs.008 שמשתמשות בשדות <PstlAdr> מובְנים לחלוטין עם <TwnNm> ו-<Ctry> מוגדרים. |
מועד SWIFT SR 2026 | בדיקות סכמה מקדימות ב-pacs008 שדוחות שורות כתובת לא מובְנות. |
| SEPA Verification of Payee | אימות התאמה בין שם המוטב ל-IBAN לפני ביצוע ההודעה. | רגולציית SEPA VoP | מחלקות עזר VoP מובְנות שמבצעות שאילתות אימות מקדים על IBAN/BIC. |
| אינטגרציית BAH head.001 | אחוז עומסי התשלום היוצאים שנעטפו בהצלחה ב-Business Application Headers. | הנחיות TARGET2 / CBPR+ | תת-מערכת עטיפת BAH שמהדרת אוטומטית את מעטפת ה-XML החיצונית. |
| סיכום ביקורת Modulo של LEI | אימות ספרת ביקורת ISO 7064 Modulo 97-10 על בלוקי <LEI> של החייב והנושה. |
מנדט של Bank of England | בודק אלגוריתמי שמאמת את שלמות המזהה בן 20 התווים. |
| דיוק מעקב UETR | 100% מהתשלומים המיוצרים מוזרקים עם Unique End-to-End Transaction Reference תקף. | מפרטי UETR של SWIFT | ייצור ומעקב אוטומטיים של קוד הייחוס UUIDv4 בן 36 התווים. |
מדוע Python היא דרך הגישה האידיאלית לאוטומציה בין-בנקאית
מרכזי תשלומים מודרניים וצוותי פעולות אוצר ב-2026 מסתמכים במידה רבה על Python לטרנספורמציית נתונים, מודלים פיננסיים ואינטגרציית מסדי נתונים של ERP.
על ידי שימוש בספריית Python בקוד פתוח, מוסדות משיגים יתרונות משמעותיים:
- עומס קוגניטיבי נמוך ואינטראופרביליות גבוהה. Python משמש כגשר מלכד. הוא מאפשר למפתחים לכתוב סקריפטים פשוטים שמושכים הוראות תשלום גולמיות ממסדי נתונים מדור קודם, מאמתים אותן מול כללים בנקאיים בינלאומיים מורכבים, ומוציאים XML תואם בתוך תהליך עבודה אחיד ומאוחד.
- חיסול של מתרגמים אטומים מסוג "קופסה שחורה". פורטלי בנקאות קנייניים גובים לעיתים קרובות דמי רישוי גבוהים עבור מתרגמי קבצי תשלום מותאמים אישית. מתרגמים אלה הם קופסאות שחורות קנייניות, שמחייבות את בלתי-אפשרות הביקורת של צוותי אבטחה על אופן עיבוד הנתונים או היכן מאוחסנים מפתחות. ספרייה בקוד פתוח ובת-בחינה כמו pacs008 מבטיחה שקיפות קוד מלאה.
- אינטגרציה חלקה ב-CI/CD. pacs008 משתלבת ישירות בצינורות אינטגרציה ופריסה רציפים, ומאפשרת למפתחים לבצע אוטומציה של בדיקות קבצי תשלום כחלק מסבב חיי האספקה הסטנדרטי של תוכנה.
תכנון צינור בין-בנקאי תחום
פגיעות מרכזית בסליקה הבין-בנקאית היא "ייצור אצוות לא מבוקר" — ייצור קבצים ללא לולאת אימות ברורה ותחומה. pacs008 מתוכננת לפעול כמנוע האימות המרכזי בתוך צינור עסקאות מבוקר היטב ורב-שלבי.
הזרימה התפעולית להלן מראה כיצד נתוני עסקה גולמיים עוברים דרך צינור ה-pacs008 לייצור קובץ pacs.008 מאובטח קריפטוגרפית ותואם-סכמה, עטוף במעטפת BAH:
graph TD
subgraph Raw_Corporate_Data_Ingestion [Raw Corporate Data Ingestion]
A1[ERP Ingestion / CSV File] --> Ingest[Ingestion Interface]
A2[Clearing DB / SQLite / Parquet] --> Ingest
A3[FastAPI REST API / JSON] --> Ingest
end
subgraph pacs008_Validation_Core [pacs008 Validation Core]
Ingest --> B{Pre-Flight Field Checker}
B -->|Invalid BIC / IBAN / LEI| C[Halt & Generate Error Log]
B -->|Data Complete| D[Address Restructuring Engine]
D -->|Compile Address to structured tags| E[XML Generator Engine]
E -->|Wrap in head.001 BAH| F[XSD Conformance Evaluator]
end
subgraph Secure_Interbank_Transmission [Secure Interbank Transmission]
F -->|Schema Validation Fails| G[Halt & Reject Batch]
F -->|Schema Validated 100%| H[Symmetric Encryption / GPG Signer]
H -->|Encrypted head.001 + pacs.008| I[TARGET2 / CHAPS Gateway]
end
style B fill:#fef2f2,stroke:#ef4444,stroke-width:1px
style F fill:#eff6ff,stroke:#3b82f6,stroke-width:2px
style I fill:#f0fdf4,stroke:#22c55e,stroke-width:2px
ספר המשחק של הדירקטוריון ואחריות נאמנותית
אוטומציית תשלומים בין-בנקאיים היא סוגיית ניהול סיכונים וממשל תאגידי ברמת הדירקטוריון. על מנהלים בכירים להתייחס לאיכות נתוני העסקאות דרך עדשת האחריות הנאמנותית והפחתת סיכונים תפעוליים:
- סעיף 5 של DORA (אחריות הדירקטוריון). מטיל אחריות אישית ישירה על חברי הדירקטוריון על חוסן ואבטחת פעולות ה-ICT של המוסד. מאחר שסליקה בין-בנקאית היא פונקציה תאגידית קריטית, על דירקטוריונים להוכיח שהם יישמו בקרות עסקאות חזקות, מאומתות ואוטומטיות כדי למנוע שיבושים תפעוליים או עיכובי תשלום.
- BCBS 239 (אגרגציית ודיווח של נתוני סיכון). מחייב שדיווח עסקאות פיננסי יהיה מדויק, שלם ויוצר בזמן אמת. pacs008 עוזרת למוסדות להשיג ציות ל-BCBS 239 על ידי הבטחה שנתוני התשלום מובְנים ומאומתים נקי במקור, ומחסלת את פערי הנתונים ושגיאות ההתאמה הידנית שפוקדים גיליונות מדור קודם.
- הפחתת חיובי הון של סיכון תפעולי (Basel III). לפי הנחיות Basel III, שיעורי שגיאה גבוהים בתשלומים ותקורת התערבות ידנית מגדילים את דרישות ההון של הסיכון התפעולי של הבנק, וקושרים הון שאחרת ניתן היה לפרוס להלוואות או להשקעה. אוטומציה של צינור התשלומים מצמצמת ישירות את הפרמיות ההוניות הללו, ושומרת על ערך המאזן.
מה זה אומר לפי סוג בנק
בנקים בעלי חשיבות מערכתית גלובלית (G-SIBs)
G-SIBs מנהלים נפחי עסקאות תאגידיות חוצי גבולות עצומים. האתגר העיקרי שלהם הוא תיקון נתונים מדור קודם לא מובְנים לפני שהם מגיעים לרשת הסליקה. על ידי שילוב pacs008 בשערי הבנקאות העסקית שלהם, G-SIBs יכולים לספק כלי אימות אוטומטיים ללקוחות התאגידיים שלהם, להפחית את התקורה של תיקוני תשלום ידניים ולאבטח ביצוע בזמן אמת על פני רשת SWIFT.
בנקי עסקאות ובנקים תאגידיים
עבור בנקי עסקאות, איכות נתוני התשלום היא בידול תחרותי. על ידי הצעת כלי אימות בקוד פתוח ובר-בחינה כמו pacs008 ללקוחות אוצר תאגידיים, בנקים אלה יכולים להאיץ הצטרפות, למזער דחיות של קבצי תשלום ולבנות אמון לקוחות באמצעות שיעורי straight-through processing מעולים.
בנקים אזוריים וקטנים יותר
בנקים אזוריים חייבים לשמור על ציות לתקני תשלום בינלאומיים ללא תקציבי הטכנולוגיה המסיביים של G-SIBs. pacs008 מספקת פתרון Python קל משקל, חסכוני וצייתני לחלוטין, ומאפשרת למוסדות קטנים יותר להציע יכולות יזימת תשלום מודרניות ומובְנות ללא רישיונות יקרים של תוכנת ביניים קניינית.
מסקנה: מפת הדרכים של הסליקה הבין-בנקאית
המועד האחרון של SWIFT לכתובות מובְנות בנובמבר 2026 מייצג גבול קשיח לפעולות אוצר תאגידיות. הסתמכות על גיליונות מדור קודם, הזנת נתונים ידנית וקבצי תשלום לא מובְנים היא סיכון עסקי פעיל.
כדי לאבטח רציפות עסקאות ולמזער תקורה תפעולית, על מנהלי טכנולוגיה ופיננסים בכירים לבצע מפת דרכי סליקה ברורה היום:
- אכפו אימות במקור. חייבו שכל הוראות התשלום יאומתו וייפורמטו בהתאם לסכמות XSD רשמיות של ISO 20022 לפני שיעזבו את גבולות ה-ERP התאגידי.
- בקרו את צינור הנתונים. עברו מעיבוד גיליונות ידני ויישמו תהליכי עבודה אוטומטיים, ברי-בחינה ומבוססי-Python באמצעות pacs008.
- יישמו אבטחה היברידית. ודאו שקבצי התשלום המיוצרים חתומים קריפטוגרפית ומוצפנים לפני העברה, ועומדים בציפיות רשת zero-trust.
- יישרו לפי עדיפויות נאמנותיות. דווחו רשמית על מדדי אוטומציית תשלום ואיכות נתונים לדירקטוריון, ומסגרו את ההשקעה כתוכנית הפחתת סיכון תפעולי קריטית לפי DORA.
שאלות נפוצות
האם pacs008 תואמת לכללי הכתובת הצפויים של SWIFT SR 2026?
כן. pacs008 מתוכננת לתמוך באבן הדרך הקשיחה של SWIFT לכתובת מובְנית בנובמבר 2026, ואוכפת את ההפרדה החובה של רכיבי כתובת דואר (עיר, מדינה, מיקוד) לשדות XML מוגדרים של ISO 20022.
האם pacs008 יכולה לעטוף עומסי תשלום ב-Business Application Headers?
כן. מכיוון ש-pacs008 תומכת באופן מקורי בעטיפת Business Application Header (BAH head.001), היא מהדרת אוטומטית את המעטפת החיצונית הנדרשת על ידי רשתות TARGET2, CHAPS ו-CBPR+.
מדוע ספרייה בקוד פתוח עדיפה על מתרגמי קבצים קנייניים?
מתרגמים קנייניים הם קופסאות שחורות אטומות, שהופכות ביקורות אבטחה לבלתי אפשריות. ספרייה בקוד פתוח שנבחנת על ידי עמיתים כמו pacs008 מציעה שקיפות קוד מלאה, ומאפשרת לצוותי אבטחה לוודא שאין חשיפת נתוני תשלום רגישים במהלך העיבוד.
אילו מזהים pacs008 מאמתת?
pacs008 מגיעה עם מאמתים מובְנים ל-Bank Identifier Codes (BICs) ולמזהי ישות משפטית (LEIs) באמצעות חישובי סיכום ביקורת ISO 7064 Modulo 97-10, בנוסף לאימות ספרת ביקורת של IBAN ובדיקות ייחודיות של UETR.
הפניות
- SWIFT, (2024). ISO 20022 novembre 2026 Structured Address Milestone. La Hulpe: SWIFT. זמין ב: אבן הדרך של SWIFT ISO 20022 ⧉.
- Basel Committee on Banking Supervision (BCBS), (2013). Principles for effective risk data aggregation and risk reporting (BCBS 239). Basel: Bank for International Settlements. זמין ב: עקרונות BCBS 239 ⧉.
- European Parliament and Council of the European Union, (2022). Regulation (EU) 2022/2554 on digital operational resilience for the financial sector (DORA). Brussels: Official Journal of the European Union. זמין ב: רגולציית DORA ⧉.
- GitHub, (2026). מאגר pacs008 בקוד פתוח. זמין ב: מאגר pacs008 ⧉.
נבדק לאחרונה .
נסקר לאחרונה .
פרסם מחדש מאמר זה
העתק בפורמט Medium
# בניית אוטומציית pacs.008 לעידן הבין-בנקאי של ISO 20022 ב-2026 — Sebastien Rousseau > Originally published at [https://sebastienrousseau.com/he/2026-06-15-pacs008-automation-iso-20022-interbank-payments-2026/](https://sebastienrousseau.com/he/2026-06-15-pacs008-automation-iso-20022-interbank-payments-2026/) pacs008 היא ספריית Python בקוד פתוח לאוטומציית ייצור ואימות הודעות pacs.008 של ISO 20022 — כתובות מובְנות, עטיפת BAH head.001, סיכומי ביקורת BIC/LEI/IBAN ומעקב UETR ב-OpenTelemetry — לקראת מועד SWIFT בנובמבר 2026. Read the full article on sebastienrousseau.com: https://sebastienrousseau.com/he/2026-06-15-pacs008-automation-iso-20022-interbank-payments-2026/
העתק בפורמט Mastodon
בניית אוטומציית pacs.008 לעידן הבין-בנקאי של ISO 20022 ב-2026 — Sebastien Rousseau pacs008 היא ספריית Python בקוד פתוח לאוטומציית ייצור ואימות הודעות pacs.008 של ISO 20022 — כתובות מובְנות, עטיפת BAH head.001, סיכומי ביקורת BIC/LEI/IBAN ומעקב UETR ב-OpenTelemetry — לקראת מועד SWIFT בנובמבר 2026. https://sebastienrousseau.com/he/2026-06-15-pacs008-automation-iso-20022-interbank-payments-2026/
העתק מעוצב עבור LinkedIn
בניית אוטומציית pacs.008 לעידן הבין-בנקאי של ISO 20022 ב-2026 — Sebastien Rousseau pacs008 היא ספריית Python בקוד פתוח לאוטומציית ייצור ואימות הודעות pacs.008 של ISO 20022 - כתובות מובְנות, עטיפת BAH head.001, סיכומי ביקורת BIC/LEI/IBAN ומעקב UETR ב-OpenTelemetry - לקראת מועד SWIFT בנובמבר 2026. להלן עיקרי הנקודות האסטרטגיות: - מדוע פרויקט הקוד הפתוח הזה חשוב ב-2026. תשתית הסליקה הבין-בנקאית הגלובלית עוברת את המודרניזציה העמוקה ביותר שלה בכמעט חצי מאה. - עדשת הארכיטקטורה של pacs008 ב-2026. ספריית pacs008 בנויה כמנוע אימות וייצור מבודד, המבטיח שקלטים גולמיים מנותחים, מועשרים ועטופים במעטפות סטנדרטיות באופן שיטתי:. - אותות בין-בנקאיים מרכזיים ואבני דרך רגולטוריות. כדי להוכיח חוסן תפעולי בעסקאות, על מנהלי טכנולוגיה וסיכון בכירים לעקוב אחר מדדי ציות ספציפיים וכמותיים:. - מדוע Python היא דרך הגישה האידיאלית לאוטומציה בין-בנקאית. מרכזי תשלומים מודרניים וצוותי פעולות אוצר ב-2026 מסתמכים במידה רבה על Python לטרנספורמציית נתונים, מודלים פיננסיים ואינטגרציית מסדי נתונים של ERP. כיצד מתמודד הארגון שלכם עם האתגרים המתוארים במאמר זה? → https://sebastienrousseau.com/he/2026-06-15-pacs008-automation-iso-20022-interbank-payments-2026/ #Pacs008 #Iso20022Pacs.008 #העברהאשראיתשללקוחביןמוסדותפיננסיים #כתובתמובנית #SwiftCbpr+ Sebastien Rousseau | CC-BY-4.0
ציטוט הכתבה
בניית אוטומציית pacs.008 לעידן הבין-בנקאי של ISO 20022 ב-2026 — Sebastien Rousseau
pacs008 היא ספריית Python בקוד פתוח לאוטומציית ייצור ואימות הודעות pacs.008 של ISO 20022 — כתובות מובְנות, עטיפת BAH head.001, סיכומי ביקורת BIC/LEI/IBAN ומעקב UETR ב-OpenTelemetry — לקראת מועד SWIFT בנובמבר 2026.
BibTeX
@online{rousseau2026בניית,
author = {Rousseau, Sebastien},
title = {{בניית אוטומציית pacs.008 לעידן הבין-בנקאי של ISO 20022 ב-2026 — Sebastien Rousseau}},
year = {2026},
url = {https://sebastienrousseau.com/he/2026-06-15-pacs008-automation-iso-20022-interbank-payments-2026/},
urldate = {2026}
}RIS
TY - GEN AU - Rousseau, Sebastien TI - בניית אוטומציית pacs.008 לעידן הבין-בנקאי של ISO 20022 ב-2026 — Sebastien Rousseau PY - 2026 UR - https://sebastienrousseau.com/he/2026-06-15-pacs008-automation-iso-20022-interbank-payments-2026/ ER -
Vancouver
Rousseau S. בניית אוטומציית pacs.008 לעידן הבין-בנקאי של ISO 20022 ב-2026 — Sebastien Rousseau. sebastienrousseau.com. 2026 Jun 15. Available from: https://sebastienrousseau.com/he/2026-06-15-pacs008-automation-iso-20022-interbank-payments-2026/
Chicago
Rousseau, Sebastien. "בניית אוטומציית pacs.008 לעידן הבין-בנקאי של ISO 20022 ב-2026 — Sebastien Rousseau." sebastienrousseau.com. June 15, 2026. https://sebastienrousseau.com/he/2026-06-15-pacs008-automation-iso-20022-interbank-payments-2026/.
APA
Rousseau, S. (2026, June 15). בניית אוטומציית pacs.008 לעידן הבין-בנקאי של ISO 20022 ב-2026 — Sebastien Rousseau. sebastienrousseau.com. https://sebastienrousseau.com/he/2026-06-15-pacs008-automation-iso-20022-interbank-payments-2026/
פרסום מחדש של הכתבה
בניית אוטומציית pacs.008 לעידן הבין-בנקאי של ISO 20022 ב-2026 — Sebastien Rousseau
pacs008 היא ספריית Python בקוד פתוח לאוטומציית ייצור ואימות הודעות pacs.008 של ISO 20022 — כתובות מובְנות, עטיפת BAH head.001, סיכומי ביקורת BIC/LEI/IBAN ומעקב UETR ב-OpenTelemetry — לקראת מועד SWIFT בנובמבר 2026.
כתבה זו מפורסמת ברישיון Creative Commons Attribution 4.0 International. פרסום מחדש מחייב ייחוס לכתובת ה-URL הקאנונית.
בניית אוטומציית pacs.008 לעידן הבין-בנקאי של ISO 20022 ב-2026 — Sebastien Rousseau pacs008 היא ספריית Python בקוד פתוח לאוטומציית ייצור ואימות הודעות pacs.008 של ISO 20022 — כתובות מובְנות, עטיפת BAH head.001, סיכומי ביקורת BIC/LEI/IBAN ומעקב UETR ב-OpenTelemetry — לקראת מועד SWIFT בנובמבר 2026. Originally published at https://sebastienrousseau.com/he/2026-06-15-pacs008-automation-iso-20022-interbank-payments-2026/ by Sebastien Rousseau. Licensed under CC-BY-4.0.
