move BLOCKCHAIN group to Astroport.solo

This commit is contained in:
fred 2024-05-24 15:06:32 +02:00
parent cb3eb299ad
commit 0d92258c28
68 changed files with 0 additions and 1752 deletions

View File

@ -1 +0,0 @@
12D3KooWK1ACupF7RD3MNvkBFU9Z6fX11pKRAR99WDzEUiYp5t8j

View File

@ -1 +0,0 @@

Binary file not shown.

Before

Width:  |  Height:  |  Size: 196 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 194 KiB

View File

@ -1,8 +0,0 @@
Salut Fredo, Moi c'est Tonio. J'ai 23 ans et je suis gentil.
Je suis en alternance à Thales Alenia Space où j'y développe des contrôles automatique pour la qualité logiciel. J'y développe aussi
des WebApps pour collecter des données d'utilisateurs afin de faire des dashboards.
J'ai beaucoup de passions dans la vida loca, j'aime beaucoup les jeux vidéos comme league of legends, teamfight tactics et minecraft (très
bon jeu), les mangas, la techno (hardcore, acid). J'adore cuisiner, je suis un expert des lasagnes et de la paella.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 191 KiB

View File

@ -1 +0,0 @@
12D3KooWRFu3CzHyUNjR4X1Ebg1Hi4sFXZq5uqgokJLKi4RDtVhU

Binary file not shown.

Before

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 194 KiB

View File

@ -1,20 +0,0 @@
1709306506 N8.txt= -25
1709306506 N2.txt= +25
1709306506 N3.txt= -1
1709306506 N10.txt= +1
1709306506 N7.txt= -43
1709306506 N8.txt= +43
1709306506 N3.txt= -14
1709306506 N10.txt= +14
1709306506 N9.txt= -48
1709306506 N6.txt= +48
1709306506 N10.txt= -37
1709306506 N9.txt= +37
1709306506 N4.txt= -21
1709306506 N5.txt= +21
1709306506 N4.txt= -15
1709306506 N7.txt= +15
1709306506 N6.txt= -47
1709306506 N3.txt= +47
1709306506 N6.txt= -1
1709306506 N3.txt= +1

View File

@ -1,200 +0,0 @@
1709306497 N2.txt= -6
1709306497 N4.txt= +6
1709306497 N2.txt= -23
1709306497 N7.txt= +23
1709306497 N2.txt= -31
1709306497 N8.txt= +31
1709306497 N3.txt= -42
1709306497 N8.txt= +42
1709306497 N4.txt= -16
1709306497 N8.txt= +16
1709306497 N5.txt= -9
1709306497 N3.txt= +9
1709306497 N9.txt= -27
1709306497 N10.txt= +27
1709306497 N8.txt= -29
1709306497 N10.txt= +29
1709306497 N8.txt= -19
1709306497 N4.txt= +19
1709306497 N1.txt= -23
1709306497 N9.txt= +23
1709306498 N7.txt= -34
1709306498 N5.txt= +34
1709306498 N7.txt= -8
1709306498 N4.txt= +8
1709306498 N6.txt= -46
1709306498 N4.txt= +46
1709306498 N9.txt= -18
1709306498 N5.txt= +18
1709306498 N2.txt= -40
1709306498 N3.txt= +40
1709306498 N1.txt= -42
1709306498 N9.txt= +42
1709306498 N7.txt= -21
1709306498 N10.txt= +21
1709306498 N4.txt= -27
1709306498 N8.txt= +27
1709306498 N10.txt= -33
1709306498 N1.txt= +33
1709306498 N3.txt= -7
1709306498 N10.txt= +7
1709306499 N7.txt= -26
1709306499 N6.txt= +26
1709306499 N5.txt= -1
1709306499 N3.txt= +1
1709306499 N7.txt= -49
1709306499 N10.txt= +49
1709306499 N9.txt= -26
1709306499 N3.txt= +26
1709306499 N6.txt= -11
1709306499 N10.txt= +11
1709306499 N5.txt= -19
1709306499 N9.txt= +19
1709306499 N6.txt= -8
1709306499 N3.txt= +8
1709306499 N3.txt= -22
1709306499 N5.txt= +22
1709306499 N8.txt= -42
1709306499 N5.txt= +42
1709306499 N7.txt= -47
1709306499 N6.txt= +47
1709306500 N7.txt= -33
1709306500 N5.txt= +33
1709306500 N3.txt= -41
1709306500 N7.txt= +41
1709306500 N6.txt= -25
1709306500 N3.txt= +25
1709306500 N1.txt= -22
1709306500 N8.txt= +22
1709306500 N7.txt= -4
1709306500 N8.txt= +4
1709306500 N2.txt= -47
1709306500 N3.txt= +47
1709306500 N1.txt= -30
1709306500 N9.txt= +30
1709306500 N10.txt= -43
1709306500 N1.txt= +43
1709306500 N6.txt= -11
1709306500 N1.txt= +11
1709306500 N6.txt= -21
1709306500 N8.txt= +21
1709306501 N6.txt= -16
1709306501 N8.txt= +16
1709306501 N5.txt= -28
1709306501 N6.txt= +28
1709306501 N8.txt= -29
1709306501 N4.txt= +29
1709306501 N7.txt= -41
1709306501 N10.txt= +41
1709306501 N3.txt= -48
1709306501 N6.txt= +48
1709306501 N2.txt= -12
1709306501 N9.txt= +12
1709306501 N5.txt= -18
1709306501 N4.txt= +18
1709306501 N1.txt= -27
1709306501 N2.txt= +27
1709306501 N9.txt= -20
1709306501 N2.txt= +20
1709306501 N4.txt= -30
1709306501 N8.txt= +30
1709306502 N5.txt= -26
1709306502 N10.txt= +26
1709306502 N10.txt= -39
1709306502 N6.txt= +39
1709306502 N10.txt= -18
1709306502 N4.txt= +18
1709306502 N1.txt= -7
1709306502 N3.txt= +7
1709306502 N10.txt= -20
1709306502 N2.txt= +20
1709306502 N2.txt= -42
1709306502 N5.txt= +42
1709306502 N6.txt= -7
1709306502 N2.txt= +7
1709306502 N3.txt= -36
1709306502 N1.txt= +36
1709306502 N7.txt= -30
1709306502 N10.txt= +30
1709306502 N2.txt= -15
1709306502 N6.txt= +15
1709306503 N4.txt= -13
1709306503 N8.txt= +13
1709306503 N2.txt= -28
1709306503 N9.txt= +28
1709306503 N10.txt= -37
1709306503 N1.txt= +37
1709306503 N6.txt= -8
1709306503 N1.txt= +8
1709306503 N10.txt= -39
1709306503 N6.txt= +39
1709306503 N1.txt= -20
1709306503 N3.txt= +20
1709306503 N10.txt= -33
1709306503 N4.txt= +33
1709306503 N5.txt= -34
1709306503 N9.txt= +34
1709306503 N6.txt= -17
1709306503 N4.txt= +17
1709306503 N4.txt= -41
1709306503 N5.txt= +41
1709306504 N3.txt= -42
1709306504 N10.txt= +42
1709306504 N2.txt= -48
1709306504 N1.txt= +48
1709306504 N10.txt= -1
1709306504 N2.txt= +1
1709306504 N8.txt= -47
1709306504 N5.txt= +47
1709306504 N4.txt= -4
1709306504 N1.txt= +4
1709306504 N7.txt= -36
1709306504 N10.txt= +36
1709306504 N8.txt= -43
1709306504 N5.txt= +43
1709306504 N2.txt= -1
1709306504 N10.txt= +1
1709306504 N4.txt= -48
1709306504 N10.txt= +48
1709306504 N6.txt= -35
1709306504 N7.txt= +35
1709306505 N9.txt= -8
1709306505 N2.txt= +8
1709306505 N9.txt= -4
1709306505 N2.txt= +4
1709306505 N7.txt= -26
1709306505 N10.txt= +26
1709306505 N10.txt= -21
1709306505 N7.txt= +21
1709306505 N8.txt= -31
1709306505 N7.txt= +31
1709306505 N8.txt= -11
1709306505 N10.txt= +11
1709306505 N1.txt= -22
1709306505 N6.txt= +22
1709306505 N3.txt= -16
1709306505 N5.txt= +16
1709306505 N8.txt= -19
1709306505 N3.txt= +19
1709306505 N6.txt= -10
1709306505 N4.txt= +10
1709306506 N8.txt= -25
1709306506 N2.txt= +25
1709306506 N3.txt= -1
1709306506 N10.txt= +1
1709306506 N7.txt= -43
1709306506 N8.txt= +43
1709306506 N3.txt= -14
1709306506 N10.txt= +14
1709306506 N9.txt= -48
1709306506 N6.txt= +48
1709306506 N10.txt= -37
1709306506 N9.txt= +37
1709306506 N4.txt= -21
1709306506 N5.txt= +21
1709306506 N4.txt= -15
1709306506 N7.txt= +15
1709306506 N6.txt= -47
1709306506 N3.txt= +47
1709306506 N6.txt= -1
1709306506 N3.txt= +1

