From cfa4753ea127da8bf24fbc46d4c5e826e281763c Mon Sep 17 00:00:00 2001 From: Mano <112639423+Manavalan2517@users.noreply.github.com> Date: Fri, 7 Jun 2024 20:05:25 +0530 Subject: [PATCH 01/15] project/memory-game-python --- Memory Game Python/README.md | 34 ++++++++ Memory Game Python/main.py | 154 +++++++++++++++++++++++++++++++++++ 2 files changed, 188 insertions(+) create mode 100644 Memory Game Python/README.md create mode 100644 Memory Game Python/main.py diff --git a/Memory Game Python/README.md b/Memory Game Python/README.md new file mode 100644 index 0000000..26dbf4a --- /dev/null +++ b/Memory Game Python/README.md @@ -0,0 +1,34 @@ +### + +# Memory Game Python Script Breakdown + +## 1. Importing Necessary Modules +- **random**: for generating random numbers. +- **tabulate**: for formatting the grid display. +- **os**: for clearing the console. + +## 2. Defining Global Variables +- **values**: a dictionary mapping letters to their corresponding indices in the grid. +- **temp_found**: a list to store the numbers temporarily found during each turn. +- **user_values**: a list to store the user's input for each turn. +- **user_choices**: a list to keep track of the tiles already uncovered by the user. +- **progress**: a boolean flag to indicate whether the game is still in progress. +- **competed**: a boolean flag to indicate whether the game has been completed. + +## 3. Taking User Input for the Grid Size +- The user is prompted to enter a choice for the grid size (e.g., 2 for a 2x2 grid, 4 for a 4x4 grid). +- The input is validated to ensure it is an even number. + +## 4. Defining Functions +- **game_elements(num)**: a function that generates the grid elements. It creates a list of random numbers and shuffles them to create pairs. +- **game_process(num)**: a function that handles the game logic. It displays the grid, prompts the user for input, and updates the grid based on the user's choices. It also checks for matches and updates the game status accordingly. + +## 5. The Main Game Loop +- The main list is populated with the grid elements using the `game_elements` function. +- The `game_process` function is called to start the game. +- After each game, the user is prompted to choose whether to play again. +- If the user chooses to quit, the loop breaks. + +**Overall, the selected code provides a complete implementation of the memory game with user interaction and grid display.** + +### diff --git a/Memory Game Python/main.py b/Memory Game Python/main.py new file mode 100644 index 0000000..2d8e98f --- /dev/null +++ b/Memory Game Python/main.py @@ -0,0 +1,154 @@ +import random +import os + +values = {'a' : 0, 'b' : 1, 'c' : 2, 'd' : 3, 'e' : 4, 'f' : 5, 'g' : 6, 'h' : 7} +table_heading = {65:"A", 66:"B", 67:"C", 68:"D", 69:"E", 70:"F", 71:"G", 72:"H"} +temp_found = [] +user_values = [] +user_choices = [] +progress = True +competed = False + +user_choice_data = input(""" +For '2x2' enter "EASY" +For '4x4' enter "MEDIUM" +For '6x6' enter "HARD" +For '8x8' enter "EXTREME" + +Enter your choice: """).lower() + +while user_choice_data not in ["easy", "medium", "hard", "extreme"]: + os.system("cls") + user_choice_data = input(""" +For '2x2' enter "EASY" +For '4x4' enter "MEDIUM" +For '6x6' enter "HARD" +For '8x8' enter "EXTREME" + +Enter your choice: """).lower() + +def game_elements(num): + + lst = [] + while len(lst) < num: + row = [] + while len(row) < num: + random_number = random.randint(1,10) + if random_number not in row: + row.append(random_number) + lst.append(row) + element = row.copy() + random.shuffle(element) + lst.append(element) + return lst + +def game_process(num): + global user_values + global temp_found + global competed + + def game_table(list_with_spaces): + char_count = 65 + if user_choice_data == 2: + print(" 0 1 ") + print(" |---------|---------|") + for i in range(2): + print(f"{table_heading[char_count]} | {list_with_spaces[i][0]} | {list_with_spaces[i][1]} |") + print(" |---------|---------|") + char_count += 1 + + if user_choice_data == 4: + print(" 0 1 2 3 ") + print(" |---------|---------|---------|---------|") + for i in range(4): + print(f"{table_heading[char_count]} | {list_with_spaces[i][0]} | {list_with_spaces[i][1]} | {list_with_spaces[i][2]} | {list_with_spaces[i][3]} |") + print(" |---------|---------|---------|---------|") + char_count += 1 + + + if user_choice_data == 6: + print(" 0 1 2 3 4 5 ") + print(" |-------|-------|-------|-------|-------|-------|") + for i in range(6): + print(f"{table_heading[char_count]} | {list_with_spaces[i][0]} | {list_with_spaces[i][1]} | {list_with_spaces[i][2]} | {list_with_spaces[i][3]} | {list_with_spaces[i][4]} | {list_with_spaces[i][5]} |") + print(" |-------|-------|-------|-------|-------|-------|") + char_count += 1 + + + if user_choice_data == 8: + print(" 0 1 2 3 4 5 6 7 ") + print(" |-------|-------|-------|-------|-------|-------|-------|-------|") + for i in range(8): + print(f"{table_heading[char_count]} | {list_with_spaces[i][0]} | {list_with_spaces[i][1]} | {list_with_spaces[i][2]} | {list_with_spaces[i][3]} | {list_with_spaces[i][4]} | {list_with_spaces[i][5]} | {list_with_spaces[i][6]} | {list_with_spaces[i][7]} |") + print(" |-------|-------|-------|-------|-------|-------|-------|-------|") + char_count += 1 + + + list_with_spaces = [[' ' for _ in sublist] for sublist in main] + while progress: + os.system('cls') + game_table(list_with_spaces) + + trial = 0 + for i in range(2): + if len(user_choices) == (num**2): + competed = True + break + + opn = input("\nEnter the tile to uncover: ") + while opn in user_choices: + print("\n===========>>>You have already completed this tile!") + opn = input("\nEnter the new tile to uncover: ") + user_values.append(opn) + + index_1 = values[opn[0]] + index_2 = int(opn[1]) + + temp_found.append(main[index_1][index_2]) + + list_with_spaces[index_1][index_2] = main[index_1][index_2] + game_table(list_with_spaces) + + trial += 1 + if trial == 2: + user_input = input("\n===========>>> Press (Enter) to Continue: ") + trial = 0 + + if competed: + print("\n===========>>> You Won! <<<===========") + break + elif temp_found[0] == temp_found[1]: + for i in range(2): + user_choices.append(user_values[i]) + index_1 = values[user_values[i][0]] + index_2 = int(user_values[i][1]) + list_with_spaces[index_1][index_2] = "✔️" + user_values = [] + temp_found = [] + else: + for i in range(2): + index_1 = values[user_values[i][0]] + index_2 = int(user_values[i][1]) + list_with_spaces[index_1][index_2] = " " + user_values = [] + temp_found = [] +while True: + if user_choice_data == "easy": + user_choice_data = 2 + if user_choice_data == "medium": + user_choice_data = 4 + if user_choice_data == "hard": + user_choice_data = 6 + if user_choice_data == "extreme": + user_choice_data = 8 + main = game_elements(user_choice_data) + process = game_process(user_choice_data) + + choice = input("Do you want to play the game again? (y/n): ").lower() + + while choice not in ["y", "n"]: + print("\n Invalid choice") + choice = input("Do you want to play the game again? (y/n): ") + + if choice == "n": + break \ No newline at end of file From 8ed095fcb55249680127865d7fc55387d396c835 Mon Sep 17 00:00:00 2001 From: Mano <112639423+Manavalan2517@users.noreply.github.com> Date: Sat, 8 Jun 2024 09:54:15 +0530 Subject: [PATCH 02/15] Projects Added --- Dice-Simulator/README.md | 2 ++ Dice-Simulator/img/five.png | Bin 0 -> 18221 bytes Dice-Simulator/img/four.png | Bin 0 -> 15719 bytes Dice-Simulator/img/one.png | Bin 0 -> 11656 bytes Dice-Simulator/img/six.png | Bin 0 -> 18578 bytes Dice-Simulator/img/three.png | Bin 0 -> 16697 bytes Dice-Simulator/img/two.png | Bin 0 -> 14198 bytes Dice-Simulator/main.py | 20 ++++++++++++++ JSON-to-CSV/README.md | 2 ++ JSON-to-CSV/json2csv.py | 52 +++++++++++++++++++++++++++++++++++ 10 files changed, 76 insertions(+) create mode 100644 Dice-Simulator/README.md create mode 100644 Dice-Simulator/img/five.png create mode 100644 Dice-Simulator/img/four.png create mode 100644 Dice-Simulator/img/one.png create mode 100644 Dice-Simulator/img/six.png create mode 100644 Dice-Simulator/img/three.png create mode 100644 Dice-Simulator/img/two.png create mode 100644 Dice-Simulator/main.py create mode 100644 JSON-to-CSV/README.md create mode 100644 JSON-to-CSV/json2csv.py diff --git a/Dice-Simulator/README.md b/Dice-Simulator/README.md new file mode 100644 index 0000000..ddb2baa --- /dev/null +++ b/Dice-Simulator/README.md @@ -0,0 +1,2 @@ +# Dice-Simulator + diff --git a/Dice-Simulator/img/five.png b/Dice-Simulator/img/five.png new file mode 100644 index 0000000000000000000000000000000000000000..620c791c08bd90b0cc2d4906b875e3e463e5e214 GIT binary patch literal 18221 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 literal 0 HcmV?d00001 diff --git a/Dice-Simulator/img/four.png b/Dice-Simulator/img/four.png new file mode 100644 index 0000000000000000000000000000000000000000..ee6cdeef9605bf7eb37696e0724a06551b907486 GIT binary patch literal 15719 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 literal 0 HcmV?d00001 diff --git a/Dice-Simulator/img/six.png b/Dice-Simulator/img/six.png new file mode 100644 index 0000000000000000000000000000000000000000..7951926ed91418692e98c6b32bef7417d563cd88 GIT binary patch literal 18578 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 w_BE(P{?BdmOKYfQ0Iae&A^-pY literal 0 HcmV?d00001 diff --git a/Dice-Simulator/img/two.png b/Dice-Simulator/img/two.png new file mode 100644 index 0000000000000000000000000000000000000000..2e8fc64da0b6758f1172286cb1291e95dfeb4301 GIT binary patch literal 14198 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%0AhPqvxYX9AL0 zFjQy3bkbQX5qg@!097K%hwFRV(QD~f=6QFvl>&LRa&fu&4y6|W94i9Vb#2H3dvN$C zo+22gwELh#qi5|c7{371vDHM97M7|?H&ZejN-?)K3vYRke%=Rq+t#N$hqp_mzLhTa z_eR5&TuCt5pbfI8g?lJFnsC7&b?P6aQ53 zkjCDB_)rTzKFG%b69s5f;ihD$aO!~C9V|0zx03{R>3`_g@~}}^<3sx*3f#p@ zbmQkc-CjNMEvyx0YthsTpthemN7?#o z*aFBZtAE2L7k;K{R7LQ5_Bvxy6)>G@e1}tVd=DS3C;-NN5ci;GRW?9z2S!bfqJ9%z zuag-su+t>_x7V2(UyXTUAZdk+c2}5D8^|<%1}f2R+OXvLuQ0y!%eh{U0eb{FRuO6I zg(NgG1=goX(o-*usjN&JW!WULV#i%Uh&0SOdnjv{<7RY93?~RP3>&gfJ&T><+K(rK z+uA|TqVfEH%`qd41%FmxeYhLr`T!8C^X}%RWCkSVL-6)8qiN99KOrhlFavfBiepiy zwp=t0_>_dCe0ao~$scCQ3@d!E$b&q5=f*Q8?D&^*x_sN(tp`#!|M!V*C>WH{K#PUr zzAj~BdaN*EysNBUaiTnG{Owg7IuFdxZyj!b@yLJrvqpqMQcV977RqbxH~miIwfaxkE>gZ5V@lynNDq7VLt4THR^%U|73 z0m5>59OwlWr0RY4-1?uX2sGniUNZvz2H;NVyng@V!x+~n6sR@NO$#%C>G6z>&?c0L z*`$RFuYE3##UFHt&ZYbf!P%*`F3Vd(@jMA5_6`Gsx^0v_CW}DzQl*hYpVdR~9EHg4WEK zx9=Yaje57676jkfG_|#vD+bqEO{_{khu@I!-;UkYK&TJl{`7RtMRLein(2;mwwL=9 zzI5&|yuU+nNR+t;*t?fY>0oTrHyP9{YR=SI`gQ#UDkL#-4I`Qhxw(1A{;0htwoc7f z^&Ga^KynhUHD_%q_4sMPR`NTyY}sr442;hJ!Q>*$j(71czEQEO+cv`q!hCfbq@lMB z!t^QrlUj&6!jP84#{Oe8ufUDr%e*IIVVEYwW#rl4kIL~gtZG=v%}8;x!_b6dv8b`B z1kxXADrt%ESfE#s3^c12M!Al0h9@T0XJ%$DT(}}@rJaVSNbaN3UqdN0WT&qtYBap| zBCWUXs_;YE0nm-vw9+Ii8~J5&xZ5o$g2+Hh4Nmw?Ul+Yk5PDOx%RMlj@R#d{o36ki zWcyJ3(76g!R#WNyVN83ubuA(2XEn=WIonpO{K*U2X)$~qB)U3%fw6Tg=v9ZNjQTy8 z`9RQNAOT!75bp@%FzA0s0!@^>NNYg>8oC2bn`GBqqFo5B&2{zUdH!|BjRpo4ol5Ma z{qYHr5(<^HHMdgCw@p?Imw2> OKU(T~YPrX(gZ~H7`)~UI literal 0 HcmV?d00001 diff --git a/Dice-Simulator/main.py b/Dice-Simulator/main.py new file mode 100644 index 0000000..d1ee205 --- /dev/null +++ b/Dice-Simulator/main.py @@ -0,0 +1,20 @@ +import customtkinter +from PIL import Image +import random + +img = ["one", "two", "three", "four", "five", "six"] +def button_callback(): + choice = random.choice(img) + my_image = customtkinter.CTkImage(light_image=Image.open("img\\"+choice+".png"),size=(100, 100)) + image_label = customtkinter.CTkLabel(app, image=my_image, text="") + image_label.grid(row=1, column=0, padx=20, pady=20) + +app = customtkinter.CTk() +app.title("Dice Roll") +app.geometry("350x200") +app.grid_columnconfigure(0, weight=1) + +button = customtkinter.CTkButton(app, text="Roll", command=button_callback) +button.grid(row=0, column=0, padx=20, pady=20) + +app.mainloop() \ No newline at end of file diff --git a/JSON-to-CSV/README.md b/JSON-to-CSV/README.md new file mode 100644 index 0000000..2cbab3f --- /dev/null +++ b/JSON-to-CSV/README.md @@ -0,0 +1,2 @@ +# JSON to CSV + JSON to CSV Converter diff --git a/JSON-to-CSV/json2csv.py b/JSON-to-CSV/json2csv.py new file mode 100644 index 0000000..92b2538 --- /dev/null +++ b/JSON-to-CSV/json2csv.py @@ -0,0 +1,52 @@ +import json +import csv +import os + +print("\nWelcome to the JSON to CSV converter") + +class Converter: + + def converter(self, json_file_path, csv_file_name): + global data + if json_file_path == 1: + try: + with open(json_file_path, 'r') as f1: + data = json.load(f1) + except: + print("File not found") + print("Try creating a new json file") + return + + if json_file_path == 2: + f = open("input.json",'x') + f.close() + file = "notepad input.json" + os.system(file) + f1 = open("input.json",'r') + data = json.load(f1) + + f2 = open(csv_file_name, 'w', newline="") + writer_object = csv.writer(f2) + writer_object.writerow(data[0].keys()) + + for row in data: + writer_object.writerow(row.values()) + f2.close() + + choice = input("Do you want open the converted file? (y/n): ") + while choice not in ['y','n']: + print("Invalid choice") + choice = input("Do you want open the converted file? (y/n): ") + if choice == 'y': + os.system(f'start "excel" {csv_file_name}') + +json2csv = Converter() + +json_file_path = int(input(""" +Press (1) to Open an existing json file +Press (2) to Create a new json file and Enter your data +Choose any one: """)) + +csv_file_name = input("Name your CSV file: ")+".csv" + +json2csv.converter(json_file_path, csv_file_name) \ No newline at end of file From c7639016554ca33fabeb35d9f652c251c20c102e Mon Sep 17 00:00:00 2001 From: Mano <112639423+Manavalan2517@users.noreply.github.com> Date: Sat, 8 Jun 2024 15:52:28 +0530 Subject: [PATCH 03/15] Projects added --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index e1c9baf..0275e34 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,10 @@ | 21 | [Web Cloner](./0x23-WebCloner) | | 24 | [Chess Game](./0x24-Chess_Game) | | 25 | [Quiz Master](./0x25-QuizMaster) | +| 26 | [Dice-Simulator](./Dice-Simulator) | +| 27 | [JSON-to-CSV](./JSON-to-CSV) | +| 28 | [Memory Game Python](./Memory-Game-Python) | +| 29 | [Quiz-Creator](./Quiz-Creator) | @@ -73,6 +77,7 @@ flowchart LR dayoonasanya
Adedayo Onasanya

