From 474077f4320416a399d22dda4d469ccb98d24bab Mon Sep 17 00:00:00 2001
From: "vincent.steinman" <vincent.steinmann@etu.hesge.ch>
Date: Tue, 11 Oct 2022 11:57:25 +0200
Subject: [PATCH] Edit + show

---
 tp/src/main/java/org/example/Address.java   |  30 ----
 tp/src/main/java/org/example/Contact.java   |  39 ++++-
 tp/src/main/java/org/example/Main.java      | 162 ++++++++++++++++++--
 tp/src/main/java/org/example/Person.java    |  38 +----
 tp/target/classes/org/example/Address.class | Bin 1685 -> 0 bytes
 tp/target/classes/org/example/Contact.class | Bin 2873 -> 3693 bytes
 tp/target/classes/org/example/Main.class    | Bin 1443 -> 5165 bytes
 tp/target/classes/org/example/Person.class  | Bin 1700 -> 1240 bytes
 8 files changed, 190 insertions(+), 79 deletions(-)
 delete mode 100644 tp/src/main/java/org/example/Address.java
 delete mode 100644 tp/target/classes/org/example/Address.class

diff --git a/tp/src/main/java/org/example/Address.java b/tp/src/main/java/org/example/Address.java
deleted file mode 100644
index bffb6da..0000000
--- a/tp/src/main/java/org/example/Address.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.example;
-
-public class Address {
-    private int number;
-    private String type;
-    private String name;
-    private String npa;
-    private String city;
-    private String state;
-    private String country;
-
-    public  Address(int number, String type, String name, String npa, String city, String state, String country){
-        if(number <= 0){
-            throw new RuntimeException("Number need to be bigger than 0");
-        }
-        this.number = number;
-        this.type = type;
-        this.name = name;
-        this.npa = npa;
-        this.city = city;
-        this.state = state;
-        this.country = country;
-    }
-
-    @Override
-    public String toString(){
-        return Integer.toString(this.number) + " " + this.type + " " + this.name + ", " + this.npa + " " + this.city + ", " + this.state
-                + ", " + this.country;
-    }
-}
diff --git a/tp/src/main/java/org/example/Contact.java b/tp/src/main/java/org/example/Contact.java
index 14dff85..3a542e0 100644
--- a/tp/src/main/java/org/example/Contact.java
+++ b/tp/src/main/java/org/example/Contact.java
@@ -3,14 +3,14 @@ package org.example;
 public class Contact {
     //Fields
     private Person pers;
-    private Address addr;
+    private String addr;
     private String[] phone;
     private String[] email;
     private String[] social;
     private String job;
 
     //Ctor
-    public Contact(Person pers, Address addr, String[] phone, String[] email,
+    public Contact(Person pers, String addr, String[] phone, String[] email,
                    String[] social, String job){
         this.pers = pers;
         this.addr = addr;
@@ -21,8 +21,10 @@ public class Contact {
     }
 
     //Getter
-
-    public Address getAddr() {
+    public Person getPers(){
+        return pers;
+    }
+    public String getAddr() {
         return addr;
     }
 
@@ -44,8 +46,10 @@ public class Contact {
 
 
     //Setter
-
-    public void setAddr(Address addr) {
+    public void setPers(Person pers){
+        this.pers = pers;
+    }
+    public void setAddr(String addr) {
         this.addr = addr;
     }
 
@@ -66,6 +70,27 @@ public class Contact {
     }
 
     //Methodes
+    public void EditAddress(String newAddrr){
+        this.addr = newAddrr;
+    }
+    public void EditPhone(String[] newPhone){
+        this.phone = newPhone;
+    }
+    public void EditEmail(String[] newEmail){
+        this.email = newEmail;
+    }
+    public void EditSocial(String[] newSocial){
+        this.social = newSocial;
+    }
+    public void  EditJob(String newJob){
+        this.job = newJob;
+    }
+    public void EditFirstName(String newFirst){
+        this.pers.EditFirstName(newFirst);
+    }
+    public void EditLastName(String newLast){
+        this.pers.EditLastName(newLast);
+    }
     @Override
     public String toString(){
         String w_phone = "";
@@ -82,7 +107,7 @@ public class Contact {
             w_social += elem + " ";
         }
 
-        return pers.toString() + "\n" + this.addr.toString() + "\n" + w_phone + "\n" + w_email + "\n"
+        return pers.toString() + "\n" + this.addr + "\n" + w_phone + "\n" + w_email + "\n"
                 + w_social + "\n" + this.job;
     }
 }
diff --git a/tp/src/main/java/org/example/Main.java b/tp/src/main/java/org/example/Main.java
index 08578ea..19195df 100644
--- a/tp/src/main/java/org/example/Main.java
+++ b/tp/src/main/java/org/example/Main.java
@@ -1,16 +1,158 @@
 package org.example;
+import java.util.Scanner;
 
 public class Main {
+    static Person p1 = new Person("Doe", "John");
+    static String[] phone = {"0"};
+    static String[] social = {"S"};
+    static String[] emails = {"a"};
+    static Contact c1 = new Contact(p1, "jst", phone, emails, social, "j");
+    static Contact[] contactArray = {c1};
     public static void main(String[] args) {
-        Address addr1 = new Address(4, "ch", "de qqpart", "1876", "idk", "ligma",
-                "balls");
-        Person p1 = new Person("John", "Doe");
-        String[] phone = {"079 779 77 99"};
-        String[] email = {"fdp@gmail.com", "yo@gmail.com"};
-        String[] social = {"None"};
-        Contact ct1 = new Contact(p1, addr1, phone, email, social, "Homeless");
-
-        System.out.println(addr1.toString());
-        System.out.println(ct1.toString());
+        while(true){
+            System.out.println("");
+            System.out.println("[0] Add new Contact");
+            System.out.println("[1] Edit Contact");
+            System.out.println("[2] Delete Contact");
+            System.out.println("[3] Show Contact");
+
+            Scanner myObj = new Scanner(System.in);
+            String usrInput = myObj.nextLine();
+
+            switch (usrInput){
+                case "0":
+                    Add();
+                    break;
+                case  "1":
+                    Edit();
+                    break;
+                case "2":
+                    Delete();
+                    break;
+                case "3":
+                    Show();
+                    break;
+                default:
+                    System.out.println("Please enter valid number");
+                    break;
+            }
+        }
+    }
+    public static void Add(){
+        int size = contactArray.length;
+        System.out.println("Enter first names");
+        Scanner myObj = new Scanner(System.in);
+        String firstName = myObj.nextLine();
+        System.out.println("Enter last names");
+        String lastName = myObj.nextLine();
+        Person p = new Person(lastName, firstName);
+
+        System.out.println("Enter Address");
+        String address = myObj.nextLine();
+        System.out.println("Enter Phone");
+        String phone = myObj.nextLine();
+        System.out.println("Enter Emails");
+        String emails = myObj.nextLine();
+        System.out.println("Enter Socials");
+        String social = myObj.nextLine();
+        System.out.println("Enter Job");
+        String job = myObj.nextLine();
+
+        String[] phoneList = phone.split(" ");
+        String[] emailList = phone.split(" ");
+        String[] socialList = phone.split(" ");
+
+        Contact c = new Contact(p, address, phoneList, emailList, socialList, job);
+        contactArray[size] = c;
+
+    }
+    public static void Edit(){
+        System.out.println("Which contact?");
+        Scanner myObj = new Scanner(System.in);
+        String contactNb = myObj.nextLine();
+        if(TryNumber(contactNb)){
+            System.out.println("[0] Edit First names");
+            System.out.println("[1] Edit Last names");
+            System.out.println("[2] Edit Address");
+            System.out.println("[3] Edit Phones");
+            System.out.println("[4] Edit Emails");
+            System.out.println("[5] Edit Social");
+            System.out.println("[6] Edit Job");
+            String usrInput = myObj.nextLine();
+
+            switch (usrInput){
+                case "0":
+                    System.out.println("[0] Enter new first names");
+                    String editFirst = myObj.nextLine();
+                    contactArray[Integer.parseInt(contactNb)].EditFirstName(editFirst);
+                    break;
+                case "1":
+                    System.out.println("[0] Enter new last names");
+                    String editLast = myObj.nextLine();
+                    contactArray[Integer.parseInt(contactNb)].EditLastName(editLast);
+                    break;
+                case "2":
+                    System.out.println("[0] Enter new first address");
+                    String editAddr = myObj.nextLine();
+                    contactArray[Integer.parseInt(contactNb)].EditFirstName(editAddr);
+                    break;
+                case "3":
+                    System.out.println("[0] Enter new phone numbers (use / as separator)");
+                    String editPhone = myObj.nextLine();
+                    String[] editPhoneList = editPhone.split("/");
+                    contactArray[Integer.parseInt(contactNb)].EditPhone(editPhoneList);
+                    break;
+                case "4":
+                    System.out.println("[0] Enter new Emails (use / as separator)");
+                    String editEmail = myObj.nextLine();
+                    String[] editEmailList = editEmail.split("/");
+                    contactArray[Integer.parseInt(contactNb)].EditEmail(editEmailList);
+                    break;
+                case "5":
+                    System.out.println("[0] Enter new Socials (use / as separator)");
+                    String editSocial = myObj.nextLine();
+                    String[] editSocialList = editSocial.split("/");
+                    contactArray[Integer.parseInt(contactNb)].EditEmail(editSocialList);
+                    break;
+                case "6":
+                    System.out.println("[0] Enter new Job");
+                    String editJob = myObj.nextLine();
+                    contactArray[Integer.parseInt(contactNb)].EditLastName(editJob);
+                    break;
+                default:
+                    System.out.println("Please enter correct value");
+                    break;
+            }
+        }
+        else {
+            System.out.println("Please enter valid number");
+        }
+    }
+    public static void Delete(){
+        Scanner myObj = new Scanner(System.in);
+        String usrInput = myObj.nextLine();
+        System.out.println("Which Contact?");
+        if(TryNumber(usrInput)){
+
+        }
+        else{
+            System.out.println("Please enter valid number");
+        }
+    }
+    public static void Show(){
+        for(Contact ct: contactArray){
+            System.out.println(ct.toString());
+            System.out.println();
+        }
+    }
+    public static boolean TryNumber(String nb){
+        int nbInt = 0;
+        try{
+            nbInt = Integer.parseInt(nb);
+        }
+        catch (NumberFormatException e){
+
+        }
+        return (nbInt < contactArray.length);
     }
 }
\ No newline at end of file
diff --git a/tp/src/main/java/org/example/Person.java b/tp/src/main/java/org/example/Person.java
index 4650d21..dfc9560 100644
--- a/tp/src/main/java/org/example/Person.java
+++ b/tp/src/main/java/org/example/Person.java
@@ -2,48 +2,22 @@ package org.example;
 
 public class Person {
     private String last_name;
-    private String[] add_last_name;
     private String first_name;
-    private String[] middle_name;
 
     public Person(String last_name, String first_name){
         this.last_name = last_name;
         this.first_name = first_name;
     }
-    public  Person(String last_name, String[] add_last_name, String first_name, String[] middle_name){
-        this.last_name = last_name;
-        this.add_last_name = add_last_name;
-        this.first_name = first_name;
-        this.middle_name = middle_name;
+
+    public void EditFirstName(String newFirstName){
+        this.first_name = newFirstName;
     }
-    public  Person(String last_name, String first_name, String[] middle_name){
-        this.last_name = last_name;
-        this.first_name = first_name;
-        this.middle_name = middle_name;
-    }
-    public  Person(String last_name, String[] add_last_name, String first_name){
-        this.last_name = last_name;
-        this.add_last_name = add_last_name;
-        this.first_name = first_name;
+    public void EditLastName(String newLastName){
+        this.last_name = newLastName;
     }
 
     @Override
     public String toString() {
-        String w_last = "";
-        String w_middle = "";
-
-        if(this.add_last_name != null){
-            for(int i = 0; i < this.add_last_name.length; i++){
-                w_last += this.add_last_name[i] + " ";
-            }
-        }
-
-        if(this.middle_name != null){
-            for(int i = 0; i < this.middle_name.length; i++){
-                w_middle += this.middle_name[i] + " ";
-            }
-        }
-
-        return  this.first_name + " " + w_middle + " " + this.last_name + " " + w_last;
+        return  this.first_name + " " + this.last_name;
     }
 }
diff --git a/tp/target/classes/org/example/Address.class b/tp/target/classes/org/example/Address.class
deleted file mode 100644
index 7c34d20d538d5d24bba2b7fc57e1fe110e0b4bb5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1685
zcmX^0Z`VEs1_nC@A1($a24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00Sb_Nbc1}TK1pwhgO%-mGhisaOSlFa-(4hAkp26?~I+@#bZg}l_%6ory}
zg``x4q|Eg6)FOqFjKn+z11<)31|E=wyo?N@8a`QYD}zglGV{`{HN!X=_!$J)83cJ4
zgcyVw8HDqT()Cj-5_1c3QuQ5EQi@WGiy0Z%^1#+GGBA3A)Qj>kh%tyWGO(0X7NjyV
z2w|EFQYFd5AO%*HmzbLh5|H6xkOc`a=M^M^`0_jq3Lrj9a%M>-NI;2)K^Y{#T3nJ?
z0@k9+!=MHdVNcF4%_}LY<YLfZ&}3)O;$hHc&|zc{M0m(EuOu}+wTO{{qa+{VIgpP%
zH8I^L#K6Fy$HSn{V8F;Ao|~AR>YSgKoLCZ`S(4$LpI2Oxm{(HF$S?^@XknT~I}t1n
zXJjbQ@T8rMm?mq6F*2|?=clAHGVuFk=A}XsTS#J34mj5HlM{2o5{oiHe5fExNk(Qd
zBZH_9mSkkj$iN$1l9-(Bn^*u=&dy+ok_}+dCZd7W^IXCCrA5i9ZkZt4d7x=i50nBJ
z83dg2^Gk|LiV_QaQ%f@PQ;PZ780@(i92gwg8Js|I?aaua0#XXeaG7~!`Pr%Z5DOvE
z@0OTcl3!HG$S?yr;-Ly5hI%CCrR1a*tN7&SXO|XOV}=)!2#Us#%7RoZ%A=9gLy7=v
zWRF9Qa8At03C=7@wdP=OWn>UwRA5wK)PWK@3XF^lJf3-ZsYT8?iN(dK#q10oj0~z6
zKE>t%b_Op-208pn85!6hzGYBk;AdcBU|?WpU;>pC3=9lRph5slOEHLpX;~<(0Hu|o
zv>KFVWME}5WME`4VqjqS&cMvT!N9;^rL~=bQF<-|?`{V6NFmPc4BY#*q_;BgY3Xcb
z5Yf`z${?X7$+DF}T1%33D}$VtB->U7MJ-A8tqdv~85kIt8H_=>nSq;ufq{pCg@KoW
zgMp7hh(UlsoI#L5hCzrykwKV2ok4^_mqC=lm_dxel0lrogn@w}2x2>fDT5gU2v~uA
z#Rzf{*k2&OT7e2M24=7r$ZsrQ7RYz3U>3-KY+x41hwKdI3=9nN42=I7gcvy38Tc95
z87$Bc0|NsigEoT|G!Xn5*cm`ps%mXv;M>8VuC;|hL~9F!gw_@YX{{{`a#~v$6t%W6
zsO)0UWnkC<4r7pi*}$5l!T#U@vsIz~U}mretFmFRWnf_7U|?jhV_;-(VQ^z$VBlh4
NWN>HjWbkH?1OUfwl7avL

diff --git a/tp/target/classes/org/example/Contact.class b/tp/target/classes/org/example/Contact.class
index f10690f1ae5b05e56b3aabbe20d397a5200bca50..90149e1f5120b89e0d5dc82f9bf65d6683aca544 100644
GIT binary patch
literal 3693
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

delta 1345
zcmaDWvr~-g)W2Q(7#JAr7!oIPHH(V+<QJvur&c897UZPrJEo)*r4|=YoFA?u$H>5(
zm7m1OAmo#kSeB@tlbDyTA6!zDnU`+O!Jxp%z#zoHz@Ws#pv<5$xqvZTL5)G3ok4?#
zL6bp?kwFOA)PU5Y;{3eH=NXlBxEORm%5)hSgppN1?G<8RWY7nhXu!zOpfOpHDQfZp
zMpb4;hVsdcOk&t{Oy0$$KKUF|l^n<fMh0;WO>F+Lo}AC@DGyO1p@CI}X4vEh%x;qn
z8O0{AVX<KJnf#Q+gD;4SA($bAogozDrm)G@tVg&a7#Wxu85KAfq9${)$+N^VGN?{o
zz$!kuj+Kv%ogto)K@QB#V{_-1V_;z5VPIrnWiVu5WH6e1gw34Mc=8`Mb$$~D1_loX
zb_NCpH3m}#v&ly6*7b4>Yz&MH<_s1fwG0dl`V5Q=j0_A6tXf+bcsDRGFfcI~GcbS^
zF)&CmfQ$ec&cMJ5GJ=7Dfsw(I!3v9JL3GV>*feu6SVMGAHslafN7$r<O)-NFRBaxI
zSPDX|8dkNo3|d%RC5`SXEv%aD80<lsCvV^qHw9V5#lXbCz+lM0%3uUmF9znbL4yDk
zJp2p-;E;1*a0KgY;1sV%=rm<uWiZ2`Q<y;ntkVgi6P!nwAm(dnZ)FhO2#*AaD=ZmU
z8LV)aB@Q*q8Dy3pgAux666l86GO#k(;V?`JYM2XyE7(g9xWzpYUUFn$WpKiwQ<gyv
z>?KWD959wJurY8jFfc3?lJ^mk_Z5<#e2+(oQE@UOuNI@?WF20udPN2XzZN#e<^P{)
zZDC;F#-IvHfZG_fwRLp0wlGNVV$fq?07V`%I6ay%@G>wkxHB*_crdUrcrtJ@cr&On
z_%P@(cr%zV_%Q@9_%lQ@_%XyY1Ts`J1TnNQ1Tu6ngo54c!NAU-%D~Cs#vsSQ&JX}$
z)iba&R705H9I_M|x6BNS7~H|$VPlxj;K3lrz{J4GFo(gDL5_i$!Ha=`!I**VKZ7^}
zJ39jhJA*e2`7$yxF#KSU`NzP^&fv?)h{|MOX7B??t3N{k0|Nse1CtCxAOj;qIGBuN
Uh-P45;9_88h+&9hNMMiz068MPb^rhX

diff --git a/tp/target/classes/org/example/Main.class b/tp/target/classes/org/example/Main.class
index 408afad89cb648fafc7cdb60f5cdd52ab92db623..c85a5a2fadb8dd33a5b7275e60c107969aa4c652 100644
GIT binary patch
literal 5165
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
Cyw3gr

literal 1443
zcmX^0Z`VEs1_nEZNG=8@24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00Sb_Nbc2I2gobp6zd#N2|MRDH*kl%mw)Vh#o_Mh2$j3=Re!Mh4E5RE5IA
zg2bW{4hB9(1{OmLb2APG0Y(Pq%#>^n1|dcU)||}r+(Zrr5k>~qq{N(@VlD=D1~HH$
z#2Fb1G(3F}?g%a^%FIi*rkx1LSCWhjLdd=fNG&SP&*NZ_W@KRT%FoE-V31{GV0Ot*
z<zkRvkO#R_fssL7gBVAFj8{SlS%{A~7*rS;cn!=g70kg{!P1h0L5-1tH!Y>WAw4%S
zGe<8uKbM0+gOP!!G9Ot)i;;oFFF!Apok0gJGMw}CN)nSxI2iO888|%hb5nCti;KA!
zv>6OQPBvs@DA(}8^rkh67&JnyqcJ^4oDily%`i>|V+Ip;22&meGX`_iz^E)PNzG+s
zV9qZsVPp`6XwJ;n4=BpaD+w+sN=?kQ1|<$l9tJB0Yeoi+l6*+`F*1l~XhM{O(<?;O
znv21f!H%85o`=DK!I6<c7@Uw$&0}O>F94aIlgG#)iX{#;!$3i1$<E-y$RL0mT)v5!
zd5jD!&iN^+j12rfnR%&xrMXF|MInhvIjM{cLO%J)i8*13MVTNzRFI`4BeNJRhm>hR
z23a#Qu;hXb6w|;Gu$p0v3@nL7>BWo;!dRpk8CVljQi=>gL5A!^SnM$}FclawGKio=
zEhJT2GcvFiWaQ_iGBU8Hg3=iy16y%^a%N%<BLj1C35Jo-L}ks$z!jWdT9lmXmI?AL
zC&&|epx|XtWN>C+VgLaq21Zap!obMj%D}*&&%nsQ$iTqBs<oYgaU%l*0~3QA0|Nsa
zSdf{)oq>UY2h3(=@L=#{U|`^6@M7?WYW~8&$-vIQz>v3_fjyF4h*OALh*yYTNKi<4
zJA<gtZU%`+At@o5?F@3hEPELgBbkMigZ)?`EY;vh79sUuD;B7XX0R3OZU*g09c^7n
z7D-ki-R%teR&1LXjI_5gSZrgk*~DNZ$+nHbX&ZwL!j)<aoFJz&h%&G<C^B#`Xftp!
zSTk@jxG``uL@@9&Br)(Y<TCJsec=IdDT5D#F9QREC_^NJAA>&wBZDG?FGB!BAOjPF
wHiI)m5Q8rRGlMmQF+(teF9QpM8-oTz2!k&JD?<c>7(*yS7&v6Y!Qm7E08PMN@Bjb+

diff --git a/tp/target/classes/org/example/Person.class b/tp/target/classes/org/example/Person.class
index 1b4732a24aea1b9f8b319d63ef33c4d7fd771121..9b0cf630b4ca5daa47bd697933fc04b89efe9afc 100644
GIT binary patch
delta 512
zcmZ3&dxMkf)W2Q(7#JAr7>p)zb#e(YFfa)6FbFXSPkbFZc_m|o5U*=WW{F#7QE`c1
zVs0uUgQ&*j{fuH-Jb9_*NTNI-RX&L@McjF*<uKmld?uC2SDEzrRJj<`7}VJrG(hHS
zP8MQ5BB{;Dz|5$?$jHFsnU|MZ<eZaOT%20W&Y(B>53?4F0V9Ll<p0calRa33WSJP4
z7`PdD7#J9s82G_73j-qqD}x9FBZKJVb`}M7F$M+(AqEx(1_pKp76uLmP6kc}J_arZ
zaRvqk1qNmY1_pix2?oi@=U61`r5L0^`oJCsnasezrlq}=fp;U=e2__83``6R47?1i
z418b{#K3$ukO>SRz{ViMz{9}Ez{ntr-7I!=vjiAe83Z9_)ngbY2Q^HdK>_M83kD_z
zMg|53KCLYbyjoir*mp4qFfeR@JCF@5D+)Fc<PZi1KB(iE85F^)lo*s57#KJh7#UO;
Y7#Xw}bQl;IxEL52bQxIn84MXD0jf|yd;kCd

delta 856
zcmcb?xrCSN)W2Q(7#JAr7@Q|^bw+S9a4-n+FbFXSGcxcdrliE@Bo>#%=OyN*GBOB9
z`(!1SCF<uS=B4WgmlS2@rCWp4i}Emtfz)&7W~QX%q=Hp*Fi0>mFbFX)Fi7z*NHfSx
zoEyp~#K6cP2ja;yGQ?<1&S#RHT*V{=!V_;yV)E6PJda5Z#GAa5NthFAzGm3uJ&Y<2
zjG2rKjGl}PY~^4FF*0zJ$3tvmWZ(@hNlec6O)LmWOv*`RXV7P45I}e5<a>;Ud?s8B
zrVM864CWv=SWK2>I-+L9$iU3VsKCKs!^ptSr~rnH3_PBBd8tLtIf=!^sm1IJ_LF}x
zX|XsmGRRH-%Op41jaf*Sg@K8In}LUcfq@AWR$!VR$`@l0W?*1oW?*DsWl&&XWKf)3
z%B-NS!~hBo76t|eP6ieRE(T5pZU#OE9tLFw1_lKNW(EcZeg+i=)yaF9CF@xk)Ij<e
z7#JEDm>5_=fvB~efl*6)D+9Zh&Q=BiE#0jQyjqehTNy+)g6#&GF2%scz`(%Ez{0@C
zz{$YRz{eoKAj}}hAju#Ew#5Wu637+?5Rd}<fDvRm*bhu#7C!?|J=i%?ph#t4VPIrX
zXV8E;=NkhH1IP;rLgGF`;=Wp27zB<nC^Fm0f>`?&F^Fk{7_vsY7$g}Od|H?pm;ZmR
zwS_?hu1Ex=NCzYYRpbj-#0wH;*WSe-ThG9-0UUxLU+FP$GcYiSF)%ZTGq5p8GVn4;
zF-R~-GpI61F=#W$GZ--_FxWCEGI%j4Fa$8D!hOomAj6=^pvAz<U;<|`FeE^I&&&|Z
zpv}O;z{tSH5XGRwz{9}ApbNH#<sX9sKRbgSJA)qMF9zv93>+YeftkSo9MFagMhpxL
gd<;ws#te)MmSEDF!Ipu6fs28W!H&U!!HGc<004)CZ2$lO

-- 
GitLab