View File

@ -1,80 +0,0 @@
import os
import random
import time
folder_user = './../LACHAINE'
def genesis():
print("Lancement de la chaine")
with open("chaine.txt", "w") as fichier:
fichier.write("")
def get_users_account():
if os.path.isdir(folder_user):
users_name = os.listdir(folder_user)
return users_name
def regeneration_account(users_name):
for user in users_name:
with open(os.path.join(folder_user, user), "w") as fichier:
fichier.write("N=100")
def create_block(users_name):
with open("block.txt", "w") as fichier:
fichier.write("")
for i in range(10):
transaction = create_transaction(users_name)
def create_transaction(users_name):
debtor = random.choice(users_name)
creditor = random.choice(users_name)
while debtor == creditor:
creditor = random.choice(users_name)
payment = random.randint(1, 50)
print('debtor:', debtor, 'creditor:', creditor, 'payment:', payment)
debit_value(debtor, payment)
credit_value(creditor, payment)
with open("block.txt", "a") as fichier:
timestamp = int(time.time())
fichier.write(str(timestamp)+' '+debtor+"= -"+str(payment)+'\n')
fichier.write(str(timestamp)+' '+creditor+"= +"+str(payment)+'\n')
def debit_value(debtor, payment):
with open(os.path.join(folder_user, debtor), "r") as fichier:
account = fichier.read()
account_value = int(account.split("=")[1])
new_account_value = "N="+ str(account_value - payment)
with open(os.path.join(folder_user, debtor), "w") as fichier:
fichier.write(new_account_value)
def credit_value(creditor, payment):
with open(os.path.join(folder_user, creditor), "r") as fichier:
account = fichier.read()
account_value = int(account.split("=")[1])
new_account_value = "N="+ str(account_value + payment)
with open(os.path.join(folder_user, creditor), "w") as fichier:
fichier.write(new_account_value)
def get_account_value(user):
path = os.path.join(folder_user, user)
with open(path, "r") as fichier:
contenu_lu = fichier.read()
print(user, contenu_lu)
def push_to_chaine():
with open("block.txt", "r") as fichier:
block = fichier.read()
with open("chaine.txt", "a") as fichier:
fichier.write(block)
genesis()
users_name = get_users_account()
regeneration_account(users_name)
for i in range(10):
time.sleep(1)
create_block(users_name)
push_to_chaine()

View File

@ -1 +0,0 @@
public_key: CAESIJ9b1coOgbxm5fBd3zvmwbxtTtq+PAZVHNi4m7mLDEVL

View File

@ -1,13 +0,0 @@
$VOTRECOMPTE
vboxuser
Quel OS utilisez vous?
windows sur mon ordi perso, j'ai deja utiliser linux dans mon ancien travail
Machine PERSO ou PRO ?
PERSO
Connaissances techniques particulières ?
pandas, palandir foundry, flask, python
Activités PRO actuelle ?
creation de pipeline destiné a la création de knowledgeGraph d'un gros client
Objectif souhaité ?
devenir data-engineer qualifié
Autre ...

View File

@ -1,8 +0,0 @@
Jean BOUGEROLLES
Compte GIT : Jean-bouger
OS : Windows 11
Machine : Perso
Connaissances : Langages Python, JS, Unix
Activité pro : Alternance au Stade Toulousain
-- ipfs_id: 12D3KooWLfYw6c6rKMMthGsNYVFYgtf3SeKDg1JfmpBaWn9BPwdK

View File

@ -1,12 +0,0 @@
me
---
OS: Fedora Workstation 39 x86_64
Connaissances techniques: Python, Bash, Docker, SQL, MongoDB, Power BI
Activité pro: Data analyst
Objectif souhaité: Utiliser la technologie blockchain dans un point de vue Data engineering
---
ipfs_id=12D3KooWHfPeHQCqmZHzYs5pMa5LqEjxcEZDLJZgU92kLr5JAXhT

Binary file not shown.

Before

Width:  |  Height:  |  Size: 191 KiB

View File

@ -1 +0,0 @@
12D3KooWMXDHptQTnjqB7X7fvZ8ZJsFrptRbBXM4QimPJr6VdepU

View File

@ -1,17 +0,0 @@
me
mon compte ?
Quel OS ?
Windows
Machine perso
Connaissances techniques particulières :
Talend, Digdash, Python, Sql, Machine Learning
Activité pro actuelle
Alternance Developpeuse decisionnelle
Objectif souhaité
Monter en compétences

Binary file not shown.

Before

Width:  |  Height:  |  Size: 195 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 195 KiB

View File

@ -1,40 +0,0 @@
01-03-2024 16:01:01 : N1 a envoyé 10 à N6
01-03-2024 16:01:01 : N4 a envoyé 10 à N3
01-03-2024 16:01:01 : N1 a envoyé 4 à N6
01-03-2024 16:01:01 : N1 a envoyé 9 à N4
01-03-2024 16:01:01 : N1 a envoyé 9 à N7
01-03-2024 16:01:01 : N5 a envoyé 6 à N4
01-03-2024 16:01:01 : N4 a envoyé 1 à N7
01-03-2024 16:01:01 : N1 a envoyé 5 à N2
01-03-2024 16:01:01 : N4 a envoyé 10 à N1
01-03-2024 16:01:01 : N7 a envoyé 2 à N6
01-03-2024 16:01:01 : N2 a envoyé 5 à N1
01-03-2024 16:01:01 : N6 a envoyé 7 à N7
01-03-2024 16:01:01 : N6 a envoyé 7 à N1
01-03-2024 16:01:01 : N5 a envoyé 2 à N6
01-03-2024 16:01:01 : N7 a envoyé 6 à N4
01-03-2024 16:01:01 : N6 a envoyé 7 à N3
01-03-2024 16:01:01 : N1 a envoyé 2 à N4
01-03-2024 16:01:01 : N4 a envoyé 8 à N6
01-03-2024 16:01:01 : N1 a envoyé 3 à N3
01-03-2024 16:01:01 : N6 a envoyé 3 à N4
01-03-2024 16:01:19 : N7 a envoyé 10 à N2
01-03-2024 16:01:19 : N3 a envoyé 7 à N1
01-03-2024 16:01:19 : N1 a envoyé 2 à N5
01-03-2024 16:01:19 : N1 a envoyé 9 à N2
01-03-2024 16:01:19 : N1 a envoyé 1 à N2
01-03-2024 16:01:19 : N6 a envoyé 1 à N7
01-03-2024 16:01:19 : N2 a envoyé 1 à N6
01-03-2024 16:01:19 : N3 a envoyé 9 à N2
01-03-2024 16:01:19 : N4 a envoyé 6 à N7
01-03-2024 16:01:19 : N4 a envoyé 6 à N6
01-03-2024 16:01:19 : N7 a envoyé 8 à N3
01-03-2024 16:01:19 : N2 a envoyé 10 à N3
01-03-2024 16:01:19 : N6 a envoyé 2 à N2
01-03-2024 16:01:19 : N6 a envoyé 8 à N5
01-03-2024 16:01:19 : N4 a envoyé 2 à N2
01-03-2024 16:01:19 : N7 a envoyé 9 à N4
01-03-2024 16:01:19 : N1 a envoyé 5 à N3
01-03-2024 16:01:19 : N2 a envoyé 5 à N3
01-03-2024 16:01:19 : N4 a envoyé 9 à N5
01-03-2024 16:01:19 : N7 a envoyé 9 à N2