💻 Atughara John
Atughara John

💻 levoski1
Ugwoke Levi

💻 + Manavalan
Manavalan

💻 From f8f91ad9ccc74808274bfa96507f4cd3b315707d Mon Sep 17 00:00:00 2001 From: Mano <112639423+Manavalan2517@users.noreply.github.com> Date: Sat, 8 Jun 2024 15:54:24 +0530 Subject: [PATCH 04/15] Projects added --- Quiz-Creator/quiz.py | 19 +++++++++++++++++++ Quiz-Creator/sample.py | 7 +++++++ Quiz-Creator/sample.txt | 7 +++++++ 3 files changed, 33 insertions(+) create mode 100644 Quiz-Creator/quiz.py create mode 100644 Quiz-Creator/sample.py create mode 100644 Quiz-Creator/sample.txt diff --git a/Quiz-Creator/quiz.py b/Quiz-Creator/quiz.py new file mode 100644 index 0000000..2a4f770 --- /dev/null +++ b/Quiz-Creator/quiz.py @@ -0,0 +1,19 @@ +import os +class QuizCreation: + def process(self, question, choices, answer, question_number=""): + choices_dict = {'a':1, 'b':2, 'c':3, 'd':4} + with open("sample.txt", "a") as f: + f.write(f"\nQUESTION {question_number}:- "+question) + f.write("\n") + count = 65 + for i in range(len(choices)): + f.write(f"({chr(count)}) "+choices[i]) + f.write("\n") + count += 1 + f.write(f"Answer :- ({answer.upper()}) "+choices[choices_dict[answer]-1]) + f.write("\n") + + def open_file(self): + os.startfile("sample.txt") + +Quiz = QuizCreation() \ No newline at end of file diff --git a/Quiz-Creator/sample.py b/Quiz-Creator/sample.py new file mode 100644 index 0000000..19a8a3b --- /dev/null +++ b/Quiz-Creator/sample.py @@ -0,0 +1,7 @@ +from quiz import Quiz + +Quiz.process(question="Entomology is the science that studies", + choices=["Behavior of human beings", "Insects", "The origin and history of technical and scientific terms", "The formation of rocks"], + answer="b") + +Quiz.open_file() \ No newline at end of file diff --git a/Quiz-Creator/sample.txt b/Quiz-Creator/sample.txt new file mode 100644 index 0000000..d57ef88 --- /dev/null +++ b/Quiz-Creator/sample.txt @@ -0,0 +1,7 @@ + +QUESTION :- Entomology is the science that studies +(A) Behavior of human beings +(B) Insects +(C) The origin and history of technical and scientific terms +(D) The formation of rocks +Answer :- (B) Insects From d30ec29a54ddd6256732c7ecb4534fe3aa59f0e8 Mon Sep 17 00:00:00 2001 From: Victor Preston <112781610+victorpreston@users.noreply.github.com> Date: Sun, 9 Jun 2024 11:37:30 +0300 Subject: [PATCH 05/15] update: add new repo contributors. --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index e1c9baf..443d02f 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,9 @@ | 21 | [Web Cloner](./0x23-WebCloner) | | 24 | [Chess Game](./0x24-Chess_Game) | | 25 | [Quiz Master](./0x25-QuizMaster) | +| 26 | [Dice-Simulator](./Dice-Simulator) | +| 27 | [JSON-to-CSV](./JSON-to-CSV) | +| 28 | [Memory-Game-Python](./Memory%20Game%20Python) | @@ -73,6 +76,7 @@ flowchart LR dayoonasanya
Adedayo Onasanya

💻 Atughara John
Atughara John

💻 levoski1
Ugwoke Levi

💻 + Manavalan2517
Manavalan

