Update README.md
Browse files
README.md
CHANGED
@@ -1,100 +1,3 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
|
4 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⣿⣿⣿⣶⣶⡶⢶⣶⣶⣦⣤⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
5 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣤⠶⠶⠛⠛⠉⠉⠉⠉⠛⠛⠳⢶⣤⣄⠀⠀⠹⣿⣿⣿⣿⣿⣿⣾⡱⢆⡲⢤⠉⡍⢛⠻⠷⣦⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
6 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣤⣤⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣤⡶⠶⢻⠛⠛⠋⢉⠀⠠⠀⠄⠠⠐⠀⠂⠀⠄⢀⠀⡀⢈⠙⡻⣷⣤⣿⣿⣿⣿⣿⣿⣿⣿⣯⣖⡣⡝⡰⢃⠎⡴⢈⡙⠻⢷⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
7 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡿⠛⠛⠿⠿⣷⣶⣦⣤⠶⠟⢋⡉⢄⠢⡑⢢⢉⡔⢣⠎⠬⠣⠜⠲⠄⠢⠁⠤⠁⡄⢂⠰⢠⠡⠌⡐⠌⡹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣹⣕⢫⡜⡰⢃⠬⡑⢢⡘⡙⢳⣦⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
8 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⠇⠀⠀⠀⠀⣠⣿⠟⣋⡔⣩⢒⡜⡢⢇⡙⢂⠡⢈⠀⡀⠂⠀⠄⡀⠄⠐⠀⠄⠐⠀⠈⠁⡁⢂⠐⡀⢂⠁⢚⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣾⣱⣋⢖⡉⢆⠰⡁⠆⣈⠙⢷⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
9 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣷⣾⣿⣶⡾⡟⠧⠛⠤⠙⡄⢋⡌⣁⠂⡐⠄⡃⠆⢡⢀⠃⠌⡀⠄⡐⠈⡀⠂⢈⠀⠡⠐⠀⠠⠐⠀⠂⠌⠠⡘⣿⣿⣿⣿⣿⣿⣿⣿⡉⠛⠛⠿⠿⣿⣿⣮⣽⣊⢦⠁⢆⠠⢈⠀⡈⠻⢦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
10 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⡿⢋⡁⢒⠠⢣⢌⠳⡌⢇⡒⡄⢆⡱⢌⡰⢉⠢⡘⢌⠢⡑⠢⢄⠡⡐⢈⠀⡐⠀⠂⠁⠄⠂⠁⠌⠠⠁⡔⠩⢿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⠀⠀⠉⠙⠻⣷⣏⠦⡘⢄⠂⠄⡀⠂⠙⢧⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
11 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⡟⢣⠜⡤⢓⡌⣎⠵⣊⠷⣘⢦⢳⡘⢦⡑⢎⡔⣡⢂⠐⡀⢂⠁⠣⢌⠢⣁⠣⡘⣀⠂⡁⠌⠀⠌⠐⡀⢁⠂⠠⠑⡌⢛⣿⣿⣿⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣶⣍⠢⠜⠠⠐⠀⠡⠀⠻⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
12 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⠧⡜⣡⠚⣔⢣⡞⡬⢣⣙⢮⣓⢮⡱⢎⡇⡞⣡⠚⡔⣊⠖⡰⠀⠌⢀⠂⠐⡀⠆⣁⠢⠑⡄⢂⠡⠐⢀⠐⠠⢀⠁⢂⠘⠤⡹⣿⣿⣿⣿⣿⣿⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣷⡌⠱⡈⠄⠡⠐⢀⠈⢷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
13 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⢏⡴⠣⡍⢶⣙⢮⠳⡡⢎⡝⣾⡹⣌⠧⣊⠵⣑⢋⠖⣡⢋⡔⣃⠒⠤⡈⢀⠂⢁⠠⠉⠄⢂⠁⠎⡰⢀⠌⠠⠀⠌⠐⡈⠐⡠⢃⢿⣿⣿⡿⠟⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⣷⣆⠱⡀⢂⠠⠈⡀⠈⢿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
14 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⢏⠖⣡⠓⣜⢣⣞⡉⢲⠡⣏⡜⢧⡻⣌⡳⣜⢢⡑⠎⡜⠤⢃⠲⢌⡩⢆⠱⢠⠐⠀⡀⠂⢈⠠⢈⠐⢠⠃⠎⡄⢈⠠⠁⠰⣁⠰⢈⠚⣿⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣦⠑⢄⡀⢂⠀⡁⠀⠹⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
15 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⡾⠁⢧⠹⣜⢯⢖⡩⢆⡝⢤⣋⠷⣹⠶⣱⢎⢷⣸⠱⣌⠊⡅⢣⠘⡰⢈⠆⡡⠊⠔⡀⠐⠀⡀⠄⠈⠂⠌⠒⡌⢲⡀⠌⠐⢠⠃⡬⢘⡹⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⣏⣆⠐⠠⢀⠐⠈⢀⠘⣧⡀⠀⠀⠀⠀⠀⠀⠀⠀
|
16 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⢃⡍⢶⡙⣮⣿⢌⠳⡌⡜⢦⡩⢞⡽⣟⢦⣋⠞⣜⡻⢶⣭⣐⠂⢆⠁⠢⠘⡠⠑⠂⠌⠤⣁⠀⠠⠀⠁⠠⠑⡈⠦⡑⢎⡀⠂⠱⢌⠣⡜⣹⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⣿⣿⡦⠀⡐⠈⠀⠄⠘⣷⡀⠀⠀⠀⠀⠀⠀⠀
|
17 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀��⠀⠀⠀⠀⣿⣿⢣⡜⣣⢝⣺⣿⣎⠵⡘⡜⢦⠱⣋⡼⣿⣧⢏⡞⣥⢛⢧⣛⢿⣿⣦⣌⠀⠡⢀⠡⠘⡐⠂⠄⠚⢤⡐⠈⢀⠐⠀⠡⢉⠖⡱⡌⡑⢪⠱⡌⡽⣿⣿⣿⣦⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡆⠀⢰⡿⠛⣿⣿⣟⠀⠄⡈⠄⢈⠀⡘⣧⡀⠀⠀⠀⠀⠀⠀
|
18 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣏⠶⣹⢆⡏⣶⣿⣿⢢⡙⠜⣢⠓⡬⢒⣿⣿⣿⡜⣧⢫⠖⡭⢞⡼⣛⡿⣷⣦⣄⠀⢂⠠⠁⠎⡐⢂⠘⢢⠀⠄⡈⠐⠈⢎⠵⢣⠜⣠⠛⣜⡹⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⢰⣇⠀⣾⠃⠀⣼⣿⡃⢌⠠⢀⠐⠀⠄⠠⠘⣷⠀⠀⠀⠀⠀⠀
|
19 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⡎⣽⠲⣍⠞⣶⢻⣿⣧⡘⠜⣠⠙⠴⡉⢖⣿⣿⣿⣾⣧⣿⣘⢧⡚⣥⢫⡝⡻⢿⣿⣦⣀⠂⠄⠡⠈⡜⠠⢍⢢⠐⠈⡀⢊⠜⣱⢚⠤⡛⡴⡹⣿⣿⣿⣿⢋⣿⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣾⠏⢀⡿⠀⢻⣿⠴⣦⡄⠂⢁⠐⠀⡁⢹⣧⠀⠀⠀⠀⠀
|
20 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣜⠲⣏⠼⣹⣾⣏⡿⣿⣎⠒⠤⢉⠆⡉⠎⡴⢻⣿⣿⣉⠛⠛⠿⣷⣶⣧⣞⣭⢓⢮⡛⣿⣿⣴⣂⠡⡐⡉⢆⢢⡙⡔⢠⠂⡘⢥⣋⠶⣡⢳⡹⣿⡿⢉⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⣼⢻⡟⠀⢨⠃⠀⢈⡟⠀⢘⣿⡄⠂⠠⠁⠠⠀⢻⣆⠀⠀⠀⠀
|
21 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣎⠷⡸⡑⢮⣿⡾⣝⡿⣿⣏⠦⡁⢎⡐⢁⠂⠧⢻⣿⡆⠄⠀⠀⠀⠈⠉⠛⠻⠿⣶⣿⣴⣭⣛⣿⣷⣼⡰⣌⢢⠱⢌⢣⡜⠤⣃⢮⠳⡥⢎⣳⣿⣷⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⣿⣸⠇⠀⠀⠀⠀⣌⣷⣴⡿⠛⠁⠠⠁⠠⠁⡐⠈⣿⡄⠀⠀⠀
|
22 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⡚⣥⠃⣞⣿⣿⡽⣞⣿⣿⣷⣑⠂⡌⠤⢈⠐⠡⢚⣿⣆⠀⠀⠀⠀⠀⠀⠀⣠⡾⠋⠉⠙⣻⣿⣿⣿⣿⣾⣧⣗⢮⡱⢎⡳⣌⢎⠷⣙⢮⣿⣿⣿⣿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⢰⡏⡌⠀⠀⠀⢀⣴⠋⢻⣯⠠⠁⠌⠐⡀⠁⡐⠀⡐⠘⣷⠀⠀⠀
|
23 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣟⠴⣃⠸⣿⣿⣿⣟⣾⣿⡿⠿⣷⣮⡐⡡⢌⠂⡅⠚⣿⣧⠀⠀⠀⠀⠰⠞⠋⠀⢀⣠⣾⣿⠟⠉⠀⠉⠙⠻⢿⣿⣿⣭⣷⣹⣎⢯⡳⢾⣿⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⣾⠁⠀⠀⠀⣴⠟⠁⠀⢸⣿⠠⢉⠐⠠⢀⠁⡀⠂⠄⡈⢽⡆⠀⠀
|
24 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿⣽⢢⡝⣽⣿⣿⣿⣿⣿⣿⣅⡀⠙⠿⣷⣌⣒⢌⡱⢂⠿⣷⣀⠀⠀⠀⠀⢀⣴⣾⠿⠋⠀⠀⠀⠀⠀⠀⠀⣼⣿⡿⢿⣿⣷⣯⣷⣻⣿⣿⣿⡿⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠇⠀⠀⣠⡾⠁⠀⠀⠀⢸⣿⠐⠂⠌⡐⠀⠄⠐⡀⠂⠄⠘⣷⠀⠀
|
25 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣗⡞⣜⣻⢿⣿⣿⣿⡙⠿⠿⣷⣶⣬⣙⣿⢷⣮⣇⣎⡹⢿⣆⠀⠀⠀⣿⣿⣷⣶⣶⣶⣶⣶⣶⣾⡿⠉⠀⣿⡟⡽⣹⣿⢿⣿⣷⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡿⠀⠀⣰⠋⠀⠀⠀⠀⠀⢨⣿⢈⡁⠆⢠⠁⠌⢀⠐⠠⢈⠐⢿⡆⠀
|
26 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⡬⢏⡿⣽⣻⣿⣿⣄⠄⠀⠈⠙⢛⣿⣿⣯⠙⠛⠻⠿⠿⠛⠀⠀⠀⠉⠁⠉⠈⠀⠁⠀⡀⠄⡐⢂⠲⣿⣯⢳⣽⡇⠀⠹⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⠃⢀⡼⠁⠀⠀⠀⠀⠀⠀⠰⣿⠠⡐⠈⠤⡈⠄⠂⢈⠐⠠⡈⢼⣇⠀
|
27 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣝⡾⣱⣟⣿⣿⣿⡶⣬⣶⣿⣿⠿⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⣏⡐⢠⠂⠁⣿⣿⣳⣿⣿⣶⣾⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠏⢀⡾⠁⠀⠀⠀⠀⠀⠀⠀⢸⣿⠠⢁⠜⣀⠒⡈⠐⡀⠌⠠⠁⠆⣿⠀
|
28 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣳⣻⢾⣿⣿⣿⡟⣿⣉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠉⠉⠁⠀⣠⡿⢻⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣤⣤⣤⣰⡟⠀⡞⠁⠀⠀⠀⠀⠀⠀⠀⠀⣸⣏⠐⠌⡰⢀⠣⡐⢁⠠⠈⠄⠃⡌⢿⡇
|
29 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⣟⣿⣿⣿⣿⣞⢻⣧⠀⠀⠀⠀⢀⣤⣤⡴⡶⠶⠛⢏⡙⢻⣦⡀⠀⠀⠀⠀⠀⠀⣰⣿⡀⠛⠁⠀⠀⠀⠀⠀⠀⢀⣀⣤⣶⣿⣿⣿⠟⠉⠿⠇⠀⠘⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡇⠌⢢⠑⡌⢢⠑⡂⠄⡈⠄⡃⠜⣸⡇
|
30 |
-
⠀⠀⠀⠀⠀⠀⠀⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠿⣦⣀⠀⠀⠈⢿⣇⡲⢄⠣⡉⢆⠸⢠⠹⣷⠀⠀⠀⣠⣴⣿⣿⣿⣿⣷⣤⣀⣤⣠⣤⣴⣾⣿⣿⣿⣿⣿⣿⣿⣦⠄⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⢂⡑⢢⠱⡨⢅⡊⠔⠠⠐⡈⠔⣩⢸⡇
|
31 |
-
⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣻⣿⡿⠿⣿⡇⠀⠉⢻⣦⣤⣈⠛⠿⣿⣶⣭⣦⢿⠶⢉⣡⣤⣶⣿⣿⠿⣹⣿⡿⣧⠩⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⣧⠀⠀⠀⠀⠀⠀⠀⢀⣿⢇⠢⡘⢤⢣⡑⢎⠴⣉⢂⠐⢄⠣⢆⣻⡇
|
32 |
-
⠀⠀⠀⠀⠀⣼⣿⣿⣟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡷⣯⣿⡇⠀⠈⠙⠀⣠⠟⠇⠉⠹⢿⣷⣶⣴⣶⣶⣶⣾⣿⣿⣿⡝⣲⣬⣾⣟⣿⣯⡑⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡤⡄⣀⡀⢀⣼⡟⠀⠀⠀⠀⠀⠀⢀⣾⠟⡄⢣⠘⣆⢣⢜⣊⠖⡰⡈⠔⡨⣘⠢⣿⠇
|
33 |
-
⠀⠀⠀⢀⣾⣿⣟⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿��⣟⣷⣿⣇⡀⠀⠀⣠⡟⠄⠶⣤⣄⣸⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⢻⣿⡅⢢⡽⠿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⣼⣶⣿⡿⠁⠀⠀⠀⠀⠀⢠⣾⠏⡜⢄⠣⣍⠲⣍⠶⣩⠞⣡⠱⡈⠴⢠⠣⣿⠀
|
34 |
-
⠀⠀⢀⣾⣿⣻⣾⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣾⣿⣿⣿⣿⣿⣿⣿⣿⣦⣤⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠘⣿⣿⣹⡇⠀⠀⠀⠀⠀⠀⠀⠉⠉⠙⠛⠋⠀⠀⠰⠿⠟⠋⠀⠀⠀⠀⠀⠀⣴⣿⠏⡜⡰⢊⠵⣨⠳⣬⢓⢧⡛⣤⢣⢡⢋⠦⣹⡟⠀
|
35 |
-
⠀⠀⣾⣿⣳⣯⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣻⣾⡿⠏⠁⠀⠈⠻⣿⣿⣿⣿⣿⣿⡿⠋⠉⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠸⣿⡀⠀⠀⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣟⢣⢛⡴⢡⣋⠶⣡⢟⡲⢏⡮⡵⣊⢆⠣⢎⠖⣽⠇⠀
|
36 |
-
⠀⣼⣿⣿⣳⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⠁⠀⠀⠀⠀⠀⢈⠉⣿⣿⡟⠉⠀⠀⠀⠈⢿⣿⣿⣿⣟⢾⣻⣿⡀⠀⠈⠉⣉⣤⣿⠿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣾⡿⣏⡜⣣⢳⣜⣳⢬⠳⣍⠾⣭⢻⡼⣱⢣⢎⡱⢎⢾⡟⠀⠀
|
37 |
-
⢠⣿⣟⣾⣿⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⣦⡀⠀⠀⠀⠀⣠⣶⣿⠃⠀⠀⠀⠀⠀⠀⢸⡷⣿⣿⢎⡷⣹⣿⡇⠈⠉⠛⠉⠁⠀⠀⢹⠟⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣶⣿⡟⣯⢵⡺⣜⣷⣻⣾⣟⢮⡝⢮⡝⣮⣳⡝⣧⢋⠶⣩⢞⣿⠁⠀⠀
|
38 |
-
⢸⣿⣿⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡾⣿⣿⣿⣿⣷⣤⣴⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⣾⢇⣿⣟⡞⣴⢣⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣧⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠛⠿⣿⠿⠿⢿⣿⣿⣿⣿⣛⢮⣜⢧⣛⣶⢻⡼⣣⢏⡞⣥⡿⠃⠀⠀⠀
|
39 |
-
⢹⣿⣿⣿⡟⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣽⣿⣿⠟⠻⠟⠛⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠀⣿⡿⣜⡖⣏⣿⣿⡀⠄⢈⠀⠀⠀⠀⠀⠀⠀⠹⣿⣿⢷⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⣿⣿⣿⣽⡹⣞⡼⣏⣷⢫⣿⣱⠳⣎⣾⡟⠁⠀⠀⠀⠀
|
40 |
-
⢸⣿⣿⡿⠀⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡾⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⢿⡎⣿⣿⣳⢞⡵⣺⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⣿⣎⣝⣻⣷⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⣿⣿⣿⣳⢏⣷⣹⢾⡽⣞⣯⢖⣯⣿⡾⠋⠀⠀⠀⠀⠀⠀
|
41 |
-
⠀⢻⣿⡇⠀⠀⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣽⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡟⠁⠻⣿⣿⣿⣿⣯⡞⡵⣿⣷⠀⠀⡀⣠⣤⣤⡠⠜⠻⣅⠂⢈⣿⣿⣿⣿⣯⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣼⣿⣿⣿⣻⢾⣝⡾⣣⣟⣯⣟⢷⣮⣿⠾⠃⠀⠀⠀⠀⠀⠀⠀⠀
|
42 |
-
⠀⠀⠻⣇⠀⠀⠀⠙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠏⠀⠀⣾⣿⣿⣿⣿⡿⣽⡹⣿⣿⣶⣡⠛⣝⣻⣿⣿⣦⡥⢌⣳⡿⣿⣿⢹⣾⣿⣷⣦⡀⠀⠀⠀⠀⠀⢀⣴⣿⣿⡿⣯⢷⣻⡟⣮⢷⣻⣞⣷⣾⠿⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
43 |
-
⠀⠀⠀⠈⠀⠀⠀⠀⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⡿⠟⠋⠀⠹⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⡀⠀⠘⠑⣿⣿⣿⣿⠽⣶⣹⢿⣿⣏⠻⣿⣌⢿⣽⣿⣿⣽⣿⣩⣾⣯⣽⣿⣿⣿⣿⣿⣿⣷⣄⠀⣠⣾⣿⣿⣿⣯⣿⣯⣿⣧⣿⡿⠿⠛⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
44 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿⠿⠛⠁⠀⠀⠀⠀⠀⠈⠙⠻⠂⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⣷⣴⣁⣶⡿⣿⣿⣭⣟⡶⣯⣿⣿⣿⣷⣌⣻⣿⣾⣿⢿⣿⡍⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠹⣿⠛⠛⠛⠛⠛⠛⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
45 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢿⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣿⣿⣿⣿⣏⣵⣿⣿⣿⣽⣷⣿⣿⣿⣿⣿⣿⣯⣿⣿⣯⡌⣿⣷⣿⣿⡿⣏⠙⢻⣿⣿⡟⠁⠀⠀⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
46 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣤⣿⣿⣿⡟⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣾⣿⣿⣿⣿⣿⣿⣿⣿⣼⣿⣿⣿⣟⣶⣾⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
47 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠿⣿⣿⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠁⠀⠈⠉⠛⠛⠛⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
48 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⣹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⣭⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
49 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿��⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠛⠛⠛⠙⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
50 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
51 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⣿⣿⣿⣿⣿⣿⠿⠿⢿⡿⠃⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
52 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠛⠛⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
53 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
54 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
55 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿⣽⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
56 |
-
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠉⠛⠛⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
57 |
-
```
|
58 |
-
diff --git a/src/transformers/models/llama/modeling_llama.py b/src/transformers/models/llama/modeling_llama.py
|
59 |
-
index 5c0c57f3e..f94a4cb37 100644
|
60 |
-
--- a/src/transformers/models/llama/modeling_llama.py
|
61 |
-
+++ b/src/transformers/models/llama/modeling_llama.py
|
62 |
-
@@ -73,6 +73,29 @@ class LlamaRMSNorm(nn.Module):
|
63 |
-
|
64 |
-
ALL_LAYERNORM_LAYERS.append(LlamaRMSNorm)
|
65 |
-
|
66 |
-
+def apply_scaling(freqs: torch.Tensor):
|
67 |
-
+ # Values obtained from grid search
|
68 |
-
+ scale_factor = 8
|
69 |
-
+ low_freq_factor = 1
|
70 |
-
+ high_freq_factor = 4
|
71 |
-
+ old_context_len = 8192 # original llama3 length
|
72 |
-
+
|
73 |
-
+ low_freq_wavelen = old_context_len / low_freq_factor
|
74 |
-
+ high_freq_wavelen = old_context_len / high_freq_factor
|
75 |
-
+ new_freqs = []
|
76 |
-
+ for freq in freqs:
|
77 |
-
+ wavelen = 2 * math.pi / freq
|
78 |
-
+ if wavelen < high_freq_wavelen:
|
79 |
-
+ new_freqs.append(freq)
|
80 |
-
+ elif wavelen > low_freq_wavelen:
|
81 |
-
+ new_freqs.append(freq / scale_factor)
|
82 |
-
+ else:
|
83 |
-
+ assert low_freq_wavelen != high_freq_wavelen
|
84 |
-
+ smooth = (old_context_len / wavelen - low_freq_factor) / (
|
85 |
-
+ high_freq_factor - low_freq_factor
|
86 |
-
+ )
|
87 |
-
+ new_freqs.append((1 - smooth) * freq / scale_factor + smooth * freq)
|
88 |
-
+ return torch.tensor(new_freqs, dtype=freqs.dtype, device=freqs.device)
|
89 |
-
|
90 |
-
class LlamaRotaryEmbedding(nn.Module):
|
91 |
-
def __init__(self, dim, max_position_embeddings=2048, base=10000, device=None, scaling_factor=1.0):
|
92 |
-
@@ -82,6 +105,7 @@ class LlamaRotaryEmbedding(nn.Module):
|
93 |
-
self.max_position_embeddings = max_position_embeddings
|
94 |
-
self.base = base
|
95 |
-
inv_freq = 1.0 / (self.base ** (torch.arange(0, self.dim, 2, dtype=torch.int64).float().to(device) / self.dim))
|
96 |
-
+ inv_freq = apply_scaling(inv_freq)
|
97 |
-
self.register_buffer("inv_freq", inv_freq, persistent=False)
|
98 |
-
# For BC we register cos and sin cached
|
99 |
-
self.max_seq_len_cached = max_position_embeddings
|
100 |
-
```
|
|
|
1 |
+
who even leaks these models lol?
|
2 |
+
|
3 |
+
here's the tokenizer
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|