View File

@ -1,67 +0,0 @@
import sys
from datetime import datetime
import random
def enregistrer_transaction(source,destination,montant):
heure = datetime.now().strftime("%d-%m-%Y %H:%M:%S")
with open('journal_transaction.txt', 'a') as journal:
journal.write(f"{heure} : {source} a envoyé {montant} à {destination}\n")
def transfert_montant(source,destination,montant):
if source == destination:
print("Transaction annulée, l'utilisateur ne peut pas s'envoyer des fonds à lui même")
return
with open(source,'r') as f_source:
montant_source = int(f_source.read())
if montant_source < montant:
print(f"Solde de {source} insuffisant")
return
with open(destination,'r') as f_destination:
montant_destination= int(f_destination.read())
montant_source -= montant
montant_destination += montant
with open(source,'w') as f_source:
f_source.write(str(montant_source))
with open(destination,'w') as f_destination:
f_destination.write(str(montant_destination))
enregistrer_transaction(source,destination,montant)
def generer_random(n):
for _ in range(n):
source = f"N{random.randint(1,7)}"
destination = f"N{random.randint(1,7)}"
while destination == source:
destination = f"N{random.randint(1,7)}"
montant = random.randint(1,10)
try:
transfert_montant(source,destination,montant)
except Exception as e:
print(f"Erreur lors de la transaction : {e}")
if __name__ == "__main__":
if len(sys.argv) == 4 :
source = sys.argv[1]
destination = sys.argv[2]
montant = int(sys.argv[3])
transfert_montant(source,destination,montant)
else:
if len(sys.argv) > 1 :
if sys.argv[1] == "random":
n_transactions = 20
generer_random(n_transactions)
else:
print("Cas d'usage : python3 transfert.py random")

View File

@ -1 +0,0 @@
12D3KooWMMxuuHnTahrVFYAybVd7g1HQ75pGteu7Mcd57hvjjd19

View File

@ -1 +0,0 @@
Salut, je suis Nathan, 21 ans. Je suis en alternance en tant que Data Analyst où je fais surtout du Power BI. J'adore le foot et le PSG. Je suis à YNOV depuis le B3 et voilà

View File

@ -1,8 +0,0 @@
https://pad.p2p.legal/frederic.renault@ynov.com#
https://pad.p2p.legal/Ynov#MASTERE-1-DATA-ENGINEER-Blockchain
https://pad.p2p.legal/Blockchain#
https://monnaie-libre.fr

View File

@ -1 +0,0 @@
10.799999999999978

View File

@ -1 +0,0 @@
31.39999999999999

View File

@ -1 +0,0 @@
60.699999999999974

View File

@ -1 +0,0 @@
65.69999999999996

View File

@ -1 +0,0 @@
43.99999999999998

View File

@ -1 +0,0 @@
-29.10000000000003

View File

@ -1 +0,0 @@
50.89999999999997

View File

@ -1 +0,0 @@
24.49999999999998

View File

@ -1 +0,0 @@
35.19999999999997

View File

@ -1 +0,0 @@
70.59999999999997

View File

@ -1 +0,0 @@
35.29999999999996

View File

@ -1,103 +0,0 @@
N_TOTAL = 1000
from time import sleep
import random
def read_sold(user):
sold = 0
with open(f'./LACHAINE/{user}.txt', 'r') as file:
file_content = file.read()
sold = float(file_content)
return sold
def write_sold(user, sold):
with open(f'./LACHAINE/{user}.txt', 'w') as file:
file.write(str(sold))
def read_tx():
transactions = []
with open('./tx_list.txt', 'r') as file:
file_content = file.read()
transactions = file_content.split('\n')
tx = []
for t in transactions:
tx.append(t.split(','))
return tx
def main():
tx = read_tx()
for t in tx:
sleep(0.1)
demandeur = t[5]
montant = float(t[4])
montant_without_commission = montant - 0.10
N1 = t[1]
if N1 != demandeur:
print(f'tx:{t[0]: <4} -> Processing transaction 🚫')
continue
print(f'tx:{t[0]: <4} -> Processing transaction ✅')
N2 = t[2]
tx_type = t[3]
sold_N1 = read_sold(N1)
sold_N2 = read_sold(N2)
if tx_type == '-':
sold_N1 -= montant_without_commission
sold_N2 += montant_without_commission
elif tx_type == '+':
sold_N1 -= montant_without_commission
sold_N2 -= montant_without_commission
write_sold(N1, sold_N1)
write_sold(N2, sold_N2)
N0_sold = read_sold('N0')
write_sold('N0',N0_sold+0.1)
def tx_generator():
file_path = './tx_list.txt'
try:
with open(file_path, 'w') as file:
for i in range(1, 1000):
n_i = random.randint(1, 10)
n_i_plus_1 = random.randint(1, 10)
n_demandeur = random.randint(1, 10)
montant = random.randint(1, 10)
tx_type = random.choice(['-', '+'])
if i == 999:
line = f"{i},N{n_i},N{n_i_plus_1 if i < 10 else 1},{tx_type},{montant},N{n_demandeur}"
else:
line = f"{i},N{n_i},N{n_i_plus_1 if i < 10 else 1},{tx_type},{montant},N{n_demandeur}\n"
file.write(line)
print(f"Content successfully written to '{file_path}'.")
except Exception as e:
print(f"An error occurred: {e}")
def reset_account():
for i in range(0, 11):
with open(f'./LACHAINE/N{i}.txt', 'w') as file:
if i == 0:
file.write('0')
else:
file.write('100')
print('Reset done')
if __name__ == '__main__':
tx_generator()
reset_account()
main()

View File