💻 From bfec9be74fbb90da80ee94fe66d49cc74403c34b Mon Sep 17 00:00:00 2001 From: Mano <112639423+Manavalan2517@users.noreply.github.com> Date: Tue, 11 Jun 2024 10:17:31 +0530 Subject: [PATCH 06/15] Update main.py --- Memory Game Python/main.py | 43 ++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 23 deletions(-) diff --git a/Memory Game Python/main.py b/Memory Game Python/main.py index 2d8e98f..2939a70 100644 --- a/Memory Game Python/main.py +++ b/Memory Game Python/main.py @@ -9,33 +9,15 @@ progress = True competed = False -user_choice_data = input(""" -For '2x2' enter "EASY" -For '4x4' enter "MEDIUM" -For '6x6' enter "HARD" -For '8x8' enter "EXTREME" - -Enter your choice: """).lower() - -while user_choice_data not in ["easy", "medium", "hard", "extreme"]: - os.system("cls") - user_choice_data = input(""" -For '2x2' enter "EASY" -For '4x4' enter "MEDIUM" -For '6x6' enter "HARD" -For '8x8' enter "EXTREME" - -Enter your choice: """).lower() - def game_elements(num): lst = [] while len(lst) < num: row = [] while len(row) < num: - random_number = random.randint(1,10) + random_number = random.randint(65,73) if random_number not in row: - row.append(random_number) + row.append(chr(random_number)) lst.append(row) element = row.copy() random.shuffle(element) @@ -64,7 +46,6 @@ def game_table(list_with_spaces): print(f"{table_heading[char_count]} | {list_with_spaces[i][0]} | {list_with_spaces[i][1]} | {list_with_spaces[i][2]} | {list_with_spaces[i][3]} |") print(" |---------|---------|---------|---------|") char_count += 1 - if user_choice_data == 6: print(" 0 1 2 3 4 5 ") @@ -74,7 +55,6 @@ def game_table(list_with_spaces): print(" |-------|-------|-------|-------|-------|-------|") char_count += 1 - if user_choice_data == 8: print(" 0 1 2 3 4 5 6 7 ") print(" |-------|-------|-------|-------|-------|-------|-------|-------|") @@ -83,7 +63,6 @@ def game_table(list_with_spaces): print(" |-------|-------|-------|-------|-------|-------|-------|-------|") char_count += 1 - list_with_spaces = [[' ' for _ in sublist] for sublist in main] while progress: os.system('cls') @@ -133,6 +112,24 @@ def game_table(list_with_spaces): user_values = [] temp_found = [] while True: + user_choice_data = input(""" +For '2x2' enter "EASY" +For '4x4' enter "MEDIUM" +For '6x6' enter "HARD" +For '8x8' enter "EXTREME" + +Enter your choice: """).lower() + + while user_choice_data not in ["easy", "medium", "hard", "extreme"]: + os.system("cls") + user_choice_data = input(""" +For '2x2' enter "EASY" +For '4x4' enter "MEDIUM" +For '6x6' enter "HARD" +For '8x8' enter "EXTREME" + +Enter your choice: """).lower() + if user_choice_data == "easy": user_choice_data = 2 if user_choice_data == "medium": From 132434a6c6c0a60c9b560d88949fdc65eba74f68 Mon Sep 17 00:00:00 2001 From: Victor Preston <112781610+victorpreston@users.noreply.github.com> Date: Tue, 11 Jun 2024 15:15:10 +0300 Subject: [PATCH 07/15] update contributors to project. + add manav --- README.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/README.md b/README.md index a09834a..9002a60 100644 --- a/README.md +++ b/README.md @@ -37,10 +37,8 @@ | 25 | [Quiz Master](./0x25-QuizMaster) | | 26 | [Dice-Simulator](./Dice-Simulator) | | 27 | [JSON-to-CSV](./JSON-to-CSV) | - | 28 | [Memory Game Python](./Memory-Game-Python) | | 29 | [Quiz-Creator](./Quiz-Creator) | - | 28 | [Memory-Game-Python](./Memory%20Game%20Python) | @@ -81,11 +79,7 @@ flowchart LR dayoonasanya
Adedayo Onasanya

💻 Atughara John
Atughara John

💻 levoski1
Ugwoke Levi

💻 - Manavalan
Manavalan

💻 - - Manavalan2517
Manavalan

💻 - From d24c35d4ec306be0d54686735631e4e84e98a11c Mon Sep 17 00:00:00 2001 From: P0Saurabh <111894219+P0Saurabh@users.noreply.github.com> Date: Fri, 4 Oct 2024 01:14:58 +0530 Subject: [PATCH 08/15] summrazation pdf --- PDF summrazation/main.py | 118 +++++++++++++++++++++++++++++++++++++++ PDF summrazation/p.png | Bin 0 -> 38967 bytes 2 files changed, 118 insertions(+) create mode 100644 PDF summrazation/main.py create mode 100644 PDF summrazation/p.png diff --git a/PDF summrazation/main.py b/PDF summrazation/main.py new file mode 100644 index 0000000..5f7d744 --- /dev/null +++ b/PDF summrazation/main.py @@ -0,0 +1,118 @@ +import tkinter as tk +from tkinter import filedialog, scrolledtext, messagebox, simpledialog, font +from tkinter import PhotoImage # Import PhotoImage for handling images +import torch +from transformers import T5Tokenizer, T5ForConditionalGeneration +from pdfminer.high_level import extract_text +import requests +from io import BytesIO +from fpdf import FPDF # Import FPDF for PDF generation + +model = T5ForConditionalGeneration.from_pretrained('t5-small') +tokenizer = T5Tokenizer.from_pretrained('t5-small') +device = torch.device('cpu') + +def pdf_to_text(pdf_path): + try: + text = extract_text(pdf_path) + return text + except Exception as e: + print(f"Error extracting text from PDF: {e}") + return None + +def summarize_text(text): + preprocess_text = text.strip().replace("\n", " ") + t5_prepared_text = "summarize: " + preprocess_text + tokenized_text = tokenizer.encode(t5_prepared_text, return_tensors="pt").to(device) + summary_ids = model.generate(tokenized_text, + num_beams=4, + no_repeat_ngram_size=2, + min_length=30, + max_length=100, + early_stopping=True) + output = tokenizer.decode(summary_ids[0], skip_special_tokens=True) + return output + +def download_pdf(url): + try: + response = requests.get(url) + response.raise_for_status() + return BytesIO(response.content) + except requests.RequestException as e: + messagebox.showerror("Download Error", f"Failed to download PDF: {e}") + return None + +def select_files(): + file_paths = filedialog.askopenfilenames(filetypes=[("PDF files", "*.pdf")]) + if file_paths: + summaries = [summarize_text(pdf_to_text(pdf_file)) for pdf_file in file_paths if + pdf_to_text(pdf_file) is not None] + output_text.delete('1.0', tk.END) + output_text.insert(tk.END, "\n\n".join(summaries)) + messagebox.showinfo("Completion", "Summarization completed!") + else: + messagebox.showinfo("No Files", "No PDF files were selected.") + +def fetch_from_url(): + url = simpledialog.askstring("Enter URL", "Please enter the PDF URL:") + if url: + pdf_file = download_pdf(url) + if pdf_file: + summary = summarize_text(pdf_to_text(pdf_file)) + output_text.delete('1.0', tk.END) + output_text.insert(tk.END, summary) + messagebox.showinfo("Completion", "Summarization completed!") + +def save_summary_as_pdf(): + text_to_save = output_text.get('1.0', tk.END) + if not text_to_save.strip(): + messagebox.showerror("No Data", "There is no summary to save.") + return + + file_path = filedialog.asksaveasfilename(defaultextension=".pdf", filetypes=[("PDF files", "*.pdf")]) + if file_path: + pdf = FPDF() + pdf.add_page() + + # Calculate center position for logo and title + logo_x = (pdf.w - 30) / 2 # Centering logo horizontally + pdf.image("p.png", x=logo_x, y=10, w=30) + pdf.ln(28) + # Add header title centered + pdf.set_font("Arial", size=12) + pdf.cell(0, 10, "MGM's College Of Engineering", ln=True, align='C') + + # Add line separator + pdf.set_line_width(0.5) + pdf.line(10, 50, pdf.w - 10, 50) + + # Add summary text + pdf.set_font("Arial", size=10) + pdf.multi_cell(0, 10, text_to_save) + + pdf.output(file_path) + + messagebox.showinfo("Saved as PDF", "The summary has been saved as PDF!") + +app = tk.Tk() +app.title("PDF Summarizer") +app.geometry("800x600") +app.config(bg="light blue") +customFont = font.Font(family="Helvetica", size=12) + +btn_load = tk.Button(app, text="Load PDFs", command=select_files, font=customFont, bg="navy", fg="white", padx=10, + pady=5) +btn_load.pack(pady=10) + +btn_fetch = tk.Button(app, text="Fetch PDF from URL", command=fetch_from_url, font=customFont, bg="navy", fg="white", + padx=10, pady=5) +btn_fetch.pack(pady=10) + +btn_save_pdf = tk.Button(app, text="Save Summary as PDF", command=save_summary_as_pdf, font=customFont, bg="navy", + fg="white", padx=10, pady=5) +btn_save_pdf.pack(pady=10) + +output_text = scrolledtext.ScrolledText(app, width=70, height=20, font=customFont, padx=10, pady=10, wrap=tk.WORD) +output_text.pack(pady=20) + +app.mainloop() diff --git a/PDF summrazation/p.png b/PDF summrazation/p.png new file mode 100644 index 0000000000000000000000000000000000000000..6c493e02101a3c04cea49f04f56cd5bd6aa18b70 GIT binary patch literal 38967 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

