# **⚙️ Exhibit: Low-Level & Systems Programming**

Systems and low-level programming prioritize hardware control, physical memory efficiency, deterministic execution speed, and minimal runtime footprints. Languages of this paradigm abstract as little of the host hardware as possible, compiling directly to native machine code.

## **📐 Mathematical Foundations**

Low-level code maps instructions directly to the physical computer architecture, bypassing garbage collection pauses or runtime virtualization overheads.

### **1\. Pointer Arithmetic & Memory Offsets**

In low-level systems, data structures are mapped directly to continuous memory address ranges. Accessing array element index ![][image1] translates directly to standard pointer offset multiplication:

![][image2]Where ![][image3] is the static data type. Because there are no runtime array bounds checks in classic systems code, executing outside this offset causes buffer overflows or immediate Segmentation Faults.

### **2\. Manual Space Allocation Verification**

To allocate ![][image4] bytes on the heap, the runtime must verify that it can safely partition a continuous block of physical memory:

![][image5]If memory is not freed manually using free(), the host system leaks memory, eventually crashing.

## **🔑 Core Pillars of Systems Code**

* **Zero-Cost Abstractions:** High-level code features (like loops or polymorphism) must compile down to bare-metal structures without adding hidden execution time or memory footprint.  
* **Explicit Memory Allocation:** No automatic garbage collectors (GC) are used. The programmer controls exactly when heap variables are allocated and deallocated.  
* **Direct Hardware Portability:** Able to write device drivers, kernel structures, and boot sectors by manipulating raw register memory addresses directly.  
* **Deterministic Latency:** Code executes with absolute timing predictability, making it suitable for real-time systems (automotive, aerospace, operating system cores).

## **🏛️ Historical Museum Tour**

Explore how programmers tamed direct hardware, evolving from primitive operations to modern compiler safety engines:

### 1. Fixed Columns and Hardware Boundaries: [Fortran (1957)](../eras/Hall%20of%20Pioneers%20%281950s%20-%201960s%29/Fortran.md)

Fortran mapped mathematical equations straight to the physical punch card structures of early mainframes. By restricting commands to specific card columns, it optimized compilers to convert scientific equations directly to maximum hardware performance.

### 2. Portable Assembly Standard: [C (1972)](../eras/The%20Structured%20Foundation%20%281970s%29/C%20Booth.md)

Dennis Ritchie created C to rewrite the UNIX operating system. It introduced first-class pointers and curly-bracket structuring, proving that developers could write operating-system systems code without resorting to hardware-specific assembly language.

### 3. Strict Real-Time Safety Rules: [Ada (1980)](../eras/The%20Multi-Paradigm%20Dawn%20%281980s%29/Ada%20Booth.md)

Commissioned by the military, Ada proved that systems programming could be safe. By building strict subtype range checks directly into the compiler, Ada prevented out-of-bounds calculations from crashing critical aerospace hardware.

### 4. Modern Static Borrow Checkers: [Rust (2015)](../eras/The%20Modern%20Era%20%282010s%20-%20Present%29/Rust%20Booth.md)

Rust revolutionized low-level safety. It uses mathematical compile-time checks (Lifetimes and Borrow Checker rules) to guarantee that pointers are always valid, preventing memory bugs without requiring a runtime garbage collector.

## **🎨 Paradigm Showpiece: Raw Pointer Manipulation**

This program demonstrates how systems languages allow programmers to bypass high-level memory models to read and write bytes directly using explicit memory addresses.

### **Example in C (Singly Linked List Node Allocations)**

\#include \<stdio.h\>  
\#include \<stdlib.h\>

typedef struct IntNode {  
    int payload;  
    struct IntNode\* nextNodeAddress;  
} IntNode;

int main() {  
    // 1\. Explicitly allocate 2 chunks of heap memory  
    IntNode\* firstNode \= (IntNode\*)malloc(sizeof(IntNode));  
    IntNode\* secondNode \= (IntNode\*)malloc(sizeof(IntNode));

    if (firstNode \== NULL || secondNode \== NULL) {  
        printf("\[Error\] System out of heap memory\!\\n");  
        return 1;  
    }

    // 2\. Direct assignment using pointer offset references  
    firstNode-\>payload \= 42;  
    firstNode-\>nextNodeAddress \= secondNode; // Point directly to memory address of node 2

    secondNode-\>payload \= 99;  
    secondNode-\>nextNodeAddress \= NULL;

    // 3\. Traversal by dereferencing raw memory addresses  
    IntNode\* current \= firstNode;  
    while (current \!= NULL) {  
        printf("\[Memory Address: %p\] contains value: %d\\n", (void\*)current, current-\>payload);  
        current \= current-\>nextNodeAddress; // Advance to next raw pointer address  
    }

    // 4\. Manual cleanup to prevent memory leaks  
    free(firstNode);  
    free(secondNode);  
    printf("\[Systems Engine\] Heap memory freed. Safe exit.\\n");

    return 0;  
}

Return to the [Paradigms Hub](README.md) to explore other computational architectures.

[image1]: <data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAcCAYAAACtQ6WLAAABCUlEQVR4Xm1SO04EMQyd0dLSUAfbqUa7SEiLqChgtT0VHTeh36PsBbahpOIKSGi5ALcYXuLE+QyW7MTP79nJZIYh2DjGJZumIWTP2ypvRRWpYIltghIrFMbMs/f+1mZkTggoHrG5KPTeoiBLuynFSrIiopuCJxHmrOGfTPw+TdOlEWAr8f587dw9lM8gvGg7uHh5ZKJN6vA9/HdSKO6Yae5xnUt8gGuxXCDeaSTmH2L6Qust1gcjod0ec2cv8ibiTyLylGTxk72Gb4rD7bB+2NVHFJ1zVwB/oQgq6YbWSWUNtKi3/0WFW9QHyqMWDcqr617JEau5i9a9ZXqqNlo7gCEa2k61UiVW+AOWnB/TtiozNAAAAABJRU5ErkJggg==>