@ -1,999 +0,0 @@
1,N1,N10,+,9,N10
2,N10,N6,-,7,N5
3,N5,N6,-,5,N10
4,N4,N3,+,3,N5
5,N2,N3,-,1,N9
6,N10,N7,+,2,N1
7,N7,N2,+,10,N6
8,N9,N10,+,6,N1
9,N4,N2,+,4,N9
10,N6,N1,+,9,N8
11,N8,N1,+,10,N2
12,N8,N1,+,3,N9
13,N7,N1,+,8,N10
14,N3,N1,+,8,N8
15,N10,N1,-,1,N1
16,N9,N1,-,9,N6
17,N2,N1,+,7,N9
18,N6,N1,-,5,N8
19,N9,N1,+,7,N5
20,N5,N1,-,3,N5
21,N4,N1,+,2,N2
22,N8,N1,-,2,N4
23,N10,N1,+,9,N1
24,N10,N1,-,2,N3
25,N4,N1,+,5,N3
26,N6,N1,-,9,N2
27,N8,N1,+,1,N2
28,N7,N1,+,10,N8
29,N2,N1,-,6,N10
30,N6,N1,-,8,N7
31,N7,N1,+,8,N3
32,N4,N1,+,1,N7
33,N5,N1,-,5,N7
34,N10,N1,+,5,N3
35,N3,N1,+,4,N3
36,N3,N1,+,5,N1
37,N5,N1,-,6,N9
38,N1,N1,+,4,N9
39,N3,N1,+,1,N4
40,N7,N1,+,1,N8
41,N2,N1,+,1,N7
42,N9,N1,+,8,N8
43,N8,N1,-,5,N6
44,N8,N1,+,10,N5
45,N3,N1,+,10,N2
46,N9,N1,+,7,N9
47,N3,N1,+,2,N3
48,N7,N1,+,5,N5
49,N6,N1,+,8,N8
50,N10,N1,-,1,N5
51,N2,N1,+,2,N3
52,N8,N1,+,4,N10
53,N7,N1,-,4,N8
54,N4,N1,-,9,N6
55,N4,N1,-,6,N9
56,N2,N1,+,8,N3
57,N5,N1,-,8,N4
58,N2,N1,-,8,N7
59,N8,N1,-,9,N6
60,N5,N1,+,4,N2
61,N8,N1,-,4,N6
62,N10,N1,+,5,N1
63,N1,N1,+,10,N4
64,N4,N1,+,9,N4
65,N1,N1,-,2,N4
66,N1,N1,-,8,N2
67,N7,N1,-,10,N5
68,N4,N1,+,8,N6
69,N10,N1,-,10,N9
70,N3,N1,-,10,N7
71,N4,N1,-,4,N10
72,N6,N1,-,9,N7
73,N4,N1,+,7,N6
74,N7,N1,-,5,N1
75,N10,N1,+,9,N9
76,N5,N1,+,9,N6
77,N9,N1,-,10,N7
78,N2,N1,+,8,N4
79,N7,N1,-,1,N1
80,N7,N1,+,1,N5
81,N9,N1,+,10,N3
82,N1,N1,-,6,N9
83,N3,N1,+,4,N5
84,N9,N1,+,7,N8
85,N1,N1,-,7,N9
86,N5,N1,-,1,N1
87,N10,N1,+,10,N7
88,N3,N1,-,8,N1
89,N5,N1,+,6,N2
90,N7,N1,+,3,N6
91,N8,N1,-,8,N9
92,N8,N1,+,10,N2
93,N8,N1,+,3,N10
94,N6,N1,-,8,N6
95,N7,N1,+,1,N1
96,N10,N1,+,5,N2
97,N4,N1,-,7,N10
98,N7,N1,-,4,N7
99,N6,N1,+,3,N7
100,N9,N1,+,3,N4
101,N5,N1,-,3,N6
102,N4,N1,-,6,N4
103,N1,N1,+,2,N7
104,N8,N1,-,2,N6
105,N2,N1,-,3,N2
106,N9,N1,-,9,N1
107,N4,N1,-,7,N10
108,N4,N1,+,3,N10
109,N8,N1,+,3,N7
110,N6,N1,+,2,N6
111,N3,N1,-,4,N6
112,N10,N1,-,7,N10
113,N4,N1,-,8,N4
114,N4,N1,-,2,N6
115,N7,N1,-,2,N2
116,N2,N1,+,4,N4
117,N8,N1,-,9,N6
118,N6,N1,+,7,N6
119,N6,N1,+,5,N1
120,N4,N1,+,10,N1
121,N7,N1,-,3,N10
122,N3,N1,+,10,N8
123,N7,N1,+,7,N6
124,N8,N1,+,10,N9
125,N4,N1,+,10,N3
126,N2,N1,+,1,N7
127,N1,N1,+,2,N4
128,N2,N1,+,6,N8
129,N5,N1,-,10,N2
130,N1,N1,+,2,N6
131,N9,N1,+,4,N2
132,N2,N1,+,2,N1
133,N4,N1,+,9,N4
134,N9,N1,+,4,N10
135,N5,N1,+,6,N9
136,N10,N1,+,3,N9
137,N3,N1,-,3,N5
138,N7,N1,-,5,N8
139,N6,N1,+,8,N6
140,N2,N1,-,2,N2
141,N2,N1,+,4,N9
142,N3,N1,-,6,N7
143,N1,N1,+,9,N7
144,N2,N1,-,6,N8
145,N4,N1,+,8,N3
146,N7,N1,+,1,N2
147,N6,N1,-,8,N6
148,N10,N1,-,10,N6
149,N1,N1,+,8,N5
150,N6,N1,+,2,N1
151,N7,N1,-,3,N2
152,N4,N1,-,9,N5
153,N8,N1,+,5,N7
154,N7,N1,+,10,N5
155,N4,N1,+,1,N4
156,N8,N1,+,5,N10
157,N10,N1,+,10,N1
158,N2,N1,-,1,N3
159,N4,N1,-,10,N9
160,N2,N1,-,3,N10
161,N1,N1,-,6,N7
162,N2,N1,+,8,N3
163,N3,N1,-,7,N3
164,N6,N1,+,3,N6
165,N6,N1,+,9,N4
166,N1,N1,-,5,N3
167,N2,N1,-,3,N3
168,N5,N1,+,1,N6
169,N6,N1,-,10,N8
170,N3,N1,+,10,N9
171,N8,N1,+,3,N3
172,N6,N1,+,5,N2
173,N2,N1,-,8,N3
174,N4,N1,-,6,N10
175,N6,N1,-,10,N2
176,N4,N1,-,9,N9
177,N1,N1,-,10,N5
178,N4,N1,-,2,N7
179,N1,N1,+,3,N8
180,N6,N1,-,9,N4
181,N8,N1,+,8,N2
182,N9,N1,+,2,N3
183,N10,N1,+,1,N4
184,N1,N1,-,8,N3
185,N9,N1,-,3,N2
186,N1,N1,-,1,N6
187,N5,N1,-,10,N10
188,N8,N1,+,5,N4
189,N5,N1,-,10,N10
190,N10,N1,+,6,N9
191,N7,N1,+,4,N9
192,N8,N1,-,2,N4
193,N10,N1,+,3,N3
194,N6,N1,-,6,N6
195,N10,N1,-,7,N10
196,N9,N1,+,4,N3
197,N4,N1,-,7,N7
198,N2,N1,+,9,N9
199,N4,N1,-,2,N5
200,N10,N1,+,9,N6
201,N2,N1,+,3,N6
202,N8,N1,-,5,N5
203,N4,N1,+,1,N8
204,N7,N1,+,5,N2
205,N5,N1,+,5,N10
206,N3,N1,+,9,N7
207,N6,N1,+,5,N1
208,N7,N1,-,3,N3
209,N2,N1,-,4,N9
210,N5,N1,-,4,N6
211,N9,N1,+,4,N6
212,N10,N1,+,9,N2
213,N3,N1,-,1,N1
214,N5,N1,+,10,N7
215,N4,N1,-,3,N6
216,N1,N1,+,5,N8
217,N7,N1,-,10,N6
218,N8,N1,+,1,N6
219,N3,N1,+,8,N10
220,N9,N1,-,2,N8
221,N6,N1,+,7,N6
222,N8,N1,+,4,N6
223,N6,N1,-,2,N5
224,N8,N1,+,7,N9
225,N7,N1,+,3,N7
226,N1,N1,+,5,N9
227,N8,N1,-,8,N2
228,N3,N1,+,8,N8
229,N8,N1,+,7,N7
230,N2,N1,+,2,N7
231,N3,N1,+,9,N2
232,N4,N1,-,3,N7
233,N6,N1,+,10,N9
234,N3,N1,+,1,N2
235,N5,N1,+,2,N7
236,N4,N1,+,2,N2
237,N3,N1,+,10,N6
238,N7,N1,-,7,N3
239,N4,N1,+,2,N8
240,N9,N1,+,9,N1
241,N10,N1,+,7,N9
242,N4,N1,-,10,N6
243,N9,N1,-,2,N3
244,N6,N1,+,9,N2
245,N10,N1,+,4,N3
246,N1,N1,+,3,N10
247,N9,N1,-,9,N8
248,N2,N1,-,1,N10
249,N6,N1,-,4,N8
250,N5,N1,-,10,N5
251,N6,N1,+,7,N7
252,N2,N1,-,9,N10
253,N10,N1,+,10,N8
254,N2,N1,+,7,N8
255,N8,N1,+,2,N4
256,N6,N1,+,1,N3
257,N4,N1,+,6,N8
258,N1,N1,-,7,N4
259,N6,N1,-,10,N1
260,N6,N1,-,6,N5
261,N3,N1,-,8,N3
262,N9,N1,-,1,N4
263,N4,N1,+,9,N6
264,N9,N1,+,7,N10
265,N7,N1,+,10,N3
266,N10,N1,-,7,N5
267,N4,N1,+,7,N5
268,N7,N1,+,8,N4
269,N2,N1,-,4,N10
270,N5,N1,+,5,N9
271,N3,N1,+,9,N7
272,N4,N1,-,3,N4
273,N8,N1,-,7,N1
274,N7,N1,-,8,N6
275,N8,N1,-,1,N8
276,N3,N1,-,7,N3
277,N1,N1,+,5,N9
278,N6,N1,-,9,N9
279,N8,N1,-,7,N6
280,N8,N1,+,2,N5
281,N6,N1,+,4,N1
282,N8,N1,+,5,N7
283,N2,N1,-,7,N5
284,N2,N1,-,2,N2
285,N1,N1,-,7,N8
286,N7,N1,+,5,N5
287,N10,N1,+,9,N7
288,N7,N1,-,4,N7
289,N10,N1,-,5,N10
290,N4,N1,+,10,N9
291,N10,N1,+,7,N6
292,N4,N1,+,10,N7
293,N6,N1,-,4,N1
294,N2,N1,+,8,N7
295,N4,N1,+,9,N4
296,N8,N1,+,10,N10
297,N8,N1,+,7,N5
298,N8,N1,+,5,N1
299,N4,N1,+,5,N8
300,N8,N1,+,7,N6
301,N3,N1,-,9,N1
302,N7,N1,-,1,N1
303,N9,N1,-,10,N10
304,N4,N1,+,3,N6
305,N10,N1,-,3,N2
306,N1,N1,+,7,N1
307,N5,N1,+,5,N3
308,N6,N1,-,3,N10
309,N7,N1,+,6,N7
310,N4,N1,+,9,N4
311,N7,N1,-,6,N2
312,N3,N1,+,6,N5
313,N1,N1,-,4,N10
314,N6,N1,+,9,N3
315,N4,N1,+,7,N8
316,N4,N1,+,2,N5
317,N2,N1,-,6,N4
318,N10,N1,-,8,N10
319,N10,N1,-,3,N7
320,N4,N1,-,5,N6
321,N9,N1,+,7,N2
322,N8,N1,-,10,N4
323,N2,N1,+,1,N1
324,N8,N1,+,2,N3
325,N8,N1,+,6,N9
326,N10,N1,+,4,N6
327,N10,N1,-,1,N4
328,N8,N1,+,3,N7
329,N4,N1,-,8,N2
330,N2,N1,-,7,N5
331,N8,N1,+,1,N3
332,N6,N1,-,1,N1
333,N9,N1,-,4,N2
334,N9,N1,-,3,N8
335,N4,N1,-,9,N2
336,N5,N1,+,5,N4
337,N2,N1,-,3,N10
338,N8,N1,-,2,N5
339,N8,N1,+,10,N4
340,N10,N1,+,9,N5
341,N10,N1,-,1,N10
342,N8,N1,-,3,N7
343,N9,N1,+,9,N5
344,N3,N1,-,10,N7
345,N10,N1,+,1,N4
346,N3,N1,-,7,N10
347,N1,N1,+,5,N7
348,N6,N1,-,5,N6
349,N4,N1,-,4,N10
350,N8,N1,-,3,N5
351,N3,N1,+,9,N10
352,N9,N1,+,4,N7
353,N2,N1,+,6,N8
354,N2,N1,+,5,N3
355,N3,N1,+,4,N8
356,N4,N1,+,4,N3
357,N10,N1,-,5,N5
358,N7,N1,-,6,N3
359,N9,N1,-,7,N2
360,N4,N1,-,5,N7
361,N8,N1,+,5,N10
362,N5,N1,-,10,N6
363,N4,N1,-,10,N4
364,N2,N1,+,8,N3
365,N4,N1,+,1,N10
366,N6,N1,-,10,N2
367,N4,N1,+,6,N6
368,N2,N1,+,4,N1
369,N10,N1,+,3,N3
370,N8,N1,+,9,N7
371,N5,N1,-,4,N7
372,N3,N1,-,9,N9
373,N6,N1,-,4,N8
374,N9,N1,-,10,N1
375,N9,N1,+,4,N10
376,N9,N1,-,10,N3
377,N8,N1,+,7,N2
378,N3,N1,+,9,N2
379,N5,N1,-,10,N6
380,N10,N1,-,5,N2
381,N7,N1,+,8,N7
382,N3,N1,+,5,N5
383,N3,N1,+,10,N3
384,N1,N1,+,3,N10
385,N3,N1,+,10,N10
386,N4,N1,-,2,N10
387,N4,N1,-,5,N7
388,N1,N1,-,8,N3
389,N8,N1,-,7,N7
390,N4,N1,+,5,N5
391,N6,N1,-,7,N9
392,N7,N1,+,4,N3
393,N1,N1,+,8,N10
394,N9,N1,+,7,N6
395,N6,N1,-,1,N5
396,N9,N1,+,3,N9
397,N10,N1,+,9,N6
398,N2,N1,-,3,N6
399,N9,N1,+,1,N2
400,N6,N1,-,6,N8
401,N1,N1,+,4,N8
402,N1,N1,+,1,N7
403,N3,N1,+,10,N6
404,N1,N1,-,9,N7
405,N10,N1,-,6,N2
406,N2,N1,+,2,N5
407,N10,N1,+,6,N8
408,N3,N1,+,5,N10
409,N9,N1,+,1,N7
410,N8,N1,-,10,N1
411,N5,N1,+,2,N1
412,N6,N1,-,2,N1
413,N3,N1,-,5,N8
414,N9,N1,+,5,N8
415,N7,N1,-,9,N10
416,N5,N1,-,9,N2
417,N6,N1,-,7,N5
418,N1,N1,-,5,N8
419,N5,N1,-,9,N4
420,N3,N1,+,4,N4
421,N9,N1,-,2,N7
422,N9,N1,+,1,N9
423,N1,N1,+,9,N9
424,N9,N1,-,1,N10
425,N10,N1,+,8,N3
426,N4,N1,-,6,N6
427,N9,N1,-,2,N5
428,N2,N1,+,3,N10
429,N3,N1,+,3,N1
430,N7,N1,-,1,N9
431,N7,N1,+,8,N1
432,N2,N1,+,9,N1
433,N3,N1,-,5,N6
434,N3,N1,+,4,N4
435,N6,N1,+,3,N6
436,N8,N1,-,1,N10
437,N2,N1,+,7,N9
438,N10,N1,+,2,N1
439,N4,N1,-,1,N9
440,N3,N1,-,10,N2
441,N9,N1,+,3,N6
442,N2,N1,+,10,N3
443,N9,N1,+,7,N9
444,N8,N1,+,10,N10
445,N6,N1,-,10,N4
446,N4,N1,+,3,N6
447,N10,N1,-,5,N4
448,N8,N1,+,9,N7
449,N10,N1,-,3,N1
450,N9,N1,-,5,N9
451,N3,N1,+,9,N9
452,N10,N1,+,7,N5
453,N10,N1,-,4,N3
454,N10,N1,+,6,N1
455,N1,N1,+,9,N9
456,N7,N1,+,4,N10
457,N5,N1,+,5,N5
458,N10,N1,+,5,N7
459,N4,N1,-,8,N4
460,N9,N1,-,9,N4
461,N7,N1,-,6,N1
462,N1,N1,-,1,N7
463,N2,N1,-,10,N10
464,N6,N1,+,8,N5
465,N10,N1,+,1,N4
466,N5,N1,+,10,N6
467,N5,N1,-,5,N4
468,N1,N1,+,6,N2
469,N1,N1,+,9,N4
470,N4,N1,+,6,N4
471,N4,N1,-,4,N5
472,N3,N1,-,5,N1
473,N1,N1,+,7,N5
474,N1,N1,+,7,N3
475,N8,N1,-,3,N9
476,N9,N1,-,1,N9
477,N7,N1,-,3,N2
478,N10,N1,-,10,N9
479,N5,N1,-,4,N5
480,N9,N1,-,6,N7
481,N7,N1,+,4,N7
482,N3,N1,+,9,N5
483,N1,N1,-,10,N9
484,N5,N1,-,6,N4
485,N3,N1,-,2,N4
486,N1,N1,+,5,N9
487,N4,N1,+,1,N7
488,N1,N1,+,7,N4
489,N6,N1,-,10,N10
490,N4,N1,-,5,N6
491,N3,N1,-,4,N3
492,N8,N1,-,9,N1
493,N6,N1,-,4,N10
494,N2,N1,-,10,N6
495,N2,N1,+,4,N1
496,N4,N1,-,8,N1
497,N2,N1,-,6,N9
498,N8,N1,-,9,N2
499,N8,N1,-,7,N10
500,N10,N1,-,3,N5
501,N10,N1,+,7,N4
502,N2,N1,-,10,N8
503,N1,N1,+,1,N9
504,N5,N1,-,8,N6
505,N5,N1,-,3,N1
506,N4,N1,-,7,N2
507,N1,N1,-,6,N1
508,N7,N1,+,9,N5
509,N2,N1,+,2,N9
510,N5,N1,-,7,N7
511,N9,N1,+,10,N8
512,N2,N1,-,7,N6
513,N8,N1,-,2,N3
514,N4,N1,+,5,N9
515,N2,N1,+,2,N8
516,N1,N1,+,8,N6
517,N4,N1,-,7,N9
518,N9,N1,-,2,N9
519,N7,N1,-,3,N5
520,N6,N1,+,3,N10
521,N10,N1,-,4,N8
522,N6,N1,-,6,N3
523,N8,N1,-,9,N8
524,N2,N1,+,3,N2
525,N2,N1,-,8,N4
526,N4,N1,+,1,N2
527,N7,N1,+,2,N6
528,N7,N1,-,2,N3
529,N5,N1,+,8,N6
530,N6,N1,-,4,N2
531,N3,N1,+,4,N7
532,N3,N1,-,3,N7
533,N6,N1,-,6,N8
534,N7,N1,-,5,N2
535,N2,N1,-,5,N8
536,N5,N1,-,5,N6
537,N7,N1,-,3,N10
538,N4,N1,+,2,N2
539,N6,N1,+,5,N6
540,N10,N1,-,6,N9
541,N1,N1,-,5,N2
542,N5,N1,+,4,N10
543,N5,N1,-,2,N1
544,N10,N1,+,5,N1
545,N1,N1,+,9,N2
546,N4,N1,-,2,N3
547,N7,N1,-,3,N3
548,N7,N1,+,9,N5
549,N6,N1,-,5,N9
550,N1,N1,-,8,N7
551,N1,N1,+,5,N3
552,N8,N1,-,7,N1
553,N9,N1,+,6,N5
554,N10,N1,+,8,N7
555,N9,N1,-,5,N8
556,N6,N1,+,5,N5
557,N5,N1,+,3,N7
558,N1,N1,+,3,N1
559,N4,N1,+,3,N2
560,N8,N1,+,10,N6
561,N5,N1,+,4,N6
562,N6,N1,-,10,N2
563,N5,N1,+,3,N9
564,N6,N1,-,8,N7
565,N5,N1,+,10,N3
566,N5,N1,+,2,N1
567,N5,N1,+,3,N6
568,N5,N1,-,6,N5
569,N2,N1,+,2,N4
570,N7,N1,-,9,N5
571,N2,N1,+,9,N4
572,N6,N1,-,7,N1
573,N7,N1,+,4,N7
574,N5,N1,+,6,N5
575,N9,N1,+,2,N2
576,N4,N1,-,2,N2
577,N3,N1,+,6,N10
578,N2,N1,+,9,N1
579,N9,N1,+,7,N9
580,N1,N1,-,7,N3
581,N6,N1,-,8,N5
582,N7,N1,+,9,N10
583,N2,N1,-,3,N1
584,N4,N1,-,8,N10
585,N8,N1,+,3,N3
586,N6,N1,-,9,N3
587,N10,N1,+,9,N1
588,N8,N1,-,8,N5
589,N8,N1,-,2,N3
590,N9,N1,+,1,N8
591,N6,N1,+,5,N10
592,N7,N1,-,7,N6
593,N8,N1,+,1,N7
594,N2,N1,+,5,N3
595,N3,N1,+,5,N6
596,N6,N1,-,4,N5
597,N9,N1,+,7,N8
598,N1,N1,-,8,N7
599,N7,N1,-,4,N4
600,N1,N1,+,1,N3
601,N8,N1,-,4,N6
602,N8,N1,-,1,N4
603,N5,N1,-,2,N1
604,N10,N1,+,8,N1
605,N5,N1,-,5,N7
606,N6,N1,-,7,N6
607,N9,N1,-,9,N1
608,N8,N1,+,1,N5
609,N3,N1,+,10,N2
610,N5,N1,-,8,N10
611,N5,N1,+,2,N6
612,N1,N1,+,8,N1
613,N4,N1,-,1,N8
614,N8,N1,-,6,N5
615,N1,N1,+,8,N7
616,N10,N1,-,6,N2
617,N5,N1,-,10,N1
618,N5,N1,+,3,N10
619,N6,N1,+,8,N1
620,N9,N1,+,3,N3
621,N4,N1,-,3,N2
622,N6,N1,+,7,N2
623,N4,N1,+,2,N8
624,N7,N1,-,8,N4
625,N3,N1,-,1,N3
626,N2,N1,-,4,N10
627,N2,N1,+,4,N3
628,N6,N1,+,4,N9
629,N3,N1,+,10,N4
630,N1,N1,-,6,N3
631,N6,N1,+,1,N2
632,N4,N1,-,2,N7
633,N1,N1,+,5,N9
634,N6,N1,+,3,N7
635,N9,N1,+,7,N4
636,N10,N1,-,7,N2
637,N6,N1,-,9,N3
638,N3,N1,-,2,N6
639,N4,N1,-,6,N4
640,N9,N1,+,10,N9
641,N1,N1,+,10,N4
642,N4,N1,-,8,N9
643,N8,N1,+,4,N2
644,N6,N1,+,3,N1
645,N8,N1,+,4,N8
646,N6,N1,+,4,N3
647,N5,N1,-,7,N5
648,N1,N1,-,10,N3
649,N2,N1,-,6,N9
650,N1,N1,-,2,N2
651,N2,N1,+,7,N6
652,N8,N1,-,6,N9
653,N5,N1,+,2,N1
654,N2,N1,+,7,N9
655,N8,N1,+,3,N1
656,N1,N1,-,4,N7
657,N1,N1,+,6,N8
658,N1,N1,+,1,N8
659,N4,N1,-,10,N1
660,N2,N1,+,7,N2
661,N9,N1,-,10,N9
662,N6,N1,-,8,N5
663,N10,N1,+,8,N5
664,N1,N1,+,3,N3
665,N5,N1,-,7,N8
666,N10,N1,-,10,N1
667,N5,N1,-,7,N7
668,N10,N1,-,5,N5
669,N9,N1,+,6,N4
670,N9,N1,+,9,N8
671,N5,N1,-,2,N1
672,N1,N1,+,5,N7
673,N8,N1,+,3,N9
674,N2,N1,-,2,N5
675,N2,N1,-,2,N4
676,N4,N1,+,4,N1
677,N4,N1,-,2,N5
678,N6,N1,-,5,N3
679,N2,N1,+,3,N6
680,N6,N1,-,3,N7
681,N1,N1,+,1,N6
682,N4,N1,+,5,N1
683,N6,N1,+,1,N6
684,N3,N1,+,3,N4
685,N2,N1,+,5,N9
686,N7,N1,-,7,N7
687,N1,N1,-,7,N10
688,N10,N1,+,8,N3
689,N6,N1,+,5,N7
690,N4,N1,+,9,N5
691,N4,N1,-,1,N1
692,N2,N1,+,8,N1
693,N9,N1,-,7,N10
694,N2,N1,-,7,N1
695,N10,N1,+,8,N4
696,N4,N1,+,10,N6
697,N4,N1,+,1,N5
698,N5,N1,-,2,N6
699,N5,N1,+,1,N1
700,N2,N1,+,5,N3
701,N6,N1,-,5,N5
702,N9,N1,+,8,N3
703,N10,N1,+,1,N2
704,N5,N1,-,2,N7
705,N3,N1,-,7,N10
706,N7,N1,+,4,N6
707,N7,N1,+,7,N4
708,N1,N1,-,6,N7
709,N5,N1,+,3,N8
710,N4,N1,+,3,N5
711,N6,N1,-,6,N8
712,N4,N1,-,5,N8
713,N5,N1,-,5,N6
714,N5,N1,+,8,N1
715,N10,N1,-,4,N5
716,N6,N1,+,5,N9
717,N2,N1,+,4,N5
718,N4,N1,-,3,N4
719,N10,N1,-,1,N7
720,N8,N1,-,9,N4
721,N4,N1,+,3,N5
722,N3,N1,-,6,N2
723,N8,N1,-,3,N6
724,N5,N1,-,9,N7
725,N2,N1,-,6,N4
726,N9,N1,+,8,N9
727,N4,N1,-,2,N1
728,N6,N1,-,4,N4
729,N7,N1,-,9,N8
730,N1,N1,+,7,N3
731,N3,N1,+,10,N2
732,N3,N1,-,10,N9
733,N7,N1,+,9,N4
734,N4,N1,+,8,N4
735,N7,N1,-,8,N6
736,N2,N1,+,5,N9
737,N4,N1,+,10,N4
738,N4,N1,+,6,N4
739,N6,N1,-,5,N2
740,N5,N1,+,6,N4
741,N7,N1,-,7,N7
742,N10,N1,+,5,N6
743,N8,N1,-,6,N8
744,N7,N1,+,9,N6
745,N8,N1,-,2,N2
746,N2,N1,+,2,N8
747,N3,N1,+,4,N3
748,N7,N1,-,6,N4
749,N9,N1,+,4,N9
750,N7,N1,+,10,N3
751,N1,N1,+,5,N7
752,N3,N1,-,2,N5
753,N4,N1,+,6,N2
754,N1,N1,-,6,N8
755,N6,N1,+,4,N4
756,N3,N1,+,9,N2
757,N6,N1,-,9,N4
758,N4,N1,+,9,N8
759,N7,N1,-,1,N8
760,N4,N1,+,4,N8
761,N1,N1,-,6,N2
762,N10,N1,+,9,N1
763,N1,N1,-,2,N4
764,N8,N1,+,6,N3
765,N6,N1,+,1,N6
766,N3,N1,+,4,N2
767,N7,N1,+,7,N2
768,N10,N1,-,6,N3
769,N4,N1,-,9,N8
770,N10,N1,+,3,N9
771,N5,N1,+,7,N5
772,N7,N1,-,8,N2
773,N4,N1,-,5,N2
774,N4,N1,+,9,N7
775,N8,N1,+,7,N9
776,N7,N1,+,4,N4
777,N7,N1,-,1,N5
778,N10,N1,+,7,N2
779,N1,N1,-,8,N4
780,N5,N1,+,8,N8
781,N7,N1,-,5,N10
782,N1,N1,+,8,N6
783,N5,N1,+,6,N1
784,N7,N1,-,8,N9
785,N9,N1,-,6,N10
786,N10,N1,-,8,N9
787,N3,N1,+,7,N10
788,N10,N1,+,9,N10
789,N6,N1,+,2,N4
790,N10,N1,+,10,N1
791,N5,N1,-,8,N7
792,N9,N1,-,5,N5
793,N5,N1,+,9,N7
794,N10,N1,+,6,N3
795,N7,N1,-,8,N8
796,N8,N1,-,6,N6
797,N7,N1,+,5,N2
798,N8,N1,+,4,N10
799,N2,N1,-,7,N1
800,N3,N1,+,10,N3
801,N7,N1,+,7,N6
802,N8,N1,-,2,N10
803,N7,N1,+,9,N2
804,N3,N1,-,5,N2
805,N1,N1,+,8,N8
806,N2,N1,-,6,N1
807,N8,N1,+,5,N5
808,N2,N1,+,10,N1
809,N8,N1,+,4,N1
810,N10,N1,-,4,N1
811,N4,N1,+,6,N4
812,N1,N1,-,6,N8
813,N4,N1,+,9,N10
814,N6,N1,-,7,N4
815,N7,N1,-,2,N10
816,N10,N1,-,3,N3
817,N7,N1,-,3,N1
818,N5,N1,-,9,N2
819,N3,N1,-,5,N10
820,N8,N1,+,4,N1
821,N2,N1,+,9,N2
822,N9,N1,+,4,N7
823,N5,N1,+,5,N8
824,N1,N1,-,7,N9
825,N8,N1,+,5,N5
826,N1,N1,+,9,N1
827,N2,N1,-,3,N4
828,N7,N1,-,10,N7
829,N7,N1,+,4,N6
830,N9,N1,-,10,N6
831,N3,N1,+,9,N5
832,N7,N1,-,4,N3
833,N3,N1,+,8,N2
834,N8,N1,+,4,N1
835,N7,N1,+,6,N6
836,N1,N1,+,4,N5
837,N7,N1,+,6,N7
838,N10,N1,+,4,N7
839,N6,N1,+,5,N8
840,N7,N1,-,4,N10
841,N4,N1,+,10,N8
842,N6,N1,-,9,N4
843,N2,N1,-,9,N2
844,N3,N1,+,5,N7
845,N2,N1,+,5,N4
846,N10,N1,+,5,N7
847,N1,N1,-,10,N3
848,N2,N1,-,5,N7
849,N4,N1,+,3,N1
850,N3,N1,+,4,N4
851,N3,N1,+,4,N4
852,N10,N1,-,10,N9
853,N4,N1,-,2,N5
854,N9,N1,+,8,N5
855,N6,N1,+,4,N9
856,N7,N1,-,6,N8
857,N1,N1,+,1,N5
858,N10,N1,+,1,N3
859,N3,N1,+,6,N4
860,N8,N1,+,2,N6
861,N6,N1,+,6,N6
862,N7,N1,+,3,N7
863,N1,N1,+,9,N6
864,N7,N1,-,3,N2
865,N6,N1,+,5,N3
866,N10,N1,-,2,N1
867,N10,N1,-,3,N5
868,N4,N1,+,3,N10
869,N6,N1,+,7,N5
870,N5,N1,+,2,N5
871,N7,N1,+,1,N10
872,N8,N1,+,10,N2
873,N9,N1,+,6,N6
874,N1,N1,+,3,N4
875,N3,N1,+,7,N5
876,N4,N1,-,8,N4
877,N9,N1,-,6,N2
878,N5,N1,-,10,N9
879,N1,N1,+,9,N8
880,N3,N1,-,3,N8
881,N4,N1,+,6,N4
882,N10,N1,-,5,N5
883,N1,N1,+,10,N7
884,N8,N1,+,4,N8
885,N2,N1,-,5,N5
886,N3,N1,-,3,N8
887,N9,N1,+,1,N9
888,N6,N1,-,2,N9
889,N1,N1,-,7,N10
890,N10,N1,+,3,N10
891,N2,N1,-,2,N9
892,N9,N1,+,2,N2
893,N10,N1,-,4,N9
894,N1,N1,+,6,N1
895,N6,N1,-,7,N2
896,N5,N1,+,1,N10
897,N7,N1,+,5,N10
898,N6,N1,+,6,N5
899,N1,N1,+,9,N2
900,N2,N1,-,10,N8
901,N2,N1,+,4,N8
902,N9,N1,-,8,N4
903,N5,N1,-,10,N8
904,N1,N1,+,2,N1
905,N8,N1,-,9,N10
906,N8,N1,+,5,N6
907,N2,N1,-,1,N8
908,N3,N1,-,2,N4
909,N7,N1,+,6,N2
910,N8,N1,-,7,N3
911,N2,N1,+,7,N9
912,N5,N1,+,2,N8
913,N9,N1,+,2,N3
914,N1,N1,+,6,N6
915,N1,N1,+,5,N4
916,N8,N1,+,10,N3
917,N4,N1,-,8,N3
918,N10,N1,+,2,N3
919,N2,N1,+,2,N3
920,N3,N1,+,5,N6
921,N9,N1,-,2,N5
922,N1,N1,+,4,N1
923,N4,N1,+,10,N10
924,N2,N1,+,6,N10
925,N3,N1,+,6,N4
926,N4,N1,-,10,N2
927,N6,N1,+,4,N8
928,N7,N1,-,4,N9
929,N2,N1,-,8,N8
930,N9,N1,-,10,N2
931,N2,N1,+,3,N4
932,N6,N1,+,9,N7
933,N9,N1,-,1,N10
934,N1,N1,+,3,N9
935,N3,N1,+,7,N1
936,N10,N1,-,2,N5
937,N9,N1,-,7,N10
938,N10,N1,+,9,N4
939,N9,N1,-,7,N2
940,N2,N1,-,5,N4
941,N6,N1,-,6,N8
942,N4,N1,+,6,N3
943,N10,N1,+,7,N4
944,N10,N1,+,5,N9
945,N1,N1,+,5,N10
946,N3,N1,+,8,N10
947,N5,N1,-,3,N10
948,N3,N1,+,6,N1
949,N8,N1,-,4,N6
950,N6,N1,-,1,N8
951,N1,N1,-,2,N8
952,N6,N1,-,9,N2
953,N2,N1,-,10,N4
954,N5,N1,+,10,N7
955,N10,N1,+,1,N8
956,N1,N1,-,5,N1
957,N2,N1,-,5,N8
958,N7,N1,+,8,N9
959,N7,N1,-,2,N8
960,N3,N1,-,7,N9
961,N3,N1,+,4,N1
962,N10,N1,+,10,N4
963,N2,N1,+,10,N8
964,N10,N1,+,5,N8
965,N3,N1,+,8,N2
966,N2,N1,+,9,N5
967,N1,N1,-,3,N6
968,N10,N1,-,3,N6
969,N6,N1,-,10,N4
970,N7,N1,+,6,N9
971,N1,N1,+,9,N2
972,N5,N1,+,5,N2
973,N8,N1,+,4,N2
974,N8,N1,-,5,N2
975,N9,N1,+,6,N6
976,N8,N1,-,1,N6
977,N6,N1,+,7,N4
978,N6,N1,+,2,N8
979,N5,N1,-,6,N3
980,N5,N1,-,3,N7
981,N9,N1,-,2,N10
982,N4,N1,+,3,N8
983,N10,N1,+,1,N8
984,N9,N1,-,7,N1
985,N8,N1,+,6,N8
986,N4,N1,+,1,N1
987,N8,N1,-,8,N10
988,N9,N1,+,4,N3
989,N2,N1,-,5,N3
990,N4,N1,-,8,N1
991,N9,N1,+,5,N4
992,N2,N1,+,5,N3
993,N1,N1,+,5,N7
994,N1,N1,-,4,N1
995,N4,N1,-,10,N3
996,N5,N1,+,10,N4
997,N5,N1,-,10,N8
998,N2,N1,-,5,N7
999,N2,N1,-,9,N4

