Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ce407214ee | ||
|
|
f45899c5a9 | ||
|
|
c0a750f3ea | ||
|
|
876a6fc564 | ||
|
|
c7e962db9a | ||
|
|
17e79c3a43 | ||
|
|
3e2666bb2e | ||
|
|
e991e97dd5 | ||
|
|
7853000e5e | ||
|
|
9ced2a7008 | ||
|
|
39ae858a27 | ||
|
|
ceefe812cb | ||
|
|
07400f5308 | ||
|
|
b9e30f101b | ||
|
|
5d6a6063ec | ||
|
|
a87e445dcd | ||
|
|
1119b9f830 | ||
|
|
49ab59723d | ||
|
|
e95c344647 | ||
|
|
b8ac82f9a7 | ||
|
|
d860395853 | ||
|
|
0eea159a88 | ||
|
|
a145bd3aeb | ||
|
|
cc27f7b279 | ||
|
|
c7653e46a0 | ||
|
|
9f90d88277 | ||
|
|
89e9b188cd | ||
|
|
b67337b094 | ||
|
|
f1ec9c94d5 | ||
|
|
8630f9fec2 | ||
|
|
a5dfc5bd4a | ||
|
|
9170f56597 | ||
|
|
5b4c89377d | ||
|
|
4d8388d38b | ||
|
|
cb4e695706 | ||
|
|
98d81a299f | ||
|
|
fcf210b765 | ||
|
|
b69f7e24c3 | ||
|
|
ff1c95197c | ||
|
|
16ef0575b6 | ||
|
|
7e905b98e1 | ||
|
|
07d0ebf1a4 | ||
|
|
684f31545b | ||
|
|
ef1d389301 | ||
|
|
9673ad66b8 | ||
|
|
afca004822 | ||
|
|
cdabb1bfb7 | ||
|
|
e284d41b3f | ||
|
|
adde740a4f | ||
|
|
0e7112e56f | ||
|
|
e8001492bf | ||
|
|
ed9798b7d7 | ||
|
|
dff3d99855 | ||
|
|
73bce2f73f | ||
|
|
eed910f3df | ||
|
|
53e93e95af | ||
|
|
a885231b7e | ||
|
|
58e22d9cdf | ||
|
|
c4731ba1ed | ||
|
|
d8525e0459 | ||
|
|
c742f637b3 | ||
|
|
af7b31e691 | ||
|
|
b5f1ae4411 | ||
|
|
223221bb43 | ||
|
|
5e1a981926 | ||
|
|
6579f2d498 | ||
|
|
39467359bf | ||
|
|
c72924e58b | ||
|
|
efc0d1c14b | ||
|
|
8022425ced | ||
|
|
d0088575bf | ||
|
|
1010275178 | ||
|
|
02992ccb7c | ||
|
|
4e7d4fa070 | ||
|
|
c9538e43e8 | ||
|
|
f5d2ba4248 | ||
|
|
30b129854a | ||
|
|
aaa0fa214b | ||
|
|
66206a3d5f | ||
|
|
62f71eb299 | ||
|
|
a20c799dd5 | ||
|
|
ac978145d3 | ||
|
|
1aee98a621 | ||
|
|
903633b60a | ||
|
|
af472a5316 | ||
|
|
d375034cf0 | ||
|
|
1f7d29bfea | ||
|
|
b8082ce86f | ||
|
|
8ce2d554ed | ||
|
|
8daa2ad700 | ||
|
|
34663b95f9 | ||
|
|
5e8c06200d | ||
|
|
74178b2d88 | ||
|
|
95b2c2715a | ||
|
|
f9e1908cbf | ||
|
|
30324b53e2 | ||
|
|
62e6e01bc1 | ||
|
|
ec28cb46fa | ||
|
|
c632ad7be3 | ||
|
|
2e84e56216 | ||
|
|
ee0c8befbf | ||
|
|
0c7bc503e3 | ||
|
|
7dc1cbb7c2 | ||
|
|
b6a0d349d6 | ||
|
|
f3e08b6b54 | ||
|
|
b72c8a30e9 | ||
|
|
d2734d43a6 | ||
|
|
56ad78f780 | ||
|
|
719fab55a7 | ||
|
|
bf3689a5ec | ||
|
|
c742e20f89 | ||
|
|
279c0d68a7 | ||
|
|
9f02a1a9a9 | ||
|
|
cc392a0b10 | ||
|
|
15f6950ea8 | ||
|
|
dbfee949e1 | ||
|
|
efc26071de | ||
|
|
a787f2eb51 | ||
|
|
d845949822 | ||
|
|
c9594fe914 | ||
|
|
d5bae95449 | ||
|
|
ec35c30f7c | ||
|
|
9f61caeeb9 | ||
|
|
437b68c6f0 | ||
|
|
2d2d61b3fb | ||
|
|
76bdedba58 | ||
|
|
933223ee27 | ||
|
|
821a525a5e | ||
|
|
ad62380d09 | ||
|
|
fb55ec1146 | ||
|
|
f45d09b7d5 | ||
|
|
57950354ad | ||
|
|
01d71573a7 | ||
|
|
fa567c890d | ||
|
|
96a7a4c7a9 | ||
|
|
3fa5b91a65 | ||
|
|
b599f399dd | ||
|
|
19f9f0dd10 | ||
|
|
80996acaa6 | ||
|
|
a1c5446429 | ||
|
|
c146420192 | ||
|
|
0ec08fa08b | ||
|
|
b5d6479ccb | ||
|
|
0b7b7d2f96 | ||
|
|
92a9894a06 | ||
|
|
76781b1314 | ||
|
|
556bee99dc | ||
|
|
51b1d3baf1 | ||
|
|
16a5cf321c | ||
|
|
d93a26a78b | ||
|
|
8e1cb50bce | ||
|
|
d744db8d3c | ||
|
|
73354a672a | ||
|
|
c4f72b1f2b | ||
|
|
bd02648310 | ||
|
|
39eb853b6a | ||
|
|
0708569d07 | ||
|
|
8a7f7fe529 | ||
|
|
576e5fe5d4 | ||
|
|
6df2785d9e | ||
|
|
1b2daddaa9 | ||
|
|
30f7899531 | ||
|
|
5e80fe0feb | ||
|
|
cd2ecf4507 | ||
|
|
4d3ced0e1e | ||
|
|
af3ac4882e | ||
|
|
6cd4add902 | ||
|
|
7454d7be1c | ||
|
|
f55b42653b | ||
|
|
49bc557b1f | ||
|
|
2211b28c7c | ||
|
|
a337cd7493 | ||
|
|
3bac8bf76f | ||
|
|
ece84f340d | ||
|
|
a86383499d | ||
|
|
1deb8f95d9 | ||
|
|
2e6285e3c6 | ||
|
|
1a373b7f23 | ||
|
|
6ba1131b09 | ||
|
|
ce257ec2f2 | ||
|
|
214b992769 | ||
|
|
c3b284f1d5 | ||
|
|
9189fccfd1 | ||
|
|
9c6a598ca8 | ||
|
|
9ca7ad56b7 | ||
|
|
1f21d10db9 | ||
|
|
7dc1f1defe | ||
|
|
4ad7ccb277 | ||
|
|
87cc62099c | ||
|
|
db6f723fc1 | ||
|
|
041ae791b2 | ||
|
|
511865a47b | ||
|
|
d6ebf939a5 | ||
|
|
c4f0579cb7 | ||
|
|
fae429219d | ||
|
|
13fb1dbdb1 | ||
|
|
b58946c506 | ||
|
|
b9cc056b42 | ||
|
|
2e9a415675 | ||
|
|
61298687f7 | ||
|
|
a211044154 | ||
|
|
4a4026b05c | ||
|
|
c9ef821164 | ||
|
|
264f78e6b9 | ||
|
|
d775ec8302 | ||
|
|
b20572b660 | ||
|
|
034e8d6af1 | ||
|
|
42176292ae | ||
|
|
b963ad59b6 |
No files matched your search
@@ -0,0 +1 @@
|
||||
github: MyLuxy
|
||||
@@ -90,7 +90,7 @@ body:
|
||||
id: logs
|
||||
attributes:
|
||||
label: Log
|
||||
description: If the app won't install or start, the relevant lines from `/data/shadowmount/debug.log` help a lot.
|
||||
description: For downloads and anything inside the app, copy `/data/ps5-react/PPSA99058/app.log` over FTP right after it happens. If a game won't install or start, the relevant lines from `/data/shadowmount/debug.log` help a lot.
|
||||
render: text
|
||||
|
||||
- type: checkboxes
|
||||
|
||||
@@ -1,8 +1,13 @@
|
||||
name: Game report
|
||||
description: A game in the store has a problem, like a download that fails or wrong details.
|
||||
name: Game / source report
|
||||
description: A game in the store has a problem, like a download source that doesn't work, a game that won't install or start, or wrong details.
|
||||
title: "[Game] "
|
||||
labels: ["catalog"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
One report per game. If several sources of the same game fail, list them all here. Sources are third-party hosts: files get deleted and pages change, so a source that worked last week can stop working.
|
||||
|
||||
- type: input
|
||||
id: game
|
||||
attributes:
|
||||
@@ -17,26 +22,59 @@ body:
|
||||
attributes:
|
||||
label: What's wrong?
|
||||
options:
|
||||
- The download fails or never starts
|
||||
- "Source: the host says the file was deleted or not found"
|
||||
- "Source: the browser page opens but the download is never captured"
|
||||
- "Source: the download starts but fails or stops"
|
||||
- "Source: the download finishes but it's the wrong file or game"
|
||||
- "Source: the host is blocked in my country"
|
||||
- The game doesn't install or start after downloading
|
||||
- Wrong name, details, size or cover
|
||||
- Something else
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: source
|
||||
attributes:
|
||||
label: Source
|
||||
description: For a download problem, the name on the source's button in the game page.
|
||||
placeholder: Fpkg - VikingFile
|
||||
|
||||
- type: dropdown
|
||||
id: host
|
||||
attributes:
|
||||
label: Host
|
||||
description: For a download problem, the host of that source.
|
||||
options:
|
||||
- VikingFile
|
||||
- DataNodes
|
||||
- FileKeeper
|
||||
- AkiraBox
|
||||
- MediaFire
|
||||
- Archive.org
|
||||
- LinkVault
|
||||
- Other (write it in the details)
|
||||
|
||||
- type: textarea
|
||||
id: details
|
||||
attributes:
|
||||
label: Details
|
||||
description: What you saw, and any error message the app showed.
|
||||
description: What you saw, and any error message the app or the host's page showed.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: country
|
||||
attributes:
|
||||
label: Country
|
||||
description: For a download problem. Some hosts block some countries, so this helps tell a blocked host from a dead file.
|
||||
placeholder: Italy
|
||||
|
||||
- type: input
|
||||
id: version
|
||||
attributes:
|
||||
label: Overdrive version
|
||||
placeholder: v1.0.1
|
||||
placeholder: v1.0.5
|
||||
validations:
|
||||
required: true
|
||||
|
||||
@@ -45,3 +83,10 @@ body:
|
||||
attributes:
|
||||
label: Screenshots
|
||||
description: Press the Create button on the controller to capture the screen, then drag the file here.
|
||||
|
||||
- type: textarea
|
||||
id: logs
|
||||
attributes:
|
||||
label: Log
|
||||
description: For downloads, copy `/data/ps5-react/PPSA99058/app.log` over FTP right after it happens and paste it here.
|
||||
render: text
|
||||
@@ -0,0 +1,58 @@
|
||||
name: Game request
|
||||
description: Ask for a game that isn't in the store, or that is there but has no working source.
|
||||
title: "[Request] "
|
||||
labels: ["catalog"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
One game per request. Search the open issues first: if someone already asked for it, add a 👍 to that issue instead. Overdrive only lists links that third-party hosts already share, so a request can take time or stay open if no working link exists.
|
||||
|
||||
- type: input
|
||||
id: game
|
||||
attributes:
|
||||
label: Game
|
||||
description: Its full name, as on the PlayStation Store.
|
||||
placeholder: Ratchet & Clank Rift Apart
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: platform
|
||||
attributes:
|
||||
label: Platform
|
||||
options:
|
||||
- PS5
|
||||
- PS4
|
||||
- Either
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: kind
|
||||
attributes:
|
||||
label: What's the request?
|
||||
options:
|
||||
- The game isn't in Overdrive
|
||||
- The game is in Overdrive but none of its sources work
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: title-id
|
||||
attributes:
|
||||
label: Title ID
|
||||
description: If you know it, the game's ID, like PPSA01474 or CUSA12345.
|
||||
placeholder: PPSA01474
|
||||
|
||||
- type: textarea
|
||||
id: links
|
||||
attributes:
|
||||
label: Known links
|
||||
description: If you know a working download link for it (a file page on VikingFile, MediaFire, DataNodes and the like), paste it here. It helps a lot.
|
||||
|
||||
- type: textarea
|
||||
id: details
|
||||
attributes:
|
||||
label: Details
|
||||
description: Anything else, like the version or region you need, or your PS5 firmware.
|
||||
@@ -0,0 +1,39 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 369" width="1280" height="369" role="img" aria-label="Скачай Overdrive.exfat, скопируй его в папку homebrew, подключи накопитель, запусти">
|
||||
<rect x="4" y="4" width="295.5" height="361" rx="24.2" fill="#0c0c0e" stroke="#2a2a2f" stroke-width="2"/>
|
||||
<circle cx="52.4" cy="52.4" r="27.5" fill="#1d1d21" stroke="#2a2a2f" stroke-width="2"/>
|
||||
<path d="M55.79 41.57L55.79 63.18L53.11 63.18L53.11 44.15L52.99 44.15L47.74 47.97L47.74 45.07L52.56 41.57L55.79 41.57Z" fill="#f2f2f3" stroke="#f2f2f3" stroke-width="0.88" stroke-linejoin="round"/>
|
||||
<g transform="translate(123.15 54.6) scale(2.38)" fill="none" stroke="#f2f2f3" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><path d="m7 10 5 5 5-5"/><path d="M12 15V3"/></g>
|
||||
<path d="M107.76 169.34Q104.65 169.34 102.22 167.83Q99.8 166.33 98.42 163.55Q97.04 160.78 97.04 157.01Q97.04 153.23 98.42 150.45Q99.8 147.68 102.22 146.17Q104.65 144.65 107.76 144.65Q109.6 144.65 111.22 145.19Q112.85 145.73 114.14 146.76Q115.43 147.79 116.29 149.26Q117.15 150.73 117.49 152.58L114.45 152.58Q114.17 151.34 113.55 150.39Q112.93 149.44 112.04 148.79Q111.14 148.13 110.06 147.8Q108.97 147.47 107.76 147.47Q105.54 147.47 103.78 148.59Q102.02 149.71 101.02 151.84Q100.01 153.97 100.01 157.01Q100.01 160.04 101.02 162.17Q102.04 164.29 103.8 165.41Q105.55 166.52 107.76 166.52Q108.97 166.52 110.06 166.19Q111.14 165.86 112.04 165.21Q112.93 164.55 113.55 163.6Q114.17 162.65 114.45 161.41L117.49 161.41Q117.17 163.25 116.31 164.71Q115.45 166.16 114.16 167.2Q112.87 168.24 111.24 168.79Q109.61 169.34 107.76 169.34ZM121.02 169L121.02 151.15L123.89 151.15L123.89 158.88L125.69 158.88L132.12 151.15L135.78 151.15L128.58 159.78L135.88 169L132.24 169L126.39 161.54L123.89 161.54L123.89 169L121.02 169ZM143.1 169.39Q141.39 169.39 140 168.76Q138.62 168.13 137.8 166.91Q136.99 165.68 136.99 163.91Q136.99 162.38 137.59 161.42Q138.2 160.46 139.21 159.91Q140.23 159.36 141.47 159.09Q142.71 158.82 143.97 158.66Q145.58 158.45 146.58 158.33Q147.58 158.22 148.05 157.95Q148.53 157.67 148.53 157.01L148.53 156.92Q148.53 155.82 148.11 155.05Q147.69 154.27 146.85 153.85Q146.01 153.43 144.76 153.43Q143.48 153.43 142.57 153.84Q141.66 154.24 141.09 154.85Q140.52 155.46 140.28 156.14L137.49 155.37Q138.07 153.74 139.2 152.77Q140.33 151.79 141.77 151.35Q143.21 150.9 144.69 150.9Q145.69 150.9 146.85 151.15Q148.01 151.4 149.04 152.06Q150.07 152.73 150.73 153.95Q151.4 155.17 151.4 157.16L151.4 169L148.58 169L148.58 166.55L148.4 166.55Q148.09 167.18 147.43 167.84Q146.77 168.5 145.7 168.94Q144.63 169.39 143.1 169.39ZM143.58 166.84Q145.21 166.84 146.3 166.22Q147.4 165.6 147.96 164.6Q148.53 163.6 148.53 162.51L148.53 160.07Q148.35 160.27 147.79 160.43Q147.22 160.59 146.48 160.72Q145.74 160.85 145.02 160.94Q144.31 161.02 143.84 161.09Q142.79 161.22 141.89 161.53Q140.99 161.85 140.44 162.44Q139.89 163.04 139.89 164.07Q139.89 164.97 140.37 165.59Q140.84 166.21 141.67 166.53Q142.5 166.84 143.58 166.84ZM162.48 163.44Q159.37 163.44 157.52 161.79Q155.67 160.14 155.67 156.83L155.67 151.15L158.53 151.15L158.53 156.83Q158.53 158.86 159.66 159.82Q160.79 160.78 162.48 160.78Q164.22 160.78 165.64 160.46Q167.06 160.14 168.48 159.64L168.48 162.3Q167.54 162.64 166.61 162.89Q165.69 163.15 164.68 163.3Q163.67 163.44 162.48 163.44ZM166.74 169L166.74 151.15L169.6 151.15L169.6 169L166.74 169ZM178.93 169.39Q177.23 169.39 175.84 168.76Q174.45 168.13 173.64 166.91Q172.83 165.68 172.83 163.91Q172.83 162.38 173.43 161.42Q174.04 160.46 175.05 159.91Q176.07 159.36 177.31 159.09Q178.55 158.82 179.8 158.66Q181.42 158.45 182.41 158.33Q183.41 158.22 183.89 157.95Q184.36 157.67 184.36 157.01L184.36 156.92Q184.36 155.82 183.95 155.05Q183.53 154.27 182.69 153.85Q181.85 153.43 180.59 153.43Q179.32 153.43 178.41 153.84Q177.5 154.24 176.93 154.85Q176.36 155.46 176.11 156.14L173.33 155.37Q173.91 153.74 175.03 152.77Q176.16 151.79 177.6 151.35Q179.05 150.9 180.53 150.9Q181.53 150.9 182.69 151.15Q183.85 151.4 184.88 152.06Q185.91 152.73 186.57 153.95Q187.23 155.17 187.23 157.16L187.23 169L184.41 169L184.41 166.55L184.24 166.55Q183.93 167.18 183.27 167.84Q182.61 168.5 181.54 168.94Q180.46 169.39 178.93 169.39ZM179.42 166.84Q181.04 166.84 182.14 166.22Q183.24 165.6 183.8 164.6Q184.36 163.6 184.36 162.51L184.36 160.07Q184.19 160.27 183.62 160.43Q183.06 160.59 182.32 160.72Q181.58 160.85 180.86 160.94Q180.14 161.02 179.68 161.09Q178.63 161.22 177.73 161.53Q176.82 161.85 176.28 162.44Q175.73 163.04 175.73 164.07Q175.73 164.97 176.2 165.59Q176.68 166.21 177.51 166.53Q178.34 166.84 179.42 166.84ZM205.89 169L203.01 169L203.01 156.06L202.81 156.06L194.24 169L191.5 169L191.5 151.15L194.37 151.15L194.37 164.13L194.55 164.13L203.15 151.15L205.89 151.15L205.89 169ZM198.69 148.63Q197.38 148.63 196.33 148.03Q195.27 147.42 194.65 146.39Q194.03 145.35 194.03 144.07L196.14 144.07Q196.14 145.18 196.86 145.89Q197.58 146.59 198.69 146.59Q199.8 146.59 200.52 145.89Q201.24 145.18 201.24 144.07L203.35 144.07Q203.35 145.35 202.73 146.38Q202.11 147.41 201.06 148.02Q200.01 148.63 198.69 148.63Z" fill="#f2f2f3" stroke="#f2f2f3" stroke-width="0.99" stroke-linejoin="round"/>
|
||||
<path d="M132.96 219.84Q131.42 219.84 130.25 219.12Q129.08 218.39 128.43 217.07Q127.78 215.75 127.78 214.01Q127.78 212.25 128.43 210.93Q129.08 209.6 130.25 208.87Q131.42 208.14 132.96 208.14L134.79 208.14Q136.33 208.14 137.5 208.87Q138.67 209.6 139.33 210.93Q139.98 212.25 139.98 214.01Q139.98 215.75 139.33 217.07Q138.67 218.39 137.5 219.12Q136.33 219.84 134.79 219.84L132.96 219.84ZM132.96 218.3L134.79 218.3Q135.91 218.3 136.66 217.71Q137.41 217.11 137.79 216.13Q138.18 215.15 138.18 214.01Q138.18 212.85 137.79 211.85Q137.41 210.85 136.66 210.23Q135.91 209.61 134.79 209.61L132.96 209.61Q131.84 209.61 131.09 210.23Q130.34 210.85 129.96 211.85Q129.58 212.85 129.58 214.01Q129.58 215.15 129.96 216.13Q130.34 217.11 131.09 217.71Q131.84 218.3 132.96 218.3ZM132.96 223.87L132.96 204.39L134.79 204.39L134.79 223.87L132.96 223.87ZM145.75 219.84Q144.67 219.84 143.79 219.45Q142.91 219.05 142.4 218.27Q141.88 217.5 141.88 216.38Q141.88 215.41 142.26 214.8Q142.65 214.19 143.29 213.84Q143.93 213.5 144.72 213.32Q145.5 213.15 146.3 213.05Q147.32 212.92 147.95 212.84Q148.59 212.77 148.89 212.6Q149.19 212.43 149.19 212.01L149.19 211.95Q149.19 211.25 148.92 210.76Q148.66 210.27 148.13 210.01Q147.6 209.74 146.8 209.74Q145.99 209.74 145.42 210Q144.84 210.25 144.48 210.64Q144.12 211.03 143.96 211.46L142.2 210.97Q142.57 209.94 143.28 209.32Q143.99 208.7 144.91 208.42Q145.82 208.14 146.76 208.14Q147.39 208.14 148.13 208.3Q148.86 208.46 149.52 208.87Q150.17 209.29 150.59 210.07Q151.01 210.84 151.01 212.1L151.01 219.6L149.22 219.6L149.22 218.05L149.11 218.05Q148.91 218.45 148.49 218.87Q148.08 219.28 147.4 219.56Q146.72 219.84 145.75 219.84ZM146.06 218.23Q147.09 218.23 147.78 217.84Q148.47 217.45 148.83 216.81Q149.19 216.18 149.19 215.49L149.19 213.95Q149.08 214.07 148.72 214.17Q148.36 214.27 147.89 214.35Q147.42 214.44 146.97 214.49Q146.51 214.55 146.22 214.59Q145.56 214.67 144.98 214.87Q144.41 215.07 144.07 215.45Q143.72 215.82 143.72 216.48Q143.72 217.05 144.02 217.44Q144.32 217.83 144.85 218.03Q145.37 218.23 146.06 218.23ZM163.24 219.6L161.41 219.6L161.41 211.41L161.29 211.41L155.86 219.6L154.13 219.6L154.13 208.29L155.94 208.29L155.94 216.52L156.06 216.52L161.51 208.29L163.24 208.29L163.24 219.6ZM158.68 206.7Q157.85 206.7 157.18 206.32Q156.52 205.94 156.12 205.28Q155.73 204.62 155.73 203.81L157.07 203.81Q157.07 204.52 157.52 204.96Q157.98 205.4 158.68 205.4Q159.38 205.4 159.84 204.96Q160.29 204.52 160.29 203.81L161.63 203.81Q161.63 204.62 161.24 205.27Q160.84 205.93 160.18 206.31Q159.52 206.7 158.68 206.7ZM164.99 219.6L164.99 217.92L165.39 217.92Q165.89 217.92 166.24 217.73Q166.58 217.54 166.79 217.05Q167 216.56 167.11 215.66Q167.23 214.75 167.29 213.32L167.5 208.29L175.18 208.29L175.18 219.6L173.35 219.6L173.35 209.98L169.23 209.98L169.06 213.96Q168.98 215.84 168.64 217.1Q168.31 218.35 167.59 218.98Q166.87 219.6 165.61 219.6L164.99 219.6Z" fill="#a3a3ab"/>
|
||||
<rect x="60.85" y="230.6" width="181.79" height="35.2" rx="9.9" fill="#1d1d21" stroke="#2a2a2f" stroke-width="1.5"/>
|
||||
<path d="M84.22 255.01Q82.26 255.01 80.73 254.06Q79.2 253.1 78.32 251.35Q77.45 249.6 77.45 247.21Q77.45 244.81 78.32 243.05Q79.2 241.3 80.73 240.34Q82.26 239.38 84.22 239.38Q86.18 239.38 87.71 240.34Q89.24 241.3 90.12 243.05Q90.99 244.81 90.99 247.21Q90.99 249.6 90.12 251.35Q89.24 253.1 87.71 254.06Q86.18 255.01 84.22 255.01ZM84.22 253.23Q85.58 253.23 86.69 252.53Q87.79 251.84 88.45 250.5Q89.11 249.16 89.11 247.21Q89.11 245.25 88.45 243.9Q87.79 242.55 86.69 241.86Q85.58 241.17 84.22 241.17Q82.86 241.17 81.74 241.86Q80.63 242.55 79.98 243.9Q79.32 245.25 79.32 247.21Q79.32 249.16 79.98 250.5Q80.63 251.84 81.74 252.53Q82.86 253.23 84.22 253.23ZM97.02 254.8L92.69 243.49L94.68 243.49L97.09 250.17Q97.47 251.18 97.73 252.18Q98 253.18 98.3 254.12L97.66 254.12Q97.95 253.18 98.22 252.18Q98.49 251.18 98.86 250.17L101.26 243.49L103.25 243.49L98.92 254.8L97.02 254.8ZM110.05 255.04Q108.41 255.04 107.23 254.31Q106.04 253.58 105.4 252.27Q104.77 250.96 104.77 249.23Q104.77 247.49 105.39 246.17Q106.02 244.84 107.17 244.09Q108.32 243.34 109.85 243.34Q110.8 243.34 111.68 243.66Q112.57 243.97 113.28 244.66Q113.98 245.34 114.39 246.42Q114.81 247.5 114.81 249.03L114.81 249.75L105.95 249.75L105.95 248.21L113.83 248.21L112.98 248.77Q112.98 247.66 112.62 246.79Q112.27 245.93 111.57 245.44Q110.87 244.95 109.85 244.95Q108.84 244.95 108.1 245.45Q107.37 245.94 106.98 246.75Q106.59 247.56 106.59 248.52L106.59 249.5Q106.59 250.75 107.02 251.63Q107.45 252.5 108.24 252.96Q109.02 253.42 110.06 253.42Q110.75 253.42 111.3 253.22Q111.86 253.01 112.26 252.62Q112.65 252.22 112.86 251.65L114.62 252.05Q114.37 252.93 113.74 253.61Q113.1 254.29 112.16 254.67Q111.23 255.04 110.05 255.04ZM117.34 254.8L117.34 243.49L119.09 243.49L119.09 245.24L119.2 245.24Q119.51 244.38 120.29 243.86Q121.07 243.33 122.09 243.33Q122.31 243.33 122.57 243.34Q122.84 243.36 122.99 243.37L122.99 245.2Q122.91 245.18 122.59 245.14Q122.27 245.09 121.9 245.09Q121.11 245.09 120.49 245.43Q119.87 245.76 119.51 246.35Q119.15 246.94 119.15 247.74L119.15 254.8L117.34 254.8ZM129.26 255.03Q127.84 255.03 126.76 254.32Q125.68 253.6 125.07 252.28Q124.46 250.96 124.46 249.18Q124.46 247.39 125.07 246.08Q125.68 244.77 126.76 244.05Q127.85 243.34 129.27 243.34Q130.31 243.34 130.96 243.68Q131.62 244.02 131.99 244.48Q132.37 244.93 132.58 245.29L132.71 245.29L132.71 239.59L134.52 239.59L134.52 254.8L132.77 254.8L132.77 253.05L132.6 253.05Q132.37 253.42 131.98 253.89Q131.59 254.35 130.94 254.69Q130.29 255.03 129.26 255.03ZM129.53 253.41Q130.56 253.41 131.28 252.87Q132 252.33 132.38 251.37Q132.75 250.41 132.75 249.16Q132.75 247.9 132.38 246.96Q132.01 246.02 131.29 245.5Q130.57 244.97 129.53 244.97Q128.47 244.97 127.75 245.52Q127.03 246.06 126.67 247.01Q126.31 247.95 126.31 249.16Q126.31 250.37 126.68 251.34Q127.04 252.3 127.77 252.86Q128.49 253.41 129.53 253.41ZM137.65 254.8L137.65 243.49L139.4 243.49L139.4 245.24L139.5 245.24Q139.82 244.38 140.6 243.86Q141.38 243.33 142.4 243.33Q142.62 243.33 142.88 243.34Q143.15 243.36 143.3 243.37L143.3 245.2Q143.22 245.18 142.9 245.14Q142.58 245.09 142.21 245.09Q141.42 245.09 140.8 245.43Q140.18 245.76 139.82 246.35Q139.46 246.94 139.46 247.74L139.46 254.8L137.65 254.8ZM145.32 254.8L145.32 243.49L147.14 243.49L147.14 254.8L145.32 254.8ZM146.23 241.59Q145.72 241.59 145.35 241.24Q144.97 240.88 144.97 240.38Q144.97 239.87 145.35 239.52Q145.72 239.18 146.23 239.18Q146.75 239.18 147.12 239.52Q147.49 239.87 147.49 240.38Q147.49 240.88 147.12 241.24Q146.75 241.59 146.23 241.59ZM153.54 254.8L149.21 243.49L151.2 243.49L153.61 250.17Q153.98 251.18 154.25 252.18Q154.52 253.18 154.81 254.12L154.18 254.12Q154.46 253.18 154.73 252.18Q155.01 251.18 155.37 250.17L157.77 243.49L159.76 243.49L155.43 254.8L153.54 254.8ZM166.57 255.04Q164.92 255.04 163.74 254.31Q162.56 253.58 161.92 252.27Q161.28 250.96 161.28 249.23Q161.28 247.49 161.91 246.17Q162.54 244.84 163.68 244.09Q164.83 243.34 166.36 243.34Q167.31 243.34 168.2 243.66Q169.09 243.97 169.79 244.66Q170.5 245.34 170.91 246.42Q171.32 247.5 171.32 249.03L171.32 249.75L162.47 249.75L162.47 248.21L170.34 248.21L169.5 248.77Q169.5 247.66 169.14 246.79Q168.78 245.93 168.08 245.44Q167.38 244.95 166.36 244.95Q165.35 244.95 164.62 245.45Q163.88 245.94 163.5 246.75Q163.11 247.56 163.11 248.52L163.11 249.5Q163.11 250.75 163.54 251.63Q163.97 252.5 164.75 252.96Q165.54 253.42 166.58 253.42Q167.26 253.42 167.82 253.22Q168.37 253.01 168.77 252.62Q169.17 252.22 169.37 251.65L171.14 252.05Q170.88 252.93 170.25 253.61Q169.62 254.29 168.68 254.67Q167.74 255.04 166.57 255.04ZM175.18 254.94Q174.62 254.94 174.22 254.54Q173.82 254.15 173.82 253.58Q173.82 253.01 174.22 252.62Q174.62 252.22 175.18 252.22Q175.75 252.22 176.15 252.62Q176.55 253.01 176.55 253.58Q176.55 254.15 176.15 254.54Q175.75 254.94 175.18 254.94ZM184.38 255.04Q182.73 255.04 181.55 254.31Q180.37 253.58 179.73 252.27Q179.09 250.96 179.09 249.23Q179.09 247.49 179.72 246.17Q180.34 244.84 181.49 244.09Q182.64 243.34 184.17 243.34Q185.12 243.34 186.01 243.66Q186.9 243.97 187.6 244.66Q188.Line truncated
|
||||
<path d="M60.22 298.8L58.39 298.8L58.39 290.61L58.27 290.61L52.84 298.8L51.11 298.8L51.11 287.49L52.92 287.49L52.92 295.72L53.04 295.72L58.49 287.49L60.22 287.49L60.22 298.8ZM66.87 298.94Q65.72 298.94 64.78 298.57Q63.83 298.19 63.28 297.51Q62.72 296.83 62.69 295.94L64.55 295.94Q64.59 296.57 65.26 296.98Q65.94 297.39 66.86 297.39Q67.91 297.39 68.55 296.88Q69.2 296.36 69.2 295.58Q69.2 294.74 68.51 294.22Q67.81 293.71 66.63 293.71L65.86 293.71L65.86 292.34L66.63 292.34Q67.6 292.34 68.24 291.85Q68.88 291.36 68.88 290.56Q68.88 289.8 68.34 289.32Q67.8 288.84 66.92 288.84Q66.04 288.84 65.38 289.27Q64.72 289.71 64.7 290.43L62.95 290.43Q62.97 289.51 63.51 288.82Q64.05 288.13 64.95 287.74Q65.84 287.36 66.94 287.36Q68.07 287.36 68.91 287.78Q69.74 288.21 70.2 288.91Q70.66 289.62 70.66 290.47Q70.66 291.47 70.04 292.11Q69.43 292.75 68.5 292.93L68.5 293Q69.77 293.2 70.44 293.92Q71.1 294.64 71.1 295.69Q71.1 296.63 70.56 297.36Q70.02 298.1 69.06 298.52Q68.1 298.94 66.87 298.94ZM79.32 303.07L79.32 287.49L81.08 287.49L81.08 289.29L81.25 289.29Q81.48 288.93 81.86 288.48Q82.23 288.02 82.89 287.68Q83.54 287.34 84.58 287.34Q86.01 287.34 87.09 288.05Q88.16 288.77 88.77 290.08Q89.39 291.39 89.39 293.18Q89.39 294.96 88.78 296.28Q88.17 297.6 87.09 298.32Q86.01 299.03 84.59 299.03Q83.57 299.03 82.91 298.69Q82.25 298.35 81.87 297.89Q81.49 297.42 81.26 297.05L81.14 297.05L81.14 303.07L79.32 303.07ZM84.31 297.41Q85.37 297.41 86.09 296.86Q86.8 296.3 87.17 295.34Q87.54 294.37 87.54 293.16Q87.54 291.95 87.17 291.01Q86.8 290.06 86.09 289.52Q85.38 288.97 84.31 288.97Q83.27 288.97 82.55 289.5Q81.84 290.02 81.47 290.96Q81.1 291.9 81.1 293.16Q81.1 294.41 81.47 295.37Q81.85 296.33 82.56 296.87Q83.28 297.41 84.31 297.41ZM95.16 299.04Q94.08 299.04 93.2 298.65Q92.33 298.25 91.81 297.47Q91.3 296.7 91.3 295.58Q91.3 294.61 91.68 294Q92.06 293.39 92.7 293.04Q93.35 292.7 94.13 292.52Q94.92 292.35 95.71 292.25Q96.73 292.12 97.37 292.04Q98 291.97 98.3 291.8Q98.6 291.63 98.6 291.21L98.6 291.15Q98.6 290.45 98.34 289.96Q98.07 289.47 97.54 289.21Q97.01 288.94 96.21 288.94Q95.41 288.94 94.83 289.2Q94.25 289.45 93.89 289.84Q93.53 290.23 93.38 290.66L91.61 290.17Q91.98 289.14 92.69 288.52Q93.41 287.9 94.32 287.62Q95.23 287.34 96.17 287.34Q96.81 287.34 97.54 287.5Q98.28 287.66 98.93 288.07Q99.58 288.49 100 289.27Q100.42 290.04 100.42 291.3L100.42 298.8L98.63 298.8L98.63 297.25L98.52 297.25Q98.33 297.65 97.91 298.07Q97.49 298.48 96.81 298.76Q96.13 299.04 95.16 299.04ZM95.47 297.43Q96.5 297.43 97.19 297.04Q97.89 296.65 98.24 296.01Q98.6 295.38 98.6 294.69L98.6 293.15Q98.49 293.27 98.13 293.37Q97.78 293.47 97.31 293.55Q96.84 293.64 96.38 293.69Q95.93 293.75 95.63 293.79Q94.97 293.87 94.4 294.07Q93.83 294.27 93.48 294.65Q93.13 295.02 93.13 295.68Q93.13 296.25 93.43 296.64Q93.73 297.03 94.26 297.23Q94.79 297.43 95.47 297.43ZM107.08 298.94Q105.93 298.94 104.99 298.57Q104.04 298.19 103.49 297.51Q102.93 296.83 102.9 295.94L104.76 295.94Q104.8 296.57 105.47 296.98Q106.14 297.39 107.07 297.39Q108.11 297.39 108.76 296.88Q109.41 296.36 109.41 295.58Q109.41 294.74 108.72 294.22Q108.02 293.71 106.84 293.71L106.07 293.71L106.07 292.34L106.84 292.34Q107.81 292.34 108.45 291.85Q109.09 291.36 109.09 290.56Q109.09 289.8 108.55 289.32Q108.01 288.84 107.12 288.84Q106.25 288.84 105.59 289.27Q104.93 289.71 104.91 290.43L103.15 290.43Q103.17 289.51 103.71 288.82Q104.26 288.13 105.15 287.74Q106.05 287.36 107.14 287.36Q108.28 287.36 109.11 287.78Q109.95 288.21 110.41 288.91Q110.87 289.62 110.87 290.47Q110.87 291.47 110.25 292.11Q109.63 292.75 108.7 292.93L108.7 293Q109.98 293.2 110.64 293.92Q111.31 294.64 111.31 295.69Q111.31 296.63 110.77 297.36Q110.23 298.1 109.27 298.52Q108.31 298.94 107.08 298.94ZM112.58 302.08L112.58 297.12L113.52 297.12Q113.87 296.76 114.12 296.34Q114.38 295.92 114.56 295.34Q114.75 294.75 114.88 293.92Q115.01 293.09 115.11 291.92L115.5 287.49L122.84 287.49L122.84 297.12L124.57 297.12L124.57 302.08L122.76 302.08L122.76 298.8L114.4 298.8L114.4 302.08L112.58 302.08ZM115.59 297.12L121.02 297.12L121.02 289.18L117.14 289.18L116.9 291.92Q116.74 293.72 116.46 295.02Q116.18 296.33 115.59 297.12ZM131.25 299.04Q129.6 299.04 128.42 298.31Q127.24 297.58 126.6 296.27Q125.96 294.96 125.96 293.23Q125.96 291.49 126.59 290.17Q127.22 288.84 128.37 288.09Q129.51 287.34 131.04 287.34Q131.99 287.34 132.88 287.66Q133.77 287.97 134.47 288.66Q135.18 289.34 135.59 290.42Q136 291.5 136 293.03L136 293.75L127.15 293.75L127.15 292.21L135.02 292.21L134.18 292.77Q134.18 291.66 133.82 290.79Q133.46 289.93 132.76 289.44Q132.06 288.95 131.04 288.95Q130.03 288.95 129.3 289.45Q128.56 289.94 128.18 290.75Q127.79 291.56 127.79 292.52L127.79 293.5Q127.79 294.75 128.22 295.63Q128.65 296.5 129.43 296.96Q130.22 297.42 131.26 297.42Q131.94 297.42 132.5 297.22Q133.05 297.01 133.45 296.62Q133.85 296.22 134.05 295.65L135.82 296.05Q135.56 296.93 134.93 297.61Q134.3 298.29 133.36 298.67Q132.42 299.04 131.25 299.04ZM137.17 298.8L137.17 297.12L137.58 297.12Q138.08 297.12 138.42 296.93Q138.76 296.74 138.97 296.25Q139Line truncated
|
||||
<g transform="translate(303.5 173.5) scale(0.92)" fill="none" stroke="#8a8a94" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="m9 18 6-6-6-6"/></g>
|
||||
<rect x="329.5" y="4" width="295.5" height="361" rx="24.2" fill="#0c0c0e" stroke="#2a2a2f" stroke-width="2"/>
|
||||
<circle cx="377.9" cy="52.4" r="27.5" fill="#1d1d21" stroke="#2a2a2f" stroke-width="2"/>
|
||||
<path d="M371.03 63.18L371.03 61.16L378.29 53.51Q379.52 52.2 380.34 51.22Q381.15 50.24 381.55 49.35Q381.96 48.45 381.96 47.43Q381.96 46.27 381.42 45.42Q380.89 44.56 379.96 44.1Q379.03 43.65 377.84 43.65Q376.57 43.65 375.64 44.17Q374.71 44.69 374.2 45.63Q373.69 46.58 373.69 47.85L371.1 47.85Q371.1 45.89 371.98 44.41Q372.87 42.92 374.4 42.09Q375.93 41.27 377.9 41.27Q379.84 41.27 381.34 42.08Q382.83 42.89 383.69 44.28Q384.54 45.66 384.54 47.39Q384.54 48.61 384.11 49.73Q383.67 50.85 382.62 52.23Q381.57 53.61 379.7 55.55L374.78 60.63L374.78 60.77L384.86 60.77L384.86 63.18L371.03 63.18Z" fill="#f2f2f3" stroke="#f2f2f3" stroke-width="0.88" stroke-linejoin="round"/>
|
||||
<g transform="translate(448.65 54.6) scale(2.38)" fill="none" stroke="#f2f2f3" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"/></g>
|
||||
<path d="M413.52 169.34Q410.41 169.34 407.98 167.83Q405.56 166.33 404.18 163.55Q402.8 160.78 402.8 157.01Q402.8 153.23 404.18 150.45Q405.56 147.68 407.98 146.17Q410.41 144.65 413.52 144.65Q415.36 144.65 416.98 145.19Q418.61 145.73 419.9 146.76Q421.19 147.79 422.05 149.26Q422.91 150.73 423.25 152.58L420.21 152.58Q419.93 151.34 419.31 150.39Q418.69 149.44 417.8 148.79Q416.9 148.13 415.82 147.8Q414.73 147.47 413.52 147.47Q411.3 147.47 409.54 148.59Q407.78 149.71 406.78 151.84Q405.77 153.97 405.77 157.01Q405.77 160.04 406.78 162.17Q407.8 164.29 409.56 165.41Q411.31 166.52 413.52 166.52Q414.73 166.52 415.82 166.19Q416.9 165.86 417.8 165.21Q418.69 164.55 419.31 163.6Q419.93 162.65 420.21 161.41L423.25 161.41Q422.93 163.25 422.07 164.71Q421.21 166.16 419.92 167.2Q418.63 168.24 417 168.79Q415.37 169.34 413.52 169.34ZM426.78 169L426.78 151.15L429.65 151.15L429.65 158.88L431.45 158.88L437.88 151.15L441.54 151.15L434.34 159.78L441.64 169L438 169L432.15 161.54L429.65 161.54L429.65 169L426.78 169ZM451.06 169.39Q448.63 169.39 446.8 168.23Q444.97 167.08 443.95 165Q442.93 162.93 442.93 160.17Q442.93 157.4 443.95 155.3Q444.97 153.21 446.8 152.06Q448.63 150.9 451.06 150.9Q453.51 150.9 455.36 152.06Q457.2 153.21 458.23 155.3Q459.25 157.4 459.25 160.17Q459.25 162.93 458.23 165Q457.2 167.08 455.36 168.23Q453.51 169.39 451.06 169.39ZM451.06 166.81Q452.85 166.81 454.03 165.9Q455.21 164.99 455.78 163.48Q456.35 161.97 456.35 160.17Q456.35 158.37 455.78 156.84Q455.21 155.32 454.03 154.4Q452.85 153.48 451.06 153.48Q449.31 153.48 448.15 154.4Q446.99 155.32 446.42 156.83Q445.84 158.35 445.84 160.17Q445.84 161.97 446.42 163.48Q446.99 164.99 448.14 165.9Q449.29 166.81 451.06 166.81ZM476.93 151.15L476.93 169L474.06 169L474.06 153.81L465.54 153.81L465.54 169L462.65 169L462.65 151.15L476.93 151.15ZM495.59 169L492.7 169L492.7 156.06L492.51 156.06L483.94 169L481.2 169L481.2 151.15L484.07 151.15L484.07 164.13L484.24 164.13L492.85 151.15L495.59 151.15L495.59 169ZM499.84 175.74L499.84 151.15L502.61 151.15L502.61 153.98L502.89 153.98Q503.24 153.42 503.84 152.7Q504.43 151.98 505.47 151.44Q506.5 150.9 508.14 150.9Q510.4 150.9 512.1 152.03Q513.8 153.16 514.76 155.23Q515.73 157.3 515.73 160.12Q515.73 162.94 514.77 165.02Q513.81 167.1 512.1 168.23Q510.4 169.37 508.16 169.37Q506.54 169.37 505.51 168.83Q504.47 168.29 503.86 167.56Q503.26 166.82 502.9 166.24L502.71 166.24L502.71 175.74L499.84 175.74ZM507.72 166.81Q509.38 166.81 510.52 165.93Q511.65 165.05 512.23 163.53Q512.81 162.01 512.81 160.09Q512.81 158.19 512.23 156.7Q511.65 155.21 510.52 154.34Q509.4 153.48 507.72 153.48Q506.08 153.48 504.94 154.31Q503.81 155.14 503.23 156.62Q502.65 158.11 502.65 160.09Q502.65 162.07 503.23 163.59Q503.82 165.1 504.96 165.95Q506.09 166.81 507.72 166.81ZM518.9 175.56L519.52 173.06L520.06 173.12Q520.89 173.32 521.56 173.2Q522.22 173.08 522.76 172.49Q523.3 171.9 523.72 170.71L524.3 169.05L517.47 151.15L520.61 151.15L524.42 161.68Q525.01 163.28 525.43 164.86Q525.85 166.44 526.3 167.92L525.3 167.92Q525.75 166.44 526.18 164.86Q526.61 163.28 527.19 161.68L531.01 151.15L534.13 151.15L526.22 171.77Q525.69 173.16 524.94 174.06Q524.19 174.96 523.19 175.41Q522.19 175.85 520.95 175.85Q520.24 175.85 519.7 175.75Q519.16 175.65 518.9 175.56ZM551.13 169L548.25 169L548.25 156.06L548.05 156.06L539.48 169L536.74 169L536.74 151.15L539.61 151.15L539.61 164.13L539.79 164.13L548.39 151.15L551.13 151.15L551.13 169ZM543.93 148.63Q542.62 148.63 541.57 148.03Q540.51 147.42 539.89 146.39Q539.27 145.35 539.27 144.07L541.38 144.07Q541.38 145.18 542.1 145.89Q542.82 146.59 543.93 146.59Q545.04 146.59 545.76 145.89Q546.47 145.18 546.47 144.07L548.59 144.07Q548.59 145.35 547.97 146.38Q547.35 147.41 546.3 148.02Q545.25 148.63 543.93 148.63Z" fill="#f2f2f3" stroke="#f2f2f3" stroke-width="0.99" stroke-linejoin="round"/>
|
||||
<path d="M425.89 219.84Q424.24 219.84 423.06 219.11Q421.88 218.38 421.24 217.07Q420.6 215.76 420.6 214.03Q420.6 212.29 421.23 210.97Q421.86 209.64 423 208.89Q424.15 208.14 425.68 208.14Q426.63 208.14 427.52 208.46Q428.41 208.77 429.11 209.46Q429.82 210.14 430.23 211.22Q430.64 212.3 430.64 213.83L430.64 214.55L421.79 214.55L421.79 213.01L429.66 213.01L428.82 213.57Q428.82 212.46 428.46 211.59Q428.1 210.73 427.4 210.24Q426.7 209.75 425.68 209.75Q424.67 209.75 423.94 210.25Q423.2 210.74 422.82 211.55Q422.43 212.36 422.43 213.32L422.43 214.3Q422.43 215.55 422.86 216.43Q423.29 217.3 424.07 217.76Q424.86 218.22 425.9 218.22Q426.58 218.22 427.14 218.02Q427.69 217.81 428.09 217.42Q428.49 217.02 428.69 216.45L430.46 216.85Q430.2 217.73 429.57 218.41Q428.94 219.09 428 219.47Q427.06 219.84 425.89 219.84ZM440.25 208.29L440.25 209.98L434.99 209.98L434.99 219.6L433.17 219.6L433.17 208.29L440.25 208.29ZM446.84 219.84Q445.3 219.84 444.14 219.12Q442.98 218.39 442.33 217.07Q441.69 215.75 441.69 214.01Q441.69 212.25 442.33 210.93Q442.98 209.6 444.14 208.87Q445.3 208.14 446.84 208.14Q448.39 208.14 449.56 208.87Q450.73 209.6 451.38 210.93Q452.02 212.25 452.02 214.01Q452.02 215.75 451.38 217.07Q450.73 218.39 449.56 219.12Q448.39 219.84 446.84 219.84ZM446.84 218.21Q447.97 218.21 448.72 217.64Q449.46 217.06 449.82 216.1Q450.19 215.15 450.19 214.01Q450.19 212.86 449.82 211.9Q449.46 210.94 448.72 210.35Q447.97 209.77 446.84 209.77Q445.73 209.77 444.99 210.35Q444.26 210.94 443.89 211.9Q443.53 212.85 443.53 214.01Q443.53 215.15 443.89 216.1Q444.26 217.06 444.99 217.64Q445.72 218.21 446.84 218.21ZM460.36 219.6L460.36 208.29L464.99 208.29Q466.84 208.29 467.94 209.11Q469.03 209.94 469.03 211.31Q469.03 212.3 468.44 212.88Q467.85 213.46 466.86 213.66Q467.51 213.75 468.11 214.1Q468.7 214.46 469.09 215.06Q469.47 215.66 469.47 216.54Q469.47 217.43 469.02 218.12Q468.57 218.81 467.72 219.21Q466.88 219.6 465.72 219.6L460.36 219.6ZM462.09 217.94L465.72 217.94Q466.6 217.94 467.1 217.52Q467.6 217.11 467.6 216.4Q467.6 215.53 467.1 215.05Q466.6 214.57 465.72 214.57L462.09 214.57L462.09 217.94ZM462.09 213.04L465.01 213.04Q466.04 213.04 466.62 212.61Q467.2 212.19 467.2 211.46Q467.2 210.75 466.62 210.35Q466.03 209.96 464.99 209.96L462.09 209.96L462.09 213.04ZM486.83 208.29L486.83 219.6L485.02 219.6L485.02 209.98L479.62 209.98L479.62 219.6L477.79 219.6L477.79 208.29L486.83 208.29ZM493.16 219.84Q492.08 219.84 491.2 219.45Q490.32 219.05 489.81 218.27Q489.29 217.5 489.29 216.38Q489.29 215.41 489.67 214.8Q490.06 214.19 490.7 213.84Q491.34 213.5 492.13 213.32Q492.91 213.15 493.71 213.05Q494.73 212.92 495.36 212.84Q496 212.77 496.3 212.6Q496.6 212.43 496.6 212.01L496.6 211.95Q496.6 211.25 496.33 210.76Q496.07 210.27 495.54 210.01Q495.01 209.74 494.21 209.74Q493.4 209.74 492.83 210Q492.25 210.25 491.89 210.64Q491.53 211.03 491.37 211.46L489.61 210.97Q489.98 209.94 490.69 209.32Q491.4 208.7 492.32 208.42Q493.23 208.14 494.17 208.14Q494.8 208.14 495.54 208.3Q496.27 208.46 496.93 208.87Q497.58 209.29 498 210.07Q498.42 210.84 498.42 212.1L498.42 219.6L496.63 219.6L496.63 218.05L496.52 218.05Q496.32 218.45 495.9 218.87Q495.49 219.28 494.81 219.56Q494.13 219.84 493.16 219.84ZM493.47 218.23Q494.5 218.23 495.19 217.84Q495.88 217.45 496.24 216.81Q496.6 216.18 496.6 215.49L496.6 213.95Q496.49 214.07 496.13 214.17Q495.77 214.27 495.3 214.35Q494.83 214.44 494.38 214.49Q493.93 214.55 493.63 214.59Q492.97 214.67 492.39 214.87Q491.82 215.07 491.48 215.45Q491.13 215.82 491.13 216.48Q491.13 217.05 491.43 217.44Q491.73 217.83 492.26 218.03Q492.78 218.23 493.47 218.23ZM510.58 208.29L510.58 219.6L508.76 219.6L508.76 209.98L503.36 209.98L503.36 219.6L501.54 219.6L501.54 208.29L510.58 208.29ZM513.7 219.6L513.7 208.29L515.52 208.29L515.52 213.19L516.66 213.19L520.73 208.29L523.05 208.29L518.49 213.76L523.11 219.6L520.81 219.6L517.1 214.88L515.52 214.88L515.52 219.6L513.7 219.6ZM524.75 223.75L525.14 222.17L525.49 222.21Q526.01 222.33 526.43 222.26Q526.86 222.18 527.2 221.81Q527.54 221.44 527.81 220.68L528.17 219.63L523.85 208.29L525.84 208.29L528.24 214.97Q528.62 215.98 528.89 216.98Q529.15 217.98 529.44 218.92L528.81 218.92Q529.09 217.98 529.36 216.98Q529.63 215.98 530 214.97L532.42 208.29L534.4 208.29L529.39 221.36Q529.05 222.23 528.58 222.8Q528.1 223.38 527.47 223.66Q526.84 223.94 526.05 223.94Q525.6 223.94 525.26 223.88Q524.92 223.81 524.75 223.75Z" fill="#a3a3ab"/>
|
||||
<rect x="409.87" y="230.6" width="134.76" height="35.2" rx="9.9" fill="#1d1d21" stroke="#2a2a2f" stroke-width="1.5"/>
|
||||
<path d="M428.65 248.05L428.65 254.8L426.83 254.8L426.83 239.59L428.65 239.59L428.65 246.24L428.29 246.24Q428.82 244.68 429.78 244.01Q430.74 243.34 432.04 243.34Q433.18 243.34 434.05 243.81Q434.92 244.29 435.42 245.24Q435.91 246.2 435.91 247.65L435.91 254.8L434.09 254.8L434.09 247.8Q434.09 246.46 433.4 245.72Q432.72 244.98 431.52 244.98Q430.71 244.98 430.06 245.33Q429.4 245.69 429.03 246.37Q428.65 247.05 428.65 248.05ZM443.64 255.04Q442.1 255.04 440.94 254.32Q439.78 253.59 439.13 252.27Q438.49 250.95 438.49 249.21Q438.49 247.45 439.13 246.13Q439.78 244.8 440.94 244.07Q442.1 243.34 443.64 243.34Q445.19 243.34 446.36 244.07Q447.53 244.8 448.18 246.13Q448.82 247.45 448.82 249.21Q448.82 250.95 448.18 252.27Q447.53 253.59 446.36 254.32Q445.19 255.04 443.64 255.04ZM443.64 253.41Q444.77 253.41 445.52 252.84Q446.26 252.26 446.62 251.3Q446.99 250.35 446.99 249.21Q446.99 248.06 446.62 247.1Q446.26 246.14 445.52 245.55Q444.77 244.97 443.64 244.97Q442.53 244.97 441.79 245.55Q441.06 246.14 440.7 247.1Q440.33 248.05 440.33 249.21Q440.33 250.35 440.7 251.3Q441.06 252.26 441.79 252.84Q442.52 253.41 443.64 253.41ZM451.4 254.8L451.4 243.49L453.16 243.49L453.17 245.99L453.02 245.99Q453.26 245.08 453.77 244.49Q454.27 243.89 454.95 243.59Q455.63 243.29 456.37 243.29Q457.61 243.29 458.4 244.05Q459.19 244.81 459.42 246L459.15 246Q459.36 245.19 459.89 244.57Q460.43 243.96 461.19 243.63Q461.96 243.29 462.87 243.29Q463.86 243.29 464.67 243.72Q465.49 244.15 465.97 245.01Q466.46 245.88 466.46 247.21L466.46 254.8L464.63 254.8L464.63 247.26Q464.63 246.01 463.94 245.48Q463.24 244.95 462.33 244.95Q461.56 244.95 461 245.27Q460.44 245.6 460.14 246.16Q459.84 246.72 459.84 247.45L459.84 254.8L458.01 254.8L458.01 247.07Q458.01 246.12 457.38 245.53Q456.74 244.95 455.77 244.95Q455.11 244.95 454.52 245.26Q453.93 245.57 453.57 246.19Q453.21 246.81 453.21 247.72L453.21 254.8L451.4 254.8ZM474.31 255.04Q472.66 255.04 471.48 254.31Q470.3 253.58 469.66 252.27Q469.02 250.96 469.02 249.23Q469.02 247.49 469.65 246.17Q470.27 244.84 471.42 244.09Q472.57 243.34 474.1 243.34Q475.05 243.34 475.94 243.66Q476.83 243.97 477.53 244.66Q478.23 245.34 478.65 246.42Q479.06 247.5 479.06 249.03L479.06 249.75L470.2 249.75L470.2 248.21L478.08 248.21L477.23 248.77Q477.23 247.66 476.88 246.79Q476.52 245.93 475.82 245.44Q475.12 244.95 474.1 244.95Q473.09 244.95 472.36 245.45Q471.62 245.94 471.23 246.75Q470.85 247.56 470.85 248.52L470.85 249.5Q470.85 250.75 471.27 251.63Q471.7 252.5 472.49 252.96Q473.28 253.42 474.32 253.42Q475 253.42 475.56 253.22Q476.11 253.01 476.51 252.62Q476.91 252.22 477.11 251.65L478.88 252.05Q478.62 252.93 477.99 253.61Q477.36 254.29 476.42 254.67Q475.48 255.04 474.31 255.04ZM486.86 255.03Q485.84 255.03 485.18 254.69Q484.52 254.35 484.13 253.89Q483.75 253.42 483.52 253.05L483.35 253.05L483.35 254.8L481.59 254.8L481.59 239.59L483.41 239.59L483.41 245.29L483.53 245.29Q483.75 244.93 484.12 244.48Q484.5 244.02 485.15 243.68Q485.81 243.34 486.85 243.34Q488.28 243.34 489.35 244.05Q490.43 244.77 491.04 246.08Q491.65 247.39 491.65 249.18Q491.65 250.96 491.05 252.28Q490.44 253.6 489.36 254.32Q488.28 255.03 486.86 255.03ZM486.58 253.41Q487.63 253.41 488.35 252.86Q489.07 252.3 489.44 251.34Q489.81 250.37 489.81 249.16Q489.81 247.95 489.44 247.01Q489.07 246.06 488.36 245.52Q487.64 244.97 486.58 244.97Q485.54 244.97 484.82 245.5Q484.1 246.02 483.74 246.96Q483.37 247.9 483.37 249.16Q483.37 250.41 483.74 251.37Q484.11 252.33 484.83 252.87Q485.55 253.41 486.58 253.41ZM494.23 254.8L494.23 243.49L495.98 243.49L495.98 245.24L496.08 245.24Q496.4 244.38 497.18 243.86Q497.96 243.33 498.98 243.33Q499.2 243.33 499.46 243.34Q499.73 243.36 499.88 243.37L499.88 245.2Q499.8 245.18 499.48 245.14Q499.16 245.09 498.79 245.09Q498 245.09 497.38 245.43Q496.76 245.76 496.4 246.35Q496.04 246.94 496.04 247.74L496.04 254.8L494.23 254.8ZM506.64 255.04Q504.99 255.04 503.81 254.31Q502.62 253.58 501.99 252.27Q501.35 250.96 501.35 249.23Q501.35 247.49 501.98 246.17Q502.6 244.84 503.75 244.09Q504.9 243.34 506.43 243.34Q507.38 243.34 508.27 243.66Q509.16 243.97 509.86 244.66Q510.56 245.34 510.98 246.42Q511.39 247.5 511.39 249.03L511.39 249.75L502.53 249.75L502.53 248.21L510.41 248.21L509.56 248.77Q509.56 247.66 509.21 246.79Q508.85 245.93 508.15 245.44Q507.45 244.95 506.43 244.95Q505.42 244.95 504.69 245.45Q503.95 245.94 503.56 246.75Q503.18 247.56 503.18 248.52L503.18 249.5Q503.18 250.75 503.6 251.63Q504.03 252.5 504.82 252.96Q505.6 253.42 506.65 253.42Q507.33 253.42 507.89 253.22Q508.44 253.01 508.84 252.62Q509.24 252.22 509.44 251.65L511.21 252.05Q510.95 252.93 510.32 253.61Q509.69 254.29 508.75 254.67Q507.81 255.04 506.64 255.04ZM516.44 254.8L513 243.49L514.93 243.49L516.32 248.43Q516.61 249.47 516.93 250.74Q517.25 252 517.57 253.54L517.26 253.54Q517.57 252.07 517.88 250.79Q518.19 249.52 518.48 248.43L519.85 243.49L521.77 243.49L523.12 248.43Q523.41 249.49 523.72 250.76Q524.02 252.02 524.33 253.54L524.01 253.54Q524.33 252.04 524.65 250.78Q524.97 249.51 525.27 248.43L526.66 243.49L528.59 243Line truncated
|
||||
<path d="M406.78 292.16L406.78 293.84L400.51 293.84L400.51 292.16L406.78 292.16ZM400.95 287.49L400.95 298.8L399.14 298.8L399.14 287.49L400.95 287.49ZM408.19 287.49L408.19 298.8L406.36 298.8L406.36 287.49L408.19 287.49ZM414.5 299.04Q413.42 299.04 412.54 298.65Q411.67 298.25 411.15 297.47Q410.64 296.7 410.64 295.58Q410.64 294.61 411.02 294Q411.4 293.39 412.04 293.04Q412.69 292.7 413.47 292.52Q414.26 292.35 415.06 292.25Q416.08 292.12 416.71 292.04Q417.34 291.97 417.64 291.8Q417.94 291.63 417.94 291.21L417.94 291.15Q417.94 290.45 417.68 289.96Q417.41 289.47 416.88 289.21Q416.35 288.94 415.56 288.94Q414.75 288.94 414.17 289.2Q413.6 289.45 413.23 289.84Q412.87 290.23 412.72 290.66L410.95 290.17Q411.32 289.14 412.03 288.52Q412.75 287.9 413.66 287.62Q414.58 287.34 415.51 287.34Q416.15 287.34 416.88 287.5Q417.62 287.66 418.27 288.07Q418.92 288.49 419.34 289.27Q419.76 290.04 419.76 291.3L419.76 298.8L417.97 298.8L417.97 297.25L417.86 297.25Q417.67 297.65 417.25 298.07Q416.83 298.48 416.15 298.76Q415.47 299.04 414.5 299.04ZM414.81 297.43Q415.84 297.43 416.53 297.04Q417.23 296.65 417.59 296.01Q417.94 295.38 417.94 294.69L417.94 293.15Q417.83 293.27 417.47 293.37Q417.12 293.47 416.65 293.55Q416.18 293.64 415.72 293.69Q415.27 293.75 414.97 293.79Q414.31 293.87 413.74 294.07Q413.17 294.27 412.82 294.65Q412.47 295.02 412.47 295.68Q412.47 296.25 412.77 296.64Q413.08 297.03 413.6 297.23Q414.13 297.43 414.81 297.43ZM434.8 299.04Q433.01 299.04 431.66 298.34Q430.32 297.64 429.59 296.41Q428.85 295.19 428.85 293.63L428.85 283.59L430.78 283.59L430.78 293.47Q430.78 294.58 431.27 295.43Q431.75 296.28 432.65 296.77Q433.55 297.26 434.8 297.26Q436.05 297.26 436.95 296.77Q437.84 296.28 438.32 295.43Q438.8 294.58 438.8 293.47L438.8 283.59L440.73 283.59L440.73 293.63Q440.73 295.19 440 296.41Q439.26 297.64 437.93 298.34Q436.6 299.04 434.8 299.04ZM449.17 299.07Q447.51 299.07 446.29 298.51Q445.07 297.96 444.38 296.98Q443.69 295.99 443.62 294.67L445.59 294.67Q445.65 295.56 446.14 296.16Q446.64 296.75 447.44 297.04Q448.23 297.34 449.17 297.34Q450.21 297.34 451.03 297Q451.85 296.67 452.33 296.05Q452.81 295.44 452.81 294.64Q452.81 293.92 452.42 293.46Q452.03 293 451.35 292.7Q450.67 292.39 449.8 292.16L447.99 291.66Q446.07 291.13 445.05 290.16Q444.03 289.19 444.03 287.67Q444.03 286.38 444.71 285.42Q445.39 284.45 446.58 283.92Q447.76 283.38 449.25 283.38Q450.76 283.38 451.92 283.92Q453.08 284.46 453.74 285.4Q454.41 286.34 454.45 287.54L452.57 287.54Q452.44 286.38 451.51 285.74Q450.58 285.09 449.19 285.09Q448.21 285.09 447.47 285.42Q446.72 285.74 446.31 286.3Q445.89 286.86 445.89 287.57Q445.89 288.34 446.36 288.82Q446.82 289.3 447.5 289.58Q448.18 289.86 448.82 290.03L450.37 290.45Q451.08 290.64 451.83 290.94Q452.58 291.24 453.23 291.72Q453.89 292.2 454.29 292.92Q454.69 293.64 454.69 294.65Q454.69 295.91 454.04 296.91Q453.39 297.91 452.15 298.49Q450.91 299.07 449.17 299.07ZM457.6 298.8L457.6 283.59L463 283.59Q464.58 283.59 465.63 284.13Q466.67 284.67 467.19 285.58Q467.71 286.49 467.71 287.63Q467.71 288.58 467.38 289.22Q467.04 289.86 466.47 290.25Q465.91 290.64 465.22 290.84L465.22 290.96Q465.97 291.01 466.68 291.46Q467.39 291.91 467.85 292.72Q468.32 293.53 468.32 294.71Q468.32 295.88 467.77 296.8Q467.23 297.73 466.1 298.26Q464.96 298.8 463.16 298.8L457.6 298.8ZM459.52 297.1L463.12 297.1Q464.89 297.1 465.67 296.42Q466.45 295.75 466.45 294.71Q466.45 293.93 466.06 293.29Q465.66 292.66 464.94 292.28Q464.22 291.9 463.22 291.9L459.52 291.9L459.52 297.1ZM459.52 290.27L462.93 290.27Q463.76 290.27 464.43 289.95Q465.1 289.64 465.48 289.05Q465.87 288.46 465.87 287.68Q465.87 286.66 465.16 285.98Q464.45 285.3 462.98 285.3L459.52 285.3L459.52 290.27ZM477.51 291.51L477.51 293.2L470.85 293.2L470.85 291.51L477.51 291.51ZM485.12 299.04Q483.58 299.04 482.41 298.32Q481.25 297.59 480.59 296.27Q479.94 294.95 479.94 293.21Q479.94 291.45 480.59 290.13Q481.25 288.8 482.41 288.07Q483.58 287.34 485.12 287.34L486.95 287.34Q488.49 287.34 489.66 288.07Q490.83 288.8 491.49 290.13Q492.14 291.45 492.14 293.21Q492.14 294.95 491.49 296.27Q490.83 297.59 489.66 298.32Q488.49 299.04 486.95 299.04L485.12 299.04ZM485.12 297.5L486.95 297.5Q488.07 297.5 488.82 296.91Q489.57 296.31 489.96 295.33Q490.34 294.35 490.34 293.21Q490.34 292.05 489.96 291.05Q489.57 290.05 488.82 289.43Q488.07 288.81 486.95 288.81L485.12 288.81Q484 288.81 483.25 289.43Q482.5 290.05 482.12 291.05Q481.75 292.05 481.75 293.21Q481.75 294.35 482.12 295.33Q482.5 296.31 483.25 296.91Q484 297.5 485.12 297.5ZM485.12 303.07L485.12 283.59L486.95 283.59L486.95 303.07L485.12 303.07ZM493.34 298.8L493.34 297.12L493.75 297.12Q494.25 297.12 494.59 296.93Q494.93 296.74 495.14 296.25Q495.35 295.76 495.47 294.86Q495.58 293.95 495.64 292.52L495.85 287.49L503.53 287.49L503.53 298.8L501.71 298.8L501.71 289.18L497.58 289.18L497.41 293.16Q497.33 295.04 497 296.3Q496.67 297.55 495.95 298.18Q495.23 298.8 493.96 298.8L493.34 298.8ZM511.38 299.04Q509.74 299.04 508.55 298.31Q507.37 297.58 506.73 296.27Q506.09 294.96 506.09 293.23Q506.09 291.49 Line truncated
|
||||
<g transform="translate(629 173.5) scale(0.92)" fill="none" stroke="#8a8a94" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="m9 18 6-6-6-6"/></g>
|
||||
<rect x="655" y="4" width="295.5" height="361" rx="24.2" fill="#0c0c0e" stroke="#2a2a2f" stroke-width="2"/>
|
||||
<circle cx="703.4" cy="52.4" r="27.5" fill="#1d1d21" stroke="#2a2a2f" stroke-width="2"/>
|
||||
<path d="M703.44 63.48Q701.31 63.48 699.66 62.72Q698.01 61.96 697.04 60.62Q696.08 59.28 696.02 57.51L698.77 57.51Q698.85 58.61 699.46 59.42Q700.08 60.22 701.1 60.65Q702.12 61.08 703.4 61.08Q704.79 61.08 705.85 60.6Q706.91 60.12 707.53 59.25Q708.14 58.38 708.14 57.25Q708.14 56.07 707.54 55.19Q706.94 54.3 705.81 53.8Q704.68 53.29 703.07 53.29L701.31 53.29L701.31 50.91L703.07 50.91Q704.36 50.91 705.34 50.46Q706.31 50.01 706.86 49.19Q707.4 48.37 707.4 47.26Q707.4 46.17 706.92 45.36Q706.43 44.54 705.54 44.1Q704.65 43.65 703.44 43.65Q702.3 43.65 701.33 44.07Q700.35 44.49 699.75 45.26Q699.15 46.04 699.12 47.16L696.48 47.16Q696.53 45.42 697.48 44.09Q698.43 42.76 700 42.01Q701.57 41.27 703.5 41.27Q705.5 41.27 706.98 42.08Q708.46 42.89 709.27 44.22Q710.07 45.55 710.07 47.11Q710.07 48.91 709.09 50.19Q708.11 51.46 706.45 51.97L706.45 52.12Q707.82 52.33 708.81 53.04Q709.8 53.75 710.32 54.83Q710.84 55.91 710.84 57.26Q710.84 59.06 709.88 60.46Q708.91 61.86 707.24 62.67Q705.58 63.48 703.44 63.48Z" fill="#f2f2f3" stroke="#f2f2f3" stroke-width="0.88" stroke-linejoin="round"/>
|
||||
<g transform="translate(774.15 54.6) scale(2.38)" fill="none" stroke="#f2f2f3" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12H2"/><path d="M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"/><path d="M6 16h.01"/><path d="M10 16h.01"/></g>
|
||||
<path d="M743.49 144.99L743.49 169L740.46 169L740.46 147.68L727.83 147.68L727.83 169L724.8 169L724.8 144.99L743.49 144.99ZM755.38 169.39Q752.95 169.39 751.12 168.23Q749.29 167.08 748.27 165Q747.25 162.93 747.25 160.17Q747.25 157.4 748.27 155.3Q749.29 153.21 751.12 152.06Q752.95 150.9 755.38 150.9Q757.83 150.9 759.68 152.06Q761.52 153.21 762.55 155.3Q763.57 157.4 763.57 160.17Q763.57 162.93 762.55 165Q761.52 167.08 759.68 168.23Q757.83 169.39 755.38 169.39ZM755.38 166.81Q757.17 166.81 758.35 165.9Q759.52 164.99 760.1 163.48Q760.67 161.97 760.67 160.17Q760.67 158.37 760.1 156.84Q759.52 155.32 758.35 154.4Q757.17 153.48 755.38 153.48Q753.63 153.48 752.47 154.4Q751.31 155.32 750.73 156.83Q750.16 158.35 750.16 160.17Q750.16 161.97 750.73 163.48Q751.31 164.99 752.46 165.9Q753.61 166.81 755.38 166.81ZM765.1 174.17L765.1 166.34L766.58 166.34Q767.13 165.78 767.53 165.12Q767.94 164.46 768.23 163.53Q768.52 162.6 768.73 161.29Q768.94 159.98 769.1 158.14L769.71 151.15L781.29 151.15L781.29 166.34L784.03 166.34L784.03 174.17L781.17 174.17L781.17 169L767.97 169L767.97 174.17L765.1 174.17ZM769.85 166.34L778.43 166.34L778.43 153.81L772.3 153.81L771.92 158.14Q771.66 160.98 771.22 163.04Q770.77 165.1 769.85 166.34ZM786.43 169L786.43 151.15L789.3 151.15L789.3 158.88L791.11 158.88L797.54 151.15L801.19 151.15L793.99 159.78L801.29 169L797.65 169L791.8 161.54L789.3 161.54L789.3 169L786.43 169ZM801.29 169L801.29 166.34L801.94 166.34Q802.73 166.34 803.27 166.04Q803.81 165.75 804.14 164.97Q804.47 164.2 804.65 162.77Q804.84 161.35 804.93 159.09L805.26 151.15L817.39 151.15L817.39 169L814.5 169L814.5 153.81L808 153.81L807.72 160.09Q807.59 163.07 807.07 165.05Q806.55 167.03 805.41 168.02Q804.27 169 802.27 169L801.29 169ZM821.64 169L821.64 151.15L824.38 151.15L824.38 169L821.64 169ZM823.74 161.38L823.74 158.8L830.23 158.8L830.23 161.38L823.74 161.38ZM836.9 169.39Q834.47 169.39 832.63 168.23Q830.8 167.08 829.77 165Q828.75 162.93 828.75 160.17Q828.75 157.4 829.77 155.3Q830.8 153.21 832.63 152.06Q834.47 150.9 836.9 150.9Q839.35 150.9 841.19 152.06Q843.03 153.21 844.05 155.3Q845.07 157.4 845.07 160.17Q845.07 162.93 844.05 165Q843.03 167.08 841.19 168.23Q839.35 169.39 836.9 169.39ZM836.9 166.81Q838.69 166.81 839.86 165.9Q841.03 164.99 841.6 163.48Q842.17 161.97 842.17 160.17Q842.17 158.37 841.6 156.84Q841.03 155.32 839.86 154.4Q838.69 153.48 836.9 153.48Q835.15 153.48 833.98 154.4Q832.81 155.32 832.24 156.83Q831.67 158.35 831.67 160.17Q831.67 161.97 832.24 163.48Q832.81 164.99 833.98 165.9Q835.15 166.81 836.9 166.81ZM855.29 163.44Q852.18 163.44 850.33 161.79Q848.47 160.14 848.47 156.83L848.47 151.15L851.34 151.15L851.34 156.83Q851.34 158.86 852.47 159.82Q853.6 160.78 855.29 160.78Q857.03 160.78 858.45 160.46Q859.87 160.14 861.28 159.64L861.28 162.3Q860.35 162.64 859.42 162.89Q858.5 163.15 857.49 163.3Q856.48 163.44 855.29 163.44ZM859.54 169L859.54 151.15L862.41 151.15L862.41 169L859.54 169ZM881.07 169L878.19 169L878.19 156.06L877.99 156.06L869.42 169L866.68 169L866.68 151.15L869.55 151.15L869.55 164.13L869.73 164.13L878.33 151.15L881.07 151.15L881.07 169Z" fill="#f2f2f3" stroke="#f2f2f3" stroke-width="0.99" stroke-linejoin="round"/>
|
||||
<path d="M731.96 219.87Q730.3 219.87 729.08 219.31Q727.86 218.76 727.17 217.78Q726.48 216.79 726.41 215.47L728.38 215.47Q728.44 216.36 728.94 216.96Q729.43 217.55 730.23 217.84Q731.02 218.14 731.96 218.14Q733 218.14 733.82 217.8Q734.65 217.47 735.13 216.85Q735.61 216.24 735.61 215.44Q735.61 214.72 735.21 214.26Q734.82 213.8 734.14 213.5Q733.46 213.19 732.6 212.96L730.78 212.46Q728.86 211.93 727.84 210.96Q726.82 209.99 726.82 208.47Q726.82 207.18 727.5 206.22Q728.19 205.25 729.37 204.72Q730.55 204.18 732.04 204.18Q733.55 204.18 734.71 204.72Q735.87 205.26 736.53 206.2Q737.2 207.14 737.24 208.34L735.36 208.34Q735.23 207.18 734.3 206.54Q733.37 205.89 731.98 205.89Q731 205.89 730.26 206.22Q729.51 206.54 729.1 207.1Q728.69 207.66 728.69 208.37Q728.69 209.14 729.15 209.62Q729.62 210.1 730.29 210.38Q730.97 210.66 731.62 210.83L733.17 211.25Q733.87 211.44 734.62 211.74Q735.37 212.04 736.02 212.52Q736.68 213 737.08 213.72Q737.48 214.44 737.48 215.45Q737.48 216.71 736.83 217.71Q736.18 218.71 734.94 219.29Q733.7 219.87 731.96 219.87ZM741.98 212.85L741.98 219.6L740.17 219.6L740.17 204.39L741.98 204.39L741.98 211.04L741.63 211.04Q742.16 209.48 743.12 208.81Q744.08 208.14 745.37 208.14Q746.51 208.14 747.39 208.61Q748.26 209.09 748.75 210.04Q749.25 211 749.25 212.45L749.25 219.6L747.42 219.6L747.42 212.6Q747.42 211.26 746.74 210.52Q746.06 209.78 744.85 209.78Q744.05 209.78 743.39 210.13Q742.74 210.49 742.36 211.17Q741.98 211.85 741.98 212.85ZM755.58 219.84Q754.5 219.84 753.62 219.45Q752.74 219.05 752.22 218.27Q751.71 217.5 751.71 216.38Q751.71 215.41 752.09 214.8Q752.47 214.19 753.12 213.84Q753.76 213.5 754.55 213.32Q755.33 213.15 756.13 213.05Q757.15 212.92 757.78 212.84Q758.41 212.77 758.72 212.6Q759.02 212.43 759.02 212.01L759.02 211.95Q759.02 211.25 758.75 210.76Q758.49 210.27 757.95 210.01Q757.42 209.74 756.63 209.74Q755.82 209.74 755.25 210Q754.67 210.25 754.31 210.64Q753.94 211.03 753.79 211.46L752.03 210.97Q752.39 209.94 753.11 209.32Q753.82 208.7 754.74 208.42Q755.65 208.14 756.59 208.14Q757.22 208.14 757.95 208.3Q758.69 208.46 759.34 208.87Q760 209.29 760.41 210.07Q760.83 210.84 760.83 212.1L760.83 219.6L759.05 219.6L759.05 218.05L758.93 218.05Q758.74 218.45 758.32 218.87Q757.9 219.28 757.23 219.56Q756.55 219.84 755.58 219.84ZM755.88 218.23Q756.91 218.23 757.61 217.84Q758.3 217.45 758.66 216.81Q759.02 216.18 759.02 215.49L759.02 213.95Q758.9 214.07 758.55 214.17Q758.19 214.27 757.72 214.35Q757.25 214.44 756.8 214.49Q756.34 214.55 756.05 214.59Q755.38 214.67 754.81 214.87Q754.24 215.07 753.89 215.45Q753.55 215.82 753.55 216.48Q753.55 217.05 753.85 217.44Q754.15 217.83 754.67 218.03Q755.2 218.23 755.88 218.23ZM768.2 219.83Q766.78 219.83 765.7 219.12Q764.62 218.4 764.01 217.08Q763.4 215.76 763.4 213.98Q763.4 212.19 764.01 210.88Q764.62 209.57 765.71 208.85Q766.79 208.14 768.21 208.14Q769.25 208.14 769.9 208.48Q770.56 208.82 770.94 209.28Q771.31 209.73 771.53 210.09L771.65 210.09L771.65 204.39L773.47 204.39L773.47 219.6L771.71 219.6L771.71 217.85L771.54 217.85Q771.31 218.22 770.93 218.69Q770.54 219.15 769.88 219.49Q769.23 219.83 768.2 219.83ZM768.48 218.21Q769.51 218.21 770.23 217.67Q770.95 217.13 771.32 216.17Q771.69 215.21 771.69 213.96Q771.69 212.7 771.32 211.76Q770.96 210.82 770.24 210.3Q769.52 209.77 768.48 209.77Q767.41 209.77 766.7 210.32Q765.98 210.86 765.61 211.81Q765.25 212.75 765.25 213.96Q765.25 215.17 765.62 216.14Q765.99 217.1 766.71 217.66Q767.44 218.21 768.48 218.21ZM781.19 219.84Q779.65 219.84 778.49 219.12Q777.33 218.39 776.69 217.07Q776.04 215.75 776.04 214.01Q776.04 212.25 776.69 210.93Q777.33 209.6 778.49 208.87Q779.65 208.14 781.19 208.14Q782.74 208.14 783.91 208.87Q785.08 209.6 785.73 210.93Q786.38 212.25 786.38 214.01Q786.38 215.75 785.73 217.07Q785.08 218.39 783.91 219.12Q782.74 219.84 781.19 219.84ZM781.19 218.21Q782.32 218.21 783.07 217.64Q783.81 217.06 784.18 216.1Q784.54 215.15 784.54 214.01Q784.54 212.86 784.18 211.9Q783.81 210.94 783.07 210.35Q782.32 209.77 781.19 209.77Q780.08 209.77 779.34 210.35Q778.61 210.94 778.25 211.9Q777.89 212.85 777.89 214.01Q777.89 215.15 778.25 216.1Q778.61 217.06 779.34 217.64Q780.07 218.21 781.19 218.21ZM791.47 219.6L788.03 208.29L789.96 208.29L791.35 213.23Q791.63 214.27 791.95 215.54Q792.27 216.8 792.59 218.34L792.28 218.34Q792.59 216.87 792.9 215.59Q793.21 214.32 793.51 213.23L794.88 208.29L796.8 208.29L798.14 213.23Q798.44 214.29 798.74 215.56Q799.05 216.82 799.36 218.34L799.04 218.34Q799.36 216.84 799.68 215.58Q800 214.31 800.3 213.23L801.68 208.29L803.61 208.29L800.17 219.6L798.35 219.6L796.88 214.48Q796.65 213.7 796.44 212.9Q796.23 212.09 796.03 211.25Q795.83 210.41 795.61 209.55L796.03 209.55Q795.83 210.41 795.62 211.25Q795.41 212.09 795.2 212.91Q794.99 213.72 794.76 214.48L793.29 219.6L791.47 219.6ZM806.04 219.6L806.04 204.39L808.75 204.39L812.51 214.03Q812.64 214.36 812.82 214.86Q812.99 215.36 813.18 215.94Q813.37 216.52 813.54 217.08Q813.72 217.65 813.84 218.12L813.42 218.12Q813.55 217.68 813.73 217.12Q813.9 216.56 814.09 215.98Q814.28 215.4 8Line truncated
|
||||
<path d="M736.36 255.04Q734.81 255.04 733.66 254.32Q732.5 253.59 731.85 252.27Q731.2 250.95 731.2 249.21Q731.2 247.45 731.85 246.13Q732.5 244.8 733.66 244.07Q734.81 243.34 736.36 243.34Q737.2 243.34 737.94 243.56Q738.68 243.79 739.29 244.21Q739.9 244.63 740.33 245.23Q740.75 245.83 740.97 246.6L739.2 247Q739.09 246.56 738.84 246.19Q738.59 245.82 738.23 245.54Q737.87 245.27 737.4 245.12Q736.93 244.97 736.36 244.97Q735.24 244.97 734.51 245.55Q733.77 246.14 733.41 247.1Q733.05 248.05 733.05 249.21Q733.05 250.35 733.41 251.3Q733.77 252.26 734.5 252.84Q735.23 253.41 736.36 253.41Q736.94 253.41 737.41 253.26Q737.89 253.11 738.25 252.83Q738.62 252.54 738.87 252.15Q739.12 251.76 739.24 251.3L741 251.72Q740.79 252.48 740.36 253.1Q739.93 253.71 739.32 254.15Q738.71 254.59 737.96 254.82Q737.21 255.04 736.36 255.04ZM746.72 255.04Q745.64 255.04 744.76 254.65Q743.89 254.25 743.37 253.47Q742.86 252.7 742.86 251.58Q742.86 250.61 743.24 250Q743.62 249.39 744.26 249.04Q744.91 248.7 745.69 248.52Q746.48 248.35 747.28 248.25Q748.3 248.12 748.93 248.04Q749.56 247.97 749.86 247.8Q750.16 247.63 750.16 247.21L750.16 247.15Q750.16 246.45 749.9 245.96Q749.63 245.47 749.1 245.21Q748.57 244.94 747.78 244.94Q746.97 244.94 746.39 245.2Q745.82 245.45 745.45 245.84Q745.09 246.23 744.94 246.66L743.17 246.17Q743.54 245.14 744.25 244.52Q744.97 243.9 745.88 243.62Q746.8 243.34 747.73 243.34Q748.37 243.34 749.1 243.5Q749.84 243.66 750.49 244.07Q751.14 244.49 751.56 245.27Q751.98 246.04 751.98 247.3L751.98 254.8L750.19 254.8L750.19 253.25L750.08 253.25Q749.89 253.65 749.47 254.07Q749.05 254.48 748.37 254.76Q747.69 255.04 746.72 255.04ZM747.03 253.43Q748.06 253.43 748.75 253.04Q749.45 252.65 749.81 252.01Q750.16 251.38 750.16 250.69L750.16 249.15Q750.05 249.27 749.69 249.37Q749.34 249.47 748.87 249.55Q748.4 249.64 747.94 249.69Q747.49 249.75 747.19 249.79Q746.53 249.87 745.96 250.07Q745.39 250.27 745.04 250.65Q744.69 251.02 744.69 251.68Q744.69 252.25 744.99 252.64Q745.3 253.03 745.82 253.23Q746.35 253.43 747.03 253.43ZM755.1 254.8L755.1 243.49L757.83 243.49L760.46 249.81Q760.69 250.37 760.87 250.87Q761.05 251.36 761.19 251.8Q761.33 252.25 761.44 252.68Q761.56 253.12 761.68 253.55L761.36 253.55Q761.47 253.14 761.59 252.71Q761.71 252.28 761.84 251.83Q761.97 251.37 762.15 250.88Q762.33 250.38 762.56 249.81L765.16 243.49L767.93 243.49L767.93 254.8L766.1 254.8L766.1 248.92Q766.1 248.32 766.11 247.74Q766.11 247.17 766.12 246.6Q766.13 246.02 766.14 245.45Q766.15 244.87 766.16 244.27L766.39 244.27Q766.14 245.14 765.92 245.86Q765.7 246.57 765.42 247.3Q765.15 248.02 764.78 248.92L762.3 254.8L760.71 254.8L758.19 248.92Q757.82 248.03 757.55 247.31Q757.28 246.58 757.05 245.86Q756.82 245.14 756.57 244.27L756.85 244.27Q756.86 244.79 756.87 245.35Q756.88 245.91 756.89 246.5Q756.9 247.1 756.9 247.7Q756.91 248.3 756.91 248.92L756.91 254.8L755.1 254.8ZM784.46 248.16L784.46 249.84L778.2 249.84L778.2 248.16L784.46 248.16ZM778.64 243.49L778.64 254.8L776.82 254.8L776.82 243.49L778.64 243.49ZM785.87 243.49L785.87 254.8L784.04 254.8L784.04 243.49L785.87 243.49ZM792.19 255.04Q791.11 255.04 790.23 254.65Q789.35 254.25 788.84 253.47Q788.32 252.7 788.32 251.58Q788.32 250.61 788.7 250Q789.09 249.39 789.73 249.04Q790.37 248.7 791.16 248.52Q791.94 248.35 792.74 248.25Q793.76 248.12 794.39 248.04Q795.02 247.97 795.33 247.8Q795.63 247.63 795.63 247.21L795.63 247.15Q795.63 246.45 795.36 245.96Q795.1 245.47 794.57 245.21Q794.03 244.94 793.24 244.94Q792.43 244.94 791.86 245.2Q791.28 245.45 790.92 245.84Q790.55 246.23 790.4 246.66L788.64 246.17Q789 245.14 789.72 244.52Q790.43 243.9 791.35 243.62Q792.26 243.34 793.2 243.34Q793.83 243.34 794.57 243.5Q795.3 243.66 795.95 244.07Q796.61 244.49 797.02 245.27Q797.44 246.04 797.44 247.3L797.44 254.8L795.66 254.8L795.66 253.25L795.55 253.25Q795.35 253.65 794.93 254.07Q794.51 254.48 793.84 254.76Q793.16 255.04 792.19 255.04ZM792.49 253.43Q793.52 253.43 794.22 253.04Q794.91 252.65 795.27 252.01Q795.63 251.38 795.63 250.69L795.63 249.15Q795.51 249.27 795.16 249.37Q794.8 249.47 794.33 249.55Q793.86 249.64 793.41 249.69Q792.95 249.75 792.66 249.79Q791.99 249.87 791.42 250.07Q790.85 250.27 790.5 250.65Q790.16 251.02 790.16 251.68Q790.16 252.25 790.46 252.64Q790.76 253.03 791.28 253.23Q791.81 253.43 792.49 253.43ZM799.61 254.8L804.11 248.31L804.1 249.7L799.84 243.49L801.96 243.49L803.39 245.7Q803.92 246.51 804.33 247.24Q804.74 247.96 805.17 248.66L804.22 248.66Q804.66 247.96 805.03 247.24Q805.4 246.51 805.94 245.7L807.4 243.49L809.49 243.49L805.21 249.77L805.21 248.41L809.67 254.8L807.56 254.8L805.87 252.26Q805.35 251.46 804.96 250.76Q804.57 250.05 804.15 249.4L805.1 249.4Q804.68 250.05 804.31 250.76Q803.94 251.46 803.41 252.26L801.71 254.8L799.61 254.8ZM816.45 255.04Q814.9 255.04 813.75 254.32Q812.59 253.59 811.94 252.27Q811.29 250.95 811.29 249.21Q811.29 247.45 811.94 246.13Q812.59 244.8 813.75 244.07Q814.9 243.34 816.45 243.34Q818 243.34 819.16 244.07Q820.33 244.8 820.98 246.13Q821.63 247.45 821.63 249.21Q821.63 250.95 820.98 252.27Q820.33 253.Line truncated
|
||||
<path d="M709.98 294.15L710.36 292.57L710.71 292.61Q711.23 292.73 711.65 292.66Q712.08 292.58 712.42 292.21Q712.76 291.84 713.03 291.08L713.39 290.03L709.07 278.69L711.06 278.69L713.47 285.37Q713.84 286.38 714.11 287.38Q714.37 288.38 714.66 289.32L714.03 289.32Q714.31 288.38 714.58 287.38Q714.85 286.38 715.22 285.37L717.64 278.69L719.62 278.69L714.61 291.76Q714.27 292.63 713.8 293.2Q713.32 293.78 712.69 294.06Q712.06 294.34 711.27 294.34Q710.82 294.34 710.48 294.28Q710.14 294.21 709.98 294.15ZM726.29 290.24Q724.75 290.24 723.59 289.52Q722.44 288.79 721.79 287.47Q721.14 286.15 721.14 284.41Q721.14 282.65 721.79 281.33Q722.44 280 723.59 279.27Q724.75 278.54 726.29 278.54Q727.14 278.54 727.88 278.76Q728.62 278.99 729.23 279.41Q729.83 279.83 730.26 280.43Q730.69 281.03 730.91 281.8L729.14 282.2Q729.03 281.76 728.78 281.39Q728.53 281.02 728.17 280.74Q727.8 280.47 727.33 280.32Q726.87 280.17 726.29 280.17Q725.18 280.17 724.45 280.75Q723.71 281.34 723.35 282.3Q722.99 283.25 722.99 284.41Q722.99 285.55 723.35 286.5Q723.71 287.46 724.44 288.04Q725.17 288.61 726.29 288.61Q726.88 288.61 727.35 288.46Q727.82 288.31 728.19 288.03Q728.56 287.74 728.81 287.35Q729.06 286.96 729.18 286.5L730.94 286.92Q730.73 287.68 730.3 288.3Q729.87 288.91 729.26 289.35Q728.65 289.79 727.9 290.02Q727.15 290.24 726.29 290.24ZM735.85 290L735.85 280.33L732.09 280.33L732.09 278.69L741.41 278.69L741.41 280.33L737.67 280.33L737.67 290L735.85 290ZM746.37 290.24Q745.29 290.24 744.41 289.85Q743.53 289.45 743.01 288.67Q742.5 287.9 742.5 286.78Q742.5 285.81 742.88 285.2Q743.26 284.59 743.91 284.24Q744.55 283.9 745.34 283.72Q746.12 283.55 746.92 283.45Q747.94 283.32 748.57 283.24Q749.2 283.17 749.51 283Q749.81 282.83 749.81 282.41L749.81 282.35Q749.81 281.65 749.54 281.16Q749.28 280.67 748.74 280.41Q748.21 280.14 747.42 280.14Q746.61 280.14 746.04 280.4Q745.46 280.65 745.1 281.04Q744.73 281.43 744.58 281.86L742.82 281.37Q743.18 280.34 743.9 279.72Q744.61 279.1 745.53 278.82Q746.44 278.54 747.38 278.54Q748.01 278.54 748.74 278.7Q749.48 278.86 750.13 279.27Q750.79 279.69 751.2 280.47Q751.62 281.24 751.62 282.5L751.62 290L749.84 290L749.84 288.45L749.72 288.45Q749.53 288.85 749.11 289.27Q748.69 289.68 748.02 289.96Q747.34 290.24 746.37 290.24ZM746.67 288.63Q747.7 288.63 748.4 288.24Q749.09 287.85 749.45 287.21Q749.81 286.58 749.81 285.89L749.81 284.35Q749.69 284.47 749.34 284.57Q748.98 284.67 748.51 284.75Q748.04 284.84 747.59 284.89Q747.13 284.95 746.84 284.99Q746.17 285.07 745.6 285.27Q745.03 285.47 744.68 285.85Q744.34 286.22 744.34 286.88Q744.34 287.45 744.64 287.84Q744.94 288.23 745.46 288.43Q745.99 288.63 746.67 288.63ZM762.39 283.36L762.39 285.04L756.12 285.04L756.12 283.36L762.39 283.36ZM756.56 278.69L756.56 290L754.75 290L754.75 278.69L756.56 278.69ZM763.8 278.69L763.8 290L761.97 290L761.97 278.69L763.8 278.69ZM770.11 290.24Q769.03 290.24 768.15 289.85Q767.28 289.45 766.76 288.67Q766.25 287.9 766.25 286.78Q766.25 285.81 766.63 285.2Q767.01 284.59 767.65 284.24Q768.3 283.9 769.08 283.72Q769.87 283.55 770.67 283.45Q771.69 283.32 772.32 283.24Q772.95 283.17 773.25 283Q773.55 282.83 773.55 282.41L773.55 282.35Q773.55 281.65 773.29 281.16Q773.02 280.67 772.49 280.41Q771.96 280.14 771.17 280.14Q770.36 280.14 769.78 280.4Q769.21 280.65 768.84 281.04Q768.48 281.43 768.33 281.86L766.56 281.37Q766.93 280.34 767.64 279.72Q768.36 279.1 769.27 278.82Q770.19 278.54 771.12 278.54Q771.76 278.54 772.49 278.7Q773.23 278.86 773.88 279.27Q774.53 279.69 774.95 280.47Q775.37 281.24 775.37 282.5L775.37 290L773.58 290L773.58 288.45L773.47 288.45Q773.28 288.85 772.86 289.27Q772.44 289.68 771.76 289.96Q771.08 290.24 770.11 290.24ZM770.42 288.63Q771.45 288.63 772.14 288.24Q772.84 287.85 773.2 287.21Q773.55 286.58 773.55 285.89L773.55 284.35Q773.44 284.47 773.08 284.57Q772.73 284.67 772.26 284.75Q771.79 284.84 771.33 284.89Q770.88 284.95 770.58 284.99Q769.92 285.07 769.35 285.27Q768.78 285.47 768.43 285.85Q768.08 286.22 768.08 286.88Q768.08 287.45 768.38 287.84Q768.69 288.23 769.21 288.43Q769.74 288.63 770.42 288.63ZM778.49 290L778.49 278.69L783.13 278.69Q784.97 278.69 786.07 279.51Q787.17 280.34 787.17 281.71Q787.17 282.7 786.57 283.28Q785.98 283.86 784.99 284.06Q785.65 284.15 786.24 284.5Q786.83 284.86 787.22 285.46Q787.61 286.06 787.61 286.94Q787.61 287.83 787.15 288.52Q786.7 289.21 785.86 289.61Q785.01 290 783.85 290L778.49 290ZM780.22 288.34L783.85 288.34Q784.73 288.34 785.23 287.92Q785.73 287.51 785.73 286.8Q785.73 285.93 785.23 285.45Q784.73 284.97 783.85 284.97L780.22 284.97L780.22 288.34ZM780.22 283.44L783.15 283.44Q784.18 283.44 784.75 283.01Q785.33 282.59 785.33 281.86Q785.33 281.15 784.75 280.75Q784.17 280.36 783.13 280.36L780.22 280.36L780.22 283.44ZM788.79 290L788.79 288.32L789.2 288.32Q789.7 288.32 790.04 288.13Q790.38 287.94 790.59 287.45Q790.8 286.96 790.92 286.06Q791.03 285.15 791.1 283.72L791.3 278.69L798.98 278.69L798.98 290L797.16 290L797.16 280.38L793.03 280.38L792.86 284.36Q792.78 286.24 792.45 287.5Q792.12 288.75 791.4 289.38Q790.68 290 789.41 290LLine truncated
|
||||
<g transform="translate(954.5 173.5) scale(0.92)" fill="none" stroke="#8a8a94" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="m9 18 6-6-6-6"/></g>
|
||||
<rect x="980.5" y="4" width="295.5" height="361" rx="24.2" fill="#0c0c0e" stroke="#2a2a2f" stroke-width="2"/>
|
||||
<circle cx="1028.9" cy="52.4" r="27.5" fill="#1d1d21" stroke="#2a2a2f" stroke-width="2"/>
|
||||
<path d="M1020.96 58.64L1020.96 56.42L1030.56 41.57L1032.21 41.57L1032.21 44.94L1031.13 44.94L1023.9 56.09L1023.9 56.25L1036.87 56.25L1036.87 58.64L1020.96 58.64ZM1031.27 63.18L1031.27 57.99L1031.27 56.93L1031.27 41.57L1033.88 41.57L1033.88 63.18L1031.27 63.18Z" fill="#f2f2f3" stroke="#f2f2f3" stroke-width="0.88" stroke-linejoin="round"/>
|
||||
<g transform="translate(1099.65 54.6) scale(2.38)" fill="none" stroke="#f2f2f3" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M6 3 20 12 6 21Z"/></g>
|
||||
<path d="M1075.79 169.34Q1073.42 169.34 1071.59 168.49Q1069.75 167.65 1068.68 166.16Q1067.61 164.67 1067.54 162.7L1070.6 162.7Q1070.68 163.92 1071.37 164.82Q1072.05 165.71 1073.19 166.19Q1074.32 166.66 1075.74 166.66Q1077.29 166.66 1078.47 166.13Q1079.64 165.6 1080.33 164.63Q1081.01 163.67 1081.01 162.41Q1081.01 161.1 1080.34 160.12Q1079.67 159.14 1078.42 158.57Q1077.16 158.01 1075.37 158.01L1073.42 158.01L1073.42 155.37L1075.37 155.37Q1076.81 155.37 1077.89 154.87Q1078.98 154.37 1079.59 153.46Q1080.19 152.55 1080.19 151.31Q1080.19 150.1 1079.65 149.2Q1079.11 148.29 1078.12 147.79Q1077.13 147.3 1075.79 147.3Q1074.52 147.3 1073.44 147.76Q1072.36 148.23 1071.69 149.09Q1071.02 149.95 1070.99 151.19L1068.06 151.19Q1068.11 149.26 1069.16 147.79Q1070.22 146.31 1071.96 145.48Q1073.71 144.65 1075.86 144.65Q1078.08 144.65 1079.72 145.56Q1081.37 146.46 1082.26 147.93Q1083.16 149.41 1083.16 151.15Q1083.16 153.14 1082.07 154.56Q1080.98 155.98 1079.13 156.54L1079.13 156.71Q1080.66 156.95 1081.75 157.74Q1082.85 158.53 1083.43 159.73Q1084.01 160.93 1084.01 162.43Q1084.01 164.42 1082.94 165.98Q1081.87 167.53 1080.01 168.44Q1078.16 169.34 1075.79 169.34ZM1092.74 169.39Q1091.04 169.39 1089.65 168.76Q1088.26 168.13 1087.45 166.91Q1086.64 165.68 1086.64 163.91Q1086.64 162.38 1087.24 161.42Q1087.84 160.46 1088.86 159.91Q1089.87 159.36 1091.12 159.09Q1092.36 158.82 1093.61 158.66Q1095.22 158.45 1096.22 158.33Q1097.22 158.22 1097.7 157.95Q1098.17 157.67 1098.17 157.01L1098.17 156.92Q1098.17 155.82 1097.75 155.05Q1097.34 154.27 1096.5 153.85Q1095.66 153.43 1094.4 153.43Q1093.13 153.43 1092.22 153.84Q1091.31 154.24 1090.74 154.85Q1090.16 155.46 1089.92 156.14L1087.14 155.37Q1087.72 153.74 1088.84 152.77Q1089.97 151.79 1091.41 151.35Q1092.86 150.9 1094.34 150.9Q1095.34 150.9 1096.5 151.15Q1097.66 151.4 1098.69 152.06Q1099.72 152.73 1100.38 153.95Q1101.04 155.17 1101.04 157.16L1101.04 169L1098.22 169L1098.22 166.55L1098.04 166.55Q1097.74 167.18 1097.08 167.84Q1096.42 168.5 1095.35 168.94Q1094.27 169.39 1092.74 169.39ZM1093.23 166.84Q1094.85 166.84 1095.95 166.22Q1097.05 165.6 1097.61 164.6Q1098.17 163.6 1098.17 162.51L1098.17 160.07Q1098 160.27 1097.43 160.43Q1096.87 160.59 1096.13 160.72Q1095.39 160.85 1094.67 160.94Q1093.95 161.02 1093.48 161.09Q1092.44 161.22 1091.53 161.53Q1090.63 161.85 1090.08 162.44Q1089.54 163.04 1089.54 164.07Q1089.54 164.97 1090.01 165.59Q1090.49 166.21 1091.32 166.53Q1092.15 166.84 1093.23 166.84ZM1119.59 151.15L1119.59 169L1116.72 169L1116.72 153.81L1108.2 153.81L1108.2 169L1105.31 169L1105.31 151.15L1119.59 151.15ZM1123.63 175.56L1124.25 173.06L1124.79 173.12Q1125.62 173.32 1126.28 173.2Q1126.95 173.08 1127.49 172.49Q1128.03 171.9 1128.45 170.71L1129.03 169.05L1122.2 151.15L1125.34 151.15L1129.14 161.68Q1129.74 163.28 1130.16 164.86Q1130.58 166.44 1131.03 167.92L1130.03 167.92Q1130.48 166.44 1130.91 164.86Q1131.34 163.28 1131.92 161.68L1135.73 151.15L1138.86 151.15L1130.95 171.77Q1130.42 173.16 1129.67 174.06Q1128.92 174.96 1127.92 175.41Q1126.92 175.85 1125.68 175.85Q1124.97 175.85 1124.43 175.75Q1123.89 175.65 1123.63 175.56ZM1148.74 169.39Q1146.31 169.39 1144.48 168.23Q1142.65 167.08 1141.62 165Q1140.6 162.93 1140.6 160.17Q1140.6 157.4 1141.62 155.3Q1142.65 153.21 1144.48 152.06Q1146.31 150.9 1148.74 150.9Q1150.08 150.9 1151.24 151.26Q1152.41 151.61 1153.37 152.27Q1154.33 152.94 1155.01 153.89Q1155.68 154.84 1156.02 156.04L1153.23 156.69Q1153.06 156 1152.66 155.41Q1152.27 154.82 1151.7 154.39Q1151.12 153.95 1150.38 153.72Q1149.64 153.48 1148.74 153.48Q1146.98 153.48 1145.82 154.4Q1144.66 155.32 1144.09 156.83Q1143.52 158.35 1143.52 160.17Q1143.52 161.97 1144.09 163.48Q1144.66 164.99 1145.81 165.9Q1146.97 166.81 1148.74 166.81Q1149.66 166.81 1150.41 166.57Q1151.16 166.33 1151.74 165.88Q1152.32 165.44 1152.71 164.82Q1153.11 164.2 1153.3 163.47L1156.07 164.13Q1155.75 165.34 1155.06 166.31Q1154.38 167.28 1153.42 167.97Q1152.46 168.66 1151.28 169.02Q1150.09 169.39 1148.74 169.39ZM1163.16 169L1163.16 153.72L1157.23 153.72L1157.23 151.15L1171.94 151.15L1171.94 153.72L1166.04 153.72L1166.04 169L1163.16 169ZM1188.44 169L1185.56 169L1185.56 156.06L1185.37 156.06L1176.79 169L1174.05 169L1174.05 151.15L1176.92 151.15L1176.92 164.13L1177.1 164.13L1185.7 151.15L1188.44 151.15L1188.44 169Z" fill="#f2f2f3" stroke="#f2f2f3" stroke-width="0.99" stroke-linejoin="round"/>
|
||||
<path d="M1038.9 219.81Q1036.95 219.81 1035.41 218.86Q1033.88 217.9 1033.01 216.15Q1032.13 214.4 1032.13 212.01Q1032.13 209.61 1033.01 207.85Q1033.88 206.1 1035.41 205.14Q1036.95 204.18 1038.9 204.18Q1040.86 204.18 1042.39 205.14Q1043.93 206.1 1044.8 207.85Q1045.67 209.61 1045.67 212.01Q1045.67 214.4 1044.8 216.15Q1043.93 217.9 1042.39 218.86Q1040.86 219.81 1038.9 219.81ZM1038.9 218.03Q1040.26 218.03 1041.37 217.33Q1042.48 216.64 1043.13 215.3Q1043.79 213.96 1043.79 212.01Q1043.79 210.05 1043.13 208.7Q1042.48 207.35 1041.37 206.66Q1040.26 205.97 1038.9 205.97Q1037.54 205.97 1036.42 206.66Q1035.31 207.35 1034.66 208.7Q1034.01 210.05 1034.01 212.01Q1034.01 213.96 1034.66 215.3Q1035.31 216.64 1036.42 217.33Q1037.54 218.03 1038.9 218.03ZM1051.7 219.6L1047.37 208.29L1049.36 208.29L1051.77 214.97Q1052.15 215.98 1052.42 216.98Q1052.68 217.98 1052.98 218.92L1052.34 218.92Q1052.63 217.98 1052.9 216.98Q1053.17 215.98 1053.54 214.97L1055.94 208.29L1057.93 208.29L1053.6 219.6L1051.7 219.6ZM1064.73 219.84Q1063.09 219.84 1061.91 219.11Q1060.72 218.38 1060.09 217.07Q1059.45 215.76 1059.45 214.03Q1059.45 212.29 1060.07 210.97Q1060.7 209.64 1061.85 208.89Q1063 208.14 1064.53 208.14Q1065.48 208.14 1066.37 208.46Q1067.25 208.77 1067.96 209.46Q1068.66 210.14 1069.08 211.22Q1069.49 212.3 1069.49 213.83L1069.49 214.55L1060.63 214.55L1060.63 213.01L1068.51 213.01L1067.66 213.57Q1067.66 212.46 1067.31 211.59Q1066.95 210.73 1066.25 210.24Q1065.55 209.75 1064.53 209.75Q1063.52 209.75 1062.78 210.25Q1062.05 210.74 1061.66 211.55Q1061.27 212.36 1061.27 213.32L1061.27 214.3Q1061.27 215.55 1061.7 216.43Q1062.13 217.3 1062.92 217.76Q1063.7 218.22 1064.74 218.22Q1065.43 218.22 1065.98 218.02Q1066.54 217.81 1066.94 217.42Q1067.34 217.02 1067.54 216.45L1069.31 216.85Q1069.05 217.73 1068.42 218.41Q1067.78 219.09 1066.85 219.47Q1065.91 219.84 1064.73 219.84ZM1072.02 219.6L1072.02 208.29L1073.78 208.29L1073.78 210.04L1073.88 210.04Q1074.19 209.18 1074.97 208.66Q1075.76 208.13 1076.78 208.13Q1076.99 208.13 1077.26 208.14Q1077.52 208.16 1077.67 208.17L1077.67 210Q1077.59 209.98 1077.27 209.94Q1076.95 209.89 1076.58 209.89Q1075.8 209.89 1075.17 210.23Q1074.55 210.56 1074.19 211.15Q1073.84 211.74 1073.84 212.54L1073.84 219.6L1072.02 219.6ZM1083.94 219.83Q1082.52 219.83 1081.44 219.12Q1080.36 218.4 1079.75 217.08Q1079.14 215.76 1079.14 213.98Q1079.14 212.19 1079.75 210.88Q1080.36 209.57 1081.44 208.85Q1082.53 208.14 1083.95 208.14Q1084.99 208.14 1085.64 208.48Q1086.3 208.82 1086.67 209.28Q1087.05 209.73 1087.27 210.09L1087.39 210.09L1087.39 204.39L1089.21 204.39L1089.21 219.6L1087.45 219.6L1087.45 217.85L1087.28 217.85Q1087.05 218.22 1086.66 218.69Q1086.28 219.15 1085.62 219.49Q1084.97 219.83 1083.94 219.83ZM1084.22 218.21Q1085.25 218.21 1085.97 217.67Q1086.68 217.13 1087.06 216.17Q1087.43 215.21 1087.43 213.96Q1087.43 212.7 1087.06 211.76Q1086.69 210.82 1085.98 210.3Q1085.26 209.77 1084.22 209.77Q1083.15 209.77 1082.43 210.32Q1081.71 210.86 1081.35 211.81Q1080.99 212.75 1080.99 213.96Q1080.99 215.17 1081.36 216.14Q1081.73 217.1 1082.45 217.66Q1083.17 218.21 1084.22 218.21ZM1092.33 219.6L1092.33 208.29L1094.08 208.29L1094.08 210.04L1094.19 210.04Q1094.5 209.18 1095.28 208.66Q1096.06 208.13 1097.08 208.13Q1097.3 208.13 1097.56 208.14Q1097.83 208.16 1097.98 208.17L1097.98 210Q1097.9 209.98 1097.58 209.94Q1097.26 209.89 1096.89 209.89Q1096.1 209.89 1095.48 210.23Q1094.86 210.56 1094.5 211.15Q1094.14 211.74 1094.14 212.54L1094.14 219.6L1092.33 219.6ZM1100 219.6L1100 208.29L1101.82 208.29L1101.82 219.6L1100 219.6ZM1100.91 206.39Q1100.4 206.39 1100.03 206.04Q1099.66 205.68 1099.66 205.18Q1099.66 204.67 1100.03 204.32Q1100.4 203.98 1100.91 203.98Q1101.43 203.98 1101.8 204.32Q1102.18 204.67 1102.18 205.18Q1102.18 205.68 1101.8 206.04Q1101.43 206.39 1100.91 206.39ZM1108.22 219.6L1103.89 208.29L1105.88 208.29L1108.29 214.97Q1108.67 215.98 1108.93 216.98Q1109.2 217.98 1109.49 218.92L1108.86 218.92Q1109.15 217.98 1109.42 216.98Q1109.69 215.98 1110.05 214.97L1112.45 208.29L1114.44 208.29L1110.12 219.6L1108.22 219.6ZM1121.25 219.84Q1119.61 219.84 1118.42 219.11Q1117.24 218.38 1116.6 217.07Q1115.96 215.76 1115.96 214.03Q1115.96 212.29 1116.59 210.97Q1117.22 209.64 1118.37 208.89Q1119.51 208.14 1121.05 208.14Q1121.99 208.14 1122.88 208.46Q1123.77 208.77 1124.47 209.46Q1125.18 210.14 1125.59 211.22Q1126 212.3 1126 213.83L1126 214.55L1117.15 214.55L1117.15 213.01L1125.03 213.01L1124.18 213.57Q1124.18 212.46 1123.82 211.59Q1123.46 210.73 1122.76 210.24Q1122.07 209.75 1121.05 209.75Q1120.03 209.75 1119.3 210.25Q1118.57 210.74 1118.18 211.55Q1117.79 212.36 1117.79 213.32L1117.79 214.3Q1117.79 215.55 1118.22 216.43Q1118.65 217.3 1119.43 217.76Q1120.22 218.22 1121.26 218.22Q1121.94 218.22 1122.5 218.02Q1123.06 217.81 1123.45 217.42Q1123.85 217.02 1124.06 216.45L1125.82 216.85Q1125.57 217.73 1124.93 218.41Q1124.3 219.09 1123.36 219.47Q1122.42 219.84 1121.25 219.84ZM1143.34 208.29L1143.34 219.6L1141.53 219.6L1141.53 209.98L1136.13 209.98L1136.13 219.6L1134.3 219.6L1134.3 Line truncated
|
||||
<path d="M1038.88 248.16L1038.88 249.84L1032.61 249.84L1032.61 248.16L1038.88 248.16ZM1033.05 243.49L1033.05 254.8L1031.24 254.8L1031.24 243.49L1033.05 243.49ZM1040.29 243.49L1040.29 254.8L1038.46 254.8L1038.46 243.49L1040.29 243.49ZM1046.6 255.04Q1045.52 255.04 1044.64 254.65Q1043.77 254.25 1043.25 253.47Q1042.74 252.7 1042.74 251.58Q1042.74 250.61 1043.12 250Q1043.5 249.39 1044.14 249.04Q1044.79 248.7 1045.57 248.52Q1046.36 248.35 1047.16 248.25Q1048.18 248.12 1048.81 248.04Q1049.44 247.97 1049.74 247.8Q1050.04 247.63 1050.04 247.21L1050.04 247.15Q1050.04 246.45 1049.78 245.96Q1049.51 245.47 1048.98 245.21Q1048.45 244.94 1047.66 244.94Q1046.85 244.94 1046.27 245.2Q1045.7 245.45 1045.33 245.84Q1044.97 246.23 1044.82 246.66L1043.05 246.17Q1043.42 245.14 1044.13 244.52Q1044.85 243.9 1045.76 243.62Q1046.68 243.34 1047.61 243.34Q1048.25 243.34 1048.98 243.5Q1049.72 243.66 1050.37 244.07Q1051.02 244.49 1051.44 245.27Q1051.86 246.04 1051.86 247.3L1051.86 254.8L1050.07 254.8L1050.07 253.25L1049.96 253.25Q1049.77 253.65 1049.35 254.07Q1048.93 254.48 1048.25 254.76Q1047.57 255.04 1046.6 255.04ZM1046.91 253.43Q1047.94 253.43 1048.64 253.04Q1049.33 252.65 1049.69 252.01Q1050.04 251.38 1050.04 250.69L1050.04 249.15Q1049.93 249.27 1049.57 249.37Q1049.22 249.47 1048.75 249.55Q1048.28 249.64 1047.82 249.69Q1047.37 249.75 1047.07 249.79Q1046.41 249.87 1045.84 250.07Q1045.27 250.27 1044.92 250.65Q1044.57 251.02 1044.57 251.68Q1044.57 252.25 1044.87 252.64Q1045.18 253.03 1045.7 253.23Q1046.23 253.43 1046.91 253.43ZM1067.82 243.49L1067.82 245.18L1062.57 245.18L1062.57 254.8L1060.75 254.8L1060.75 243.49L1067.82 243.49ZM1068.44 254.8L1068.44 253.12L1068.85 253.12Q1069.35 253.12 1069.69 252.93Q1070.04 252.74 1070.24 252.25Q1070.45 251.76 1070.57 250.86Q1070.69 249.95 1070.75 248.52L1070.95 243.49L1078.64 243.49L1078.64 254.8L1076.81 254.8L1076.81 245.18L1072.69 245.18L1072.51 249.16Q1072.43 251.04 1072.1 252.3Q1071.77 253.55 1071.05 254.18Q1070.33 254.8 1069.07 254.8L1068.44 254.8ZM1084.95 255.04Q1083.87 255.04 1083 254.65Q1082.12 254.25 1081.6 253.47Q1081.09 252.7 1081.09 251.58Q1081.09 250.61 1081.47 250Q1081.85 249.39 1082.5 249.04Q1083.14 248.7 1083.92 248.52Q1084.71 248.35 1085.51 248.25Q1086.53 248.12 1087.16 248.04Q1087.79 247.97 1088.09 247.8Q1088.39 247.63 1088.39 247.21L1088.39 247.15Q1088.39 246.45 1088.13 245.96Q1087.86 245.47 1087.33 245.21Q1086.8 244.94 1086.01 244.94Q1085.2 244.94 1084.62 245.2Q1084.05 245.45 1083.68 245.84Q1083.32 246.23 1083.17 246.66L1081.4 246.17Q1081.77 245.14 1082.49 244.52Q1083.2 243.9 1084.11 243.62Q1085.03 243.34 1085.97 243.34Q1086.6 243.34 1087.33 243.5Q1088.07 243.66 1088.72 244.07Q1089.37 244.49 1089.79 245.27Q1090.21 246.04 1090.21 247.3L1090.21 254.8L1088.42 254.8L1088.42 253.25L1088.31 253.25Q1088.12 253.65 1087.7 254.07Q1087.28 254.48 1086.6 254.76Q1085.92 255.04 1084.95 255.04ZM1085.26 253.43Q1086.29 253.43 1086.99 253.04Q1087.68 252.65 1088.04 252.01Q1088.39 251.38 1088.39 250.69L1088.39 249.15Q1088.28 249.27 1087.92 249.37Q1087.57 249.47 1087.1 249.55Q1086.63 249.64 1086.17 249.69Q1085.72 249.75 1085.42 249.79Q1084.76 249.87 1084.19 250.07Q1083.62 250.27 1083.27 250.65Q1082.92 251.02 1082.92 251.68Q1082.92 252.25 1083.23 252.64Q1083.53 253.03 1084.05 253.23Q1084.58 253.43 1085.26 253.43ZM1093.33 254.8L1093.33 243.49L1097.97 243.49Q1099.81 243.49 1100.91 244.31Q1102.01 245.14 1102.01 246.51Q1102.01 247.5 1101.42 248.08Q1100.82 248.66 1099.83 248.86Q1100.49 248.95 1101.08 249.3Q1101.67 249.66 1102.06 250.26Q1102.45 250.86 1102.45 251.74Q1102.45 252.63 1101.99 253.32Q1101.54 254.01 1100.7 254.41Q1099.85 254.8 1098.69 254.8L1093.33 254.8ZM1095.06 253.14L1098.69 253.14Q1099.57 253.14 1100.07 252.72Q1100.57 252.31 1100.57 251.6Q1100.57 250.73 1100.07 250.25Q1099.57 249.77 1098.69 249.77L1095.06 249.77L1095.06 253.14ZM1095.06 248.24L1097.99 248.24Q1099.02 248.24 1099.59 247.81Q1100.17 247.39 1100.17 246.66Q1100.17 245.95 1099.59 245.55Q1099.01 245.16 1097.97 245.16L1095.06 245.16L1095.06 248.24ZM1112.64 248.16L1112.64 249.84L1106.38 249.84L1106.38 248.16L1112.64 248.16ZM1106.81 243.49L1106.81 254.8L1105 254.8L1105 243.49L1106.81 243.49ZM1114.05 243.49L1114.05 254.8L1112.22 254.8L1112.22 243.49L1114.05 243.49ZM1121.76 255.04Q1120.22 255.04 1119.07 254.32Q1117.91 253.59 1117.26 252.27Q1116.61 250.95 1116.61 249.21Q1116.61 247.45 1117.26 246.13Q1117.91 244.8 1119.07 244.07Q1120.22 243.34 1121.76 243.34Q1123.32 243.34 1124.48 244.07Q1125.65 244.8 1126.3 246.13Q1126.95 247.45 1126.95 249.21Q1126.95 250.95 1126.3 252.27Q1125.65 253.59 1124.48 254.32Q1123.32 255.04 1121.76 255.04ZM1121.76 253.41Q1122.9 253.41 1123.64 252.84Q1124.39 252.26 1124.75 251.3Q1125.11 250.35 1125.11 249.21Q1125.11 248.06 1124.75 247.1Q1124.39 246.14 1123.64 245.55Q1122.9 244.97 1121.76 244.97Q1120.65 244.97 1119.92 245.55Q1119.18 246.14 1118.82 247.1Q1118.46 248.05 1118.46 249.21Q1118.46 250.35 1118.82 251.3Q1119.18 252.26 1119.91 252.84Q1120.64 253.41 1121.76 253.41ZM1129.52 254.8L1129.52 243.49L1132.25 243.49L11Line truncated
|
||||
<path d="M1079.7 290L1079.7 274.79L1085.1 274.79Q1086.68 274.79 1087.73 275.33Q1088.77 275.87 1089.29 276.78Q1089.81 277.69 1089.81 278.83Q1089.81 279.78 1089.48 280.42Q1089.14 281.06 1088.57 281.45Q1088.01 281.84 1087.32 282.04L1087.32 282.16Q1088.07 282.21 1088.78 282.66Q1089.49 283.11 1089.95 283.92Q1090.41 284.73 1090.41 285.91Q1090.41 287.08 1089.87 288Q1089.33 288.93 1088.2 289.46Q1087.06 290 1085.26 290L1079.7 290ZM1081.62 288.3L1085.22 288.3Q1086.99 288.3 1087.77 287.62Q1088.55 286.95 1088.55 285.91Q1088.55 285.13 1088.15 284.49Q1087.76 283.86 1087.04 283.48Q1086.32 283.1 1085.32 283.1L1081.62 283.1L1081.62 288.3ZM1081.62 281.47L1085.03 281.47Q1085.86 281.47 1086.53 281.15Q1087.2 280.84 1087.58 280.25Q1087.97 279.66 1087.97 278.88Q1087.97 277.86 1087.26 277.18Q1086.55 276.5 1085.08 276.5L1081.62 276.5L1081.62 281.47ZM1097.69 290.24Q1096.15 290.24 1094.99 289.52Q1093.83 288.79 1093.19 287.47Q1092.54 286.15 1092.54 284.41Q1092.54 282.65 1093.19 281.33Q1093.83 280 1094.99 279.27Q1096.15 278.54 1097.69 278.54Q1099.24 278.54 1100.41 279.27Q1101.58 280 1102.23 281.33Q1102.88 282.65 1102.88 284.41Q1102.88 286.15 1102.23 287.47Q1101.58 288.79 1100.41 289.52Q1099.24 290.24 1097.69 290.24ZM1097.69 288.61Q1098.82 288.61 1099.57 288.04Q1100.31 287.46 1100.68 286.5Q1101.04 285.55 1101.04 284.41Q1101.04 283.26 1100.68 282.3Q1100.31 281.34 1099.57 280.75Q1098.82 280.17 1097.69 280.17Q1096.58 280.17 1095.84 280.75Q1095.11 281.34 1094.75 282.3Q1094.38 283.25 1094.38 284.41Q1094.38 285.55 1094.75 286.5Q1095.11 287.46 1095.84 288.04Q1096.57 288.61 1097.69 288.61ZM1107.83 290L1107.83 280.33L1104.08 280.33L1104.08 278.69L1113.4 278.69L1113.4 280.33L1109.66 280.33L1109.66 290L1107.83 290ZM1130.03 290L1128.2 290L1128.2 281.81L1128.08 281.81L1122.65 290L1120.92 290L1120.92 278.69L1122.73 278.69L1122.73 286.92L1122.85 286.92L1128.3 278.69L1130.03 278.69L1130.03 290ZM1138.91 290L1138.91 278.69L1143.54 278.69Q1145.39 278.69 1146.49 279.51Q1147.58 280.34 1147.58 281.71Q1147.58 282.7 1146.99 283.28Q1146.4 283.86 1145.41 284.06Q1146.06 284.15 1146.65 284.5Q1147.25 284.86 1147.63 285.46Q1148.02 286.06 1148.02 286.94Q1148.02 287.83 1147.57 288.52Q1147.11 289.21 1146.27 289.61Q1145.43 290 1144.27 290L1138.91 290ZM1140.63 288.34L1144.27 288.34Q1145.14 288.34 1145.64 287.92Q1146.14 287.51 1146.14 286.8Q1146.14 285.93 1145.64 285.45Q1145.14 284.97 1144.27 284.97L1140.63 284.97L1140.63 288.34ZM1140.63 283.44L1143.56 283.44Q1144.59 283.44 1145.17 283.01Q1145.75 282.59 1145.75 281.86Q1145.75 281.15 1145.16 280.75Q1144.58 280.36 1143.54 280.36L1140.63 280.36L1140.63 283.44ZM1155.18 290.24Q1153.64 290.24 1152.48 289.52Q1151.32 288.79 1150.67 287.47Q1150.02 286.15 1150.02 284.41Q1150.02 282.65 1150.67 281.33Q1151.32 280 1152.48 279.27Q1153.64 278.54 1155.18 278.54Q1156.02 278.54 1156.76 278.76Q1157.5 278.99 1158.11 279.41Q1158.72 279.83 1159.15 280.43Q1159.57 281.03 1159.79 281.8L1158.02 282.2Q1157.91 281.76 1157.66 281.39Q1157.41 281.02 1157.05 280.74Q1156.69 280.47 1156.22 280.32Q1155.75 280.17 1155.18 280.17Q1154.06 280.17 1153.33 280.75Q1152.59 281.34 1152.23 282.3Q1151.87 283.25 1151.87 284.41Q1151.87 285.55 1152.23 286.5Q1152.59 287.46 1153.32 288.04Q1154.05 288.61 1155.18 288.61Q1155.76 288.61 1156.23 288.46Q1156.71 288.31 1157.07 288.03Q1157.44 287.74 1157.69 287.35Q1157.94 286.96 1158.06 286.5L1159.82 286.92Q1159.62 287.68 1159.18 288.3Q1158.75 288.91 1158.14 289.35Q1157.53 289.79 1156.78 290.02Q1156.03 290.24 1155.18 290.24ZM1167.08 290.24Q1165.43 290.24 1164.25 289.51Q1163.06 288.78 1162.43 287.47Q1161.79 286.16 1161.79 284.43Q1161.79 282.69 1162.42 281.37Q1163.04 280.04 1164.19 279.29Q1165.34 278.54 1166.87 278.54Q1167.82 278.54 1168.71 278.86Q1169.6 279.17 1170.3 279.86Q1171 280.54 1171.42 281.62Q1171.83 282.7 1171.83 284.23L1171.83 284.95L1162.97 284.95L1162.97 283.41L1170.85 283.41L1170 283.97Q1170 282.86 1169.65 281.99Q1169.29 281.13 1168.59 280.64Q1167.89 280.15 1166.87 280.15Q1165.86 280.15 1165.13 280.65Q1164.39 281.14 1164 281.95Q1163.62 282.76 1163.62 283.72L1163.62 284.7Q1163.62 285.95 1164.04 286.83Q1164.47 287.7 1165.26 288.16Q1166.04 288.62 1167.09 288.62Q1167.77 288.62 1168.33 288.42Q1168.88 288.21 1169.28 287.82Q1169.68 287.42 1169.88 286.85L1171.65 287.25Q1171.39 288.13 1170.76 288.81Q1170.13 289.49 1169.19 289.87Q1168.25 290.24 1167.08 290.24ZM1168.99 276.79Q1168.49 276.79 1168.14 276.44Q1167.79 276.08 1167.79 275.58Q1167.79 275.08 1168.14 274.73Q1168.49 274.38 1168.99 274.38Q1169.49 274.38 1169.85 274.73Q1170.2 275.08 1170.2 275.58Q1170.2 276.08 1169.85 276.44Q1169.49 276.79 1168.99 276.79ZM1164.71 276.79Q1164.21 276.79 1163.85 276.44Q1163.49 276.08 1163.49 275.58Q1163.49 275.08 1163.85 274.73Q1164.21 274.38 1164.71 274.38Q1165.2 274.38 1165.55 274.73Q1165.9 275.08 1165.9 275.58Q1165.9 276.08 1165.55 276.44Q1165.21 276.79 1164.71 276.79ZM1175.69 290.14Q1175.13 290.14 1174.73 289.74Q1174.33 289.35 1174.33 288.78Q1174.33 288.21 1174.73 287.82Q1175.13 287.42 1175.69 287.42Q1176.26 287.42 1176.66 287.82Q1177.06 28Line truncated
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 105 KiB |
@@ -0,0 +1,7 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 414 96" width="414" height="96" role="img" aria-label="Поддержать Overdrive через GitHub Sponsors">
|
||||
<rect x="1" y="1" width="412" height="94" rx="22" fill="#0c0c0e" stroke="#2a2a2f" stroke-width="2"/>
|
||||
<circle cx="54.0" cy="48.0" r="26.0" fill="#2a1420" stroke="#5a2343" stroke-width="1.5"/>
|
||||
<g transform="translate(41 34.5) scale(1.08)"><path d="M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z" fill="#db61a2" stroke="#db61a2" stroke-width="2" stroke-linejoin="round"/></g>
|
||||
<path d="M116.95 27.08L116.95 46L114.56 46L114.56 29.2L104.61 29.2L104.61 46L102.22 46L102.22 27.08L116.95 27.08ZM126.58 46.3Q124.66 46.3 123.22 45.4Q121.78 44.49 120.97 42.85Q120.17 41.21 120.17 39.04Q120.17 36.86 120.97 35.21Q121.78 33.56 123.22 32.65Q124.66 31.74 126.58 31.74Q128.51 31.74 129.96 32.65Q131.41 33.56 132.22 35.21Q133.03 36.86 133.03 39.04Q133.03 41.21 132.22 42.85Q131.41 44.49 129.96 45.4Q128.51 46.3 126.58 46.3ZM126.58 44.27Q127.99 44.27 128.91 43.56Q129.84 42.84 130.29 41.65Q130.74 40.46 130.74 39.04Q130.74 37.62 130.29 36.42Q129.84 35.22 128.91 34.5Q127.99 33.77 126.58 33.77Q125.19 33.77 124.28 34.5Q123.37 35.22 122.92 36.42Q122.46 37.61 122.46 39.04Q122.46 40.46 122.92 41.65Q123.37 42.84 124.27 43.56Q125.18 44.27 126.58 44.27ZM134.49 50.08L134.49 43.91L135.66 43.91Q136.09 43.46 136.41 42.94Q136.73 42.42 136.96 41.69Q137.19 40.96 137.35 39.93Q137.52 38.89 137.64 37.44L138.12 31.93L147.25 31.93L147.25 43.91L149.41 43.91L149.41 50.08L147.15 50.08L147.15 46L136.75 46L136.75 50.08L134.49 50.08ZM138.24 43.91L144.99 43.91L144.99 34.03L140.17 34.03L139.86 37.44Q139.66 39.68 139.31 41.3Q138.96 42.93 138.24 43.91ZM150.09 50.08L150.09 43.91L151.26 43.91Q151.69 43.46 152.01 42.94Q152.32 42.42 152.55 41.69Q152.78 40.96 152.95 39.93Q153.11 38.89 153.24 37.44L153.72 31.93L162.85 31.93L162.85 43.91L165.01 43.91L165.01 50.08L162.75 50.08L162.75 46L152.35 46L152.35 50.08L150.09 50.08ZM153.84 43.91L160.59 43.91L160.59 34.03L155.76 34.03L155.46 37.44Q155.26 39.68 154.91 41.3Q154.56 42.93 153.84 43.91ZM173.05 46.3Q171.01 46.3 169.53 45.39Q168.06 44.48 167.27 42.85Q166.47 41.23 166.47 39.07Q166.47 36.91 167.25 35.26Q168.04 33.61 169.46 32.68Q170.89 31.74 172.8 31.74Q173.98 31.74 175.08 32.14Q176.19 32.53 177.06 33.38Q177.94 34.23 178.45 35.58Q178.97 36.92 178.97 38.83L178.97 39.72L167.95 39.72L167.95 37.8L177.75 37.8L176.69 38.5Q176.69 37.11 176.25 36.04Q175.8 34.97 174.94 34.36Q174.07 33.75 172.8 33.75Q171.54 33.75 170.63 34.36Q169.71 34.98 169.23 35.99Q168.75 37 168.75 38.19L168.75 39.41Q168.75 40.96 169.28 42.05Q169.81 43.14 170.79 43.71Q171.77 44.29 173.06 44.29Q173.91 44.29 174.61 44.03Q175.3 43.78 175.79 43.28Q176.29 42.79 176.54 42.08L178.74 42.58Q178.42 43.68 177.63 44.52Q176.85 45.37 175.68 45.83Q174.51 46.3 173.05 46.3ZM181.85 51.31L181.85 31.93L184.04 31.93L184.04 34.17L184.25 34.17Q184.53 33.72 185 33.16Q185.47 32.59 186.28 32.17Q187.1 31.74 188.39 31.74Q190.17 31.74 191.51 32.63Q192.85 33.52 193.61 35.15Q194.37 36.78 194.37 39Q194.37 41.23 193.62 42.86Q192.86 44.5 191.52 45.4Q190.17 46.29 188.41 46.29Q187.14 46.29 186.32 45.87Q185.5 45.44 185.02 44.86Q184.55 44.29 184.27 43.83L184.11 43.83L184.11 51.31L181.85 51.31ZM188.06 44.27Q189.37 44.27 190.26 43.58Q191.16 42.89 191.62 41.69Q192.07 40.49 192.07 38.98Q192.07 37.48 191.62 36.31Q191.16 35.13 190.27 34.45Q189.38 33.77 188.06 33.77Q186.77 33.77 185.87 34.43Q184.98 35.08 184.52 36.25Q184.06 37.42 184.06 38.98Q184.06 40.54 184.53 41.73Q184.99 42.93 185.89 43.6Q186.78 44.27 188.06 44.27ZM196.12 46L201.83 38.85L196.19 31.93L198.87 31.93L203.56 37.91L204.7 37.91L204.7 31.93L206.96 31.93L206.96 37.91L208.08 37.91L212.74 31.93L215.44 31.93L209.82 38.85L215.5 46L212.77 46L208.05 40.01L206.96 40.01L206.96 46L204.7 46L204.7 40.01L203.61 40.01L198.86 46L196.12 46ZM221.92 46.3Q220.58 46.3 219.48 45.81Q218.39 45.31 217.75 44.35Q217.11 43.38 217.11 41.99Q217.11 40.78 217.59 40.03Q218.06 39.27 218.86 38.84Q219.66 38.41 220.64 38.19Q221.62 37.98 222.61 37.85Q223.88 37.68 224.66 37.6Q225.45 37.51 225.83 37.29Q226.2 37.08 226.2 36.55L226.2 36.48Q226.2 35.62 225.87 35.01Q225.54 34.4 224.88 34.07Q224.22 33.74 223.23 33.74Q222.23 33.74 221.51 34.05Q220.79 34.37 220.34 34.85Q219.89 35.34 219.7 35.87L217.5 35.26Q217.96 33.98 218.85 33.21Q219.74 32.44 220.87 32.09Q222.01 31.74 223.18 31.74Q223.97 31.74 224.88 31.94Q225.79 32.14 226.61 32.66Q227.42 33.18 227.94 34.14Q228.46 35.11 228.46 36.67L228.46 46L226.24 46L226.24 44.07L226.1 44.07Q225.86 44.57 225.34 45.09Q224.82 45.61 223.97 45.96Q223.13 46.3 221.92 46.3ZM222.3 44.3Q223.58 44.3 224.45 43.81Q225.31 43.32 225.76 42.53Q226.2 41.75 226.2 40.88L226.2 38.97Q226.06 39.12 225.62 39.25Q225.17 39.37 224.59 39.47Q224 39.58 223.44 39.65Q222.87 39.72 222.51 39.77Q221.68 39.87 220.97 40.12Q220.26 40.36 219.83 40.83Q219.39 41.3 219.39 42.12Q219.39 42.83 219.77 43.31Q220.14 43.8 220.8 44.05Q221.45 44.3 222.3 44.3ZM235.05 46L235.05 33.96L230.38 33.96L230.38 31.93L241.97 31.93L241.97 33.96L237.33 33.96L237.33 46L235.05 46ZM245.81 36.95L249.9 36.95Q251.55 36.95 252.71 37.53Q253.86 38.1 254.47 39.11Q255.07 40.12 255.07 41.43Q255.07 42.71 254.46 43.75Q253.85 44.78 252.7 45.39Q251.55 46 249.9 46L243.9 46L243.9 31.93L246.16 31.93L246.16 43.91L249.89 43.91Q251.16 43.91 251.97 43.24Q252.78 42.57 252.78 41.51Q252.78 40.41 251.97 39.73Q251.16 39.04 249.89 39.04L245.81 39.04L245.81 36.95ZM272.89 46.27Q270.46 46.27 268.55 45.07Q266.65 43.88 265.56 41.7Q264.46 39.53 264.46 36.55Q264.46 33.57 265.56 31.39Q266.65 29.2 268.55 28.01Q270.46 26.82Line truncated
|
||||
<path d="M105.06 68.97Q103.37 68.97 102.36 68.07Q101.34 67.17 101.34 65.36L101.34 62.26L102.91 62.26L102.91 65.36Q102.91 66.47 103.52 66.99Q104.14 67.52 105.06 67.52Q106.01 67.52 106.79 67.34Q107.56 67.17 108.33 66.89L108.33 68.34Q107.82 68.53 107.32 68.67Q106.81 68.81 106.26 68.89Q105.71 68.97 105.06 68.97ZM107.38 72L107.38 62.26L108.95 62.26L108.95 72L107.38 72ZM115.71 72.21Q114.3 72.21 113.28 71.58Q112.26 70.95 111.71 69.82Q111.16 68.7 111.16 67.2Q111.16 65.71 111.7 64.56Q112.24 63.42 113.23 62.78Q114.22 62.13 115.54 62.13Q116.36 62.13 117.12 62.4Q117.89 62.67 118.49 63.26Q119.1 63.85 119.45 64.78Q119.81 65.72 119.81 67.03L119.81 67.65L112.18 67.65L112.18 66.32L118.97 66.32L118.24 66.81Q118.24 65.85 117.93 65.1Q117.62 64.36 117.02 63.94Q116.42 63.52 115.54 63.52Q114.67 63.52 114.04 63.94Q113.4 64.37 113.07 65.07Q112.74 65.77 112.74 66.59L112.74 67.44Q112.74 68.51 113.1 69.27Q113.47 70.02 114.15 70.42Q114.83 70.81 115.72 70.81Q116.31 70.81 116.79 70.64Q117.27 70.46 117.61 70.12Q117.96 69.78 118.13 69.28L119.65 69.64Q119.43 70.39 118.89 70.98Q118.34 71.56 117.53 71.89Q116.73 72.21 115.71 72.21ZM121.99 75.67L121.99 62.26L123.5 62.26L123.5 63.81L123.65 63.81Q123.84 63.5 124.17 63.11Q124.5 62.72 125.06 62.42Q125.62 62.13 126.52 62.13Q127.75 62.13 128.67 62.75Q129.6 63.36 130.13 64.49Q130.66 65.62 130.66 67.16Q130.66 68.7 130.13 69.83Q129.61 70.96 128.68 71.58Q127.75 72.2 126.53 72.2Q125.65 72.2 125.08 71.91Q124.51 71.61 124.18 71.21Q123.85 70.81 123.66 70.5L123.55 70.5L123.55 75.67L121.99 75.67ZM126.29 70.8Q127.19 70.8 127.81 70.33Q128.43 69.85 128.75 69.02Q129.07 68.19 129.07 67.14Q129.07 66.1 128.75 65.29Q128.43 64.48 127.82 64.01Q127.2 63.54 126.29 63.54Q125.39 63.54 124.77 63.99Q124.15 64.44 123.84 65.25Q123.52 66.06 123.52 67.14Q123.52 68.22 123.84 69.05Q124.16 69.87 124.78 70.34Q125.4 70.8 126.29 70.8ZM136.95 72.21Q135.53 72.21 134.51 71.58Q133.5 70.95 132.95 69.82Q132.4 68.7 132.4 67.2Q132.4 65.71 132.94 64.56Q133.48 63.42 134.47 62.78Q135.46 62.13 136.77 62.13Q137.59 62.13 138.36 62.4Q139.12 62.67 139.73 63.26Q140.33 63.85 140.69 64.78Q141.04 65.72 141.04 67.03L141.04 67.65L133.42 67.65L133.42 66.32L140.2 66.32L139.47 66.81Q139.47 65.85 139.16 65.1Q138.86 64.36 138.25 63.94Q137.65 63.52 136.77 63.52Q135.9 63.52 135.27 63.94Q134.64 64.37 134.3 65.07Q133.97 65.77 133.97 66.59L133.97 67.44Q133.97 68.51 134.34 69.27Q134.71 70.02 135.38 70.42Q136.06 70.81 136.96 70.81Q137.55 70.81 138.03 70.64Q138.5 70.46 138.85 70.12Q139.19 69.78 139.37 69.28L140.89 69.64Q140.67 70.39 140.12 70.98Q139.58 71.56 138.77 71.89Q137.96 72.21 136.95 72.21ZM146.27 72.12Q145.28 72.12 144.47 71.8Q143.66 71.47 143.18 70.89Q142.7 70.3 142.67 69.54L144.27 69.54Q144.31 70.08 144.89 70.43Q145.47 70.79 146.27 70.79Q147.16 70.79 147.72 70.34Q148.28 69.9 148.28 69.22Q148.28 68.5 147.68 68.06Q147.08 67.61 146.06 67.61L145.4 67.61L145.4 66.44L146.06 66.44Q146.9 66.44 147.45 66.01Q148.01 65.59 148.01 64.91Q148.01 64.25 147.54 63.83Q147.07 63.42 146.31 63.42Q145.55 63.42 144.99 63.8Q144.42 64.17 144.4 64.79L142.89 64.79Q142.91 64 143.37 63.4Q143.84 62.81 144.61 62.48Q145.39 62.15 146.33 62.15Q147.3 62.15 148.02 62.51Q148.74 62.88 149.14 63.48Q149.54 64.09 149.54 64.83Q149.54 65.69 149 66.24Q148.47 66.79 147.67 66.95L147.67 67.01Q148.77 67.17 149.34 67.79Q149.91 68.41 149.91 69.32Q149.91 70.13 149.45 70.76Q148.98 71.39 148.16 71.76Q147.33 72.12 146.27 72.12ZM162.56 72.18Q160.81 72.18 159.49 71.36Q158.17 70.53 157.42 69.02Q156.68 67.51 156.68 65.46Q156.68 63.4 157.42 61.88Q158.17 60.37 159.48 59.55Q160.79 58.72 162.47 58.72Q163.51 58.72 164.42 59.03Q165.32 59.34 166.03 59.92Q166.74 60.5 167.22 61.29Q167.69 62.08 167.86 63.04L166.16 63.04Q165.97 62.39 165.63 61.88Q165.29 61.37 164.82 61.01Q164.35 60.64 163.76 60.45Q163.18 60.26 162.48 60.26Q161.3 60.26 160.35 60.86Q159.41 61.47 158.85 62.63Q158.3 63.79 158.3 65.46Q158.3 67.11 158.86 68.27Q159.41 69.42 160.38 70.04Q161.34 70.65 162.56 70.65Q163.67 70.65 164.52 70.17Q165.37 69.7 165.85 68.83Q166.33 67.97 166.33 66.79L166.84 66.88L162.94 66.88L162.94 65.43L167.96 65.43L167.96 66.85Q167.96 68.46 167.25 69.66Q166.55 70.86 165.34 71.52Q164.12 72.18 162.56 72.18ZM170.38 72L170.38 62.26L171.95 62.26L171.95 72L170.38 72ZM171.17 60.63Q170.73 60.63 170.4 60.32Q170.08 60.01 170.08 59.58Q170.08 59.14 170.4 58.84Q170.73 58.54 171.17 58.54Q171.61 58.54 171.93 58.84Q172.25 59.14 172.25 59.58Q172.25 60.01 171.93 60.32Q171.61 60.63 171.17 60.63ZM178.53 62.26L178.53 63.61L173.46 63.61L173.46 62.26L178.53 62.26ZM174.97 59.9L176.54 59.9L176.54 69.5Q176.54 70.14 176.79 70.43Q177.05 70.72 177.67 70.72Q177.83 70.72 178.06 70.69Q178.29 70.66 178.49 70.63L178.76 71.96Q178.51 72.03 178.21 72.07Q177.91 72.11 177.61 72.11Q176.35 72.11 175.66 71.46Q174.97 70.8 174.97 69.63L174.97 59.9ZM180.67 72L180.67 58.9L182.32 58.9L182.32 64.57L189.21 64.57L189.21 58.9L190.86 58.9L190.86 72L189.21 72L189.21 66.03L182.32 66.03L182.32 72L180.67 72ZM197.08 72.13Q196.1 72.13 195.34 71.72Q194.59 71.31 194.17 70.49Q193.74 69.66 193.74 68.42L19Line truncated
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 21 KiB |
@@ -0,0 +1,7 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 358 96" width="358" height="96" role="img" aria-label="Sponsor Overdrive on GitHub Sponsors">
|
||||
<rect x="1" y="1" width="356" height="94" rx="22" fill="#0c0c0e" stroke="#2a2a2f" stroke-width="2"/>
|
||||
<circle cx="54.0" cy="48.0" r="26.0" fill="#2a1420" stroke="#5a2343" stroke-width="1.5"/>
|
||||
<g transform="translate(41 34.5) scale(1.08)"><path d="M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z" fill="#db61a2" stroke="#db61a2" stroke-width="2" stroke-linejoin="round"/></g>
|
||||
<path d="M108.3 46.33Q106.23 46.33 104.72 45.64Q103.2 44.96 102.34 43.73Q101.49 42.51 101.4 40.86L103.85 40.86Q103.92 41.98 104.54 42.71Q105.15 43.45 106.14 43.82Q107.13 44.18 108.3 44.18Q109.6 44.18 110.62 43.77Q111.64 43.35 112.24 42.58Q112.83 41.82 112.83 40.82Q112.83 39.93 112.35 39.36Q111.86 38.79 111.01 38.41Q110.17 38.03 109.09 37.74L106.83 37.11Q104.44 36.45 103.17 35.25Q101.9 34.04 101.9 32.15Q101.9 30.55 102.75 29.35Q103.61 28.15 105.08 27.48Q106.55 26.82 108.4 26.82Q110.28 26.82 111.72 27.49Q113.17 28.16 113.99 29.33Q114.82 30.5 114.87 32L112.53 32Q112.37 30.55 111.21 29.75Q110.05 28.95 108.33 28.95Q107.11 28.95 106.18 29.35Q105.26 29.75 104.74 30.45Q104.23 31.15 104.23 32.04Q104.23 32.99 104.81 33.58Q105.38 34.18 106.23 34.53Q107.07 34.88 107.87 35.09L109.8 35.62Q110.68 35.84 111.61 36.22Q112.54 36.59 113.36 37.19Q114.17 37.79 114.67 38.68Q115.17 39.58 115.17 40.83Q115.17 42.41 114.36 43.65Q113.55 44.9 112 45.61Q110.46 46.33 108.3 46.33ZM118.25 51.31L118.25 31.93L120.43 31.93L120.43 34.17L120.65 34.17Q120.93 33.72 121.4 33.16Q121.87 32.59 122.68 32.17Q123.49 31.74 124.79 31.74Q126.57 31.74 127.9 32.63Q129.24 33.52 130.01 35.15Q130.77 36.78 130.77 39Q130.77 41.23 130.01 42.86Q129.26 44.5 127.91 45.4Q126.57 46.29 124.8 46.29Q123.53 46.29 122.71 45.87Q121.89 45.44 121.42 44.86Q120.94 44.29 120.66 43.83L120.51 43.83L120.51 51.31L118.25 51.31ZM124.46 44.27Q125.77 44.27 126.66 43.58Q127.56 42.89 128.01 41.69Q128.47 40.49 128.47 38.98Q128.47 37.48 128.01 36.31Q127.56 35.13 126.67 34.45Q125.78 33.77 124.46 33.77Q123.16 33.77 122.27 34.43Q121.37 35.08 120.92 36.25Q120.46 37.42 120.46 38.98Q120.46 40.54 120.92 41.73Q121.39 42.93 122.28 43.6Q123.18 44.27 124.46 44.27ZM139.43 46.3Q137.52 46.3 136.07 45.4Q134.63 44.49 133.83 42.85Q133.02 41.21 133.02 39.04Q133.02 36.86 133.83 35.21Q134.63 33.56 136.07 32.65Q137.52 31.74 139.43 31.74Q141.36 31.74 142.82 32.65Q144.27 33.56 145.08 35.21Q145.88 36.86 145.88 39.04Q145.88 41.21 145.08 42.85Q144.27 44.49 142.82 45.4Q141.36 46.3 139.43 46.3ZM139.43 44.27Q140.84 44.27 141.77 43.56Q142.69 42.84 143.15 41.65Q143.6 40.46 143.6 39.04Q143.6 37.62 143.15 36.42Q142.69 35.22 141.77 34.5Q140.84 33.77 139.43 33.77Q138.05 33.77 137.13 34.5Q136.22 35.22 135.77 36.42Q135.32 37.61 135.32 39.04Q135.32 40.46 135.77 41.65Q136.22 42.84 137.13 43.56Q138.04 44.27 139.43 44.27ZM151.08 37.61L151.08 46L148.82 46L148.82 31.93L150.99 31.93L151 35.35L150.64 35.35Q151.3 33.41 152.49 32.57Q153.68 31.74 155.3 31.74Q156.72 31.74 157.8 32.33Q158.89 32.92 159.5 34.11Q160.11 35.3 160.11 37.1L160.11 46L157.85 46L157.85 37.29Q157.85 35.63 157 34.71Q156.15 33.79 154.65 33.79Q153.64 33.79 152.83 34.23Q152.02 34.66 151.55 35.51Q151.08 36.36 151.08 37.61ZM168.53 46.3Q167.07 46.3 165.93 45.87Q164.79 45.44 164.05 44.58Q163.31 43.73 163.1 42.46L165.25 42.03Q165.53 43.21 166.37 43.77Q167.2 44.32 168.49 44.32Q169.96 44.32 170.83 43.7Q171.7 43.07 171.7 42.19Q171.7 41.46 171.18 40.97Q170.66 40.49 169.63 40.25L167.31 39.7Q165.38 39.25 164.44 38.29Q163.5 37.33 163.5 35.84Q163.5 34.64 164.18 33.71Q164.85 32.78 166.02 32.26Q167.2 31.74 168.7 31.74Q170.14 31.74 171.18 32.19Q172.21 32.64 172.86 33.44Q173.51 34.24 173.77 35.31L171.69 35.75Q171.45 34.94 170.76 34.31Q170.07 33.67 168.71 33.67Q167.44 33.67 166.61 34.26Q165.79 34.84 165.79 35.73Q165.79 36.5 166.36 36.98Q166.93 37.46 168.12 37.74L170.27 38.24Q172.2 38.7 173.12 39.65Q174.04 40.6 174.04 42.06Q174.04 43.31 173.34 44.26Q172.64 45.21 171.4 45.76Q170.16 46.3 168.53 46.3ZM182.69 46.3Q180.78 46.3 179.33 45.4Q177.89 44.49 177.09 42.85Q176.28 41.21 176.28 39.04Q176.28 36.86 177.09 35.21Q177.89 33.56 179.33 32.65Q180.78 31.74 182.69 31.74Q184.62 31.74 186.08 32.65Q187.53 33.56 188.34 35.21Q189.14 36.86 189.14 39.04Q189.14 41.21 188.34 42.85Q187.53 44.49 186.08 45.4Q184.62 46.3 182.69 46.3ZM182.69 44.27Q184.1 44.27 185.03 43.56Q185.95 42.84 186.41 41.65Q186.86 40.46 186.86 39.04Q186.86 37.62 186.41 36.42Q185.95 35.22 185.03 34.5Q184.1 33.77 182.69 33.77Q181.31 33.77 180.39 34.5Q179.48 35.22 179.03 36.42Q178.58 37.61 178.58 39.04Q178.58 40.46 179.03 41.65Q179.48 42.84 180.39 43.56Q181.3 44.27 182.69 44.27ZM192.08 46L192.08 31.93L194.26 31.93L194.26 34.1L194.39 34.1Q194.78 33.04 195.76 32.38Q196.73 31.73 198 31.73Q198.26 31.73 198.59 31.75Q198.92 31.77 199.11 31.78L199.11 34.05Q199.01 34.03 198.61 33.98Q198.21 33.93 197.76 33.93Q196.78 33.93 196 34.34Q195.23 34.75 194.78 35.49Q194.34 36.22 194.34 37.21L194.34 46L192.08 46ZM216.25 46.27Q213.82 46.27 211.91 45.07Q210.01 43.88 208.92 41.7Q207.82 39.53 207.82 36.55Q207.82 33.57 208.92 31.39Q210.01 29.2 211.91 28.01Q213.82 26.82 216.25 26.82Q218.69 26.82 220.59 28.01Q222.5 29.2 223.58 31.39Q224.67 33.57 224.67 36.55Q224.67 39.53 223.58 41.7Q222.5 43.88 220.59 45.07Q218.69 46.27 216.25 46.27ZM216.25 44.04Q217.94 44.04 219.32 43.18Q220.7 42.32 221.52 40.65Q222.33 38.98 222.33 36.55Q222.33 34.12 221.52 32.44Q220.7 30.77 219.32 29.9Q217.94 29.04 216.25 29.04Q214.55 29.04 213.17 29.9Q211.78 30.77 210.97 32.44Q210.16 34.12 210.16 Line truncated
|
||||
<path d="M105.31 72.21Q103.98 72.21 102.98 71.58Q101.99 70.95 101.43 69.82Q100.87 68.69 100.87 67.18Q100.87 65.67 101.43 64.53Q101.99 63.39 102.98 62.76Q103.98 62.13 105.31 62.13Q106.64 62.13 107.65 62.76Q108.66 63.39 109.22 64.53Q109.77 65.67 109.77 67.18Q109.77 68.69 109.22 69.82Q108.66 70.95 107.65 71.58Q106.64 72.21 105.31 72.21ZM105.31 70.8Q106.28 70.8 106.93 70.31Q107.57 69.81 107.88 68.99Q108.19 68.17 108.19 67.18Q108.19 66.2 107.88 65.37Q107.57 64.54 106.93 64.04Q106.28 63.54 105.31 63.54Q104.35 63.54 103.72 64.04Q103.08 64.54 102.77 65.36Q102.46 66.19 102.46 67.18Q102.46 68.17 102.77 68.99Q103.08 69.81 103.71 70.31Q104.34 70.8 105.31 70.8ZM113.55 66.19L113.55 72L111.99 72L111.99 62.26L113.49 62.26L113.5 64.63L113.25 64.63Q113.7 63.28 114.53 62.71Q115.35 62.13 116.47 62.13Q117.46 62.13 118.21 62.54Q118.96 62.95 119.38 63.77Q119.8 64.59 119.8 65.84L119.8 72L118.24 72L118.24 65.97Q118.24 64.82 117.65 64.18Q117.06 63.54 116.02 63.54Q115.33 63.54 114.77 63.85Q114.2 64.15 113.88 64.74Q113.55 65.33 113.55 66.19ZM133.02 72.18Q131.27 72.18 129.95 71.36Q128.63 70.53 127.88 69.02Q127.14 67.51 127.14 65.46Q127.14 63.4 127.88 61.88Q128.63 60.37 129.94 59.55Q131.25 58.72 132.93 58.72Q133.97 58.72 134.88 59.03Q135.78 59.34 136.49 59.92Q137.2 60.5 137.68 61.29Q138.15 62.08 138.32 63.04L136.62 63.04Q136.43 62.39 136.09 61.88Q135.75 61.37 135.28 61.01Q134.81 60.64 134.22 60.45Q133.64 60.26 132.94 60.26Q131.76 60.26 130.81 60.86Q129.87 61.47 129.31 62.63Q128.76 63.79 128.76 65.46Q128.76 67.11 129.32 68.27Q129.87 69.42 130.84 70.04Q131.8 70.65 133.02 70.65Q134.13 70.65 134.98 70.17Q135.83 69.7 136.31 68.83Q136.79 67.97 136.79 66.79L137.3 66.88L133.4 66.88L133.4 65.43L138.42 65.43L138.42 66.85Q138.42 68.46 137.71 69.66Q137.01 70.86 135.8 71.52Q134.58 72.18 133.02 72.18ZM140.84 72L140.84 62.26L142.41 62.26L142.41 72L140.84 72ZM141.62 60.63Q141.19 60.63 140.86 60.32Q140.54 60.01 140.54 59.58Q140.54 59.14 140.86 58.84Q141.19 58.54 141.62 58.54Q142.07 58.54 142.39 58.84Q142.71 59.14 142.71 59.58Q142.71 60.01 142.39 60.32Q142.07 60.63 141.62 60.63ZM148.99 62.26L148.99 63.61L143.92 63.61L143.92 62.26L148.99 62.26ZM145.43 59.9L147 59.9L147 69.5Q147 70.14 147.25 70.43Q147.51 70.72 148.13 70.72Q148.29 70.72 148.52 70.69Q148.75 70.66 148.95 70.63L149.22 71.96Q148.97 72.03 148.67 72.07Q148.37 72.11 148.07 72.11Q146.81 72.11 146.12 71.46Q145.43 70.8 145.43 69.63L145.43 59.9ZM151.13 72L151.13 58.9L152.78 58.9L152.78 64.57L159.67 64.57L159.67 58.9L161.32 58.9L161.32 72L159.67 72L159.67 66.03L152.78 66.03L152.78 72L151.13 72ZM167.54 72.13Q166.56 72.13 165.8 71.72Q165.05 71.31 164.63 70.49Q164.2 69.66 164.2 68.42L164.2 62.26L165.77 62.26L165.77 68.3Q165.77 69.44 166.36 70.08Q166.96 70.72 167.98 70.72Q168.69 70.72 169.24 70.41Q169.8 70.11 170.13 69.52Q170.45 68.93 170.45 68.08L170.45 62.26L172.03 62.26L172.03 72L170.51 72L170.51 69.64L170.75 69.64Q170.29 71 169.46 71.56Q168.62 72.13 167.54 72.13ZM179.25 72.2Q178.37 72.2 177.81 71.91Q177.24 71.61 176.9 71.21Q176.57 70.81 176.38 70.5L176.23 70.5L176.23 72L174.72 72L174.72 58.9L176.28 58.9L176.28 63.81L176.39 63.81Q176.57 63.5 176.9 63.11Q177.22 62.72 177.78 62.42Q178.35 62.13 179.24 62.13Q180.47 62.13 181.4 62.75Q182.33 63.36 182.85 64.49Q183.38 65.62 183.38 67.16Q183.38 68.7 182.86 69.83Q182.34 70.96 181.4 71.58Q180.47 72.2 179.25 72.2ZM179.01 70.8Q179.92 70.8 180.54 70.33Q181.16 69.85 181.47 69.02Q181.79 68.19 181.79 67.14Q181.79 66.1 181.47 65.29Q181.16 64.48 180.54 64.01Q179.93 63.54 179.01 63.54Q178.12 63.54 177.5 63.99Q176.88 64.44 176.56 65.25Q176.25 66.06 176.25 67.14Q176.25 68.22 176.57 69.05Q176.89 69.87 177.51 70.34Q178.13 70.8 179.01 70.8ZM194.97 72.23Q193.53 72.23 192.48 71.75Q191.43 71.28 190.84 70.43Q190.25 69.58 190.18 68.44L191.88 68.44Q191.93 69.21 192.36 69.72Q192.79 70.23 193.47 70.49Q194.16 70.74 194.97 70.74Q195.86 70.74 196.57 70.45Q197.28 70.16 197.69 69.64Q198.1 69.11 198.1 68.41Q198.1 67.8 197.77 67.4Q197.43 67.01 196.84 66.74Q196.26 66.48 195.51 66.28L193.95 65.85Q192.29 65.39 191.42 64.56Q190.54 63.72 190.54 62.41Q190.54 61.3 191.12 60.47Q191.71 59.64 192.73 59.18Q193.75 58.72 195.04 58.72Q196.34 58.72 197.33 59.19Q198.33 59.65 198.9 60.46Q199.47 61.27 199.51 62.31L197.89 62.31Q197.78 61.3 196.98 60.75Q196.18 60.2 194.98 60.2Q194.14 60.2 193.5 60.47Q192.86 60.75 192.5 61.23Q192.14 61.72 192.14 62.33Q192.14 62.99 192.54 63.4Q192.94 63.82 193.53 64.06Q194.11 64.3 194.67 64.45L196 64.81Q196.61 64.97 197.26 65.23Q197.9 65.49 198.46 65.9Q199.03 66.31 199.37 66.93Q199.72 67.55 199.72 68.42Q199.72 69.51 199.16 70.37Q198.6 71.24 197.53 71.73Q196.46 72.23 194.97 72.23ZM202.03 75.67L202.03 62.26L203.54 62.26L203.54 63.81L203.69 63.81Q203.89 63.5 204.21 63.11Q204.54 62.72 205.1 62.42Q205.66 62.13 206.56 62.13Q207.79 62.13 208.72 62.75Q209.64 63.36 210.17 64.49Q210.7 65.62 210.7 67.16Q210.7 68.7 210.18 69.83Q209.65 70.96 208.72 71.58Q207.79 72.2 206.57 72.2Q205.69 72.2 205.12 71.91Q204.55 71.61 204.23 71.21Q203.9 70.81 203.7 70.5L203.6 70.5L203.6 75.67L202.03 75.67ZM206.Line truncated
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 18 KiB |
@@ -1,16 +1,9 @@
|
||||
name: build
|
||||
|
||||
# A push to main checks that the app still builds. A release starts from Run workflow, which
|
||||
# puts the build in a draft release; publishing that draft creates its tag, and no build runs on
|
||||
# tags, so players get the very files that were tested.
|
||||
# Builds run only from Run workflow: a push builds nothing. Each run puts its build in a draft
|
||||
# release; publishing that draft creates its tag, and no build runs on tags, so players get the
|
||||
# very files that were tested.
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
# A push that only touches the README, its images or the issue forms has nothing to build.
|
||||
paths-ignore:
|
||||
- "README.md"
|
||||
- ".github/readme/**"
|
||||
- ".github/ISSUE_TEMPLATE/**"
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
|
||||
@@ -0,0 +1,122 @@
|
||||
name: catalog
|
||||
|
||||
# Every night, and from Run workflow: the importers read what Pegasus and SuperPSX changed, the new
|
||||
# games are filled from the PlayStation Store (IGDB when it lacks something), and what changed since
|
||||
# main's last commit goes to catalog-update.json on the "catalog" branch, which the app downloads.
|
||||
# main itself is never written: a release folds the update into the build's own catalog.
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 2 * * *" # 04:00 in Italy in summer, 03:00 in winter
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
concurrency:
|
||||
group: catalog
|
||||
cancel-in-progress: false
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: bash # -e and pipefail: a tool that fails fails the run, even before a filter
|
||||
|
||||
jobs:
|
||||
update:
|
||||
runs-on: ubuntu-24.04
|
||||
timeout-minutes: 300
|
||||
env:
|
||||
CACHES: /home/runner/catalog-caches
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.12"
|
||||
|
||||
- name: Install Pillow (the new games' tint)
|
||||
run: pip install --disable-pip-version-check pillow
|
||||
|
||||
# What the last run read: the sites' pages and feeds, and the store's answers. Without it the
|
||||
# run reads everything again (about an hour), and nothing goes wrong.
|
||||
- name: Restore the caches
|
||||
uses: actions/cache/restore@v4
|
||||
with:
|
||||
path: ${{ env.CACHES }}
|
||||
key: catalog-caches-${{ github.run_id }}
|
||||
restore-keys: catalog-caches-
|
||||
|
||||
- name: Read Pegasus
|
||||
run: python -P tools/import-pegasus.py fetch --cache "$CACHES/pegasus"
|
||||
|
||||
- name: Read SuperPSX
|
||||
run: python -P tools/import-superpsx.py crawl --scope all --incremental --cache "$CACHES/superpsx"
|
||||
|
||||
- name: Import
|
||||
run: |
|
||||
python -P tools/import-pegasus.py import --new --write --cache "$CACHES/pegasus" | sed '/^ new:/d'
|
||||
python -P tools/import-superpsx.py import --scope catalog --new --write --cache "$CACHES/superpsx" \
|
||||
| sed '/twin of\|shown again/d'
|
||||
|
||||
- name: Fill in the new games
|
||||
env:
|
||||
IGDB_CLIENT_ID: ${{ secrets.IGDB_CLIENT_ID }}
|
||||
IGDB_CLIENT_SECRET: ${{ secrets.IGDB_CLIENT_SECRET }}
|
||||
run: python -P tools/enrich-catalog.py --since HEAD --write --cache "$CACHES/enrich" | sed '/looked up/d'
|
||||
|
||||
- name: Mark the VR games
|
||||
env:
|
||||
IGDB_CLIENT_ID: ${{ secrets.IGDB_CLIENT_ID }}
|
||||
IGDB_CLIENT_SECRET: ${{ secrets.IGDB_CLIENT_SECRET }}
|
||||
run: python -P tools/vr-games.py --write --cache "$CACHES/enrich"
|
||||
|
||||
- name: Save the caches
|
||||
if: always()
|
||||
uses: actions/cache/save@v4
|
||||
with:
|
||||
path: ${{ env.CACHES }}
|
||||
key: catalog-caches-${{ github.run_id }}
|
||||
|
||||
# Against the latest published release: the players' catalog is that release's, and the app
|
||||
# applies an update only when it is its own version (app/state/catalog-update.js).
|
||||
- name: Write the update
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
tag=$(gh release view --repo "${{ github.repository }}" --json tagName --jq .tagName)
|
||||
git fetch -q --depth 1 origin "refs/tags/$tag:refs/tags/$tag"
|
||||
python -P tools/catalog-update.py --base "$tag" --version "${tag#v}" --out "$RUNNER_TEMP/catalog-update.json"
|
||||
|
||||
# One commit on an orphan branch, replaced each night: the branch never grows. Nothing is pushed
|
||||
# when only the date changed.
|
||||
- name: Publish it
|
||||
env:
|
||||
TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
set -e
|
||||
if [ ! -f "$RUNNER_TEMP/catalog-update.json" ]; then
|
||||
echo "no update written: nothing to publish"
|
||||
exit 0
|
||||
fi
|
||||
out="$RUNNER_TEMP/publish"
|
||||
git init -q -b catalog "$out"
|
||||
cp "$RUNNER_TEMP/catalog-update.json" "$out/"
|
||||
cd "$out"
|
||||
remote="https://x-access-token:$TOKEN@github.com/${{ github.repository }}"
|
||||
if git fetch -q --depth 1 "$remote" catalog 2>/dev/null; then
|
||||
git show FETCH_HEAD:catalog-update.json > "$RUNNER_TEMP/published.json"
|
||||
if python - "$RUNNER_TEMP/published.json" catalog-update.json <<'EOF'
|
||||
import json, sys
|
||||
old, new = (json.load(open(path, encoding="utf-8")) for path in sys.argv[1:])
|
||||
old.pop("generated", None); new.pop("generated", None)
|
||||
sys.exit(0 if old == new else 1)
|
||||
EOF
|
||||
then
|
||||
echo "nothing changed since the last update"
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
git add catalog-update.json
|
||||
git -c user.name="github-actions[bot]" -c user.email="41898282+github-actions[bot]@users.noreply.github.com" \
|
||||
commit -q -m "catalog update"
|
||||
git push -q -f "$remote" catalog
|
||||
echo "published: https://raw.githubusercontent.com/${{ github.repository }}/catalog/catalog-update.json"
|
||||
@@ -3,6 +3,8 @@
|
||||
.build/
|
||||
dist/
|
||||
node_modules/
|
||||
/Overdrive.exfat
|
||||
/update.zip
|
||||
|
||||
# Python
|
||||
__pycache__/
|
||||
|
||||
@@ -5,6 +5,11 @@
|
||||
</picture>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<b>English</b> ·
|
||||
<a href="README.ru.md">Русский</a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<b>Your PS5 game store.</b><br>
|
||||
Back from the dead, rebuilt from its own binary, with every line of source in the open.
|
||||
@@ -13,7 +18,7 @@
|
||||
<p align="center">
|
||||
<a href="https://github.com/MyLuxy/overdrive/releases/latest"><img src="https://img.shields.io/github/v/release/MyLuxy/overdrive?style=for-the-badge&label=release&labelColor=0b0b0d&color=2a2a2f" alt="Latest release" width="197"></a>
|
||||
<a href="https://github.com/MyLuxy/overdrive/releases"><img src="https://img.shields.io/github/downloads/MyLuxy/overdrive/total?style=for-the-badge&label=downloads&labelColor=0b0b0d&color=2a2a2f" alt="Downloads" width="183"></a>
|
||||
<img src="https://img.shields.io/badge/platform-PS5-2a2a2f?style=for-the-badge&labelColor=0b0b0d" alt="Platform: PS5" width="184">
|
||||
<a href="https://github.com/sponsors/MyLuxy"><img src="https://img.shields.io/badge/sponsor-%E2%9D%A4-db61a2?style=for-the-badge&logo=githubsponsors&logoColor=white&labelColor=0b0b0d" alt="Sponsor MyLuxy on GitHub" width="180"></a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
@@ -38,11 +43,12 @@
|
||||
|
||||
## Features
|
||||
|
||||
- **1,800+ games** to discover, with **Top rated**, **New releases** and a featured spotlight
|
||||
- **1,800+ games** to discover, with **Top rated**, a hand-picked row and a featured spotlight
|
||||
- **Homebrew**: native PS5 apps and games from the community catalog at [prosperostore.net](https://prosperostore.net/), always up to date, installed from each developer's GitHub release
|
||||
- **Browse the whole library** with filters, sorting, scores and download sizes at a glance
|
||||
- **Downloads straight to the console**, to internal storage or any USB drive, with live speed and storage stats
|
||||
- **Favorites**, **search** with an on-screen keyboard, and a **Files** page to see and clean up what's on your drives
|
||||
- **13 languages**: English, Deutsch, Español, Français, Português (Brasil), Русский, Bahasa Indonesia, 日本語, 简体中文, العربية, اردو, हिन्दी, বাংলা
|
||||
- **18 languages**: English, Deutsch, Español, Français, Italiano, Nederlands, Português (Brasil), Português (Portugal), Русский, Bahasa Indonesia, 日本語, 简体中文, 繁體中文, العربية, فارسی, اردو, हिन्दी, বাংলা
|
||||
- **Updates itself**: a new version installs from the console, no PC needed
|
||||
- Made for the controller: <kbd>L1</kbd> <kbd>R1</kbd> to switch sections, <kbd>✕</kbd> to select, <kbd>○</kbd> to go back
|
||||
|
||||
@@ -54,9 +60,10 @@
|
||||
|
||||
### Before you start
|
||||
|
||||
You need a **jailbroken PS5** running **[ShadowMount+](https://github.com/drakmor/ShadowMountPlus)**,
|
||||
the payload that installs `.exfat` images by itself. If ShadowMount+ shows its notification
|
||||
when the console starts, you are ready. You also need a **USB drive** and a **PC**.
|
||||
You need a **jailbroken PS5** running two payloads: **[ShadowMount+](https://github.com/drakmor/ShadowMountPlus)**,
|
||||
which installs `.exfat` images by itself, and **[kstuff](https://github.com/EchoStretch/kstuff-lite/releases)**.
|
||||
If ShadowMount+ shows its notification when the console starts, you are ready. You also need a
|
||||
**USB drive** and a **PC**.
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/MyLuxy/overdrive/releases/latest/download/Overdrive.exfat"><img src="https://img.shields.io/badge/Download-Overdrive.exfat-f2f2f3?style=for-the-badge&labelColor=0b0b0d" alt="Download Overdrive.exfat" width="347"></a>
|
||||
@@ -128,6 +135,14 @@ itself a few seconds after it opens:
|
||||
The update needs about **600 MB free** on the drive that holds Overdrive. `update.zip` in each
|
||||
release is the package the app downloads for this; you never need it yourself.
|
||||
|
||||
## Support the project
|
||||
|
||||
Overdrive is free and open source. If you enjoy it, sponsoring helps me keep it updated.
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/sponsors/MyLuxy"><img src=".github/readme/sponsor.svg" alt="Sponsor Overdrive on GitHub Sponsors" width="358"></a>
|
||||
</p>
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
<details>
|
||||
@@ -143,6 +158,22 @@ release is the package the app downloads for this; you never need it yourself.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Overdrive opens but the page doesn't load</b></summary>
|
||||
<br>
|
||||
|
||||
The copy of `Overdrive.exfat` on the console is damaged. This usually happens when it is copied
|
||||
through a USB drive. Deleting the app's folders doesn't help: Overdrive creates them again at
|
||||
every start.
|
||||
|
||||
1. Delete `Overdrive.exfat` from the `homebrew` folder, then its icon from the home screen.
|
||||
2. Download `Overdrive.exfat` again from the
|
||||
[latest release](https://github.com/MyLuxy/overdrive/releases/latest).
|
||||
3. Copy it to the console with [PS5Upload](https://github.com/phantomptr/ps5upload) instead of a
|
||||
USB drive, and check that its size on the console matches the downloaded file's.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>After an update, the app still shows the old version</b></summary>
|
||||
<br>
|
||||
@@ -212,29 +243,73 @@ What a bundler throws away could not come back: most comments, the JSX syntax (i
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Developing</b></summary>
|
||||
<br>
|
||||
|
||||
Everything runs from the repository root through npm. Once after cloning, `npm run setup`
|
||||
(`packaging/setup.sh`) installs every dependency: on Linux the apt packages for the desktop preview,
|
||||
the PS5 build and the tests (it asks for `sudo` once), on macOS the Homebrew formulae; then Pillow
|
||||
and the framework's npm packages. Read the script first if you'd rather install them yourself.
|
||||
|
||||
```sh
|
||||
git clone https://github.com/MyLuxy/overdrive.git
|
||||
cd overdrive
|
||||
npm run setup # once; asks for sudo on Linux
|
||||
npm run dev # the app in a window on your PC, rebuilt on every save under app/
|
||||
```
|
||||
|
||||
| Command | What it does |
|
||||
| --- | --- |
|
||||
| `npm run setup` | Installs every dependency, once after cloning |
|
||||
| `npm run dev` | Opens the app in the desktop preview and rebuilds it on every save (state resets on restart) |
|
||||
| `npm run preview` | Opens the desktop preview once, without watching |
|
||||
| `npm test` | The framework's checks; needed after changes under `ps5-react/`, not for `app/` only |
|
||||
| `npm run build` | The PS5 app, then `Overdrive.exfat` and `update.zip` (see Building) |
|
||||
| `npm run build:app` | The PS5 app only, in `ps5-react/dist/PPSA99058` |
|
||||
|
||||
The preview is the console's UI on your PC, so it takes a controller or the keyboard, and a mouse
|
||||
as a developer's shortcut. The first `npm run dev` downloads and compiles the framework's pinned
|
||||
dependencies, which takes a while; later starts are quick.
|
||||
|
||||
| Action | Keyboard | Mouse | PS5 |
|
||||
| --- | --- | --- | --- |
|
||||
| Move focus | Arrow keys | Wheel (up/down) | D-pad |
|
||||
| Select | Enter or Space | Left click on the element | ✕ |
|
||||
| Back | Backspace | Right click | ○ |
|
||||
| Sections | Q / E | — | L1 / R1 |
|
||||
| Favorite | F | — | □ |
|
||||
| Quit the preview | Escape | — | PS button |
|
||||
|
||||
The app's code is under `app/` (see "What's in this repository"); a change there needs no rebuild
|
||||
of the framework. Keep new user-facing strings in every file of `app/i18n/locales/`. On Linux the
|
||||
preview is compiled with clang (`CC=clang CXX=clang++`, set by the npm scripts), since GCC stops on
|
||||
a bounds warning in `archive_preflight.cpp`. Linux support for the preview is this fork's addition;
|
||||
upstream ps5-react supports macOS only.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Building</b></summary>
|
||||
<br>
|
||||
|
||||
Every push builds on `ubuntu-24.04` with clang 18 and uploads `Overdrive.exfat` as a workflow
|
||||
artifact. **Run workflow** builds the same and puts `Overdrive.exfat` and `update.zip` in a
|
||||
draft release named after `app/version.js`, which only maintainers can see.
|
||||
Builds run on `ubuntu-24.04` with clang 18, only from **Run workflow**: a push builds nothing.
|
||||
Each run puts `Overdrive.exfat` and `update.zip` in a draft release named after
|
||||
`app/version.js`, which only maintainers can see.
|
||||
|
||||
The same build locally, on any Linux with the packages the workflow installs (`clang-18`,
|
||||
`llvm-18`, `cmake`, `ninja-build`, `nodejs`, `npm`, `zlib1g-dev`, `build-essential`,
|
||||
`pkg-config`, `unzip`, `curl`, `exfatprogs`, and Pillow from `ps5-react/requirements.txt`):
|
||||
The same build locally, from the repository root, after `npm run setup` (see Developing):
|
||||
|
||||
```sh
|
||||
cd ps5-react
|
||||
python3 tools/build_ps5.py --app-dir ../app --llvm /usr/bin
|
||||
sudo ../packaging/make-exfat.sh dist/PPSA99058 ../Overdrive.exfat
|
||||
npm run build # the app, then Overdrive.exfat and update.zip here
|
||||
npm run build:app # the app only, in ps5-react/dist/PPSA99058
|
||||
```
|
||||
|
||||
The build downloads its pinned dependencies into `ps5-react/.deps` and writes the app folder, a
|
||||
`.zip` and a `.receipt.json` into `ps5-react/dist`. It verifies the result itself
|
||||
(`tools/verify.py`), so a green build means the payload structure and signatures check out.
|
||||
`--llvm /usr/bin` points it at the system clang; upstream defaults to the Homebrew LLVM path
|
||||
because macOS is its supported development environment.
|
||||
`packaging/build.sh` behind them finds LLVM 18 where apt or Homebrew put it (set
|
||||
`LLVM=<its bin directory>` otherwise), builds through `ps5-react/tools/build_ps5.py`, then runs
|
||||
`packaging/make-exfat.sh` under `sudo`, since the image is mounted to be filled. The build
|
||||
downloads its pinned dependencies into `ps5-react/.deps` and writes the app folder, a `.zip` and a
|
||||
`.receipt.json` into `ps5-react/dist`. It verifies the result itself (`tools/verify.py`), so a
|
||||
green build means the payload structure and signatures check out.
|
||||
|
||||
The image is a plain exFAT volume whose root is the app folder, with 64 KiB clusters and the
|
||||
label `OVERDRIVE`. To release a new version, raise the version in `app/version.js` and
|
||||
@@ -262,9 +337,11 @@ Nothing else in the framework is changed.
|
||||
|
||||
## Credits
|
||||
|
||||
- **[MyLuxy](https://github.com/MyLuxy)**, who decompiled Overdrive, recovered its source and rebuilt it.
|
||||
- **[MyLuxy](https://github.com/MyLuxy)**, current maintainer, who decompiled Overdrive, recovered its source and rebuilt it.
|
||||
- **[ps5-react](https://github.com/half144/ps5-react)**, the framework it runs on.
|
||||
- **[ShadowMount+](https://github.com/drakmor/ShadowMountPlus)** by drakmor, which installs it.
|
||||
- **[kstuff](https://github.com/EchoStretch/kstuff-lite)** by EchoStretch, the kernel payload that lets the console run homebrew and the games it installs.
|
||||
- **[PS5 Homebrew Catalog](https://github.com/darkxex/ps5-homebrew-catalog)** by darkxex, the store API behind the Homebrew section, and every developer listed in it.
|
||||
|
||||
`ps5-react/` is GPL-3.0-or-later and carries its own `LICENSE`, `LICENSE-ATTRIBUTION` and
|
||||
`NOTICE`. Every dependency notice is copied into `notices/` inside the built app, and
|
||||
|
||||
@@ -0,0 +1,312 @@
|
||||
<p align="center">
|
||||
<picture>
|
||||
<source media="(prefers-color-scheme: dark)" srcset=".github/readme/logo-dark.svg">
|
||||
<img src=".github/readme/logo-light.svg" alt="Overdrive" width="440">
|
||||
</picture>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="README.md">English</a> ·
|
||||
<b>Русский</b>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<b>Ваш игровой магазин для PS5.</b><br>
|
||||
Восставший из мёртвых, собранный заново из собственного бинарника, с полностью открытым исходным кодом.
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/MyLuxy/overdrive/releases/latest"><img src="https://img.shields.io/github/v/release/MyLuxy/overdrive?style=for-the-badge&label=release&labelColor=0b0b0d&color=2a2a2f" alt="Последний релиз" width="197"></a>
|
||||
<a href="https://github.com/MyLuxy/overdrive/releases"><img src="https://img.shields.io/github/downloads/MyLuxy/overdrive/total?style=for-the-badge&label=downloads&labelColor=0b0b0d&color=2a2a2f" alt="Скачивания" width="183"></a>
|
||||
<a href="https://github.com/sponsors/MyLuxy"><img src="https://img.shields.io/badge/sponsor-%E2%9D%A4-db61a2?style=for-the-badge&logo=githubsponsors&logoColor=white&labelColor=0b0b0d" alt="Поддержать MyLuxy на GitHub" width="180"></a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="#установка-в-четыре-шага">Установка</a> ·
|
||||
<a href="#возможности">Возможности</a> ·
|
||||
<a href="#обновления">Обновления</a> ·
|
||||
<a href="#решение-проблем">Решение проблем</a> ·
|
||||
<a href="#сборка-своими-руками">Сборка своими руками</a>
|
||||
</p>
|
||||
|
||||
> [!NOTE]
|
||||
> Оригинальный проект Overdrive был закрыт, поэтому я декомпилировал последнюю выпущенную сборку,
|
||||
> восстановил полный исходный код и собрал его заново.
|
||||
|
||||
<p align="center">
|
||||
<img src=".github/readme/discover.jpg" alt="Страница «Обзор» в Overdrive с рекомендованной игрой и подборкой «Популярное сейчас»" width="100%">
|
||||
</p>
|
||||
<p align="center">
|
||||
<img src=".github/readme/browse.jpg" alt="Библиотека: 1845 игр с фильтрами, сортировкой, оценками и размерами" width="49.5%">
|
||||
<img src=".github/readme/downloads.jpg" alt="Страница загрузок с активностью и местом на внутреннем накопителе и USB-накопителе" width="49.5%">
|
||||
</p>
|
||||
|
||||
## Возможности
|
||||
|
||||
- **Более 1800 игр** для поиска, с подборкой **«Лучшие по оценкам»**, рядом избранных игр и отдельной рекомендованной игрой
|
||||
- **Хоумбрю**: нативные приложения и игры для PS5 из каталога сообщества [prosperostore.net](https://prosperostore.net/), всегда актуальные, устанавливаются из релизов разработчиков на GitHub
|
||||
- **Просмотр всей библиотеки** с фильтрами, сортировкой, оценками и размерами загрузок — всё видно сразу
|
||||
- **Загрузка прямо на консоль** — во внутренний накопитель или на любой USB-накопитель, со скоростью и занятым местом в реальном времени
|
||||
- **Избранное**, **поиск** с экранной клавиатурой и страница **«Файлы»**, где видно, что лежит на накопителях, и можно это почистить
|
||||
- **16 языков**: английский, немецкий, испанский, французский, итальянский, нидерландский, португальский (Бразилия), русский, индонезийский, японский, китайский (упрощённый), арабский, персидский, урду, хинди, бенгальский
|
||||
- **Обновляется сам**: новая версия устанавливается прямо с консоли, без компьютера
|
||||
- Сделано под геймпад: <kbd>L1</kbd> <kbd>R1</kbd> — переключение разделов, <kbd>✕</kbd> — выбрать, <kbd>○</kbd> — назад
|
||||
|
||||
## Установка в четыре шага
|
||||
|
||||
<p align="center">
|
||||
<img src=".github/readme/install-steps.ru.svg" alt="1 Скачайте Overdrive.exfat · 2 Скопируйте его в папку homebrew на USB-накопителе · 3 Вставьте накопитель: ShadowMount+ установит его · 4 Играйте" width="100%">
|
||||
</p>
|
||||
|
||||
### Перед началом
|
||||
|
||||
Вам нужна **взломанная PS5** с запущенным **[ShadowMount+](https://github.com/drakmor/ShadowMountPlus)** —
|
||||
это payload, который сам устанавливает образы `.exfat`. Если при включении консоли ShadowMount+
|
||||
показывает уведомление, значит всё готово. Также понадобятся **USB-накопитель** и **компьютер**.
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/MyLuxy/overdrive/releases/latest/download/Overdrive.exfat"><img src="https://img.shields.io/badge/Download-Overdrive.exfat-f2f2f3?style=for-the-badge&labelColor=0b0b0d" alt="Скачать Overdrive.exfat" width="347"></a>
|
||||
</p>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td width="64" align="center" valign="top"><img src=".github/readme/step-1.svg" alt="1" width="40"></td>
|
||||
<td>
|
||||
|
||||
**Скачайте `Overdrive.exfat`** по кнопке выше или из
|
||||
[последнего релиза](https://github.com/MyLuxy/overdrive/releases/latest). Это единственный нужный
|
||||
файл. Оставьте его как есть: не распаковывайте и не меняйте `.exfat` в конце имени.
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top"><img src=".github/readme/step-2.svg" alt="2" width="40"></td>
|
||||
<td>
|
||||
|
||||
**Скопируйте его на USB-накопитель в папку `homebrew`.** Подключите накопитель к компьютеру,
|
||||
создайте в корне накопителя папку с именем ровно `homebrew` (все буквы строчные) и скопируйте
|
||||
в неё `Overdrive.exfat`:
|
||||
|
||||
```text
|
||||
USB-накопитель
|
||||
└── homebrew
|
||||
└── Overdrive.exfat
|
||||
```
|
||||
|
||||
Накопитель должен быть отформатирован в **exFAT** — так отформатировано большинство накопителей
|
||||
из коробки, и именно этот формат читает PS5.
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top"><img src=".github/readme/step-3.svg" alt="3" width="40"></td>
|
||||
<td>
|
||||
|
||||
**Вставьте накопитель в PS5.** ShadowMount+ проверяет наличие новых файлов каждые несколько секунд:
|
||||
он находит Overdrive, монтирует и устанавливает его, а по завершении показывает уведомление.
|
||||
Ничего нажимать не нужно.
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top"><img src=".github/readme/step-4.svg" alt="4" width="40"></td>
|
||||
<td>
|
||||
|
||||
<img src="app/sce_sys/icon0.png" alt="Иконка Overdrive" width="64" align="right">
|
||||
|
||||
**Откройте Overdrive с главного экрана.** Ищите эту иконку. Приятной игры!
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
Кроме того, файл можно перенести во внутренний накопитель консоли с помощью **любого FTP-клиента** —
|
||||
тоже в папку `homebrew`: `/data/homebrew/Overdrive.exfat`.
|
||||
|
||||
## Обновления
|
||||
|
||||
Overdrive нужно установить вручную только один раз. Когда выходит новая версия, приложение само
|
||||
сообщает об этом через несколько секунд после запуска:
|
||||
|
||||
1. Появляется окно с номером новой версии и списком изменений. Нажмите **«Установить»**.
|
||||
2. Overdrive скачивает обновление, проверяет его и ставит на место старого.
|
||||
3. Когда всё готово, приложение **закрывается само**. Откройте его снова — вы уже на новой версии.
|
||||
|
||||
Для обновления нужно около **600 МБ свободного места** на накопителе, где лежит Overdrive.
|
||||
Файл `update.zip` в каждом релизе — это тот самый пакет, который скачивает приложение; вам он
|
||||
самому не нужен.
|
||||
|
||||
## Поддержать проект
|
||||
|
||||
Overdrive бесплатный и с открытым исходным кодом. Если он вам нравится, спонсорство помогает мне его обновлять.
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/sponsors/MyLuxy"><img src=".github/readme/sponsor.ru.svg" alt="Поддержать Overdrive через GitHub Sponsors" width="414"></a>
|
||||
</p>
|
||||
|
||||
## Решение проблем
|
||||
|
||||
<details>
|
||||
<summary><b>Overdrive не появляется на главном экране</b></summary>
|
||||
<br>
|
||||
|
||||
- Убедитесь, что **ShadowMount+ запущен**: при старте он показывает уведомление.
|
||||
- Проверьте папку: она должна называться ровно `homebrew` и лежать в **корне** накопителя, а не
|
||||
внутри другой папки.
|
||||
- Проверьте, что файл всё ещё заканчивается на **`.exfat`**. Некоторые системы скрывают расширения:
|
||||
файл, переименованный в `Overdrive.exfat.zip` или распакованный в папку, найден не будет.
|
||||
- Подождите минуту: ShadowMount+ ждёт, пока файл полностью скопируется, и только потом
|
||||
устанавливает его.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Overdrive открывается, но страница не загружается</b></summary>
|
||||
<br>
|
||||
|
||||
Копия `Overdrive.exfat` на консоли повреждена. Обычно это происходит при копировании через
|
||||
USB-накопитель. Удаление папок приложения не помогает: Overdrive создаёт их заново при каждом
|
||||
запуске.
|
||||
|
||||
1. Удалите `Overdrive.exfat` из папки `homebrew`, затем его значок с главного экрана.
|
||||
2. Скачайте `Overdrive.exfat` заново из
|
||||
[последнего релиза](https://github.com/MyLuxy/overdrive/releases/latest).
|
||||
3. Скопируйте его на консоль через [PS5Upload](https://github.com/phantomptr/ps5upload), а не через
|
||||
USB-накопитель, и проверьте, что размер файла на консоли совпадает с размером скачанного.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>После обновления приложение всё ещё показывает старую версию</b></summary>
|
||||
<br>
|
||||
|
||||
Новая версия установлена, но консоль всё ещё держит в памяти старую. **Перезагрузите консоль** и
|
||||
откройте Overdrive снова; приложение само об этом сообщит, если такое случится дважды подряд.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Обновление сообщает, что недостаточно места</b></summary>
|
||||
<br>
|
||||
|
||||
Обновление скачивается рядом с установленным приложением, поэтому на накопителе с Overdrive нужно
|
||||
около 600 МБ свободного места. Освободите место на этом накопителе и нажмите **«Повторить»**.
|
||||
На этот момент ничего ещё не изменено.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Обновление сообщает, что не удалось заменить приложение</b></summary>
|
||||
<br>
|
||||
|
||||
Установите вручную: скачайте `Overdrive.exfat` из
|
||||
[последнего релиза](https://github.com/MyLuxy/overdrive/releases/latest), закройте Overdrive и
|
||||
скопируйте новый файл поверх старого в папку `homebrew`.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Как удалить Overdrive?</b></summary>
|
||||
<br>
|
||||
|
||||
Сначала удалите `Overdrive.exfat` из папки `homebrew`, а затем удалите его иконку с главного экрана.
|
||||
В обратном порядке ShadowMount+ снова найдёт файл и вернёт иконку на место.
|
||||
|
||||
</details>
|
||||
|
||||
## Сборка своими руками
|
||||
|
||||
<details>
|
||||
<summary><b>Что находится в этом репозитории</b></summary>
|
||||
<br>
|
||||
|
||||
| Путь | Что это |
|
||||
| --- | --- |
|
||||
| `app/` | Само приложение: исходники на JSX, состояние, ресурсы, данные каталога и `app.json` (title id `PPSA99058`, версия, возможности) |
|
||||
| `ps5-react/` | Фреймворк, на котором оно работает, взятый из [half144/ps5-react](https://github.com/half144/ps5-react) |
|
||||
| `packaging/make-exfat.sh` | Собирает образ exFAT, который устанавливает ShadowMount+ |
|
||||
| `.github/workflows/build.yml` | Процесс сборки |
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Как был восстановлен исходный код</b></summary>
|
||||
<br>
|
||||
|
||||
Overdrive — это приложение на React, работающее на [ps5-react](https://github.com/half144/ps5-react),
|
||||
и весь его JavaScript-бандл лежит открытым текстом внутри `eboot.bin`. Сборщик объединяет все модули
|
||||
в одну область видимости, поэтому импорты между модулями превращаются в простые имена; поскольку
|
||||
каждое имя верхнего уровня остаётся уникальным, можно снова определить, какой модуль объявляет это
|
||||
имя. Так бандл удалось разбить обратно на его 137 исходных модулей с настоящими строками
|
||||
`import`/`export`, сверяя результат с оригинальным бандлом, пока не совпала каждая связь импорта.
|
||||
|
||||
То, что сборщик отбрасывает, вернуть не удалось: большинство комментариев, синтаксис JSX (теперь это
|
||||
вызовы вида `jsx(View, {…})`) и `const`/`let` (теперь `var`). На поведение приложения это никак не
|
||||
влияет.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Сборка</b></summary>
|
||||
<br>
|
||||
|
||||
Каждый push запускает сборку на `ubuntu-24.04` с clang 18 и загружает `Overdrive.exfat` как артефакт
|
||||
workflow; тег `v*` дополнительно публикует релиз с `Overdrive.exfat` и `update.zip`.
|
||||
|
||||
Та же сборка локально, на любом Linux с пакетами, которые устанавливает workflow (`clang-18`,
|
||||
`llvm-18`, `cmake`, `ninja-build`, `nodejs`, `npm`, `zlib1g-dev`, `build-essential`,
|
||||
`pkg-config`, `unzip`, `curl`, `exfatprogs`, а также Pillow из `ps5-react/requirements.txt`):
|
||||
|
||||
```sh
|
||||
cd ps5-react
|
||||
python3 tools/build_ps5.py --app-dir ../app --llvm /usr/bin
|
||||
sudo ../packaging/make-exfat.sh dist/PPSA99058 ../Overdrive.exfat
|
||||
```
|
||||
|
||||
При сборке закреплённые зависимости скачиваются в `ps5-react/.deps`, а папка приложения, `.zip` и
|
||||
`.receipt.json` записываются в `ps5-react/dist`. Результат проверяется автоматически
|
||||
(`tools/verify.py`), поэтому успешная сборка означает, что структура payload и подписи в порядке.
|
||||
`--llvm /usr/bin` указывает на системный clang; по умолчанию в апстриме используется путь к LLVM
|
||||
из Homebrew, поскольку поддерживаемая среда разработки — macOS.
|
||||
|
||||
Образ — это обычный том exFAT, корнем которого является папка приложения, с кластерами 64 КиБ и
|
||||
меткой `OVERDRIVE`. Чтобы выпустить новую версию, поднимите версию в `app/version.js` и
|
||||
`app/app.json` и отправьте тег `v*`: установленные приложения предложат обновление при следующем
|
||||
запуске.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Исправления относительно оригинального ps5-react</b></summary>
|
||||
<br>
|
||||
|
||||
Два исправления во встроенном фреймворке, оба в инструментах сборки и оба обнаружены при сборке на
|
||||
Linux:
|
||||
|
||||
- `ps5-react/tools/common.py` читал строку `git apply --summary` с фиксированным числом пробелов,
|
||||
из-за чего режим файла приклеивался к пути (`100644 <путь>`) и любая чистая выгрузка зависимости
|
||||
падала на первом же патче, создающем файл. Теперь строка разбивается по пробельным символам.
|
||||
- `ps5-react/tools/build_ps5.py` открывал `data.tar.zst` из закреплённого пакета LLVM через
|
||||
`tarfile`, а тот читает zstd только начиная с Python 3.14, тогда как документированный минимум —
|
||||
3.12. Теперь есть откат на команду `zstd`.
|
||||
|
||||
Больше во фреймворке ничего не изменено.
|
||||
|
||||
</details>
|
||||
|
||||
## Благодарности
|
||||
|
||||
- **[MyLuxy](https://github.com/MyLuxy)** — декомпилировал Overdrive, восстановил его исходный код и собрал заново.
|
||||
- **[ps5-react](https://github.com/half144/ps5-react)** — фреймворк, на котором всё работает.
|
||||
- **[ShadowMount+](https://github.com/drakmor/ShadowMountPlus)** от drakmor — устанавливает приложение.
|
||||
- **[kstuff](https://github.com/EchoStretch/kstuff-lite)** от EchoStretch — пейлоад ядра, благодаря которому консоль запускает хоумбрю и установленные игры.
|
||||
- **[PS5 Homebrew Catalog](https://github.com/darkxex/ps5-homebrew-catalog)** от darkxex — API магазина для раздела «Хоумбрю», и все разработчики, которые в нём есть.
|
||||
|
||||
`ps5-react/` распространяется под GPL-3.0-or-later и содержит собственные `LICENSE`,
|
||||
`LICENSE-ATTRIBUTION` и `NOTICE`. Все уведомления о зависимостях копируются в `notices/` внутри
|
||||
собранного приложения, а `ps5-react/docs/DEPENDENCIES.md` перечисляет их с указанием источников.
|
||||
|
||||
<sub>Overdrive — неофициальный homebrew-проект, не связанный с Sony Interactive Entertainment и не
|
||||
одобренный ею. PlayStation и PS5 — товарные знаки Sony Interactive Entertainment.</sub>
|
||||
|
||||
<sub>Русский перевод сделан в [форке Stintik-123](https://github.com/Stintik-123/Overdrive).</sub>
|
||||
@@ -3,11 +3,11 @@
|
||||
"titleId": "PPSA99058",
|
||||
"contentId": "UP9000-PPSA99058_00-OVERDRIVE0000000",
|
||||
"name": "Overdrive",
|
||||
"version": "01.002.000",
|
||||
"version": "01.003.000",
|
||||
"render": { "width": 1920, "height": 1080 },
|
||||
"surface": { "width": 1920, "height": 1080 },
|
||||
"refreshRate": 60,
|
||||
"textFonts": ["chinese", "japanese", "bengali", "devanagari", "arabic"],
|
||||
"textFonts": ["chinese", "chinese-traditional", "japanese", "bengali", "devanagari", "arabic"],
|
||||
"resources": ["data/releases", "data/pages", "i18n/locales"],
|
||||
"filesystemAccess": "console",
|
||||
"networking": true,
|
||||
|
||||
|
After Width: | Height: | Size: 517 B |
|
After Width: | Height: | Size: 440 B |
|
After Width: | Height: | Size: 375 B |
|
After Width: | Height: | Size: 454 B |
|
After Width: | Height: | Size: 373 B |
|
After Width: | Height: | Size: 431 B |
|
After Width: | Height: | Size: 360 B |
|
After Width: | Height: | Size: 454 B |
|
After Width: | Height: | Size: 375 B |
|
After Width: | Height: | Size: 371 B |
|
After Width: | Height: | Size: 487 B |
|
After Width: | Height: | Size: 390 B |
|
After Width: | Height: | Size: 421 B |
|
After Width: | Height: | Size: 505 B |
|
After Width: | Height: | Size: 470 B |
|
After Width: | Height: | Size: 456 B |
|
After Width: | Height: | Size: 539 B |
|
After Width: | Height: | Size: 386 B |
@@ -0,0 +1,56 @@
|
||||
// "Recently added": the games the catalog's importers added last (state/catalog.js addedAt), so a
|
||||
// player sees the library grow. Its title opens the library sorted the same way. Games added before
|
||||
// 2026-10-21 carry no date and never show here; with none, the row is not shown.
|
||||
|
||||
import { jsx } from 'react/jsx-runtime';
|
||||
import { memo, useState } from 'react';
|
||||
import { GameRail } from './GameRail.jsx';
|
||||
import { games } from '../data/catalog.js';
|
||||
import { useT } from '../i18n/index.js';
|
||||
import { NO_FILTERS, addedAt, sortGames } from '../state/catalog.js';
|
||||
import { useNavActions } from '../state/nav.jsx';
|
||||
import { useStoreActions } from '../state/store.jsx';
|
||||
import { GameCard } from '../ui/GameCard.jsx';
|
||||
import { ART_AHEAD, FIRST_ART } from './GameRail.jsx';
|
||||
import { RowCard, useRowWindow, useSectionShown } from './near.js';
|
||||
|
||||
var WIDTH = 152;
|
||||
var COUNT = 25;
|
||||
var ADDED = sortGames(games.filter((game) => addedAt(game) && game.art.cover), "added").slice(0, COUNT);
|
||||
var AddedRail = (0, memo)(function AddedRail2() {
|
||||
const t2 = useT();
|
||||
const { openGame, focusLater } = useNavActions();
|
||||
const { setFilters, setQuery, setSort } = useStoreActions();
|
||||
// Covers load only up to a few cards past the furthest one reached, as in the other rows.
|
||||
const [reach, setReach] = (0, useState)(FIRST_ART);
|
||||
const row = useRowWindow();
|
||||
useSectionShown(ADDED.length > 0);
|
||||
if (!ADDED.length) return null;
|
||||
const seeAll = () => {
|
||||
setFilters(NO_FILTERS);
|
||||
setQuery("");
|
||||
setSort("added");
|
||||
focusLater("catalog:sort");
|
||||
};
|
||||
return /* @__PURE__ */ (0, jsx)(GameRail, { title: t2("browse.recentlyAdded"), onSeeAll: seeAll, seeAllKey: "added:all", children: ADDED.map((game, index) => {
|
||||
const key = `added:${game.id}`;
|
||||
return /* @__PURE__ */ (0, jsx)(RowCard, { far: row.far(index), children: /* @__PURE__ */ (0, jsx)(
|
||||
GameCard,
|
||||
{
|
||||
game,
|
||||
width: WIDTH,
|
||||
detailed: true,
|
||||
focusKey: key,
|
||||
rowEnd: index === ADDED.length - 1,
|
||||
deferArt: index >= reach,
|
||||
onFocus: () => {
|
||||
setReach((count) => Math.max(count, index + ART_AHEAD));
|
||||
row.reached(index);
|
||||
},
|
||||
onPress: () => openGame(game.id, key)
|
||||
}
|
||||
) }, game.id);
|
||||
}) });
|
||||
});
|
||||
|
||||
export { AddedRail };
|
||||
@@ -5,12 +5,14 @@ import '../assets/Inter-Regular.ttf';
|
||||
import '../assets/JetBrainsMono-Regular.ttf';
|
||||
import { Fragment, jsx, jsxs } from 'react/jsx-runtime';
|
||||
import { memo, useState } from 'react';
|
||||
import { AddedRail } from './AddedRail.jsx';
|
||||
import { Catalog } from './Catalog.jsx';
|
||||
import { CdnRail } from './CdnRail.jsx';
|
||||
import { ContinueRow } from './ContinueRow.jsx';
|
||||
import { FilterDrawer } from './FilterDrawer.jsx';
|
||||
import { GenreRail } from './GenreRail.jsx';
|
||||
import { PageHints } from './PageHints.jsx';
|
||||
import { FocusedSection, NearSection } from './near.js';
|
||||
import { PopularRail } from './PopularRail.jsx';
|
||||
import { RecentRow } from './RecentRow.jsx';
|
||||
import { Spotlight } from './Spotlight.jsx';
|
||||
@@ -46,17 +48,20 @@ import { FocusScope, ScrollView, Text, View } from '@ps5-react/core';
|
||||
var Sections = (0, memo)(function Sections2({ onOpenFilters }) {
|
||||
const onAction = useFavoriteAction();
|
||||
return /* @__PURE__ */ (0, jsx)(FocusScope, { trap: true, onAction, children: /* @__PURE__ */ (0, jsxs)(ScrollView, { style: { flex: 1, gap: 60, paddingHorizontal: 48 }, children: [
|
||||
/* @__PURE__ */ (0, jsxs)(View, { scrollAnchor: true, style: { gap: 24, paddingTop: 36 }, children: [
|
||||
/* @__PURE__ */ (0, jsx)(FocusedSection, {}),
|
||||
// Each section keeps its images in use only while focus is in it or the next one (near.js).
|
||||
/* @__PURE__ */ (0, jsx)(NearSection, { index: 0, children: /* @__PURE__ */ (0, jsxs)(View, { scrollAnchor: true, style: { gap: 24, paddingTop: 36 }, children: [
|
||||
/* @__PURE__ */ (0, jsx)(FolderInstallNotice, {}),
|
||||
/* @__PURE__ */ (0, jsx)(Spotlight, {})
|
||||
] }),
|
||||
/* @__PURE__ */ (0, jsx)(PopularRail, {}),
|
||||
/* @__PURE__ */ (0, jsx)(CdnRail, {}),
|
||||
/* @__PURE__ */ (0, jsx)(ContinueRow, {}),
|
||||
/* @__PURE__ */ (0, jsx)(RecentRow, {}),
|
||||
/* @__PURE__ */ (0, jsx)(TopCharts, {}),
|
||||
/* @__PURE__ */ (0, jsx)(GenreRail, {}),
|
||||
/* @__PURE__ */ (0, jsx)(Catalog, { onOpenFilters }),
|
||||
] }) }),
|
||||
/* @__PURE__ */ (0, jsx)(NearSection, { index: 1, children: /* @__PURE__ */ (0, jsx)(PopularRail, {}) }),
|
||||
/* @__PURE__ */ (0, jsx)(NearSection, { index: 2, children: /* @__PURE__ */ (0, jsx)(AddedRail, {}) }),
|
||||
/* @__PURE__ */ (0, jsx)(NearSection, { index: 3, children: /* @__PURE__ */ (0, jsx)(CdnRail, {}) }),
|
||||
/* @__PURE__ */ (0, jsx)(NearSection, { index: 4, children: /* @__PURE__ */ (0, jsx)(ContinueRow, {}) }),
|
||||
/* @__PURE__ */ (0, jsx)(NearSection, { index: 5, children: /* @__PURE__ */ (0, jsx)(RecentRow, {}) }),
|
||||
/* @__PURE__ */ (0, jsx)(NearSection, { index: 6, children: /* @__PURE__ */ (0, jsx)(TopCharts, {}) }),
|
||||
/* @__PURE__ */ (0, jsx)(NearSection, { index: 7, children: /* @__PURE__ */ (0, jsx)(GenreRail, {}) }),
|
||||
/* @__PURE__ */ (0, jsx)(NearSection, { index: 8, children: /* @__PURE__ */ (0, jsx)(Catalog, { onOpenFilters }) }),
|
||||
/* @__PURE__ */ (0, jsx)(Footer, {})
|
||||
] }) });
|
||||
});
|
||||
|
||||
@@ -65,7 +65,8 @@ import { FocusScope, Image, Text, View, VirtualList, useIsFocused } from '@ps5-r
|
||||
game,
|
||||
width: CARD_WIDTH,
|
||||
detailed: true,
|
||||
rowEnd: index % COLUMNS === COLUMNS - 1,
|
||||
rowEnd: index % COLUMNS === COLUMNS - 1 || index === all.current.length - 1,
|
||||
rowStart: index % COLUMNS === 0,
|
||||
enterDelay: entering.current ? index * STAGGER : void 0,
|
||||
onFocus: () => prefetchBelow(all.current, index),
|
||||
onPress: () => openGame(game.id, `card:${game.id}`)
|
||||
|
||||
@@ -6,6 +6,7 @@ import cdnCard from '../assets/cdn-card.png';
|
||||
import { Fragment, jsx, jsxs } from 'react/jsx-runtime';
|
||||
import { memo } from 'react';
|
||||
import { GameRail } from './GameRail.jsx';
|
||||
import { RowCard, useRowWindow, useSectionShown } from './near.js';
|
||||
import { games } from '../data/catalog.js';
|
||||
import { useT } from '../i18n/index.js';
|
||||
import { CDN_HOST, NO_FILTERS, onCdn, sortGames } from '../state/catalog.js';
|
||||
@@ -45,6 +46,8 @@ import { Image, Text, View, motion, useIsFocused } from '@ps5-react/core';
|
||||
var CdnRail = (0, memo)(function CdnRail2() {
|
||||
const { openGame, focusLater } = useNavActions();
|
||||
const { setFilters, setQuery } = useStoreActions();
|
||||
const row = useRowWindow();
|
||||
useSectionShown(SERVED.length > 0);
|
||||
if (!SERVED.length) return null;
|
||||
const browse = () => {
|
||||
setFilters({ ...NO_FILTERS, provider: [CDN_HOST] });
|
||||
@@ -55,7 +58,7 @@ import { Image, Text, View, motion, useIsFocused } from '@ps5-react/core';
|
||||
/* @__PURE__ */ (0, jsx)(View, { focusKey: "cdn:card", onPress: browse, children: /* @__PURE__ */ (0, jsx)(CollectionCard, {}) }),
|
||||
SERVED.map((game, index) => {
|
||||
const key = `cdn:${game.id}`;
|
||||
return /* @__PURE__ */ (0, jsx)(
|
||||
return /* @__PURE__ */ (0, jsx)(RowCard, { far: row.far(index), children: /* @__PURE__ */ (0, jsx)(
|
||||
GameCard,
|
||||
{
|
||||
game,
|
||||
@@ -63,10 +66,10 @@ import { Image, Text, View, motion, useIsFocused } from '@ps5-react/core';
|
||||
detailed: true,
|
||||
focusKey: key,
|
||||
rowEnd: index === SERVED.length - 1,
|
||||
onFocus: () => row.reached(index),
|
||||
onPress: () => openGame(game.id, key)
|
||||
},
|
||||
game.id
|
||||
);
|
||||
}
|
||||
) }, game.id);
|
||||
})
|
||||
] });
|
||||
});
|
||||
|
||||
@@ -5,6 +5,7 @@ import '../assets/Inter-Regular.ttf';
|
||||
import { Fragment, jsx, jsxs } from 'react/jsx-runtime';
|
||||
import { memo } from 'react';
|
||||
import { GameRail } from './GameRail.jsx';
|
||||
import { useSectionShown } from './near.js';
|
||||
import { WAITING, shownState, stateLabel } from '../downloads/labels.js';
|
||||
import { fractionOf, useJobs, useProgress } from '../downloads/useQueue.js';
|
||||
import { formatPercent2 } from '../i18n/core.js';
|
||||
@@ -38,6 +39,7 @@ import { Text, View, useIsFocused } from '@ps5-react/core';
|
||||
const { jobs } = useJobs();
|
||||
const { push, openGame } = useNavActions();
|
||||
const entries2 = jobs.filter((job2) => UNFINISHED.includes(job2.state)).map((job2) => ({ job: job2, game: getGame(job2.gameId) })).filter((entry2) => entry2.game);
|
||||
useSectionShown(entries2.length > 0);
|
||||
if (!entries2.length) return null;
|
||||
return /* @__PURE__ */ (0, jsx)(
|
||||
GameRail,
|
||||
|
||||
@@ -6,7 +6,7 @@ import { Fragment, jsx, jsxs } from 'react/jsx-runtime';
|
||||
import { memo, useRef, useState } from 'react';
|
||||
import { formatNumber2 } from '../i18n/core.js';
|
||||
import { useT } from '../i18n/index.js';
|
||||
import { FACETS, activeCount, facetCounts, facetTitle, filterGames, optionLabel } from '../state/catalog.js';
|
||||
import { FACETS, activeCount, facetSummary, facetTitle, optionLabel } from '../state/catalog.js';
|
||||
import { useNavActions } from '../state/nav.jsx';
|
||||
import { useStore } from '../state/store.jsx';
|
||||
import { Button2 } from '../ui/Button.jsx';
|
||||
@@ -69,11 +69,10 @@ import { AnimatePresence, FocusScope, ScrollView, Text, View, useIsFocused } fro
|
||||
/* @__PURE__ */ (0, jsx)(Text, { style: focused ? { fontFamily: "Inter-Regular", fontSize: 21, color: "#f2f2f3", lineHeight: 30 } : { fontFamily: "Inter-Regular", fontSize: 21, color: "#a3a3ab", lineHeight: 30 }, children: t2("filters.clearFacet") })
|
||||
] });
|
||||
}
|
||||
function Facet({ facet, store, autoFocus }) {
|
||||
function Facet({ facet, store, counts, autoFocus }) {
|
||||
const t2 = useT();
|
||||
const [expanded, setExpanded] = (0, useState)(false);
|
||||
const { focusLater } = useNavActions();
|
||||
const counts = facetCounts(store, facet);
|
||||
const picked = store.filters[facet.key];
|
||||
const tiles = facet.options.length <= TILE_LIMIT;
|
||||
const folded = !tiles && !expanded && facet.options.length > PILL_LIMIT;
|
||||
@@ -119,7 +118,7 @@ import { AnimatePresence, FocusScope, ScrollView, Text, View, useIsFocused } fro
|
||||
const { filters, clearFilters } = store;
|
||||
const { focusLater } = useNavActions();
|
||||
const count = activeCount(filters);
|
||||
const total = filterGames(store).length;
|
||||
const { total, counts } = facetSummary(store);
|
||||
const opened = (0, useRef)(JSON.stringify(filters));
|
||||
const close = () => {
|
||||
if (JSON.stringify(filters) !== opened.current) focusLater("catalog:filters");
|
||||
@@ -136,7 +135,7 @@ import { AnimatePresence, FocusScope, ScrollView, Text, View, useIsFocused } fro
|
||||
/* @__PURE__ */ (0, jsx)(Text, { style: { fontFamily: "Inter-Regular", fontSize: 21, color: "#a3a3ab", lineHeight: 30 }, children: t2("catalog.gameCount", { count: total }) })
|
||||
] }),
|
||||
/* @__PURE__ */ (0, jsxs)(ScrollView, { style: { marginHorizontal: -24, flex: 1, paddingHorizontal: 24 }, children: [
|
||||
FACETS.map((facet, index) => /* @__PURE__ */ (0, jsx)(Facet, { facet, store, autoFocus: index === 0 }, facet.key)),
|
||||
FACETS.map((facet, index) => /* @__PURE__ */ (0, jsx)(Facet, { facet, store, counts: counts[facet.key], autoFocus: index === 0 }, facet.key)),
|
||||
/* @__PURE__ */ (0, jsxs)(View, { style: { flexDirection: "row", gap: 18, paddingBottom: 36, paddingTop: 30 }, children: [
|
||||
count > 0 && /* @__PURE__ */ (0, jsx)(Button2, { variant: "secondary", size: "lg", label: t2("filters.clearAll"), onPress: () => {
|
||||
clearFilters();
|
||||
|
||||
@@ -6,7 +6,7 @@ import { Fragment, jsx, jsxs } from 'react/jsx-runtime';
|
||||
import { FocusRing } from '../ui/FocusRing.jsx';
|
||||
import { Icon } from '../ui/Icon.jsx';
|
||||
import { colors } from '../ui/colors.js';
|
||||
import { ScrollView, Text, View, useIsFocused } from '@ps5-react/core';
|
||||
import { FocusScope, ScrollView, Text, View, useIsFocused } from '@ps5-react/core';
|
||||
|
||||
function TitleLink({ title }) {
|
||||
const focused = useIsFocused();
|
||||
@@ -16,8 +16,15 @@ import { ScrollView, Text, View, useIsFocused } from '@ps5-react/core';
|
||||
/* @__PURE__ */ (0, jsx)(Icon, { name: "chevronRight", size: 16, color: focused ? colors.fg : colors.muted })
|
||||
] });
|
||||
}
|
||||
// A row scope: Left and Right stop at the rail's first and last card. Without one, a press past
|
||||
// the end looked for the nearest element across the whole page and could land at its top.
|
||||
var Arrow = ({ name }) => /* @__PURE__ */ (0, jsx)(View, { style: { width: 48, height: 48, alignItems: "center", justifyContent: "center", borderRadius: 14999, backgroundColor: "#17171a" }, children: /* @__PURE__ */ (0, jsx)(Icon, { name, size: 16, color: colors.muted, fixed: true }) });
|
||||
var LTR = { direction: "ltr" };
|
||||
// A long row loads the art of its first cards (about a screen and a half of them) and, as focus moves
|
||||
// along it, of the cards up to ART_AHEAD past the furthest one reached: every image in use stays in the
|
||||
// decoded cache, and forty covers per row pushed the rest of the app's images out of it.
|
||||
var FIRST_ART = 10;
|
||||
var ART_AHEAD = 8;
|
||||
function GameRail({ title, onSeeAll, seeAllKey, children }) {
|
||||
return /* @__PURE__ */ (0, jsxs)(View, { scrollAnchor: true, children: [
|
||||
/* @__PURE__ */ (0, jsxs)(View, { style: { marginBottom: 24, flexDirection: "row", alignItems: "center", justifyContent: "space-between" }, children: [
|
||||
@@ -27,8 +34,8 @@ import { ScrollView, Text, View, useIsFocused } from '@ps5-react/core';
|
||||
/* @__PURE__ */ (0, jsx)(Arrow, { name: "chevronRight" })
|
||||
] })
|
||||
] }),
|
||||
/* @__PURE__ */ (0, jsx)(View, { style: { marginHorizontal: -12, marginVertical: -24 }, children: /* @__PURE__ */ (0, jsx)(ScrollView, { style: [{ flexDirection: "row", gap: 36, paddingHorizontal: 12, paddingVertical: 24 }, LTR], children }) })
|
||||
/* @__PURE__ */ (0, jsx)(View, { style: { marginHorizontal: -12, marginVertical: -24 }, children: /* @__PURE__ */ (0, jsx)(FocusScope, { row: true, children: /* @__PURE__ */ (0, jsx)(ScrollView, { style: [{ flexDirection: "row", gap: 36, paddingHorizontal: 12, paddingVertical: 24 }, LTR], children }) }) })
|
||||
] });
|
||||
}
|
||||
|
||||
export { GameRail };
|
||||
export { ART_AHEAD, FIRST_ART, GameRail };
|
||||
@@ -4,6 +4,7 @@
|
||||
import '../assets/Inter-Regular.ttf';
|
||||
import { jsx, jsxs } from 'react/jsx-runtime';
|
||||
import { memo } from 'react';
|
||||
import { GENRE_ART } from './genre-art.js';
|
||||
import { useT } from '../i18n/index.js';
|
||||
import { genreLabel } from '../state/catalog.js';
|
||||
import { Cover } from '../ui/Cover.jsx';
|
||||
@@ -12,13 +13,15 @@ import { Icon } from '../ui/Icon.jsx';
|
||||
import { Shine } from '../ui/Shine.jsx';
|
||||
import { colors } from '../ui/colors.js';
|
||||
import { EASE_OUT } from '../ui/ease.js';
|
||||
import { Text, View, motion, useIsFocused } from '@ps5-react/core';
|
||||
import { Image, Text, View, motion, useIsFocused } from '@ps5-react/core';
|
||||
|
||||
var spread = { type: "tween", duration: 0.3, ease: EASE_OUT };
|
||||
var cover = { width: 126, height: 168, borderRadius: 12 };
|
||||
var side = { width: 113, height: 151, borderRadius: 12 };
|
||||
var front = { position: "absolute", left: 87, top: 24, zIndex: 10 };
|
||||
var OPEN = [-12.6, 12.6];
|
||||
// The sprite is drawn at the size it was baked at, centred in the space the covers take.
|
||||
var art = { position: "absolute", left: 78, top: 36, width: 144, height: 144 };
|
||||
function Fan({ covers }) {
|
||||
const focused = useIsFocused();
|
||||
return covers.slice(1).map(
|
||||
@@ -35,20 +38,21 @@ import { Text, View, motion, useIsFocused } from '@ps5-react/core';
|
||||
)
|
||||
);
|
||||
}
|
||||
var GenreCard = (0, memo)(function GenreCard2({ genre, count, covers, active: active2, onToggle }) {
|
||||
var GenreCard = (0, memo)(function GenreCard2({ genre, count, covers, index, active: active2, onToggle, onReach }) {
|
||||
const t2 = useT();
|
||||
return /* @__PURE__ */ (0, jsxs)(
|
||||
motion.View,
|
||||
{
|
||||
focusKey: `genre:${genre}`,
|
||||
onFocus: () => onReach?.(index),
|
||||
onPress: () => onToggle(genre),
|
||||
selected: active2,
|
||||
whileFocus: { y: -6 },
|
||||
transition: spread,
|
||||
style: (_state) => [{ width: 300, borderRadius: 18, backgroundColor: "#17171a", paddingHorizontal: 24, paddingBottom: 24, paddingTop: 216 }, active2 ? { backgroundColor: "#212125" } : null, _state.focused ? { backgroundColor: "#212125" } : null],
|
||||
children: [
|
||||
/* @__PURE__ */ (0, jsx)(Fan, { covers }),
|
||||
covers[0] && /* @__PURE__ */ (0, jsx)(Cover, { game: covers[0], style: [cover, front], label: false }),
|
||||
GENRE_ART[genre] ? /* @__PURE__ */ (0, jsx)(Image, { source: GENRE_ART[genre], resizeMode: "contain", style: art }) : /* @__PURE__ */ (0, jsx)(Fan, { covers }),
|
||||
!GENRE_ART[genre] && covers[0] && /* @__PURE__ */ (0, jsx)(Cover, { game: covers[0], style: [cover, front], label: false }),
|
||||
active2 && /* @__PURE__ */ (0, jsx)(View, { style: { position: "absolute", right: 18, top: 18, zIndex: 20, width: 36, height: 36, alignItems: "center", justifyContent: "center", borderRadius: 14999, backgroundColor: "#f2f2f3" }, children: /* @__PURE__ */ (0, jsx)(Icon, { name: "check", size: 14, strokeWidth: 3, color: colors.canvas }) }),
|
||||
/* @__PURE__ */ (0, jsx)(Text, { style: { fontFamily: "Inter-Regular", fontSize: 24, color: "#f2f2f3", lineHeight: 36 }, children: genreLabel(genre) }),
|
||||
/* @__PURE__ */ (0, jsx)(Text, { style: { fontFamily: "Inter-Regular", fontSize: 21, color: "#8a8a94", lineHeight: 30 }, children: t2("catalog.gameCount", { count }) }),
|
||||
|
||||
@@ -4,15 +4,18 @@
|
||||
import { jsx, jsxs } from 'react/jsx-runtime';
|
||||
import { useState } from 'react';
|
||||
import { GenreCard } from './GenreCard.jsx';
|
||||
import { GENRE_ART } from './genre-art.js';
|
||||
import { RowCard, useRowWindow } from './near.js';
|
||||
import { games } from '../data/catalog.js';
|
||||
import { useT } from '../i18n/index.js';
|
||||
import { genres } from '../state/catalog.js';
|
||||
import { useStoreActions, useStoreState } from '../state/store.jsx';
|
||||
import { SectionHeader } from '../ui/SectionHeader.jsx';
|
||||
import { ScrollView, View } from '@ps5-react/core';
|
||||
import { FocusScope, ScrollView, View } from '@ps5-react/core';
|
||||
|
||||
var used = /* @__PURE__ */ new Set();
|
||||
var RAIL = genres.map((genre) => ({ genre, matches: games.filter((game) => game.genres.includes(genre)).sort((a, b) => b.recommendations - a.recommendations) })).filter(({ matches }) => matches.length >= 3).sort((a, b) => b.matches.length - a.matches.length).map(({ genre, matches }) => {
|
||||
// Only the genres drawn in genre-art.js: one a catalog update grows past three games stays a filter, not a card.
|
||||
var RAIL = genres.filter((genre) => GENRE_ART[genre]).map((genre) => ({ genre, matches: games.filter((game) => game.genres.includes(genre)).sort((a, b) => b.recommendations - a.recommendations) })).filter(({ matches }) => matches.length >= 3).sort((a, b) => b.matches.length - a.matches.length).map(({ genre, matches }) => {
|
||||
const covers = [...matches.filter((game) => !used.has(game.id)), ...matches.filter((game) => used.has(game.id))].slice(0, 3);
|
||||
covers.forEach((game) => used.add(game.id));
|
||||
return { genre, count: matches.length, covers };
|
||||
@@ -22,22 +25,26 @@ import { ScrollView, View } from '@ps5-react/core';
|
||||
const { filters } = useStoreState();
|
||||
const { toggleFilter } = useStoreActions();
|
||||
const [toggleGenre] = (0, useState)(() => (genre) => toggleFilter("genre", genre));
|
||||
// Three covers a card: the cards far from where focus rests let theirs go.
|
||||
const row = useRowWindow();
|
||||
return /* @__PURE__ */ (0, jsxs)(View, { scrollAnchor: true, children: [
|
||||
/* @__PURE__ */ (0, jsx)(SectionHeader, { title: t2("browse.popularGenres") }),
|
||||
/* @__PURE__ */ (0, jsxs)(View, { style: { position: "relative", marginHorizontal: -9, marginVertical: -30 }, children: [
|
||||
/* @__PURE__ */ (0, jsx)(ScrollView, { style: [{ flexDirection: "row", gap: 18, paddingHorizontal: 9, paddingVertical: 30 }, { direction: "ltr" }], children: RAIL.map(
|
||||
({ genre, count, covers }) => /* @__PURE__ */ (0, jsx)(
|
||||
// A row scope, like GameRail: Left and Right stop at the rail's ends.
|
||||
/* @__PURE__ */ (0, jsx)(FocusScope, { row: true, children: /* @__PURE__ */ (0, jsx)(ScrollView, { style: [{ flexDirection: "row", gap: 18, paddingHorizontal: 9, paddingVertical: 30 }, { direction: "ltr" }], children: RAIL.map(
|
||||
({ genre, count, covers }, index) => /* @__PURE__ */ (0, jsx)(RowCard, { far: row.far(index), children: /* @__PURE__ */ (0, jsx)(
|
||||
GenreCard,
|
||||
{
|
||||
genre,
|
||||
count,
|
||||
covers,
|
||||
index,
|
||||
active: filters.genre.includes(genre),
|
||||
onToggle: toggleGenre
|
||||
},
|
||||
genre
|
||||
)
|
||||
) }),
|
||||
onToggle: toggleGenre,
|
||||
onReach: row.reached
|
||||
}
|
||||
) }, genre)
|
||||
) }) }),
|
||||
/* @__PURE__ */ (0, jsx)(View, { style: { position: "absolute", top: 0, bottom: 0, right: 0, width: 96, backgroundGradient: { type: "linear", to: "right", stops: [{ color: "transparent", offset: 0 }, { color: "#000000", offset: 1 }] } } })
|
||||
] })
|
||||
] });
|
||||
|
||||
@@ -2,31 +2,49 @@
|
||||
// reconstructed from the esbuild bundle in eboot.bin
|
||||
|
||||
import { jsx } from 'react/jsx-runtime';
|
||||
import { memo } from 'react';
|
||||
import { memo, useState } from 'react';
|
||||
import { GameRail } from './GameRail.jsx';
|
||||
import { games } from '../data/catalog.js';
|
||||
import { useT } from '../i18n/index.js';
|
||||
import { NO_FILTERS, showcase, sortGames } from '../state/catalog.js';
|
||||
import { NO_FILTERS } from '../state/catalog.js';
|
||||
import { FAMOUS, INDIE, picked, shuffle } from './picks.js';
|
||||
import { useNavActions } from '../state/nav.jsx';
|
||||
import { useStoreActions } from '../state/store.jsx';
|
||||
import { GameCard } from '../ui/GameCard.jsx';
|
||||
import { ART_AHEAD, FIRST_ART } from './GameRail.jsx';
|
||||
import { RowCard, useRowWindow } from './near.js';
|
||||
|
||||
var WIDTH4 = 152;
|
||||
var POPULAR = showcase(sortGames(games, "relevance"), 15);
|
||||
// "You might like" (was the most popular, which only Archive.org's few games could reach): 25
|
||||
// games, new on every launch, from the hand-picked famous and indie ones and the rest of the
|
||||
// catalog's games that have art and a genre, so the row always has something worth opening.
|
||||
var PICKS = 25;
|
||||
function selectPicks() {
|
||||
const famous = picked(games, FAMOUS).slice(0, 10);
|
||||
const indie = picked(games, INDIE).slice(0, 5);
|
||||
const chosen = new Set([...famous, ...indie]);
|
||||
const others = shuffle(games.filter((game) => !chosen.has(game) && game.art.cover && game.art.hero && game.genres.length)).slice(0, PICKS - chosen.size);
|
||||
return shuffle([...famous, ...indie, ...others]);
|
||||
}
|
||||
var POPULAR = selectPicks();
|
||||
var FIRST_POPULAR = `popular:${POPULAR[0].id}`;
|
||||
var PopularRail = (0, memo)(function PopularRail2() {
|
||||
const t2 = useT();
|
||||
const { openGame, focusLater } = useNavActions();
|
||||
const { setFilters, setQuery, setSort } = useStoreActions();
|
||||
// Covers load only up to a few cards past the furthest one reached.
|
||||
const [reach, setReach] = (0, useState)(FIRST_ART);
|
||||
// And the ones far from where focus rests let theirs go.
|
||||
const row = useRowWindow();
|
||||
const seeAll = () => {
|
||||
setFilters(NO_FILTERS);
|
||||
setQuery("");
|
||||
setSort("relevance");
|
||||
setSort("newest");
|
||||
focusLater("catalog:sort");
|
||||
};
|
||||
return /* @__PURE__ */ (0, jsx)(GameRail, { title: t2("browse.popularNow"), onSeeAll: seeAll, seeAllKey: "popular:all", children: POPULAR.map((game, index) => {
|
||||
return /* @__PURE__ */ (0, jsx)(GameRail, { title: t2("browse.forYou"), onSeeAll: seeAll, seeAllKey: "popular:all", children: POPULAR.map((game, index) => {
|
||||
const key = `popular:${game.id}`;
|
||||
return /* @__PURE__ */ (0, jsx)(
|
||||
return /* @__PURE__ */ (0, jsx)(RowCard, { far: row.far(index), children: /* @__PURE__ */ (0, jsx)(
|
||||
GameCard,
|
||||
{
|
||||
game,
|
||||
@@ -34,10 +52,14 @@ import { GameCard } from '../ui/GameCard.jsx';
|
||||
detailed: true,
|
||||
focusKey: key,
|
||||
rowEnd: index === POPULAR.length - 1,
|
||||
deferArt: index >= reach,
|
||||
onFocus: () => {
|
||||
setReach((count) => Math.max(count, index + ART_AHEAD));
|
||||
row.reached(index);
|
||||
},
|
||||
onPress: () => openGame(game.id, key)
|
||||
},
|
||||
game.id
|
||||
);
|
||||
}
|
||||
) }, game.id);
|
||||
}) });
|
||||
});
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
import { jsx } from 'react/jsx-runtime';
|
||||
import { memo, useRef } from 'react';
|
||||
import { GameRail } from './GameRail.jsx';
|
||||
import { RowCard, useRowWindow, useSectionShown } from './near.js';
|
||||
import { useT } from '../i18n/index.js';
|
||||
import { getGame, listedId } from '../state/catalog.js';
|
||||
import { useNavActions, useNavState } from '../state/nav.jsx';
|
||||
@@ -19,11 +20,13 @@ import { GameCard } from '../ui/GameCard.jsx';
|
||||
const kept = (0, useRef)(recent2);
|
||||
if (shown) kept.current = recent2;
|
||||
const { openGame } = useNavActions();
|
||||
const row = useRowWindow();
|
||||
const games2 = [...new Set(kept.current.map(listedId))].map(getGame).filter(Boolean);
|
||||
useSectionShown(games2.length > 0);
|
||||
if (!games2.length) return null;
|
||||
return /* @__PURE__ */ (0, jsx)(GameRail, { title: t2("browse.recentlyViewed"), children: games2.map((game, index) => {
|
||||
const key = `recent:${game.id}`;
|
||||
return /* @__PURE__ */ (0, jsx)(
|
||||
return /* @__PURE__ */ (0, jsx)(RowCard, { far: row.far(index), children: /* @__PURE__ */ (0, jsx)(
|
||||
GameCard,
|
||||
{
|
||||
game,
|
||||
@@ -31,10 +34,10 @@ import { GameCard } from '../ui/GameCard.jsx';
|
||||
detailed: true,
|
||||
focusKey: key,
|
||||
rowEnd: index === games2.length - 1,
|
||||
onFocus: () => row.reached(index),
|
||||
onPress: () => openGame(game.id, key)
|
||||
},
|
||||
game.id
|
||||
);
|
||||
}
|
||||
) }, game.id);
|
||||
}) });
|
||||
});
|
||||
|
||||
|
||||
@@ -5,11 +5,12 @@ import '../assets/Inter-Regular.ttf';
|
||||
import { jsx, jsxs } from 'react/jsx-runtime';
|
||||
import { memo, useEffect, useRef, useState } from 'react';
|
||||
import { FIRST_POPULAR } from './PopularRail.jsx';
|
||||
import { FAMOUS, picked, shuffle } from './picks.js';
|
||||
import { SpotlightList } from './SpotlightList.jsx';
|
||||
import { useSlides } from './useSlides.js';
|
||||
import { games } from '../data/catalog.js';
|
||||
import { LATIN_IN_RTL, focusEnd, useLocale, useT } from '../i18n/index.js';
|
||||
import { fromArchive, genreLabel, sortGames, summaryOf } from '../state/catalog.js';
|
||||
import { genreLabel, summaryOf } from '../state/catalog.js';
|
||||
import { useNavActions, useNavState } from '../state/nav.jsx';
|
||||
import { useStoreActions, useWishlist } from '../state/store.jsx';
|
||||
import { Button2 } from '../ui/Button.jsx';
|
||||
@@ -18,22 +19,15 @@ import { WishHeart } from '../ui/WishHeart.jsx';
|
||||
import { EASE_OUT } from '../ui/ease.js';
|
||||
import { AnimatePresence, Image, Text, View, motion } from '@ps5-react/core';
|
||||
|
||||
var NEWEST = 150;
|
||||
var shuffle = (list) => {
|
||||
for (let i = list.length - 1; i > 0; i--) {
|
||||
const j = Math.floor(Math.random() * (i + 1));
|
||||
[list[i], list[j]] = [list[j], list[i]];
|
||||
}
|
||||
return list;
|
||||
};
|
||||
// Five slides, new on every launch: four of the hand-picked famous games (picks.js), and one
|
||||
// surprise from the rest of the catalog's well-dressed games. A slide needs only its hero art: a
|
||||
// game with no logo shows its title in its place (GameLogo).
|
||||
function selectFeatured() {
|
||||
const eligible = games.filter((game) => game.art.logo && fromArchive(game));
|
||||
const pool = eligible.length >= 5 ? eligible : games.filter((game) => game.art.logo);
|
||||
const byFame = [...pool].sort((a, b) => b.recommendations - a.recommendations);
|
||||
const latest2 = new Set(sortGames(games, "newest").slice(0, NEWEST));
|
||||
const recent2 = shuffle(byFame.filter((game) => latest2.has(game)).slice(0, 10)).slice(0, 2);
|
||||
const famous = shuffle(byFame.filter((game) => !recent2.includes(game)).slice(0, 20)).slice(0, 5 - recent2.length);
|
||||
return shuffle([...famous, ...recent2]);
|
||||
const famous = picked(games, FAMOUS).filter((game) => game.art.hero);
|
||||
const chosen = new Set(famous);
|
||||
const surprise = shuffle(games.filter((game) => game.art.hero && game.genres.length && !chosen.has(game) && (game.art.logo || game.recommendations > 0 || game.metacritic)));
|
||||
const slides = [...famous.slice(0, 4), ...surprise.slice(0, 5 - Math.min(4, famous.length))];
|
||||
return shuffle(slides.length ? slides : games.filter((game) => game.art.hero).slice(0, 5));
|
||||
}
|
||||
var featured = selectFeatured();
|
||||
var ART = { width: 1410, height: 660 };
|
||||
@@ -148,6 +142,8 @@ import { AnimatePresence, Image, Text, View, motion } from '@ps5-react/core';
|
||||
variant: "primary",
|
||||
size: "lg",
|
||||
label: t2("browse.viewGame"),
|
||||
// The plain ring of the page's other buttons, not the primary button's halo.
|
||||
halo: false,
|
||||
focusKey: "spotlight:cta",
|
||||
nextFocusUp: "nav:current",
|
||||
nextFocusDown: FIRST_POPULAR,
|
||||
|
||||
@@ -6,16 +6,32 @@ import { Fragment, jsx, jsxs } from 'react/jsx-runtime';
|
||||
import { games } from '../data/catalog.js';
|
||||
import { prefetchWhenSettled } from '../game/art.js';
|
||||
import { latin, useLocale, useT } from '../i18n/index.js';
|
||||
import { NO_FILTERS, formatCount, formatDate3, showcase, sortGames, sortLabel } from '../state/catalog.js';
|
||||
import { NO_FILTERS, formatCount, formatDate3, sortGames, sortLabel } from '../state/catalog.js';
|
||||
import { shuffle } from './picks.js';
|
||||
import { useNavActions } from '../state/nav.jsx';
|
||||
import { useStoreActions } from '../state/store.jsx';
|
||||
import { useShowLibrary } from '../ui/useSections.js';
|
||||
import { Cover } from '../ui/Cover.jsx';
|
||||
import { FocusFrame } from '../ui/FocusRing.jsx';
|
||||
import { SectionHeader } from '../ui/SectionHeader.jsx';
|
||||
import { lightGame, unlight } from '../ui/lightBar.js';
|
||||
import { Text, View } from '@ps5-react/core';
|
||||
|
||||
var CHARTS = ["relevance", "newest", "rating"].map((id) => ({ id, games: showcase(sortGames(games, id), 5) }));
|
||||
// Each chart ranks the whole catalog, with no preference for Archive.org's games: the most reviewed
|
||||
// and the best rated are five drawn on every launch from the fifteen at the top, then ranked, so
|
||||
// the lists vary but stay the best; only the games that have that number take part. New releases
|
||||
// are the five newest.
|
||||
var TOP = 15;
|
||||
var RANK = {
|
||||
relevance: { has: (game) => game.recommendations > 0, compare: (a, b) => b.recommendations - a.recommendations },
|
||||
rating: { has: (game) => game.metacritic != null, compare: (a, b) => b.metacritic - a.metacritic }
|
||||
};
|
||||
function chartOf(id) {
|
||||
if (!RANK[id]) return sortGames(games, id).slice(0, 5);
|
||||
const { has, compare } = RANK[id];
|
||||
const top = games.filter(has).sort(compare).slice(0, TOP);
|
||||
return shuffle(top).slice(0, 5).sort(compare);
|
||||
}
|
||||
var CHARTS = ["relevance", "newest", "rating"].map((id) => ({ id, games: chartOf(id) }));
|
||||
var DETAIL = {
|
||||
relevance: (t2, game) => t2("browse.reviews", { count: formatCount(game.recommendations) }),
|
||||
newest: (t2, game) => formatDate3(game.releaseDate)
|
||||
@@ -43,14 +59,10 @@ import { Text, View } from '@ps5-react/core';
|
||||
}
|
||||
function TopCharts() {
|
||||
useT();
|
||||
const { openGame, focusLater } = useNavActions();
|
||||
const { setFilters, setQuery, setSort } = useStoreActions();
|
||||
const seeAll = (id) => {
|
||||
setFilters(NO_FILTERS);
|
||||
setQuery("");
|
||||
setSort(id);
|
||||
focusLater("catalog:sort");
|
||||
};
|
||||
const { openGame } = useNavActions();
|
||||
const show = useShowLibrary();
|
||||
// "See all" opens Browse with the selected chart sorting, including Top rated.
|
||||
const seeAll = (id) => show(NO_FILTERS, id, "catalog:sort", "browse");
|
||||
return /* @__PURE__ */ (0, jsx)(View, { scrollAnchor: true, style: { marginBottom: -18, marginTop: -12, flexDirection: "row", gap: 48 }, children: CHARTS.map(
|
||||
(chart) => /* @__PURE__ */ (0, jsxs)(View, { style: { flex: 1 }, children: [
|
||||
/* @__PURE__ */ (0, jsx)(SectionHeader, { title: sortLabel(chart.id), onSeeAll: () => seeAll(chart.id) }),
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
// The genre cards' pixel art (tools/genre-sprites.py), baked into the app: a card that has one shows
|
||||
// it instead of three covers, so the rail loads no images. A genre without one keeps its covers.
|
||||
|
||||
import action from '../assets/genres/genre-action.png';
|
||||
import adventure from '../assets/genres/genre-adventure.png';
|
||||
import arcade from '../assets/genres/genre-arcade.png';
|
||||
import brain from '../assets/genres/genre-brain.png';
|
||||
import casual from '../assets/genres/genre-casual.png';
|
||||
import family from '../assets/genres/genre-family.png';
|
||||
import fighting from '../assets/genres/genre-fighting.png';
|
||||
import horror from '../assets/genres/genre-horror.png';
|
||||
import indie from '../assets/genres/genre-indie.png';
|
||||
import music from '../assets/genres/genre-music.png';
|
||||
import party from '../assets/genres/genre-party.png';
|
||||
import puzzle from '../assets/genres/genre-puzzle.png';
|
||||
import racing from '../assets/genres/genre-racing.png';
|
||||
import rpg from '../assets/genres/genre-rpg.png';
|
||||
import shooter from '../assets/genres/genre-shooter.png';
|
||||
import simulation from '../assets/genres/genre-simulation.png';
|
||||
import sport from '../assets/genres/genre-sport.png';
|
||||
import strategy from '../assets/genres/genre-strategy.png';
|
||||
|
||||
// By the catalog's genre names.
|
||||
var GENRE_ART = {
|
||||
Action: action,
|
||||
Adventure: adventure,
|
||||
Arcade: arcade,
|
||||
Casual: casual,
|
||||
Educational: brain,
|
||||
Family: family,
|
||||
Fighting: fighting,
|
||||
Horror: horror,
|
||||
Indie: indie,
|
||||
"Music/Rhythm": music,
|
||||
Party: party,
|
||||
Puzzle: puzzle,
|
||||
Racing: racing,
|
||||
RPG: rpg,
|
||||
Shooter: shooter,
|
||||
Simulation: simulation,
|
||||
Sport: sport,
|
||||
Strategy: strategy
|
||||
};
|
||||
|
||||
export { GENRE_ART };
|
||||
@@ -0,0 +1,77 @@
|
||||
// Which images the store front keeps in use. An image in use is never evicted from the decoded cache,
|
||||
// and the store front mounts every section and every card of its rows, so it held over a hundred images
|
||||
// at once: the cache stayed full and, with the Homebrew page's many small icons, the engine's image
|
||||
// registry ran out ("the engine image registry is full") and new covers never drew.
|
||||
//
|
||||
// Down the page, the section focus is in and the one above and below keep theirs; the rest let them go
|
||||
// (ReleaseImages: an image released stays cached until the room is needed, and one on screen at that
|
||||
// moment stays). A section with nothing to show (no recent games, no download to continue) is not
|
||||
// counted, so the one past it is still the next. Along a row, the cards near the one focus last rested
|
||||
// on keep theirs.
|
||||
|
||||
import { jsx } from 'react/jsx-runtime';
|
||||
import { createContext, useContext, useEffect, useState } from 'react';
|
||||
import { ReleaseImages, useFocus } from '@ps5-react/core';
|
||||
|
||||
// The sections in page order, by the prefix of their elements' focus keys.
|
||||
var SECTIONS = { spotlight: 0, popular: 1, added: 2, cdn: 3, continue: 4, recent: 5, chart: 6, genre: 7, card: 8, catalog: 8, chip: 8 };
|
||||
var NEAR = 1;
|
||||
var current = 0;
|
||||
var listeners = /* @__PURE__ */ new Set();
|
||||
var empty = /* @__PURE__ */ new Set();
|
||||
var notify = () => {
|
||||
for (const listener of listeners) listener(current);
|
||||
};
|
||||
// Where a section sits among the ones shown.
|
||||
var rank = (index) => index - [...empty].filter((other) => other < index).length;
|
||||
var SectionIndex = (0, createContext)(-1);
|
||||
// Rendered once by the page: follows focus and tells the sections, which re-render only when they turn
|
||||
// near or far. Focus elsewhere (the header, another screen) leaves the last section as it was.
|
||||
function FocusedSection() {
|
||||
const { focusedKey } = useFocus();
|
||||
(0, useEffect)(() => {
|
||||
const index = SECTIONS[String(focusedKey ?? "").split(":")[0]];
|
||||
if (index === void 0 || index === current) return;
|
||||
current = index;
|
||||
notify();
|
||||
}, [focusedKey]);
|
||||
return null;
|
||||
}
|
||||
function NearSection({ index, children }) {
|
||||
const far = (focused) => Math.abs(rank(index) - rank(focused)) > NEAR;
|
||||
const [released, setReleased] = (0, useState)(() => far(current));
|
||||
(0, useEffect)(() => {
|
||||
const listener = (focused) => setReleased(far(focused));
|
||||
listeners.add(listener);
|
||||
listener(current);
|
||||
return () => {
|
||||
listeners.delete(listener);
|
||||
};
|
||||
}, [index]);
|
||||
return /* @__PURE__ */ (0, jsx)(SectionIndex.Provider, { value: index, children: /* @__PURE__ */ (0, jsx)(ReleaseImages, { when: released, children }) });
|
||||
}
|
||||
// Called by a section that can have nothing to show, before it returns null.
|
||||
function useSectionShown(shown) {
|
||||
const index = (0, useContext)(SectionIndex);
|
||||
(0, useEffect)(() => {
|
||||
if (index < 0 || shown === !empty.has(index)) return;
|
||||
if (shown) empty.delete(index);
|
||||
else empty.add(index);
|
||||
notify();
|
||||
}, [index, shown]);
|
||||
}
|
||||
// Cards further than this from the one focus last rested on let their images go; a screen shows six
|
||||
// or seven. The centre moves in steps of four, so a row re-renders every few cards, not on every one.
|
||||
var ROW_WINDOW = 8;
|
||||
var STEP = 4;
|
||||
// `reached` keeps its identity across renders, so a memoized card given it does not re-render.
|
||||
function useRowWindow() {
|
||||
const [center, setCenter] = (0, useState)(0);
|
||||
const [reached] = (0, useState)(() => (index) => setCenter(Math.floor(index / STEP) * STEP));
|
||||
return { far: (index) => Math.abs(index - center) > ROW_WINDOW, reached };
|
||||
}
|
||||
function RowCard({ far, children }) {
|
||||
return /* @__PURE__ */ (0, jsx)(ReleaseImages, { when: far, children });
|
||||
}
|
||||
|
||||
export { FocusedSection, NearSection, RowCard, useRowWindow, useSectionShown };
|
||||
@@ -0,0 +1,33 @@
|
||||
// The games the store front leads with, chosen by hand (2026-10-17): the spotlight draws from the
|
||||
// famous ones, "You might like" mixes them with the indie ones and the rest of the catalog. Edit
|
||||
// freely: an id that is not in the catalog, or whose host is paused, is passed over.
|
||||
|
||||
var FAMOUS = [
|
||||
"PPSA31246", "PPSA01500", "PPSA23226", "PPSA04609", "PPSA22327", "PPSA01474", "PPSA08330", "PPSA34015",
|
||||
"PPSA17221", "PPSA04029", "PPSA36458", "PPSA02530", "PPSA01467", "PPSA03016", "PPSA01417", "PPSA28180",
|
||||
"PPSA03396", "PPSA15508", "PPSA11386", "PPSA17168", "PPSA01903", "PPSA17597", "PPSA13427", "PPSA17905",
|
||||
"PPSA03671", "PPSA02225", "PPSA26344", "PPSA21567", "PPSA01285", "PPSA01342", "PPSA01968", "PPSA02015",
|
||||
"PPSA01317", "PPSA05389", "PPSA13197", "PPSA30528", "PPSA04264", "PPSA01593", "PPSA14002", "PPSA07411",
|
||||
"PPSA01556", "PPSA24191", "PPSA02632", "PPSA10595", "PPSA07570", "PPSA02343", "PPSA08560", "PPSA10621",
|
||||
"PPSA02572", "PPSA03845", "PPSA08709", "PPSA15304", "PPSA07783", "PPSA07230", "PPSA20560", "PPSA26786",
|
||||
"PPSA21704", "PPSA17599", "PPSA02433", "PPSA01289", "PPSA19534", "PPSA20397"
|
||||
];
|
||||
var INDIE = [
|
||||
"PPSA12544", "PPSA06465", "PPSA03355", "PPSA36082", "PPSA15552", "CUSA11302", "CUSA20499", "PPSA02154",
|
||||
"PPSA13579", "PPSA22520", "PPSA07587", "PPSA09804", "PPSA08102", "PPSA07117", "PPSA09076", "PPSA21402",
|
||||
"PPSA16786", "PPSA08766"
|
||||
];
|
||||
var shuffle = (list) => {
|
||||
for (let i = list.length - 1; i > 0; i--) {
|
||||
const j = Math.floor(Math.random() * (i + 1));
|
||||
[list[i], list[j]] = [list[j], list[i]];
|
||||
}
|
||||
return list;
|
||||
};
|
||||
// The listed games among `ids`, the catalog's own objects, in a new random order on every launch.
|
||||
function picked(games, ids) {
|
||||
const byId = new Map(games.map((game) => [game.id, game]));
|
||||
return shuffle(ids.map((id) => byId.get(id)).filter(Boolean));
|
||||
}
|
||||
|
||||
export { FAMOUS, INDIE, picked, shuffle };
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["UNITE AGAINST ANNIHILATION","Lead your elite squad in the fightback to save Earth from a huge alien invasion in this frantic, top down twin-stick shooter.","With hordes of alien creatures swarming across the planet, you’ll need to work together with up to three friends to devise tactics and keep each other alive under mounting pressure.","RUN & GUN:","1. Unleash a devastating array of firepower, shooting and looting Alien hordes in massively destructible environments.","2. Experiment with different player classes, earn skill upgrades and customize weapons and equipment to suit the way you play.","3. Fight alongside your friends, or become a ruthless mercenary to invade other players’ games and cause mayhem.","4. Track your kills and compare statistics against other players.","5. Experience brutal arcade action from the makers of Dead Nation™, RESOGUN™ and Super Stardust™.","Offline single player","Uses DUALSHOCK 4 vibration function","PS4 game can be controlled via PS Vita"],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/v9ftllayi6ynnkt8pgmh.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/v9ftllayi6ynnkt8pgmh.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/teckfq2xfw20giofk6sb.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/teckfq2xfw20giofk6sb.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/qthrzrbkmgyscz4ily8x.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/qthrzrbkmgyscz4ily8x.jpg"}],"summary":"Lead your elite squad in the fightback to save Earth from a huge alien invasion in this frantic, top down twin-stick shooter."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["The Glade of Dreams is in trouble once again! During a 100-year nap, the nightmares multiplied and spread, creating new monsters even more terrifying than before! These creatures are the stuff of legend… Dragons, giant toads, sea monsters, and even evil luchadores. With the help of Murfy, Rayman and Globox awake and must now help fight these nightmares and save the Teensies!","Offline multiplayer (2-4 players)","Uses DUALSHOCK 4 vibration function","Software subject to license (us.playstation.com/softwarelicense)."],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/kkgfjyuoqng00x4sir6j.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/kkgfjyuoqng00x4sir6j.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/t8zhedgdwoileoam4wia.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/t8zhedgdwoileoam4wia.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/yhctbxy9zjyvauavex9i.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/yhctbxy9zjyvauavex9i.jpg"}],"summary":"The Glade of Dreams is in trouble once again! During a 100-year nap, the nightmares multiplied and spread, creating new monsters even more terrifying than before!"}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["Injustice: Gods Among Us Ultimate Edition enhances the bold new franchise to the fighting game genre from NetherRealm Studios. Featuring six new playable characters, over 30 new skins, and 60 new S.T.A.R. Labs missions, this edition packs a punch. In addition to DC Comics icons such as Batman, The Joker, Green Lantern, The Flash, Superman and Wonder Woman, the latest title from the award-winning studio presents a deep original story. Heroes and villains will engage in epic battles on a massive scale in a world where the line between good and evil has been blurred.","Software subject to license (us.playstation.com/softwarelicense)."],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/qmfehbfsxbkcfb9xu3b4.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/qmfehbfsxbkcfb9xu3b4.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/rp2ggffuntqjzjyk6yqu.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/rp2ggffuntqjzjyk6yqu.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/z8mfnuz32a1nqdrjwqlp.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/z8mfnuz32a1nqdrjwqlp.jpg"}],"summary":"Injustice: Gods Among Us Ultimate Edition enhances the bold new franchise to the fighting game genre from NetherRealm Studios. Featuring six new playable characters, over 30 new skins, and 60 new S.T.A.R."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["Join an epic adventure with the Angry Birds in the legendary Star Wars universe, re-mastered for gaming systems! Use the Force, wield your Lightsaber, and blast away Pigtroopers on an intergalactic journey from the deserts of Tatooine to the depths of the Pig Star! Can you become a Jedi Master and restore freedom to the galaxy?"],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/dcaoj4wueibbv75ptc77.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/dcaoj4wueibbv75ptc77.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/faicxrbky37pqpasjwk4.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/faicxrbky37pqpasjwk4.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/zsspconuptqdqj6pwt4e.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/zsspconuptqdqj6pwt4e.jpg"}],"summary":"Join an epic adventure with the Angry Birds in the legendary Star Wars universe, re-mastered for gaming systems!"}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["Online servers for RIGS: Mechanized Combat League will shut down on 12th August 2022. All online features for this game (including online multiplayer modes) will cease on that date. You will still be able to play and enjoy this game in single player offline modes. However, from 12th August 2022, all online functionality will no longer be accessible in this game.","Have you got what it takes to be MVP in RIGS Mechanized Combat League?","Pilot your finely-tuned double-gunned sports “RIG” in futuristic custom-built arenas where mechanized combat and sports collide head-on.","Build your skills to unlock extra RIGS in the exhilarating single player experience, then team up and go online to take on the world.","Enjoy an incredible sense of immersion in this all-action sports shooter – exclusive to PlayStation®VR.","Offline single player","PlayStation VR headset required","PlayStation Camera required","Uses DUALSHOCK 4 vibration function","One-time licence fee to download to multiple PS4 systems. Sign in to PlayStation is not required to use this on your primary PS4, but is required for use on other PS4 systems.","See Health Warnings for important health information before using this product."],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/y5milgnew2zlkhs1bqnd.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/y5milgnew2zlkhs1bqnd.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/f2txqtsqazum7jvwukxu.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/f2txqtsqazum7jvwukxu.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/lvvnhw9ekjuxk2mpujcx.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/lvvnhw9ekjuxk2mpujcx.jpg"}],"summary":"Online servers for RIGS: Mechanized Combat League will shut down on 12th August 2022. All online features for this game (including online multiplayer modes) will cease on that date."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["PlayStation VR will no longer be supported in Minecraft after March 2025","CREATE","Build whatever you can imagine in your own infinite world that’s unique in every playthrough.","EXPLORE","Discover biomes, resources and mobs, and craft your way through a world filled with surprises in the ultimate sandbox game.","SURVIVE","Experience unforgettable adventures as you face mysterious foes, traverse exciting landscapes, and travel to perilous dimensions.","PLAY TOGETHER","Have a blast with friends, whether you’re sitting on the same couch in split screen or miles apart in cross-platform play for console, mobile and PC. Connect with millions of players on community servers or subscribe to Realms Plus to play with up to 10 friends on your own private server.","VIBRANT VISUALS","Vibrant Visuals is Minecraft’s biggest official visual enhancement – delivering a dazzling cosmetic upgrade with a new modern graphics pipeline and an array of visual improvements. Sunrises are more vivid, water reflects, forests become shaded, and more!","EXPERIENCE MORE"],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/sc8d2m.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/sc8d2m.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/sc8d2k.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/sc8d2k.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/sc8d2n.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/sc8d2n.jpg"}],"summary":"Build whatever you can imagine in your own infinite world that’s unique in every playthrough."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["What if someone knew your mind better than you did?","The Swapper is an award-winning, narrative driven puzzle game set in the furthest reaches of space.","The Swapper takes place in an isolated and atmospheric sci-fi world. Players wield an experimental device which allows them to create clones of themselves, swapping their entire consciousness into new bodies to overcome the challenges of the environment.","Features:","• Think: Fiendishly designed puzzles with equally clever solutions that are never more than a few steps away.","• Wonder: The art in The Swapper is constructed using clay models and everyday materials, which combine to create truly unique visuals in a detailed and atmospheric environment.","• Discover: A powerful and thoughtful story, told through the game's environment with narrative design from Tom Jubert, the writer behind hits including Driver: San Francisco and Faster Than Light.","Additional hardware required for Remote Play.","Additional hardware required for Interconnectivity.","Offline single player","Uses DUALSHOCK 4 vibration function","Remote Play allows users to connect to and play games on their PlayStation®4 or PlayStation®5 using a mobile device, PC, or another PlayStation®4 or PlayStation®5."],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/yfgpi0oskz4jnrus5qvo.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/yfgpi0oskz4jnrus5qvo.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/qsmcd1bfh644hjr5c1fr.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/qsmcd1bfh644hjr5c1fr.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/sc1026c.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/sc1026c.jpg"}],"summary":"The Swapper is an award-winning, narrative driven puzzle game set in the furthest reaches of space."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["In this frantic 2D action game, you are part of the Mercenary Kings, the most skilled team of warriors-for-hire on Earth, but when your comrades have fallen and the fearsome forces of CLAW have seized an island-wide top secret Laboratory Base, you must do what it takes to stop them.","But you're not going in unprepared! Your back-up is made of a crew of rogue geniuses and experts of their field! Able to craft & customize guns'n'blades or upgrading body armor, you've never been this ready to join the fight.","Whether its solo or with friends, move out, cut down CLAW and save the world!","Remote Play requires PS Vita system and sufficiently robust Wi-Fi connection.","1-4 players","Network Players 2-4","500MB minimum save size","DUALSHOCK®4","Remote Play","1080p HD Video Output","Online Play (Optional)"],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/zcjhmqeb7f25a5epnuxl.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/zcjhmqeb7f25a5epnuxl.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/uvaxhjnnplsnzta59qst.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/uvaxhjnnplsnzta59qst.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/s6ia95p2xgfxqlhaxtp6.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/s6ia95p2xgfxqlhaxtp6.jpg"}],"summary":"In this frantic 2D action game, you are part of the Mercenary Kings, the most skilled team of warriors-for-hire on Earth, but when your comrades have fallen and the fearsome forces of CLAW have seized an island-wide top…"}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["Music pack 1 gives you access to further killer tracks from Chase and Status, Kove, Modestep and Nero to listen to as you race around the galaxy.","In-game purchases optional","PS4: One-time licence fee to download to multiple PS4 systems. Sign in to PSN is not required to use this on your primary PS4, but is required for use on other PS4 systems.","PS Vita: One-time fee for use of downloads on up to 3 activated compatible Portable Console systems.","See Health Warnings for important health information before using this product."],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/e96wbmy0dgzogspip7ia.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/e96wbmy0dgzogspip7ia.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/e4yvv1tlcoodapgwirfy.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/e4yvv1tlcoodapgwirfy.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/x2oyerzw3byvucmm7trp.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/x2oyerzw3byvucmm7trp.jpg"}],"summary":"Music pack 1 gives you access to further killer tracks from Chase and Status, Kove, Modestep and Nero to listen to as you race around the galaxy."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["Long ago, the human realm was ruled by Adyr, a terrible and malevolent god, who enslaved mankind. But over time, rebellion grew in the hearts of men. Led by three powerful beings - the Judges - man rose up and overthrew Adyr and his monstrous Rhogar army, banishing them to a distant dimension. Humanity was finally free to dictate its own destiny. To dictate a new order...","Now, millennia later, in a land where no sins are forgiven and redemption does not exist, Adyr threatens to break free from his imprisonment. His Rhogar legions have invaded the human realm to pave a bloody path for their vengeful master’s return. Desperate and under siege, mankind calls upon an unlikely saviour - a convicted sinner rejected by society and cast out of the light... a man known as Harkyn. Branded with the tattoos of his immorality, he must travel to the source of this Darkness and face… the Lords of the Fallen.","Prepare to plunge into a dark fantasy Action-RPG, set amidst a grim world on the brink of annihilation. Harness powerful magic. Master a complex and satisfying melee combat system. Seek redemption through the fires of battle... and stand against a God.","Explore a Vast, Dark Fantasy World","From crumbling tower tops to ancient burial grounds, delve into a world facing mass destruction. Navigate labyrinthine paths and uncover hidden passages in pursuit of great treasures, but be warned: loot isn’t all that awaits the curious...","Conquer a Complex, Combat System","With every encounter presenting its own unique challenge, only those who master the deep and rewarding Soulslike combat will taste victory. Bolster your steel with devastating magic attacks, and earn XP with every kill to upgrade your preferred spells and attributes.","Confront the Lords of the Rhogar Army","While every Rhogar is guaranteed to test your mettle, by far the greatest threat amongst Adyr’s army is posed by his mighty generals, the towering Lords of the Fallen. These calamitous boss battles will test even the most skillful of warriors - one false move and the fate of the world could be sealed.","Wield Legendary Weapons and Epic Armour","Customise your combat style with a multitude of weapons and armours. Armour arrives in three forms: light for nimble players, medium for all-rounders, and heavy for those unafraid to absorb a blow. As for weapons, a vast array of hammers, staves, axes, swords, daggers, and claws are at your disposal in the battle against the Rhogar army. And then, there are those rare and powerful items of legend that only the most dedicated warriors will ever find…","Key Features:"],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/scii73.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/scii73.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/scii72.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/scii72.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/scii74.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/scii74.jpg"}],"summary":"Long ago, the human realm was ruled by Adyr, a terrible and malevolent god, who enslaved mankind. But over time, rebellion grew in the hearts of men."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["Tetris Ultimate has six exciting modes, fun new features, and unique visuals, the evolution of this iconic game is the ultimate must-have on next-gen consoles."],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/mi3nyinrv2icymsk67mv.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/mi3nyinrv2icymsk67mv.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/wdh4acm4k9r5rpmwn5wy.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/wdh4acm4k9r5rpmwn5wy.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/bae34q3floztdipb6xy4.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/bae34q3floztdipb6xy4.jpg"}],"summary":"Tetris Ultimate has six exciting modes, fun new features, and unique visuals, the evolution of this iconic game is the ultimate must-have on next-gen consoles."}
|
||||
@@ -1 +0,0 @@
|
||||
{"about":["When a young street hustler, a retired bank robber, and a terrifying psychopath find themselves entangled with some of the most frightening and deranged elements of the criminal underworld, the U.S.","government, and the entertainment industry, they must pull off a series of dangerous heists to survive in a ruthless city in which they can trust nobody — least of all each other.","Experience GTA Online, a dynamic and ever-evolving online universe for up to 30 players, where you can rise from street-level hustler to become a kingpin of your own criminal empire."],"shots":[],"summary":""}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["Experience the addictive gameplay of old-school arcade favorites, updated for the 21st century, with unique upgrades, player responsive difficulty, and a subtle system of tactics combined with classic gameplay.","Ultratron is a twin-stick arena shooter inspired by some of the best classics arcade gaming has to offer, updated and improved for the 21st century.","The last human in the universe has been slain by evil killer robots. As the last remaining humanoid battle droid, you'll be fighting through over 40 arcade levels to finally take on the four giant boss 'bots of the apocalypse.","An arcade game on steroids, Ultratron combines risk-reward arena gameplay with an upgrade system, responsive difficulty, pet drones, special weapon abilities, and online leaderboards. (Two player drop-in co-op mode on the PS3™ system and PS4™ system).","Video output in Full HD 1080p requires 1080p native display.","Additional hardware required for Remote Play.","2-1 players","11MB minimum save size","DUALSHOCK®4","Remote Play","1080p HD Video Output","Online Play (Optional)"],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/gzwcebwatrjkic9v1zkx.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/gzwcebwatrjkic9v1zkx.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/tjqbm6ytwvnwcuawdtxy.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/tjqbm6ytwvnwcuawdtxy.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/zpucvllxbrtrigomfx6t.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/zpucvllxbrtrigomfx6t.jpg"}],"summary":"Experience the addictive gameplay of old-school arcade favorites, updated for the 21st century, with unique upgrades, player responsive difficulty, and a subtle system of tactics combined with classic gameplay."}
|
||||
@@ -1 +1 @@
|
||||
{"about":["Hotline Miami is a high-octane action game overflowing with raw brutality, hard-boiled gunplay and skull crushing close combat.","Set in an alternative 1989 Miami, you will assume the role of a mysterious antihero on a murderous rampage against the shady underworld at the behest of voices on your answering machine.","Soon you'll find yourself struggling to get a grip of what is going on and why you are prone to these acts of violence.","Purchasing this content entitles you to both the PS3™, PS4™, and “PS Vita” versions!"],"shots":[{"url":"https://image.api.playstation.com/cdn/UP3643/CUSA00486_00/FREE_CONTENTnFiZPOIfLJpWsElK39Q5/PREVIEW_SCREENSHOT1_57064.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/cdn/UP3643/CUSA00486_00/FREE_CONTENTnFiZPOIfLJpWsElK39Q5/PREVIEW_SCREENSHOT1_57064.jpg?w=256&thumb=false"},{"url":"https://image.api.playstation.com/cdn/UP3643/CUSA00486_00/FREE_CONTENT4aG75WF2VM0QEUGtGDsP/PREVIEW_SCREENSHOT2_57064.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/cdn/UP3643/CUSA00486_00/FREE_CONTENT4aG75WF2VM0QEUGtGDsP/PREVIEW_SCREENSHOT2_57064.jpg?w=256&thumb=false"},{"url":"https://image.api.playstation.com/cdn/UP3643/CUSA00486_00/FREE_CONTENTeXakbFq5TNt9BnDanfKQ/PREVIEW_SCREENSHOT3_57064.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/cdn/UP3643/CUSA00486_00/FREE_CONTENTeXakbFq5TNt9BnDanfKQ/PREVIEW_SCREENSHOT3_57064.jpg?w=256&thumb=false"}],"summary":""}
|
||||
{"about":["Hotline Miami is a high-octane action game overflowing with raw brutality, hard-boiled gunplay and skull crushing close combat. Set in an alternative 1989 Miami, you will assume the role of a mysterious antihero on a murderous rampage against the shady underworld at the behest of voices on your answering machine. Soon you'll find yourself struggling to get a grip of what is going on and why you are prone to these acts of violence.","Offline single player","Software subject to license (us.playstation.com/softwarelicense).","PS3: One time license fee entitles play on up to 2 PlayStation® 3 systems activated by this account.","PS Vita: One time license fee entitles play on up to 3 PlayStation® Vita systems activated by this account."],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/xnzetcofuyj7oo9dtsjd.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/xnzetcofuyj7oo9dtsjd.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/czluiyzytlkkchwn1mga.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/czluiyzytlkkchwn1mga.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/qv1iqu0f1g1wmygyvsga.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/qv1iqu0f1g1wmygyvsga.jpg"}],"summary":"Hotline Miami is a high-octane action game overflowing with raw brutality, hard-boiled gunplay and skull crushing close combat."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["• Immerse yourself in the Moscow Metro – witness one of the most atmospheric worlds in gaming brought to life with stunning next-gen visuals at 60FPS","• Brave the horrors of the Russian apocalypse – equip your gasmask and an arsenal of hand-made weaponry as you face the threat of deadly mutants, human foes, and the terrifying environment itself","• Rebuilt and Remastered for next gen – this is no mere ‘HD port’. Metro 2033 has been rebuilt in the vastly improved Last Light engine and gameplay framework, to create the definitive version of the cult classic that fans and newcomers alike can enjoy","• Two unique Play Styles : ‘Spartan’ and ‘Survival’ – approach the campaign as a slow burn Survival Horror , or tackle it with the combat skills of a Spartan Ranger in these two unique modes","• The legendary Ranger Mode returns – dare you play the fearsome Ranger Mode?","Based on the internationally bestselling novel series by Dmitry Glukhovsky","Uses DUALSHOCK 4 vibration function","Offline single player","Remote Play allows users to connect to and play games on their PlayStation®4 or PlayStation®5 using a mobile device, PC, or another PlayStation®4 or PlayStation®5.","One-time licence fee to download to multiple PS4 systems. Sign in to PlayStation is not required to use this on your primary PS4, but is required for use on other PS4 systems.","See Health Warnings for important health information before using this product."],"shots":[{"url":"https://image.api.playstation.com/vulcan/ap/rnd/202608/2707/d46c88e6094d383dfb64460bce21b06c0036218eb017922f.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/vulcan/ap/rnd/202608/2707/d46c88e6094d383dfb64460bce21b06c0036218eb017922f.jpg?w=600&thumb=false"},{"url":"https://image.api.playstation.com/vulcan/ap/rnd/202608/2707/9165b3f112eb961ab712af495cc49d317a333db535f68ff3.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/vulcan/ap/rnd/202608/2707/9165b3f112eb961ab712af495cc49d317a333db535f68ff3.jpg?w=600&thumb=false"},{"url":"https://image.api.playstation.com/vulcan/ap/rnd/202608/2707/7cd4266d04c964a59a3eca6eef4e2f32e92ef3b39793f2f7.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/vulcan/ap/rnd/202608/2707/7cd4266d04c964a59a3eca6eef4e2f32e92ef3b39793f2f7.jpg?w=600&thumb=false"}],"summary":"Remote Play allows users to connect to and play games on their PlayStation®4 or PlayStation®5 using a mobile device, PC, or another PlayStation®4 or PlayStation®5."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["You are a solar-powered craft. The sun is your death timer. Hurtle towards the sunset at breakneck speed in a futile race against time. Delay the inevitable by catching speed boosts which reverse the setting sun - if only for a moment. Race The Sun is inspired by arcade games of the past with a focus on high scores, short game sessions, and pure fun mingled with nerve-wracking tension. The rules are simple: don't crash, stay in the light, and don't slow down!","VR Games may cause some players to experience motion sickness.","Offline single player","PlayStation VR headset compatible","Uses DUALSHOCK 4 vibration function","Remote Play allows users to connect to and play games on their PlayStation®4 or PlayStation®5 using a mobile device, PC, or another PlayStation®4 or PlayStation®5.","Software subject to license (us.playstation.com/softwarelicense).","PS3: One time license fee entitles play on up to 2 PlayStation® 3 systems activated by this account.","PS Vita: One time license fee entitles play on up to 3 PlayStation® Vita systems activated by this account."],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/e1qo5ia3khwpuyhbr5di.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/e1qo5ia3khwpuyhbr5di.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/htdzjp8glraklifyi5cg.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/htdzjp8glraklifyi5cg.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/ielqv4nqgxgyldwn9ph9.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/ielqv4nqgxgyldwn9ph9.jpg"}],"summary":"You are a solar-powered craft. The sun is your death timer. Hurtle towards the sunset at breakneck speed in a futile race against time."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["An ancient evil force has emerged from the portals and threatens the balance of both worlds! Only the Avatar stands a chance in defeating this new threat!","• Original Avatar storyline penned by the TV show’s creators.","• Wield the power of all 4 elements—water, earth, fire, and air as only the Avatar can!","• Change bending styles at any time to unleash devastating combos.","• Beat overwhelming odds by activating the all-powerful Avatar state.","Copyright:","a registered trademark of Activision Publishing, Inc. Purchasing and using the software constitutes acceptance of the Software License Agreement available at support.activision.com/license. ESRB rating icon is a registered trademarks of the Entertainment Software Association. All other trademarks and trade names are the properties of their respective owners."],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/sbr4xoktgwfkpckwfrsz.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/sbr4xoktgwfkpckwfrsz.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/in5npfohxl9c6fgxp9gg.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/in5npfohxl9c6fgxp9gg.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/svwbfzpxlvp58o8go44l.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/svwbfzpxlvp58o8go44l.jpg"}],"summary":"An ancient evil force has emerged from the portals and threatens the balance of both worlds! Only the Avatar stands a chance in defeating this new threat!"}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["N++ is a fast-paced, momentum-based platformer about darting around obstacles, narrowly evading enemies and collecting gold in a beautiful minimalist landscape.","In addition to the lengthy and challenging single player campaign, we’ve packed a ton of features into this one last entry in the N series including:","-4340 hand-made levels","-Custom Levels, Level Editor & Global Level Sharing","-Leaderboards and replays for every level (even the ones you make)","-Local Co-op Mode (up to 4 players)","-Local Competitive Mode (up to 4 Players)","-Hardcore Mode, an intense single-player challenge which only the best ninjas will survive","-Intense, hidden Secret challenges to discover","-63 tracks by top electronic artists","-119 different color palettes let you customize the game’s look and keep it fresh every time you play","-and more!"],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/yo3grrfhqnhtku7rvhyi.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/yo3grrfhqnhtku7rvhyi.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/cvytcmdaphc73ocnnd5r.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/cvytcmdaphc73ocnnd5r.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/swy1ecrvxhdrjnepwjwb.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/swy1ecrvxhdrjnepwjwb.jpg"}],"summary":"N++ is a fast-paced, momentum-based platformer about darting around obstacles, narrowly evading enemies and collecting gold in a beautiful minimalist landscape."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["The darkest entry in the series yet, FINAL FANTASY TYPE-0 delivers bloody, breakneck battles alongside the masterful storytelling known of the franchise.","This upcoming blockbuster title will transport you to the dynamic and enthralling world of Orience, where an unforgiving war of nations threatens to decimate the entire continent.","Enter the fray as Class Zero, a group of elite students defending their homeland against the onslaught of the warmongering Militesi Empire.","Master their fourteen unique fighting styles in an all-new, fast-paced combat system to topple the empire and uncover the secrets behind the war.","1 player","26GB minimum save size","DUALSHOCK®4 Vibration Function","HD Video Output 720p,1080i,1080p","One-time licence fee to download to multiple PS4 systems. Sign in to PlayStation Network is not required to use this on your primary PS4, but is required for use on other PS4 systems.","See Health Warnings for important health information before using this product.","CHARACTER DESIGN: TETSUYA NOMURA","FINAL FANTASY TYPE-0, SQUARE ENIX and the SQUARE ENIX logo are registered trademarks or trademarks of Square Enix Holdings Co., Ltd."],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/fueyqnriur1srap1gcy6.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/fueyqnriur1srap1gcy6.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/x5ptcgwrmowdwrsyoaqi.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/x5ptcgwrmowdwrsyoaqi.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/i1aagpaoa3e6u1hfjprt.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/i1aagpaoa3e6u1hfjprt.jpg"}],"summary":"The darkest entry in the series yet, FINAL FANTASY TYPE-0 delivers bloody, breakneck battles alongside the masterful storytelling known of the franchise."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["Play Homefront: The Revolution for free! Enjoy unlimited access to Resistance Mode, the online co-operative experience, and play through the entire first Red Zone from the single-player Story Mode in the huge Free Demo.","Homefront features enhanced visuals on PS4™ Pro, including higher resolutions and smoother framerate.","Philadelphia - once the birthplace of Independence - has become a ghetto, where surveillance drones and armoured patrols keep the population at heel, crushing any dissent with savage force.","Her once-proud citizens live in a police state, forced to collaborate just to survive, their dreams of freedom long since extinguished.","But in the badlands of the Red Zone, in the bombed out streets and abandoned subways, a Resistance is forming. A guerrilla force, determined to fight for their freedoms despite overwhelming odds and ignite the second American Revolution.","But Freedom always has a price…","Uses DUALSHOCK 4 vibration function","Offline single player","Enhanced game play on PS4 Pro console","Remote Play allows users to connect to and play games on their PlayStation®4 or PlayStation®5 using a mobile device, PC, or another PlayStation®4 or PlayStation®5.","One-time licence fee to download to multiple PS4 systems. Sign in to PlayStation is not required to use this on your primary PS4, but is required for use on other PS4 systems.","See Health Warnings for important health information before using this product."],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/ilbqvool7vfejli1qdud.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/ilbqvool7vfejli1qdud.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/fuzrsolthwhlq2wijmlx.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/fuzrsolthwhlq2wijmlx.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/wsubulssj7lvki0wtweb.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/wsubulssj7lvki0wtweb.jpg"}],"summary":"Play Homefront: The Revolution for free! Enjoy unlimited access to Resistance Mode, the online co-operative experience, and play through the entire first Red Zone from the single-player Story Mode in the huge Free Demo."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["Blood Bowl 2: Legendary Edition is the video game adaptation of Games Workshop's acclaimed board game, a masterful blend of American football and the Warhammer fantasy world, brought together in an incredible turn-based strategy game.","Play as 24 races, each with their own Star Players. Discover a new endless solo league and a brand-new Challenge mode. For the first time in Blood Bowl history, spice up your matches by fielding teams made up of players from different races, or going all-in with a roster of Star Players only!","A wealth of multiplayer additions further expand the possibilities available to players to communicate, create, organise and customise their online leagues and competitions.","Warhammer Classics","Warhammer Classics is a collection of the greatest titles from the annals of Warhammer video game history, spanning the last 30 years, brought back to life as a series to celebrate their iconic legacy.","Because of their classic nature, some of the content may not accurately reflect current depictions, lore, or presentation within the current Warhammer universes and settings.","Uses DUALSHOCK 4 vibration function","Optional In-game purchases","Offline multiplayer (2 players)","Remote Play allows users to connect to and play games on their PlayStation®4 or PlayStation®5 using a mobile device, PC, or another PlayStation®4 or PlayStation®5."],"shots":[{"url":"https://image.api.playstation.com/vulcan/ap/rnd/202009/2315/kMTDyni0UqBuZyYD5uLEaoT3.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/vulcan/ap/rnd/202009/2315/kMTDyni0UqBuZyYD5uLEaoT3.jpg?w=600&thumb=false"}],"summary":"Blood Bowl 2: Legendary Edition is the video game adaptation of Games Workshop's acclaimed board game, a masterful blend of American football and the Warhammer fantasy world, brought together in an incredible turn-based…"}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["Taking place nine years after the events of MGSV: Ground Zeroes and the fall of Mother Base, Snake a.k.a. Big Boss, awakes from a near decade-long coma. The game resumes the story in 1984, with the Cold War still as the backdrop, which continues to shape a global crisis. Snake’s journey takes him into a world where he is driven by a need for revenge and the pursuit of a shadow group, XOF. METAL GEAR SOLID V: The Phantom Pain continues to ambitiously explore mature themes such as the psychology of warfare and the atrocities that result from those that engage in its vicious cycle. One of the most anticipated games of the year with its open-world design, photorealistic visual fidelity and feature-rich game design, MGSV: The Phantom Pain will leave its mark as one of the hallmarks in the gaming industry for its cinematic storytelling, heavy themes, and immersive tactical gameplay.","Uses DUALSHOCK 4 vibration function","Optional In-game purchases","Offline single player","Remote Play allows users to connect to and play games on their PlayStation®4 or PlayStation®5 using a mobile device, PC, or another PlayStation®4 or PlayStation®5.","One-time licence fee to download to multiple PS4 systems. Sign in to PlayStation is not required to use this on your primary PS4, but is required for use on other PS4 systems.","See Health Warnings for important health information before using this product."],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/scj1o8.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/scj1o8.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/scj1o3.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/scj1o3.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/scj1o4.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/scj1o4.jpg"}],"summary":"Taking place nine years after the events of MGSV: Ground Zeroes and the fall of Mother Base, Snake a.k.a. Big Boss, awakes from a near decade-long coma."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["For the first time in any LEGO videogame, characters from iconic entertainment franchises join forces and battle in worlds outside of their own. In addition to the game, the LEGO Dimensions Starter Pack will include the LEGO Toy Pad, which allows players to transport special LEGO minifigures and other LEGO objects into the game"],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/eyxq75cvuttufqael9vr.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/eyxq75cvuttufqael9vr.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/ji2xvhzi3uycpseknlds.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/ji2xvhzi3uycpseknlds.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/ulzcloxvtwcnpbnd7dvy.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/ulzcloxvtwcnpbnd7dvy.jpg"}],"summary":"For the first time in any LEGO videogame, characters from iconic entertainment franchises join forces and battle in worlds outside of their own."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["YOU have to show what you’re made of as the war over Europe is in full swing. Fight waves of Axis planes and panzers until you hit the boss enemies – the ACES OF THE LUFTWAFFE.","It is the darkest hour for England. The Axis are sending their best into the Battle of Britain, and only a handful of brave pilots are left to destroy them. Get into your war plane and don’t let go of the trigger before each and every enemy has been blown out of the skies! But even if you vanquish the notorious Aces of the Luftwaffe, are you prepared to take the fight to the mainland?","Will YOU foil the occult plans of the Luftwaffe to spread darkness over England?","Uses DUALSHOCK 4 vibration function","Offline single player","One-time licence fee to download to multiple PS4 systems. Sign in to PlayStation is not required to use this on your primary PS4, but is required for use on other PS4 systems.","See Health Warnings for important health information before using this product."],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/fleu4mwgjvx4gkvkomr5.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/fleu4mwgjvx4gkvkomr5.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/fgznz7hhoihs8jwkdw3d.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/fgznz7hhoihs8jwkdw3d.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/uctgwbuafswq0o2x7vah.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/uctgwbuafswq0o2x7vah.jpg"}],"summary":"YOU have to show what you’re made of as the war over Europe is in full swing. Fight waves of Axis planes and panzers until you hit the boss enemies – the ACES OF THE LUFTWAFFE."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["The Gods of Olympus have abandoned humanity, leaving you to perish without their benevolence. Take up arms against the Gods, climb Mount Olympus, and take their divine powers for yourself to ensure mankind’s survival!","Apotheon is a fast and brutal 2D action game with a striking art style and heroic narrative based on Ancient Greek Mythology.","Features:","-Brutal and bloody bronze-aged combat! Slay your enemies with swords, spears, arrows, and other ancient weapons of war.","-Explore the massive open world of Mount Olympus! Battle mythical beings and search for divine treasure across the Forests of Artemis, the Palaces of Apollo, and other sanctuaries of the Gods.","-Guide the rise of Nikandreos, humanity’s last hero. Interact with a colorful cast of fully voiced legendary characters throughout a rich single-player experience.","-Challenge your friends to single combat! In one versus one local multiplayer, pit your skills against other would-be heroes of Greece.","1-2 players","650MB minimum save size","DUALSHOCK®4","1080p HD Video Output","Copyright Alientrap Games"],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/v97ez4hjzon6fk2ctv6y.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/v97ez4hjzon6fk2ctv6y.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/il5dpb1rvdik09iq5inx.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/il5dpb1rvdik09iq5inx.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/xftaiytexnvbyd2nzbwe.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/xftaiytexnvbyd2nzbwe.jpg"}],"summary":"The Gods of Olympus have abandoned humanity, leaving you to perish without their benevolence. Take up arms against the Gods, climb Mount Olympus, and take their divine powers for yourself to ensure mankind’s survival!"}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["Grab your trusty sword, strap on a fearsome helmet, and plunge into the chaotic fray of Viking Squad! As a member of this ragtag group you must put a stop to the wildly mischievous Loki and reopen the gates to Valhalla. Work together to unleash massive attacks on foes and expand your arsenal in this three player co-op brawler.","Key features:","- PS4 Pro Enhanced","- Local and Online Co-op.","- Find new weapons and gear to level up each character.","- Each playable character has their own signature weapon changing the way they approach combat.","- Lane based brawling with precise and intense combat system.","- The Gods guide your voyage: By worshiping each god new opportunities and perils are unveiled.","- Striking hand-drawn 2d art style, courtesy of Jesse 'the Drawbarian' Turner.","- Sound by Power Up Audio, Music by A Shell In The Pit.","Additional hardware required for Remote Play.","Online features may be terminated at any time."],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/d5qan5kj1rpied3ekei5.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/d5qan5kj1rpied3ekei5.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/d0oc06hrm3a8n6sujd2n.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/d0oc06hrm3a8n6sujd2n.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/gbqsletmdbwaa0lfsupm.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/gbqsletmdbwaa0lfsupm.jpg"}],"summary":"Grab your trusty sword, strap on a fearsome helmet, and plunge into the chaotic fray of Viking Squad! As a member of this ragtag group you must put a stop to the wildly mischievous Loki and reopen the gates to Valhalla."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["Odin Sphere: Leifthrasir is an enhanced HD remake of Odin Sphere game for PlayStation 2. Many various adjustments and changes were made in gameplay, considering comments from people who played the original game. While this is enhanced version of the original and it's trying to stay true to it, there are new gameplay and story elements presented in this release, some of which include new boss fights, new attack moves, new background music, and new map area to explore. While the initial idea of the developers was to make just n HD remastered release, it ended up being more of a re-created game version. As such, the game offers both classic mode as well as refined mode with all new elements and new gameplay."],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/qxuyqlcamjs8qkqfbr5y.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/qxuyqlcamjs8qkqfbr5y.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/hkg63ccqtrd1oyt3vnh4.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/hkg63ccqtrd1oyt3vnh4.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/pvhet9dbfhziwrg6cmnx.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/pvhet9dbfhziwrg6cmnx.jpg"}],"summary":"Odin Sphere: Leifthrasir is an enhanced HD remake of Odin Sphere game for PlayStation 2. Many various adjustments and changes were made in gameplay, considering comments from people who played the original game."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["Never Alone (Kisima Ingitchuna) is the first game developed in collaboration with the Iñupiat, an Alaska Native people. Nearly 40 Alaska Native elders, storytellers and community members contributed to the development of the game. Play as a young Iñupiat girl and an arctic fox as they set out to find the source of the eternal blizzard which threatens the survival of everything they have ever known.","Guide both characters in single-player mode or play cooperatively with a friend or family member as you trek through frozen tundra, leap across treacherous ice floes, swim through underwater ice caverns, and face numerous enemies both strange and familiar in the journey to save the girl’s village.","In this atmospheric puzzle platformer, you will explore awe-inspiring environments, perform heroic deeds, and meet legendary characters from Iñupiaq stories — all narrated by a master storyteller in the spoken Iñupiaq language.","Video output in Full HD 1080p requires 1080p native display.","1 player","2GB minimum save size","1080p HD Video Output"],"shots":[],"summary":"Never Alone (Kisima Ingitchuna) is the first game developed in collaboration with the Iñupiat, an Alaska Native people."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["A new era of Monopoly for home consoles! The Monopoly Family Fun Pack gathers the 3 Monopoly Games:","- Monopoly PLUS: the classic Monopoly with a 3D animated board!","- My Monopoly, to create your very own board","- Monopoly Deal, a fast-paced and addictive Monopoly card-game","- The Monopoly Rabbids DLC is offered !","Enjoy the classic Monopoly in new fun ways, with your friends and people all around the world!","Video output in Full HD 1080p requires 1080p native display.","1080p HD Video Output","Offline Play Enabled"],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/x3he4erwn89jp5zd06tl.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/x3he4erwn89jp5zd06tl.jpg"}],"summary":"Enjoy the classic Monopoly in new fun ways, with your friends and people all around the world!"}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["※The items offered in this pack can be purchased as a single item. Refunds will not be offered for duplicate purchase.","Project CARS: Game Of The Year Edition is the ultimate choice for serious racing fans - created by gamers, tested by real racing drivers, and the preferred choice of Esports pros. Featuring all the elements of the original core experience that made Project CARS the most authentic, beautiful, intense, and technically-advanced racing game on the planet, the Game Of The Year Edition also includes an additional:","• 50+ cars (125 total)","• 4 tracks (35 unique locations, 100+ layouts total)","• 60+ community-created liveries","• 500+ features and improvements","All this, plus two special and exclusive items – the iconic Nurburgring Combined Nordschleife + GP circuit and two exclusive vehicles from Pagani – the Zonda Revolucion and Huayra BC.","Copyright:"],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/sc6qpq.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/sc6qpq.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/sc6qpp.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/sc6qpp.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/sc6qpo.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/sc6qpo.jpg"}],"summary":"※The items offered in this pack can be purchased as a single item. Refunds will not be offered for duplicate purchase."}
|
||||
@@ -1 +1 @@
|
||||
{"about":["Uncertain of his sister's fate, a boy enters Limbo.","Limbo is an award-winning indie adventure, critically acclaimed for its captivating puzzle design and immersive sound and visuals. Its dark, misty spaces and haunting narrative will stay with you forever.","What the press said: \"Limbo is as close to perfect at what it does as a game can get.\"","Destructoid – 10/10 \"The game is a masterpiece.\"","Giant Bomb – 5/5 \"Limbo is genius. Freaky, weird genius. Disturbing, uncomfortable genius.\"","The Escapist – 5/5 \"Dark, disturbing, yet eerily beautiful, Limbo is a world that deserves to be explored.\""],"shots":[{"url":"https://image.api.playstation.com/vulcan/img/rnd/202010/0813/y7WUbV4HXSRWC1XqJjKhRtmU.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/vulcan/img/rnd/202010/0813/y7WUbV4HXSRWC1XqJjKhRtmU.jpg?w=256&thumb=false"},{"url":"https://image.api.playstation.com/vulcan/img/rnd/202010/0813/XUcaSSyRYyOWRe4Z5mkglIye.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/vulcan/img/rnd/202010/0813/XUcaSSyRYyOWRe4Z5mkglIye.jpg?w=256&thumb=false"},{"url":"https://image.api.playstation.com/vulcan/img/rnd/202010/0813/U6J8nV1CIZO9VdxMSOPj6xUi.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/vulcan/img/rnd/202010/0813/U6J8nV1CIZO9VdxMSOPj6xUi.jpg?w=256&thumb=false"}],"summary":"From the creators of INSIDE"}
|
||||
{"about":["Uncertain of his sister's fate, a boy enters Limbo.","Limbo is an award-winning indie adventure, critically acclaimed for its captivating puzzle design and immersive sound and visuals. Its dark, misty spaces and haunting narrative will stay with you forever.","What the press said:","\"Limbo is as close to perfect at what it does as a game can get.\"","Destructoid – 10/10","\"The game is a masterpiece.\"","Giant Bomb – 5/5","\"Limbo is genius. Freaky, weird genius. Disturbing, uncomfortable genius.\"","The Escapist – 5/5","\"Dark, disturbing, yet eerily beautiful, Limbo is a world that deserves to be explored.\"","Joystiq – 5/5","Winner of more than 100 awards, including:"],"shots":[{"url":"https://image.api.playstation.com/vulcan/ap/rnd/202512/1113/3a88a56902e349a0a0546cb3ef770ba0e2275fd64e9bc047.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/vulcan/ap/rnd/202512/1113/3a88a56902e349a0a0546cb3ef770ba0e2275fd64e9bc047.jpg?w=600&thumb=false"},{"url":"https://image.api.playstation.com/vulcan/ap/rnd/202512/1113/e2014a44af01f9cc352dc088a3907453490d3faa973cd0bf.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/vulcan/ap/rnd/202512/1113/e2014a44af01f9cc352dc088a3907453490d3faa973cd0bf.jpg?w=600&thumb=false"},{"url":"https://image.api.playstation.com/vulcan/ap/rnd/202512/1113/72b1382997df8ddcc0818814a31bcdfef42f79b72e4cfaf9.jpg?w=1920&thumb=false","thumb":"https://image.api.playstation.com/vulcan/ap/rnd/202512/1113/72b1382997df8ddcc0818814a31bcdfef42f79b72e4cfaf9.jpg?w=600&thumb=false"}],"summary":"Limbo is an award-winning indie adventure, critically acclaimed for its captivating puzzle design and immersive sound and visuals. Its dark, misty spaces and haunting narrative will stay with you forever."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["Stealth Inc 2 is a puzzle platformer where you play the role of a clone escaping a sinister and high-tech testing facility.","Stealth Inc 2 tests both your brain and your reflexes over 60 varied levels linked together in a sprawling overworld.","Death is never more than a few moments away, but one of the few advantages of being a clone is that death isn’t all that permanent. With no loading screens and no lives to worry about, players are encouraged to use their inevitable demise as a learning tool as they navigate lasers, homicidal robots and terrifying bosses in the ultimate hostile work environment.","Explore the expansive PTi facility, including six distinct areas littered with tests to complete and secrets to collect.","Solve puzzles with help from six gadgets that are unlocked as you play, allowing you to do everything from teleporting across entire levels to hacking robots that patrol the facility.","Video output in Full HD 1080p requires 1080p native display.","1 player","370MB minimum save size","DUALSHOCK®4","1080p HD Video Output"],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/yonmrwntcn7hzsbw5snm.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/yonmrwntcn7hzsbw5snm.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/ubqvsbhf167iylg0idq7.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/ubqvsbhf167iylg0idq7.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/vblgcepnb03uw1fgxwbs.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/vblgcepnb03uw1fgxwbs.jpg"}],"summary":"Stealth Inc 2 is a puzzle platformer where you play the role of a clone escaping a sinister and high-tech testing facility."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["Skullgirls 2nd Encore is a beautiful, fast-paced, and critically acclaimed 2D fighting game that puts players in control of fierce warriors in an extraordinary Dark Deco world. Each of the 14 wildly original characters features unique gameplay mechanics and plenty of personality.","Skullgirls is the perfect fighting game for casual and competitive fighting game fans alike. Includes fully voiced story mode, gorgeous animation, and a soundtrack by Michiru Yamane.","Offline multiplayer (2 players)","Uses DUALSHOCK 4 vibration function","Software subject to license (us.playstation.com/softwarelicense).","PS Vita: One time license fee entitles play on up to 3 PlayStation® Vita systems activated by this account."],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/ygiecnd09ptnhdmc2k17.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/ygiecnd09ptnhdmc2k17.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/r4td7ywh1claxgzrg6qw.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/r4td7ywh1claxgzrg6qw.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/kwwnvt0gwtr45vxhej2g.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/kwwnvt0gwtr45vxhej2g.jpg"}],"summary":"Skullgirls 2nd Encore is a beautiful, fast-paced, and critically acclaimed 2D fighting game that puts players in control of fierce warriors in an extraordinary Dark Deco world."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["Teslagrad is a 2D puzzle platformer with action elements, where magnetism and other electromagnetic powers are the key to discovering the secrets kept in the long abandoned Tesla Tower. Gain new abilities to explore a non-linear world with more than 100 beautiful hand-drawn environments, in a steampunk-inspired vision of old Europe. You play as a young boy who suddenly finds himself embroiled in a long-forgotten conspiracy, involving the despotic king who has ruled the nation with an iron fist for several years. Jump into an outstanding adventure told through voiceless storytelling. Armed with ancient Teslamancer technology and your own ingenuity and creativity, your path lies through the decrepit Tesla Tower and beyond.","1 player","56MB minimum save size","1080p HD Video Output"],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/ynm9vmcrdnu96nf9pqh9.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/ynm9vmcrdnu96nf9pqh9.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/q8nl89kpgrutz4koccuc.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/q8nl89kpgrutz4koccuc.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/f040x5bj6yctwqvu2ob3.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/f040x5bj6yctwqvu2ob3.jpg"}],"summary":"Teslagrad is a 2D puzzle platformer with action elements, where magnetism and other electromagnetic powers are the key to discovering the secrets kept in the long abandoned Tesla Tower."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["PAYDAY is an action-packed, four-player co-op shooter where you rob banks and get paid.","The Crimewave edition includes an enhanced graphic engine. Up to four friends co-operate on the hits and as the crew progresses the jobs become bigger, better and more rewarding. Along with earning more money and becoming a legendary criminal Crime does pay – use your funds to customize your character with new skillsets that change the way you play and kit them out with their own guns and gear. Rebuilt visuals bring heisting into 1080p resolution. See every bank note fly and Feel every bullet blast past your head in full HD .","Uses DUALSHOCK 4 vibration function","Offline single player","One-time licence fee to download to multiple PS4 systems. Sign in to PlayStation is not required to use this on your primary PS4, but is required for use on other PS4 systems.","See Health Warnings for important health information before using this product."],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/dh7om5ojsb5q3eavu7cd.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/dh7om5ojsb5q3eavu7cd.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/cxtmzlmqpewuisksmr9v.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/cxtmzlmqpewuisksmr9v.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/cob7ev11n7cyt9kuepya.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/cob7ev11n7cyt9kuepya.jpg"}],"summary":"PAYDAY is an action-packed, four-player co-op shooter where you rob banks and get paid."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["Toto Temple Deluxe is a fast-paced, local-multiplayer king-of-the-hill style game in which players must steal an egg-laying goat from their friends and try to keep it on their own head for as long as possible. You know, normal stuff.","Infinitely dash in any direction to swiftly move around and powerfully headbutt the goat carrier to steal its four-legged booty. Escape your jealous opponents and protect the goat by blocking their attacks with a well-timed shield pop! You’ll 'get their goat', guaranteed.","And don’t worry if you’re friendless. Bots will play with you whenever you want and for as long as you want. They never complain. They also never open up your fridge and ask if they can eat that pizza slice you got left from last night. Bots are awesome. Oh, and you can change their difficulty level too, because they will probably kick your astonishing little bottom.","1-4 players","250MB minimum save size","DUALSHOCK®4","1080p HD Video Output"],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/mzm2qqd8wonmhzwnxfby.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/mzm2qqd8wonmhzwnxfby.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/ezzqnpyabxasb8ggv9rz.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/ezzqnpyabxasb8ggv9rz.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/txhqvbkwjn2lwkjxeatv.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/txhqvbkwjn2lwkjxeatv.jpg"}],"summary":"Toto Temple Deluxe is a fast-paced, local-multiplayer king-of-the-hill style game in which players must steal an egg-laying goat from their friends and try to keep it on their own head for as long as possible."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["Overwatch is an always-on and ever-evolving free-to-play, team-based hero shooter game set in an optimistic future, where every match is the ultimate 5v5 or 6v6 battlefield brawl featuring new heroes and maps, different ways to play, and unique cosmetics! Lead the charge, ambush your enemies, or aid your allies as one of Overwatch’s 40+ distinct heroes. Team up with friends, take them into battle across 25+ futuristic maps inspired by real-world locations, and master multiple unique game modes.","Reign of Talon - Season 5: A Grim Doctrine","Sink your teeth into a haunting new season as Doctrine escapes Grimsvotn, Halloween mayhem rises from the grave, and the Reign of Talon reaches its finale!","Something wicked this way comes... the wait is over! Doctrine emerges from the frozen depths of Grimsvotn and into the Support roster, bringing a deadly new philosophy of life, death, and everything worth taking in between. Follow his trail of destruction into the volcanic prison where Doomfist set him free on the first new Escort map since Overwatch 2 launched. As his escape unfolds, the Reign of Talon reaches its thrilling conclusion, years in the making.","Then raise some hell this Halloween with Mystery Madness: Graveyard Games, where every match is a fresh experiment in mayhem. The shadows hold even more surprises, as Sombra returns with a whole new bag of tricks as a Support alongside a reworked Roadhog. Resurrect Battle Passes past with Unvaulted Passes, embrace Mythic Wuyang's otherworldly power, and turn everything all the way up with Lucio's first Mythic Weapon, complete with our coolest custom audio and effects yet.","Beware. The final chapter is here.","Uses DUALSHOCK 4 vibration function","Optional In-game purchases","Online play required","Software subject to license (us.playstation.com/softwarelicense)."],"shots":[],"summary":"Overwatch is an always-on and ever-evolving free-to-play, team-based hero shooter game set in an optimistic future, where every match is the ultimate 5v5 or 6v6 battlefield brawl featuring new heroes and maps, different…"}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["TRANSFORMERS: Fall of Cybertron transports you to the final days of the planet Cybertron where you will experience the darkest hours of the apocalyptic war between the Autobots and Decepticons. Embark on an adrenaline-fueled journey through a wide range of missions and massive environments designed around each character's unique abilities.","Game includes three DLC packs! You get the Multiplayer Havoc Pack, DINOBOT Destructor Pack and Massive Fury Pack with game purchase!","Copyright:"],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/qyvf2qmsk8yhwoewjgac.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/qyvf2qmsk8yhwoewjgac.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/msbn4rqzgoth0ewhp2ah.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/msbn4rqzgoth0ewhp2ah.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/gqx38n1ieu2hqxudzjia.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/gqx38n1ieu2hqxudzjia.jpg"}],"summary":"TRANSFORMERS: Fall of Cybertron transports you to the final days of the planet Cybertron where you will experience the darkest hours of the apocalyptic war between the Autobots and Decepticons."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["Adventure Time: Finn & Jake Investigations is an upcoming action adventure video game developed by Vicious Cycle Software under license from Cartoon Network Interactive. This is the fourth game based on the animated television series Adventure Time following The Secret of the Nameless Kingdom, and the first action adventure title in the series presented in full 3D graphics.","In this game, players can check out \"Land of Ooo locales, talk to characters, sharpen their creative puzzle-solving skills, defeat bad guys and just have fun.\" Loosely based on the TV show's sixth season, the game features \"a focus on exploring, investigating, and puzzle-solving. Thanks to the discovery of an assignment printing machine called the 'tickertype,' Finn and Jake decide to become detectives like Joshua and Margaret (Finn and Jake's parents). Finn's sword will see a bit of action too, allowing players to fill the Tree House treasure room full of enemy drops."],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/vjpeiaioq0rftr5q2q9r.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/vjpeiaioq0rftr5q2q9r.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/scppqs.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/scppqs.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/scppqv.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/scppqv.jpg"}],"summary":"Adventure Time: Finn & Jake Investigations is an upcoming action adventure video game developed by Vicious Cycle Software under license from Cartoon Network Interactive."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["※This item is also offered in a pack. Refunds will not be offered for duplicate purchase.","FINISH THE FIGHT","EA SPORTS™ UFC® 2 innovates with stunning character likeness and animation, adds an all new Knockout Physics System and authentic gameplay features, and invites all fighters to step back into the Octagon® to experience the thrill of finishing the fight.","Conditions and restrictions apply. See http://www.easports.com/ufc/game-and-offer-disclaimers.","Copyright:"],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/j9djp2am9w8unvxihnhl.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/j9djp2am9w8unvxihnhl.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/vfmmnaxo18hmgvkp4tjv.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/vfmmnaxo18hmgvkp4tjv.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/abc6bagedzvuqfys9x1k.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/abc6bagedzvuqfys9x1k.jpg"}],"summary":"※This item is also offered in a pack. Refunds will not be offered for duplicate purchase."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["Broken Age is a timeless coming-of-age story of barfing trees and talking spoons. Vella Tartine and Shay Volta are two teenagers in strangely similar situations, but radically different worlds. The player can freely switch between their stories, helping them take control of their own lives, and dealing with the unexpected adventures that follow.","Key Features:","- Pointing","- Clicking","- Original soundtrack, composed by Peter McConnell, recorded by the Melbourne Symphony Orchestra","- All-star voice cast, including Elijah Wood, Jack Black, Jennifer Hale, Masasa Moyo, Wil Wheaton, and Pendleton Ward","- Dialog Trees!","- Some jokes. Unless you don't think they're funny, in which case we totally weren't trying to be funny","- A whole bunch of awesome PUZZLES","- This one really hard puzzle that you won't get but you'll look it up online and not tell anybody","- All your hopes and dreams","Additional hardware required for Interconnectivity."],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/b3b8t4jyznebwr0mgame.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/b3b8t4jyznebwr0mgame.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/s7feana4jbq5dmrodoe9.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/s7feana4jbq5dmrodoe9.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/vrnzmbwzsd2hbbjsmg8e.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/vrnzmbwzsd2hbbjsmg8e.jpg"}],"summary":"Broken Age is a timeless coming-of-age story of barfing trees and talking spoons. Vella Tartine and Shay Volta are two teenagers in strangely similar situations, but radically different worlds."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["Batman: Arkham City sends players soaring into Arkham City - a heavily fortified sprawling district in the heart of Gotham City. Batman Arkham City introduces a brand-new story that draws together an all-star cast of classic characters and murderous villains from the Batman universe.","Offline single player","Uses DUALSHOCK 4 vibration function","Software subject to license (us.playstation.com/softwarelicense)."],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/ldvklsva2j5klvopvsmf.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/ldvklsva2j5klvopvsmf.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/ggc6pihcjvcrhiytujdb.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/ggc6pihcjvcrhiytujdb.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/icqqd9frm67e47d7zb7p.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/icqqd9frm67e47d7zb7p.jpg"}],"summary":"Batman: Arkham City sends players soaring into Arkham City - a heavily fortified sprawling district in the heart of Gotham City."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["Dying Light: The Following - Enhanced Edition takes parkour-fueled zombie survival to a whole new level. Enjoy the definitive Dying Light experience with the brand-new Legend system, improved visuals, major gameplay enhancements, and more. This package comes with all the available bonus content, including Be the Zombie, Cuisine & Cargo, Ultimate Survivor Bundle, and The Bozak Horde. Last but not least, travel beyond the walls of Harran to discover a vast, dangerous new region in Dying Light: The Following – a massive story-based expansion that brings mysterious characters, deadly new weapons, unexpected quests, and fully customizable and drivable dirt buggies.","Copyright:","WARNING: THIS ARTICLE CONTAINS MATERIAL WHICH MAY OFFEND AND MAY NOT BE DISTRIBUTED, CIRCULATED, SOLD, HIRED, GIVEN, LENT, SHOWN, PLAYED OR PROJECTED TO A PERSON UNDER THE AGE OF 18 YEARS"],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/schffp.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/schffp.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/schfg8.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/schfg8.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/schffs.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/schffs.jpg"}],"summary":"Dying Light: The Following - Enhanced Edition takes parkour-fueled zombie survival to a whole new level."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["Experience Twisted Metal: Black™ for PS2™ system with 1080p up-rendering and Trophies. Additional enhanced features include Shareplay, Remote Play, Activity Feeds and Second Screen support for game manuals with PS Vita or PS App.","They say the mind bends and twists in order to deal with the horrors of life… …sometimes the mind bends so much it snaps in two.","The best-selling car combat game on the PlayStation®2 is now available for PlayStation®4! In the ultimate contest of wreckage and devastation, Calypso has plucked a motley crew of contestants straight from the lunatic asylum. As the carnage unfolds, so does the horrifying tale behind each of these tortured souls. Slip into their twisted minds and come out screaming for more!","Software subject to license (us.playstation.com/softwarelicense).","This title has been converted from the original PlayStation®2 version to the PS4™ system. Consequently, there may be times where the title plays differently from the PlayStation®2 version, or where some features may not function properly. This version does not support PlayStation®2 peripherals, therefore some functionality may not be available."],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/sc8cg2.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/sc8cg2.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/sc8cg3.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/sc8cg3.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/sc8cg0.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/sc8cg0.jpg"}],"summary":"Experience Twisted Metal: Black™ for PS2™ system with 1080p up-rendering and Trophies."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["Destroy with Godzilla! Protect with Mothra! Fight with King Dhidorah! Rampage with all monsters!","Actions with upmost destructive special effects will further evolve with PS4™!","This is the trial version with the most destructions and special effects for all Godzilla fans. Control monsters to destroy all the streets, weapons, and other monsters.","All appearing monsters will be controllable! So will you become the God of destruction by controlling Godzilla? Or become the savior for humans by controlling Mothra?","There will be several brand new features including teaming up with humans and go on defense missions in protecting the streets!","Get in involved with the 3 greatest battles—including the fight from the silver screen of course—to experience the dream battle like never before!","You can also fight with rivals around the world from global online fights as well. So become the world's No.1 \"True Monster King\"!","Copyright:","Godzilla™, the related characters and the character design are trademarks of Toho Co., Ltd."],"shots":[],"summary":"Destroy with Godzilla! Protect with Mothra! Fight with King Dhidorah! Rampage with all monsters!"}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["The world is ending... though few believe it.","The once proud city of Ubersreik now lays in ruin at the hands of the loathsome Skaven. Few have survived their ruthless invasion.","Team up with 3 friends and work together to thin out the ratmen’s forces and drive them out of the city. Assume the role of one of five heroes, and hack, slash, smash, burn and pierce the vile Skaven using a multitude of weapons. Fight your way through the city of Ubersreik, from the top of the Magnus Tower to the bowels of the Under Empire.","Prepare for a desperate struggle and a grand last stand. Only you can stem the Vermintide.","In-game purchases optional","1 player","Network Players 2-4 - Full game requires PlayStation®Plus membership to access online multiplayer","15GB minimum save size","DUALSHOCK®4 Vibration Function","Remote Play Supported","HD Video Output 720p,1080p","A PlayStation®Move navigation controller or Wireless Controller will be required for motion control features."],"shots":[],"summary":"The once proud city of Ubersreik now lays in ruin at the hands of the loathsome Skaven. Few have survived their ruthless invasion."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["PORTAL OF POWER™ REQUIRED TO PLAY*","Kick your adventure into overdrive! The Skylanders® SuperChargers Portal Owner’s Pack includes the full video game, works with any Portal of Power from the Skylanders® series and includes Instant Spitfire and Instant Hot Streak. Expand your gameplay experience with over 40 Skylanders and vehicles to collect.","Skylands is in peril! Kaos has unleashed his most evil weapon yet – the Doomstation of Ultimate Doomstruction. With all of Skylands on the verge of collapse, a special team called the SuperChargers has been assembled to pilot an unstoppable fleet of incredible vehicles. Now you and the SuperChargers must embark on epic adventures over land, under sea, and through the sky to stop Kaos and save Skylands!","Purchasing and using the software constitutes acceptance of the Software License Agreement available at support.activision.com/license.","*Skylanders® Spyro’s Adventure portal does not support PvP or Co-op play with SWAP ForceTM Skylanders.","1-2 players","Network Players 2-4 - Full game requires PlayStation®Plus membership to access online multiplayer","DUALSHOCK®4 Vibration Function","HD Video Output 720p,1080i,1080p","One-time licence fee to download to multiple PS4 systems. Sign in to PlayStation Network is not required to use this on your primary PS4, but is required for use on other PS4 systems.","See Health Warnings for important health information before using this product."],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/hsm7nbtuhfvgwoclhaqi.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/hsm7nbtuhfvgwoclhaqi.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/xvpsgsvuvmzknazafn3m.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/xvpsgsvuvmzknazafn3m.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/wh2gvgqokk650qxe0ci3.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/wh2gvgqokk650qxe0ci3.jpg"}],"summary":"Kick your adventure into overdrive! The Skylanders® SuperChargers Portal Owner’s Pack includes the full video game, works with any Portal of Power from the Skylanders® series and includes Instant Spitfire and Instant…"}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["Experience the mysterious, timeless world of Toren.In this dark fantasy adventure you must guide Moonchild as she transforms from a baby to a young adult during her journey of self-discovery. As she traverses the tower that holds her captive, solve puzzles and learn how to help her defeat monsters as she struggles to discover her purpose.","This is the first adventure game from Brazilian indie developer Swordtales. Already recognized for its beautiful and unique art with several awards, the game has the backing of Brazil’s Ministry of Culture. As your journey unfolds you will discover scrolls of poetry, which reveal the story and true origins behind Toren. As the story progresses your character will age from a mere infant to grown woman creating new mechanics and challenges for each learning experience and phase of her life.","1 player","HD Video Output 720p","One-time licence fee to download to multiple PS4 systems. Sign in to PlayStation Network is not required to use this on your primary PS4, but is required for use on other PS4 systems.","See Health Warnings for important health information before using this product.","Toren ™ , Toren Game ™ , Swordtales ™ and other names and characters to the game Toren ™ 2015 Swordtales - ALCV Entertainment Digital LTD."],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/mz3xjzx351uetfazfyfq.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/mz3xjzx351uetfazfyfq.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/hran6e5tzk6ip9srmphk.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/hran6e5tzk6ip9srmphk.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/xboiuxmjgmrff1rykeio.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/xboiuxmjgmrff1rykeio.jpg"}],"summary":"Experience the mysterious, timeless world of Toren.In this dark fantasy adventure you must guide Moonchild as she transforms from a baby to a young adult during her journey of self-discovery."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["Experiment and have fun in the ultimate playground as Agent 47 to become the master assassin. Travel around the globe to exotic locations and eliminate your targets with everything from a katana or a sniper rifle to an exploding golf ball or some expired spaghetti sauce.","Hitman: Game of the Year Edition includes all of this brand new content:","\"Patient Zero\" campaign featuring 4 new missions","3 new Themed Escalation Contracts","3 new Outfits","3 new Weapons"],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/yqzwsto2mwuaziqp4obw.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/yqzwsto2mwuaziqp4obw.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/vfw8jsipn2jnbudoyuru.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/vfw8jsipn2jnbudoyuru.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/jquonzddosf6xkhnqmwf.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/jquonzddosf6xkhnqmwf.jpg"}],"summary":"Experiment and have fun in the ultimate playground as Agent 47 to become the master assassin."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["You are a spider on the hunt, spinning webs to trap your prey. Explore an abandoned mansion, discover hidden passages and leave the place covered in cobwebs. Unravel the story of the family who once lived at Blackbird Estate and solve puzzles left behind by a mysterious secret society. You must possess the agility and cunning of a spider to master the deep scoring system and collect all 48 trophies.","This unique adventure changes the time of day and weather to match what’s happening outside your window.. in the real world! Every level can be played in day or night, rain or shine, leading to endless challenges. To uncover the deepest secrets you will explore during thunderstorms and the full moon and even encounter the real life mystery of The Knights of the Buried Chambers.","PS4 Compatibility Notices","1 Player, HD Video Output: 720p/1080i/1080p, Cross-Save","PS Vita Compatibility Notices","PS4: One-time licence fee to download to multiple PS4 systems. Sign in to PlayStation Network is not required to use this on your primary PS4, but is required for use on other PS4 systems.","PS Vita: One-time fee for use of downloads on up to 3 activated compatible Portable Console systems.","See Health Warnings for important health information before using this product."],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/vprd5oajgnsjximglhqf.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/vprd5oajgnsjximglhqf.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/uuknx3vfn0r746ltx1as.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/uuknx3vfn0r746ltx1as.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/qgo0pzop3jdafohi56uc.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/qgo0pzop3jdafohi56uc.jpg"}],"summary":"You are a spider on the hunt, spinning webs to trap your prey. Explore an abandoned mansion, discover hidden passages and leave the place covered in cobwebs."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["Cosmophony is a musical shooter designed for demanding gamers seeking an original and intense gaming experience.","You must control the heart of a fallen goddess within a dying universe in order to fulfill her destiny. Your goal is to progress through a series of levels designed to be played to an exhilarating, 100% drum and bass soundtrack by DJ Salaryman (DnB Arena, RAM records).","Discover a powerful new gaming experience that is uniquely satisfying.","-Unique synesthetic design based on music","-Impressive HD graphics with psychedelic background videos","-100% DnB soundtrack created especially for the game","Note that this game is designed with more experienced gamers in mind the difficulty level, while gradual, is still very high.","PS4: One-time licence fee to download to multiple PS4 systems. Sign in to PlayStation Network is not required to use this on your primary PS4, but is required for use on other PS4 systems.","PS3: One-time fee for use of downloads on up to 2 activated PS3 systems.","PS Vita: One-time fee for use of downloads on up to 3 activated compatible Portable Console systems.","See Health Warnings for important health information before using this product."],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/r2xuznbcvtfapm6jsxs9.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/r2xuznbcvtfapm6jsxs9.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/bxzsxlz3u1p4qfn31cip.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/bxzsxlz3u1p4qfn31cip.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/eylxi5da7lp6paupbm2b.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/eylxi5da7lp6paupbm2b.jpg"}],"summary":"Cosmophony is a musical shooter designed for demanding gamers seeking an original and intense gaming experience."}
|
||||
@@ -0,0 +1 @@
|
||||
{"about":["Ether One is a first person adventure that deals with the subject of dementia.","There are two paths in the world you can choose from. At its core is a story exploration path free from puzzles where you can unfold the story at your own pace.","There is also a deeper, more adventurous path in which you can complete complex puzzles to restore life changing events of the patient's history in order to help the validation of their life.","This product supports the following languages: English","Uses DUALSHOCK 4 vibration function","Offline single player","One-time licence fee to download to multiple PS4 systems. Sign in to PlayStation is not required to use this on your primary PS4, but is required for use on other PS4 systems.","See Health Warnings for important health information before using this product."],"shots":[{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/gnbosmj8zqkgqfsmxgjv.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/gnbosmj8zqkgqfsmxgjv.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/boaqklpsj5derec11lbi.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/boaqklpsj5derec11lbi.jpg"},{"url":"https://images.igdb.com/igdb/image/upload/t_1080p/gbepkgclnogcb2k7soqv.jpg","thumb":"https://images.igdb.com/igdb/image/upload/t_screenshot_med/gbepkgclnogcb2k7soqv.jpg"}],"summary":"Ether One is a first person adventure that deals with the subject of dementia."}
|
||||