[image2]: <data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAmwAAABGCAYAAABxPchcAAAT80lEQVR4Xu2dDdBtVVnH3wuUfWclQnDvWfu9UODtQ7y3Esj04seIYmGYBVojg1QIIoSUEKGZieYVLRFBBb8w0ECvZSiKIJEiio1IYAapTBAEOkx4B+4I49z+/72edd7nPGfvc877fc57/r+ZNWfvZz3rY6+19lrPXnutfWZmhBBiDbMuCsSyobIWQgghhFgga8GQWgvXICYRtTwhhBBCCCGEENONnoyFEEJMK+M0Bo5TXoQYE3RbCCGEEEKI8UNW6lih6hAjo8YihBBiOtEIKMYQNUuxYqixCSEmFHVfYiiLbySLj2HJGKOsCCGEEEIIIcQEoqcqIfrRfbGUqDSFEEIIIYQQaxM97QxDJSSEEEIIIQYig1EIIYQYezRcCzHm6CYVQgjRjEaIiUFVNT2orpcdFbEQQgghhBArjaxwMX/GqdWMU16EEKuGugKxSqjpCSG6qEMQQgghhFg2ZGpNAqol0Y5axzSj2l8DqBKFEGISUe8tlpAVb04rnqAQ00dK6dBOp/OGKJ8PVVUdg3iupot+HqRzFXWgf1CR4fwwyM/xemIaWZkOH23tj9heo1wsDNy/P5tS56L169f/cPQbFcTxpCgjqKsL2vyEEKIGncQuuPOjvA3obrcwu/bcc88fi/4F+J9W9OCOiP7zYSmGN3SyP43B69lR3gbyfC/zPhOSR8f6Z4jnzKZMQf60ffbZ50fKOcJfDtlWp0IdcqqXrSSuTprcw7yGGGYl2bJl8w8gH/ehvvaNfm1A///KNUQ/j9O7IfqtNWZnZ3+trQxx/SfRP8qXA6TzRLSp65Hmi+GOg/sq7qGTITuw6EB2FmTvw++hPG+4tRYM4rw05XZ9DA1YHF8Od/GGDRv2iboEfr8NtwPuLWwrzmsdzt/kztkXvJA6Q9yDcF844IADfpxhcHwu3H+in3icj8v7RbkQYij93Ua/ZPKxTuU+HO4e/VrYDfqHMNwgg42wo7L4F2WwLQXIw9uibBCW713o6Pf28q7BFth///33hP734Z5TZKnBYDP5oxhMfy7KVwrOELDOcS2v9nLIDuU1IM8nePlKgjz9ppX7yEYtyv4xCHM8w0U/j+mxXte6wUbj4t+jsGBl8LkoX2qsnd2xadOmH6wF6+r6Pdnq1xtszA/de7qBlwBrS1/zaRFL6zvRaKURBfl34S5FmL+hXvGjccb24/Xh/0G4O+E277vvvj8zk8udcd/MuPH7JLjnwH27hCn3HtxFLqoevygXQogZdDLrrYNhB3p49B8Ew4xgsL3b4l9Vg82MqYejvA3raOtyQSf6S96vzWCD7Iegfxl/iyy1G2wPpIYOeyVB+nc1GWblujkjEf1WApTvhUh/J9y/Rr9BYIBMzHeUR+z6xt5gqxYx04kyfB6u8aEoLyDuT9OYifKlxma0+uoEsrd7I8pm13bg95lebzEgro2ME242+kH2cmsHdzXJkbdjaWTy1/n9m1Nln/ITkD2AdDZ5ucV7bpD1GMc4PxvuUS8r0G81H+aEEGMKOofPolN6o3Uy34n+g2CYYQabDb6Me9UMNntqvb8z4to16L6I5QL3MPOO8jna+7cZbE2kFoMNsidb3CPFsxwg/bs4oDbIaSyxzi6OfssNB2yke+vGjRt/knlgWUedNsrDR5RH7NrG3mBrqptRQJs62K6xO9O7ANZVDca8B/E/IcoiyR7Yohzs7g22pQZpbrYyaEq7Bn7b6L/XXnv9aJG5vrCnv8L5x1O/0XUZ3GFehvDPhux7Pk6T993nkP0TfnZrem2DOHbO0E8IIch+++23AR3DIxgYnjKscyPoYPaG7imzs7NP5Tn1mwy2lF8BnM6n/GiwIY6tcMfAHc7XCxyUkI/H+/CWL65/O4pPsUXONWgpG1Nnbdiw4VcZjw8L+SGQnYE4f9fPikH2NMvDi4psENC7G/H/In6/yXCI72Tv32awQXZCXDOUWgy2LVu2cJ3Wo3AfjX4rRWo32FhWO1luXo7zl/Da28rR6vtV8D8d5fcb8XWTr1cv9yCNd3ZsU4aV/Rejjgf+vwC9kxDuwEEGG3XgjqOeXV9tsOH8sawfnD+dbcba2EtZPz48dA6C/ESk96yZsDICfqdW1u78tZX2Cr8TSnv14YbRVDejgDT/gtcY2yJBnD/F65sZYfkD8vtGuL+NcsKyZFxRHkk2Y8V7qPta1HBlvK6qZreyfKD73OLPeoluNtxLrDfIz2R+gvxNTBfu+17uqeYemo7kuc2Y8RUn8/squF+n3O7VnTi/wIeH7M0zwaiC7PVw13oZKXF5kO5rId8S5cTy0OgnhJhC0CmcVuWnPK67+AY7iahTgN/57PzQibwh5U0H/0D9YLDxqflPIL+xyus/PgD3GerBHVHlV4Y8pqPfTTyG/HaXzivhHkl5gfLdyS3AxfG34N4DdxTcDQxLw8r8uECYa1WORB7fiuMdLly9+aHoDoN552+ay99rvX+n32DbA+fvh/xffLoktRhsxOK/O8pXitRgsEH2AsvX5iDfxnLA7xFwb4Y736/nscGOdU2j6FiWG9yJLnxPvcKYe2Lx88DvfoR/sh0zDhoe+0c9Ar9rUl5vdEmVF7WfR/2g8wTTuyTla6Ae4y0GG2dE6nRQFufg9z/gPpHsdbWteeNMyn/BnZ7yNXzSxf8WxHGGa3eXUU7jL1l7hd+pydprCTcKsW5GJeX78/4oZ7kizv+G38XMd/RvgP3CB/C7hxembIR+ycvasNntum9JecaabevFM87oZR9i/nR1uVs41gnvqXpHtvl/t4SzB4CrO3nh/0Vw24pfso1RvN4ii3AWjDq4lnfyvJqbmSzuXsrRb/yKnXfbcxuW39dHeRNI7/lVyyym5avRT4gWGuZqxZrAOrudZeeSDTDs4H4n6rLjgHt/lFO/GGwYgH+5k2eMvhF0uCOLnV33FYOdP8JBHuk9q2NrQCD7NtyDVe8asA9WtrMTx9cGv3fAceESZ08YZ/fpPNluMzvmgMvBcugrhuReezBti/cjXicabPC/2jp1vjaJBsMgg40D58BBnLNGDD+KizNaw0gNBltpB3Bnezn0XuMNJ9N5wPl/yM/oVLnNPN90m+qVA1Lfjt3kBjvGaenc6nUIZH+f8kxRlyrPgsXyZ/gePZP1vBJFWq9Ic3W/G2fHeEBd+F3lVOtyMyOjbnfer2ObOCD/39TQXuc0I/19baybUUl5d/NnGuTb+Ys8HQz34ejfRsrG7hU43INl1DSrPgykd6YZM+V1+y6/m5r9jslrg62TZ067DzM4Pr/KD5flnGvA+uoaOtfb8V0W351ex2MbDBimG29lGw3w+5Iiw/mJFtfTi6wJ5PkZ1CttZxjQnUWYC6OcMJ42PyHElEGjA53C5V6GTur2ZDMEHuh+DPKXRzk7ldJ5pzyDwo6uZyBgGtbZ9RhsVcMTuul9tXJGCNJ+a8deSZr/PXDvoiFTwpnx+T3z5+sgrivpvvJJ+em8+2TeRuLsTyfdymuyAbmeRSyDQIFlVzmDDeen8NfSv2lOM18/r8PLCrw2honylSI1GGwmv8OupecTBsYetrifu2EfKUJc49Epz6BcgThf4QNYXD31Slmp1wJfPVXum3UWJ8PGMuLMzw4+JHghwwbdesde1LM4b/AmEvOcwkJxYrqcwfN5v4YzhK7dXZvm2l0Jxxlphr0HYY717bUJH79LhzOCffIYNpLyLt9/jPLKZi5xrRdUZkyPCMtxG6+Tawuj53xgHZd2X7ldwMyPlVdtsKW8W7meyYTf4fSzXZg1OP+6xdEtl5Q/n1HvxsTv5y2+1vs+2caijlvbWjUbbLVxOOyBCDqvo16Ut8Hrgf6lUU4s741+E0X/c4gQK83kt0J0Bjsq9/RP0HFtss7q97w85S3oPbMUJu8abAjzYQvbMxOXWgw2uCu9npP3rf/wwP8QMzbrJ/XKzdJ08vocvhq5jX4uDGdjdj1uwMwAwp7TCU+0CPNSy1PP7tJosBm1cRC/7ZQGGGxphBm25SS1GGxVv6HEz7jwFdP2sg4p5dnUOLu0EWFPgPwKC1/PltnxwHolqWGASlZ3XkYDjLL1YSddFQy2Nj3LT98MG8Kf4WWEulV4JR7h/ZLm2l3PztaU2+tVydqr9xtGU92MAtL5n3h9hZS/gzbffPB+uw3XuTd+vzCfGTbofwTuBVGOunkq5NeV85Rfte9KYec00zP56XZ+Lttgyg8MrdfhZopbdXA9f0f/8paBJFv7VjmDzdo042rdOAWdxw5LL5I0w7a6TP4wLqaFquWViHUUHwqyK6D/l15m8q7BhjCnWId1TdAxg60TDbZPeD0nvyPKC37nlXX41L8cab8wDG40MK7kAM4THL+NuoNmOaB7OzvdIDvS0pjrhNc1G2yQPaOyWY00wnfYCPw+2hN3Aym/jilreIa6GH4QqcVgSzajQMdz5P9lPPaLxos/3PG2uP51czHU/nemudkO6rXWK7G1Yg9GeScv5I+fVtmdcafwior1TV0noh7T7tEzWZPBFo3wotv4+ZWWdsfB/iDIP9bUXp3uUJrqZhSQzs1wX4tykvJsYJ0P/J7kX0u2geu5pbJvESLMO3B8vd8MNIiUDf0/j/JO/uTGJe6cnyHpK2uTsa+oh1ccf8v0+Xp1YHnC/8o2HRppKc/I9finvD6zx2BjPVs+uPaukZTX1VKnMb0mEO+WytbLRiwPjX5CiCmDnVCUEet0dvjBBrp/kPKrvu4zSfkAqXslyvdkfOrldvQuCPspizMabN2F207+ZfrR+PHy0nlWYZcddG+Fe3snzwD0DFDUdYNMvVONg2bxDw9Xu0P3Zb2iOu+Nu2eZXtVvsF2YbCah49YBpsEG21eSLWxeDVKLwdbJC9N53Z81Pa5higNbXS4pz4Cw7j8e/Dmw32LHffWK43PCoPi8ou+xheH8Plf8wO+7Ulg432QUWR579EzWY7BVeadnk8H2ENx9/I5fkHN2pK/dMW62O4Zraq/+fBhNdTMKVZ7t3hl3utorXF77V7hrlb8zfbdCL9D563IfGeusrd/oZK2kbLD1rGs1OQ2c7qw98vNblreuwdbJn3i5t6QPnf2o48LzuLv0wV4x3jxja1W5pjLl76RxZ28PVndM7zovT/mfBnoMtjJTC3eW1/VUNlsH9+Xo1wb7CegfH+XE4mr0E0JMCdYRFOfXIJXPHXjXXeOW8g68R62zvrljXys3900XD3eJ8pUM9W/C+aeLXicvJC5hajcTdqDN5q+D3wh3H8LektysEcK/F+e3dfIaGH549jyTs/P9XMoGENf9fCn1LjbmzAf1u0/0JOWZiF3OddcwdbKR6v3Yidfb/5leFQb3lF/pcOdr/FZTo8HWmTMGj4t+y028ruiQt1d7g91eQXEX7tft97oqryvia/U/tji54YL+3MV7HuTX+1dNsV7hquLn0+6W67paXhuKwd//L+snTU6jgLsw/7To4RreRx2ke4Dpba+yIVPv1iyucrtEnet5fYu4fj/lGUO2F+5cfrfJS7vjLHJpd/V/QeL3IddeuXmi215HpbNAg82MMZbBHwavdawXXkc1/F8kaJi9d8Drz/rfTqIwAp3tiOc1Kc9msY2wX+DsaNfA52YW5rc41kkn70bvypzr/nuDtUt+GJe717/YsbWkkZR3/TIsjbG/Snl927aZ8GmTZK+LnfMzgFzH27Ojm/UT9LuO+l63iZQfWhsN5pRnEhv9hBBiKBzEbT1Q/QQbZx0KnbwWbrN9KfxAPtnPzLPz4WxJU/wbN278ecS51b8ig6zDVzuW3lY6bywQ5OefU8trovnCgbprWPTK+d2kOAg0GmwcMOH3wCivpMYFXgfrdsau0deP1fPjS/nPtNR3W70uFKZJY5DHNC5mWz4XQp2yi5U6Cyh3zsIe7A3Z0u7KNft6ZnmYTl97HZW0QINtJhtTnJXsWwPF/Pt8LjdI62i7L/dGno5Cnk6Ge0rUa6OxETl4n/N62uq9YOmfTSOLbTD6D6OTvy848uvOUUgDNkQwvSgTQoipoLJdaFG+ENoMtibaDDbIb+yM+M8LK8KwkXE1Gee8LSPJfaZmvqQ8E3pPlIuFwc1EqWGN5ULpDPjrMPqN+mkQMTpT2o0IMZnYl/AX83c9NYs12DgrA/lpXibEUoN2+sxBG23E/LB/PBjlg8NdmoyEKn+j8HZ+B67NL8rFmNBUoY2MrCiEaAMd7p2LHcQWa7ClsJZOLAZ1jINI+TMjPetE1wqrUfMpb3Ra1EMf+yD/EepCJ6/xbfQTQoipAx3iYTSionw+0GBLtrg4+hU4mKT8N0ZcRL21yLl+BuE/NacpxPLBBwu0wVdGuVgYs/mj0Z+vwjcs50Nq+ceETv5eX6Nfl9WwUsXoqH6mBFW0EOOJ7k0hhBBCCCGEEBOCHmGFEEKILhM+LE549oUQQgghhBBCCCGEEEIIIcRkotdUQgghxESgIXuhqOSEEEKMEcs7LC1v7NOCSlEI0Y96BrF0qDUJISYGdVhCiNVBvY+YbNSChRAjoK5CCDHRqBMTy0Jfw+oTCCGWHd13QgghxIqgIVcIIYQQQogVQ+a3EGsW3d5iaVj6lrT0MQqxyqhRCyHGCfVJQgghxBpCA/uIqKDGkDVWKWvscoQYP3STCSGEGBc0JgkhhBBCCCGEWAxr8blyLV6TEEIIIaYYGTdCrFV0dwshhBDDWM3RcjXTFkIIsdpoFBBiStDNPmmoxoQQQgghhBBCiDWKHvqFEEIIIVYIGV5iSlBTF0IIMTlo1BJCCCGEEEIIMW1M/bPw1BeAEEIIIYQQQgghhBBCCDGd6BWBEEIIIYQQQgghhBBCCCGEEGJV+H9qhENx+Fv54gAAAABJRU5ErkJggg==>