View File

@ -1,5 +0,0 @@
unix
Perso
DataEng/BI
DataEng/BI
Créé une blockchain de 0 sans utiliser un repos ou on connait pas le contenue, start from scratch, construire, stocker et requeter, pas de logiciel libre ou quoi que ce soit, blockchain local avec VM a la limite

Binary file not shown.

Before

Width:  |  Height:  |  Size: 192 KiB

View File

@ -1,6 +0,0 @@
2024-03-01 15:51:29.892625: user_accounts/BYVDXVCP.txt -> 1.0 -> user_accounts/CLHKWFZS.txt
2024-03-01 15:52:28.958875: user_accounts/BYVDXVCP.txt -> 5.0 -> user_accounts/CLHKWFZS.txt
2024-03-01 16:01:35.194715: user_accounts/ZBCWMUYL.txt -> 47 -> user_accounts/LZGACVCF.txt
2024-03-01 16:01:36.903238: user_accounts/PYUVBYYF.txt -> 56 -> user_accounts/ZBCWMUYL.txt
2024-03-01 16:01:38.071986: user_accounts/LXGJEAWF.txt -> 12 -> user_accounts/CLHKWFZS.txt
2024-03-01 16:01:39.318381: user_accounts/LXGJEAWF.txt -> 37 -> user_accounts/ZBCWMUYL.txt