eHL7YbImGiBn3dIo`@=^M zf>xVSkej*EP5SQJ--B2m-?puz_kI1Q>S1;okMP2s${|!CK@^Nr+*i ziIaNf&TRL>+=~-V*s!UpI*LCaKL5lzP^lf0Ad(W^M=&-M8#|%Z?JhL9vaV?+D1-On zM&6;$QUy!^n4l1tXvvIj z@IYFYO2l(y5qW|`(6aKoN8@+iKm6rizP!GjudIg<8*15+KMBK-YpZxvhbazk@7M1f z-n%*P=7=sNQ5hZ1rjbFXW!t@+l7Wxy&RYl9-+A!VD=i6H&x@>I#%E)DKbqXCHV+}2 z0&WzF__Sjb01Jbp;YTxQK~0D2blbZJn9Q|pBG^gV(e=$XWOC!pcYfu!XVEr^H13Qf zcr}Zp$u2S_5m*)xf`^9T!S49}jdqUKc8WYyg(I~HVLJA3NTcL(@lS> zztJRkK|K*Dws986c^l~h zU=xFc8`eG%A;?0eouJal1~d>q#4Odh77bUTU@)oZX?EJc$f`jVY*nZTIFmCRRJ9S~9s`=zo9*rX%GrCj4vvSo{Q76HGMvu#W??w> z2Wy-8T6^PC@bfWRQOmn9IvP%rliudq>Qe(uCP$-rr>n*?#{{D!s=+sc0Zp?^(<8AE zkCC9pXKAF2*(?B-Vv3EfuBSFSL5d zFp;Q0c~Kx}5|%|rLr^6c+t@!W`VkZ+MR0(y1lE8kkqc+@IBbu{@2s>tQ93t?m^f?E zrWV~>Zyy}o%wK+Sy_dP_P-i>Xd0Qvdte%cmp6z<$JKODoA0Eu^_maWJ#oYJ~WXMyY zi8#!#(#|gQS0~BATjP8lI3chhD8x72EFuaq5TeIXsuxx99OsCvDJv6%xur&ZuOIii zc>CVN<41cdAw*H)0f@3SwX2(bZw)hmI`{<9V%}_UCwqH-JlcFdPr6AdbsV#Gi5t55 zB(##2ct4xeoj8VgRckGaE@U%)JoJNBMdj5PiLwVr#n-=o^xZdge~K8LG>d1b-+NGI zE0fi&^{l-P_h5-feSi?HOL{hakgcGqi)p{Q_|JgHDbqs8dl45llpYR{MR%nvXwXep zmnUXsUACb~jUC|2---zFkWgM$W9X&hA0rcTWs9MUwO2XS80n4vCd^U5F{UO(J@ zxN~_nH!FD&L`71=kLeyn1m%X(zrX~<&nBZ#`BvJqi7ho`HUh;`cqufA(%_`3(9eu| zuc~BN5$FlMxznu=K;YFNZMS&q%vzMB-3-xCKsC8er(YKS;Uh=(@c9>d7tXGb%xO0L zAdz=z?8o$eddvYtQ#TeBB31-aR+2?47%h1t3~DfMVnZre7SDJg`qPyDEE^(296_0g zn-LD;JrZuiY(%K0M@Q3>(1{;qG3DHwA56n+o~@MLjJSrv{w|wqo zBnUc8rfKV?G>;D(J10}9v9VkbbR8<%Anynf8gk}Q$)GA zb{4@0*w}D}`Oe;3-|7r-`Ft8p_oHq)KPd8OP>#oLB)tn8yASSnIuKVF0a3`J)H`x< zFi@j_Z%VMlsWq{6wytOGB(z|6+MVa!_)~%({l$N8`0X#Y3cow4+{LX+RefhNxh=98 zhh9x1EHxfXS>iy)*vGrAg4yXa&$-@U(@ROh#^o_}`bVE=~A=dB)B)402Gf%0Be zOq0Qp=^(G8-~6{;Up+Vb$`|kN-hTA*bM)+${%D`(v7NLJKKJ}fThBlD!@aM~y;(os zCfgm&Z>(>?U(fQ`5WKj$RmU`{Tq3K_C6B&bJoo%LM3tL8F{&^d&vnt`vTTZ8)FPF+3AI0bscI5K>co2=CdW06 z@9y8(x}1IP&wXNJ>*3uy#f`Uh`p9f_w>m8g1d|j}pMvkF*dacc1pG5yM!4ygA_eOy zg$%u33a_(C6&QKUr0Piwan@})nK&R$khKSp3$oKX+>tMT@#dYICwV-4^(DRZ)av@V zXOj&FbArv4(TO>}Hm!!mxy>`3b8BvR^wxu$Y0sRwm>%4p6tn)Nm93Btx^moT!%gRhyL%TbvM6!mS?%X6 z5qv#7nlMAehY&h=VR>K@6Y!mAQ zPQ<{@C(|fJl8~V`#)Hva^TyYY-ud3)(e=)~d#JtM`_X$>U(TO@y}xz^-W>ngo%!wW z?@n&}^ZC}sN|=?m_Qpp=kpJU?!EKjD$$4dVF|n`$%mRPU`A7bh0csnV+~MjuasT zCjv4}B~n2EXF!<0YECsPX~|4EHUGG*Yf3kJy;h#)Yp=at>{pg$+YXK|o)4dTz4yj9 z?*Gc?E?$0l1v8{=kf&ulzl`I4Ci6pxpu~U>@uJ9~;K^*>TWzOtT7-EO0>?=jr8e&* zR3_a`=-~Kf{r2}x-uceW>pwc#y@y06HcB=(&Dx4ZT^`>*$ZXPI&tAFkd@roj&(Wa2 zIy;!X`=y6>-Uw0Ez4hDkm!I88I>E+umK1S1wsh=dB7#6_S5K;B3s$K{J-BE>caPrWeu?5}sQ=IiLN9`R>>?ZqGb z=fm&(?)_W$RzCHMo12%rx$~XAz<4+tCOq18;W)Il7j^nTJ{e{YZ&bJ6(+j`Rra)X* z5qq9PW;M?pOvth*)T#x?QQ}Ik0jd;2FtV&_HuRX&*%IPd)e=`#<%Q!ILCS2! zv_G3qiAXhoBRpC1;iacGjWC=@C~J0TwZS3iNOXcQM?gRg!!bw|K@~)Xi8OdsX|TuB zt2qUl5<44M24*Kt;+Z?Va_(}f^4)*(gFE@|U;a0r-+n5++dF!6a4Su<2(S~)mucRj z@N-HF_$iP70L4PPLzGwuN(9ytCJ9mpjx*_Z&m(NzyEeXd?cv?~)BW9tkM3i5604f4 zm&_}#c3ya4FnGoHI-Oq2$MF#3LT1zPqwz^m z?N*;@qxg6J%CkRud%hj_o;!2a)^#UJ>uQ+fCSx<(Gijqo@}U**(_gyWAq$QmHG|x! z=I+eJ*0#EN7h(PG+vQikcyR5_X<3^6;}Ey-`Y)`1;`K9UFUtB>*;|FuOu0HfKCBDZ z&-(cW*Ur>VqH43et?idcbcC&fFGhWk6!#V8weBAZun+Ujkl zhx7enR#=g;p4F8OhdUR}zO?gbo(PO}92vQLrpX_|??AGd^ee=Pmf8+V1of`-5pIm*Xlv4l#Ww4fz`BoK2@fDq@|-tPT=8^*DgaFvx1R8s&kNp4G?$8m*D5=&jx&@7K? zsRJm1cr_sqvtgsm!W0N0s>jpYY3Itt8Q%?c5#hxv{foc#nlI|zhd&5|-p1U#(|u(| z&kf@C<@fI3rKxH9@|PMQ9#X2HjKK$;RN!<&D8k_3pQ>^)Q6nzW$cmlk&6w?q@Exci(f@T4&r! zUHs;M&}ls!&F^&bqO0&>5u5%8`CrA>i*jCXMa7LuKW;ZHopAL@BcfmU+!#0 z6Mr+*q1Wz~OwpOM53b$cIMant?8LNlcQB7S8M|u1b95>}B>0B9GEFmE6sZk54aOKS zCwU@A6GZph2IE6<)p3$!a2-o=kdisYhq!)^DVK`6uFJA^&PA5N>{Y`ef&S?0iCWKT z$p-*9h9MiOLL$ViC{5aT-o10-?CR}XPU&F#0u8I(g99Gy^a=@4UgVe8PWBIUT6DA2 z1k8q|I^=oI^MaX;G0aR5k;;V-f-)nDt%*~ObH_Zb-Tu6ojq5tTw|%yM=Hhec_WTUD z?#VSj%A;r_K-RqGkeI}0x0C8Q{zVMQ9mXI&YY6gf8fr%)xCOBvFNSUGt0RhUwFbyki0lF-7 zg-;zMh|Gs-E(9>au(eP{2ujop5olb+!j4v(Or1zXPGx~rA$2Iqvi2^H6N9L()qDJ; zj$kHL5HAO6oT}Nfk}=*_Oi1G#8r{Er>odRb{Jq=Z!j=BuOyW;eU~1p$ttCbFNOWah zj>Z!=Ez8xEl3rTRXk5xlHb4j(YA0S0)DoqZ4BOy}fRo8|>?rDN49-5gwX&%uo+i5z ziuaBVj^DXiP3nHS@k=jU`AffWW}18*RFJt#bT93+Ui?J&rPtOV>E3Xjw~MqhS1JvK zgn?S?;Yge?46Cvj@m{?KU-+Om@4b^L4_cegyt*=#x906~XZJ0sM;k9QP99aoG*7H) z<+-(?j(gFTR1XZB#K4OyCWTGO*jALd&3>noquXg4TeD?jQBLRWcJ4^xtPy{4Y5*27 zfCLd}({b3)b{kQkC-@e+P%~`|LDt41b@0lK(sh$4E)UbD$lXvG8?bhNsH~lV7-qlN3CUGA4hQ|f+$s2wz4Q7I0R|hQUMKN zp$8_5CZ~o@zKKsjUP0B7%&f$XXb-ah%$iU?d<= z95F+^BK~Oe2UQ{!6;`k)lQi=UB4&zI;p+-Xo!ovf+kSRSqKWhl@-r89kK_1$eeR_; zWDXN;_cs6LxAw~YKl|kK&tBSG$;}m&<0zT8dU{Yz+pYdeZ!L{iT*Ze+#mzhSMx)t{ z+jq~OS-W&*>sMcYB{!OLVAN7S%+Hk|L6}RJhlmZQs*$gecMKR(6{Q1PO_fZX^g6M+ z3UwnD#d(}DJ918@pvpnXk`+q`st%#5;VM6``}x@ew)Y-B*nB2iKfi)b>5s;b>S?`! z)j>CeN!-G-pWLdRr`q7~%`h#>jBFak-q$)wF(mKHet&-T8KeW}#c3PfQkLhKl*P$$ z#$N7gIoK5{3mZ!6RZxRr=Qz=`4i_aUtE7-aPDMp|JIEg z5AJ+-d^|RaR?1nH{hPmb)e6XqKM<91)HFl7DJa>Phdqum0>}ECv9?z=sNTQuW)_vBSKl4JnW37|a zuQ_KVv(dq${o-WU&N5zfda3u#J7~aK`oL{hRUr)x{7S~aS_@_&I7m?hYfP5401^${ zKp;z2eY5*dqs4{$XXd)DRTZWQ-^j*>hruzmGw~{1*i|+2asn&Y@^5;)=7bMw$f?4 zHea}SW?bKt{i(PR?p-*Vjb?d1yzOwL?Q>n*snRvcyV!rQ%f_v*ZDZmNkB;=fcRDn& zJ4wqTRK^mw;@Sp8@o+qm8B8h`q^jHq-cZ9-Ki#N$8V4*OR$X@4He=)ns#=v`wsD*S zEaDm#y@)h4c1y-qRh7gX#Wcq}MY;LH)iGp_qm}h5hkJF)pxxD?oUze>$SOq!MnXGl z&1SP%QD@zjle&ul5la%smH{s!hRE35=836=<>XkRm05|staJX_TTk)u2mjUI_(w0i z_S`JK`k(xF?~g|}|IL5O>WENqM2XwhR91#vd#0H5KL`E$MLs@MF3j@|>9=6hgFz0eXfI1juX5vVJnF~{8 zMxZ!Q>Qzgx4k4ftB$SDrmz%q1FZK4PZ%mG`xsKx@iuTP)aO1uCjUUwEP;PIQpL{w! zH{^JA|D`MObm*tkz4q1$T(xuCU)0s^YgNq!1|~$M>m=m+c({J_&4ZWH6Dpk~WMU;n z(lnNHP`4NsqXJeUWmb?VAhxx3{l@j^In=F_xKu-D!qAtKmQAaCrBH|qv5f$)hC7RT z|3XegbulQ52xLqe*RB$kIJP1lBsQ|fa0nqV8W_MyXvQlTfhY=h7^ZEP3=~t+1-Fjzd=kCLkleu&FwO_lsz53kYqsc$~n|~TP zWYqqpPh7lmxxRMu`coIvfA_Dx=0`td1R`fpFTmVJdmkS!AM!UZm z@vWmf_fOi>i!VP*BX8P0i<8-~NQhPjXS^R52E1oFO^7D3QzwUaa@7{Z6)Q;SANBq$MCG9UwM(@uY0 z?$u7Ryj@L(sv(L@9NTG8dxk^|=e_sLY?(;Z1f5$G*(ifm9L)jG8W_Q-KuDV@5Fcmyg+^x6PI^j|UgSZG@3Mk)sYS4m{-lOb zN3_s)X!Ly-5<^WZBY`+t@3%>_&1Z&cXLDbL_R+~GEAq+Izx&>If}eis)hoa8?>v37 zN4t0LeSi18t)#cYwRG7STZ=mxmpk_->gvtc)><|y^f1kJuAXD(PY!fBH@ac-aWlz+ zcmet>Mo1BbMd4n-43QeJQPMW1>E;NSjOH`vx@R_9tu_E&$onWxVIKen1Qn<VD#$q7hZXF_0`ul?>v0>si)=L+xHGe_{~?>FRy25I+x0a7(5tB44lw*HU+h@%Jy ztG}psC{%&&+^_M{+D0fn?}Q92_<*>D{o)Fiy873KJjUM>ZRjk)oyjOtTQO) z&Ye^zG>baEx7L<%HN16FICRtY$>C`IY(M6RbM@ZC`)cZ90f|Du%2=}eL}f8)M3;+F zji?GpK#^@%HQ1Q6lTfTM48+r+pA_}w)wMKlFO?Vc^v{L)*%&xsc8?U7dPXB(RbgZ$o1CG^)7Ae z+O@KphJZK$dhM&OzdlH!dN8iOGtkc5mq{rVLFxqac2t!>(bPCtStT^vziFRlWe%V~ zDuA*F1=1*L6?H8pWStncCL)Avc8qbr%KBECb;JwQDk&LrdJ}EKas@S#*6;$GwKmUR zyzvc8X4SckHe0Yk!{?6-`?9jes1c2~qGz6cF-kio!=3x@fB$>CD{F_BUj^FOxOCnQwkBV?4=q|bps2^{=kqLz zpLE{MbAv1e`U&=Lq(+)BxnYkriX+lUB@nAHh`8wtAy$Azlvp7PY>Wt6i-e%3Y6}#x z%^}(0e*5!(a(g&JlCQ@|Yd^eq`}UQqYyXSC^0}uk_g2E;@eghnRngyMEsE;So%DIh zRtIoY4#oI>Yx~0VWd4J1-MaAU&D!>B8CUfj3uW~tZsEmHaa}Bj zKu}_1qM|4fOV*2E%OH^{;-j6~18ZAnvMl#bj9ttz6iCwzWfyF0V;Wx?RFP$C=g!_B zn$9b>eKH`UqK*hr6osN{r3pn*aDj+I69XDkIf~=lW*xD~xC+N*SrAhcKYD97$txQd z2gf*faqG&{o8N!)?)TsR=1Pwq?$u{DLc7miq_YCMCdcLNn-6x@SlW3)wVziZYbDf* zWmp37vV}hgL0Lrw_{k{rW760Y$3Zhfq*)M5tjjgQSO|J9Z_yJAi5mP{0kDb%qBm~r z?vIgldcFQY=M&aRyN%a>q5b;nj>~&;yq641<6%IqDl{_lTeEy~Ri$&|+R6R92c|ZA zH;V6n*__y?{^0rh9xT*H$@sR#}omERb`>|!_1A|p)`zVG=hi9TDg)F zO*#<_xk}5i?%bV4NxHVRO?g{HqecLYBtRPc-k!?5G?-6-!f?CW2Sv^WU6${fK6hg& z6y9VMH9azhMbtqfrof#-&2)xIT^tv_j?=-p3mfOot!(&jfA8}f+uhebb#Y_s#rJQ| zuiyMi5*w$j_0==K^b5aq<;CgV{P#Ha*jQ`LLwkkFqrJIHTAht9l}_d=Q?X!)Kwhv2 z)D_yOZhdU@M~_{_@>@JK~HF*lROS{A2&fX$A6RGgG77?6kuL}Ip-MH>o5GdG+Q0kC%KLlw?$v#>(wnz4>a{OEb?(x+!SMd| zH^29#^EH3&*Jo#+>t_95`Q}%uzyF0l)--6*4s*9RyuDZCgXt(qN(&n9?8x>--+8AW zrGDhXe9v?_3S~JbHn}w=n&sJOFE3O|3`}T3!A9AInU)QFycn1OZp0^=Miwv9jQ?Cv zUI9P_8j}@fHOneWAc(U;5SdV0uR`M4A+~N}@nGs7RL5bm@$|;o(z~N@=9gaU{wpu8 zHze40dws*D15>S%3jk>3A)!LxJS?#j-=o6o7@qdb#?gm5AJ>W{(6pAHwT?q)}9iH;~Uqn z{mB<^4yRLL6Xo$L&g?vT=SzS5?)jCcTfNLuzZ1-4H0`f%kKWtur(MH>$cF$j5GSXz z)f?sYW`}A+g~4K55G|fhKM*baH5Or@!cap1YPR`88Gu!mK&9dd5EKA{Qw>DS%}_zZ zv5m7VQ9-C(T^CBVG11D(3M`%M9cCX@_9P;)m`b z@BiW-e(ulL+fVte3!6IB$#_<~+BEHks_Gk(BA}{1kP{U#Adn%b5U3HW9xKO4yK%2i zCQa%if3QEC*I3)!NYWfjZQKuCi@UcNDcU$pW=^6DFTHp&E9SEz&$3EtF#%j9Ryr{Z zT$05V@jS|RX8dP2j(1(J;ORT>e)|Vs{v&t$tyf#-b7xnc>F6LFCE1v)1-HNUjqiN- zhc{2AKJBcj;Z~XvqI);z><6e?n3RU9en0eA&+Qxp$0_nQqR2CBVvSWbDn^u>#?2>U zp^ufT=B2{ZqRPQoR4f@FWfn46Dt9+hj*B1r;0Y3f64*3sDloH6;yh0i(+a-s_wm}R ztCucumQGQQ>e|uAm_J@wli)I$zjm?x+J(4lMy~erihuRbo%w(Kr+?-C-Md>`PtV3e zQPyf_^I{A#0K=&|PcCp!5*6=)t3+h+xrCrBY{Zz8p|(~yACSof;NmFk+&!6=xcuC+ zS+BF0WeqT3o=AljO^zS9ZpOq_`U5*4c32{^-OHa4k^Qd3ux+(;H? zJU;s3@BU%882`r87oU!`xcSEP{`Gb=?VrnS?59H%#oG1TLzBd!z1Xfyr_;m9d#zLp z!h@q>)ESKSPiDIZ7(KG_;NS?e8n6i>qY-Q#+00U`6ax{FX(aHMk^Becs+S+9nV-8* zXIzR%F)h40HRB*DGz2nwEF5v#R|-YLn`qP`n8`G7OK2uhCQ;WKzH+hum;chIKlRB? zgoDv=XQkKwNFh5SLXt2v4aKt?_E%n6{mcu4UW^}p=Z9bY!gu{F`mKNIFC9GEoy-qH z7#*G*PiIhqkIAPUF^vD@lKIbaD(~lSFC>a#;!HopfXDg=2MlmnB$nm0?er*5Cx&Y!b+YrG%+ln zO4R9TM7U@?UrNS`AOOsbW-B$b)4OJJ;OB#hzNW!J`@<8{#N9(&3pw_8XttcBF6LoBV(NqwnO| zcmCS{;TL}S-@AG^zCNyoD`%cwKOc=By`LCLpf;!xHEPJHLJe60!6}+vzsSNSp6u@N z;j?Gf;(_y_j7Mw5ZnksxLCv`I+;gVgg1{0pNSYg`p~-A5F*n??=8dYVFllV<`uX!u zy)t?KAD5HbCV8z+)MtilyHlMMg)91TtWtGkwBAkc><)X$dTjvc!33+a#OBZP@PC+x$)@(o4=U_pinR&07jbLCiTLLrXNOA zO?x6*XylC+rv#G{n4q-Kr-V@=t%EPi`E)c*5g$C*z4h+a2UfNzyySrcAaij9T_>cbVzw zPi#&<@Z&L0e0uK)8X42ueCDN3&u2P1nuDX#hoBNMw_DMmPviMCK%jw8&B|f2z#T|FN-m+qRkX|S-KAa)GTxqU|=oSl4_{ED~bX_`w!it zy9dTc{q8`;yL$G~I)+3^X21rp6h~z}ug7=Jrp2eXvcLRW&m;&JS6}*T|Lz~Y`^Jj3 zue|;K-uK^suL43GMOhXlDKQHgu{3JPevJb&9Dz;g{ct+(Z=$tfye$+_IBMO$R?J5D z<=^;~e5D6AJ}iiw%Sq*@&i^ztB9Jzd3jh#jy>sWE{$8z<@qDn-s+|uoU=vBzZ6$Xf zm7z=B)vX5y4=R_Y>l>vO1xf9y>C`2uX=mw5ryWH-bY^MZzM5s}s{O0~#&3S%@BiMv z{3}m=@|R4w|A+H{S6;gG)P-kS(RMj%{msAoXJ7xp@xi@=OE11MKB(v8dA`9ElNXgp z$uAj-wCws+eFB?VY`N2WFR~CAR#`aWM&OGYv}ghEEJjA?vch-DeOh#lFL$yw=R>3x zmV6^8tP0cx(x@HB1NdrMPP06w$09TzFh9iClW}lq*6*15sF+o$Jy|uYz5b&M{p|Pw z0tSEl5B4uyd09>U-~IhB{s*rcj-x0}4IrV`Mr4#Jgun_CX*@Tr*||Lm9XKj);bEp?aUf!0)?x$v3@nRJ)j0p+*WRxfI<)_;hU%GLBI>^&= zgS@KdHN4Tovw5#GwbfpdL~+_j@FO!H64kNMoR9=D!3QZvj@dv*;D?j;{_)XU-;VUrXMg#uvH076=jeC-@!qrl>c1X;;_2k+ z!AUu7b=pLov4RIZ)9aR!3D!6nP$a=DCIL2HoCM^RJlH`!;1HZ@rBaesjM}2MzCx%V z6+)?@R$oIr5a4QcwIG0MRVU)TSMdz*Vu}%WL_-hK4fFYGCyGaLm-{6qb%wm#f9mXR zul(Ukl6$JbbG8-R%0%8+PwYVs>a?Obp{(QJ3r0IlTQ%l&eCJcq_OCqOcj2uhtH1x{ z*%yANcf0yho__U(r$24DEgIV-cjBFRPE$n$q)$ZtA9Wd+IB#uVxk{-$IG!^_ zQH0vNq|Kh3&8$ORiKhr2uxT8E)8#o#M9f6i7-JMJ&SF)X&s=1ZPzT~*xF*gx0P`9? zSkh2W*81_E`;B%rn*PJT_0`||+h4o>M$P)t=Gv!j-l)pD-)V2wWth(=S&O26q@gMc z*eBSFry)SYfTPFr{jivmD@x6*u13FApy5<`8Z6DcK4k@m#YitE*oeUp73F}4$pR9l z<-Bq}%~~KD4#%@;A*W}`$6Sx;ug&1LCZu3OIKFzm^VE6MOT-5Ml`nkl^S}GWm!JRj zokzz`A{+NOLg9f{T31t>+bE*4t{@@JtpsH4&ZC2!&T2L|n^G3xWTZoL|N3E76@QWbID5(|w@Xpj?L zC{Tk8vtb*}!kn!s;7<0(EOAv7;^uXIjB(Hk)zqQ(Df?=&+oIvGzkcaAKl9Z29`>%C z{LbI_?w|ghdmKLV{=3U0i_h-+&BV` zD2^+S5Gvd0I@p@|(b#WXZne)T$j={^vX|cY!Cu~JzxEryjI-SzdmA5E0Y71iXF$^0 zc;!>^)}@_eU;8+TTY*q(pj7+Yc}2x&HcdMNlfL?aZFYDb*k+;t4g#HM8G{{Hd@% z-~rF@i#5cJt`?CRh=G^@c8=kQ14jZAL}zn2FKO0dwsl>b50I%pwELGWxddfhfL8|n zuGZ6AFJI0+_u}UH4mMIdd^rF1*KP{T8*e`>bw%@yWYC>e)3_HwDzGsTDshM-jq-c@ zhup==<&0V-rn7j|8Q(JZZ{V3%KYjVN7ZEKbke_J3{bw@2IxoiJ+@@bF>w{qIj7?WW+ZJnyoB z4UC;+E$ids;CJS|4`)Qy-w)Il5DJHTrr>ehJaMjDV9Y!O(Y zQY$oy|G(Y6X^dsraV8cK=bXE}{pG&YzI1K9vPpK6Y&Mr}E+DDlSQ5;EKxsy@AY1Ye zFTl)?F))H*8wUJqX8gl|Wf(K|P>YShkeZ=HNfejikliGEsjjZ-uDvp=GAsAD-}Rgb z|F|!+vYS=iq)gL2b8+x+GxOo)yEo2>8zcmGID@bnHd}S2&^hq*JKzt> znF{0fd~!rUB+%Ar>_XUn>{#Wak4-K%mCB37sl!og=ITm*{>{zi?1>SggaAI}426@R z>Nyk^VG~_lNfuA(+9E4-`Btunt!poD4`O)o6VKNd7t?(iy?x!+KZTkHImrYeYE3=# zcx~o*XQ#*u@vBjui}An8EiJFtgUay}bID+( z9ugE5omK?ktV`3lKPrX=TJRk3Ft&+6dc&A2PkpTZr7xX(^pV!71K!%*oj?Ej)j$9G zx;Smaf9MFOk0FIc6 z-B`+P96u;R<)a2vfV3<5s6tVZ7|Cs7LTI&X=#fBCI`ap5|2_2W_^B_bnT$Z@Cg!L} zw%qXgv+tk(_*2JgVH%G%!1D@#Z+`Cr2d#u5Y(;62DdSrf<7+UGIM+>FDsbS;0=8l- zLhkw9CBE=#x3#!<`st^X-#|JvR|4?O7G8m%qr0@Un@hi4C+-svVuoCjg(DFC!Z z(VLpARl}&W)iY!owTg3&f%mESAShDGWO;P$=1O~_cIM37*7kKz6)s~16*7>-{ZSeh zB6$Wj1;wNa6{)Jk1o;jRemH$(>kEJT$QQr(gfi)^E?l{iym={Jx@nVPXiUxX6kxhb z-UKD!b>F~y!|wTZ0b7c;kT^k0;z$ZaTWY@n3yy>m)7V9%J&_3aR!z% zFw&fWN#a*SMlWBy z-dle3HH{g+ve0ciAVHMPfqdjK4 zUD};-a_?Qtuap+8V#jKBVRCvQPVzL*wC{y}gkrNiZZxY=81{Mt6l&D!%)l&M$^{Z4 zBB3UwL@M3RXkxN)`0z}ci17dzJ=4$u6bz`SUT^wg001N&fuDA!2V15RdTE;2(G@>f zJ96AVbGAC?AD^2(h00Aod_U7Z=^F*`Iej(ek6 zO3}1&uqbFtC~=uu*C8QE`N;JHZ9>O5$~d#RALv%QZVV2G-NFL+1pL6*kN1ypu||X> zYA<#-c2GfWQTNxE2Avxp`S6+NKYhA0=<6WLEPU?=F9jz~?sPNbd!Pa!%!)!84XAdy zy@N-Op$C>yw=F6USC-;T;M@n_=QV2pTJm?H#(2B=%O+~Ab&jKoat$v6s4YDAE74P* z{@%qN3i%U_rHxbtb@cLRqCd4*tghWIY&);edXC%n;N9fm%bO>*&6CO0V{c^PH@+Xe zdObV&M0e%-Qb$e?5ySyHj{0?NM-II zEu0+Y`L$<1cCaWepFI=JO(6_-AmM5N*5#H9W-H==nVg_4>A4wLWE^fO7Uftur@%VQ zon&k?=7c2?Nr5xb$_I=u$~W0NiF&QxE`H@N1ru zUYK9~^7D(6hHS6ZoOtvHZ@`6@dy60Z@<6p=a-#_2C<^nDy0NwqoS9N*l$soc%xViR zzp!@g5`6e$pF8pRM=|snSPA&X^R&^V=w9^`)!3oY1GRii2?Qbp--lLn`pAj?g|M^S zX&!7>Bb{YQQ1vFKTE%cU=p=X6Ru+!56uCIbmRGJ{yu3YPn4AL>nZE1I%)+CO9y`3K zx8g|IG)+d}0NDcv>;N4jl*+X%2&0~>G^?$40U^6lmZe*m&-w-kRkhkU`|xSNtzq10 zMInekTFd<1E7+IvBivWDf4dVFka6Sr{$FA?q-unwYI0k|X%f^cL1ohA)QCPKc}|oD z+N~|6ufMwS!yoOSsZTVTb~s|ooH<6_*S^l{lkJ`GB65N;Dhh`d2YlR zf21n?U;mw_{>eZ6R%8y;+Lf>Ti|>BnV;_3r_+u`=T;$6XwfnZ;m2_eOX6H2&!aE=% zy7K10Z~CV{@WIN|6q83l@@`=02bv$9aV$c{lJgtw`LplqUU>Y{mG3{bIN5AA`@Jm} zBz}D&YFfWz*Vi`=>jUkU4nkcxvX+xf&CDI1TR3>=srmKM^88}3vHDtPyHly4V<;^6 zmc;=&5H5kV3{n#B8vqh0FwIz?5_(ZkpJ>jdeE0k-FF)}fIV0qYelQ8oTKy@276Mw5cSi@V(Fn8vW z6CeI4wAwk452VS1cRU_wey{|jGT;=*K~z6_cJ9oFU%h;JWvz4Yz{F^V0$bQ%|(34X@S0GzCeU^~PvpfGo%a z0%KJI5fKS02E--_8z1}-G)}JFv{zmo62Oh?7oK|Rm}d%2*zEvoCLM?jOQY`De*C1T z``>RWCmBK6kW470CaeZ6Hba+_?^J}~Lm@oO^KZWJO@kEodAkb^py7j84Pv)3Of3oY zc_)QQ@sKr;E6|igOMqMgllEG5-s)}k9gZ_=1uZBIL4~}CIRfzFVZ3_s8{Q?RHl7ousv(x83)O_>Gl`CIuO-%chrWDQ$%D^*>V2R3%yB7b>FU;NFJ0+%^GdCi*wIz|w02k& zc_oA>)V|`pQ)w7(RcnE%QNJJWB%xQEY&WvON~uFq+5pS$DPhNq3`$o(2%Q%g@5rJ0 z7d{_8d`<;X51^y0gB+5Wt6t_S*scASfGq&n1$jPTwIK_XWRwCp_Wgo_s$%2Rnh|&& z_zIjIAaDA9Ey@2vo8ZXtaACm{SNHvf@&llwm+z#~Po_0Z_&M)5r2rTZJuI?uRgyqh z2yom$$oHR)MkyWmfNnIfLxG@HZ_FH`_T<$|`PK6)dC@uC^bgFzGfz%E@z{ZMaPjpE zD?ts9o^3`I3muDb-S#V2F5lf0dhVG|`VXD$JL93zz=R_DUD!|`X#Nbr2c|p^y&wk| zrA4(iG5z@aPd@tb)#X${UEHII=ldV3!MzQJCqD+3WSX~Bbb#?x)NPC=HG=9X?H(oRDe+C z(CHAS+7o*2ECh?A*#BSt$^U+51!ih+`egC+2NxHb^@^Wu>?EDOJ^uLQ>|CCAw!DFc zt@_>Nyk8Wjo_&7d@%MrD5VZ$Pj-!f~0*CNU(cc5jp9=WMoTf_oo`Rh?r7DFp3#UKu z$!k|$-P{>YMCcs2A{RHThLy_k_K$wBIvOR1=8lD)aq-ZlQe<(?n<{{29X!hVTM{5l z&(?(sXRQ-JV8Jp2&ZUZ$R@Jy*Dl`TxYLw=qL9(nvrAMwd6&9ON#DGrPwHo-qy#XpH zS>CbS?w3HW2S@(9ULVHNA7!eLFiovzDDWDRddYA=l{{>!u<7imq0owptsPibGR+O+ z{_Z4(G$0cvR{XK&=e=DujoWhX`*nOBIvzO!KLV=NH`e=K`_`ZS>%SZ< z25@ku@$9oF-v4wmGh1|T-05uvH!p59>i(f4Qw81WZ4Rb*da%s5uWwgc^(Q|48CX1+ z10teJGMA;M*L0Xyzj3I2qq8%o zp*BpYDRXsweaW&04*b>im4%slQMf#ZI(jC9EYFPr?fE-hmnO;&6azStjD&Rr&Avx6FARGzz)u`%jAjuf!i+)y zOn{?CIyux;~QG8;`{OYrn_n%rcJUlelB`k&)Hk=LnsoPBGsn2@0 zI!Lzc)UXO^ee2rJvdm0<=<~Iwe>by8Od%2ah(SfllMx?4fxw_@w|z+MlyY?85%hX?|d z!V{%r%kCxPZbPkzl&bI+AZIRkTpcI`oInO+%4ilU!NjGO5Oeu?<1Ql{=Xkk<+2Z(L zl!ZwyJGDrVK#&mqK-XH0_JO%cpR!gx9QC$~Q5;3}_0Dj8XZyg>g9nc4bkx&MJR6KI zZC|`G@K3z|kh=bm&amE?5P+@D$TB-1(nLtkvde{pHIZ{g*;QWlY!e6pqwI+(6H*z@ zgRm3Fic!j*H#e^2mi+Yh5EgHp0VT}yCkFxTwTYE`v@vA9G}*Xh?AQr7;R29Fa*-S` z70Cs1mVzN?EnYeT{vI{#ed-KalD!5ybWJDxH+MO3zB8tTrB1OW;IdCTATx7Tr zxh(4%VwYPHFUe$ey(wMyY2jB4u}olbXj?Bv-rhuiDj zpc+;xODK&#0cdT-}mY6_Q%$W$h*fX92s(pi?BxMg4L-uJ+JT#92X=(s6C1ch0c zQK2^42LyI`VF3XGFLW8NZ*;O4<_|X}>d|QHjvf$TcvtkQ`Xlp@HZI z-aGF7mv=jU8t1={trs8z(SSR>t=iP&bi4lA#aBjy?&%{Zl4N-0S|^Cec*YoGykOZ+aZCZ+1&0X(SRhu&M2^HVSOkk>d|2s(gn-9#k2I!< z7&AhY#Cb#r1gH@eN+}Sgprp=0f^mJC1gKOGWfoyzr4bY%fl@5kYSd?!Z`{3gZTrxH zsY44B>0qN6b}MRrWhK6}l+gU6=RWu4@QIH)zX{4W`yf3(H|M{9*_5vi$OkR4^Sy}X zW(!xucea`%Rh^r^di{13kWn<~_3G6cf!bKVJ2^X-=gzSeR@Nd50;vK}2|E^MfKq>P zZwDrJSCwmb$1H-3EM*tY7%zc9yUZN>9R9BVFSD%ob^flTLl!Qj9uP{P0I-NSVJlz- zb|VaQ-~fbC#zE?C%qCE-c0xr6NLY5x!+16zDndn2hPy-BJ`^v?&qxS6R}pR&^BW z8#k`cPEVaVeU6m3vDGQSkYDKxv&>2EFn5qSC>&Uag+uGm70#9QTPx)&mhBl_-gH4O z@jN12#*T06P~68Xc)w%6lh_jq0syi5M$TMF2@{e6#R@xMSIVD`KZm5`Rl5h?7^AuN zJ^1%vFHpXgqnrWb6DYD=z)?v;Z@{5;R0Tbe#`?AMD;m_JkDN0oqs_G{nt<`{YJ6vn z+lyxpe(2*kv)Ct68YO-gGym+XAAj;^1Rxrux)$`cbX2A_`2g$%!)EK^kN^1O*<%*W zjaxh2t^~T#u2!)a_Lusj!RGAYg+%k+-j4SDB6k|RVVsCE+K)haj0B{aG!tdSR%y|O zkysEJhzVJXum(k_2}HyKI0g%3F&C6^gC>nzl|enY?1xag8r-EGrxJIeM3d~9NRbfk zfq)$-hsp`DC_%-dT&WFPGU_=H3s}YifG9v9ia`l$2Zlv6D3=+_#56AckOjyz=1M%Q zkcWacV_*Q%zDPAq)GI&Um}mx%zyBnRZm+G}t=58JQCaW%UwL8U+%NyfPyXibc!y7? z*3(Xj<6Jpk>jyO#|BcN5po0t0#)1f7MH%0yuvwp*o?5;B(uGUcPaQv53w3{M+gGxB zcLT{=oSrV6T)%zi#HrI^rTXUO<%wo>6c3ushINuUONR(bDPpu#jUXk}+SIC5dlaqOEA}pG z&zg-*X%H*uzc#hi-lJBGT0!zT`mXCc_>SJA`+AR``?;Urt>1FXD~5|ImN3s;72^}x zDcbD(3l-Ou#<0I@@%rv@B6-(h;%&3*4J;unIRusN!WF$5*W-(tk^?RG5MV)54e6M z&Y*Ly&i=E&hgXM6jrAVIyfKvNjwLk@I9C_SYk&Sx4W;db`#|%1V~a4Dnv!XwpQO_QYo9Pt-eee_zlx<2^OJSv<^v8r0unYyc_gvrJZ>De^np zsrVTva{*5R<%h_qHEEJURn6cut8fupB_91X?motj;=0@#Lbk))xRFtOUjf?YqP}XJ zmAxusgJ7*}(kOOk-0dVsmjJtzGGmW;mY&}~$V={9K@e&&6t!L)JP1n0T+uZKL`ItBlj-ur3& z@`Xv!b(7+YoZ#w>^S5=ck!%Nnu+*$%I_&B)#Y4VlPt%b}R%W1%?k3)4_-un8-hYMo z7h*lTeb2Y=k8Ze-4PAaxI<$R+_a)ns;>*|i84|^}kG}H90X1o=5Xb3Xr_~tgMVLI)rtiRdeuiLF+Tc;d8JHhoSlU2eM zg0G)YM601Co`|&6&KVeBT?spiugP}EktsHn-PrJWbCjam}B3cfLl!VHnQ9B zAK0`Keme9G5q3#?Uk9(dWxf3PPxEhf-#`?~6q#o^5kk{&&7Z!%hQg!7p^wN^Xy{nZ z69u`p)?;T3tZ%PxkbRx^bak_CmD%i?f<1G)L<9`^tsG*s(VquYg&DeY7ue{;7`M-5 zZB;79d73P-an>KmZgxQ3%X=ys`jb;RIf*cT6Og;X#6Qx#T&@p%2yhuZ?V0u+iloo-!O^cD7ERLsuD9mB@=t00V7J|USqK`N znl?#GSE(I78C2qliD@6wdyI8cV=?4^R32G!eGBa|y+)JHo&l* zYyf!;bIJv610MfM+5c-igPjLel4X^+br=swU+C)lZYTq*`62>n4;Qp$P%-2kdfuwH4VYTPe)V)N8f}UXjLvthQuPEB=X?*;NInk1rWek{a2x-l z)5^Jq7SGi?Ffb?d;&Es44TqPE&7hs7fWdW-f|!^G1);1-BOmo8tv>c?ISi78>`q~+ z3WfbQOiSKf_^Hc*g#3>>RFFGBTEbjOdQZEp%kH6fOXd2;MvO?yu-ToN#~xUut^iy^ zC0XY+K+9VEMCMR@&f#nTScXrF0`*Z$ex>jM69g;;p$ILS z0fiPbumm~>0(8?43l3SqZM^@0&^ z*(kpCWXt+;o3zg%bL2rZiLrj?Bq9KTXoavNXtaA|OOt+rf(Y|dmvXw+XU0xhU_fC{ zH)5P3H}#lY?IEWTiCB+2P$q4>{d7FG{C&P+mjicZxYRIS4Dza6{xMzZ4!Z;q-HJ{DFXFg)ihXMtvOKD!SWQ; z59#h@+xn>Yx&&mr9y6hee3joN>e1HQSOX~s%0LTL27cUg9Ya2dqF)ZY!}+y4_lC^= z<1?>(xbIMFcN{VSeJ)8IB*rix!D1GnM7PsPup1P_R38> z*TPAYa^<(S`ezfMgQQ)0lY76KC1qkiE?=1GubOr08g1PIw@D`G zn`rc`YWoM-@{(x@+0rAK?I{${g5C((D9~c9CtUUm=WvRQSpm03<6b)TbvUURd>34) zvJSY(E@9GqL^yT2pp^c!8R36u{mZi=@=?QG;cUF8@A9DFk#c}@0akZ(W)n8RtfA^;`%AfBK=MYXj z{HtpmVs zQuq>C2<^STo04@!Ek;v=Z(8Tk@UsUisacAE z67ZZZIW|Y=xDBsiJgr21Q%iQMt44H(Jtpe!Lq=O@5i<5@lMJAAujKoxh5=5KJwl_& zr(DS3WRl=i3&lEML0qnv+NuqR_@Lq+w`tDF1`1 z;57rg90k1l{b@>lOVZ<(k-rrOfx+4vvf|A5Uh2=SX^*c84Ns4SI@6M-NZv=CQoaWg zq7d^!jwv@e!z*Nfzb|>?R>%VytuXk5L5Xo+FeM&{7@w)nL@;R*6 zMHO*hIp93`7j;g0&Q?`<^S)9R?;|q3pF`TKQT>p!)*kjclL}q_C)RuJR5Q=#BENHm%GTv*qpobjs$O*jGHl3orw_*-rf;d=y0*iCQXbT2Wv|%s>Px0^H>VRYg#! zJf3wvW}Xi?#y=eJ^7yM5nRTPvUa?nk7@Cww#mv8Jw{6wS@Fs#E!kQALf!JicP{pyr zSvjM_1^)IvF=**{?qN=r$$WIaT+-myhDKR)+#*gfFPt6SCZ2N$)!VQKkOD5h z%I*IW{^ZvQd#nW}Hzj96)rL}yWvJ*zp5~u34oO8*1A1;@m9%WR`;_xIpnuF|cPdoJ zyf&6kg?x`qS6@wT{aV}{UU|2+mTF>b^4W;iam>iesq7f`D*S~MQy3&jrA+s|>RB=Y z^QyiaQ^!}1X?xdw$0A89>7hlub~;{gO(im^wJV~Pq{ha#=wG(5lMo1nzI;~1kid5; z{oXfp`n!-uFh{}xEgSs0-cMh#M6#Uh4e~rg)Mg3bMgswRUSgd3QPwtN@u_;Z9$=Ma%-6%Bm2qHnYocsrlNb6R_~ppvhc zY%+}>#R}yx{yp28ZsPsK1lyy#n=Lgj<UeuI+?-Z_NQALq0w}?X~!Fb$Bg3wm}XB;FWh8K2d_AY z&T^M!RTV8Kc(uBp7NgqPCf?_r1aIMNr0PQ<9;&!z$Uf41iMxI(qym9aDqy74wfSBv z_SSS^&n^78I>m~uN#W7IB(#QrRm{ns6F4+8qx<|gBPo)iR6&NrlOuo%h*Fb5neHVr zQ8PkP&u-6=ey`H0!r48H>wqlHI4wOpGv~aR*|`a}%>@ut$4SB|fq=Ep0oQ0`s~+db;4=$iu>O?~J-R+`_Z>u!B|*uQ zwc7ptuJS^|d2khew$b*7+){X=ZK1^Mls^7HEUoUR zhftea*F2H%DK>D3ED~3(z)Vh>^cm+^3H3oC#7w;_{N);fW&w9as0T_DhK{~ojgwaE)dQ9-G~%=tF_zmdl6KivR2I?{l<>i4 zjAI0wF!NUQ0PZyBLoqU?ecQ%M`rg2ppX!bBw~c34xYok~(ob#!!AH|%v~eLjL$P5m z6j)21y1c7=Dx#+ytD)Z*TquFOJf5Dgc3yFE9wPt5K&e?aUOKrwEub=If#9(PNWWWR~-@a{|_mxiPivF~ou-yH|p%y5yfQ??boJf`<)fO2^$Ul-iTva9xrUqOoas-&X zz;t*Ho|X3;VU}akF%wOcKJV7Aj15UkX#u2}C}QJenv0oI%BXmWr~Uy$F3M;Ddo>a# zpb>ESdX z1kg6tiaGdUQGNnim&J}*5-et~c$8~uTJHQGO;u|Rp@Y7Dp<(%rM4Qfxy4=N*&DVhS z@5260AN>>98e0nIGJwEL)XDsaEf;jc@Cq=rjyqisplN}1n+@3{co(z-Ugpp(CrmVk zeqYc3V}iZfik`%gCbJ!?^rFq5AJVI;Mzd*HEvgpE-*ubIMc*$rGgivB^bzFv*Y=H@ zE=IEzUz7sOhHSj$eyXmOSr~7yugw4&3}k7eL&9%x@&_v1OPZmmh*hEmEK9l-V@_gD zVxbHyU3D&lK&w`Cem9MMYo*?owwan=?o3~Cvn{^Kcy}|x{&#x+%UTX!Vq%=!(KWw) zCUA=$lwKSA#wbt$cgN&t=87i76lRE*c z)+zCEWnzx3-yK!&u`UumpxMU7;VC>S_BmAy?awsrv%LAEI_{7bc#lZsUBN`>oP4(w z>`)kH;~x5@Xhh=hfZRp!;6Typ7Hfb_#k+8G+h8fGSTjz0XAkd*D2vS#r5KnD`9P21 z#m((+VRn@7-ThN$xPPO>iVH{U97dmeH9LYlK2#U1fUfj(d*9_evH?JJVC8X<^& z>gZg4Oh!Z@cH9tD`Jt)4HpSYQ=5F?|xBbsw*mGBUKVm&`?{c|gsi3PY@jaxMS^!}A z1?xB%UgLGeF>DRX2-u>xu;^Fw<;dpY9#NPjBVt!PO?&sbpu@*7G=Sk2px-Kbs+X+dMId*62_ov?fvs63b@>FVykWHw|AZ-Hvs zzJ+y0J_EvsbyU#1Jp;Jg<^Fgl++@FSJafvN;c|HdvPUe_YA}fTXIN60!b@Na@V^_5 z^K%9!(~Y$w*rpoy6+`@(@S;3xQ6AJ#D1wB2HlVSHuN6-?yUyM6%Arx*I4EX_YzNm+cfx_$tnFi~+q zn1mqgnGQ@sN<>sjTtWZ_lY+ryvtQQzAHjQPOFL_?|6icqc0heC;QQYnKH0sua{Xlf Y-sS(-+!-Glzt#X=zEDF{DwqZR4@WC31^@s6 literal 0 HcmV?d00001 From 4fb5a78542d0bb10f087df71dc0590d45be91aa4 Mon Sep 17 00:00:00 2001 From: Victor Preston <112781610+victorpreston@users.noreply.github.com> Date: Fri, 4 Oct 2024 22:56:52 +0300 Subject: [PATCH 09/15] add contributor P0Saurabh --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9002a60..c21aba0 100644 --- a/README.md +++ b/README.md @@ -80,6 +80,7 @@ flowchart LR Atughara John
Atughara John

💻 levoski1
Ugwoke Levi

💻 Manavalan
Manavalan

💻 + P0Saurabh
P0Saurabh

💻 From 8c65f47ce5a2c3167ffaa6e9a5e9a36ae828b2a7 Mon Sep 17 00:00:00 2001 From: Nikita <134646828+wcupped@users.noreply.github.com> Date: Sat, 18 Jan 2025 00:14:54 +0300 Subject: [PATCH 10/15] Create main.py --- OOP Example/main.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 OOP Example/main.py diff --git a/OOP Example/main.py b/OOP Example/main.py new file mode 100644 index 0000000..ad30b5b --- /dev/null +++ b/OOP Example/main.py @@ -0,0 +1,20 @@ +# Class Creation +class Person: + # Initialization function (when you create an object this named initialization) + def __init__(self,name,age): + # changing objects attributes to arguments that we enter when calling an class to create an object + self.name = name + self.age = age + + # String function that returns a string that will be returned if you will print class + # Without __str__(): <__main__.Person object at 0x000001AC025E7230> + # With __str__(): + def __str__(self): + return f'Name: {self.name}. Age: {self.age}' + +# Creating an object using class +p = Person("John",21) # you can change the values and create some other methods in class +print(p) + +# Output: +# Name: John. Age: 21 From 5bc8d7b8b62b9d0835c725e66962fbab3f0dc26b Mon Sep 17 00:00:00 2001 From: Nikita <134646828+wcupped@users.noreply.github.com> Date: Sat, 18 Jan 2025 00:17:16 +0300 Subject: [PATCH 11/15] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c21aba0..4a8a778 100644 --- a/README.md +++ b/README.md @@ -81,6 +81,7 @@ flowchart LR levoski1
Ugwoke Levi

💻 Manavalan
Manavalan

💻 P0Saurabh
P0Saurabh

💻 + wCupped
P0Saurabh
title="Code">💻
From a7bfcc8d9589b8d37439ac61ad8fc218a55d712f Mon Sep 17 00:00:00 2001 From: Nikita <134646828+wcupped@users.noreply.github.com> Date: Sat, 18 Jan 2025 00:17:44 +0300 Subject: [PATCH 12/15] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4a8a778..3ca4dfb 100644 --- a/README.md +++ b/README.md @@ -81,7 +81,7 @@ flowchart LR levoski1
Ugwoke Levi

💻 Manavalan
Manavalan

💻 P0Saurabh
P0Saurabh

💻 - wCupped
P0Saurabh
title="Code">💻
+ wCupped
wCupped
title="Code">💻
From d53095107c46c2c7d98667bfaa507d0d27abd304 Mon Sep 17 00:00:00 2001 From: Nikita <134646828+wcupped@users.noreply.github.com> Date: Sat, 18 Jan 2025 00:18:21 +0300 Subject: [PATCH 13/15] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3ca4dfb..429ebb1 100644 --- a/README.md +++ b/README.md @@ -81,7 +81,7 @@ flowchart LR levoski1
Ugwoke Levi

💻 Manavalan
Manavalan

💻 P0Saurabh
P0Saurabh

💻 - wCupped
wCupped
title="Code">💻
+ wCupped
P0Saurabh
💻
From b1da61a3418e7f24b80560ce95d9a59d97b32155 Mon Sep 17 00:00:00 2001 From: Nikita <134646828+wcupped@users.noreply.github.com> Date: Sat, 18 Jan 2025 00:18:48 +0300 Subject: [PATCH 14/15] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 429ebb1..0d7712d 100644 --- a/README.md +++ b/README.md @@ -81,7 +81,7 @@ flowchart LR levoski1
Ugwoke Levi

💻 Manavalan
Manavalan

💻 P0Saurabh
P0Saurabh

💻 - wCupped
P0Saurabh
💻
+ wCupped
wCupped
💻
From bab9b9339617f86f9800a8f14d74564d79fe4465 Mon Sep 17 00:00:00 2001 From: Nikita <134646828+wcupped@users.noreply.github.com> Date: Sat, 18 Jan 2025 01:17:45 +0300 Subject: [PATCH 15/15] Update main.py Fixed typo 11 line: before: print("enter any key for exot") after: print("enter any key for exit") --- 0x09-Shutdown/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/0x09-Shutdown/main.py b/0x09-Shutdown/main.py index ef08bc5..148c2dc 100644 --- a/0x09-Shutdown/main.py +++ b/0x09-Shutdown/main.py @@ -8,7 +8,7 @@ def systemOffRestart(): import os print("enter r for restart") print("enter s for shutdown") - print("enter any key for exot") + print("enter any key for exit") option = input("enter your option") if option == "r":