[image3]: <data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAaCAYAAABozQZiAAABXklEQVR4Xp1RsUoEMRC9oIVfMZP8hIWdIChY2okfcYUIV2shgoVg5x8Ih1hfJeIn+BFio+VV55tNdieZZJfDByEzb96bmc3OZgNceZt0S+TqEWdHFzUjbKV2m3TvMNMzE6+YeUUc7/wk7gW6p2SN8N6foLDxwS9QPEd8iPOIeIP7Euc0eD9H8zvEv9Hl4mSYH0Au81XB3YpZmQhw94bgzxACxyx2APcu22SyroSmiyGH4IyILjKJCI7FiPMdGTcshck3g7CGiytTZ16aUplorhFMHzLZ+zCvqxbZT8TUPRjXMhnvsN/X7NBmAuN1nOpftZDufsjYGkT8JmZiulI2TR6bKIgr05rkpYkPVDM2SpBq+GVH6Rf9IN0tNALbQ3KIv5KpOpVhGhNqW2q9gXJ9ZH5VE7nCdG2a9TF1yjTctL6oVWiaWuoprthAybpnzm09WWH6W4xX/on+u/KWGv0B9JxIM6ZSBPwAAAAASUVORK5CYII=>

[image4]: <data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAcCAYAAAC3f0UFAAABfklEQVR4Xr1TO07DQBDdFUh8CgoEEjjrHVvZ1FRUXAIJlIuEmp6cgp6SCiFFSpEGJOAAuQA1FaIwb/bj/SRAxyixZ9+8mTcztoXITOa++1nfRwIhIco+mGBrTyu0H0OSiFpVq0GOZr4UZmT2QJzh39V1fZqE15smeiOtP+BulrHcIEWkOyTMcrjYUDBuAQnTiJQm4wZJU9c0zXlaQeYtxQC3oVS9z5DWdAmlBbBnpdROkiCEMaNDBF/Z11qPofA0HA5rbq1t2xNLcnWlaJr2hleHARdVVR0EPRDJu9FQbe4HXMK/ttKcIZONsAPJbZA+cT/CkFMeFImP2dYCGZXOMFDnmpK8wnuvcoz7RVUNdvsEgFccDOma9By9fxljtoC/xD4sme5Y2lFt/w/A3n1skq6XH8bSV7CGlsasBIVbHDcSqh1X2CeZDpQNV04aIDfjn9x/MLepqF2ee1/aVzYJ2P5leJPLgEd+nbA/l5KhDee5S5ns0FXfZhb88LWl9g0d4z6248lqewAAAABJRU5ErkJggg==>