View File

@ -1,123 +0,0 @@
import random
import string
import os
from datetime import datetime
import sys
def transfer(source, dest, amount):
if source == dest:
print("Source and destination accounts cannot be the same.")
return
if "user_accounts" not in source:
source = "user_accounts/" + source
if "user_accounts" not in dest:
dest = "user_accounts/" + dest
try:
with open(source, 'r') as source_file:
source_balance = float(source_file.read().strip())
with open(dest, 'r') as dest_file:
dest_balance = float(dest_file.read().strip())
if source_balance < amount:
print("Insufficient funds in the source account.")
return
source_balance -= amount
dest_balance += amount
with open( source, 'w') as source_file:
source_file.write(str(source_balance))
with open( dest, 'w') as dest_file:
dest_file.write(str(dest_balance))
print(f"Transfer of {amount} completed successfully.")
with open('transfer_log.txt', 'a') as log_file:
log_file.write(f"{datetime.now()}: {source} -> {amount} -> {dest} \n")
except FileNotFoundError:
print("One or both of the users does not exist.")
except ValueError:
print("File content is not a valid number.")
except Exception as e:
print(f"An error occurred: {e}")
def create_random_users(num_users):
try:
os.makedirs("user_accounts", exist_ok=True)
for i in range(num_users):
username = ''.join(random.choices(string.ascii_uppercase, k=8))
user_file = f"{username}.txt"
balance = 100
with open('user_accounts/'+ user_file, 'w') as file:
file.write(str(balance))
print(f"User {i+1}: Username - {username}, Source File - {user_file}, Balance - {balance}")
except Exception as e:
print(f"An error occurred: {e}")
def get_random_user_accounts():
user_files = os.listdir("user_accounts")
if len(user_files) < 2:
print("Insufficient user accounts to perform transactions.")
return None, None
user1_file = random.choice([file for file in user_files])
user2_file = random.choice([file for file in user_files if file != user1_file])
return user1_file, user2_file
def perform_random_transaction():
# Get two random user accounts
user1_file, user2_file = get_random_user_accounts()
if user1_file is None or user2_file is None:
return
try:
# Extract usernames from file names
user1 = user1_file
user2 = user2_file
print(f"Performing transaction from {user1} to {user2}")
# Generate a random amount for the transaction
amount = random.randint(10, 100)
# Perform the transaction
transfer(user1, user2, amount)
except Exception as e:
print(f"An error occurred: {e}")
# create_random_users(7)
# perform_random_transaction()
if __name__ == '__main__':
args = sys.argv
if len(args) == 4:
transfer(args[1], args[2], float(args[3]))
else:
perform_random_transaction()

View File

@ -1 +0,0 @@
12D3KooWCQ75AUpcQNWFa1k4SmxjUXAevJcR1HLznG6pZX8tVo7V