[image5]: <data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAmwAAABRCAYAAABv7vp/AAAb1ElEQVR4Xu2dCZAuVXXHhyUJ2SEJQeC9vnceJERMlIBRwA1JUAhLCGhE0JIISdyCyhIRd4wmLBIUiDGiBhDjgsGI4gLyHgSQNaxqNAaooIBiUZhXSIFFTc6/77k9p8/X3V9/833z5pt5/1/Vrek+99ylb9/l3KW/mZkhhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEELIxsokXELKcme4KPd25I4QQQgghSw8tRkIIIYQQQmgVE9IBGwhZalgHCSGEEELIFEHzlKwIWJEJIYQQQgghhBCywdjoFyI2+gIgKxLWa0IIIWQa4QhNCCGEEEKWFXUDdixztgo8ViyEkOUNOwCyDGG1XTlM07ucprwQQhaJiTf0iUdICCGEEEIIIYSQlQkXEQghhBBCyHRBC5UQQlY+7OsJGZsQwrmrVq36eS9voyiKrSTMBV5OphT2kxsVMcaXSvu8DM77EbKYDOtqZOx4mdbN93m/fgxLgaxcpujdSwV+pbg5OOlwX6Gyu7LM60+ITSStf/dCNKacrrg/9v5g5513/lnx+ze53NT7TQOSt4u1LA/zfm2UYYr03FtvvfUveX+Q4+3SWSlI2X1VnvNucY+Lu0Y62/d6nYzonhLUSBD3sNy/wetMM/mdSr5v934LQeK6wMT5JO8/KZq6MHlPfyNpvtnLM7vtttvPSL5+gLx5vy7y84i71vtl8O6H6YxK0zNOGi2TOZm4bu/92uj7rH31poIxC1sn83jW1roldXOXsESTCc3bOV6eyXmXPH4H91Ifdswyced6/eWCeYb9G2RwXQb0puL/30b3WK/QhzGr1vSBjl0K47JssKETkeuXoJC87iSQxvViifsBLwchdTKPb7fddr/g/TLIV87rtIG8a+X6rPfrABXz/xCuwxiDzh7Q69CZLsZoKfKcZ4h7TC43l7+3NK3EQiZ+P8D1Djvs8Js77bTTL3udaUdn/gsy2GZnZ7eRsK904k0kzt1E/uAkDLaWNBoZZrCJ/4HaNkbqV0T/aA3XanjsuOOOP6d6rTrTSC6TUSYafZ9V9TrLbSUhZfn6rro1BQYb+qrNvB/I42022AD6Mw23VAbb5l4wKpL3WXFfD8ZgA/Ku/jokY+x+2BvWL7N69eqDpDyu0jLY1vtv1EiBvM8aQXK9JQrK6kwKifdmce/xcoA05WVe6eWWkIxLVOyxK9Skkbw9qhXsUe/Xheh/G+GGGWPQG6azEtD6eJ5ev0Xc0Q06WB2+CNeYkXr/5QCMKrz3uACDDYM9OjQvB4gPcXv5qHSl4elhsP1Tbh/erwsxGoO2qU7DQ/U6daYNLRM82394vy76PmufcpsGpN48z8tGRcryX7rqVuxvsGHS8zHRXSfuCnFrxX0k9Jy4eLbffvtV+h7Qzvf1/iDqeBuNwQY03AY32LBgInnZwssXguT/w8EZbBL3K/L7kuuDrV9G/C4Sv7+CzsYw5o2EFMqpKMR8n617qzMJJM5LxF3t5ZmuF2jAatOPxX3JeyyUSVQImdH+iswKtpN8XTNq2Yn+N/tUTOgN01lKpBEeIHk8W9ze8h73yq5tFtWGhD9Nwr1R3Il6Xzu7KAPWc1EWM7qOJ+nubP2nnbz4KHVma63zIxlsWF1E5x5bjCmJ85Y4AYOtKw3PMINN8nTnmjVrflX+/hS63r8NM+B1Gh6q16kzTUgZ/BHKBOWB51tAmQx91lRuxVC9pUae/S+9bFS0jtzo5ZnYw2AT/+9LXl7u5RkYcuXFCLsHEudaSfvvNX8/8v4gj7dob1auYTa4wSb5OC9OyGDTSUmrwSbucazkW3/xO0bcX4jeXtCZ5jFvAMn07si4PMCLcA/rV673EdkzZ/QslzzwC+TBjhV3eC1wYjM8vPidgAHVewKJ6xQUYr5HAaGgrA7AMrumfRgGG+8Pttlmm1+UsCeJO1Q66ML6iexRCf9BK7MgTemMfh3XMc06jhYj6A8a9DDzedDLx0Hie7KXjYI818vwV/L9ZjyHDKq/5nUsovdSCfP6bHw0VUzReRL0oIN76Fkd1Av4i9tX4joQHR+2B7O/XK+OaZZyLAzKLAfIH+qL+L8KZYx4jDfqzJvE/3jxe46k/wzj14jo/m3oMYj0QeI5FXkWd7Pcbi55ebbz/4S41+Z7yePvWv8JgnKAEXq8lM8LURYQyvXv4F7kr0F5o13gXcj980X/z3wkwmbi/2ZxR86Y85eFnr0R+e1o13K9H+rEfLBmRO8zCCfuVqSb64fxvzEmgw35f1ZIZ0JrK9LyLDuIzmHid1xT+aHudKXhKYYYbIWeRZT4viTX13t/i/g/RfReK+6VXQZb1sP78EaMvo+9EYfW9aNE/8U2fEyD+HEi32fGDcN6jugteGfy7E+1fiI/HH653VRtboSBXMJ9CGWC8sDz9S2Tpme1QAfPDD3Em/XkfkstE5TH76FMUB5+MqVl8hpfJiLbQ/zeIO5EhJf7Q7LfkL4kgZg0Nl9MxeQMtjPM/Z6ur+w02JCn0HHODIj/zWg3Xt6GtqHH5fmerfkbGFNBHm9jT4Mtpi3Uk9qODsEAKnTMxyTJ+um7ep2+y72sH8aIkHY0UB8xzu/VonOouMMlnWD9gD7LfuKOx5nzottg+4I+43HWX+5vgh2BtOHvx0U9+4lFAYy1u2Z5TP0ywuw3k/o79H/HwD7Kx2qi1u+29yjypyM/EmYnK4/d7WezkLdt5eJefag5jexmCXimyi7Ujv6L4k4Laca2d05EBxLsA2P76E9DOpT8uuyfiT0MNnmAp4nsf5CmZPRl4r4i12dZHYnjYJH9UNwhaITy9yHbISBOca+xYTLoIG2nJXq3iPvn0LC9GNIZp8bKv1BCQ8MYBQl/Mf6iIuhzDmzjAW0w54i7RJ737xBO3D0IYyum6j0BPdX5NPSyjpT1FpoO3PlBD5xH0+hD6ixgeB0h7tt4hxo3Oty7xX1U9N8gf69FWPhpg1wbUqd/pMbf+M4yaBCic2NuFOOC+ijxHYvyKdQAwiCV/cXvIWuANhkc42LK4XKUg+Tjk7mMgjncj7Tttoe4S2w88BfZbSGdOzpE3LV5gI/zWyG3y9+bYmrX/yru4zKE+HGtRNr7b5i0snvE6kg8N4hsD8nzlfL3o+IeEner1ZH7x/BMRTJIvyvuslzGfdLwFB0Gm56LxQQT6ZYfOqG9ez0gfk8O6Uwnyhh92lmafs1AkfuvZb2Y+jjoVToaJrtvibsU19lfz3jhuZEfnD2FIbkV/GL64hWrLZgEvV2u78rhtO2gTMt3iTgXUv8k3A9RJpr+nM2bJwx5VtVBuUGvLDfVQ7zZYMMEo0ynSIYiygT3Zb+n5YG6hzI5PmiZmPi/KXGcKO5P5Ho9dCHv6kv6grHCy0YFacp7OEj+bivxfS6kMbFqi3GIwQZCy8duGfE/I45wflr0jxX9z8vlJiGNnY3lMorBFtMkC5NjGEU3y7MeM1M/GwfjAe8HbWf/kFZwj4KHvKvfkuvvxWTwod5dPWsmYnL/n5pmzRn/54t7SNL8oNavh3P/rCBt1NPrYurDrxZ3eWgx2BBW07jN+sNP9faCvzfYRHaruMuKdB4e4U9TedUvq7G8Ttw/htT/lfVXwlyvecPYeoKNF+1fZNeK/5/jGcV9JRtusaP9DNhLsJghQOPIMk0UAb5QKaZD2j/JN7kRwtLNMg1TOxSPuFCI+X4gAzMpXHRnDYpkuL1d/dHQ8TDl9pRawRciD1lf064MSovIz9cGh1nku8RF1V/vdaMaErhuHNUWAGYLMW0BvdH7DQP5iWbrCM8g7onotqXk/lVajuX5rIzIHoTcGGOlntXJeg2zRpTR47iXst8H5a/GHg6eV8vacv9xTRsV7wFxV1j/Qiq2xgHDpFq9RF7ikG1q0f+0l41DVIMN1/L3YrnfXf7egnqMepXrWGYhA+YwcjmsMl/woSzydUhGWG2wljB/GMwgUaSzMChzG+5S0wmUBhtc9lcdyAYmVhmduCHexu3KmAy2KnxIHbdPAx3eAeYenavXaU3DU3QYbBLPR9w9nu9OK1P5hT4Pcb6OW2MMeuUg5PRqRozk6RgTH45SHIELDFI+nZAmxj9VAwTPfUr2w6Q49zPi90CstysMCLP5vi/BnOPVujbQ3kGfZ1WdOa+nMm/YQVYeS5G/R6CvyHLJx5ed7r06FqA/q4wZud7T9PsDfUnQvqQvhTPYRu3T16xZ89sSx/U6TpbvIqTJ/ulZR8us02CLbjXJI+HfE4ZMXjNqMDyaP4bK9arQnTJLH4MNOhL2f8Pg5OxD0MM1ykGufzpjDDi5v1TCvSP7N7xjpFv76CWkL+4HtkShu1p3GUDUM2a4lrJ/qqZde30h7QY0Gmx6XS4+ZT9d4CnjwPuAnx3z5P5t4k4y95io1PqpkPrmagcG6auOraPYpZsTtwfuxe+NNh8g7zJYmYYZaD818ozXyopk5SETtpOEJV8O3h5kVl8oEqyd/4pDDLZ81sYvn2vHV87cNV582dfa3qAz27K9Jn73yTNdmTsCgEqQBzdLSLPbxg7OsAle+IjuSIn3UTyXj6yLkFbLMNMpiXqYPLjGXaSZH+S1wTg4gy3rWZ2s12Swyd8brJ6Ef7nKq2cT2T9AVqQvdLDCh3zch2e2q1cxzeDgd5F9pi5E9wM2Le9mWr6OaiOk2WFpsMVkYGJF4636XAPb/othsMX5cvgJykHud7H+IX0802mwBf1pBdvJWeK8wfaQlUMWOyYOPQ223zf35ezQ6hg20fjwNddA59SWhqdoMdh04jbwfFoutfcW0spALQ8od9XPhgf6uPXoGxr0ugy2ipAG81r7CGl1CrroN7DiiTRxtvdgN2Cg7dyHOGy76UPuGHXFsapPUeuaL4+Zns8KHYT3evoMTQbbwM8pqPwCXyYS59PM9jgGubfO1A2C1r7Eg/zNxz9r08GKYHUPh9UgH76NmCa4dwTzrFghtwsVcTIG28mhp8GG9iC6n7Eyif87QVcmLX0MNonvRXp/hdMptzD1GiujA/W9CYlvKzM5qbXb0GCw4XgTdOUdviC/o6CrwxrmuKa0Q4vBFuc/KttV81CmV5hjC5qGN9j+S9wJOQ+qgzPt1SJDSCuFtv/b1+ctpJ+CwnhYHrcJaUevKf9z9vgX7kND+6kRG77aFNm7NMHaYVWRPWGutxW971gdhBHZV/M9iEMMtpDOgszZBgCKdD5mzmyhfN/6e1Sn9vKAGhG+0rUaftGssE0K3W//ssT7Ae/XheTl1b48gT4rOuHtjKz8HaowOBOuGWxZz+pkvSaDTdwXrZ7I39kU3hPSthmeeeDrvZg6wYs0/savejPBn/1ofXP9COkMW3WuodBzXSFtBd09r5loGOgmhqS9RssBg7RtEwPbYUU6SG4NNpRdters0ZVQ6Nxv5So73sos2WAL+nUhBrdZc3BX5Dc1GJK+w0L4b+YBVutBk05jGh70MbHBYAvpvCEGeSvLK0J3ODlkvh7WDDYM+rj3A7rq9TXYsnHWCvqDmA6LlyuPrtNGu8GAXLYb0XuhDTsMCfOJBhnKpFYefZ8VOk16Kh8w2KJ+zNMgf5eXZ+R5t4ppK+1cjbf2ZWvo6EuGUYy3JQqj9kGMQbPp69knpO4f5JW0zMYy2Iq0PV6bbLcheuujM3rQD2g5v8TK+xhsUft0ceusTtQz07guOlZqQUhbmtiyrHa5NE7fPh9epcdbcr1HGI278dcZJB+fako7tBhsIjvf6LwupPNssFeqsRTvA3HmMU9/h/UJ9GdZpwkJd0OP/q88Oyp15rka75zXUb3HxB1q7hvbT43csVtZSNZ+k8FmBxV0lj4cMnaZ2yY9HYWY7/VrLhvPtri3nZbKcS6u3NrQeOe6fg9LdcptCSfH2Qmb3p1RtxOLhq92YsPy5biEtPV2ppcPI6QXP9CIc3mE+tJsaQBJOu80qpB7g63UszpZr8Vgu9TqYRbUFD4jZfo5HOrM96i0WV/+vlvi3T37hXS+rvMDD/i3HYBdCCH9iHJlsGCwkD+bomMX9yajmv2f4mXj4stBV5nvMf6lwYZZapYVaRZsDbbymEBoORuDs2zqP2Cw+XZtMQbbNbhHvQ1m5VGub+3qsOAn9w+5c4HlFoHo7hP0IG9XGh7kNzqDTY9k/Niv/BTzZ1d831S2AyszdTwbHjgnA73a0QrV6zDY5mcRIZ0BamwfugtxtpXhuRAXrtF2sjy3m+BWUrrIZeLluUxsfZrp+ayqg3zU9FTWZLA1GdbQrZ2XyhTuY42Qzochnl26+pK+oF17WV+0LtuxA89Rvr9CPwQDWmbjGmzvyPVgGBLXp7wMIH8SxyetLI+3sdtgO0zvb3E61XnuOGQho0hbqr7NIc63od4b2cP5nQY1VuL8eduY9SxFy+/ghXaD7QJco1Xq8+NM2dl4TqO3F+K0Y56kcyXC5/smwuCEFRPpWt4KnaAiDdyHtEJb08l21ypzLEbDDLSfGpjZ+sjk/t2QFd0GG85l+HBz4i6zhlXo8TtsGq7WYcv9yXH+pxdKizWmL+GsjjVYEMdbrL/Kv2/Tk+t7Z9KXdVugkhnVEpG/3+dvXEKauWzq5cOQcI81rTwEXXLF3ywrdKsyuM/Pg25pmC3RUm/GjDLa0a93y8PlcnIY/IkTzDpvKtxMRO7fq43lkei+5Arzhjc+cqjOoOA6DvnZCegUeiZhEoTUCdV+2Vru95d8XIWZtBGXWzOzDdvm4+LLQWXVPTqOkOp7tbUV0scf9qBzOfsN5gxXkc4Zlh12nN86H8lgy1sZ4r6Oe/l7jugfmP3xvlyHBSOsai9F+iBobb4HQb9UDmkb8EiVtabhQX7xvE52QFPd0S/JB7Y/g25VWpkxiqyBAr3qi0CjVzNOYjoEP9BPoAMW+SMNE9CrYzovia/VK2MWq+RRV0UQbj5EeY8PvUoDQXSeGVsG6syQMsF7r46EgD7PqjpzXk9lfQ22R8T9oKFMZn1djOmjDMSD+tval/QF9dHL+hLdeV/NVx6T3mb0xjbYEF/R02ArnJGb0Xey3hq5scfvsGn/X/7yv9NZm2VYFQvpQ4A1Tmed6TN8eMjwXAcY2QPZPojGgIJudKuwUX9bLqQfycXqZrWjBIr0cWKTwVatsAHNxwMzZgUP7wNyN+bhONTlM2ZbHr8sEcxHVXJ9W1f/pzLkyxps5Q90O50BQ0/DDLSfikKtYuOwnI/PyisZloCD+8IDYVF4IX1huFbc2ZpJHNqDzo+C+ULJuLvc/SWwG9CBFelTXHxxgR96xd/afryuQqwNaZ8ZBkvtMHqRzmZ9z8qAplMty6LyiPuYFMzn89JsRs/ErEderHwc0GC8bBj6fMh3dpXRhA7I+aEjLhu6ziawtXdLkT55vjXMz5CrypF/swp60CnStnHWuyvWvxLNYWvL1SK7Tv2wxYofHI4qfwTlK3+/UaRldLzL8ovfkAwVzIpwbuwsCXJV16ppBvkRdyYqs9S756hhtRADGHl9OKQvXKvVVbm/YvX8T7zAIF0X0rPhPcChrDq3bkfBlAPqMt7Xd1EW2V+PAdwo7p4ife27NtTbZT7ngA+Bzhb3PXFfsx2J0Z0rUrvG17yVDC7rembTKiomZN+Ket4tmK+ksstnT4w7XXXvF/cjCft+yf/bsZ0m93fbdtWURhuFM9hcmgOdnndRDV8Y3yrDije2WU7IOjZvoZwgFqVeSKudNb18bVzt7I/GcY/64d18GINiTAYbJpCI99Qi9ZkPmzAwbNBucCa0ajdA8v4M+IWGFXegaZXOldXAe8vlof7lZDi0PCt0tNygl8utXAHOLpqv3LLL8WeK9J83UCbok8oyUTm2f9EPoT2cpjrlGaHQ0Zf0pRjDYAupj8NAn+8/K/FdH5xxhvL0Mk8cbrCdVHQYbGF+bM2uOk8e539mxbpyZdbJLllV/9dUpcvxoG8NaZsOZ2gxVp88Yyb2QOWPSZo3FOnndEp/ke0Z0s/0nKfv6vxCV5qC+VIzJOML7/i6wqwoh7TTVu6GaRnfUbhFgZDeP9oP+kx8VftVjb/8MjxfZxd17A3pJ1OertdlGs5VE/iQVsgx4cOqHPqsfGRmoB01OOwmYregkkXdzdNjEDhniPEHW8frCt296dN+JoYk9jz7m2iSiTX2680RwdZUzYL3iP+zm7bIivQTE7XZq8qfZe8BKriXgTC/qrSH91so3ijcEKBy6pkTfL22q5/ZAszCtBKXhg/0nMpQpBx3wYzcycqyxTK4XOOAr/36uPSDHG7GdQbDkHf5jpAGDjRaGFGtP+EwzeRywLYlygEd5cxgWaAtPAtL57iBYdtWlxBH0zseE/xG3W5e2If8O0fGCC47LKuj9EqjaFhhWygocxg/WAnD7Fqun9bUn2Q9XEOvSWcI5e/U2dWOHfUHsHGd2wAO3Wd/1IumdmMRv1eXF762jEHfZ83lpteN5TYE7GzsbssEY4cOZmV52AkcykN1Osuki2IMgw3vxr4fgP4G79HKYg+DLQz5F0gx/QxLdZh9qZB8bJGNm6Y6hkUN9PmVTp2yz4pmkaJIZ2xrMen7fN5Mw5k1lPfqlt8xy1/x57FK60dDLscDdRD1baYhf+Mym35fbqQP5VYkuuKHLzqqA+WZvm80pFlv549MEkI2LJM02JY7MJS8jLQTWs54TpI+BhshC6UY8iHEskW3NNd5eV+KtEQ78lYbIWTxoMFWnTOqztIsZ/pOoJcLNNjIYhIajnqtGIr0i8L49xEjIWGOattyIoQsHTTYSqNgy6Lhh1HJ0kODjSwmwf201jKh/7xMHvCa2PBrym3oP8j9hpeThdP/bRHSDQy2sNiHcQlZAJhIaN2kwUYIIYSQHnCWRAghhJCphsYKIYQQQsbCGBO0K8DKLIWV+VSEEELIDAc5QgghhBBCpphh5vowf0IIIYQQQsiiQXOcEEIIGQsOpYsLy5cQQgghZOOG9iAhyx+2Y0IImS7YLxNCCCGEEELIsoNTOUIIIYQQQsiSMjWTkqnJCNlAjPLGR9ElhBBCCCGEkA0DZypk44A1feXDd0wIIYSMxqTGzknFQwghhKxkOF4SQpYO9kAbFBY3IROHzYqQFQAbMiGLw6K3rUVPgBBClgnsDwkhRGGHqLAgCCGEEEIIIYsF5xuEEEIIIYSQybEsZhjLIpOEkKGwLU8zk3o7k4qHkAXDSkgIYEsghEwIdiekP6wthBAyFuxGR4dlRgghhJDFhxYHIYQQQgghhBBCCCGLDBfhCJlO2DZJH1hPCCGEEEIIIYQQQqYeLuEQ4mCjIGQpYMsjU8CGrIYbMi1CCCGETBaO44QQQjY6OPgRQghZtnAQI8sYVl9CSCfsJHrAQiKsBYRMNWyghBBCCCGELCk0yQkhZBpZ1N55USMnZFphxSdk4rBZEUIImTY4NhFCCCFkCqBJQsjiwja2fOG7W4bwpU0jy/atLNuME0II2eBwzCBTCysnIYQQstRwNCaEEDIqHDvI1MFKSQghKxB27oQQQgiZImiaEEIIIWQlQhtn5fH/1Kv2w6kQgecAAAAASUVORK5CYII=>